vadivam-angular 0.0.51 → 0.0.53

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 (112) hide show
  1. package/README.md +1 -1
  2. package/dist/fesm2022/vadivam-angular-core-BAHrSm4q.mjs.map +1 -1
  3. package/dist/fesm2022/vadivam-angular.mjs +3694 -1264
  4. package/dist/fesm2022/vadivam-angular.mjs.map +1 -1
  5. package/dist/icons/boom-box.d.ts +1 -0
  6. package/dist/icons/boom-box.js +1 -0
  7. package/dist/icons/bot-off.d.ts +1 -0
  8. package/dist/icons/bot-off.js +1 -0
  9. package/dist/icons/bottle-wine.d.ts +1 -0
  10. package/dist/icons/bottle-wine.js +1 -0
  11. package/dist/icons/bow-arrow.d.ts +1 -0
  12. package/dist/icons/bow-arrow.js +1 -0
  13. package/dist/icons/brackets.d.ts +1 -0
  14. package/dist/icons/brackets.js +1 -0
  15. package/dist/icons/brain-cog.d.ts +1 -0
  16. package/dist/icons/brain-cog.js +1 -0
  17. package/dist/icons/brain-off.d.ts +1 -0
  18. package/dist/icons/brain-off.js +1 -0
  19. package/dist/icons/brick-wall-fire.d.ts +1 -0
  20. package/dist/icons/brick-wall-fire.js +1 -0
  21. package/dist/icons/brick-wall-shield.d.ts +1 -0
  22. package/dist/icons/brick-wall-shield.js +1 -0
  23. package/dist/icons/brick-wall.d.ts +1 -0
  24. package/dist/icons/brick-wall.js +1 -0
  25. package/dist/icons/bridge.d.ts +1 -0
  26. package/dist/icons/bridge.js +1 -0
  27. package/dist/icons/briefcase-conveyor-belt.d.ts +1 -0
  28. package/dist/icons/briefcase-conveyor-belt.js +1 -0
  29. package/dist/icons/briefcase-medical.d.ts +1 -0
  30. package/dist/icons/briefcase-medical.js +1 -0
  31. package/dist/icons/briefcase-plus.d.ts +1 -0
  32. package/dist/icons/briefcase-plus.js +1 -0
  33. package/dist/icons/bring-to-front.d.ts +1 -0
  34. package/dist/icons/bring-to-front.js +1 -0
  35. package/dist/icons/broccoli.d.ts +1 -0
  36. package/dist/icons/broccoli.js +1 -0
  37. package/dist/icons/broom-sparkles.d.ts +1 -0
  38. package/dist/icons/broom-sparkles.js +1 -0
  39. package/dist/icons/broom.d.ts +1 -0
  40. package/dist/icons/broom.js +1 -0
  41. package/dist/icons/brush.d.ts +1 -0
  42. package/dist/icons/brush.js +1 -0
  43. package/dist/icons/bubbles.d.ts +1 -0
  44. package/dist/icons/bubbles.js +1 -0
  45. package/dist/icons/bug-off.d.ts +1 -0
  46. package/dist/icons/bug-off.js +1 -0
  47. package/dist/icons/bug-play.d.ts +1 -0
  48. package/dist/icons/bug-play.js +1 -0
  49. package/dist/icons/building-complex-plus.d.ts +1 -0
  50. package/dist/icons/building-complex-plus.js +1 -0
  51. package/dist/icons/bus-front.d.ts +1 -0
  52. package/dist/icons/bus-front.js +1 -0
  53. package/dist/icons/bus.d.ts +1 -0
  54. package/dist/icons/bus.js +1 -0
  55. package/dist/icons/cable-car.d.ts +1 -0
  56. package/dist/icons/cable-car.js +1 -0
  57. package/dist/icons/cake-slice.d.ts +1 -0
  58. package/dist/icons/cake-slice.js +1 -0
  59. package/dist/icons/cake.d.ts +1 -0
  60. package/dist/icons/cake.js +1 -0
  61. package/dist/icons/calendar-arrow-down.d.ts +1 -0
  62. package/dist/icons/calendar-arrow-down.js +1 -0
  63. package/dist/icons/calendar-arrow-up.d.ts +1 -0
  64. package/dist/icons/calendar-arrow-up.js +1 -0
  65. package/dist/icons/calendar-check-2.d.ts +1 -0
  66. package/dist/icons/calendar-check-2.js +1 -0
  67. package/dist/icons/calendar-chevrons-left.d.ts +1 -0
  68. package/dist/icons/calendar-chevrons-left.js +1 -0
  69. package/dist/icons/calendar-chevrons-right.d.ts +1 -0
  70. package/dist/icons/calendar-chevrons-right.js +1 -0
  71. package/dist/icons/calendar-cog.d.ts +1 -0
  72. package/dist/icons/calendar-cog.js +1 -0
  73. package/dist/icons/calendar-fold.d.ts +1 -0
  74. package/dist/icons/calendar-fold.js +1 -0
  75. package/dist/icons/calendar-heart.d.ts +1 -0
  76. package/dist/icons/calendar-heart.js +1 -0
  77. package/dist/icons/calendar-minus-2.d.ts +1 -0
  78. package/dist/icons/calendar-minus-2.js +1 -0
  79. package/dist/icons/calendar-off.d.ts +1 -0
  80. package/dist/icons/calendar-off.js +1 -0
  81. package/dist/icons/calendar-plus-2.d.ts +1 -0
  82. package/dist/icons/calendar-plus-2.js +1 -0
  83. package/dist/icons/calendar-search.d.ts +1 -0
  84. package/dist/icons/calendar-search.js +1 -0
  85. package/dist/icons/calendar-x-2.d.ts +1 -0
  86. package/dist/icons/calendar-x-2.js +1 -0
  87. package/dist/icons/calendar-x.d.ts +1 -0
  88. package/dist/icons/calendar-x.js +1 -0
  89. package/dist/icons/calendars.d.ts +1 -0
  90. package/dist/icons/calendars.js +1 -0
  91. package/dist/icons/camera-off.d.ts +1 -0
  92. package/dist/icons/camera-off.js +1 -0
  93. package/dist/icons/can-soda.d.ts +1 -0
  94. package/dist/icons/can-soda.js +1 -0
  95. package/dist/icons/can.d.ts +1 -0
  96. package/dist/icons/can.js +1 -0
  97. package/dist/icons/candy-cane.d.ts +1 -0
  98. package/dist/icons/candy-cane.js +1 -0
  99. package/dist/icons/candy-off.d.ts +1 -0
  100. package/dist/icons/candy-off.js +1 -0
  101. package/dist/icons/candy.d.ts +1 -0
  102. package/dist/icons/candy.js +1 -0
  103. package/dist/icons/cannabis-off.d.ts +1 -0
  104. package/dist/icons/cannabis-off.js +1 -0
  105. package/dist/icons/cannabis.d.ts +1 -0
  106. package/dist/icons/cannabis.js +1 -0
  107. package/dist/icons/captions-off.d.ts +1 -0
  108. package/dist/icons/captions-off.js +1 -0
  109. package/dist/icons/car-battery.d.ts +1 -0
  110. package/dist/icons/car-battery.js +1 -0
  111. package/dist/types/vadivam-angular.d.ts +1197 -508
  112. package/package.json +1 -1
