package.dist.chunks.mermaid.esm.min.chunk-BZCPFP2Z.mjs.map Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mermaid Show documentation
Show all versions of mermaid Show documentation
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
{
"version": 3,
"sources": ["../../../../../node_modules/.pnpm/[email protected]/node_modules/ms/index.js", "../../../../../node_modules/.pnpm/[email protected][email protected]/node_modules/debug/src/common.js", "../../../../../node_modules/.pnpm/[email protected][email protected]/node_modules/debug/src/browser.js", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon/defaults.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/customisations/defaults.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon/name.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon/transformations.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon/merge.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon-set/tree.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/icon-set/get-icon.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/svg/size.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/svg/defs.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/svg/build.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/svg/id.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/svg/html.mjs", "../../../../../node_modules/.pnpm/@[email protected]/node_modules/@iconify/utils/lib/index.mjs", "../../../src/rendering-util/icons.ts"],
"sourcesContent": ["/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n", "\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n", "/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n", "const defaultIconDimensions = Object.freeze(\n {\n left: 0,\n top: 0,\n width: 16,\n height: 16\n }\n);\nconst defaultIconTransformations = Object.freeze({\n rotate: 0,\n vFlip: false,\n hFlip: false\n});\nconst defaultIconProps = Object.freeze({\n ...defaultIconDimensions,\n ...defaultIconTransformations\n});\nconst defaultExtendedIconProps = Object.freeze({\n ...defaultIconProps,\n body: \"\",\n hidden: false\n});\n\nexport { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations };\n", "import { defaultIconTransformations } from '../icon/defaults.mjs';\n\nconst defaultIconSizeCustomisations = Object.freeze({\n width: null,\n height: null\n});\nconst defaultIconCustomisations = Object.freeze({\n // Dimensions\n ...defaultIconSizeCustomisations,\n // Transformations\n ...defaultIconTransformations\n});\n\nexport { defaultIconCustomisations, defaultIconSizeCustomisations };\n", "const matchIconName = /^[a-z0-9]+(-[a-z0-9]+)*$/;\nconst stringToIcon = (value, validate, allowSimpleName, provider = \"\") => {\n const colonSeparated = value.split(\":\");\n if (value.slice(0, 1) === \"@\") {\n if (colonSeparated.length < 2 || colonSeparated.length > 3) {\n return null;\n }\n provider = colonSeparated.shift().slice(1);\n }\n if (colonSeparated.length > 3 || !colonSeparated.length) {\n return null;\n }\n if (colonSeparated.length > 1) {\n const name2 = colonSeparated.pop();\n const prefix = colonSeparated.pop();\n const result = {\n // Allow provider without '@': \"provider:prefix:name\"\n provider: colonSeparated.length > 0 ? colonSeparated[0] : provider,\n prefix,\n name: name2\n };\n return validate && !validateIconName(result) ? null : result;\n }\n const name = colonSeparated[0];\n const dashSeparated = name.split(\"-\");\n if (dashSeparated.length > 1) {\n const result = {\n provider,\n prefix: dashSeparated.shift(),\n name: dashSeparated.join(\"-\")\n };\n return validate && !validateIconName(result) ? null : result;\n }\n if (allowSimpleName && provider === \"\") {\n const result = {\n provider,\n prefix: \"\",\n name\n };\n return validate && !validateIconName(result, allowSimpleName) ? null : result;\n }\n return null;\n};\nconst validateIconName = (icon, allowSimpleName) => {\n if (!icon) {\n return false;\n }\n return !!((icon.provider === \"\" || icon.provider.match(matchIconName)) && (allowSimpleName && icon.prefix === \"\" || icon.prefix.match(matchIconName)) && icon.name.match(matchIconName));\n};\n\nexport { matchIconName, stringToIcon, validateIconName };\n", "function mergeIconTransformations(obj1, obj2) {\n const result = {};\n if (!obj1.hFlip !== !obj2.hFlip) {\n result.hFlip = true;\n }\n if (!obj1.vFlip !== !obj2.vFlip) {\n result.vFlip = true;\n }\n const rotate = ((obj1.rotate || 0) + (obj2.rotate || 0)) % 4;\n if (rotate) {\n result.rotate = rotate;\n }\n return result;\n}\n\nexport { mergeIconTransformations };\n", "import { defaultExtendedIconProps, defaultIconTransformations } from './defaults.mjs';\nimport { mergeIconTransformations } from './transformations.mjs';\n\nfunction mergeIconData(parent, child) {\n const result = mergeIconTransformations(parent, child);\n for (const key in defaultExtendedIconProps) {\n if (key in defaultIconTransformations) {\n if (key in parent && !(key in result)) {\n result[key] = defaultIconTransformations[key];\n }\n } else if (key in child) {\n result[key] = child[key];\n } else if (key in parent) {\n result[key] = parent[key];\n }\n }\n return result;\n}\n\nexport { mergeIconData };\n", "function getIconsTree(data, names) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n const resolved = /* @__PURE__ */ Object.create(null);\n function resolve(name) {\n if (icons[name]) {\n return resolved[name] = [];\n }\n if (!(name in resolved)) {\n resolved[name] = null;\n const parent = aliases[name] && aliases[name].parent;\n const value = parent && resolve(parent);\n if (value) {\n resolved[name] = [parent].concat(value);\n }\n }\n return resolved[name];\n }\n (names || Object.keys(icons).concat(Object.keys(aliases))).forEach(resolve);\n return resolved;\n}\n\nexport { getIconsTree };\n", "import { mergeIconData } from '../icon/merge.mjs';\nimport { getIconsTree } from './tree.mjs';\nimport '../icon/defaults.mjs';\nimport '../icon/transformations.mjs';\n\nfunction internalGetIconData(data, name, tree) {\n const icons = data.icons;\n const aliases = data.aliases || /* @__PURE__ */ Object.create(null);\n let currentProps = {};\n function parse(name2) {\n currentProps = mergeIconData(\n icons[name2] || aliases[name2],\n currentProps\n );\n }\n parse(name);\n tree.forEach(parse);\n return mergeIconData(data, currentProps);\n}\nfunction getIconData(data, name) {\n if (data.icons[name]) {\n return internalGetIconData(data, name, []);\n }\n const tree = getIconsTree(data, [name])[name];\n return tree ? internalGetIconData(data, name, tree) : null;\n}\n\nexport { getIconData, internalGetIconData };\n", "const unitsSplit = /(-?[0-9.]*[0-9]+[0-9.]*)/g;\nconst unitsTest = /^-?[0-9.]*[0-9]+[0-9.]*$/g;\nfunction calculateSize(size, ratio, precision) {\n if (ratio === 1) {\n return size;\n }\n precision = precision || 100;\n if (typeof size === \"number\") {\n return Math.ceil(size * ratio * precision) / precision;\n }\n if (typeof size !== \"string\") {\n return size;\n }\n const oldParts = size.split(unitsSplit);\n if (oldParts === null || !oldParts.length) {\n return size;\n }\n const newParts = [];\n let code = oldParts.shift();\n let isNumber = unitsTest.test(code);\n while (true) {\n if (isNumber) {\n const num = parseFloat(code);\n if (isNaN(num)) {\n newParts.push(code);\n } else {\n newParts.push(Math.ceil(num * ratio * precision) / precision);\n }\n } else {\n newParts.push(code);\n }\n code = oldParts.shift();\n if (code === void 0) {\n return newParts.join(\"\");\n }\n isNumber = !isNumber;\n }\n}\n\nexport { calculateSize };\n", "function splitSVGDefs(content, tag = \"defs\") {\n let defs = \"\";\n const index = content.indexOf(\"<\" + tag);\n while (index >= 0) {\n const start = content.indexOf(\">\", index);\n const end = content.indexOf(\"\" + tag);\n if (start === -1 || end === -1) {\n break;\n }\n const endEnd = content.indexOf(\">\", end);\n if (endEnd === -1) {\n break;\n }\n defs += content.slice(start + 1, end).trim();\n content = content.slice(0, index).trim() + content.slice(endEnd + 1);\n }\n return {\n defs,\n content\n };\n}\nfunction mergeDefsAndContent(defs, content) {\n return defs ? \"\" + defs + \" \" + content : content;\n}\nfunction wrapSVGContent(body, start, end) {\n const split = splitSVGDefs(body);\n return mergeDefsAndContent(split.defs, start + split.content + end);\n}\n\nexport { mergeDefsAndContent, splitSVGDefs, wrapSVGContent };\n", "import { defaultIconProps } from '../icon/defaults.mjs';\nimport { defaultIconCustomisations } from '../customisations/defaults.mjs';\nimport { calculateSize } from './size.mjs';\nimport { wrapSVGContent } from './defs.mjs';\n\nconst isUnsetKeyword = (value) => value === \"unset\" || value === \"undefined\" || value === \"none\";\nfunction iconToSVG(icon, customisations) {\n const fullIcon = {\n ...defaultIconProps,\n ...icon\n };\n const fullCustomisations = {\n ...defaultIconCustomisations,\n ...customisations\n };\n const box = {\n left: fullIcon.left,\n top: fullIcon.top,\n width: fullIcon.width,\n height: fullIcon.height\n };\n let body = fullIcon.body;\n [fullIcon, fullCustomisations].forEach((props) => {\n const transformations = [];\n const hFlip = props.hFlip;\n const vFlip = props.vFlip;\n let rotation = props.rotate;\n if (hFlip) {\n if (vFlip) {\n rotation += 2;\n } else {\n transformations.push(\n \"translate(\" + (box.width + box.left).toString() + \" \" + (0 - box.top).toString() + \")\"\n );\n transformations.push(\"scale(-1 1)\");\n box.top = box.left = 0;\n }\n } else if (vFlip) {\n transformations.push(\n \"translate(\" + (0 - box.left).toString() + \" \" + (box.height + box.top).toString() + \")\"\n );\n transformations.push(\"scale(1 -1)\");\n box.top = box.left = 0;\n }\n let tempValue;\n if (rotation < 0) {\n rotation -= Math.floor(rotation / 4) * 4;\n }\n rotation = rotation % 4;\n switch (rotation) {\n case 1:\n tempValue = box.height / 2 + box.top;\n transformations.unshift(\n \"rotate(90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n case 2:\n transformations.unshift(\n \"rotate(180 \" + (box.width / 2 + box.left).toString() + \" \" + (box.height / 2 + box.top).toString() + \")\"\n );\n break;\n case 3:\n tempValue = box.width / 2 + box.left;\n transformations.unshift(\n \"rotate(-90 \" + tempValue.toString() + \" \" + tempValue.toString() + \")\"\n );\n break;\n }\n if (rotation % 2 === 1) {\n if (box.left !== box.top) {\n tempValue = box.left;\n box.left = box.top;\n box.top = tempValue;\n }\n if (box.width !== box.height) {\n tempValue = box.width;\n box.width = box.height;\n box.height = tempValue;\n }\n }\n if (transformations.length) {\n body = wrapSVGContent(\n body,\n '',\n \" \"\n );\n }\n });\n const customisationsWidth = fullCustomisations.width;\n const customisationsHeight = fullCustomisations.height;\n const boxWidth = box.width;\n const boxHeight = box.height;\n let width;\n let height;\n if (customisationsWidth === null) {\n height = customisationsHeight === null ? \"1em\" : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n width = calculateSize(height, boxWidth / boxHeight);\n } else {\n width = customisationsWidth === \"auto\" ? boxWidth : customisationsWidth;\n height = customisationsHeight === null ? calculateSize(width, boxHeight / boxWidth) : customisationsHeight === \"auto\" ? boxHeight : customisationsHeight;\n }\n const attributes = {};\n const setAttr = (prop, value) => {\n if (!isUnsetKeyword(value)) {\n attributes[prop] = value.toString();\n }\n };\n setAttr(\"width\", width);\n setAttr(\"height\", height);\n const viewBox = [box.left, box.top, boxWidth, boxHeight];\n attributes.viewBox = viewBox.join(\" \");\n return {\n attributes,\n viewBox,\n body\n };\n}\n\nexport { iconToSVG, isUnsetKeyword };\n", "const regex = /\\sid=\"(\\S+)\"/g;\nconst randomPrefix = \"IconifyId\" + Date.now().toString(16) + (Math.random() * 16777216 | 0).toString(16);\nlet counter = 0;\nfunction replaceIDs(body, prefix = randomPrefix) {\n const ids = [];\n let match;\n while (match = regex.exec(body)) {\n ids.push(match[1]);\n }\n if (!ids.length) {\n return body;\n }\n const suffix = \"suffix\" + (Math.random() * 16777216 | Date.now()).toString(16);\n ids.forEach((id) => {\n const newID = typeof prefix === \"function\" ? prefix(id) : prefix + (counter++).toString();\n const escapedID = id.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n body = body.replace(\n // Allowed characters before id: [#;\"]\n // Allowed characters after id: [)\"], .[a-z]\n new RegExp('([#;\"])(' + escapedID + ')([\")]|\\\\.[a-z])', \"g\"),\n \"$1\" + newID + suffix + \"$3\"\n );\n });\n body = body.replace(new RegExp(suffix, \"g\"), \"\");\n return body;\n}\n\nexport { replaceIDs };\n", "function iconToHTML(body, attributes) {\n let renderAttribsHTML = body.indexOf(\"xlink:\") === -1 ? \"\" : ' xmlns:xlink=\"http://www.w3.org/1999/xlink\"';\n for (const attr in attributes) {\n renderAttribsHTML += \" \" + attr + '=\"' + attributes[attr] + '\"';\n }\n return '\";\n}\n\nexport { iconToHTML };\n", "export { defaultIconCustomisations, defaultIconSizeCustomisations } from './customisations/defaults.mjs';\nexport { mergeCustomisations } from './customisations/merge.mjs';\nexport { toBoolean } from './customisations/bool.mjs';\nexport { flipFromString } from './customisations/flip.mjs';\nexport { rotateFromString } from './customisations/rotate.mjs';\nexport { matchIconName, stringToIcon, validateIconName } from './icon/name.mjs';\nexport { mergeIconData } from './icon/merge.mjs';\nexport { mergeIconTransformations } from './icon/transformations.mjs';\nexport { defaultExtendedIconProps, defaultIconDimensions, defaultIconProps, defaultIconTransformations } from './icon/defaults.mjs';\nexport { makeIconSquare } from './icon/square.mjs';\nexport { getIconsTree } from './icon-set/tree.mjs';\nexport { parseIconSet, parseIconSetAsync } from './icon-set/parse.mjs';\nexport { validateIconSet } from './icon-set/validate.mjs';\nexport { quicklyValidateIconSet } from './icon-set/validate-basic.mjs';\nexport { expandIconSet } from './icon-set/expand.mjs';\nexport { minifyIconSet } from './icon-set/minify.mjs';\nexport { getIcons } from './icon-set/get-icons.mjs';\nexport { getIconData } from './icon-set/get-icon.mjs';\nexport { convertIconSetInfo } from './icon-set/convert-info.mjs';\nexport { iconToSVG } from './svg/build.mjs';\nexport { mergeDefsAndContent, splitSVGDefs, wrapSVGContent } from './svg/defs.mjs';\nexport { replaceIDs } from './svg/id.mjs';\nexport { calculateSize } from './svg/size.mjs';\nexport { encodeSvgForCss } from './svg/encode-svg-for-css.mjs';\nexport { trimSVG } from './svg/trim.mjs';\nexport { prettifySVG } from './svg/pretty.mjs';\nexport { iconToHTML } from './svg/html.mjs';\nexport { svgToData, svgToURL } from './svg/url.mjs';\nexport { cleanUpInnerHTML } from './svg/inner-html.mjs';\nexport { getSVGViewBox } from './svg/viewbox.mjs';\nexport { buildParsedSVG, convertParsedSVG, parseSVGContent } from './svg/parse.mjs';\nexport { colorKeywords } from './colors/keywords.mjs';\nexport { colorToString, compareColors, stringToColor } from './colors/index.mjs';\nexport { getIconCSS, getIconContentCSS } from './css/icon.mjs';\nexport { getIconsCSS, getIconsContentCSS } from './css/icons.mjs';\nexport { mergeIconProps } from './loader/utils.mjs';\nexport { getCustomIcon } from './loader/custom.mjs';\nexport { searchForIcon } from './loader/modern.mjs';\nexport { loadIcon } from './loader/loader.mjs';\nexport { getEmojiSequenceFromString, getUnqualifiedEmojiSequence } from './emoji/cleanup.mjs';\nexport { convertEmojiSequenceToUTF16, convertEmojiSequenceToUTF32, getEmojiCodePoint, getEmojiUnicode, isUTF32SplitNumber, mergeUTF32Numbers, splitUTF32Number } from './emoji/convert.mjs';\nexport { getEmojiSequenceKeyword, getEmojiSequenceString, getEmojiUnicodeString } from './emoji/format.mjs';\nexport { parseEmojiTestFile } from './emoji/test/parse.mjs';\nexport { getQualifiedEmojiVariations } from './emoji/test/variations.mjs';\nexport { findMissingEmojis } from './emoji/test/missing.mjs';\nexport { createOptimisedRegex, createOptimisedRegexForEmojiSequences } from './emoji/regex/create.mjs';\nexport { prepareEmojiForIconSet, prepareEmojiForIconsList } from './emoji/parse.mjs';\nexport { findAndReplaceEmojisInText } from './emoji/replace/replace.mjs';\nexport { camelToKebab, camelize, pascalize, snakelize } from './misc/strings.mjs';\nexport { commonObjectProps, compareObjects, unmergeObjects } from './misc/objects.mjs';\nexport { sanitiseTitleAttribute } from './misc/title.mjs';\nimport './css/common.mjs';\nimport './css/format.mjs';\nimport 'debug';\nimport './emoji/data.mjs';\nimport './emoji/test/components.mjs';\nimport './emoji/regex/tree.mjs';\nimport './emoji/regex/base.mjs';\nimport './emoji/regex/numbers.mjs';\nimport './emoji/regex/similar.mjs';\nimport './emoji/test/similar.mjs';\nimport './emoji/test/name.mjs';\nimport './emoji/test/tree.mjs';\nimport './emoji/replace/find.mjs';\n", "import { log } from '../logger.js';\nimport type { ExtendedIconifyIcon, IconifyIcon, IconifyJSON } from '@iconify/types';\nimport type { IconifyIconCustomisations } from '@iconify/utils';\nimport { getIconData, iconToHTML, iconToSVG, replaceIDs, stringToIcon } from '@iconify/utils';\n\ninterface AsyncIconLoader {\n name: string;\n loader: () => Promise;\n}\n\ninterface SyncIconLoader {\n name: string;\n icons: IconifyJSON;\n}\n\nexport type IconLoader = AsyncIconLoader | SyncIconLoader;\n\nexport const unknownIcon: IconifyIcon = {\n body: '? ',\n height: 80,\n width: 80,\n};\n\nconst iconsStore = new Map();\nconst loaderStore = new Map();\n\nexport const registerIconPacks = (iconLoaders: IconLoader[]) => {\n for (const iconLoader of iconLoaders) {\n if (!iconLoader.name) {\n throw new Error(\n 'Invalid icon loader. Must have a \"name\" property with non-empty string value.'\n );\n }\n log.debug('Registering icon pack:', iconLoader.name);\n if ('loader' in iconLoader) {\n loaderStore.set(iconLoader.name, iconLoader.loader);\n } else if ('icons' in iconLoader) {\n iconsStore.set(iconLoader.name, iconLoader.icons);\n } else {\n log.error('Invalid icon loader:', iconLoader);\n throw new Error('Invalid icon loader. Must have either \"icons\" or \"loader\" property.');\n }\n }\n};\n\nconst getRegisteredIconData = async (iconName: string, fallbackPrefix?: string) => {\n const data = stringToIcon(iconName, true, fallbackPrefix !== undefined);\n if (!data) {\n throw new Error(`Invalid icon name: ${iconName}`);\n }\n const prefix = data.prefix || fallbackPrefix;\n if (!prefix) {\n throw new Error(`Icon name must contain a prefix: ${iconName}`);\n }\n let icons = iconsStore.get(prefix);\n if (!icons) {\n const loader = loaderStore.get(prefix);\n if (!loader) {\n throw new Error(`Icon set not found: ${data.prefix}`);\n }\n try {\n const loaded = await loader();\n icons = { ...loaded, prefix };\n iconsStore.set(prefix, icons);\n } catch (e) {\n log.error(e);\n throw new Error(`Failed to load icon set: ${data.prefix}`);\n }\n }\n const iconData = getIconData(icons, data.name);\n if (!iconData) {\n throw new Error(`Icon not found: ${iconName}`);\n }\n return iconData;\n};\n\nexport const isIconAvailable = async (iconName: string) => {\n try {\n await getRegisteredIconData(iconName);\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getIconSVG = async (\n iconName: string,\n customisations?: IconifyIconCustomisations & { fallbackPrefix?: string }\n) => {\n let iconData: ExtendedIconifyIcon;\n try {\n iconData = await getRegisteredIconData(iconName, customisations?.fallbackPrefix);\n } catch (e) {\n log.error(e);\n iconData = unknownIcon;\n }\n const renderData = iconToSVG(iconData, customisations);\n const svg = iconToHTML(replaceIDs(renderData.body), renderData.attributes);\n return svg;\n};\n"],
"mappings": "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",
"names": ["require_ms", "__commonJSMin", "exports", "module", "s", "m", "h", "d", "w", "y", "val", "options", "type", "parse", "fmtLong", "fmtShort", "str", "match", "n", "__name", "ms", "msAbs", "plural", "name", "isPlural", "require_common", "__commonJSMin", "exports", "module", "setup", "env", "createDebug", "coerce", "disable", "enable", "enabled", "destroy", "key", "selectColor", "namespace", "hash", "i", "__name", "prevTime", "enableOverride", "namespacesCache", "enabledCache", "debug", "args", "self", "curr", "ms", "index", "match", "format", "formatter", "val", "extend", "v", "delimiter", "newDebug", "namespaces", "split", "len", "toNamespace", "name", "regexp", "require_browser", "__commonJSMin", "exports", "module", "formatArgs", "save", "load", "useColors", "localstorage", "warned", "m", "__name", "args", "c", "index", "lastC", "match", "namespaces", "r", "formatters", "v", "error", "defaultIconDimensions", "defaultIconTransformations", "defaultIconProps", "defaultExtendedIconProps", "defaultIconSizeCustomisations", "defaultIconCustomisations", "defaultIconTransformations", "matchIconName", "stringToIcon", "__name", "value", "validate", "allowSimpleName", "provider", "colonSeparated", "name2", "prefix", "result", "validateIconName", "name", "dashSeparated", "icon", "mergeIconTransformations", "obj1", "obj2", "result", "rotate", "__name", "mergeIconData", "parent", "child", "result", "mergeIconTransformations", "key", "defaultExtendedIconProps", "defaultIconTransformations", "__name", "getIconsTree", "data", "names", "icons", "aliases", "resolved", "resolve", "name", "parent", "value", "__name", "internalGetIconData", "data", "name", "tree", "icons", "aliases", "currentProps", "parse", "name2", "mergeIconData", "__name", "getIconData", "getIconsTree", "unitsSplit", "unitsTest", "calculateSize", "size", "ratio", "precision", "oldParts", "newParts", "code", "isNumber", "num", "__name", "splitSVGDefs", "content", "tag", "defs", "index", "start", "end", "endEnd", "__name", "mergeDefsAndContent", "wrapSVGContent", "body", "split", "isUnsetKeyword", "__name", "value", "iconToSVG", "icon", "customisations", "fullIcon", "defaultIconProps", "fullCustomisations", "defaultIconCustomisations", "box", "body", "props", "transformations", "hFlip", "vFlip", "rotation", "tempValue", "wrapSVGContent", "customisationsWidth", "customisationsHeight", "boxWidth", "boxHeight", "width", "height", "calculateSize", "attributes", "setAttr", "prop", "viewBox", "regex", "randomPrefix", "counter", "replaceIDs", "body", "prefix", "ids", "match", "suffix", "id", "newID", "escapedID", "__name", "iconToHTML", "body", "attributes", "renderAttribsHTML", "attr", "__name", "import_debug", "unknownIcon", "iconsStore", "loaderStore", "registerIconPacks", "__name", "iconLoaders", "iconLoader", "log", "getRegisteredIconData", "iconName", "fallbackPrefix", "data", "stringToIcon", "prefix", "icons", "loader", "e", "iconData", "getIconData", "getIconSVG", "__name", "iconName", "customisations", "iconData", "getRegisteredIconData", "e", "log", "unknownIcon", "renderData", "iconToSVG", "iconToHTML", "replaceIDs"]
}