@siemens/ix-icons 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/components/index.js +92 -25
  2. package/components/index.js.map +1 -1
  3. package/dist/cjs/{index-DUsbo4-K.js → index-HU55KNQP.js} +78 -18
  4. package/dist/cjs/index-HU55KNQP.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +31 -12
  6. package/dist/cjs/index.cjs.js.map +1 -1
  7. package/dist/cjs/ix-icon.cjs.entry.js +1 -1
  8. package/dist/cjs/ix-icons.cjs.js +3 -3
  9. package/dist/cjs/ix-icons.cjs.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +2 -2
  11. package/dist/collection/collection-manifest.json +2 -2
  12. package/dist/collection/components/icon/icon.js +35 -17
  13. package/dist/collection/components/icon/icon.js.map +1 -1
  14. package/dist/collection/components/icon/parser.js +1 -1
  15. package/dist/collection/components/icon/parser.js.map +1 -1
  16. package/dist/esm/{index-BiqddxKp.js → index-CyicTMfq.js} +78 -18
  17. package/dist/esm/index-CyicTMfq.js.map +1 -0
  18. package/dist/esm/index.js +32 -13
  19. package/dist/esm/index.js.map +1 -1
  20. package/dist/esm/ix-icon.entry.js +1 -1
  21. package/dist/esm/ix-icons.js +4 -4
  22. package/dist/esm/ix-icons.js.map +1 -1
  23. package/dist/esm/loader.js +3 -3
  24. package/dist/ix-icons/index.esm.js +1 -1
  25. package/dist/ix-icons/index.esm.js.map +1 -1
  26. package/dist/ix-icons/ix-icons.esm.js +1 -1
  27. package/dist/ix-icons/ix-icons.esm.js.map +1 -1
  28. package/dist/ix-icons/p-9fcb498f.entry.js +2 -0
  29. package/dist/ix-icons/p-CyicTMfq.js +3 -0
  30. package/dist/ix-icons/p-CyicTMfq.js.map +1 -0
  31. package/dist/ix-icons/svg/command-line-filled.svg +1 -0
  32. package/dist/ix-icons/svg/command-line.svg +1 -0
  33. package/dist/ix-icons/svg/monitor-filled.svg +1 -1
  34. package/dist/ix-icons/svg/monitor.svg +1 -1
  35. package/dist/ix-icons/svg/operating-system-add.svg +1 -0
  36. package/dist/ix-icons/svg/operating-system-settings.svg +1 -0
  37. package/dist/ix-icons/svg/palette-filled.svg +1 -0
  38. package/dist/ix-icons/svg/palette.svg +1 -0
  39. package/dist/ix-icons/svg/screen-duplicate-filled.svg +1 -1
  40. package/dist/ix-icons/svg/screen-duplicate.svg +1 -1
  41. package/dist/ix-icons/svg/screen-filled.svg +1 -1
  42. package/dist/ix-icons/svg/screen-settings-filled.svg +1 -1
  43. package/dist/ix-icons/svg/screen-settings.svg +1 -1
  44. package/dist/ix-icons/svg/screen.svg +1 -1
  45. package/dist/ix-icons/svg/screens-filled.svg +1 -1
  46. package/dist/ix-icons/svg/theme-filled.svg +1 -0
  47. package/dist/ix-icons/svg/theme.svg +1 -0
  48. package/dist/sample.json +8 -0
  49. package/dist/types/stencil-public-runtime.d.ts +35 -11
  50. package/icons/index.d.ts +8 -0
  51. package/icons/index.js +17 -9
  52. package/icons/index.mjs +17 -9
  53. package/icons/package.json +1 -1
  54. package/package.json +4 -4
  55. package/svg/command-line-filled.svg +1 -0
  56. package/svg/command-line.svg +1 -0
  57. package/svg/monitor-filled.svg +1 -1
  58. package/svg/monitor.svg +1 -1
  59. package/svg/operating-system-add.svg +1 -0
  60. package/svg/operating-system-settings.svg +1 -0
  61. package/svg/palette-filled.svg +1 -0
  62. package/svg/palette.svg +1 -0
  63. package/svg/screen-duplicate-filled.svg +1 -1
  64. package/svg/screen-duplicate.svg +1 -1
  65. package/svg/screen-filled.svg +1 -1
  66. package/svg/screen-settings-filled.svg +1 -1
  67. package/svg/screen-settings.svg +1 -1
  68. package/svg/screen.svg +1 -1
  69. package/svg/screens-filled.svg +1 -1
  70. package/svg/theme-filled.svg +1 -0
  71. package/svg/theme.svg +1 -0
  72. package/dist/cjs/index-DUsbo4-K.js.map +0 -1
  73. package/dist/esm/index-BiqddxKp.js.map +0 -1
  74. package/dist/ix-icons/p-6b0af2cb.entry.js +0 -2
  75. package/dist/ix-icons/p-BiqddxKp.js +0 -3
  76. package/dist/ix-icons/p-BiqddxKp.js.map +0 -1
  77. /package/dist/ix-icons/{p-6b0af2cb.entry.js.map → p-9fcb498f.entry.js.map} +0 -0
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { g as getAssetPath, r as registerInstance, h, H as Host, a as getElement } from './index-BiqddxKp.js';
2
- export { c as setAssetPath } from './index-BiqddxKp.js';
1
+ import { g as getAssetPath, r as registerInstance, a as getElement, h, H as Host } from './index-CyicTMfq.js';
2
+ export { c as setAssetPath } from './index-CyicTMfq.js';
3
3
 
4
4
  /**
5
5
  * Provide custom SVG path for icons
@@ -32,7 +32,7 @@ function parseSVGDataContent(content, element) {
32
32
  try {
33
33
  content = decodeURI(content);
34
34
  }
35
- catch (_a) {
35
+ catch {
36
36
  // Content is not a valid URI component, which can happen if it's already decoded. Proceed with the original content.
37
37
  }
38
38
  const svgDocument = parser.parseFromString(content, 'text/html');
@@ -187,16 +187,36 @@ const iconCss = ":host{display:inline-flex;height:1.5rem;width:1.5rem;min-height
187
187
  const Icon = class {
188
188
  constructor(hostRef) {
189
189
  registerInstance(this, hostRef);
190
- /**
191
- * Size of the icon
192
- */
193
- this.size = '24';
194
- /**
195
- * Only fetch and parse svg data when icon is visible
196
- */
197
- this.lazyLoading = false;
198
- this.isVisible = false;
199
190
  }
191
+ get hostElement() { return getElement(this); }
192
+ /**
193
+ * Size of the icon
194
+ */
195
+ size = '24';
196
+ /**
197
+ * Color of the icon
198
+ */
199
+ color;
200
+ /**
201
+ * Use one of our defined icon names e.g. `copy`
202
+ *
203
+ * https://ix.siemens.io/docs/icon-library/icons
204
+ *
205
+ * or the import variant
206
+ *
207
+ * ```
208
+ * import { rocket } from '@siemens/ix-icons/icons';
209
+ *
210
+ * <ix-icon name={rocket}></ix-icon>
211
+ * ```
212
+ */
213
+ name;
214
+ /**
215
+ * Only fetch and parse svg data when icon is visible
216
+ */
217
+ lazyLoading = false;
218
+ svgContent;
219
+ isVisible = false;
200
220
  componentWillLoad() {
201
221
  this.waitForRendering(() => {
202
222
  this.isVisible = true;
@@ -242,7 +262,6 @@ const Icon = class {
242
262
  } }, h("div", { key: '570efdb71fcdd0c61b7c854c6ab3662508aae804', class: 'svg-container', innerHTML: this.svgContent, "aria-hidden": "true" })));
243
263
  }
244
264
  static get assetsDirs() { return ["svg"]; }
