vadivam-angular 0.0.48 → 0.0.51
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.
- package/README.md +1 -1
- package/dist/fesm2022/vadivam-angular-core-BAHrSm4q.mjs.map +1 -1
- package/dist/fesm2022/vadivam-angular.mjs +13944 -6576
- package/dist/fesm2022/vadivam-angular.mjs.map +1 -1
- package/dist/icons/ad.d.ts +1 -0
- package/dist/icons/ad.js +1 -0
- package/dist/icons/angle.d.ts +1 -0
- package/dist/icons/angle.js +1 -0
- package/dist/icons/armenian-dram.d.ts +1 -0
- package/dist/icons/armenian-dram.js +1 -0
- package/dist/icons/audio-lines-off.d.ts +1 -0
- package/dist/icons/audio-lines-off.js +1 -0
- package/dist/icons/audio-lines-x.d.ts +1 -0
- package/dist/icons/audio-lines-x.js +1 -0
- package/dist/icons/avocado.d.ts +1 -0
- package/dist/icons/avocado.js +1 -0
- package/dist/icons/bacon.d.ts +1 -0
- package/dist/icons/bacon.js +1 -0
- package/dist/icons/bangladeshi-taka.d.ts +1 -0
- package/dist/icons/bangladeshi-taka.js +1 -0
- package/dist/icons/banknote-check.d.ts +1 -0
- package/dist/icons/banknote-check.js +1 -0
- package/dist/icons/belarusian-ruble.d.ts +1 -0
- package/dist/icons/belarusian-ruble.js +1 -0
- package/dist/icons/biceps-flexed.d.ts +1 -0
- package/dist/icons/biceps-flexed.js +1 -0
- package/dist/icons/bike.d.ts +1 -0
- package/dist/icons/bike.js +1 -0
- package/dist/icons/binary.d.ts +1 -0
- package/dist/icons/binary.js +1 -0
- package/dist/icons/binoculars.d.ts +1 -0
- package/dist/icons/binoculars.js +1 -0
- package/dist/icons/biohazard.d.ts +1 -0
- package/dist/icons/biohazard.js +1 -0
- package/dist/icons/bird.d.ts +1 -0
- package/dist/icons/bird.js +1 -0
- package/dist/icons/birdhouse.d.ts +1 -0
- package/dist/icons/birdhouse.js +1 -0
- package/dist/icons/bitcoin.d.ts +1 -0
- package/dist/icons/bitcoin.js +1 -0
- package/dist/icons/blend.d.ts +1 -0
- package/dist/icons/blend.js +1 -0
- package/dist/icons/blender.d.ts +1 -0
- package/dist/icons/blender.js +1 -0
- package/dist/icons/blinds.d.ts +1 -0
- package/dist/icons/blinds.js +1 -0
- package/dist/icons/bluetooth-connected.d.ts +1 -0
- package/dist/icons/bluetooth-connected.js +1 -0
- package/dist/icons/bluetooth-off.d.ts +1 -0
- package/dist/icons/bluetooth-off.js +1 -0
- package/dist/icons/bluetooth-searching.d.ts +1 -0
- package/dist/icons/bluetooth-searching.js +1 -0
- package/dist/icons/bomb.d.ts +1 -0
- package/dist/icons/bomb.js +1 -0
- package/dist/icons/bone-fracture.d.ts +1 -0
- package/dist/icons/bone-fracture.js +1 -0
- package/dist/icons/bone.d.ts +1 -0
- package/dist/icons/bone.js +1 -0
- package/dist/icons/book-a.d.ts +1 -0
- package/dist/icons/book-a.js +1 -0
- package/dist/icons/book-alert.d.ts +1 -0
- package/dist/icons/book-alert.js +1 -0
- package/dist/icons/book-audio.d.ts +1 -0
- package/dist/icons/book-audio.js +1 -0
- package/dist/icons/book-bookmark.d.ts +1 -0
- package/dist/icons/book-bookmark.js +1 -0
- package/dist/icons/book-check.d.ts +1 -0
- package/dist/icons/book-check.js +1 -0
- package/dist/icons/book-copy.d.ts +1 -0
- package/dist/icons/book-copy.js +1 -0
- package/dist/icons/book-dashed.d.ts +1 -0
- package/dist/icons/book-dashed.js +1 -0
- package/dist/icons/book-down.d.ts +1 -0
- package/dist/icons/book-down.js +1 -0
- package/dist/icons/book-headphones.d.ts +1 -0
- package/dist/icons/book-headphones.js +1 -0
- package/dist/icons/book-heart.d.ts +1 -0
- package/dist/icons/book-heart.js +1 -0
- package/dist/icons/book-image.d.ts +1 -0
- package/dist/icons/book-image.js +1 -0
- package/dist/icons/book-key.d.ts +1 -0
- package/dist/icons/book-key.js +1 -0
- package/dist/icons/book-lock.d.ts +1 -0
- package/dist/icons/book-lock.js +1 -0
- package/dist/icons/book-minus.d.ts +1 -0
- package/dist/icons/book-minus.js +1 -0
- package/dist/icons/book-plus.d.ts +1 -0
- package/dist/icons/book-plus.js +1 -0
- package/dist/icons/book-search.d.ts +1 -0
- package/dist/icons/book-search.js +1 -0
- package/dist/icons/book-type.d.ts +1 -0
- package/dist/icons/book-type.js +1 -0
- package/dist/icons/book-up-2.d.ts +1 -0
- package/dist/icons/book-up-2.js +1 -0
- package/dist/icons/book-up.d.ts +1 -0
- package/dist/icons/book-up.js +1 -0
- package/dist/icons/book-user.d.ts +1 -0
- package/dist/icons/book-user.js +1 -0
- package/dist/icons/book-x.d.ts +1 -0
- package/dist/icons/book-x.js +1 -0
- package/dist/icons/bookmark-check.d.ts +1 -0
- package/dist/icons/bookmark-check.js +1 -0
- package/dist/icons/bookmark-minus.d.ts +1 -0
- package/dist/icons/bookmark-minus.js +1 -0
- package/dist/icons/bookmark-off.d.ts +1 -0
- package/dist/icons/bookmark-off.js +1 -0
- package/dist/icons/bookmark-plus.d.ts +1 -0
- package/dist/icons/bookmark-plus.js +1 -0
- package/dist/icons/bookmark-x.d.ts +1 -0
- package/dist/icons/bookmark-x.js +1 -0
- package/dist/icons/cable.d.ts +1 -0
- package/dist/icons/cable.js +1 -0
- package/dist/icons/calendar-1.d.ts +1 -0
- package/dist/icons/calendar-1.js +1 -0
- package/dist/icons/calendar-range.d.ts +1 -0
- package/dist/icons/calendar-range.js +1 -0
- package/dist/icons/calendar-sync.d.ts +1 -0
- package/dist/icons/calendar-sync.js +1 -0
- package/dist/icons/car-front.d.ts +1 -0
- package/dist/icons/car-front.js +1 -0
- package/dist/icons/chart-candlestick.d.ts +1 -0
- package/dist/icons/chart-candlestick.js +1 -0
- package/dist/icons/chart-no-axes-column.d.ts +1 -0
- package/dist/icons/chart-no-axes-column.js +1 -0
- package/dist/icons/chart-spline.d.ts +1 -0
- package/dist/icons/chart-spline.js +1 -0
- package/dist/icons/chef-hat.d.ts +1 -0
- package/dist/icons/chef-hat.js +1 -0
- package/dist/icons/chevrons-down.d.ts +1 -0
- package/dist/icons/chevrons-down.js +1 -0
- package/dist/icons/circle-chevron-right.d.ts +1 -0
- package/dist/icons/circle-chevron-right.js +1 -0
- package/dist/icons/circle-ellipsis.d.ts +1 -0
- package/dist/icons/circle-ellipsis.js +1 -0
- package/dist/icons/circle-gauge.d.ts +1 -0
- package/dist/icons/circle-gauge.js +1 -0
- package/dist/icons/circle-minus.d.ts +1 -0
- package/dist/icons/circle-minus.js +1 -0
- package/dist/icons/circle-star.d.ts +1 -0
- package/dist/icons/circle-star.js +1 -0
- package/dist/icons/clapperboard.d.ts +1 -0
- package/dist/icons/clapperboard.js +1 -0
- package/dist/icons/clock-fading.d.ts +1 -0
- package/dist/icons/clock-fading.js +1 -0
- package/dist/icons/cloud-download.d.ts +1 -0
- package/dist/icons/cloud-download.js +1 -0
- package/dist/icons/columns-3-cog.d.ts +1 -0
- package/dist/icons/columns-3-cog.js +1 -0
- package/dist/icons/component.d.ts +1 -0
- package/dist/icons/component.js +1 -0
- package/dist/icons/contact.d.ts +1 -0
- package/dist/icons/contact.js +1 -0
- package/dist/icons/copy-plus.d.ts +1 -0
- package/dist/icons/copy-plus.js +1 -0
- package/dist/icons/cross.d.ts +1 -0
- package/dist/icons/cross.js +1 -0
- package/dist/icons/crosshair.d.ts +1 -0
- package/dist/icons/crosshair.js +1 -0
- package/dist/icons/door-open.d.ts +1 -0
- package/dist/icons/door-open.js +1 -0
- package/dist/icons/droplet.d.ts +1 -0
- package/dist/icons/droplet.js +1 -0
- package/dist/icons/droplets.d.ts +1 -0
- package/dist/icons/droplets.js +1 -0
- package/dist/icons/dumbbell.d.ts +1 -0
- package/dist/icons/dumbbell.js +1 -0
- package/dist/icons/factory.d.ts +1 -0
- package/dist/icons/factory.js +1 -0
- package/dist/icons/feather.d.ts +1 -0
- package/dist/icons/feather.js +1 -0
- package/dist/icons/file-check.d.ts +1 -0
- package/dist/icons/file-check.js +1 -0
- package/dist/icons/file-question-mark.d.ts +1 -0
- package/dist/icons/file-question-mark.js +1 -0
- package/dist/icons/fingerprint-pattern.d.ts +1 -0
- package/dist/icons/fingerprint-pattern.js +1 -0
- package/dist/icons/folder-kanban.d.ts +1 -0
- package/dist/icons/folder-kanban.js +1 -0
- package/dist/icons/gamepad-2.d.ts +1 -0
- package/dist/icons/gamepad-2.js +1 -0
- package/dist/icons/goal.d.ts +1 -0
- package/dist/icons/goal.js +1 -0
- package/dist/icons/grid-2x2.d.ts +1 -0
- package/dist/icons/grid-2x2.js +1 -0
- package/dist/icons/grip.d.ts +1 -0
- package/dist/icons/grip.js +1 -0
- package/dist/icons/group.d.ts +1 -0
- package/dist/icons/group.js +1 -0
- package/dist/icons/hamburger.d.ts +1 -0
- package/dist/icons/hamburger.js +1 -0
- package/dist/icons/hammer.d.ts +1 -0
- package/dist/icons/hammer.js +1 -0
- package/dist/icons/hand-heart.d.ts +1 -0
- package/dist/icons/hand-heart.js +1 -0
- package/dist/icons/handbag.d.ts +1 -0
- package/dist/icons/handbag.js +1 -0
- package/dist/icons/hat-glasses.d.ts +1 -0
- package/dist/icons/hat-glasses.js +1 -0
- package/dist/icons/heart-plus.d.ts +1 -0
- package/dist/icons/heart-plus.js +1 -0
- package/dist/icons/heart-pulse.d.ts +1 -0
- package/dist/icons/heart-pulse.js +1 -0
- package/dist/icons/hospital.d.ts +1 -0
- package/dist/icons/hospital.js +1 -0
- package/dist/icons/id-card-lanyard.d.ts +1 -0
- package/dist/icons/id-card-lanyard.js +1 -0
- package/dist/icons/image-plus.d.ts +1 -0
- package/dist/icons/image-plus.js +1 -0
- package/dist/icons/image-up.d.ts +1 -0
- package/dist/icons/image-up.js +1 -0
- package/dist/icons/import.d.ts +1 -0
- package/dist/icons/import.js +1 -0
- package/dist/icons/infinity.d.ts +1 -0
- package/dist/icons/infinity.js +1 -0
- package/dist/icons/land-plot.d.ts +1 -0
- package/dist/icons/land-plot.js +1 -0
- package/dist/icons/layers-2.d.ts +1 -0
- package/dist/icons/layers-2.js +1 -0
- package/dist/icons/layout-list.d.ts +1 -0
- package/dist/icons/layout-list.js +1 -0
- package/dist/icons/layout-template.d.ts +1 -0
- package/dist/icons/layout-template.js +1 -0
- package/dist/icons/list-check.d.ts +1 -0
- package/dist/icons/list-check.js +1 -0
- package/dist/icons/locate-fixed.d.ts +1 -0
- package/dist/icons/locate-fixed.js +1 -0
- package/dist/icons/locate.d.ts +1 -0
- package/dist/icons/locate.js +1 -0
- package/dist/icons/lock-open.d.ts +1 -0
- package/dist/icons/lock-open.js +1 -0
- package/dist/icons/medal.d.ts +1 -0
- package/dist/icons/medal.js +1 -0
- package/dist/icons/message-circle-warning.d.ts +1 -0
- package/dist/icons/message-circle-warning.js +1 -0
- package/dist/icons/monitor-cog.d.ts +1 -0
- package/dist/icons/monitor-cog.js +1 -0
- package/dist/icons/monitor-smartphone.d.ts +1 -0
- package/dist/icons/monitor-smartphone.js +1 -0
- package/dist/icons/move-down.d.ts +1 -0
- package/dist/icons/move-down.js +1 -0
- package/dist/icons/move-up.d.ts +1 -0
- package/dist/icons/move-up.js +1 -0
- package/dist/icons/navigation.d.ts +1 -0
- package/dist/icons/navigation.js +1 -0
- package/dist/icons/notebook-text.d.ts +1 -0
- package/dist/icons/notebook-text.js +1 -0
- package/dist/icons/package-check.d.ts +1 -0
- package/dist/icons/package-check.js +1 -0
- package/dist/icons/package-open.d.ts +1 -0
- package/dist/icons/package-open.js +1 -0
- package/dist/icons/package-search.d.ts +1 -0
- package/dist/icons/package-search.js +1 -0
- package/dist/icons/paw-print.d.ts +1 -0
- package/dist/icons/paw-print.js +1 -0
- package/dist/icons/pencil-ruler.d.ts +1 -0
- package/dist/icons/pencil-ruler.js +1 -0
- package/dist/icons/percent.d.ts +1 -0
- package/dist/icons/percent.js +1 -0
- package/dist/icons/piggy-bank.d.ts +1 -0
- package/dist/icons/piggy-bank.js +1 -0
- package/dist/icons/pointer.d.ts +1 -0
- package/dist/icons/pointer.js +1 -0
- package/dist/icons/ruler-dimension-line.d.ts +1 -0
- package/dist/icons/ruler-dimension-line.js +1 -0
- package/dist/icons/ruler.d.ts +1 -0
- package/dist/icons/ruler.js +1 -0
- package/dist/icons/scan-eye.d.ts +1 -0
- package/dist/icons/scan-eye.js +1 -0
- package/dist/icons/scan-qr-code.d.ts +1 -0
- package/dist/icons/scan-qr-code.js +1 -0
- package/dist/icons/scan-search.d.ts +1 -0
- package/dist/icons/scan-search.js +1 -0
- package/dist/icons/scan.d.ts +1 -0
- package/dist/icons/scan.js +1 -0
- package/dist/icons/school.d.ts +1 -0
- package/dist/icons/school.js +1 -0
- package/dist/icons/search-check.d.ts +1 -0
- package/dist/icons/search-check.js +1 -0
- package/dist/icons/shapes.d.ts +1 -0
- package/dist/icons/shapes.js +1 -0
- package/dist/icons/sheet.d.ts +1 -0
- package/dist/icons/sheet.js +1 -0
- package/dist/icons/shield-plus.d.ts +1 -0
- package/dist/icons/shield-plus.js +1 -0
- package/dist/icons/shirt.d.ts +1 -0
- package/dist/icons/shirt.js +1 -0
- package/dist/icons/signature.d.ts +1 -0
- package/dist/icons/signature.js +1 -0
- package/dist/icons/siren.d.ts +1 -0
- package/dist/icons/siren.js +1 -0
- package/dist/icons/snowflake.d.ts +1 -0
- package/dist/icons/snowflake.js +1 -0
- package/dist/icons/square-chart-gantt.d.ts +1 -0
- package/dist/icons/square-chart-gantt.js +1 -0
- package/dist/icons/stethoscope.d.ts +1 -0
- package/dist/icons/stethoscope.js +1 -0
- package/dist/icons/sticky-note.d.ts +1 -0
- package/dist/icons/sticky-note.js +1 -0
- package/dist/icons/swords.d.ts +1 -0
- package/dist/icons/swords.js +1 -0
- package/dist/icons/table-of-contents.d.ts +1 -0
- package/dist/icons/table-of-contents.js +1 -0
- package/dist/icons/tags.d.ts +1 -0
- package/dist/icons/tags.js +1 -0
- package/dist/icons/triangle.d.ts +1 -0
- package/dist/icons/triangle.js +1 -0
- package/dist/icons/unplug.d.ts +1 -0
- package/dist/icons/unplug.js +1 -0
- package/dist/icons/user-lock.d.ts +1 -0
- package/dist/icons/user-lock.js +1 -0
- package/dist/icons/user-round-check.d.ts +1 -0
- package/dist/icons/user-round-check.js +1 -0
- package/dist/icons/user-round-cog.d.ts +1 -0
- package/dist/icons/user-round-cog.js +1 -0
- package/dist/icons/van.d.ts +1 -0
- package/dist/icons/van.js +1 -0
- package/dist/icons/view.d.ts +1 -0
- package/dist/icons/view.js +1 -0
- package/dist/icons/wallet-cards.d.ts +1 -0
- package/dist/icons/wallet-cards.js +1 -0
- package/dist/icons/warehouse.d.ts +1 -0
- package/dist/icons/warehouse.js +1 -0
- package/dist/icons/waypoints.d.ts +1 -0
- package/dist/icons/waypoints.js +1 -0
- package/dist/types/vadivam-angular.d.ts +3269 -1189
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Tree-shakeable 24px outline SVG icon directives for Angular.
|
|
|
8
8
|
[](https://www.npmjs.com/package/vadivam-angular)
|
|
9
9
|
[](https://github.com/praveenjuge/vadivam/blob/main/LICENSE)
|
|
10
10
|
|
|
11
|
-

|
|
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\" | \"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\" | \"antenna\" | \"anvil\" | \"aperture\" | \"app-window-mac\" | \"app-window\" | \"apple\" | \"archive-restore\" | \"archive-x\" | \"archive\" | \"armchair\" | \"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\" | \"audio-waveform\" | \"award\" | \"axe\" | \"axis-3d\" | \"baby\" | \"backpack\" | \"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\" | \"banknote-arrow-down\" | \"banknote-arrow-up\" | \"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\" | \"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\" | \"blocks\" | \"bluetooth\" | \"bold\" | \"bolt\" | \"book-open-check\" | \"book-open-text\" | \"book-open\" | \"book-text\" | \"book\" | \"bookmark\" | \"bot-message-square\" | \"bot\" | \"box\" | \"boxes\" | \"braces\" | \"brain-circuit\" | \"brain\" | \"briefcase-business\" | \"briefcase\" | \"brush-cleaning\" | \"bug\" | \"building-complex\" | \"building\" | \"calculator\" | \"calendar-check\" | \"calendar-clock\" | \"calendar-days\" | \"calendar-minus\" | \"calendar-plus\" | \"calendar\" | \"camera\" | \"captions\" | \"car\" | \"chart-area\" | \"chart-bar\" | \"chart-column-big\" | \"chart-column\" | \"chart-line\" | \"chart-no-axes-combined\" | \"chart-pie\" | \"check-check\" | \"check\" | \"chevron-down\" | \"chevron-left\" | \"chevron-right\" | \"chevron-up\" | \"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-dashed\" | \"circle-dollar-sign\" | \"circle-dot-dashed\" | \"circle-dot\" | \"circle-fading-arrow-up\" | \"circle-fading-plus\" | \"circle-off\" | \"circle-play\" | \"circle-plus\" | \"circle-question-mark\" | \"circle-stop\" | \"circle-user-round\" | \"circle-user\" | \"circle-x\" | \"circle\" | \"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\" | \"cloud-upload\" | \"cloud\" | \"code-xml\" | \"code\" | \"coffee\" | \"cog\" | \"coins\" | \"columns-2\" | \"columns-3\" | \"columns-4\" | \"command\" | \"compass\" | \"container\" | \"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\" | \"crown\" | \"database\" | \"delete\" | \"dollar-sign\" | \"dot\" | \"download\" | \"earth\" | \"eighth-notes\" | \"ellipsis-vertical\" | \"ellipsis\" | \"eraser\" | \"expand\" | \"external-link\" | \"eye-closed\" | \"eye-off\" | \"eye\" | \"face-angry\" | \"face-expressionless\" | \"face-slightly-smiling\" | \"file-archive\" | \"file-chart-column-increasing\" | \"file-chart-column\" | \"file-code\" | \"file-down\" | \"file-exclamation-point\" | \"file-image\" | \"file-minus-corner\" | \"file-minus\" | \"file-pen-line\" | \"file-plus-corner\" | \"file-plus\" | \"file-search-corner\" | \"file-search\" | \"file-spreadsheet\" | \"file-text\" | \"file-up\" | \"file-user\" | \"file\" | \"files\" | \"film\" | \"flag-triangle-left\" | \"flag-triangle-right\" | \"flag\" | \"flame\" | \"flask-conical\" | \"folder-code\" | \"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\" | \"gauge\" | \"gem\" | \"gift\" | \"git-branch-minus\" | \"git-branch-plus\" | \"git-branch\" | \"git-commit-horizontal\" | \"git-commit-vertical\" | \"globe\" | \"graduation-cap\" | \"grip-horizontal\" | \"grip-vertical\" | \"hand-coins\" | \"hand\" | \"handshake\" | \"hard-drive\" | \"hash\" | \"heading-1\" | \"heading-2\" | \"heading-3\" | \"heading-4\" | \"heading-5\" | \"heading-6\" | \"heading\" | \"headset\" | \"heart-handshake\" | \"heart\" | \"hexagon\" | \"hourglass\" | \"house\" | \"id-card\" | \"image\" | \"images\" | \"inbox\" | \"indian-rupee\" | \"info\" | \"italic\" | \"key-round\" | \"key\" | \"keyboard\" | \"landmark\" | \"languages\" | \"laptop\" | \"layers\" | \"layout-dashboard\" | \"layout-grid\" | \"leaf\" | \"library-big\" | \"library\" | \"life-buoy\" | \"lightbulb\" | \"link-2\" | \"link\" | \"list-checks\" | \"list-filter\" | \"list-ordered\" | \"list-todo\" | \"list\" | \"loader-circle\" | \"loader\" | \"lock-keyhole\" | \"lock\" | \"log-in\" | \"log-out\" | \"logs\" | \"mail-check\" | \"mail\" | \"map-pin-house\" | \"map-pin\" | \"map-pinned\" | \"map\" | \"maximize-2\" | \"maximize\" | \"megaphone\" | \"menu\" | \"message-circle-dashed\" | \"message-circle-more\" | \"message-circle-question-mark\" | \"message-circle\" | \"message-square-more\" | \"message-square-text\" | \"message-square\" | \"messages-square\" | \"mic\" | \"minimize-2\" | \"minimize\" | \"minus\" | \"monitor\" | \"moon\" | \"mouse-pointer-2\" | \"mouse-pointer-click\" | \"mouse-pointer\" | \"move-left\" | \"move-right\" | \"move-up-right\" | \"network\" | \"newspaper\" | \"notebook-pen\" | \"notepad-text\" | \"octagon-alert\" | \"octagon-x\" | \"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\" | \"pen-line\" | \"pen\" | \"pencil-line\" | \"pencil\" | \"person-standing\" | \"phone-call\" | \"phone\" | \"pin\" | \"plane\" | \"play\" | \"plug\" | \"plus\" | \"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\" | \"save\" | \"scale\" | \"scissors\" | \"scroll-text\" | \"scroll\" | \"search\" | \"send-horizontal\" | \"send\" | \"server\" | \"settings-2\" | \"settings\" | \"share-2\" | \"share\" | \"shield-alert\" | \"shield-check\" | \"shield-user\" | \"shield\" | \"shopping-bag\" | \"shopping-basket\" | \"shopping-cart\" | \"shuffle\" | \"skip-forward\" | \"slash\" | \"sliders-horizontal\" | \"smartphone\" | \"sparkle\" | \"sparkles\" | \"sprout\" | \"square-arrow-out-up-right\" | \"square-bookmark\" | \"square-centerline-dashed-horizontal\" | \"square-centerline-dashed-vertical\" | \"square-check-big\" | \"square-check\" | \"square-dashed\" | \"square-pen\" | \"square-plus\" | \"square-terminal\" | \"square\" | \"star-off\" | \"star\" | \"store\" | \"strikethrough\" | \"sun-moon\" | \"sun\" | \"table\" | \"tablet\" | \"tag\" | \"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\" | \"trophy\" | \"truck\" | \"tv\" | \"type\" | \"underline\" | \"undo-2\" | \"undo\" | \"upload\" | \"user-check\" | \"user-cog\" | \"user-pen\" | \"user-plus\" | \"user-round-pen\" | \"user-round-plus\" | \"user-round-x\" | \"user-round\" | \"user-star\" | \"user\" | \"users-round\" | \"users\" | \"utensils\" | \"video\" | \"volume-1\" | \"volume-2\" | \"volume-off\" | \"volume-x\" | \"volume\" | \"wallet\" | \"wand-sparkles\" | \"waves-horizontal\" | \"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\" | \"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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"}
|