package/README.md CHANGED
@@ -8,7 +8,7 @@ Tree-shakeable 24px outline SVG icon directives for Angular.
8
8
  [![downloads](https://img.shields.io/npm/dw/vadivam-angular?style=flat-square&color=666)](https://www.npmjs.com/package/vadivam-angular)
9
9
  [![license](https://img.shields.io/npm/l/vadivam-angular?style=flat-square&color=111)](https://github.com/praveenjuge/vadivam/blob/main/LICENSE)
10
10
 
11
- ![All Vadivam icons](https://raw.githubusercontent.com/praveenjuge/vadivam/main/apps/docs/public/preview.png?v=0.0.51)
11
+ ![All Vadivam icons](https://raw.githubusercontent.com/praveenjuge/vadivam/main/apps/docs/public/preview.png?v=0.0.53)
12
12
 
13
13
  ```sh
14
14
  npm install vadivam-angular
@@ -1 +1 @@
1
- {"version":3,"file":"vadivam-angular-core-BAHrSm4q.mjs","names":[],"sources":["../../.generated/src/runtime-policy.ts","../../.generated/src/core.ts"],"sourcesContent":["export type SVGElementType = \"circle\" | \"ellipse\" | \"line\" | \"path\" | \"polygon\" | \"polyline\" | \"rect\";\nexport type IconNode = readonly [tag: SVGElementType, attrs: Record<string, string | number | boolean>][];\nconst SAFE_ICON_TAGS = new Set([\"circle\",\"ellipse\",\"line\",\"path\",\"polygon\",\"polyline\",\"rect\"]);\nconst GEOMETRY_ATTRIBUTES = {\n circle: new Set([\"cx\", \"cy\", \"r\"]),\n ellipse: new Set([\"cx\", \"cy\", \"rx\", \"ry\"]),\n line: new Set([\"x1\", \"y1\", \"x2\", \"y2\"]),\n path: new Set([\"d\", \"pathLength\"]),\n polygon: new Set([\"points\", \"pathLength\"]),\n polyline: new Set([\"points\", \"pathLength\"]),\n rect: new Set([\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\", \"pathLength\"]),\n};\nconst PRESENTATION_ATTRIBUTES = new Set([\n \"class\", \"className\", \"id\", \"role\", \"key\", \"opacity\", \"transform\",\n \"clip-rule\", \"clipRule\", \"fill\", \"fill-opacity\", \"fillOpacity\", \"fill-rule\", \"fillRule\",\n \"shape-rendering\", \"shapeRendering\", \"stroke\", \"stroke-dasharray\", \"strokeDasharray\",\n \"stroke-dashoffset\", \"strokeDashoffset\", \"stroke-linecap\", \"strokeLinecap\",\n \"stroke-linejoin\", \"strokeLinejoin\", \"stroke-miterlimit\", \"strokeMiterlimit\",\n \"stroke-opacity\", \"strokeOpacity\", \"stroke-width\", \"strokeWidth\", \"vector-effect\", \"vectorEffect\",\n]);\nconst SAFE_ATTRIBUTE_NAME = /^[A-Za-z_][A-Za-z0-9_.-]*$/;\nconst SAFE_DATA_ATTRIBUTE = /^data-[A-Za-z0-9_.-]+$/;\nconst SAFE_ARIA_ATTRIBUTE = /^aria-[A-Za-z0-9_.-]+$/;\nconst SAFE_STYLE_NAME = /^(?:--[A-Za-z0-9_-]+|[A-Za-z_][A-Za-z0-9_-]*)$/;\nconst SAFE_EVENT_NAME = /^on(?::[A-Za-z][A-Za-z0-9_.-]*|[A-Za-z][A-Za-z0-9_.-]*)$/;\nconst UNSAFE_ROOT_ATTRIBUTE = /^(?:dangerouslySetInnerHTML|innerHTML|innerText|textContent|children|href|xlinkHref|src|srcdoc)$/i;\nconst URL_VALUE_ATTRIBUTE = /^(?:fill|stroke|filter|clipPath|clip-path|mask|marker|markerStart|marker-start|markerMid|marker-mid|markerEnd|marker-end|cursor)$/;\nconst SCRIPT_SCHEME = /(?:java|vb)script\\s*:/i;\nconst URL_FUNCTION = /url\\s*\\(/i;\nconst COMPLETE_URL_FUNCTION = /url\\s*\\(\\s*([\"']?)([^\"')\\s]+)\\1\\s*\\)/gi;\nconst EXTERNAL_SCHEME = /(?:https?|data|blob|file|ftp)\\s*:/i;\nconst CSS_ESCAPE = /\\\\/;\nconst CSS_RESOURCE_FUNCTION = /(?:image-set|cross-fade|image|src)\\s*\\(/i;\nconst CSS_IMPORT = /@import\\b/i;\nconst MAX_ICON_DEPTH = 32;\nconst MAX_ICON_NODES = 1024;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isSafeValue(name: string, value: unknown): value is string | number | boolean {\n if (value === undefined || value === null || typeof value === \"function\") return false;\n if (typeof value === \"object\") return false;\n if (typeof value === \"string\" && SCRIPT_SCHEME.test(value)) return false;\n if ((name === \"fill\" || name === \"stroke\") && typeof value === \"string\" && hasExternalUrl(value)) return false;\n return typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n}\n\nfunction hasExternalUrl(value: string) {\n if (!URL_FUNCTION.test(value)) return false;\n COMPLETE_URL_FUNCTION.lastIndex = 0;\n let matched = false;\n let match: RegExpExecArray | null;\n while ((match = COMPLETE_URL_FUNCTION.exec(value)) !== null) {\n matched = true;\n if (!match[2].startsWith(\"#\")) return true;\n }\n return !matched;\n}\n\nfunction hasUnsafeStyleValue(value: string) {\n return SCRIPT_SCHEME.test(value) || EXTERNAL_SCHEME.test(value) || CSS_ESCAPE.test(value) ||\n CSS_RESOURCE_FUNCTION.test(value) || CSS_IMPORT.test(value) || hasExternalUrl(value);\n}\n\nfunction isSafeIconAttribute(tag: SVGElementType, name: string) {\n return SAFE_ATTRIBUTE_NAME.test(name) && (\n GEOMETRY_ATTRIBUTES[tag]?.has(name) ||\n PRESENTATION_ATTRIBUTES.has(name) ||\n SAFE_DATA_ATTRIBUTE.test(name) ||\n SAFE_ARIA_ATTRIBUTE.test(name)\n );\n}\n\nfunction sanitizeStyle(value: unknown): unknown {\n if (typeof value === \"string\") return hasUnsafeStyleValue(value) ? undefined : value;\n if (Array.isArray(value)) {\n const safeValues = value.map(sanitizeStyle).filter((entry) => entry !== undefined);\n return safeValues.length ? safeValues : undefined;\n }\n if (!isRecord(value)) return undefined;\n const safeStyle: Record<string, string | number> = {};\n for (const [name, entry] of Object.entries(value)) {\n if (!SAFE_STYLE_NAME.test(name) || (typeof entry !== \"string\" && typeof entry !== \"number\")) continue;\n if (typeof entry === \"string\" && hasUnsafeStyleValue(entry)) continue;\n safeStyle[name] = entry;\n }\n return Object.keys(safeStyle).length ? safeStyle : undefined;\n}\n\nfunction safeRootValue(name: string, value: unknown): unknown {\n if (name === \"style\") return sanitizeStyle(value);\n if (value === undefined || value === null || typeof value === \"object\" || typeof value === \"function\") return undefined;\n if (typeof value === \"string\" && URL_VALUE_ATTRIBUTE.test(name) && (SCRIPT_SCHEME.test(value) || hasExternalUrl(value))) return undefined;\n return value;\n}\n\nexport function sanitizePaint(value: unknown, fallback = \"currentColor\") {\n const safeValue = safeRootValue(\"stroke\", value);\n return typeof safeValue === \"string\" || typeof safeValue === \"number\" ? safeValue : fallback;\n}\n\nfunction sanitizeNodes(iconNode: unknown, activeArrays: WeakSet<object>, state: { count: number }, depth: number): IconNode {\n if (!Array.isArray(iconNode) || depth > MAX_ICON_DEPTH || activeArrays.has(iconNode)) return [];\n activeArrays.add(iconNode);\n const safeNodes: [SVGElementType, Record<string, string | number | boolean>][] = [];\n for (const node of iconNode) {\n state.count += 1;\n if (state.count > MAX_ICON_NODES) break;\n if (!Array.isArray(node) || typeof node[0] !== \"string\" || !SAFE_ICON_TAGS.has(node[0]) || !isRecord(node[1])) continue;\n const [tag, attrs, children] = node as [SVGElementType, Record<string, unknown>, unknown?];\n const safeAttrs: Record<string, string | number | boolean> = {};\n for (const [name, value] of Object.entries(attrs)) {\n if (isSafeIconAttribute(tag, name) && isSafeValue(name, value)) safeAttrs[name] = value;\n }\n safeNodes.push([tag, safeAttrs]);\n }\n activeArrays.delete(iconNode);\n return safeNodes;\n}\n\nexport function sanitizeIconNode(iconNode: unknown): IconNode {\n return sanitizeNodes(iconNode, new WeakSet(), { count: 0 }, 0);\n}\n\nexport function sanitizeRootAttributes(attrs: unknown, allowEventFunctions = false): Record<string, unknown> {\n if (!isRecord(attrs)) return {};\n const safeAttrs: Record<string, unknown> = {};\n for (const name of Object.keys(attrs)) {\n const value = attrs[name];\n if (/^on/i.test(name)) {\n if (allowEventFunctions && typeof value === \"function\" && SAFE_EVENT_NAME.test(name)) {\n Object.defineProperty(safeAttrs, name, { enumerable: true, get: () => typeof attrs[name] === \"function\" ? attrs[name] : undefined });\n }\n continue;\n }\n if (!SAFE_ATTRIBUTE_NAME.test(name) || UNSAFE_ROOT_ATTRIBUTE.test(name) || /^prop/i.test(name)) continue;\n if (safeRootValue(name, value) === undefined) continue;\n Object.defineProperty(safeAttrs, name, { enumerable: true, get: () => safeRootValue(name, attrs[name]) });\n }\n return safeAttrs;\n}\n","import { Directive, ElementRef, effect, inject, InjectionToken, input, Provider, Renderer2 } from \"@angular/core\";\nimport { sanitizeIconNode, sanitizePaint } from \"./runtime-policy\";\nimport type { IconNode, SVGElementType } from \"./runtime-policy\";\nexport type { IconNode, SVGElementType } from \"./runtime-policy\";\nexport interface VadivamIconData { name: string; iconNode: IconNode; }\nexport interface VadivamConfig { size?: string | number; color?: string; strokeWidth?: string | number; absoluteStrokeWidth?: boolean; class?: string; }\nexport type IconName = \"a-arrow-down\" | \"a-arrow-up\" | \"a-large-small\" | \"accessibility\" | \"activity\" | \"ad\" | \"air-vent\" | \"airplay\" | \"alarm-clock-check\" | \"alarm-clock-minus\" | \"alarm-clock-off\" | \"alarm-clock-plus\" | \"alarm-clock\" | \"alarm-smoke\" | \"align-center-horizontal\" | \"align-center-vertical\" | \"align-end-horizontal\" | \"align-end-vertical\" | \"align-horizontal-distribute-center\" | \"align-horizontal-distribute-end\" | \"align-horizontal-distribute-start\" | \"align-horizontal-justify-center\" | \"align-horizontal-justify-end\" | \"align-horizontal-justify-start\" | \"align-horizontal-space-around\" | \"align-horizontal-space-between\" | \"align-start-horizontal\" | \"align-start-vertical\" | \"align-vertical-distribute-center\" | \"align-vertical-distribute-end\" | \"align-vertical-distribute-start\" | \"align-vertical-justify-center\" | \"align-vertical-justify-end\" | \"align-vertical-justify-start\" | \"align-vertical-space-around\" | \"align-vertical-space-between\" | \"ambulance\" | \"ampersand\" | \"ampersands\" | \"amphora\" | \"anchor\" | \"angle\" | \"antenna\" | \"anvil\" | \"aperture\" | \"app-window-mac\" | \"app-window\" | \"apple\" | \"archive-restore\" | \"archive-x\" | \"archive\" | \"armchair\" | \"armenian-dram\" | \"arrow-big-down-dash\" | \"arrow-big-down\" | \"arrow-big-left-dash\" | \"arrow-big-left\" | \"arrow-big-right-dash\" | \"arrow-big-right\" | \"arrow-big-up-dash\" | \"arrow-big-up\" | \"arrow-down-0-1\" | \"arrow-down-1-0\" | \"arrow-down-a-z\" | \"arrow-down-from-line\" | \"arrow-down-left\" | \"arrow-down-narrow-wide\" | \"arrow-down-right\" | \"arrow-down-to-dot\" | \"arrow-down-to-line\" | \"arrow-down-up\" | \"arrow-down-wide-narrow\" | \"arrow-down-z-a\" | \"arrow-down\" | \"arrow-left-from-line\" | \"arrow-left-right\" | \"arrow-left-to-line\" | \"arrow-left\" | \"arrow-right-from-line\" | \"arrow-right-left\" | \"arrow-right-to-line\" | \"arrow-right\" | \"arrow-up-0-1\" | \"arrow-up-1-0\" | \"arrow-up-a-z\" | \"arrow-up-down\" | \"arrow-up-from-dot\" | \"arrow-up-from-line\" | \"arrow-up-left\" | \"arrow-up-narrow-wide\" | \"arrow-up-right\" | \"arrow-up-to-line\" | \"arrow-up-wide-narrow\" | \"arrow-up-z-a\" | \"arrow-up\" | \"arrows-up-from-line\" | \"asterisk\" | \"astroid\" | \"at-sign\" | \"atom\" | \"audio-lines-off\" | \"audio-lines-x\" | \"audio-lines\" | \"audio-waveform\" | \"avocado\" | \"award\" | \"axe\" | \"axis-3d\" | \"baby\" | \"backpack\" | \"bacon\" | \"badge-alert\" | \"badge-cent\" | \"badge-check\" | \"badge-dollar-sign\" | \"badge-euro\" | \"badge-indian-rupee\" | \"badge-info\" | \"badge-japanese-yen\" | \"badge-minus\" | \"badge-percent\" | \"badge-plus\" | \"badge-pound-sterling\" | \"badge-question-mark\" | \"badge-russian-ruble\" | \"badge-swiss-franc\" | \"badge-turkish-lira\" | \"badge-x\" | \"badge\" | \"baggage-claim\" | \"balloon\" | \"ban\" | \"banana\" | \"bandage\" | \"bangladeshi-taka\" | \"banknote-arrow-down\" | \"banknote-arrow-up\" | \"banknote-check\" | \"banknote-x\" | \"banknote\" | \"barcode\" | \"barrel\" | \"baseline\" | \"bath\" | \"battery-charging\" | \"battery-full\" | \"battery-low\" | \"battery-medium\" | \"battery-plus\" | \"battery-warning\" | \"battery\" | \"beaker\" | \"bean-off\" | \"bean\" | \"bed-double\" | \"bed-single\" | \"bed\" | \"beef-off\" | \"beef\" | \"beer-off\" | \"beer\" | \"belarusian-ruble\" | \"bell-check\" | \"bell-dot\" | \"bell-electric\" | \"bell-minus\" | \"bell-off\" | \"bell-plus\" | \"bell-ring\" | \"bell\" | \"between-horizontal-end\" | \"between-horizontal-start\" | \"between-vertical-end\" | \"between-vertical-start\" | \"biceps-flexed\" | \"bike\" | \"binary\" | \"binoculars\" | \"biohazard\" | \"bird\" | \"birdhouse\" | \"bitcoin\" | \"blend\" | \"blender\" | \"blinds\" | \"blocks\" | \"bluetooth-connected\" | \"bluetooth-off\" | \"bluetooth-searching\" | \"bluetooth\" | \"bold\" | \"bolt\" | \"bomb\" | \"bone-fracture\" | \"bone\" | \"book-a\" | \"book-alert\" | \"book-audio\" | \"book-bookmark\" | \"book-check\" | \"book-copy\" | \"book-dashed\" | \"book-down\" | \"book-headphones\" | \"book-heart\" | \"book-image\" | \"book-key\" | \"book-lock\" | \"book-minus\" | \"book-open-check\" | \"book-open-text\" | \"book-open\" | \"book-plus\" | \"book-search\" | \"book-text\" | \"book-type\" | \"book-up-2\" | \"book-up\" | \"book-user\" | \"book-x\" | \"book\" | \"bookmark-check\" | \"bookmark-minus\" | \"bookmark-off\" | \"bookmark-plus\" | \"bookmark-x\" | \"bookmark\" | \"bot-message-square\" | \"bot\" | \"box\" | \"boxes\" | \"braces\" | \"brain-circuit\" | \"brain\" | \"briefcase-business\" | \"briefcase\" | \"brush-cleaning\" | \"bug\" | \"building-complex\" | \"building\" | \"cable\" | \"calculator\" | \"calendar-1\" | \"calendar-check\" | \"calendar-clock\" | \"calendar-days\" | \"calendar-minus\" | \"calendar-plus\" | \"calendar-range\" | \"calendar-sync\" | \"calendar\" | \"camera\" | \"captions\" | \"car-front\" | \"car\" | \"chart-area\" | \"chart-bar\" | \"chart-candlestick\" | \"chart-column-big\" | \"chart-column\" | \"chart-line\" | \"chart-no-axes-column\" | \"chart-no-axes-combined\" | \"chart-pie\" | \"chart-spline\" | \"check-check\" | \"check\" | \"chef-hat\" | \"chevron-down\" | \"chevron-left\" | \"chevron-right\" | \"chevron-up\" | \"chevrons-down\" | \"chevrons-left\" | \"chevrons-right\" | \"chevrons-up-down\" | \"circle-alert\" | \"circle-arrow-down\" | \"circle-arrow-left\" | \"circle-arrow-right\" | \"circle-arrow-up\" | \"circle-check-big\" | \"circle-check\" | \"circle-chevron-right\" | \"circle-dashed\" | \"circle-dollar-sign\" | \"circle-dot-dashed\" | \"circle-dot\" | \"circle-ellipsis\" | \"circle-fading-arrow-up\" | \"circle-fading-plus\" | \"circle-gauge\" | \"circle-minus\" | \"circle-off\" | \"circle-play\" | \"circle-plus\" | \"circle-question-mark\" | \"circle-star\" | \"circle-stop\" | \"circle-user-round\" | \"circle-user\" | \"circle-x\" | \"circle\" | \"clapperboard\" | \"clipboard-check\" | \"clipboard-clock\" | \"clipboard-list\" | \"clipboard-paste\" | \"clipboard\" | \"clock-1\" | \"clock-10\" | \"clock-11\" | \"clock-12\" | \"clock-2\" | \"clock-3\" | \"clock-4\" | \"clock-5\" | \"clock-6\" | \"clock-7\" | \"clock-8\" | \"clock-9\" | \"clock-fading\" | \"clock\" | \"cloud-download\" | \"cloud-upload\" | \"cloud\" | \"code-xml\" | \"code\" | \"coffee\" | \"cog\" | \"coins\" | \"columns-2\" | \"columns-3-cog\" | \"columns-3\" | \"columns-4\" | \"command\" | \"compass\" | \"component\" | \"contact\" | \"container\" | \"copy-plus\" | \"copy\" | \"corner-down-left\" | \"corner-down-right\" | \"corner-left-down\" | \"corner-left-up\" | \"corner-right-down\" | \"corner-right-up\" | \"corner-up-left\" | \"corner-up-right\" | \"cpu\" | \"credit-card\" | \"cross\" | \"crosshair\" | \"crown\" | \"database\" | \"delete\" | \"dollar-sign\" | \"door-open\" | \"dot\" | \"download\" | \"droplet\" | \"droplets\" | \"dumbbell\" | \"earth\" | \"eighth-notes\" | \"ellipsis-vertical\" | \"ellipsis\" | \"eraser\" | \"expand\" | \"external-link\" | \"eye-closed\" | \"eye-off\" | \"eye\" | \"face-angry\" | \"face-expressionless\" | \"face-slightly-smiling\" | \"factory\" | \"feather\" | \"file-archive\" | \"file-chart-column-increasing\" | \"file-chart-column\" | \"file-check\" | \"file-code\" | \"file-down\" | \"file-exclamation-point\" | \"file-image\" | \"file-minus-corner\" | \"file-minus\" | \"file-pen-line\" | \"file-plus-corner\" | \"file-plus\" | \"file-question-mark\" | \"file-search-corner\" | \"file-search\" | \"file-spreadsheet\" | \"file-text\" | \"file-up\" | \"file-user\" | \"file\" | \"files\" | \"film\" | \"fingerprint-pattern\" | \"flag-triangle-left\" | \"flag-triangle-right\" | \"flag\" | \"flame\" | \"flask-conical\" | \"folder-code\" | \"folder-kanban\" | \"folder-open\" | \"folder-plus\" | \"folder-search-2\" | \"folder-search\" | \"folder\" | \"footprints\" | \"forward\" | \"frame\" | \"fullscreen\" | \"funnel\" | \"gallery-horizontal-end\" | \"gallery-horizontal\" | \"gallery-thumbnails\" | \"gallery-vertical-end\" | \"gallery-vertical\" | \"gamepad-2\" | \"gauge\" | \"gem\" | \"gift\" | \"git-branch-minus\" | \"git-branch-plus\" | \"git-branch\" | \"git-commit-horizontal\" | \"git-commit-vertical\" | \"globe\" | \"goal\" | \"graduation-cap\" | \"grid-2x2\" | \"grip-horizontal\" | \"grip-vertical\" | \"grip\" | \"group\" | \"hamburger\" | \"hammer\" | \"hand-coins\" | \"hand-heart\" | \"hand\" | \"handbag\" | \"handshake\" | \"hard-drive\" | \"hash\" | \"hat-glasses\" | \"heading-1\" | \"heading-2\" | \"heading-3\" | \"heading-4\" | \"heading-5\" | \"heading-6\" | \"heading\" | \"headset\" | \"heart-handshake\" | \"heart-plus\" | \"heart-pulse\" | \"heart\" | \"hexagon\" | \"hospital\" | \"hourglass\" | \"house\" | \"id-card-lanyard\" | \"id-card\" | \"image-plus\" | \"image-up\" | \"image\" | \"images\" | \"import\" | \"inbox\" | \"indian-rupee\" | \"infinity\" | \"info\" | \"italic\" | \"key-round\" | \"key\" | \"keyboard\" | \"land-plot\" | \"landmark\" | \"languages\" | \"laptop\" | \"layers-2\" | \"layers\" | \"layout-dashboard\" | \"layout-grid\" | \"layout-list\" | \"layout-template\" | \"leaf\" | \"library-big\" | \"library\" | \"life-buoy\" | \"lightbulb\" | \"link-2\" | \"link\" | \"list-check\" | \"list-checks\" | \"list-filter\" | \"list-ordered\" | \"list-todo\" | \"list\" | \"loader-circle\" | \"loader\" | \"locate-fixed\" | \"locate\" | \"lock-keyhole\" | \"lock-open\" | \"lock\" | \"log-in\" | \"log-out\" | \"logs\" | \"mail-check\" | \"mail\" | \"map-pin-house\" | \"map-pin\" | \"map-pinned\" | \"map\" | \"maximize-2\" | \"maximize\" | \"medal\" | \"megaphone\" | \"menu\" | \"message-circle-dashed\" | \"message-circle-more\" | \"message-circle-question-mark\" | \"message-circle-warning\" | \"message-circle\" | \"message-square-more\" | \"message-square-text\" | \"message-square\" | \"messages-square\" | \"mic\" | \"minimize-2\" | \"minimize\" | \"minus\" | \"monitor-cog\" | \"monitor-smartphone\" | \"monitor\" | \"moon\" | \"mouse-pointer-2\" | \"mouse-pointer-click\" | \"mouse-pointer\" | \"move-down\" | \"move-left\" | \"move-right\" | \"move-up-right\" | \"move-up\" | \"navigation\" | \"network\" | \"newspaper\" | \"notebook-pen\" | \"notebook-text\" | \"notepad-text\" | \"octagon-alert\" | \"octagon-x\" | \"package-check\" | \"package-open\" | \"package-search\" | \"package\" | \"paintbrush\" | \"palette\" | \"panel-left-close\" | \"panel-left-open\" | \"panel-left\" | \"panel-right-close\" | \"panel-right-open\" | \"panel-right\" | \"panels-top-left\" | \"paperclip\" | \"party-popper\" | \"pause\" | \"paw-print\" | \"pen-line\" | \"pen\" | \"pencil-line\" | \"pencil-ruler\" | \"pencil\" | \"percent\" | \"person-standing\" | \"phone-call\" | \"phone\" | \"piggy-bank\" | \"pin\" | \"plane\" | \"play\" | \"plug\" | \"plus\" | \"pointer\" | \"popcorn\" | \"power\" | \"presentation\" | \"printer\" | \"puzzle\" | \"qr-code\" | \"quote\" | \"radar\" | \"radio\" | \"receipt-text\" | \"receipt\" | \"redo\" | \"refresh-ccw\" | \"refresh-cw\" | \"repeat\" | \"rocket\" | \"rotate-ccw-clock\" | \"rotate-ccw\" | \"rotate-cw\" | \"route\" | \"ruler-dimension-line\" | \"ruler\" | \"save\" | \"scale\" | \"scan-eye\" | \"scan-qr-code\" | \"scan-search\" | \"scan\" | \"school\" | \"scissors\" | \"scroll-text\" | \"scroll\" | \"search-check\" | \"search\" | \"send-horizontal\" | \"send\" | \"server\" | \"settings-2\" | \"settings\" | \"shapes\" | \"share-2\" | \"share\" | \"sheet\" | \"shield-alert\" | \"shield-check\" | \"shield-plus\" | \"shield-user\" | \"shield\" | \"shirt\" | \"shopping-bag\" | \"shopping-basket\" | \"shopping-cart\" | \"shuffle\" | \"signature\" | \"siren\" | \"skip-forward\" | \"slash\" | \"sliders-horizontal\" | \"smartphone\" | \"snowflake\" | \"sparkle\" | \"sparkles\" | \"sprout\" | \"square-arrow-out-up-right\" | \"square-bookmark\" | \"square-centerline-dashed-horizontal\" | \"square-centerline-dashed-vertical\" | \"square-chart-gantt\" | \"square-check-big\" | \"square-check\" | \"square-dashed\" | \"square-pen\" | \"square-plus\" | \"square-terminal\" | \"square\" | \"star-off\" | \"star\" | \"stethoscope\" | \"sticky-note\" | \"store\" | \"strikethrough\" | \"sun-moon\" | \"sun\" | \"swords\" | \"table-of-contents\" | \"table\" | \"tablet\" | \"tag\" | \"tags\" | \"target\" | \"telescope\" | \"terminal\" | \"text-align-center\" | \"text-align-end\" | \"text-align-justify\" | \"text-align-start\" | \"thermometer\" | \"thumbs-down\" | \"thumbs-up\" | \"ticket\" | \"timer-off\" | \"timer\" | \"trash\" | \"trending-down\" | \"trending-up\" | \"triangle-alert\" | \"triangle\" | \"trophy\" | \"truck\" | \"tv\" | \"type\" | \"underline\" | \"undo-2\" | \"undo\" | \"unplug\" | \"upload\" | \"user-check\" | \"user-cog\" | \"user-lock\" | \"user-pen\" | \"user-plus\" | \"user-round-check\" | \"user-round-cog\" | \"user-round-pen\" | \"user-round-plus\" | \"user-round-x\" | \"user-round\" | \"user-star\" | \"user\" | \"users-round\" | \"users\" | \"utensils\" | \"van\" | \"video\" | \"view\" | \"volume-1\" | \"volume-2\" | \"volume-off\" | \"volume-x\" | \"volume\" | \"wallet-cards\" | \"wallet\" | \"wand-sparkles\" | \"warehouse\" | \"waves-horizontal\" | \"waypoints\" | \"wifi-off\" | \"wifi\" | \"workflow\" | \"wrench\" | \"x\" | \"zap\" | \"zoom-in\" | \"zoom-out\";\nexport const VADIVAM_CONFIG = new InjectionToken<VadivamConfig>(\"vadivam-icons\", { factory: () => ({}) });\nexport function provideVadivamConfig(config: VadivamConfig): Provider { return { provide: VADIVAM_CONFIG, useValue: Object.freeze({ ...config }) }; }\nexport function createVadivamIcon(name: string, iconNode: IconNode): VadivamIconData { return Object.freeze({ name, iconNode }); }\nconst defaults = { size: 24, color: \"currentColor\", strokeWidth: 2 };\n@Directive({ standalone: true })\nexport abstract class VadivamIconBase {\n protected defaultName = \"\";\n protected defaultIconNode: IconNode = [];\n readonly name = input<string>();\n readonly iconNode = input<IconNode>();\n readonly size = input<string | number>();\n readonly color = input<string>();\n readonly strokeWidth = input<string | number>();\n readonly absoluteStrokeWidth = input<boolean | string>();\n readonly title = input<string>();\n protected readonly element = inject<ElementRef<SVGSVGElement>>(ElementRef).nativeElement;\n protected readonly renderer = inject(Renderer2);\n protected readonly config = inject(VADIVAM_CONFIG);\n private runtimeName?: string;\n private runtimeIconNode?: IconNode;\n private rendered: Node[] = [];\n private generatedClasses = new Set<string>();\n private decorative = false;\n constructor() { effect(() => { this.name(); this.iconNode(); this.size(); this.color(); this.strokeWidth(); this.absoluteStrokeWidth(); this.title(); this.render(); }); }\n protected setRuntimeIcon(name: string, iconNode: IconNode) { this.runtimeName = name; this.runtimeIconNode = iconNode; this.render(); }\n protected render() {\n for (const child of this.rendered) this.renderer.removeChild(this.element, child);\n for (const className of this.generatedClasses) this.renderer.removeClass(this.element, className);\n if (this.decorative) this.renderer.removeAttribute(this.element, \"aria-hidden\");\n this.rendered = [];\n this.generatedClasses.clear();\n this.decorative = false;\n const name = this.runtimeName ?? this.name() ?? this.defaultName;\n const iconNode = sanitizeIconNode(this.runtimeIconNode ?? this.iconNode() ?? this.defaultIconNode);\n const size = this.size() ?? this.config.size ?? defaults.size;\n const stroke = this.strokeWidth() ?? this.config.strokeWidth ?? defaults.strokeWidth;\n const numericSize = Number(size);\n const numericStroke = Number(stroke);\n const absoluteInput = this.absoluteStrokeWidth();\n const absolute = absoluteInput === \"\" || absoluteInput === true || absoluteInput === \"true\" || (absoluteInput == null && this.config.absoluteStrokeWidth === true);\n const calculated = absolute && Number.isFinite(numericSize) && numericSize !== 0 && Number.isFinite(numericStroke) ? numericStroke * 24 / numericSize : stroke;\n const attrs: Record<string, string | number> = { xmlns: \"http://www.w3.org/2000/svg\", width: size, height: size, viewBox: \"0 0 24 24\", fill: \"none\", stroke: sanitizePaint(this.color() ?? this.config.color), \"stroke-width\": calculated, \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" };\n for (const [key, value] of Object.entries(attrs)) this.renderer.setAttribute(this.element, key, String(value));\n const classes = [\"vadivam\", name && `vadivam-${name}`, ...(this.config.class ?? \"\").split(/\\s+/)].filter(Boolean) as string[];\n for (const className of new Set(classes)) { this.renderer.addClass(this.element, className); this.generatedClasses.add(className); }\n const titleText = this.title();\n if (titleText) { const title = this.renderer.createElement(\"title\", \"svg\"); this.renderer.appendChild(title, this.renderer.createText(titleText)); this.renderer.appendChild(this.element, title); this.rendered.push(title); this.renderer.setAttribute(this.element, \"role\", \"img\"); }\n const labelled = titleText || Array.from(this.element.attributes).some(({ name: attribute }) => attribute.startsWith(\"aria-\") || attribute === \"role\");\n if (!labelled) { this.renderer.setAttribute(this.element, \"aria-hidden\", \"true\"); this.decorative = true; }\n for (const [tag, nodeAttrs] of iconNode) { const child = this.renderer.createElement(tag, \"svg\"); for (const [key, value] of Object.entries(nodeAttrs)) if (key !== \"key\") this.renderer.setAttribute(child, key, String(value)); this.renderer.appendChild(this.element, child); this.rendered.push(child); }\n }\n}\n@Directive({ selector: \"svg[vadivamIcon]\", standalone: true })\nexport class Icon extends VadivamIconBase {\n readonly definition = input<VadivamIconData | IconNode | null>(null, { alias: \"vadivamIcon\" });\n constructor() { super(); effect(() => { const value = this.definition(); if (Array.isArray(value)) this.setRuntimeIcon(\"\", value as IconNode); else if (value && \"name\" in value) this.setRuntimeIcon(value.name, value.iconNode); }); }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"vadivam-angular-core-BAHrSm4q.mjs","names":[],"sources":["../../.generated/src/runtime-policy.ts","../../.generated/src/core.ts"],"sourcesContent":["export type SVGElementType = \"circle\" | \"ellipse\" | \"line\" | \"path\" | \"polygon\" | \"polyline\" | \"rect\";\nexport type IconNode = readonly [tag: SVGElementType, attrs: Record<string, string | number | boolean>][];\nconst SAFE_ICON_TAGS = new Set([\"circle\",\"ellipse\",\"line\",\"path\",\"polygon\",\"polyline\",\"rect\"]);\nconst GEOMETRY_ATTRIBUTES = {\n circle: new Set([\"cx\", \"cy\", \"r\"]),\n ellipse: new Set([\"cx\", \"cy\", \"rx\", \"ry\"]),\n line: new Set([\"x1\", \"y1\", \"x2\", \"y2\"]),\n path: new Set([\"d\", \"pathLength\"]),\n polygon: new Set([\"points\", \"pathLength\"]),\n polyline: new Set([\"points\", \"pathLength\"]),\n rect: new Set([\"x\", \"y\", \"width\", \"height\", \"rx\", \"ry\", \"pathLength\"]),\n};\nconst PRESENTATION_ATTRIBUTES = new Set([\n \"class\", \"className\", \"id\", \"role\", \"key\", \"opacity\", \"transform\",\n \"clip-rule\", \"clipRule\", \"fill\", \"fill-opacity\", \"fillOpacity\", \"fill-rule\", \"fillRule\",\n \"shape-rendering\", \"shapeRendering\", \"stroke\", \"stroke-dasharray\", \"strokeDasharray\",\n \"stroke-dashoffset\", \"strokeDashoffset\", \"stroke-linecap\", \"strokeLinecap\",\n \"stroke-linejoin\", \"strokeLinejoin\", \"stroke-miterlimit\", \"strokeMiterlimit\",\n \"stroke-opacity\", \"strokeOpacity\", \"stroke-width\", \"strokeWidth\", \"vector-effect\", \"vectorEffect\",\n]);\nconst SAFE_ATTRIBUTE_NAME = /^[A-Za-z_][A-Za-z0-9_.-]*$/;\nconst SAFE_DATA_ATTRIBUTE = /^data-[A-Za-z0-9_.-]+$/;\nconst SAFE_ARIA_ATTRIBUTE = /^aria-[A-Za-z0-9_.-]+$/;\nconst SAFE_STYLE_NAME = /^(?:--[A-Za-z0-9_-]+|[A-Za-z_][A-Za-z0-9_-]*)$/;\nconst SAFE_EVENT_NAME = /^on(?::[A-Za-z][A-Za-z0-9_.-]*|[A-Za-z][A-Za-z0-9_.-]*)$/;\nconst UNSAFE_ROOT_ATTRIBUTE = /^(?:dangerouslySetInnerHTML|innerHTML|innerText|textContent|children|href|xlinkHref|src|srcdoc)$/i;\nconst URL_VALUE_ATTRIBUTE = /^(?:fill|stroke|filter|clipPath|clip-path|mask|marker|markerStart|marker-start|markerMid|marker-mid|markerEnd|marker-end|cursor)$/;\nconst SCRIPT_SCHEME = /(?:java|vb)script\\s*:/i;\nconst URL_FUNCTION = /url\\s*\\(/i;\nconst COMPLETE_URL_FUNCTION = /url\\s*\\(\\s*([\"']?)([^\"')\\s]+)\\1\\s*\\)/gi;\nconst EXTERNAL_SCHEME = /(?:https?|data|blob|file|ftp)\\s*:/i;\nconst CSS_ESCAPE = /\\\\/;\nconst CSS_RESOURCE_FUNCTION = /(?:image-set|cross-fade|image|src)\\s*\\(/i;\nconst CSS_IMPORT = /@import\\b/i;\nconst MAX_ICON_DEPTH = 32;\nconst MAX_ICON_NODES = 1024;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isSafeValue(name: string, value: unknown): value is string | number | boolean {\n if (value === undefined || value === null || typeof value === \"function\") return false;\n if (typeof value === \"object\") return false;\n if (typeof value === \"string\" && SCRIPT_SCHEME.test(value)) return false;\n if ((name === \"fill\" || name === \"stroke\") && typeof value === \"string\" && hasExternalUrl(value)) return false;\n return typeof value === \"string\" || typeof value === \"number\" || typeof value === \"boolean\";\n}\n\nfunction hasExternalUrl(value: string) {\n if (!URL_FUNCTION.test(value)) return false;\n COMPLETE_URL_FUNCTION.lastIndex = 0;\n let matched = false;\n let match: RegExpExecArray | null;\n while ((match = COMPLETE_URL_FUNCTION.exec(value)) !== null) {\n matched = true;\n if (!match[2].startsWith(\"#\")) return true;\n }\n return !matched;\n}\n\nfunction hasUnsafeStyleValue(value: string) {\n return SCRIPT_SCHEME.test(value) || EXTERNAL_SCHEME.test(value) || CSS_ESCAPE.test(value) ||\n CSS_RESOURCE_FUNCTION.test(value) || CSS_IMPORT.test(value) || hasExternalUrl(value);\n}\n\nfunction isSafeIconAttribute(tag: SVGElementType, name: string) {\n return SAFE_ATTRIBUTE_NAME.test(name) && (\n GEOMETRY_ATTRIBUTES[tag]?.has(name) ||\n PRESENTATION_ATTRIBUTES.has(name) ||\n SAFE_DATA_ATTRIBUTE.test(name) ||\n SAFE_ARIA_ATTRIBUTE.test(name)\n );\n}\n\nfunction sanitizeStyle(value: unknown): unknown {\n if (typeof value === \"string\") return hasUnsafeStyleValue(value) ? undefined : value;\n if (Array.isArray(value)) {\n const safeValues = value.map(sanitizeStyle).filter((entry) => entry !== undefined);\n return safeValues.length ? safeValues : undefined;\n }\n if (!isRecord(value)) return undefined;\n const safeStyle: Record<string, string | number> = {};\n for (const [name, entry] of Object.entries(value)) {\n if (!SAFE_STYLE_NAME.test(name) || (typeof entry !== \"string\" && typeof entry !== \"number\")) continue;\n if (typeof entry === \"string\" && hasUnsafeStyleValue(entry)) continue;\n safeStyle[name] = entry;\n }\n return Object.keys(safeStyle).length ? safeStyle : undefined;\n}\n\nfunction safeRootValue(name: string, value: unknown): unknown {\n if (name === \"style\") return sanitizeStyle(value);\n if (value === undefined || value === null || typeof value === \"object\" || typeof value === \"function\") return undefined;\n if (typeof value === \"string\" && URL_VALUE_ATTRIBUTE.test(name) && (SCRIPT_SCHEME.test(value) || hasExternalUrl(value))) return undefined;\n return value;\n}\n\nexport function sanitizePaint(value: unknown, fallback = \"currentColor\") {\n const safeValue = safeRootValue(\"stroke\", value);\n return typeof safeValue === \"string\" || typeof safeValue === \"number\" ? safeValue : fallback;\n}\n\nfunction sanitizeNodes(iconNode: unknown, activeArrays: WeakSet<object>, state: { count: number }, depth: number): IconNode {\n if (!Array.isArray(iconNode) || depth > MAX_ICON_DEPTH || activeArrays.has(iconNode)) return [];\n activeArrays.add(iconNode);\n const safeNodes: [SVGElementType, Record<string, string | number | boolean>][] = [];\n for (const node of iconNode) {\n state.count += 1;\n if (state.count > MAX_ICON_NODES) break;\n if (!Array.isArray(node) || typeof node[0] !== \"string\" || !SAFE_ICON_TAGS.has(node[0]) || !isRecord(node[1])) continue;\n const [tag, attrs, children] = node as [SVGElementType, Record<string, unknown>, unknown?];\n const safeAttrs: Record<string, string | number | boolean> = {};\n for (const [name, value] of Object.entries(attrs)) {\n if (isSafeIconAttribute(tag, name) && isSafeValue(name, value)) safeAttrs[name] = value;\n }\n safeNodes.push([tag, safeAttrs]);\n }\n activeArrays.delete(iconNode);\n return safeNodes;\n}\n\nexport function sanitizeIconNode(iconNode: unknown): IconNode {\n return sanitizeNodes(iconNode, new WeakSet(), { count: 0 }, 0);\n}\n\nexport function sanitizeRootAttributes(attrs: unknown, allowEventFunctions = false): Record<string, unknown> {\n if (!isRecord(attrs)) return {};\n const safeAttrs: Record<string, unknown> = {};\n for (const name of Object.keys(attrs)) {\n const value = attrs[name];\n if (/^on/i.test(name)) {\n if (allowEventFunctions && typeof value === \"function\" && SAFE_EVENT_NAME.test(name)) {\n Object.defineProperty(safeAttrs, name, { enumerable: true, get: () => typeof attrs[name] === \"function\" ? attrs[name] : undefined });\n }\n continue;\n }\n if (!SAFE_ATTRIBUTE_NAME.test(name) || UNSAFE_ROOT_ATTRIBUTE.test(name) || /^prop/i.test(name)) continue;\n if (safeRootValue(name, value) === undefined) continue;\n Object.defineProperty(safeAttrs, name, { enumerable: true, get: () => safeRootValue(name, attrs[name]) });\n }\n return safeAttrs;\n}\n","import { Directive, ElementRef, effect, inject, InjectionToken, input, Provider, Renderer2 } from \"@angular/core\";\nimport { sanitizeIconNode, sanitizePaint } from \"./runtime-policy\";\nimport type { IconNode, SVGElementType } from \"./runtime-policy\";\nexport type { IconNode, SVGElementType } from \"./runtime-policy\";\nexport interface VadivamIconData { name: string; iconNode: IconNode; }\nexport interface VadivamConfig { size?: string | number; color?: string; strokeWidth?: string | number; absoluteStrokeWidth?: boolean; class?: string; }\nexport type IconName = \"a-arrow-down\" | \"a-arrow-up\" | \"a-large-small\" | \"accessibility\" | \"activity\" | \"ad\" | \"air-vent\" | \"airplay\" | \"alarm-clock-check\" | \"alarm-clock-minus\" | \"alarm-clock-off\" | \"alarm-clock-plus\" | \"alarm-clock\" | \"alarm-smoke\" | \"align-center-horizontal\" | \"align-center-vertical\" | \"align-end-horizontal\" | \"align-end-vertical\" | \"align-horizontal-distribute-center\" | \"align-horizontal-distribute-end\" | \"align-horizontal-distribute-start\" | \"align-horizontal-justify-center\" | \"align-horizontal-justify-end\" | \"align-horizontal-justify-start\" | \"align-horizontal-space-around\" | \"align-horizontal-space-between\" | \"align-start-horizontal\" | \"align-start-vertical\" | \"align-vertical-distribute-center\" | \"align-vertical-distribute-end\" | \"align-vertical-distribute-start\" | \"align-vertical-justify-center\" | \"align-vertical-justify-end\" | \"align-vertical-justify-start\" | \"align-vertical-space-around\" | \"align-vertical-space-between\" | \"ambulance\" | \"ampersand\" | \"ampersands\" | \"amphora\" | \"anchor\" | \"angle\" | \"antenna\" | \"anvil\" | \"aperture\" | \"app-window-mac\" | \"app-window\" | \"apple\" | \"archive-restore\" | \"archive-x\" | \"archive\" | \"armchair\" | \"armenian-dram\" | \"arrow-big-down-dash\" | \"arrow-big-down\" | \"arrow-big-left-dash\" | \"arrow-big-left\" | \"arrow-big-right-dash\" | \"arrow-big-right\" | \"arrow-big-up-dash\" | \"arrow-big-up\" | \"arrow-down-0-1\" | \"arrow-down-1-0\" | \"arrow-down-a-z\" | \"arrow-down-from-line\" | \"arrow-down-left\" | \"arrow-down-narrow-wide\" | \"arrow-down-right\" | \"arrow-down-to-dot\" | \"arrow-down-to-line\" | \"arrow-down-up\" | \"arrow-down-wide-narrow\" | \"arrow-down-z-a\" | \"arrow-down\" | \"arrow-left-from-line\" | \"arrow-left-right\" | \"arrow-left-to-line\" | \"arrow-left\" | \"arrow-right-from-line\" | \"arrow-right-left\" | \"arrow-right-to-line\" | \"arrow-right\" | \"arrow-up-0-1\" | \"arrow-up-1-0\" | \"arrow-up-a-z\" | \"arrow-up-down\" | \"arrow-up-from-dot\" | \"arrow-up-from-line\" | \"arrow-up-left\" | \"arrow-up-narrow-wide\" | \"arrow-up-right\" | \"arrow-up-to-line\" | \"arrow-up-wide-narrow\" | \"arrow-up-z-a\" | \"arrow-up\" | \"arrows-up-from-line\" | \"asterisk\" | \"astroid\" | \"at-sign\" | \"atom\" | \"audio-lines-off\" | \"audio-lines-x\" | \"audio-lines\" | \"audio-waveform\" | \"avocado\" | \"award\" | \"axe\" | \"axis-3d\" | \"baby\" | \"backpack\" | \"bacon\" | \"badge-alert\" | \"badge-cent\" | \"badge-check\" | \"badge-dollar-sign\" | \"badge-euro\" | \"badge-indian-rupee\" | \"badge-info\" | \"badge-japanese-yen\" | \"badge-minus\" | \"badge-percent\" | \"badge-plus\" | \"badge-pound-sterling\" | \"badge-question-mark\" | \"badge-russian-ruble\" | \"badge-swiss-franc\" | \"badge-turkish-lira\" | \"badge-x\" | \"badge\" | \"baggage-claim\" | \"balloon\" | \"ban\" | \"banana\" | \"bandage\" | \"bangladeshi-taka\" | \"banknote-arrow-down\" | \"banknote-arrow-up\" | \"banknote-check\" | \"banknote-x\" | \"banknote\" | \"barcode\" | \"barrel\" | \"baseline\" | \"bath\" | \"battery-charging\" | \"battery-full\" | \"battery-low\" | \"battery-medium\" | \"battery-plus\" | \"battery-warning\" | \"battery\" | \"beaker\" | \"bean-off\" | \"bean\" | \"bed-double\" | \"bed-single\" | \"bed\" | \"beef-off\" | \"beef\" | \"beer-off\" | \"beer\" | \"belarusian-ruble\" | \"bell-check\" | \"bell-dot\" | \"bell-electric\" | \"bell-minus\" | \"bell-off\" | \"bell-plus\" | \"bell-ring\" | \"bell\" | \"between-horizontal-end\" | \"between-horizontal-start\" | \"between-vertical-end\" | \"between-vertical-start\" | \"biceps-flexed\" | \"bike\" | \"binary\" | \"binoculars\" | \"biohazard\" | \"bird\" | \"birdhouse\" | \"bitcoin\" | \"blend\" | \"blender\" | \"blinds\" | \"blocks\" | \"bluetooth-connected\" | \"bluetooth-off\" | \"bluetooth-searching\" | \"bluetooth\" | \"bold\" | \"bolt\" | \"bomb\" | \"bone-fracture\" | \"bone\" | \"book-a\" | \"book-alert\" | \"book-audio\" | \"book-bookmark\" | \"book-check\" | \"book-copy\" | \"book-dashed\" | \"book-down\" | \"book-headphones\" | \"book-heart\" | \"book-image\" | \"book-key\" | \"book-lock\" | \"book-minus\" | \"book-open-check\" | \"book-open-text\" | \"book-open\" | \"book-plus\" | \"book-search\" | \"book-text\" | \"book-type\" | \"book-up-2\" | \"book-up\" | \"book-user\" | \"book-x\" | \"book\" | \"bookmark-check\" | \"bookmark-minus\" | \"bookmark-off\" | \"bookmark-plus\" | \"bookmark-x\" | \"bookmark\" | \"boom-box\" | \"bot-message-square\" | \"bot-off\" | \"bot\" | \"bottle-wine\" | \"bow-arrow\" | \"box\" | \"boxes\" | \"braces\" | \"brackets\" | \"brain-circuit\" | \"brain-cog\" | \"brain-off\" | \"brain\" | \"brick-wall-fire\" | \"brick-wall-shield\" | \"brick-wall\" | \"bridge\" | \"briefcase-business\" | \"briefcase-conveyor-belt\" | \"briefcase-medical\" | \"briefcase-plus\" | \"briefcase\" | \"bring-to-front\" | \"broccoli\" | \"broom-sparkles\" | \"broom\" | \"brush-cleaning\" | \"brush\" | \"bubbles\" | \"bug-off\" | \"bug-play\" | \"bug\" | \"building-complex-plus\" | \"building-complex\" | \"building\" | \"bus-front\" | \"bus\" | \"cable-car\" | \"cable\" | \"cake-slice\" | \"cake\" | \"calculator\" | \"calendar-1\" | \"calendar-arrow-down\" | \"calendar-arrow-up\" | \"calendar-check-2\" | \"calendar-check\" | \"calendar-chevrons-left\" | \"calendar-chevrons-right\" | \"calendar-clock\" | \"calendar-cog\" | \"calendar-days\" | \"calendar-fold\" | \"calendar-heart\" | \"calendar-minus-2\" | \"calendar-minus\" | \"calendar-off\" | \"calendar-plus-2\" | \"calendar-plus\" | \"calendar-range\" | \"calendar-search\" | \"calendar-sync\" | \"calendar-x-2\" | \"calendar-x\" | \"calendar\" | \"calendars\" | \"camera-off\" | \"camera\" | \"can-soda\" | \"can\" | \"candy-cane\" | \"candy-off\" | \"candy\" | \"cannabis-off\" | \"cannabis\" | \"captions-off\" | \"captions\" | \"car-battery\" | \"car-front\" | \"car\" | \"chart-area\" | \"chart-bar\" | \"chart-candlestick\" | \"chart-column-big\" | \"chart-column\" | \"chart-line\" | \"chart-no-axes-column\" | \"chart-no-axes-combined\" | \"chart-pie\" | \"chart-spline\" | \"check-check\" | \"check\" | \"chef-hat\" | \"chevron-down\" | \"chevron-left\" | \"chevron-right\" | \"chevron-up\" | \"chevrons-down\" | \"chevrons-left\" | \"chevrons-right\" | \"chevrons-up-down\" | \"circle-alert\" | \"circle-arrow-down\" | \"circle-arrow-left\" | \"circle-arrow-right\" | \"circle-arrow-up\" | \"circle-check-big\" | \"circle-check\" | \"circle-chevron-right\" | \"circle-dashed\" | \"circle-dollar-sign\" | \"circle-dot-dashed\" | \"circle-dot\" | \"circle-ellipsis\" | \"circle-fading-arrow-up\" | \"circle-fading-plus\" | \"circle-gauge\" | \"circle-minus\" | \"circle-off\" | \"circle-play\" | \"circle-plus\" | \"circle-question-mark\" | \"circle-star\" | \"circle-stop\" | \"circle-user-round\" | \"circle-user\" | \"circle-x\" | \"circle\" | \"clapperboard\" | \"clipboard-check\" | \"clipboard-clock\" | \"clipboard-list\" | \"clipboard-paste\" | \"clipboard\" | \"clock-1\" | \"clock-10\" | \"clock-11\" | \"clock-12\" | \"clock-2\" | \"clock-3\" | \"clock-4\" | \"clock-5\" | \"clock-6\" | \"clock-7\" | \"clock-8\" | \"clock-9\" | \"clock-fading\" | \"clock\" | \"cloud-download\" | \"cloud-upload\" | \"cloud\" | \"code-xml\" | \"code\" | \"coffee\" | \"cog\" | \"coins\" | \"columns-2\" | \"columns-3-cog\" | \"columns-3\" | \"columns-4\" | \"command\" | \"compass\" | \"component\" | \"contact\" | \"container\" | \"copy-plus\" | \"copy\" | \"corner-down-left\" | \"corner-down-right\" | \"corner-left-down\" | \"corner-left-up\" | \"corner-right-down\" | \"corner-right-up\" | \"corner-up-left\" | \"corner-up-right\" | \"cpu\" | \"credit-card\" | \"cross\" | \"crosshair\" | \"crown\" | \"database\" | \"delete\" | \"dollar-sign\" | \"door-open\" | \"dot\" | \"download\" | \"droplet\" | \"droplets\" | \"dumbbell\" | \"earth\" | \"eighth-notes\" | \"ellipsis-vertical\" | \"ellipsis\" | \"eraser\" | \"expand\" | \"external-link\" | \"eye-closed\" | \"eye-off\" | \"eye\" | \"face-angry\" | \"face-expressionless\" | \"face-slightly-smiling\" | \"factory\" | \"feather\" | \"file-archive\" | \"file-chart-column-increasing\" | \"file-chart-column\" | \"file-check\" | \"file-code\" | \"file-down\" | \"file-exclamation-point\" | \"file-image\" | \"file-minus-corner\" | \"file-minus\" | \"file-pen-line\" | \"file-plus-corner\" | \"file-plus\" | \"file-question-mark\" | \"file-search-corner\" | \"file-search\" | \"file-spreadsheet\" | \"file-text\" | \"file-up\" | \"file-user\" | \"file\" | \"files\" | \"film\" | \"fingerprint-pattern\" | \"flag-triangle-left\" | \"flag-triangle-right\" | \"flag\" | \"flame\" | \"flask-conical\" | \"folder-code\" | \"folder-kanban\" | \"folder-open\" | \"folder-plus\" | \"folder-search-2\" | \"folder-search\" | \"folder\" | \"footprints\" | \"forward\" | \"frame\" | \"fullscreen\" | \"funnel\" | \"gallery-horizontal-end\" | \"gallery-horizontal\" | \"gallery-thumbnails\" | \"gallery-vertical-end\" | \"gallery-vertical\" | \"gamepad-2\" | \"gauge\" | \"gem\" | \"gift\" | \"git-branch-minus\" | \"git-branch-plus\" | \"git-branch\" | \"git-commit-horizontal\" | \"git-commit-vertical\" | \"globe\" | \"goal\" | \"graduation-cap\" | \"grid-2x2\" | \"grip-horizontal\" | \"grip-vertical\" | \"grip\" | \"group\" | \"hamburger\" | \"hammer\" | \"hand-coins\" | \"hand-heart\" | \"hand\" | \"handbag\" | \"handshake\" | \"hard-drive\" | \"hash\" | \"hat-glasses\" | \"heading-1\" | \"heading-2\" | \"heading-3\" | \"heading-4\" | \"heading-5\" | \"heading-6\" | \"heading\" | \"headset\" | \"heart-handshake\" | \"heart-plus\" | \"heart-pulse\" | \"heart\" | \"hexagon\" | \"hospital\" | \"hourglass\" | \"house\" | \"id-card-lanyard\" | \"id-card\" | \"image-plus\" | \"image-up\" | \"image\" | \"images\" | \"import\" | \"inbox\" | \"indian-rupee\" | \"infinity\" | \"info\" | \"italic\" | \"key-round\" | \"key\" | \"keyboard\" | \"land-plot\" | \"landmark\" | \"languages\" | \"laptop\" | \"layers-2\" | \"layers\" | \"layout-dashboard\" | \"layout-grid\" | \"layout-list\" | \"layout-template\" | \"leaf\" | \"library-big\" | \"library\" | \"life-buoy\" | \"lightbulb\" | \"link-2\" | \"link\" | \"list-check\" | \"list-checks\" | \"list-filter\" | \"list-ordered\" | \"list-todo\" | \"list\" | \"loader-circle\" | \"loader\" | \"locate-fixed\" | \"locate\" | \"lock-keyhole\" | \"lock-open\" | \"lock\" | \"log-in\" | \"log-out\" | \"logs\" | \"mail-check\" | \"mail\" | \"map-pin-house\" | \"map-pin\" | \"map-pinned\" | \"map\" | \"maximize-2\" | \"maximize\" | \"medal\" | \"megaphone\" | \"menu\" | \"message-circle-dashed\" | \"message-circle-more\" | \"message-circle-question-mark\" | \"message-circle-warning\" | \"message-circle\" | \"message-square-more\" | \"message-square-text\" | \"message-square\" | \"messages-square\" | \"mic\" | \"minimize-2\" | \"minimize\" | \"minus\" | \"monitor-cog\" | \"monitor-smartphone\" | \"monitor\" | \"moon\" | \"mouse-pointer-2\" | \"mouse-pointer-click\" | \"mouse-pointer\" | \"move-down\" | \"move-left\" | \"move-right\" | \"move-up-right\" | \"move-up\" | \"navigation\" | \"network\" | \"newspaper\" | \"notebook-pen\" | \"notebook-text\" | \"notepad-text\" | \"octagon-alert\" | \"octagon-x\" | \"package-check\" | \"package-open\" | \"package-search\" | \"package\" | \"paintbrush\" | \"palette\" | \"panel-left-close\" | \"panel-left-open\" | \"panel-left\" | \"panel-right-close\" | \"panel-right-open\" | \"panel-right\" | \"panels-top-left\" | \"paperclip\" | \"party-popper\" | \"pause\" | \"paw-print\" | \"pen-line\" | \"pen\" | \"pencil-line\" | \"pencil-ruler\" | \"pencil\" | \"percent\" | \"person-standing\" | \"phone-call\" | \"phone\" | \"piggy-bank\" | \"pin\" | \"plane\" | \"play\" | \"plug\" | \"plus\" | \"pointer\" | \"popcorn\" | \"power\" | \"presentation\" | \"printer\" | \"puzzle\" | \"qr-code\" | \"quote\" | \"radar\" | \"radio\" | \"receipt-text\" | \"receipt\" | \"redo\" | \"refresh-ccw\" | \"refresh-cw\" | \"repeat\" | \"rocket\" | \"rotate-ccw-clock\" | \"rotate-ccw\" | \"rotate-cw\" | \"route\" | \"ruler-dimension-line\" | \"ruler\" | \"save\" | \"scale\" | \"scan-eye\" | \"scan-qr-code\" | \"scan-search\" | \"scan\" | \"school\" | \"scissors\" | \"scroll-text\" | \"scroll\" | \"search-check\" | \"search\" | \"send-horizontal\" | \"send\" | \"server\" | \"settings-2\" | \"settings\" | \"shapes\" | \"share-2\" | \"share\" | \"sheet\" | \"shield-alert\" | \"shield-check\" | \"shield-plus\" | \"shield-user\" | \"shield\" | \"shirt\" | \"shopping-bag\" | \"shopping-basket\" | \"shopping-cart\" | \"shuffle\" | \"signature\" | \"siren\" | \"skip-forward\" | \"slash\" | \"sliders-horizontal\" | \"smartphone\" | \"snowflake\" | \"sparkle\" | \"sparkles\" | \"sprout\" | \"square-arrow-out-up-right\" | \"square-bookmark\" | \"square-centerline-dashed-horizontal\" | \"square-centerline-dashed-vertical\" | \"square-chart-gantt\" | \"square-check-big\" | \"square-check\" | \"square-dashed\" | \"square-pen\" | \"square-plus\" | \"square-terminal\" | \"square\" | \"star-off\" | \"star\" | \"stethoscope\" | \"sticky-note\" | \"store\" | \"strikethrough\" | \"sun-moon\" | \"sun\" | \"swords\" | \"table-of-contents\" | \"table\" | \"tablet\" | \"tag\" | \"tags\" | \"target\" | \"telescope\" | \"terminal\" | \"text-align-center\" | \"text-align-end\" | \"text-align-justify\" | \"text-align-start\" | \"thermometer\" | \"thumbs-down\" | \"thumbs-up\" | \"ticket\" | \"timer-off\" | \"timer\" | \"trash\" | \"trending-down\" | \"trending-up\" | \"triangle-alert\" | \"triangle\" | \"trophy\" | \"truck\" | \"tv\" | \"type\" | \"underline\" | \"undo-2\" | \"undo\" | \"unplug\" | \"upload\" | \"user-check\" | \"user-cog\" | \"user-lock\" | \"user-pen\" | \"user-plus\" | \"user-round-check\" | \"user-round-cog\" | \"user-round-pen\" | \"user-round-plus\" | \"user-round-x\" | \"user-round\" | \"user-star\" | \"user\" | \"users-round\" | \"users\" | \"utensils\" | \"van\" | \"video\" | \"view\" | \"volume-1\" | \"volume-2\" | \"volume-off\" | \"volume-x\" | \"volume\" | \"wallet-cards\" | \"wallet\" | \"wand-sparkles\" | \"warehouse\" | \"waves-horizontal\" | \"waypoints\" | \"wifi-off\" | \"wifi\" | \"workflow\" | \"wrench\" | \"x\" | \"zap\" | \"zoom-in\" | \"zoom-out\";\nexport const VADIVAM_CONFIG = new InjectionToken<VadivamConfig>(\"vadivam-icons\", { factory: () => ({}) });\nexport function provideVadivamConfig(config: VadivamConfig): Provider { return { provide: VADIVAM_CONFIG, useValue: Object.freeze({ ...config }) }; }\nexport function createVadivamIcon(name: string, iconNode: IconNode): VadivamIconData { return Object.freeze({ name, iconNode }); }\nconst defaults = { size: 24, color: \"currentColor\", strokeWidth: 2 };\n@Directive({ standalone: true })\nexport abstract class VadivamIconBase {\n protected defaultName = \"\";\n protected defaultIconNode: IconNode = [];\n readonly name = input<string>();\n readonly iconNode = input<IconNode>();\n readonly size = input<string | number>();\n readonly color = input<string>();\n readonly strokeWidth = input<string | number>();\n readonly absoluteStrokeWidth = input<boolean | string>();\n readonly title = input<string>();\n protected readonly element = inject<ElementRef<SVGSVGElement>>(ElementRef).nativeElement;\n protected readonly renderer = inject(Renderer2);\n protected readonly config = inject(VADIVAM_CONFIG);\n private runtimeName?: string;\n private runtimeIconNode?: IconNode;\n private rendered: Node[] = [];\n private generatedClasses = new Set<string>();\n private decorative = false;\n constructor() { effect(() => { this.name(); this.iconNode(); this.size(); this.color(); this.strokeWidth(); this.absoluteStrokeWidth(); this.title(); this.render(); }); }\n protected setRuntimeIcon(name: string, iconNode: IconNode) { this.runtimeName = name; this.runtimeIconNode = iconNode; this.render(); }\n protected render() {\n for (const child of this.rendered) this.renderer.removeChild(this.element, child);\n for (const className of this.generatedClasses) this.renderer.removeClass(this.element, className);\n if (this.decorative) this.renderer.removeAttribute(this.element, \"aria-hidden\");\n this.rendered = [];\n this.generatedClasses.clear();\n this.decorative = false;\n const name = this.runtimeName ?? this.name() ?? this.defaultName;\n const iconNode = sanitizeIconNode(this.runtimeIconNode ?? this.iconNode() ?? this.defaultIconNode);\n const size = this.size() ?? this.config.size ?? defaults.size;\n const stroke = this.strokeWidth() ?? this.config.strokeWidth ?? defaults.strokeWidth;\n const numericSize = Number(size);\n const numericStroke = Number(stroke);\n const absoluteInput = this.absoluteStrokeWidth();\n const absolute = absoluteInput === \"\" || absoluteInput === true || absoluteInput === \"true\" || (absoluteInput == null && this.config.absoluteStrokeWidth === true);\n const calculated = absolute && Number.isFinite(numericSize) && numericSize !== 0 && Number.isFinite(numericStroke) ? numericStroke * 24 / numericSize : stroke;\n const attrs: Record<string, string | number> = { xmlns: \"http://www.w3.org/2000/svg\", width: size, height: size, viewBox: \"0 0 24 24\", fill: \"none\", stroke: sanitizePaint(this.color() ?? this.config.color), \"stroke-width\": calculated, \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\" };\n for (const [key, value] of Object.entries(attrs)) this.renderer.setAttribute(this.element, key, String(value));\n const classes = [\"vadivam\", name && `vadivam-${name}`, ...(this.config.class ?? \"\").split(/\\s+/)].filter(Boolean) as string[];\n for (const className of new Set(classes)) { this.renderer.addClass(this.element, className); this.generatedClasses.add(className); }\n const titleText = this.title();\n if (titleText) { const title = this.renderer.createElement(\"title\", \"svg\"); this.renderer.appendChild(title, this.renderer.createText(titleText)); this.renderer.appendChild(this.element, title); this.rendered.push(title); this.renderer.setAttribute(this.element, \"role\", \"img\"); }\n const labelled = titleText || Array.from(this.element.attributes).some(({ name: attribute }) => attribute.startsWith(\"aria-\") || attribute === \"role\");\n if (!labelled) { this.renderer.setAttribute(this.element, \"aria-hidden\", \"true\"); this.decorative = true; }\n for (const [tag, nodeAttrs] of iconNode) { const child = this.renderer.createElement(tag, \"svg\"); for (const [key, value] of Object.entries(nodeAttrs)) if (key !== \"key\") this.renderer.setAttribute(child, key, String(value)); this.renderer.appendChild(this.element, child); this.rendered.push(child); }\n }\n}\n@Directive({ selector: \"svg[vadivamIcon]\", standalone: true })\nexport class Icon extends VadivamIconBase {\n readonly definition = input<VadivamIconData | IconNode | null>(null, { alias: \"vadivamIcon\" });\n constructor() { super(); effect(() => { const value = this.definition(); if (Array.isArray(value)) this.setRuntimeIcon(\"\", value as IconNode); else if (value && \"name\" in value) this.setRuntimeIcon(value.name, value.iconNode); }); }\n}\n"],"mappings":"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"}