@nvidia-elements/core 0.0.4 → 0.0.6

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 (139) hide show
  1. package/CHANGELOG.md +16 -16
  2. package/dist/accordion/accordion2.js +4 -4
  3. package/dist/alert/alert-group2.js +1 -1
  4. package/dist/alert/alert2.js +1 -1
  5. package/dist/alert/define.js +1 -2
  6. package/dist/alert/define.js.map +1 -1
  7. package/dist/alert/index.d.ts +0 -1
  8. package/dist/alert/index.js +1 -2
  9. package/dist/avatar/avatar-group2.js +1 -1
  10. package/dist/avatar/avatar2.js +1 -1
  11. package/dist/badge/badge2.js +1 -1
  12. package/dist/breadcrumb/breadcrumb2.js +1 -1
  13. package/dist/bundles/index.d.ts +0 -2
  14. package/dist/bundles/index.js +3 -3
  15. package/dist/button/button2.js +1 -1
  16. package/dist/button-group/button-group2.js +1 -1
  17. package/dist/card/card2.js +4 -4
  18. package/dist/chat-message/chat-message2.js +1 -1
  19. package/dist/checkbox/checkbox-group2.js +1 -1
  20. package/dist/checkbox/checkbox2.js +1 -1
  21. package/dist/color/color2.js +1 -1
  22. package/dist/combobox/combobox2.js +1 -1
  23. package/dist/copy-button/copy-button2.js +1 -1
  24. package/dist/custom-elements-jsx.d.ts +0 -67
  25. package/dist/custom-elements-vue.d.ts +0 -67
  26. package/dist/custom-elements.json +0 -838
  27. package/dist/data.html.json +0 -65
  28. package/dist/date/date2.js +1 -1
  29. package/dist/datetime/datetime2.js +1 -1
  30. package/dist/dialog/dialog-footer2.js +1 -1
  31. package/dist/dialog/dialog-header2.js +1 -1
  32. package/dist/dialog/dialog2.js +1 -1
  33. package/dist/divider/divider2.js +1 -1
  34. package/dist/dot/dot2.js +1 -1
  35. package/dist/drawer/drawer-content2.js +1 -1
  36. package/dist/drawer/drawer-footer2.js +1 -1
  37. package/dist/drawer/drawer-header2.js +1 -1
  38. package/dist/drawer/drawer2.js +1 -1
  39. package/dist/dropdown/dropdown-footer2.js +1 -1
  40. package/dist/dropdown/dropdown-header2.js +1 -1
  41. package/dist/dropdown/dropdown2.js +1 -1
  42. package/dist/dropdown-group/dropdown-group.js +1 -1
  43. package/dist/dropzone/dropzone2.js +1 -1
  44. package/dist/file/file2.js +1 -1
  45. package/dist/format-datetime/format-datetime2.js +1 -1
  46. package/dist/format-relative-time/format-relative-time2.js +1 -1
  47. package/dist/forms/control/control2.js +1 -1
  48. package/dist/forms/control-group/control-group2.js +1 -1
  49. package/dist/forms/control-message/control-message2.js +1 -1
  50. package/dist/grid/cell/cell2.js +1 -1
  51. package/dist/grid/column/column2.js +1 -1
  52. package/dist/grid/footer/footer2.js +1 -1
  53. package/dist/grid/grid2.js +1 -1
  54. package/dist/grid/header/header2.js +1 -1
  55. package/dist/grid/placeholder/placeholder2.js +1 -1
  56. package/dist/grid/row/row2.js +1 -1
  57. package/dist/icon/define.js +1 -33
  58. package/dist/icon/define.js.map +1 -1
  59. package/dist/icon/icon.d.ts +1 -1
  60. package/dist/icon/icon.js +1 -1
  61. package/dist/icon/icon.js.map +1 -1
  62. package/dist/icon/icon2.js +2 -2
  63. package/dist/icon/icon2.js.map +1 -1
  64. package/dist/icon/icons.d.ts +0 -2
  65. package/dist/icon/icons.js.map +1 -1
  66. package/dist/icon-button/icon-button.js +1 -1
  67. package/dist/icon-button/icon-button.js.map +1 -1
  68. package/dist/icon-button/icon-button2.js +1 -1
  69. package/dist/index.js +1 -1
  70. package/dist/input/input-group2.js +1 -1
  71. package/dist/input/input2.js +1 -1
  72. package/dist/internal/services/global.service.js +1 -1
  73. package/dist/internal/services/global.service.js.map +1 -1
  74. package/dist/internal/types/index.d.ts +0 -2
  75. package/dist/internal/types/index.js.map +1 -1
  76. package/dist/logo/logo2.js +1 -1
  77. package/dist/menu/menu-item2.js +1 -1
  78. package/dist/menu/menu2.js +1 -1
  79. package/dist/month/month2.js +1 -1
  80. package/dist/notification/notification-group2.js +1 -1
  81. package/dist/notification/notification2.js +1 -1
  82. package/dist/page/page-panel/page-panel-content2.js +1 -1
  83. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  84. package/dist/page/page-panel/page-panel-header2.js +1 -1
  85. package/dist/page/page-panel/page-panel2.js +1 -1
  86. package/dist/page/page2.js +1 -1
  87. package/dist/page-header/page-header2.js +1 -1
  88. package/dist/page-loader/page-loader2.js +1 -1
  89. package/dist/pagination/pagination2.js +1 -1
  90. package/dist/panel/panel2.js +4 -4
  91. package/dist/password/password2.js +1 -1
  92. package/dist/preferences-input/preferences-input2.js +1 -1
  93. package/dist/progress-bar/progress-bar2.js +1 -1
  94. package/dist/progress-ring/progress-ring2.js +1 -1
  95. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  96. package/dist/pulse/pulse2.js +1 -1
  97. package/dist/radio/radio-group2.js +1 -1
  98. package/dist/radio/radio2.js +1 -1
  99. package/dist/range/range2.js +1 -1
  100. package/dist/resize-handle/resize-handle2.js +1 -1
  101. package/dist/search/search2.js +1 -1
  102. package/dist/select/select2.js +1 -1
  103. package/dist/skeleton/skeleton2.js +1 -1
  104. package/dist/sort-button/sort-button2.js +1 -1
  105. package/dist/sparkline/sparkline2.js +1 -1
  106. package/dist/star-rating/star-rating2.js +1 -1
  107. package/dist/steps/steps2.js +2 -2
  108. package/dist/switch/switch-group2.js +1 -1
  109. package/dist/switch/switch2.js +1 -1
  110. package/dist/tabs/tabs-group2.js +1 -1
  111. package/dist/tabs/tabs2.js +2 -2
  112. package/dist/tag/tag2.js +1 -1
  113. package/dist/textarea/textarea2.js +1 -1
  114. package/dist/time/time2.js +1 -1
  115. package/dist/toast/toast2.js +1 -1
  116. package/dist/toggletip/toggletip-footer2.js +1 -1
  117. package/dist/toggletip/toggletip-header2.js +1 -1
  118. package/dist/toggletip/toggletip2.js +1 -1
  119. package/dist/toolbar/toolbar2.js +1 -1
  120. package/dist/tooltip/tooltip2.js +1 -1
  121. package/dist/tree/tree-node2.js +1 -1
  122. package/dist/tree/tree2.js +1 -1
  123. package/dist/week/week2.js +1 -1
  124. package/package.json +6 -14
  125. package/dist/alert/alert-banner.d.ts +0 -22
  126. package/dist/alert/alert-banner.js +0 -6
  127. package/dist/alert/alert-banner.js.map +0 -1
  128. package/dist/alert/alert-banner2.js +0 -20
  129. package/dist/alert/alert-banner2.js.map +0 -1
  130. package/dist/scoped/index.d.ts +0 -11
  131. package/dist/scoped/index.js +0 -16
  132. package/dist/scoped/index.js.map +0 -1
  133. package/dist/test/demo.d.ts +0 -41
  134. package/dist/test/demo.js +0 -244
  135. package/dist/test/demo.js.map +0 -1
  136. package/dist/test/index.d.ts +0 -26
  137. package/dist/test/index.js +0 -36
  138. package/dist/test/index.js.map +0 -1
  139. package/dist/test/setup.d.ts +0 -1
