{"version":3,"sources":["webpack:///../../../src/icons/mail.ts","webpack:///../../../src/icons/phone.ts","webpack:///../../src/createElement.ts","webpack:///../../src/replaceElement.ts","webpack:///../../src/lucide.ts","webpack:///../../../src/icons/arrow-down.ts","webpack:///../../../src/icons/arrow-left.ts","webpack:///../../../src/icons/arrow-up.ts","webpack:///../../../src/icons/chevron-down.ts","webpack:///../../../src/icons/chevron-right.ts","webpack:///../../../src/icons/plus.ts","webpack:///../../../src/icons/phone-off.ts","webpack:///../../src/defaultAttributes.ts"],"names":["Mail","width","height","x","y","rx","d","Phone","createElement","tag","attrs","children","element","document","createElementNS","Object","keys","forEach","name","setAttribute","String","length","child","childElement","appendChild","getClassNames","split","Array","isArray","nameAttr","icons","iconName","getAttribute","iconNode","replace","g0","g1","g2","toUpperCase","toLowerCase","console","warn","outerHTML","elementAttrs","from","attributes","reduce","attr","value","getAttrs","iconAttributes","iconAttrs","classNames","flatMap","map","classItem","trim","filter","Boolean","index","self","indexOf","join","assign","class","svgElement","parentNode","replaceChild","values","Error","elementsToReplace","querySelectorAll","deprecatedElements","ArrowDown","ArrowLeft","ArrowUp","ChevronDown","ChevronRight","Plus","PhoneOff","x1","x2","y1","y2","defaultAttributes","xmlns","viewBox","fill","stroke"],"mappings":"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","file":"js/vendors~lucide_icons-55dfb28da8a1bd71a06a.chunk.js","sourcesContent":["import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name mail\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/mail\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst Mail: IconNode = [\n 'svg',\n defaultAttributes,\n [\n ['rect', { width: '20', height: '16', x: '2', y: '4', rx: '2' }],\n ['path', { d: 'm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7' }],\n ],\n];\n\nexport default Mail;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name phone\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/phone\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst Phone: IconNode = [\n 'svg',\n defaultAttributes,\n [\n [\n 'path',\n {\n d: 'M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z',\n },\n ],\n ],\n];\n\nexport default Phone;\n","import { IconNode, IconNodeChild, SVGProps } from './types';\n\n/**\n * Creates a new HTMLElement from icon node\n * @param {string} tag\n * @param {object} attrs\n * @param {array} children\n * @returns {HTMLElement}\n */\nconst createElement = (tag: string, attrs: SVGProps, children: IconNodeChild[] = []) => {\n const element = document.createElementNS('http://www.w3.org/2000/svg', tag);\n\n Object.keys(attrs).forEach((name) => {\n element.setAttribute(name, String(attrs[name]));\n });\n\n if (children.length) {\n children.forEach((child) => {\n const childElement = createElement(...child);\n\n element.appendChild(childElement);\n });\n }\n\n return element;\n};\n\n/**\n * Creates a new HTMLElement from icon node\n * @param {[tag: string, attrs: object, children: array]} iconNode\n * @returns {HTMLElement}\n */\nexport default ([tag, attrs, children]: IconNode) => createElement(tag, attrs, children);\n","import createElement from './createElement';\nimport { Icons } from './types';\n\nexport type CustomAttrs = { [attr: string]: any };\n\n/**\n * Get the attributes of an HTML element.\n * @param {HTMLElement} element\n * @returns {Object}\n */\nexport const getAttrs = (element: Element): Record<string, string> =>\n Array.from(element.attributes).reduce<Record<string, string>>((attrs, attr) => {\n attrs[attr.name] = attr.value;\n return attrs;\n }, {});\n\n/**\n * Gets the classNames of an attributes Object.\n * @param {Object} attrs\n * @returns {Array}\n */\nexport const getClassNames = (attrs: Record<string, string> | string): string | string[] => {\n if (typeof attrs === 'string') return attrs;\n if (!attrs || !attrs.class) return '';\n if (attrs.class && typeof attrs.class === 'string') {\n return attrs.class.split(' ');\n }\n if (attrs.class && Array.isArray(attrs.class)) {\n return attrs.class;\n }\n return '';\n};\n\n/**\n * Combines the classNames of array of classNames to a String\n * @param {array} arrayOfClassnames\n * @returns {string}\n */\nexport const combineClassNames = (arrayOfClassnames: (string | Record<string, string>)[]) => {\n const classNameArray = arrayOfClassnames.flatMap(getClassNames);\n\n return classNameArray\n .map((classItem) => classItem.trim())\n .filter(Boolean)\n .filter((value, index, self) => self.indexOf(value) === index)\n .join(' ');\n};\n\nconst toPascalCase = (string: string): string =>\n string.replace(/(\\w)(\\w*)(_|-|\\s*)/g, (g0, g1, g2) => g1.toUpperCase() + g2.toLowerCase());\n\ninterface ReplaceElementOptions {\n nameAttr: string;\n icons: Icons;\n attrs: Record<string, string>;\n}\n\n/**\n * ReplaceElement, replaces the given element with the created icon.\n * @param {HTMLElement} element\n * @param {{ nameAttr: string, icons: object, attrs: object }} options: { nameAttr, icons, attrs }\n * @returns {Function}\n */\nconst replaceElement = (element: Element, { nameAttr, icons, attrs }: ReplaceElementOptions) => {\n const iconName = element.getAttribute(nameAttr);\n\n if (iconName == null) return;\n\n const ComponentName = toPascalCase(iconName);\n\n const iconNode = icons[ComponentName];\n\n if (!iconNode) {\n return console.warn(\n `${element.outerHTML} icon name was not found in the provided icons object.`,\n );\n }\n\n const elementAttrs = getAttrs(element);\n const [tag, iconAttributes, children] = iconNode;\n\n const iconAttrs = {\n ...iconAttributes,\n 'data-lucide': iconName,\n ...attrs,\n ...elementAttrs,\n };\n\n const classNames = combineClassNames(['lucide', `lucide-${iconName}`, elementAttrs, attrs]);\n\n if (classNames) {\n Object.assign(iconAttrs, {\n class: classNames,\n });\n }\n\n const svgElement = createElement([tag, iconAttrs, children]);\n\n return element.parentNode?.replaceChild(svgElement, element);\n};\n\nexport default replaceElement;\n","import replaceElement from './replaceElement';\nimport * as iconAndAliases from './iconsAndAliases';\n\n/**\n * Replaces all elements with matching nameAttr with the defined icons\n * @param {{ icons?: object, nameAttr?: string, attrs?: object }} options\n */\nconst createIcons = ({ icons = {}, nameAttr = 'data-lucide', attrs = {} } = {}) => {\n if (!Object.values(icons).length) {\n throw new Error(\n \"Please provide an icons object.\\nIf you want to use all the icons you can import it like:\\n `import { createIcons, icons } from 'lucide';\\nlucide.createIcons({icons});`\",\n );\n }\n\n if (typeof document === 'undefined') {\n throw new Error('`createIcons()` only works in a browser environment.');\n }\n\n const elementsToReplace = document.querySelectorAll(`[${nameAttr}]`);\n Array.from(elementsToReplace).forEach((element) =>\n replaceElement(element, { nameAttr, icons, attrs }),\n );\n\n /** @todo: remove this block in v1.0 */\n if (nameAttr === 'data-lucide') {\n const deprecatedElements = document.querySelectorAll('[icon-name]');\n if (deprecatedElements.length > 0) {\n console.warn(\n '[Lucide] Some icons were found with the now deprecated icon-name attribute. These will still be replaced for backwards compatibility, but will no longer be supported in v1.0 and you should switch to data-lucide',\n );\n Array.from(deprecatedElements).forEach((element) =>\n replaceElement(element, { nameAttr: 'icon-name', icons, attrs }),\n );\n }\n }\n};\n\nexport { createIcons };\n\n/*\n Create Element function export.\n*/\nexport { default as createElement } from './createElement';\n\n/*\n Icons exports.\n*/\nexport { iconAndAliases as icons };\nexport * from './icons';\nexport * from './aliases';\n\n/*\n Types exports.\n*/\nexport * from './types';\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name arrow-down\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/arrow-down\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst ArrowDown: IconNode = [\n 'svg',\n defaultAttributes,\n [\n ['path', { d: 'M12 5v14' }],\n ['path', { d: 'm19 12-7 7-7-7' }],\n ],\n];\n\nexport default ArrowDown;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name arrow-left\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/arrow-left\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst ArrowLeft: IconNode = [\n 'svg',\n defaultAttributes,\n [\n ['path', { d: 'm12 19-7-7 7-7' }],\n ['path', { d: 'M19 12H5' }],\n ],\n];\n\nexport default ArrowLeft;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name arrow-up\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/arrow-up\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst ArrowUp: IconNode = [\n 'svg',\n defaultAttributes,\n [\n ['path', { d: 'm5 12 7-7 7 7' }],\n ['path', { d: 'M12 19V5' }],\n ],\n];\n\nexport default ArrowUp;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name chevron-down\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst ChevronDown: IconNode = ['svg', defaultAttributes, [['path', { d: 'm6 9 6 6 6-6' }]]];\n\nexport default ChevronDown;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name chevron-right\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst ChevronRight: IconNode = ['svg', defaultAttributes, [['path', { d: 'm9 18 6-6-6-6' }]]];\n\nexport default ChevronRight;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name plus\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/plus\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst Plus: IconNode = [\n 'svg',\n defaultAttributes,\n [\n ['path', { d: 'M5 12h14' }],\n ['path', { d: 'M12 5v14' }],\n ],\n];\n\nexport default Plus;\n","import defaultAttributes from '../defaultAttributes';\nimport type { IconNode } from '../types';\n\n/**\n * @name phone-off\n * @description Lucide SVG icon node.\n *\n * @preview  - https://lucide.dev/icons/phone-off\n * @see https://lucide.dev/guide/packages/lucide - Documentation\n *\n * @returns {Array}\n *\n */\nconst PhoneOff: IconNode = [\n 'svg',\n defaultAttributes,\n [\n [\n 'path',\n {\n d: 'M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91',\n },\n ],\n ['line', { x1: '22', x2: '2', y1: '2', y2: '22' }],\n ],\n];\n\nexport default PhoneOff;\n","import { SVGProps } from './types';\n\nconst defaultAttributes: SVGProps = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': 2,\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n};\n\nexport default defaultAttributes;\n"],"sourceRoot":""}