{"version":3,"sources":["jsdelivr-header.js","/npm/vite-plugin-svg4vue@4.5.1/lib/index.cjs.js"],"names":[],"mappings":"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","file":"/npm/vite-plugin-svg4vue@4.5.1/lib/index.cjs.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vite-plugin-svg4vue@4.5.1/lib/index.cjs.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar compilerSfc = require('vue/compiler-sfc');\nvar SVGO = require('svgo');\nvar defu = require('defu');\nvar ohash = require('ohash');\nvar node_fs = require('node:fs');\nvar svgoExtra = require('svgo-extra');\nvar qs = require('node:querystring');\nvar ufo = require('ufo');\n\nfunction _interopNamespaceDefault(e) {\n    var n = Object.create(null);\n    if (e) {\n        Object.keys(e).forEach(function (k) {\n            if (k !== 'default') {\n                var d = Object.getOwnPropertyDescriptor(e, k);\n                Object.defineProperty(n, k, d.get ? d : {\n                    enumerable: true,\n                    get: function () { return e[k]; }\n                });\n            }\n        });\n    }\n    n.default = e;\n    return Object.freeze(n);\n}\n\nvar SVGO__namespace = /*#__PURE__*/_interopNamespaceDefault(SVGO);\nvar ufo__namespace = /*#__PURE__*/_interopNamespaceDefault(ufo);\n\nasync function compileSvg(source, id) {\n    source = source\n        .replace(/<style/g, '<component is=\"style\"')\n        .replace(/<\\/style/g, '</component');\n    const { code: renderFunctionCode, map } = compilerSfc.compileTemplate({\n        id,\n        filename: id,\n        source,\n        transformAssetUrls: false,\n    });\n    const code = `${renderFunctionCode}\\nexport default { render };`;\n    return {\n        code,\n        map,\n    };\n}\n\nconst withDefaultConfig = (source, defaults) => {\n    const def = defu.createDefu((obj, key, value) => {\n        if (Array.isArray(value) && Array.isArray(obj[key])) {\n            obj[key] = [...obj[key], ...value];\n            return true;\n        }\n    });\n    return def(source, defaults);\n};\n\nconst defaultSvgoConfig = (incommingConfig, opts, id) => {\n    const hashedPrefix = `${opts?.namespacePrefix || 'a'}${ohash.hash({ id }).slice(0, 6)}`;\n    const inconfig = typeof incommingConfig === 'boolean'\n        ? {}\n        : incommingConfig\n            ? incommingConfig\n            : {};\n    const deConfig = {\n        plugins: [\n            {\n                name: 'prefixIds',\n                params: {\n                    prefix: () => hashedPrefix,\n                    prefixIds: opts?.namespaceIDs,\n                    prefixClassNames: opts?.namespaceClassnames,\n                },\n            },\n        ],\n    };\n    const outputConfig = withDefaultConfig(inconfig, deConfig);\n    return outputConfig;\n};\nasync function optimizeSvg(content, path, finalSvgoConfig = {}) {\n    const { data } = await SVGO__namespace.optimize(content, {\n        ...finalSvgoConfig,\n        path,\n    });\n    return data;\n}\n\nfunction compileSvgToRaw(source) {\n    const formatSource = JSON.stringify(source);\n    const code = `\\nexport default ${formatSource};`;\n    return code;\n}\n\nconst COMPONENT_COMPILE_TYPE = 'component';\nconst RAW_COMPILE_TYPE = 'raw';\nconst URL_COMPILE_TYPE = 'url';\nconst SKIP_SVGO_FLAG = 'skipsvgo';\nconst SKIP_MONOCHROME = 'skip-monochrome';\nconst SKIP_RESPONSIVE = 'skip-responsive';\nvar DEFAULT_OPTIONS;\n(function (DEFAULT_OPTIONS) {\n    DEFAULT_OPTIONS[\"defaultExport\"] = \"url\";\n    DEFAULT_OPTIONS[\"assetsDirName\"] = \"icons\";\n})(DEFAULT_OPTIONS || (DEFAULT_OPTIONS = {}));\n\nconst resolveSearchParams = (url, assetsDirName) => {\n    const idWithoutQuery = url.replace(/\\.svg\\?.*/, '.svg');\n    const assetsDirNameString = assetsDirName === false\n        ? ''\n        : assetsDirName === true\n            ? DEFAULT_OPTIONS.assetsDirName\n            : assetsDirName;\n    const safeAssetsDirName = assetsDirNameString\n        ? ufo__namespace.withTrailingSlash(assetsDirNameString)\n        : '';\n    const svgRegexString = `${safeAssetsDirName}.*\\\\.svg(\\\\?.*)?$`;\n    const svgRegex = new RegExp(svgRegexString);\n    const matchedId = url.match(svgRegex);\n    const querystring = Array.isArray(matchedId) && matchedId[1]\n        ? matchedId[1].replace('?', '')\n        : '';\n    const searchParamsKeys = Object.keys(qs.parse(querystring));\n    const skipsvgo = searchParamsKeys.includes(SKIP_SVGO_FLAG);\n    const skipMonochrome = searchParamsKeys.includes(SKIP_MONOCHROME);\n    const skipResposive = searchParamsKeys.includes(SKIP_RESPONSIVE);\n    let type = undefined;\n    if (searchParamsKeys.includes(COMPONENT_COMPILE_TYPE)) {\n        type = COMPONENT_COMPILE_TYPE;\n    }\n    else if (searchParamsKeys.includes(RAW_COMPILE_TYPE)) {\n        type = RAW_COMPILE_TYPE;\n    }\n    else if (searchParamsKeys.includes(URL_COMPILE_TYPE)) {\n        type = URL_COMPILE_TYPE;\n    }\n    return {\n        type,\n        skipsvgo,\n        skipMonochrome,\n        skipResposive,\n        searchParamsKeys,\n        matchedId,\n        idWithoutQuery,\n        querystring,\n    };\n};\n\nconst svg4VuePlugin = (options = {}) => {\n    const { svgoConfig = {}, defaultExport = DEFAULT_OPTIONS.defaultExport, assetsDirName = DEFAULT_OPTIONS.assetsDirName, enableBuildCache = true, enableMonochromeSvgOptimize = true, enableSvgSizeResponsive = true, enableSvgoPresetDefaultConfig = true, namespaceClassnames = true, namespaceIDs = true, namespacePrefix = 'a', enforce = 'pre', } = options;\n    const svgComponentCache = new Map();\n    const svgRawCache = new Map();\n    let isBuild = false;\n    const disabledSvgo = svgoConfig === false;\n    const finalEnforce = typeof enforce === 'string' ? enforce : enforce === true ? 'pre' : undefined;\n    return {\n        name: 'vite-plugin-svg4vue',\n        enforce: finalEnforce,\n        configResolved(config) {\n            isBuild = config.mode === 'production';\n        },\n        async transform(source, id) {\n            const { idWithoutQuery, type, matchedId, skipsvgo, skipMonochrome, skipResposive, } = resolveSearchParams(id, assetsDirName);\n            const finalSvgoConfig = svgoExtra.createSvgoConfig(defaultSvgoConfig(svgoConfig, {\n                namespaceClassnames,\n                namespaceIDs,\n                namespacePrefix,\n            }, idWithoutQuery), {\n                moveStrokeAttrToSvgNode: enableMonochromeSvgOptimize && !skipMonochrome,\n                movePathFillAttrToSvgNode: enableMonochromeSvgOptimize && !skipMonochrome,\n                responsiveSVGSize: enableSvgSizeResponsive && !skipResposive,\n                presetDefault: enableSvgoPresetDefaultConfig,\n            });\n            if (matchedId) {\n                if ((defaultExport === RAW_COMPILE_TYPE && typeof type === 'undefined') ||\n                    type === RAW_COMPILE_TYPE) {\n                    if (disabledSvgo || skipsvgo)\n                        return source;\n                    let cachedSvgRawResult = svgRawCache.get(id);\n                    if (!cachedSvgRawResult) {\n                        const code = node_fs.readFileSync(idWithoutQuery, 'utf8');\n                        const svg = await optimizeSvg(code, idWithoutQuery, finalSvgoConfig);\n                        cachedSvgRawResult = compileSvgToRaw(svg);\n                        if (enableBuildCache && isBuild) {\n                            svgRawCache.set(id, cachedSvgRawResult);\n                        }\n                    }\n                    return {\n                        code: cachedSvgRawResult,\n                        map: null,\n                    };\n                }\n                if ((defaultExport === URL_COMPILE_TYPE && typeof type === 'undefined') ||\n                    type === URL_COMPILE_TYPE) {\n                    return {\n                        code: source,\n                        map: null,\n                    };\n                }\n                if ((defaultExport === COMPONENT_COMPILE_TYPE &&\n                    typeof type === 'undefined') ||\n                    type === COMPONENT_COMPILE_TYPE) {\n                    let cachedSvgComponentResult = svgComponentCache.get(id);\n                    if (!cachedSvgComponentResult) {\n                        const code = node_fs.readFileSync(idWithoutQuery, 'utf8');\n                        let svg = code;\n                        if (!disabledSvgo && !skipsvgo) {\n                            svg = await optimizeSvg(code, idWithoutQuery, finalSvgoConfig);\n                        }\n                        cachedSvgComponentResult = await compileSvg(svg, idWithoutQuery);\n                        if (enableBuildCache && isBuild) {\n                            svgComponentCache.set(id, cachedSvgComponentResult);\n                        }\n                    }\n                    return cachedSvgComponentResult;\n                }\n            }\n        },\n    };\n};\n\nexports.svg4VuePlugin = svg4VuePlugin;\n"]}