@@ -112,71 +112,6 @@
112
112
  }
113
113
  ]
114
114
  },
115
- {
116
- "name": "nve-alert-banner",
117
- "description": "@deprecated true\n\nAn alert banner is an element that displays a brief, important message outside the context of the current page.\n---\n\n\n### **Slots:**\n - _default_ - default slot for nve-alert\n\n### **CSS Properties:**\n - **--gap** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/gap) _(default: undefined)_\n- **--color** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/color) _(default: undefined)_\n- **--padding** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/padding) _(default: undefined)_\n- **--font-size** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/font-size) _(default: undefined)_\n- **--background** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/background) _(default: undefined)_\n- **--border-radius** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius) _(default: undefined)_\n- **--border** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border) _(default: undefined)_",
118
- "attributes": [
119
- {
120
- "name": "status",
121
- "description": "Communicates the intent and semantic meaning of an element to help users understand the outcome of their actions.\n- `accent` Highlights important actions or draws attention to primary interactive elements.\n\n- `warning` Indicates cautionary actions that require careful consideration before proceeding.\n\n- `success` Represents positive outcomes, confirmations, or constructive actions.\n\n- `danger` Signals destructive or irreversible actions that need extra attention and confirmation.",
122
- "values": [
123
- { "name": "accent" },
124
- { "name": "warning" },
125
- { "name": "success" },
126
- { "name": "danger" },
127
- { "name": "default" }
128
- ]
129
- },
130
- {
131
- "name": "prominence",
132
- "description": "Controls the visual prominence to establish hierarchy and guide user attention.\n- `emphasis` Increases visual weight to draw attention and highlight important elements.",
133
- "values": [{ "name": "emphasis" }, { "name": "default" }]
134
- },
135
- {
136
- "name": "color",
137
- "description": "Defines a base color from the theme color palette",
138
- "values": [
139
- { "name": "red-cardinal" },
140
- { "name": "gray-slate" },
141
- { "name": "gray-denim" },
142
- { "name": "blue-indigo" },
143
- { "name": "blue-cobalt" },
144
- { "name": "blue-sky" },
145
- { "name": "teal-cyan" },
146
- { "name": "green-mint" },
147
- { "name": "teal-seafoam" },
148
- { "name": "green-grass" },
149
- { "name": "yellow-amber" },
150
- { "name": "orange-pumpkin" },
151
- { "name": "red-tomato" },
152
- { "name": "pink-magenta" },
153
- { "name": "purple-plum" },
154
- { "name": "purple-violet" },
155
- { "name": "purple-lavender" },
156
- { "name": "pink-rose" },
157
- { "name": "green-jade" },
158
- { "name": "lime-pear" },
159
- { "name": "yellow-nova" },
160
- { "name": "brand-green" }
161
- ]
162
- },
163
- {
164
- "name": "container",
165
- "description": "Demonstrates different container styles to accommodate visual weight and context.\n- `full` Element container optimizes for filling its container bounds.",
166
- "values": [{ "name": "full" }, { "name": "default" }]
167
- }
168
- ],
169
- "references": [
170
- {
171
- "name": "aria",
172
- "url": "https://www.w3.org/WAI/ARIA/apg/patterns/alert/"
173
- },
174
- {
175
- "name": "markdown",
176
- "url": "## nve-alert-banner\n\nAn alert banner is an element that displays a brief, important message outside the context of the current page.\n\n### Import\n\n```javascript\nimport '/define.js';\n```\n\n### Slots\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| (default) | `string` | default slot for nve-alert |\n\n### Properties / Attributes\n\n| property (attribute) | value | description |\n| -------------------- | ----- | ----------- |\n| status | `'accent' \\| 'warning' \\| 'success' \\| 'danger' \\| \"default\"` | Communicates the intent and semantic meaning of an element to help users understand the outcome of their actions. - `accent` Highlights important actions or draws attention to primary interactive elements. - `warning` Indicates cautionary actions that require careful consideration before proceeding. - `success` Represents positive outcomes, confirmations, or constructive actions. - `danger` Signals destructive or irreversible actions that need extra attention and confirmation. |\n| prominence | `'emphasis' \\| \"default\"` | Controls the visual prominence to establish hierarchy and guide user attention. - `emphasis` Increases visual weight to draw attention and highlight important elements. |\n| color | `'red-cardinal' \\| 'gray-slate' \\| 'gray-denim' \\| 'blue-indigo' \\| 'blue-cobalt' \\| 'blue-sky' \\| 'teal-cyan' \\| 'green-mint' \\| 'teal-seafoam' \\| 'green-grass' \\| 'yellow-amber' \\| 'orange-pumpkin' \\| 'red-tomato' \\| 'pink-magenta' \\| 'purple-plum' \\| 'purple-violet' \\| 'purple-lavender' \\| 'pink-rose' \\| 'green-jade' \\| 'lime-pear' \\| 'yellow-nova' \\| 'brand-green'` | Defines a base color from the theme color palette |\n| container | `'full' \\| \"default\"` | Demonstrates different container styles to accommodate visual weight and context. - `full` Element container optimizes for filling its container bounds. |\n\n### CSS Properties\n\n| name | value | description |\n| ---- | ----- | ----------- |\n| --gap | `string` | [MDN](https://mdn.dev/CSS/gap) |\n| --color | `string` | [MDN](https://mdn.dev/CSS/color) |\n| --padding | `string` | [MDN](https://mdn.dev/CSS/padding) |\n| --font-size | `string` | [MDN](https://mdn.dev/CSS/font-size) |\n| --background | `string` | [MDN](https://mdn.dev/CSS/background) |\n| --border-radius | `string` | [MDN](https://mdn.dev/CSS/border-radius) |\n| --border | `string` | [MDN](https://mdn.dev/CSS/border) |"
177
- }
178
- ]
179
- },
180
115
  {
181
116
  "name": "nve-alert-group",
182
117
  "description": "An alert group is an element that displays a group of related and important messages in a way that attracts the user's attention without interrupting the user's task.\n---\n\n\n### **Slots:**\n - _default_ - default slot for nve-alert\n\n### **CSS Properties:**\n - **--gap** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/gap) _(default: undefined)_\n- **--font-size** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/font-size) _(default: undefined)_\n- **--padding** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/padding) _(default: undefined)_\n- **--border** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border) _(default: undefined)_\n- **--border-radius** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius) _(default: undefined)_\n- **--color** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/color) _(default: undefined)_\n- **--background** - [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/background) _(default: undefined)_",
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-date",
22
- version: "0.0.4"
22
+ version: "0.0.6"
23
23
  };