245
- get hostElement() { return getElement(this); }
246
265
  static get watchers() { return {
247
266
  "name": ["loadIconContent"]
248
267
  }; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["src/components/icon/meta-tag.ts","src/components/icon/parser.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * COPYRIGHT (c) Siemens AG 2018-2025 ALL RIGHTS RESERVED.\n */\n\nlet parser: any = null;\n\nexport const errorSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\nexport function parseSVGDataContent(content: string, element?: HTMLElement): string {\n if (typeof window['DOMParser'] === 'undefined') {\n console.error('DOMParser not supported by your browser.');\n return '';\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n // decode URI component if needed\n try {\n content = decodeURI(content);\n } catch {\n // Content is not a valid URI component, which can happen if it's already decoded. Proceed with the original content.\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n if (element) {\n console.error('No valid svg data provided', element);\n } else {\n console.error('No valid svg data provided');\n }\n return '';\n }\n\n return svgElement.outerHTML;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\nimport { parseSVGDataContent } from './parser';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nasync function fetchSVG(url: string, element: HTMLIxIconElement) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url)!;\n }\n\n if (requests.has(url)) {\n return requests.get(url)!;\n }\n\n const fetching = fetch(url)\n .then(async response => {\n const responseText = await response.text();\n\n let svgContent = '';\n if (response.ok) {\n svgContent = parseSVGDataContent(responseText, element);\n cache.set(url, svgContent);\n } else {\n console.error('Failed to request svg data from', url, 'with status code', response.status, element);\n }\n\n return svgContent;\n })\n .catch(() => {\n console.error('Failed to fetch svg data:', url, element);\n cache.set(url, '');\n return '';\n })\n .finally(() => {\n requests.delete(url);\n });\n\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string, element: HTMLIxIconElement) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(`Could not load icon with name \"${name}\". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`, element);\n }\n\n return url;\n}\n\nexport async function resolveIcon(element: HTMLIxIconElement, iconName?: string): Promise<string> {\n if (!iconName) {\n console.warn('No icon was provided', element);\n return '';\n }\n\n if (isSvgDataUrl(iconName)) {\n const content = parseSVGDataContent(iconName, element);\n\n if (!content) {\n console.error('Failed to parse icon data', element);\n }\n return content;\n }\n\n return loadIcon(iconName, element);\n}\n\nasync function loadIcon(iconName: string, element: HTMLIxIconElement): Promise<string> {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName)!;\n }\n\n if (isValidUrl(iconName)) {\n return fetchSVG(iconName, element);\n }\n\n const iconUrl = getIconUrl(iconName, element);\n\n if (!iconUrl) {\n return '';\n }\n\n return fetchSVG(iconUrl, element);\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { resolveIcon } from './resolveIcon';\nimport { errorSymbol, parseSVGDataContent } from './parser';\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement!: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32' = '24';\n\n /**\n * Color of the icon\n */\n @Prop() color?: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name?: string;\n\n /**\n * Only fetch and parse svg data when icon is visible\n */\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n componentWillLoad() {\n this.waitForRendering(() => {\n this.isVisible = true;\n this.loadIconContent();\n });\n }\n\n @Watch('name')\n async loadIconContent() {\n const content = await resolveIcon(this.hostElement, this.name);\n\n if (!content) {\n this.svgContent = parseSVGDataContent(errorSymbol);\n return;\n }\n\n this.svgContent = content;\n }\n\n private waitForRendering(onRender: () => void) {\n if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && (window as any).IntersectionObserver) {\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n onRender();\n observer.disconnect();\n }\n });\n },\n {\n rootMargin: '25px',\n },\n );\n\n observer.observe(this.hostElement);\n } else {\n onRender();\n }\n }\n\n render() {\n const style: {\n [key: string]: string;\n } = {};\n\n if (this.color) {\n style['color'] = `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n role=\"img\"\n style={style}\n class={{\n ['size-12']: this.size === '12',\n ['size-16']: this.size === '16',\n ['size-24']: this.size === '24',\n ['size-32']: this.size === '32',\n }}\n >\n <div class={'svg-container'} innerHTML={this.svgContent} aria-hidden=\"true\"></div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["src/components/icon/meta-tag.ts","src/components/icon/parser.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * COPYRIGHT (c) Siemens AG 2018-2025 ALL RIGHTS RESERVED.\n */\n\nlet parser: any = null;\n\nexport const errorSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\nexport function parseSVGDataContent(content: string, element?: HTMLElement): string {\n if (typeof window['DOMParser'] === 'undefined') {\n console.error('DOMParser not supported by your browser.');\n return '';\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n // decode URI component if needed\n try {\n content = decodeURI(content);\n } catch {\n // Content is not a valid URI component, which can happen if it's already decoded. Proceed with the original content.\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n if (element) {\n console.error('No valid svg data provided', element);\n } else {\n console.error('No valid svg data provided');\n }\n return '';\n }\n\n return svgElement.outerHTML;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\nimport { parseSVGDataContent } from './parser';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nasync function fetchSVG(url: string, element: HTMLIxIconElement) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url)!;\n }\n\n if (requests.has(url)) {\n return requests.get(url)!;\n }\n\n const fetching = fetch(url)\n .then(async response => {\n const responseText = await response.text();\n\n let svgContent = '';\n if (response.ok) {\n svgContent = parseSVGDataContent(responseText, element);\n cache.set(url, svgContent);\n } else {\n console.error('Failed to request svg data from', url, 'with status code', response.status, element);\n }\n\n return svgContent;\n })\n .catch(() => {\n console.error('Failed to fetch svg data:', url, element);\n cache.set(url, '');\n return '';\n })\n .finally(() => {\n requests.delete(url);\n });\n\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string, element: HTMLIxIconElement) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(`Could not load icon with name \"${name}\". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`, element);\n }\n\n return url;\n}\n\nexport async function resolveIcon(element: HTMLIxIconElement, iconName?: string): Promise<string> {\n if (!iconName) {\n console.warn('No icon was provided', element);\n return '';\n }\n\n if (isSvgDataUrl(iconName)) {\n const content = parseSVGDataContent(iconName, element);\n\n if (!content) {\n console.error('Failed to parse icon data', element);\n }\n return content;\n }\n\n return loadIcon(iconName, element);\n}\n\nasync function loadIcon(iconName: string, element: HTMLIxIconElement): Promise<string> {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName)!;\n }\n\n if (isValidUrl(iconName)) {\n return fetchSVG(iconName, element);\n }\n\n const iconUrl = getIconUrl(iconName, element);\n\n if (!iconUrl) {\n return '';\n }\n\n return fetchSVG(iconUrl, element);\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { resolveIcon } from './resolveIcon';\nimport { errorSymbol, parseSVGDataContent } from './parser';\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement!: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32' = '24';\n\n /**\n * Color of the icon\n */\n @Prop() color?: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name?: string;\n\n /**\n * Only fetch and parse svg data when icon is visible\n */\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n componentWillLoad() {\n this.waitForRendering(() => {\n this.isVisible = true;\n this.loadIconContent();\n });\n }\n\n @Watch('name')\n async loadIconContent() {\n const content = await resolveIcon(this.hostElement, this.name);\n\n if (!content) {\n this.svgContent = parseSVGDataContent(errorSymbol);\n return;\n }\n\n this.svgContent = content;\n }\n\n private waitForRendering(onRender: () => void) {\n if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && (window as any).IntersectionObserver) {\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n onRender();\n observer.disconnect();\n }\n });\n },\n {\n rootMargin: '25px',\n },\n );\n\n observer.observe(this.hostElement);\n } else {\n onRender();\n }\n }\n\n render() {\n const style: {\n [key: string]: string;\n } = {};\n\n if (this.color) {\n style['color'] = `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n role=\"img\"\n style={style}\n class={{\n ['size-12']: this.size === '12',\n ['size-16']: this.size === '16',\n ['size-24']: this.size === '24',\n ['size-32']: this.size === '32',\n }}\n >\n <div class={'svg-container'} innerHTML={this.svgContent} aria-hidden=\"true\"></div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA;;;;AAIG;SACa,iBAAiB,GAAA;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,4BAA4B,CAAC;IACtE,IAAI,SAAS,EAAE;QACb,MAAM,IAAI,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC;AAC9C,QAAA,OAAO,IAAI;;AAGb,IAAA,OAAO,KAAK;AACd;;ACbA;;AAEG;AAEH,IAAI,MAAM,GAAQ,IAAI;AAEf,MAAM,WAAW,GACtB,gdAAgd;AAElc,SAAA,mBAAmB,CAAC,OAAe,EAAE,OAAqB,EAAA;IACxE,IAAI,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,WAAW,EAAE;AAC9C,QAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC;AACzD,QAAA,OAAO,EAAE;;AAGX,IAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,QAAA,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;;;AAIpC,IAAA,IAAI;AACF,QAAA,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;;AAC5B,IAAA,MAAM;;;IAIR,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC;IAChE,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,CAAgB;IAElE,IAAI,CAAC,UAAU,EAAE;QACf,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,OAAO,CAAC;;aAC/C;AACL,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC;;AAE7C,QAAA,OAAO,EAAE;;IAGX,OAAO,UAAU,CAAC,SAAS;AAC7B;;ACvCA;;;;;;;AAOG;AAWH,IAAI,UAA+B;AACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B;AAE5C,MAAM,eAAe,GAAG,MAA0B;AACvD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,IAAI,GAAG,EAAE;;IAGlB,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE;AACrC,QAAA,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE;;AAGnE,IAAA,OAAO,UAAU;AACnB,CAAC;AAEM,MAAM,YAAY,GAAG,CAAC,GAAW,KAAI;IAC1C,IAAI,CAAC,GAAG,EAAE;AACR,QAAA,OAAO,KAAK;;AAGd,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,QAAA,OAAO,KAAK;;AAGd,IAAA,OAAO,GAAG,CAAC,UAAU,CAAC,oBAAoB,CAAC;AAC7C,CAAC;AAED,eAAe,QAAQ,CAAC,GAAW,EAAE,OAA0B,EAAA;AAC7D,IAAA,MAAM,KAAK,GAAG,eAAe,EAAE;AAE/B,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAClB,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE;;AAGxB,IAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AACrB,QAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE;;AAG3B,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG;AACvB,SAAA,IAAI,CAAC,OAAM,QAAQ,KAAG;AACrB,QAAA,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;QAE1C,IAAI,UAAU,GAAG,EAAE;AACnB,QAAA,IAAI,QAAQ,CAAC,EAAE,EAAE;AACf,YAAA,UAAU,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC;AACvD,YAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC;;aACrB;AACL,YAAA,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;;AAGrG,QAAA,OAAO,UAAU;AACnB,KAAC;SACA,KAAK,CAAC,MAAK;QACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,OAAO,CAAC;AACxD,QAAA,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;AAClB,QAAA,OAAO,EAAE;AACX,KAAC;SACA,OAAO,CAAC,MAAK;AACZ,QAAA,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;AACtB,KAAC,CAAC;AAEJ,IAAA,OAAO,QAAQ;AACjB;AAEA,MAAM,QAAQ,GAAG,4EAA4E;AAE7F,SAAS,UAAU,CAAC,GAAW,EAAA;AAC7B,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B;AAEgB,SAAA,UAAU,CAAC,IAAY,EAAE,OAA0B,EAAA;AACjE,IAAA,MAAM,cAAc,GAAG,iBAAiB,EAAE;IAE1C,IAAI,cAAc,EAAE;AAClB,QAAA,OAAO,CAAG,EAAA,cAAc,CAAI,CAAA,EAAA,IAAI,MAAM;;AAGxC,IAAA,IAAI,GAAG,GAAW,CAAO,IAAA,EAAA,IAAI,MAAM;AAEnC,IAAA,IAAI;AACF,QAAA,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;;IACvB,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,IAAI,CAAC,CAAA,+BAAA,EAAkC,IAAI,CAAgH,8GAAA,CAAA,EAAE,OAAO,CAAC;;AAG/K,IAAA,OAAO,GAAG;AACZ;AAEO,eAAe,WAAW,CAAC,OAA0B,EAAE,QAAiB,EAAA;IAC7E,IAAI,CAAC,QAAQ,EAAE;AACb,QAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC;AAC7C,QAAA,OAAO,EAAE;;AAGX,IAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE;QAC1B,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC;QAEtD,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC;;AAErD,QAAA,OAAO,OAAO;;AAGhB,IAAA,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;AACpC;AAEA,eAAe,QAAQ,CAAC,QAAgB,EAAE,OAA0B,EAAA;AAClE,IAAA,MAAM,KAAK,GAAG,eAAe,EAAE;AAE/B,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;AACvB,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE;;AAG7B,IAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;AACxB,QAAA,OAAO,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;;IAGpC,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,EAAE;;AAGX,IAAA,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;AACnC;AAEA,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc,EAAA;AAChD,IAAA,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAC3B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC;;AAGhE,IAAA,OAAO,IAAI;AACb;AAEM,SAAU,QAAQ,CAAC,KAA8B,EAAA;IACrD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAChC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC;AAEjC,QAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5B,KAAC,CAAC;AACJ;AAEgB,SAAA,cAAc,CAAC,IAAY,EAAE,IAAY,EAAA;AACvD,IAAA,MAAM,KAAK,GAAG,eAAe,EAAE;AAE/B,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACnB,QAAA,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAA,oDAAA,CAAsD,CAAC;;AAGxF,IAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC;AAErC,IAAA,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AAEpB,IAAA,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE;AAE1F,IAAA,IAAI,IAAI,IAAI,WAAW,EAAE;AACvB,QAAA,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC;;AAE/B;;ACnLA,MAAM,OAAO,GAAG,ulBAAulB;;MCkB1lB,IAAI,GAAA,MAAA;;;;;AAGf;;AAEG;IACK,IAAI,GAA8B,IAAI;AAE9C;;AAEG;AACK,IAAA,KAAK;AAEb;;;;;;;;;;;;AAYG;AACK,IAAA,IAAI;AAEZ;;AAEG;IACK,WAAW,GAAG,KAAK;AAElB,IAAA,UAAU;IACV,SAAS,GAAG,KAAK;IAE1B,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,gBAAgB,CAAC,MAAK;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;YACrB,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;AAIJ,IAAA,MAAM,eAAe,GAAA;AACnB,QAAA,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC;QAE9D,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC;YAClD;;AAGF,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO;;AAGnB,IAAA,gBAAgB,CAAC,QAAoB,EAAA;AAC3C,QAAA,IAAuB,IAAI,CAAC,WAAW,IAAI,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,oBAAoB,EAAE;AAChH,YAAA,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,OAAO,IAAG;AACR,gBAAA,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;AACtB,oBAAA,IAAI,KAAK,CAAC,cAAc,EAAE;AACxB,wBAAA,QAAQ,EAAE;wBACV,QAAQ,CAAC,UAAU,EAAE;;AAEzB,iBAAC,CAAC;AACJ,aAAC,EACD;AACE,gBAAA,UAAU,EAAE,MAAM;AACnB,aAAA,CACF;AAED,YAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;aAC7B;AACL,YAAA,QAAQ,EAAE;;;IAId,MAAM,GAAA;QACJ,MAAM,KAAK,GAEP,EAAE;AAEN,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,KAAK,CAAC,OAAO,CAAC,GAAG,eAAe,IAAI,CAAC,KAAK,CAAA,CAAA,CAAG;;AAG/C,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,IAAI,EAAC,KAAK,EACV,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;AACL,gBAAA,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI;AAC/B,gBAAA,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI;AAC/B,gBAAA,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI;AAC/B,gBAAA,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI;aAChC,EAAA,EAED,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAc,aAAA,EAAA,MAAM,EAAO,CAAA,CAC7E;;;;;;;;;;;"}
@@ -1,3 +1,3 @@
1
1
  export { Icon as ix_icon } from './index.js';
2
- import './index-BiqddxKp.js';
2
+ import './index-CyicTMfq.js';
3
3
  //# sourceMappingURL=ix-icon.entry.js.map
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-BiqddxKp.js';
2
- export { s as setNonce } from './index-BiqddxKp.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-CyicTMfq.js';
2
+ export { s as setNonce } from './index-CyicTMfq.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.37.1 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
 
9
9
  var patchBrowser = () => {
@@ -17,6 +17,6 @@ var patchBrowser = () => {
17
17
 
18
18
  patchBrowser().then(async (options) => {
19
19
  await globalScripts();
20
- return bootstrapLazy([["ix-icon",[[257,"ix-icon",{"size":[1],"color":[1],"name":[1],"lazyLoading":[4,"lazy-loading"],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIconContent"]}]]]], options);
20
+ return bootstrapLazy([["ix-icon",[[769,"ix-icon",{"size":[1],"color":[1],"name":[1],"lazyLoading":[4,"lazy-loading"],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIconContent"]}]]]], options);
21
21
  });
22
22
  //# sourceMappingURL=ix-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ix-icons.js","sources":["node_modules/.pnpm/@stencil+core@4.37.1/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.37.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ix-icons.js","sources":["node_modules/.pnpm/@stencil+core@4.38.3/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-BiqddxKp.js';
2
- export { s as setNonce } from './index-BiqddxKp.js';
1
+ import { b as bootstrapLazy } from './index-CyicTMfq.js';
2
+ export { s as setNonce } from './index-CyicTMfq.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["ix-icon",[[257,"ix-icon",{"size":[1],"color":[1],"name":[1],"lazyLoading":[4,"lazy-loading"],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIconContent"]}]]]], options);
8
+ return bootstrapLazy([["ix-icon",[[769,"ix-icon",{"size":[1],"color":[1],"name":[1],"lazyLoading":[4,"lazy-loading"],"svgContent":[32],"isVisible":[32]},null,{"name":["loadIconContent"]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,2 +1,2 @@
1
- import{g as t,r as e,h as n,H as i,a as s}from"./p-BiqddxKp.js";export{c as setAssetPath}from"./p-BiqddxKp.js";function o(){const t=document.querySelector("meta[name='ix-icons:path']");if(t){const e=t.getAttribute("content");return e}return false}let r=null;const a="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>";function h(t,e){if(typeof window["DOMParser"]==="undefined"){console.error("DOMParser not supported by your browser.");return""}if(r===null){r=new window["DOMParser"]}try{t=decodeURI(t)}catch(t){}const n=r.parseFromString(t,"text/html");const i=n.querySelector("svg");if(!i){if(e){console.error("No valid svg data provided",e)}else{console.error("No valid svg data provided")}return""}return i.outerHTML}let d;const l=new Map;const f=()=>{if(typeof window==="undefined"){return new Map}if(!d){window.IxIcons=window.IxIcons||{};d=window.IxIcons.map=window.IxIcons.map||new Map}return d};const u=t=>{if(!t){return false}if(typeof t!=="string"){return false}return t.startsWith("data:image/svg+xml")};async function w(t,e){const n=f();if(n.has(t)){return n.get(t)}if(l.has(t)){return l.get(t)}const i=fetch(t).then((async i=>{const s=await i.text();let o="";if(i.ok){o=h(s,e);n.set(t,o)}else{console.error("Failed to request svg data from",t,"with status code",i.status,e)}return o})).catch((()=>{console.error("Failed to fetch svg data:",t,e);n.set(t,"");return""})).finally((()=>{l.delete(t)}));return i}const g=/^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\S+)(?:\S*)$/i;function m(t){return g.test(t)}function v(e,n){const i=o();if(i){return`${i}/${e}.svg`}let s=`svg/${e}.svg`;try{s=t(s)}catch(t){console.warn(`Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`,n)}return s}async function p(t,e){if(!e){console.warn("No icon was provided",t);return""}if(u(e)){const n=h(e,t);if(!n){console.error("Failed to parse icon data",t)}return n}return y(e,t)}async function y(t,e){const n=f();if(n.has(t)){return n.get(t)}if(m(t)){return w(t,e)}const i=v(t,e);if(!i){return""}return w(i,e)}function L(t,e){if(t.startsWith(e)){t=t.slice(e.length);return t.replace(/^(\w)/,((t,e)=>e.toLowerCase()))}return t}function x(t){Object.keys(t).forEach((e=>{const n=t[e];e=L(e,"icon");M(e,n)}))}function M(t,e){const n=f();if(n.has(t)){console.warn(`Icon name '${t}' already in cache. Overwritting with new icon data.`)}const i=h(e);n.set(t,i);const s=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,"$1-$2").toLowerCase();if(t!=s){n.set(s,i)}}const b=":host{display:inline-flex;height:1.5rem;width:1.5rem;min-height:1.5rem;min-width:1.5rem;color:inherit}:host .svg-container{display:block;position:relative;width:100%;height:100%}:host .svg-container svg{display:block;position:relative;height:100%;width:100%}:host .svg-container svg,:host .svg-container svg[fill],:host .svg-container svg [fill]{fill:currentColor !important}:host(.size-12){height:0.75rem;width:0.75rem;min-height:0.75rem;min-width:0.75rem}:host(.size-16){height:1rem;width:1rem;min-height:1rem;min-width:1rem}:host(.size-32){height:2rem;width:2rem;min-height:2rem;min-width:2rem}";const $=class{constructor(t){e(this,t);this.size="24";this.lazyLoading=false;this.isVisible=false}componentWillLoad(){this.waitForRendering((()=>{this.isVisible=true;this.loadIconContent()}))}async loadIconContent(){const t=await p(this.hostElement,this.name);if(!t){this.svgContent=h(a);return}this.svgContent=t}waitForRendering(t){if(this.lazyLoading&&typeof window!=="undefined"&&window.IntersectionObserver){const e=new IntersectionObserver((n=>{n.forEach((n=>{if(n.isIntersecting){t();e.disconnect()}}))}),{rootMargin:"25px"});e.observe(this.hostElement)}else{t()}}render(){const t={};if(this.color){t["color"]=`var(--theme-${this.color})`}return n(i,{key:"83462a7d7da16587faaa0600b4c13ec8ad106a77",role:"img",style:t,class:{["size-12"]:this.size==="12",["size-16"]:this.size==="16",["size-24"]:this.size==="24",["size-32"]:this.size==="32"}},n("div",{key:"570efdb71fcdd0c61b7c854c6ab3662508aae804",class:"svg-container",innerHTML:this.svgContent,"aria-hidden":"true"}))}static get assetsDirs(){return["svg"]}get hostElement(){return s(this)}static get watchers(){return{name:["loadIconContent"]}}};$.style=b;export{$ as Icon,M as addIconToCache,x as addIcons};
1
+ import{g as t,r as e,a as n,h as i,H as s}from"./p-CyicTMfq.js";export{c as setAssetPath}from"./p-CyicTMfq.js";function o(){const t=document.querySelector("meta[name='ix-icons:path']");if(t){const e=t.getAttribute("content");return e}return false}let r=null;const a="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>";function h(t,e){if(typeof window["DOMParser"]==="undefined"){console.error("DOMParser not supported by your browser.");return""}if(r===null){r=new window["DOMParser"]}try{t=decodeURI(t)}catch{}const n=r.parseFromString(t,"text/html");const i=n.querySelector("svg");if(!i){if(e){console.error("No valid svg data provided",e)}else{console.error("No valid svg data provided")}return""}return i.outerHTML}let d;const l=new Map;const f=()=>{if(typeof window==="undefined"){return new Map}if(!d){window.IxIcons=window.IxIcons||{};d=window.IxIcons.map=window.IxIcons.map||new Map}return d};const u=t=>{if(!t){return false}if(typeof t!=="string"){return false}return t.startsWith("data:image/svg+xml")};async function w(t,e){const n=f();if(n.has(t)){return n.get(t)}if(l.has(t)){return l.get(t)}const i=fetch(t).then((async i=>{const s=await i.text();let o="";if(i.ok){o=h(s,e);n.set(t,o)}else{console.error("Failed to request svg data from",t,"with status code",i.status,e)}return o})).catch((()=>{console.error("Failed to fetch svg data:",t,e);n.set(t,"");return""})).finally((()=>{l.delete(t)}));return i}const g=/^(?:(?:https?|ftp):\/\/)?(?:\S+(?::\S*)?@)?(?:www\.)?(?:\S+\.\S+)(?:\S*)$/i;function m(t){return g.test(t)}function v(e,n){const i=o();if(i){return`${i}/${e}.svg`}let s=`svg/${e}.svg`;try{s=t(s)}catch(t){console.warn(`Could not load icon with name "${e}". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`,n)}return s}async function p(t,e){if(!e){console.warn("No icon was provided",t);return""}if(u(e)){const n=h(e,t);if(!n){console.error("Failed to parse icon data",t)}return n}return y(e,t)}async function y(t,e){const n=f();if(n.has(t)){return n.get(t)}if(m(t)){return w(t,e)}const i=v(t,e);if(!i){return""}return w(i,e)}function L(t,e){if(t.startsWith(e)){t=t.slice(e.length);return t.replace(/^(\w)/,((t,e)=>e.toLowerCase()))}return t}function M(t){Object.keys(t).forEach((e=>{const n=t[e];e=L(e,"icon");b(e,n)}))}function b(t,e){const n=f();if(n.has(t)){console.warn(`Icon name '${t}' already in cache. Overwritting with new icon data.`)}const i=h(e);n.set(t,i);const s=t.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g,"$1-$2").toLowerCase();if(t!=s){n.set(s,i)}}const x=":host{display:inline-flex;height:1.5rem;width:1.5rem;min-height:1.5rem;min-width:1.5rem;color:inherit}:host .svg-container{display:block;position:relative;width:100%;height:100%}:host .svg-container svg{display:block;position:relative;height:100%;width:100%}:host .svg-container svg,:host .svg-container svg[fill],:host .svg-container svg [fill]{fill:currentColor !important}:host(.size-12){height:0.75rem;width:0.75rem;min-height:0.75rem;min-width:0.75rem}:host(.size-16){height:1rem;width:1rem;min-height:1rem;min-width:1rem}:host(.size-32){height:2rem;width:2rem;min-height:2rem;min-width:2rem}";const z=class{constructor(t){e(this,t)}get hostElement(){return n(this)}size="24";color;name;lazyLoading=false;svgContent;isVisible=false;componentWillLoad(){this.waitForRendering((()=>{this.isVisible=true;this.loadIconContent()}))}async loadIconContent(){const t=await p(this.hostElement,this.name);if(!t){this.svgContent=h(a);return}this.svgContent=t}waitForRendering(t){if(this.lazyLoading&&typeof window!=="undefined"&&window.IntersectionObserver){const e=new IntersectionObserver((n=>{n.forEach((n=>{if(n.isIntersecting){t();e.disconnect()}}))}),{rootMargin:"25px"});e.observe(this.hostElement)}else{t()}}render(){const t={};if(this.color){t["color"]=`var(--theme-${this.color})`}return i(s,{key:"83462a7d7da16587faaa0600b4c13ec8ad106a77",role:"img",style:t,class:{["size-12"]:this.size==="12",["size-16"]:this.size==="16",["size-24"]:this.size==="24",["size-32"]:this.size==="32"}},i("div",{key:"570efdb71fcdd0c61b7c854c6ab3662508aae804",class:"svg-container",innerHTML:this.svgContent,"aria-hidden":"true"}))}static get assetsDirs(){return["svg"]}static get watchers(){return{name:["loadIconContent"]}}};z.style=x;export{z as Icon,b as addIconToCache,M as addIcons};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["src/components/icon/meta-tag.ts","src/components/icon/parser.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * COPYRIGHT (c) Siemens AG 2018-2025 ALL RIGHTS RESERVED.\n */\n\nlet parser: any = null;\n\nexport const errorSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\nexport function parseSVGDataContent(content: string, element?: HTMLElement): string {\n if (typeof window['DOMParser'] === 'undefined') {\n console.error('DOMParser not supported by your browser.');\n return '';\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n // decode URI component if needed\n try {\n content = decodeURI(content);\n } catch {\n // Content is not a valid URI component, which can happen if it's already decoded. Proceed with the original content.\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n if (element) {\n console.error('No valid svg data provided', element);\n } else {\n console.error('No valid svg data provided');\n }\n return '';\n }\n\n return svgElement.outerHTML;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\nimport { parseSVGDataContent } from './parser';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nasync function fetchSVG(url: string, element: HTMLIxIconElement) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url)!;\n }\n\n if (requests.has(url)) {\n return requests.get(url)!;\n }\n\n const fetching = fetch(url)\n .then(async response => {\n const responseText = await response.text();\n\n let svgContent = '';\n if (response.ok) {\n svgContent = parseSVGDataContent(responseText, element);\n cache.set(url, svgContent);\n } else {\n console.error('Failed to request svg data from', url, 'with status code', response.status, element);\n }\n\n return svgContent;\n })\n .catch(() => {\n console.error('Failed to fetch svg data:', url, element);\n cache.set(url, '');\n return '';\n })\n .finally(() => {\n requests.delete(url);\n });\n\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string, element: HTMLIxIconElement) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(`Could not load icon with name \"${name}\". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`, element);\n }\n\n return url;\n}\n\nexport async function resolveIcon(element: HTMLIxIconElement, iconName?: string): Promise<string> {\n if (!iconName) {\n console.warn('No icon was provided', element);\n return '';\n }\n\n if (isSvgDataUrl(iconName)) {\n const content = parseSVGDataContent(iconName, element);\n\n if (!content) {\n console.error('Failed to parse icon data', element);\n }\n return content;\n }\n\n return loadIcon(iconName, element);\n}\n\nasync function loadIcon(iconName: string, element: HTMLIxIconElement): Promise<string> {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName)!;\n }\n\n if (isValidUrl(iconName)) {\n return fetchSVG(iconName, element);\n }\n\n const iconUrl = getIconUrl(iconName, element);\n\n if (!iconUrl) {\n return '';\n }\n\n return fetchSVG(iconUrl, element);\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { resolveIcon } from './resolveIcon';\nimport { errorSymbol, parseSVGDataContent } from './parser';\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement!: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32' = '24';\n\n /**\n * Color of the icon\n */\n @Prop() color?: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name?: string;\n\n /**\n * Only fetch and parse svg data when icon is visible\n */\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n componentWillLoad() {\n this.waitForRendering(() => {\n this.isVisible = true;\n this.loadIconContent();\n });\n }\n\n @Watch('name')\n async loadIconContent() {\n const content = await resolveIcon(this.hostElement, this.name);\n\n if (!content) {\n this.svgContent = parseSVGDataContent(errorSymbol);\n return;\n }\n\n this.svgContent = content;\n }\n\n private waitForRendering(onRender: () => void) {\n if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && (window as any).IntersectionObserver) {\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n onRender();\n observer.disconnect();\n }\n });\n },\n {\n rootMargin: '25px',\n },\n );\n\n observer.observe(this.hostElement);\n } else {\n onRender();\n }\n }\n\n render() {\n const style: {\n [key: string]: string;\n } = {};\n\n if (this.color) {\n style['color'] = `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n role=\"img\"\n style={style}\n class={{\n ['size-12']: this.size === '12',\n ['size-16']: this.size === '16',\n ['size-24']: this.size === '24',\n ['size-32']: this.size === '32',\n }}\n >\n <div class={'svg-container'} innerHTML={this.svgContent} aria-hidden=\"true\"></div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["src/components/icon/meta-tag.ts","src/components/icon/parser.ts","src/components/icon/resolveIcon.ts","src/components/icon/icon.scss?tag=ix-icon&encapsulation=shadow","src/components/icon/icon.tsx"],"sourcesContent":["/**\n * Provide custom SVG path for icons\n *\n * <meta name=\"ix-icons:path\" content=\"/build/svg\" />\n */\nexport function getCustomAssetUrl() {\n const assetPath = document.querySelector(\"meta[name='ix-icons:path']\");\n if (assetPath) {\n const path = assetPath.getAttribute('content');\n return path;\n }\n\n return false;\n}\n","/*\n * COPYRIGHT (c) Siemens AG 2018-2025 ALL RIGHTS RESERVED.\n */\n\nlet parser: any = null;\n\nexport const errorSymbol =\n \"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'><path fill-rule='evenodd' d='M384,0 L384,384 L0,384 L0,0 L384,0 Z M192,207.085 L57.751,341.333 L326.248,341.333 L192,207.085 Z M42.666,57.751 L42.666,326.248 L176.915,192 L42.666,57.751 Z M341.333,57.751 L207.085,192 L341.333,326.248 L341.333,57.751 Z M326.248,42.666 L57.751,42.666 L192,176.915 L326.248,42.666 Z' transform='translate(64 64)'/></svg>\";\n\nexport function parseSVGDataContent(content: string, element?: HTMLElement): string {\n if (typeof window['DOMParser'] === 'undefined') {\n console.error('DOMParser not supported by your browser.');\n return '';\n }\n\n if (parser === null) {\n parser = new window['DOMParser']();\n }\n\n // decode URI component if needed\n try {\n content = decodeURI(content);\n } catch {\n // Content is not a valid URI component, which can happen if it's already decoded. Proceed with the original content.\n }\n\n const svgDocument = parser.parseFromString(content, 'text/html');\n const svgElement = svgDocument.querySelector('svg') as HTMLElement;\n\n if (!svgElement) {\n if (element) {\n console.error('No valid svg data provided', element);\n } else {\n console.error('No valid svg data provided');\n }\n return '';\n }\n\n return svgElement.outerHTML;\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { getAssetPath } from '@stencil/core';\nimport { getCustomAssetUrl } from './meta-tag';\nimport { parseSVGDataContent } from './parser';\n\ndeclare global {\n interface Window {\n IxIcons: any;\n }\n}\n\nlet fetchCache: Map<string, string>;\nconst requests = new Map<string, Promise<string>>();\n\nexport const getIconCacheMap = (): Map<string, string> => {\n if (typeof window === 'undefined') {\n return new Map();\n }\n\n if (!fetchCache) {\n window.IxIcons = window.IxIcons || {};\n fetchCache = window.IxIcons.map = window.IxIcons.map || new Map();\n }\n\n return fetchCache;\n};\n\nexport const isSvgDataUrl = (url: string) => {\n if (!url) {\n return false;\n }\n\n if (typeof url !== 'string') {\n return false;\n }\n\n return url.startsWith('data:image/svg+xml');\n};\n\nasync function fetchSVG(url: string, element: HTMLIxIconElement) {\n const cache = getIconCacheMap();\n\n if (cache.has(url)) {\n return cache.get(url)!;\n }\n\n if (requests.has(url)) {\n return requests.get(url)!;\n }\n\n const fetching = fetch(url)\n .then(async response => {\n const responseText = await response.text();\n\n let svgContent = '';\n if (response.ok) {\n svgContent = parseSVGDataContent(responseText, element);\n cache.set(url, svgContent);\n } else {\n console.error('Failed to request svg data from', url, 'with status code', response.status, element);\n }\n\n return svgContent;\n })\n .catch(() => {\n console.error('Failed to fetch svg data:', url, element);\n cache.set(url, '');\n return '';\n })\n .finally(() => {\n requests.delete(url);\n });\n\n return fetching;\n}\n\nconst urlRegex = /^(?:(?:https?|ftp):\\/\\/)?(?:\\S+(?::\\S*)?@)?(?:www\\.)?(?:\\S+\\.\\S+)(?:\\S*)$/i;\n\nfunction isValidUrl(url: string) {\n return urlRegex.test(url);\n}\n\nexport function getIconUrl(name: string, element: HTMLIxIconElement) {\n const customAssetUrl = getCustomAssetUrl();\n\n if (customAssetUrl) {\n return `${customAssetUrl}/${name}.svg`;\n }\n\n let url: string = `svg/${name}.svg`;\n\n try {\n url = getAssetPath(url);\n } catch (error) {\n console.warn(`Could not load icon with name \"${name}\". Ensure that the icon is registered using addIcons or that the icon SVG data is passed directly to property.`, element);\n }\n\n return url;\n}\n\nexport async function resolveIcon(element: HTMLIxIconElement, iconName?: string): Promise<string> {\n if (!iconName) {\n console.warn('No icon was provided', element);\n return '';\n }\n\n if (isSvgDataUrl(iconName)) {\n const content = parseSVGDataContent(iconName, element);\n\n if (!content) {\n console.error('Failed to parse icon data', element);\n }\n return content;\n }\n\n return loadIcon(iconName, element);\n}\n\nasync function loadIcon(iconName: string, element: HTMLIxIconElement): Promise<string> {\n const cache = getIconCacheMap();\n\n if (cache.has(iconName)) {\n return cache.get(iconName)!;\n }\n\n if (isValidUrl(iconName)) {\n return fetchSVG(iconName, element);\n }\n\n const iconUrl = getIconUrl(iconName, element);\n\n if (!iconUrl) {\n return '';\n }\n\n return fetchSVG(iconUrl, element);\n}\n\nfunction removePrefix(name: string, prefix: string) {\n if (name.startsWith(prefix)) {\n name = name.slice(prefix.length);\n return name.replace(/^(\\w)/, (_match, p1) => p1.toLowerCase());\n }\n\n return name;\n}\n\nexport function addIcons(icons: { [name: string]: any }) {\n Object.keys(icons).forEach(name => {\n const icon = icons[name];\n name = removePrefix(name, 'icon');\n\n addIconToCache(name, icon);\n });\n}\n\nexport function addIconToCache(name: string, icon: string) {\n const cache = getIconCacheMap();\n\n if (cache.has(name)) {\n console.warn(`Icon name '${name}' already in cache. Overwritting with new icon data.`);\n }\n\n const svg = parseSVGDataContent(icon);\n\n cache.set(name, svg);\n\n const toKebabCase = name.replace(/([a-z0-9]|(?=[A-Z]))([A-Z0-9])/g, '$1-$2').toLowerCase();\n\n if (name != toKebabCase) {\n cache.set(toKebabCase, svg);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@mixin size($size) {\n height: $size;\n width: $size;\n min-height: $size;\n min-width: $size;\n}\n\n:host {\n display: inline-flex;\n @include size(1.5rem);\n color: inherit;\n\n .svg-container {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n\n svg {\n display: block;\n position: relative;\n height: 100%;\n width: 100%;\n }\n\n svg,\n svg[fill],\n svg [fill] {\n fill: currentColor !important;\n }\n }\n}\n\n:host(.size-12) {\n @include size(0.75rem);\n}\n\n:host(.size-16) {\n @include size(1rem);\n}\n\n:host(.size-32) {\n @include size(2rem);\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { Component, h, Host, Prop, State, Watch, Element, Build } from '@stencil/core';\nimport { resolveIcon } from './resolveIcon';\nimport { errorSymbol, parseSVGDataContent } from './parser';\n\n@Component({\n tag: 'ix-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n assetsDirs: ['svg'],\n})\nexport class Icon {\n @Element() hostElement!: HTMLIxIconElement;\n\n /**\n * Size of the icon\n */\n @Prop() size: '12' | '16' | '24' | '32' = '24';\n\n /**\n * Color of the icon\n */\n @Prop() color?: string;\n\n /**\n * Use one of our defined icon names e.g. `copy`\n *\n * https://ix.siemens.io/docs/icon-library/icons\n *\n * or the import variant\n *\n * ```\n * import { rocket } from '@siemens/ix-icons/icons';\n *\n * <ix-icon name={rocket}></ix-icon>\n * ```\n */\n @Prop() name?: string;\n\n /**\n * Only fetch and parse svg data when icon is visible\n */\n @Prop() lazyLoading = false;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n\n componentWillLoad() {\n this.waitForRendering(() => {\n this.isVisible = true;\n this.loadIconContent();\n });\n }\n\n @Watch('name')\n async loadIconContent() {\n const content = await resolveIcon(this.hostElement, this.name);\n\n if (!content) {\n this.svgContent = parseSVGDataContent(errorSymbol);\n return;\n }\n\n this.svgContent = content;\n }\n\n private waitForRendering(onRender: () => void) {\n if (Build.isBrowser && this.lazyLoading && typeof window !== 'undefined' && (window as any).IntersectionObserver) {\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting) {\n onRender();\n observer.disconnect();\n }\n });\n },\n {\n rootMargin: '25px',\n },\n );\n\n observer.observe(this.hostElement);\n } else {\n onRender();\n }\n }\n\n render() {\n const style: {\n [key: string]: string;\n } = {};\n\n if (this.color) {\n style['color'] = `var(--theme-${this.color})`;\n }\n\n return (\n <Host\n role=\"img\"\n style={style}\n class={{\n ['size-12']: this.size === '12',\n ['size-16']: this.size === '16',\n ['size-24']: this.size === '24',\n ['size-32']: this.size === '32',\n }}\n >\n <div class={'svg-container'} innerHTML={this.svgContent} aria-hidden=\"true\"></div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{p as o,b as n}from"./p-BiqddxKp.js";export{s as setNonce}from"./p-BiqddxKp.js";import{g as a}from"./p-DQuL1Twl.js";var i=()=>{const n=import.meta.url;const a={};if(n!==""){a.resourcesUrl=new URL(".",n).href}return o(a)};i().then((async o=>{await a();return n([["p-6b0af2cb",[[257,"ix-icon",{size:[1],color:[1],name:[1],lazyLoading:[4,"lazy-loading"],svgContent:[32],isVisible:[32]},null,{name:["loadIconContent"]}]]]],o)}));
1
+ import{p as o,b as n}from"./p-CyicTMfq.js";export{s as setNonce}from"./p-CyicTMfq.js";import{g as a}from"./p-DQuL1Twl.js";var i=()=>{const n=import.meta.url;const a={};if(n!==""){a.resourcesUrl=new URL(".",n).href}return o(a)};i().then((async o=>{await a();return n([["p-9fcb498f",[[769,"ix-icon",{size:[1],color:[1],name:[1],lazyLoading:[4,"lazy-loading"],svgContent:[32],isVisible:[32]},null,{name:["loadIconContent"]}]]]],o)}));
2
2
  //# sourceMappingURL=ix-icons.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ix-icons.esm.js","sources":["node_modules/.pnpm/@stencil+core@4.37.1/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.37.1 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ix-icons.esm.js","sources":["node_modules/.pnpm/@stencil+core@4.38.3/node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v4.38.3 | MIT Licensed | https://stenciljs.com\n */\n\n// src/client/client-patch-browser.ts\nimport { BUILD, NAMESPACE } from \"@stencil/core/internal/app-data\";\nimport { consoleDevInfo, H, promiseResolve, win } from \"@stencil/core\";\nvar patchBrowser = () => {\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo(\"Running in development mode.\");\n }\n if (BUILD.cloneNodeFix) {\n patchCloneNodeFix(H.prototype);\n }\n const scriptElm = BUILD.scriptDataOpts ? win.document && Array.from(win.document.querySelectorAll(\"script\")).find(\n (s) => new RegExp(`/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) || s.getAttribute(\"data-stencil-namespace\") === NAMESPACE\n ) : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})[\"data-opts\"] || {} : {};\n if (importMeta !== \"\") {\n opts.resourcesUrl = new URL(\".\", importMeta).href;\n }\n return promiseResolve(opts);\n};\nvar patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function(deep) {\n if (this.nodeName === \"TEMPLATE\") {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport {\n patchBrowser\n};\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(async (options) => {\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;;AAKA,IAAI,YAAY,GAAG,MAAM;AAUzB,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG;AACpC,EAAE,MAAM,IAAI,GAAiE,EAAE;AAC/E,EAAE,IAAI,UAAU,KAAK,EAAE,EAAE;AACzB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI;AACrD;AACA,EAAE,OAAO,cAAc,CAAC,IAAI,CAAC;AAC7B,CAAC;;ACnBD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,OAAO,KAAK;AACvC,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D,CAAC,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ export{Icon as ix_icon}from"./index.esm.js";import"./p-CyicTMfq.js";
2
+ //# sourceMappingURL=p-9fcb498f.entry.js.map
@@ -0,0 +1,3 @@
1
+ const e="ix-icons";const t={hydratedSelectorName:"hydrated",lazyLoad:true,propChangeCallback:true,state:true,updatable:true};var n=Object.defineProperty;var r=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:true})};var i="http://www.w3.org/2000/svg";var s="http://www.w3.org/1999/xhtml";var o=(e,t)=>{var n;const r=t.t;const i=Object.entries((n=r.i)!=null?n:{});i.map((([n,[r]])=>{if(r&31||r&32){const r=e[n];const i=l(Object.getPrototypeOf(e),n)||Object.getOwnPropertyDescriptor(e,n);if(i){Object.defineProperty(e,n,{get(){return i.get.call(this)},set(e){i.set.call(this,e)},configurable:true,enumerable:true})}e[n]=t.o.has(n)?t.o.get(n):r}}))};function l(e,t){while(e){const n=Object.getOwnPropertyDescriptor(e,t);if(n==null?void 0:n.get)return n;e=Object.getPrototypeOf(e)}return void 0}var f=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var a=(e,n)=>{if(!n)return;e.__stencil__getHostRef=()=>n;n.l=e;if(n.t.u&512&&t.state){o(e,n)}};var c=(e,t)=>{const n={u:0,$hostElement$:e,t,o:new Map,v:new Map};{n.h=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}{n.m=[]}const r=n;e.__stencil__getHostRef=()=>r;return r};var u=(e,t)=>t in e;var v=(e,t)=>(0,console.error)(e,t);var d=new Map;var h=(e,t,n)=>{const r=e.$.replace(/-/g,"_");const i=e.S;if(!i){return void 0}const s=d.get(i);if(s){return s[r]}
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${i}.entry.js${""}`).then((e=>{{d.set(i,e)}return e[r]}),(e=>{v(e,t.$hostElement$)}))};var p=new Map;var m="{visibility:hidden}.hydrated{visibility:inherit}";var w="slot-fb{display:contents}slot-fb[hidden]{display:none}";var b=typeof window!=="undefined"?window:{};var y={u:0,j:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)};var g=e=>Promise.resolve(e);var $=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var S=$?(()=>!!b.document&&Object.getOwnPropertyDescriptor(b.document.adoptedStyleSheets,"length").writable)():false;var j=false;var O=[];var k=[];var C=(e,t)=>n=>{e.push(n);if(!j){j=true;if(t&&y.u&4){x(M)}else{y.raf(M)}}};var E=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){v(e)}}e.length=0};var M=()=>{E(O);{E(k);if(j=O.length>0){y.raf(M)}}};var x=e=>g().then(e);var U=C(k,true);var P=e=>{const t=new URL(e,y.j);return t.origin!==b.location.origin?t.href:t.pathname};var R=e=>y.j=e;var D=e=>{e=typeof e;return e==="object"||e==="function"};function L(e){var t,n,r;return(r=(n=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?r:void 0}var N=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");var W={};r(W,{err:()=>z,map:()=>H,ok:()=>A,unwrap:()=>T,unwrapErr:()=>V});var A=e=>({isOk:true,isErr:false,value:e});var z=e=>({isOk:false,isErr:true,value:e});function H(e,t){if(e.isOk){const n=t(e.value);if(n instanceof Promise){return n.then((e=>A(e)))}else{return A(n)}}if(e.isErr){const t=e.value;return z(t)}throw"should never get here"}var T=e=>{if(e.isOk){return e.value}else{throw e.value}};var V=e=>{if(e.isErr){return e.value}else{throw e.value}};function q(e){return void 0}var F;function I(e){var t;const n=this.attachShadow({mode:"open"});if(F===void 0)F=(t=q())!=null?t:null;if(F){if(S){n.adoptedStyleSheets.push(F)}else{n.adoptedStyleSheets=[...n.adoptedStyleSheets,F]}}}var G=(e,t="")=>{{return()=>{}}};var Y=(e,t)=>{{return()=>{}}};var _=new WeakMap;var B=(e,t,n)=>{let r=p.get(e);if($&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}p.set(e,r)};var J=(e,t,n)=>{var r;const i=Q(t);const s=p.get(i);if(!b.document){return i}e=e.nodeType===11?e:b.document;if(s){if(typeof s==="string"){e=e.head||e;let n=_.get(e);let o;if(!n){_.set(e,n=new Set)}if(!n.has(i)){{o=b.document.createElement("style");o.innerHTML=s;const n=(r=y.O)!=null?r:L(b.document);if(n!=null){o.setAttribute("nonce",n)}if(!(t.u&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(o,(n==null?void 0:n.parentNode)===e?n:null)}else if("host"in e){if($){const t=new CSSStyleSheet;t.replaceSync(s);if(S){e.adoptedStyleSheets.unshift(t)}else{e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}}else{const t=e.querySelector("style");if(t){t.innerHTML=s+t.innerHTML}else{e.prepend(o)}}}else{e.append(o)}}if(t.u&1){e.insertBefore(o,null)}}if(t.u&4){o.innerHTML+=w}if(n){n.add(i)}}}else if(!e.adoptedStyleSheets.includes(s)){if(S){e.adoptedStyleSheets.push(s)}else{e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]}}}return i};var K=e=>{const t=e.t;const n=e.$hostElement$;const r=t.u;const i=G("attachStyles",t.$);const s=J(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(r&10){n["s-sc"]=s;n.classList.add(s+"-h")}i()};var Q=(e,t)=>"sc-"+e.$;var X=(e,t,...n)=>{let r=null;let i=null;let s=false;let o=false;const l=[];const f=t=>{for(let n=0;n<t.length;n++){r=t[n];if(Array.isArray(r)){f(r)}else if(r!=null&&typeof r!=="boolean"){if(s=typeof e!=="function"&&!D(r)){r=String(r)}if(s&&o){l[l.length-1].k+=r}else{l.push(s?Z(null,r):r)}o=s}}};f(n);if(t){if(t.key){i=t.key}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}const a=Z(e,null);a.C=t;if(l.length>0){a.M=l}{a.U=i}return a};var Z=(e,t)=>{const n={u:0,P:e,k:t,R:null,M:null};{n.C=null}{n.U=null}return n};var ee={};var te=e=>e&&e.P===ee;var ne=e=>{const t=N(e);return new RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,"g")};ne("::slotted");ne(":host");ne(":host-context");var re=(e,t,n)=>{if(e!=null&&!D(e)){if(t&4){{return e==="false"?false:e===""||!!e}}if(t&1){return String(e)}return e}return e};var ie=e=>{var t;return(t=f(e))==null?void 0:t.$hostElement$};var se=(e,t,n)=>{const r=y.ce(t,n);e.dispatchEvent(r);return r};var oe=(e,t,n,r,i,s,o)=>{if(n===r){return}let l=u(e,t);t.toLowerCase();if(t==="class"){const t=e.classList;const i=fe(n);let s=fe(r);{t.remove(...i.filter((e=>e&&!s.includes(e))));t.add(...s.filter((e=>e&&!i.includes(e))))}}else if(t==="style"){{for(const t in n){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!n||r[t]!==n[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else{const o=D(r);if((l||o&&r!==null)&&!i){try{if(!e.tagName.includes("-")){const i=r==null?"":r;if(t==="list"){l=false}else if(n==null||e[t]!=i){if(typeof e.__lookupSetter__(t)==="function"){e[t]=i}else{e.setAttribute(t,i)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!l||s&4||i)&&!o&&e.nodeType===1){r=r===true?"":r;{e.setAttribute(t,r)}}}};var le=/\s/;var fe=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(le)};var ae=(e,t,n,r)=>{const i=t.R.nodeType===11&&t.R.host?t.R.host:t.R;const s=e&&e.C||{};const o=t.C||{};{for(const e of ce(Object.keys(s))){if(!(e in o)){oe(i,e,s[e],void 0,n,t.u)}}}for(const e of ce(Object.keys(o))){oe(i,e,s[e],o[e],n,t.u)}};function ce(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var ue;var ve=false;var de=(e,t,n)=>{const r=t.M[n];let o=0;let l;let f;{if(!ve){ve=r.P==="svg"}if(!b.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}l=r.R=b.document.createElementNS(ve?i:s,r.P);if(ve&&r.P==="foreignObject"){ve=false}{ae(null,r,ve)}if(r.M){for(o=0;o<r.M.length;++o){f=de(e,r,o);if(f){l.appendChild(f)}}}{if(r.P==="svg"){ve=false}else if(l.tagName==="foreignObject"){ve=true}}}l["s-hn"]=ue;return l};var he=(e,t,n,r,i,s)=>{let o=e;let l;if(o.shadowRoot&&o.tagName===ue){o=o.shadowRoot}for(;i<=s;++i){if(r[i]){l=de(null,n,i);if(l){r[i].R=l;ye(o,l,t)}}}};var pe=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.R;if(e){e.remove()}}}};var me=(e,t,n,r,i=false)=>{let s=0;let o=0;let l=0;let f=0;let a=t.length-1;let c=t[0];let u=t[a];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(s<=a&&o<=v){if(c==null){c=t[++s]}else if(u==null){u=t[--a]}else if(d==null){d=r[++o]}else if(h==null){h=r[--v]}else if(we(c,d,i)){be(c,d,i);c=t[++s];d=r[++o]}else if(we(u,h,i)){be(u,h,i);u=t[--a];h=r[--v]}else if(we(c,h,i)){be(c,h,i);ye(e,c.R,u.R.nextSibling);c=t[++s];h=r[--v]}else if(we(u,d,i)){be(u,d,i);ye(e,u.R,c.R);u=t[--a];d=r[++o]}else{l=-1;{for(f=s;f<=a;++f){if(t[f]&&t[f].U!==null&&t[f].U===d.U){l=f;break}}}if(l>=0){m=t[l];if(m.P!==d.P){p=de(t&&t[o],n,l)}else{be(m,d,i);t[l]=void 0;p=m.R}d=r[++o]}else{p=de(t&&t[o],n,o);d=r[++o]}if(p){{ye(c.R.parentNode,p,c.R)}}}}if(s>a){he(e,r[v+1]==null?null:r[v+1].R,n,r,o,v)}else if(o>v){pe(t,s,a)}};var we=(e,t,n=false)=>{if(e.P===t.P){if(!n){return e.U===t.U}if(n&&!e.U&&t.U){e.U=t.U}return true}return false};var be=(e,n,r=false)=>{const i=n.R=e.R;const s=e.M;const o=n.M;const l=n.P;{{ve=l==="svg"?true:l==="foreignObject"?false:ve}{ae(e,n,ve)}if(s!==null&&o!==null){me(i,s,n,o,r)}else if(o!==null){he(i,null,n,o,0,o.length-1)}else if(!r&&t.updatable&&s!==null){pe(s,0,s.length-1)}else;if(ve&&l==="svg"){ve=false}}};var ye=(e,t,n)=>{{return e==null?void 0:e.insertBefore(t,n)}};var ge=(e,t,n=false)=>{const r=e.$hostElement$;const i=e.D||Z(null,null);const s=te(t);const o=s?t:X(null,null,t);ue=r.tagName;if(n&&o.C){for(const e of Object.keys(o.C)){if(r.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){o.C[e]=r[e]}}}o.P=null;o.u|=4;e.D=o;o.R=i.R=r.shadowRoot||r;be(i,o,n)};var $e=(e,t)=>{if(t&&!e.L&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e.L=()=>{t["s-p"].splice(n-1,1);r()})))}};var Se=(e,t)=>{{e.u|=16}if(e.u&4){e.u|=512;return}$e(e,e.N);const n=()=>je(e,t);if(t){queueMicrotask((()=>{n()}));return}return U(n)};var je=(e,t)=>{const n=e.$hostElement$;const r=G("scheduleUpdate",e.t.$);const i=e.l;if(!i){throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let s;if(t){{if(e.m.length){e.m.forEach((e=>e(n)))}}s=Ue(i,"componentWillLoad",void 0,n)}else{s=Ue(i,"componentWillUpdate",void 0,n)}s=Oe(s,(()=>Ue(i,"componentWillRender",void 0,n)));r();return Oe(s,(()=>Ce(e,i,t)))};var Oe=(e,t)=>ke(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var ke=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var Ce=async(e,t,n)=>{var r;const i=e.$hostElement$;const s=G("update",e.t.$);const o=i["s-rc"];if(n){K(e)}const l=G("render",e.t.$);{Ee(e,t,i,n)}if(o){o.map((e=>e()));i["s-rc"]=void 0}l();s();{const t=(r=i["s-p"])!=null?r:[];const n=()=>Me(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.u|=4;t.length=0}}};var Ee=(e,t,n,r)=>{try{t=t.render();{e.u&=-17}{e.u|=2}{{{ge(e,t,r)}}}}catch(t){v(t,e.$hostElement$)}return null};var Me=e=>{const t=e.t.$;const n=e.$hostElement$;const r=G("postUpdate",t);const i=e.l;const s=e.N;Ue(i,"componentDidRender",void 0,n);if(!(e.u&64)){e.u|=64;{Pe(n)}Ue(i,"componentDidLoad",void 0,n);r();{e.p(n);if(!s){xe()}}}else{Ue(i,"componentDidUpdate",void 0,n);r()}{if(e.L){e.L();e.L=void 0}if(e.u&512){x((()=>Se(e,false)))}e.u&=-517}};var xe=t=>{x((()=>se(b,"appload",{detail:{namespace:e}})))};var Ue=(e,t,n,r)=>{if(e&&e[t]){try{return e[t](n)}catch(e){v(e,r)}}return void 0};var Pe=e=>{var n;return e.classList.add((n=t.hydratedSelectorName)!=null?n:"hydrated")};var Re=(e,t)=>f(e).o.get(t);var De=(e,t,n,r)=>{const i=f(e);if(!i){return}if(!i){throw new Error(`Couldn't find host element for "${r.$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`)}const s=i.$hostElement$;const o=i.o.get(t);const l=i.u;const a=i.l;n=re(n,r.i[t][0]);const c=Number.isNaN(o)&&Number.isNaN(n);const u=n!==o&&!c;if((!(l&8)||o===void 0)&&u){i.o.set(t,n);if(a){if(r.W&&l&128){const e=r.W[t];if(e){e.map((e=>{try{a[e](n,o,t)}catch(e){v(e,s)}}))}}if((l&(2|16))===2){if(a.componentShouldUpdate){if(a.componentShouldUpdate(n,o,t)===false){return}}Se(i,false)}}}};var Le=(e,n,r)=>{var i,s;const o=e.prototype;if(n.i||t.propChangeCallback){{if(e.watchers&&!n.W){n.W=e.watchers}if(e.deserializers&&!n.A){n.A=e.deserializers}if(e.serializers&&!n.H){n.H=e.serializers}}const l=Object.entries((i=n.i)!=null?i:{});l.map((([e,[t]])=>{if(t&31||r&2&&t&32){const{get:i,set:s}=Object.getOwnPropertyDescriptor(o,e)||{};if(i)n.i[e][0]|=2048;if(s)n.i[e][0]|=4096;if(r&1||!i){Object.defineProperty(o,e,{get(){{if((n.i[e][0]&2048)===0){return Re(this,e)}const t=f(this);const r=t?t.l:o;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(o,e,{set(i){const o=f(this);if(!o){return}if(s){const r=t&32?this[e]:o.$hostElement$[e];if(typeof r==="undefined"&&o.o.get(e)){i=o.o.get(e)}s.apply(this,[re(i,t)]);i=t&32?this[e]:o.$hostElement$[e];De(this,e,i,n);return}{if((r&1)===0||(n.i[e][0]&4096)===0){De(this,e,i,n);if(r&1&&!o.l){o.m.push((()=>{if(n.i[e][0]&4096&&o.l[e]!==o.o.get(e)){o.l[e]=i}}))}return}const s=()=>{const r=o.l[e];if(!o.o.get(e)&&r){o.o.set(e,r)}o.l[e]=re(i,t);De(this,e,o.l[e],n)};if(o.l){s()}else{o.m.push((()=>{s()}))}}}})}}));if(r&1){const r=new Map;o.attributeChangedCallback=function(e,i,s){y.jmp((()=>{var a;const c=r.get(e);const u=f(this);if(this.hasOwnProperty(c)&&t.lazyLoad){s=this[c];delete this[c]}if(o.hasOwnProperty(c)&&typeof this[c]==="number"&&this[c]==s){return}else if(c==null){const t=u==null?void 0:u.u;if(u&&t&&!(t&8)&&t&128&&s!==i){const t=u.l;const r=(a=n.W)==null?void 0:a[e];r==null?void 0:r.forEach((n=>{if(t[n]!=null){t[n].call(t,s,i,e)}}))}return}const v=l.find((([e])=>e===c));if(v&&v[1][0]&4){s=s===null||s==="false"?false:true}const d=Object.getOwnPropertyDescriptor(o,c);if(s!=this[c]&&(!d.get||!!d.set)){this[c]=s}}))};e.observedAttributes=Array.from(new Set([...Object.keys((s=n.W)!=null?s:{}),...l.filter((([e,t])=>t[0]&31)).map((([e,t])=>{const n=t[1]||e;r.set(n,e);return n}))]))}}return e};var Ne=async(e,t,n,r)=>{let i;if((t.u&32)===0){t.u|=32;const r=n.S;if(r){const r=h(n,t);if(r&&"then"in r){const e=Y();i=await r;e()}else{i=r}if(!i){throw new Error(`Constructor for "${n.$}#${t.T}" was not found`)}if(!i.isProxied){{n.W=i.watchers;n.H=i.serializers;n.A=i.deserializers}Le(i,n,2);i.isProxied=true}const s=G("createInstance",n.$);{t.u|=8}try{new i(t)}catch(t){v(t,e)}{t.u&=-9}{t.u|=128}s();We(t.l,e)}else{i=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.u|=128))}if(i&&i.style){let e;if(typeof i.style==="string"){e=i.style}const t=Q(n);if(!p.has(t)){const r=G("registerStyles",n.$);B(t,e,!!(n.u&1));r()}}}const s=t.N;const o=()=>Se(t,true);if(s&&s["s-rc"]){s["s-rc"].push(o)}else{o()}};var We=(e,t)=>{{Ue(e,"connectedCallback",void 0,t)}};var Ae=e=>{if((y.u&1)===0){const t=f(e);if(!t){return}const n=t.t;const r=G("connectedCallback",n.$);if(!(t.u&1)){t.u|=1;{let n=e;while(n=n.parentNode||n.host){if(n["s-p"]){$e(t,t.N=n);break}}}if(n.i){Object.entries(n.i).map((([t,[n]])=>{if(n&31&&t in e&&e[t]!==Object.prototype[t]){const n=e[t];delete e[t];e[t]=n}}))}{Ne(e,t,n)}}else{if(t==null?void 0:t.l){We(t.l,e)}else if(t==null?void 0:t.h){t.h.then((()=>We(t.l,e)))}}r()}};var ze=(e,t)=>{{Ue(e,"disconnectedCallback",void 0,t||e)}};var He=async e=>{if((y.u&1)===0){const t=f(e);if(t==null?void 0:t.l){ze(t.l,e)}else if(t==null?void 0:t.h){t.h.then((()=>ze(t.l,e)))}}if(_.has(e)){_.delete(e)}if(e.shadowRoot&&_.has(e.shadowRoot)){_.delete(e.shadowRoot)}};var Te=(e,t={})=>{var n;if(!b.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=G();const i=[];const s=t.exclude||[];const o=b.customElements;const l=b.document.head;const a=l.querySelector("meta[charset]");const u=b.document.createElement("style");const v=[];let d;let h=true;Object.assign(y,t);y.j=new URL(t.resourcesUrl||"./",b.document.baseURI).href;let p=false;e.map((e=>{e[1].map((t=>{var n,r,l;const a={u:t[0],$:t[1],i:t[2],V:t[3]};if(a.u&4){p=true}{a.i=t[2]}{a.W=(n=t[4])!=null?n:{};a.H=(r=t[5])!=null?r:{};a.A=(l=t[6])!=null?l:{}}const u=a.$;const m=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;c(e,a);if(a.u&1){{if(!e.shadowRoot){I.call(e,a)}else{if(e.shadowRoot.mode!=="open"){throw new Error(`Unable to re-use existing shadow root for ${a.$}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}}}}connectedCallback(){const e=f(this);if(!e){return}if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true}if(d){clearTimeout(d);d=null}if(h){v.push(this)}else{y.jmp((()=>Ae(this)))}}disconnectedCallback(){y.jmp((()=>He(this)));y.raf((()=>{var e;const t=f(this);if(!t){return}const n=v.findIndex((e=>e===this));if(n>-1){v.splice(n,1)}if(((e=t==null?void 0:t.D)==null?void 0:e.R)instanceof Node&&!t.D.R.isConnected){delete t.D.R}}))}componentOnReady(){var e;return(e=f(this))==null?void 0:e.h}};a.S=e[0];if(!s.includes(u)&&!o.get(u)){i.push(u);o.define(u,Le(m,a,1))}}))}));if(i.length>0){if(p){u.textContent+=w}{u.textContent+=i.sort()+m}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(n=y.O)!=null?n:L(b.document);if(e!=null){u.setAttribute("nonce",e)}l.insertBefore(u,a?a.nextSibling:l.firstChild)}}h=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{y.jmp((()=>d=setTimeout(xe,30)))}}r()};var Ve=e=>y.O=e;export{ee as H,ie as a,Te as b,R as c,P as g,X as h,g as p,a as r,Ve as s};
3
+ //# sourceMappingURL=p-CyicTMfq.js.map