{"version":3,"sources":["jsdelivr-header.js","/npm/spyfu-vue-functional@0.2.7/lib/index.js"],"names":[],"mappings":"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","file":"/npm/spyfu-vue-functional@0.2.7/dist/spyfu-vue-functional.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/spyfu-vue-functional@0.2.7/dist/spyfu-vue-functional.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// helper function to normalize component attributes\nconst normalize = (context, attrs) => {\n    // first test if the component is functional\n    if (!context) {\n        throw new TypeError(`[spyfu-vue-functional]: Non-functional components cannot use functional binding helpers.`);\n    }\n    \n    return Object.assign({\n        attrs: {},\n        class: [],\n        directives: [],\n        on: {},\n        style: {},\n    }, attrs);\n}\n\n// bind all context data\nexport function bindAll(context, attrs = {}) {\n    attrs = normalize(context, attrs);\n\n    attrs = bindAttributes(context, attrs, true);\n    attrs = bindStyles(context, attrs, true);\n    attrs = bindClasses(context, attrs, true);\n    attrs = bindDirectives(context, attrs, true);\n    attrs = bindEventListeners(context, attrs, true);\n    attrs = bindScopeId(context, attrs, true);\n\n    return attrs;\n}\n\n// bind element attributes\nexport function bindAttributes(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.attrs) {\n        attrs.attrs = context.data.attrs;\n    }\n\n    return attrs;\n}\n\n// bind directives\nexport function bindDirectives(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.directives) {\n        const { directives } = context.data;\n\n        // v-show\n        if (directives.find(({ name, value }) => name === 'show' && !value)) {\n            attrs.style.display = 'none';\n        }\n    }\n\n    return attrs;\n}\n\n// bind both static and dynamic classes\nexport function bindClasses(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    attrs = bindDynamicClasses(context, attrs);\n    attrs = bindStaticClasses(context, attrs);\n\n    return attrs;\n}\n\n// bind dynamic classes\nexport function bindDynamicClasses(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.class) {\n        if (typeof context.data.class === 'string') {\n            attrs.class.push(...context.data.class.split(' '));\n        } else if (Array.isArray(context.data.class)) {\n            attrs.class.push(...context.data.class);\n        } else {\n            Object.keys(context.data.class)\n                .filter(className => context.data.class[className])\n                .forEach(className => attrs.class.push(className));\n        }\n    }\n\n    return attrs;\n}\n\n// bind dynamic styles\nexport function bindDynamicStyles(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.style) {\n        attrs.style = Object.assign({}, attrs.style, context.data.style);\n    }\n\n    return attrs;\n}\n\n// bind event listeners\nexport function bindEventListeners(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.listeners) {\n        attrs.on = Object.assign({}, attrs.on, context.listeners);\n    }\n\n    return attrs;\n}\n\n// bind css scope id\nexport function bindScopeId(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(attrs);\n    }\n\n    if (context.parent && context.parent.$options._scopeId) {\n        attrs.attrs[context.parent.$options._scopeId] = '';\n    }\n\n    return attrs;\n}\n\n// bind static classes\nexport function bindStaticClasses(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.staticClass) {\n        attrs.class.push(context.data.staticClass);\n    }\n\n    return attrs;\n}\n\n// bind static styles\nexport function bindStaticStyles(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    if (context.data && context.data.staticStyle) {\n        attrs.style = Object.assign({}, attrs.style, context.data.staticStyle);\n    }\n\n    return attrs;\n}\n\n// bind static and dynamic styles\nexport function bindStyles(context, attrs = {}, isNormalized = false) {\n    if (!isNormalized) {\n        attrs = normalize(context, attrs);\n    }\n\n    attrs = bindDynamicStyles(context, attrs);\n    attrs = bindStaticStyles(context, attrs);\n\n    return attrs;\n}\n"]}