24
24
  }
25
25
  static {
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-datetime",
22
- version: "0.0.4"
22
+ version: "0.0.6"
23
23
  };
24
24
  }
25
25
  static {
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dialog-footer",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-dialog"]
16
16
  };
17
17
  }
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dialog-header",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-dialog"]
16
16
  };
17
17
  }
@@ -30,7 +30,7 @@ var h = class extends f {
30
30
  static {
31
31
  this.metadata = {
32
32
  tag: "nve-dialog",
33
- version: "0.0.4"
33
+ version: "0.0.6"
34
34
  };
35
35
  }
36
36
  static {
@@ -15,7 +15,7 @@ var s = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-divider",
18
- version: "0.0.4"
18
+ version: "0.0.6"
19
19
  };
20
20
  }
21
21
  render() {
package/dist/dot/dot2.js CHANGED
@@ -16,7 +16,7 @@ var l = class extends o {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-dot",
19
- version: "0.0.4"
19
+ version: "0.0.6"
20
20
  };
21
21
  }
22
22
  render() {
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-drawer-content",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-drawer"]
16
16
  };
17
17
  }
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-drawer-footer",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-drawer"]
16
16
  };
17
17
  }
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-drawer-header",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-drawer"]
16
16
  };
17
17
  }
@@ -28,7 +28,7 @@ var p = class extends u {
28
28
  static {
29
29
  this.metadata = {
30
30
  tag: "nve-drawer",
31
- version: "0.0.4"
31
+ version: "0.0.6"
32
32
  };
33
33
  }
34
34
  static {
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dropdown-footer",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-dropdown"]
16
16
  };
17
17
  }
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dropdown-header",
14
- version: "0.0.4",
14
+ version: "0.0.6",
15
15
  parents: ["nve-dropdown"]
16
16
  };
17
17
  }
@@ -21,7 +21,7 @@ var p = class extends l {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-dropdown",
24
- version: "0.0.4"
24
+ version: "0.0.6"
25
25
  };
26
26
  }
27
27
  static {
@@ -14,7 +14,7 @@ var d = class extends c {
14
14
  static {
15
15
  this.metadata = {
16
16
  tag: "nve-dropdown-group",
17
- version: "0.0.4",
17
+ version: "0.0.6",
18
18
  children: ["nve-dropdown"]
19
19
  };
20
20
  }
@@ -20,7 +20,7 @@ var g = class extends h(d) {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-dropzone",
23
- version: "0.0.4",
23
+ version: "0.0.6",
24
24
  validators: [l, c],
25
25
  valueSchema: {
26
26
  type: "array",
@@ -11,7 +11,7 @@ var a = class extends n {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-file",
14
- version: "0.0.4"
14
+ version: "0.0.6"
15
15
  };
16
16
  }
17
17
  connectedCallback() {
@@ -13,7 +13,7 @@ var c = class extends a {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-format-datetime",
16
- version: "0.0.4"
16
+ version: "0.0.6"
17
17
  };
18
18
  }
19
19
  get #e() {
@@ -16,7 +16,7 @@ var c = class extends a {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-format-relative-time",
19
- version: "0.0.4"
19
+ version: "0.0.6"
20
20
  };
21
21
  }
22
22
  #e;
@@ -40,7 +40,7 @@ var C = class extends v {
40
40
  static {
41
41
  this.metadata = {
42
42
  tag: "nve-control",
43
- version: "0.0.4"
43
+ version: "0.0.6"
44
44
  };
45
45
  }
46
46
  render() {
@@ -25,7 +25,7 @@ var h = class extends f {
25
25
  static {
26
26
  this.metadata = {
27
27
  tag: "nve-control-group",
28
- version: "0.0.4"
28
+ version: "0.0.6"
29
29
  };
30
30
  }
31
31
  render() {
@@ -23,7 +23,7 @@ var l = {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-control-message",
26
- version: "0.0.4"
26
+ version: "0.0.6"
27
27
  };
28
28
  }
29
29
  static {
@@ -10,7 +10,7 @@ var a = class extends r {
10
10
  static {
11
11
  this.metadata = {
12
12
  tag: "nve-grid-cell",
13
- version: "0.0.4"
13
+ version: "0.0.6"
14
14
  };
15
15
  }
16
16
  render() {
@@ -13,7 +13,7 @@ var l = class r extends o {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-grid-column",
16
- version: "0.0.4"
16
+ version: "0.0.6"
17
17
  };
18
18
  }
19
19
  get #e() {
@@ -15,7 +15,7 @@ var s = class extends a {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-grid-footer",
18
- version: "0.0.4"
18
+ version: "0.0.6"
19
19
  };
20
20
  }
21
21
  static {
@@ -22,7 +22,7 @@ var y = class extends g {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-grid",
25
- version: "0.0.4",
25
+ version: "0.0.6",
26
26
  children: [
27
27
  d.metadata.tag,
28
28
  f.metadata.tag,
@@ -20,7 +20,7 @@ var h = class extends f {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-grid-header",
23
- version: "0.0.4",
23
+ version: "0.0.6",
24
24
  children: [l.metadata.tag]
25
25
  };
26
26
  }
@@ -10,7 +10,7 @@ var a = class extends r {
10
10
  static {
11
11
  this.metadata = {
12
12
  tag: "nve-grid-placeholder",
13
- version: "0.0.4"
13
+ version: "0.0.6"
14
14
  };
15
15
  }
16
16
  render() {
@@ -15,7 +15,7 @@ var u = class extends s {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-grid-row",
18
- version: "0.0.4",
18
+ version: "0.0.6",
19
19
  children: [a.metadata.tag]
20
20
  };
21
21
  }
@@ -1,38 +1,6 @@
1
1
  import { define as e } from "../internal/utils/dom.js";
2
2
  import { Icon as t, mergeIcons as n } from "./icon2.js";
3
- e(t), customElements.get(t.metadata.tag) && n(customElements.get(t.metadata.tag)), t.alias({
4
- "chevron-right": "chevron",
5
- "chevron-down": "chevron",
6
- "chevron-left": "chevron",
7
- "additional-actions": "more-actions",
8
- analytics: "pie-chart",
9
- annotation: "transparent-box",
10
- "app-switcher": "switch-apps",
11
- assist: "chat-bubble",
12
- checkmark: "check",
13
- date: "calendar",
14
- docs: "book",
15
- "expand-full-screen": "maximize",
16
- "expand-panel": "arrow-stop",
17
- "collapse-panel": "arrow-stop",
18
- failed: "x-circle",
19
- "favorite-filled": "star",
20
- "favorite-outline": "star-stroke",
21
- information: "information-circle-stroke",
22
- maintenance: "wrench",
23
- "navigate-to": "arrow",
24
- "open-external-link": "arrow-angle",
25
- location: "map-pin",
26
- "pinned-1": "pin",
27
- project: "folder",
28
- settings: "gear",
29
- user: "person",
30
- "video-pause": "pause",
31
- "video-play": "play",
32
- "video-stop": "stop",
33
- visible: "eye",
34
- warning: "exclamation-triangle"
35
- });
3
+ e(t), customElements.get(t.metadata.tag) && n(customElements.get(t.metadata.tag));
36
4
  //#endregion
37
5
 
38
6
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/icon/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Icon, mergeIcons } from '@nvidia-elements/core/icon';\n\ndefine(Icon);\nif (customElements.get(Icon.metadata.tag)) {\n mergeIcons(customElements.get(Icon.metadata.tag) as typeof Icon);\n}\n\n/** @deprecated aliases */\nIcon.alias({\n 'chevron-right': 'chevron',\n 'chevron-down': 'chevron',\n 'chevron-left': 'chevron',\n 'additional-actions': 'more-actions',\n analytics: 'pie-chart',\n annotation: 'transparent-box',\n 'app-switcher': 'switch-apps',\n assist: 'chat-bubble',\n checkmark: 'check',\n date: 'calendar',\n docs: 'book',\n 'expand-full-screen': 'maximize',\n 'expand-panel': 'arrow-stop',\n 'collapse-panel': 'arrow-stop',\n failed: 'x-circle',\n 'favorite-filled': 'star',\n 'favorite-outline': 'star-stroke',\n information: 'information-circle-stroke',\n maintenance: 'wrench',\n 'navigate-to': 'arrow',\n 'open-external-link': 'arrow-angle',\n location: 'map-pin',\n 'pinned-1': 'pin',\n project: 'folder',\n settings: 'gear',\n user: 'person',\n 'video-pause': 'pause',\n 'video-play': 'play',\n 'video-stop': 'stop',\n visible: 'eye',\n warning: 'exclamation-triangle'\n});\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-icon': Icon;\n }\n}\n"],"mappings":";;AAMA,EAAO,EAAK,EACR,eAAe,IAAI,EAAK,SAAS,IAAI,IACvC,EAAW,eAAe,IAAI,EAAK,SAAS,IAAI,CAAgB,EAIlE,EAAK,MAAM;CACT,iBAAiB;CACjB,gBAAgB;CAChB,gBAAgB;CAChB,sBAAsB;CACtB,WAAW;CACX,YAAY;CACZ,gBAAgB;CAChB,QAAQ;CACR,WAAW;CACX,MAAM;CACN,MAAM;CACN,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,QAAQ;CACR,mBAAmB;CACnB,oBAAoB;CACpB,aAAa;CACb,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,UAAU;CACV,YAAY;CACZ,SAAS;CACT,UAAU;CACV,MAAM;CACN,eAAe;CACf,cAAc;CACd,cAAc;CACd,SAAS;CACT,SAAS;CACV,CAAC"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/icon/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Icon, mergeIcons } from '@nvidia-elements/core/icon';\n\ndefine(Icon);\nif (customElements.get(Icon.metadata.tag)) {\n mergeIcons(customElements.get(Icon.metadata.tag) as typeof Icon);\n}\n\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-icon': Icon;\n }\n}\n"],"mappings":";;AAMA,EAAO,EAAK,EACR,eAAe,IAAI,EAAK,SAAS,IAAI,IACvC,EAAW,eAAe,IAAI,EAAK,SAAS,IAAI,CAAgB"}
@@ -1,7 +1,7 @@
1
1
  import { PropertyValues, LitElement } from 'lit';
2
2
  import { Size } from '../internal';
3
3
  import { IconName, IconSVG } from './icons.js';
4
- export type { IconName, IconNames, IconSVG } from './icons.js';
4
+ export type { IconName, IconSVG } from './icons.js';
5
5
  declare global {
6
6
  var _NVE_SSR_ICON_REGISTRY: Record<string, string> | undefined;
7
7
  }
package/dist/icon/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/icon/icon.css?inline
2
- var e = ":host{--color: var(--nve-sys-text-muted-color);--width: var(--nve-ref-size-400);--height: var(--nve-ref-size-400);display:inline-flex;contain:layout}[internal-host]{--_width: calc(var(--width) * var(--nve-ref-scale-size, 1));--_height: calc(var(--height) * var(--nve-ref-scale-size, 1));color:var(--color);width:var(--_width);height:var(--_height);place-self:center;display:flex;place-items:center}svg{width:var(--_width);height:var(--_height)}:host([outline]){outline:1px dashed var(--color)}:host([size=\"xs\"]){--width: var(--nve-ref-size-200);--height: var(--nve-ref-size-200)}:host([size=\"sm\"]){--width: var(--nve-ref-size-300);--height: var(--nve-ref-size-300)}:host([size=\"lg\"]){--width: var(--nve-ref-size-500);--height: var(--nve-ref-size-500)}:host([size=\"xl\"]){--width: var(--nve-ref-size-600);--height: var(--nve-ref-size-600)}:host([name=\"arrow\"]),:host([name=\"arrow-angle\"]),:host([name=\"cancel\"]),:host([name=\"caret\"]),:host([name=\"chevron\"]),:host([name=\"double-chevron\"]){--nve-ref-scale-size: .8}:host([direction=\"up\"]){transform:rotate(0)}:host([direction=\"down\"]){transform:rotate(180deg)}:host([direction=\"left\"]){transform:rotate(270deg)}:host([direction=\"right\"]){transform:rotate(90deg)}:host([status=\"success\"]){--color: var(--nve-sys-support-success-color)}:host([status=\"warning\"]){--color: var(--nve-sys-support-warning-color)}:host([status=\"danger\"]){--color: var(--nve-sys-support-danger-color)}:host([status=\"accent\"]){--color: var(--nve-sys-support-accent-color)}:host([name=\"chevron-left\"]),:host([name=\"beginning\"]),:host([name=\"collapse-panel\"]),:host([name=\"navigate-back\"]){transform:rotate(270deg)}:host([name=\"chevron-right\"]),:host([name=\"end\"]),:host([name=\"expand-panel\"]),:host([name=\"navigate-to\"]),:host([name=\"carousel-horizontal\"]){transform:rotate(90deg)}:host([name=\"chevron-down\"]),:host([name*=\"thumbs-down\"]){transform:rotate(180deg)}";
2
+ var e = ":host{--color: var(--nve-sys-text-muted-color);--width: var(--nve-ref-size-400);--height: var(--nve-ref-size-400);display:inline-flex;contain:layout}[internal-host]{--_width: calc(var(--width) * var(--nve-ref-scale-size, 1));--_height: calc(var(--height) * var(--nve-ref-scale-size, 1));color:var(--color);width:var(--_width);height:var(--_height);place-self:center;display:flex;place-items:center}svg{width:var(--_width);height:var(--_height)}:host([outline]){outline:1px dashed var(--color)}:host([size=\"xs\"]){--width: var(--nve-ref-size-200);--height: var(--nve-ref-size-200)}:host([size=\"sm\"]){--width: var(--nve-ref-size-300);--height: var(--nve-ref-size-300)}:host([size=\"lg\"]){--width: var(--nve-ref-size-500);--height: var(--nve-ref-size-500)}:host([size=\"xl\"]){--width: var(--nve-ref-size-600);--height: var(--nve-ref-size-600)}:host([name=\"arrow\"]),:host([name=\"arrow-angle\"]),:host([name=\"cancel\"]),:host([name=\"caret\"]),:host([name=\"chevron\"]),:host([name=\"double-chevron\"]){--nve-ref-scale-size: .8}:host([direction=\"up\"]){transform:rotate(0)}:host([direction=\"down\"]){transform:rotate(180deg)}:host([direction=\"left\"]){transform:rotate(270deg)}:host([direction=\"right\"]){transform:rotate(90deg)}:host([status=\"success\"]){--color: var(--nve-sys-support-success-color)}:host([status=\"warning\"]){--color: var(--nve-sys-support-warning-color)}:host([status=\"danger\"]){--color: var(--nve-sys-support-danger-color)}:host([status=\"accent\"]){--color: var(--nve-sys-support-accent-color)}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","names":[],"sources":["../../src/icon/icon.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\n:host {\n --color: var(--nve-sys-text-muted-color);\n --width: var(--nve-ref-size-400);\n --height: var(--nve-ref-size-400);\n display: inline-flex;\n contain: layout;\n}\n\n[internal-host] {\n --_width: calc(var(--width) * var(--nve-ref-scale-size, 1));\n --_height: calc(var(--height) * var(--nve-ref-scale-size, 1));\n color: var(--color);\n width: var(--_width);\n height: var(--_height);\n place-self: center;\n display: flex;\n place-items: center;\n}\n\nsvg {\n width: var(--_width);\n height: var(--_height);\n}\n\n:host([outline]) {\n outline: 1px dashed var(--color);\n}\n\n:host([size='xs']) {\n --width: var(--nve-ref-size-200);\n --height: var(--nve-ref-size-200);\n}\n\n:host([size='sm']) {\n --width: var(--nve-ref-size-300);\n --height: var(--nve-ref-size-300);\n}\n\n:host([size='lg']) {\n --width: var(--nve-ref-size-500);\n --height: var(--nve-ref-size-500);\n}\n\n:host([size='xl']) {\n --width: var(--nve-ref-size-600);\n --height: var(--nve-ref-size-600);\n}\n\n/* icons scaled down by 20% to match misalignment export bug in figma icon */\n:host([name='arrow']),\n:host([name='arrow-angle']),\n:host([name='cancel']),\n:host([name='caret']),\n:host([name='chevron']),\n:host([name='double-chevron']) {\n --nve-ref-scale-size: 0.8;\n}\n\n:host([direction='up']) {\n transform: rotate(0deg);\n}\n\n:host([direction='down']) {\n transform: rotate(180deg);\n}\n\n:host([direction='left']) {\n transform: rotate(270deg);\n}\n\n:host([direction='right']) {\n transform: rotate(90deg);\n}\n\n:host([status='success']) {\n --color: var(--nve-sys-support-success-color);\n}\n\n:host([status='warning']) {\n --color: var(--nve-sys-support-warning-color);\n}\n\n:host([status='danger']) {\n --color: var(--nve-sys-support-danger-color);\n}\n\n:host([status='accent']) {\n --color: var(--nve-sys-support-accent-color);\n}\n\n/** @deprecated (left) 0.14.0 */\n:host([name='chevron-left']),\n:host([name='beginning']),\n:host([name='collapse-panel']),\n:host([name='navigate-back']) {\n transform: rotate(270deg);\n}\n\n/** @deprecated (right) 0.14.0 */\n:host([name='chevron-right']),\n:host([name='end']),\n:host([name='expand-panel']),\n:host([name='navigate-to']),\n:host([name='carousel-horizontal']) {\n transform: rotate(90deg);\n}\n\n/** @deprecated (down) 0.14.0 */\n:host([name='chevron-down']),\n:host([name*='thumbs-down']) {\n transform: rotate(180deg);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"icon.js","names":[],"sources":["../../src/icon/icon.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\n:host {\n --color: var(--nve-sys-text-muted-color);\n --width: var(--nve-ref-size-400);\n --height: var(--nve-ref-size-400);\n display: inline-flex;\n contain: layout;\n}\n\n[internal-host] {\n --_width: calc(var(--width) * var(--nve-ref-scale-size, 1));\n --_height: calc(var(--height) * var(--nve-ref-scale-size, 1));\n color: var(--color);\n width: var(--_width);\n height: var(--_height);\n place-self: center;\n display: flex;\n place-items: center;\n}\n\nsvg {\n width: var(--_width);\n height: var(--_height);\n}\n\n:host([outline]) {\n outline: 1px dashed var(--color);\n}\n\n:host([size='xs']) {\n --width: var(--nve-ref-size-200);\n --height: var(--nve-ref-size-200);\n}\n\n:host([size='sm']) {\n --width: var(--nve-ref-size-300);\n --height: var(--nve-ref-size-300);\n}\n\n:host([size='lg']) {\n --width: var(--nve-ref-size-500);\n --height: var(--nve-ref-size-500);\n}\n\n:host([size='xl']) {\n --width: var(--nve-ref-size-600);\n --height: var(--nve-ref-size-600);\n}\n\n/* icons scaled down by 20% to match misalignment export bug in figma icon */\n:host([name='arrow']),\n:host([name='arrow-angle']),\n:host([name='cancel']),\n:host([name='caret']),\n:host([name='chevron']),\n:host([name='double-chevron']) {\n --nve-ref-scale-size: 0.8;\n}\n\n:host([direction='up']) {\n transform: rotate(0deg);\n}\n\n:host([direction='down']) {\n transform: rotate(180deg);\n}\n\n:host([direction='left']) {\n transform: rotate(270deg);\n}\n\n:host([direction='right']) {\n transform: rotate(90deg);\n}\n\n:host([status='success']) {\n --color: var(--nve-sys-support-success-color);\n}\n\n:host([status='warning']) {\n --color: var(--nve-sys-support-warning-color);\n}\n\n:host([status='danger']) {\n --color: var(--nve-sys-support-danger-color);\n}\n\n:host([status='accent']) {\n --color: var(--nve-sys-support-accent-color);\n}\n\n"],"mappings":""}
@@ -16,7 +16,7 @@ var f = class e extends o {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-icon",
19
- version: "0.0.4"
19
+ version: "0.0.6"
20
20
  };
21
21
  }
22
22
  static {
@@ -86,7 +86,7 @@ n([l({
86
86
  })], f.prototype, "name", void 0), n([d()], f.prototype, "svg", void 0);
87
87
  function p(t) {
88
88
  if (typeof globalThis.customElements?.get == "function") {
89
- let n = e(t.metadata.version), r = e("0.0.4");
89
+ let n = e(t.metadata.version), r = e("0.0.6");
90
90
  n.minor <= r.minor && n.major <= r.major && (t._icons = {
91
91
  ...t._icons,
92
92
  ...i
@@ -1 +1 @@
1
- {"version":3,"file":"icon2.js","names":["#iconString","#asyncRender","#render"],"sources":["../../src/icon/icon.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, isServer, LitElement } from 'lit';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport type { Size } from '@nvidia-elements/core/internal';\nimport { attachInternals, parseVersion, useStyles } from '@nvidia-elements/core/internal';\nimport type { IconName, IconSVG } from './icons.js';\nimport { ICON_IMPORTS } from './icons.js';\nimport styles from './icon.css?inline';\n\nexport type { IconName, IconNames, IconSVG } from './icons.js';\n\ndeclare global {\n var _NVE_SSR_ICON_REGISTRY: Record<string, string> | undefined;\n}\n\n/**\n * @element nve-icon\n * @since 0.1.3\n * @entrypoint \\@nvidia-elements/core/icon\n * @description An icon is a graphic symbol designed to visually show the purpose of an interface element.\n * @cssprop --color\n * @cssprop --width\n * @cssprop --height\n * @slot - Custom SVG content to override the named icon\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img\n */\nexport class Icon extends LitElement {\n /**\n * Visual treatment to represent current support status.\n */\n @property({ type: String, reflect: true }) status?: 'warning' | 'danger' | 'success' | 'accent';\n\n /**\n * Controls the bounding box size of the icon given a t-shirt style value.\n */\n @property({ type: String, reflect: true }) size?: Size | 'xs' | 'xl';\n\n /**\n * Sets the direction of the icon. Only supported by expand-panel/collapse-panel (horizontal axis) and arrow/caret/chevron icons (4-directions)\n */\n @property({ type: String, reflect: true }) direction?: 'up' | 'down' | 'left' | 'right';\n\n /**\n * The name of the icon SVG sprite to render.\n */\n @property({ type: String, reflect: true }) name?: IconName;\n\n @state() private svg: string;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-icon',\n version: '0.0.0'\n };\n\n static _icons: { [key: string]: IconSVG } = ICON_IMPORTS;\n\n // eslint-disable-next-line no-restricted-syntax\n private static get _iconsRegistry() {\n return this.registeredIcon?._icons ?? Icon._icons;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n private static set _iconsRegistry(icons: { [key: string]: IconSVG }) {\n this.registeredIcon._icons = { ...Icon._iconsRegistry, ...icons };\n }\n\n // eslint-disable-next-line no-restricted-syntax\n private static get registeredIcon() {\n return customElements.get(Icon.metadata.tag) as typeof Icon;\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n get #iconString() {\n return isServer && globalThis._NVE_SSR_ICON_REGISTRY ? globalThis._NVE_SSR_ICON_REGISTRY[this.name!] : this.svg;\n }\n\n render() {\n return html`\n <div internal-host aria-hidden=\"true\"><slot>${unsafeSVG(this.#iconString)}</slot></div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'img';\n globalThis?.document?.addEventListener(\n `${Icon.metadata.tag}-${this.name}`,\n this.#asyncRender.bind(this) as unknown as EventListener\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis?.document?.removeEventListener(\n `${Icon.metadata.tag}-${this.name}`,\n this.#asyncRender.bind(this) as unknown as EventListener\n );\n }\n\n static async add(icons: { [key: string]: IconSVG }) {\n if (globalThis.customElements?.whenDefined) {\n await globalThis.customElements.whenDefined(Icon.metadata.tag);\n Icon._iconsRegistry = icons;\n Object.keys(icons).forEach(name =>\n globalThis?.document?.dispatchEvent(new CustomEvent(`${Icon.metadata.tag}-${name}`, { detail: icons[name] }))\n );\n }\n }\n\n static alias(aliases: { [key: string]: IconName | string }) {\n // whenDefined has no rejection state\n if (globalThis.customElements?.whenDefined) {\n /* eslint-disable @typescript-eslint/no-floating-promises */\n globalThis.customElements.whenDefined(Icon.metadata.tag).then(() => {\n Object.keys(aliases).forEach(alias => {\n Icon._iconsRegistry[alias] = Icon._iconsRegistry[aliases[alias]!]!;\n globalThis?.document?.dispatchEvent(\n new CustomEvent(`${Icon.metadata.tag}-${alias}`, { detail: Icon._iconsRegistry[alias] })\n );\n });\n });\n }\n }\n\n async updated(props: PropertyValues<this>) {\n super.updated(props);\n await this.#render();\n }\n\n async #asyncRender(event: CustomEvent<IconSVG>) {\n if (this.isConnected && event.detail && this.svg !== (await event.detail.svg())) {\n this.#render();\n }\n }\n\n async #render() {\n if (!this.name) return;\n const svg = await (this.name.endsWith('.svg')\n ? fetch(this.name).then(res => res.text())\n : (Icon._iconsRegistry[this.name]?.svg() ?? Promise.resolve('')));\n Icon._iconsRegistry[this.name] = { svg: () => svg, ...Icon._iconsRegistry[this.name] };\n this.svg = svg;\n }\n}\n\nexport function mergeIcons(RegisteredIcon: typeof Icon) {\n if (typeof globalThis.customElements?.get === 'function') {\n const registered = parseVersion(RegisteredIcon.metadata.version);\n const current = parseVersion('0.0.0');\n\n // determine if an older icon already registered and if so, merge the icons with the latest svgs\n if (registered.minor <= current.minor && registered.major <= current.major) {\n RegisteredIcon._icons = { ...RegisteredIcon._icons, ...ICON_IMPORTS };\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"icon2.js","names":["#iconString","#asyncRender","#render"],"sources":["../../src/icon/icon.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, isServer, LitElement } from 'lit';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport type { Size } from '@nvidia-elements/core/internal';\nimport { attachInternals, parseVersion, useStyles } from '@nvidia-elements/core/internal';\nimport type { IconName, IconSVG } from './icons.js';\nimport { ICON_IMPORTS } from './icons.js';\nimport styles from './icon.css?inline';\n\nexport type { IconName, IconSVG } from './icons.js';\n\ndeclare global {\n var _NVE_SSR_ICON_REGISTRY: Record<string, string> | undefined;\n}\n\n/**\n * @element nve-icon\n * @since 0.1.3\n * @entrypoint \\@nvidia-elements/core/icon\n * @description An icon is a graphic symbol designed to visually show the purpose of an interface element.\n * @cssprop --color\n * @cssprop --width\n * @cssprop --height\n * @slot - Custom SVG content to override the named icon\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img\n */\nexport class Icon extends LitElement {\n /**\n * Visual treatment to represent current support status.\n */\n @property({ type: String, reflect: true }) status?: 'warning' | 'danger' | 'success' | 'accent';\n\n /**\n * Controls the bounding box size of the icon given a t-shirt style value.\n */\n @property({ type: String, reflect: true }) size?: Size | 'xs' | 'xl';\n\n /**\n * Sets the direction of the icon. Only supported by expand-panel/collapse-panel (horizontal axis) and arrow/caret/chevron icons (4-directions)\n */\n @property({ type: String, reflect: true }) direction?: 'up' | 'down' | 'left' | 'right';\n\n /**\n * The name of the icon SVG sprite to render.\n */\n @property({ type: String, reflect: true }) name?: IconName;\n\n @state() private svg: string;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-icon',\n version: '0.0.0'\n };\n\n static _icons: { [key: string]: IconSVG } = ICON_IMPORTS;\n\n // eslint-disable-next-line no-restricted-syntax\n private static get _iconsRegistry() {\n return this.registeredIcon?._icons ?? Icon._icons;\n }\n\n // eslint-disable-next-line no-restricted-syntax\n private static set _iconsRegistry(icons: { [key: string]: IconSVG }) {\n this.registeredIcon._icons = { ...Icon._iconsRegistry, ...icons };\n }\n\n // eslint-disable-next-line no-restricted-syntax\n private static get registeredIcon() {\n return customElements.get(Icon.metadata.tag) as typeof Icon;\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n get #iconString() {\n return isServer && globalThis._NVE_SSR_ICON_REGISTRY ? globalThis._NVE_SSR_ICON_REGISTRY[this.name!] : this.svg;\n }\n\n render() {\n return html`\n <div internal-host aria-hidden=\"true\"><slot>${unsafeSVG(this.#iconString)}</slot></div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'img';\n globalThis?.document?.addEventListener(\n `${Icon.metadata.tag}-${this.name}`,\n this.#asyncRender.bind(this) as unknown as EventListener\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis?.document?.removeEventListener(\n `${Icon.metadata.tag}-${this.name}`,\n this.#asyncRender.bind(this) as unknown as EventListener\n );\n }\n\n static async add(icons: { [key: string]: IconSVG }) {\n if (globalThis.customElements?.whenDefined) {\n await globalThis.customElements.whenDefined(Icon.metadata.tag);\n Icon._iconsRegistry = icons;\n Object.keys(icons).forEach(name =>\n globalThis?.document?.dispatchEvent(new CustomEvent(`${Icon.metadata.tag}-${name}`, { detail: icons[name] }))\n );\n }\n }\n\n static alias(aliases: { [key: string]: IconName | string }) {\n // whenDefined has no rejection state\n if (globalThis.customElements?.whenDefined) {\n /* eslint-disable @typescript-eslint/no-floating-promises */\n globalThis.customElements.whenDefined(Icon.metadata.tag).then(() => {\n Object.keys(aliases).forEach(alias => {\n Icon._iconsRegistry[alias] = Icon._iconsRegistry[aliases[alias]!]!;\n globalThis?.document?.dispatchEvent(\n new CustomEvent(`${Icon.metadata.tag}-${alias}`, { detail: Icon._iconsRegistry[alias] })\n );\n });\n });\n }\n }\n\n async updated(props: PropertyValues<this>) {\n super.updated(props);\n await this.#render();\n }\n\n async #asyncRender(event: CustomEvent<IconSVG>) {\n if (this.isConnected && event.detail && this.svg !== (await event.detail.svg())) {\n this.#render();\n }\n }\n\n async #render() {\n if (!this.name) return;\n const svg = await (this.name.endsWith('.svg')\n ? fetch(this.name).then(res => res.text())\n : (Icon._iconsRegistry[this.name]?.svg() ?? Promise.resolve('')));\n Icon._iconsRegistry[this.name] = { svg: () => svg, ...Icon._iconsRegistry[this.name] };\n this.svg = svg;\n }\n}\n\nexport function mergeIcons(RegisteredIcon: typeof Icon) {\n if (typeof globalThis.customElements?.get === 'function') {\n const registered = parseVersion(RegisteredIcon.metadata.version);\n const current = parseVersion('0.0.0');\n\n // determine if an older icon already registered and if so, merge the icons with the latest svgs\n if (registered.minor <= current.minor && registered.major <= current.major) {\n RegisteredIcon._icons = { ...RegisteredIcon._icons, ...ICON_IMPORTS };\n }\n }\n}\n"],"mappings":"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"}
@@ -278,6 +278,4 @@ export declare const ICON_IMPORTS: {
278
278
  'zoom-out': IconSVG;
279
279
  };
280
280
  export type IconName = keyof typeof ICON_IMPORTS;
281
- /** @deprecated */
282
- export type IconNames = IconName;
283
281
  export declare const ICON_NAMES: IconName[];