@nvidia-elements/core 0.0.7 → 0.0.8

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 (182) hide show
  1. package/CHANGELOG.md +18 -16
  2. package/README.md +1 -1
  3. package/dist/accordion/accordion-group.js.map +1 -1
  4. package/dist/accordion/accordion.js.map +1 -1
  5. package/dist/accordion/accordion2.js +4 -4
  6. package/dist/alert/alert-group.js.map +1 -1
  7. package/dist/alert/alert-group2.js +1 -1
  8. package/dist/alert/alert-group2.js.map +1 -1
  9. package/dist/alert/alert.global.js.map +1 -1
  10. package/dist/alert/alert.js.map +1 -1
  11. package/dist/alert/alert2.js +1 -1
  12. package/dist/avatar/avatar-group2.js +1 -1
  13. package/dist/avatar/avatar2.js +1 -1
  14. package/dist/badge/badge.js.map +1 -1
  15. package/dist/badge/badge2.js +2 -2
  16. package/dist/badge/badge2.js.map +1 -1
  17. package/dist/breadcrumb/breadcrumb.js.map +1 -1
  18. package/dist/breadcrumb/breadcrumb2.js +2 -2
  19. package/dist/breadcrumb/breadcrumb2.js.map +1 -1
  20. package/dist/bundles/index.js +3 -3
  21. package/dist/button/button.js.map +1 -1
  22. package/dist/button/button2.js +1 -1
  23. package/dist/button-group/button-group.global.js.map +1 -1
  24. package/dist/button-group/button-group.js +1 -1
  25. package/dist/button-group/button-group.js.map +1 -1
  26. package/dist/button-group/button-group2.js +3 -3
  27. package/dist/button-group/button-group2.js.map +1 -1
  28. package/dist/card/card-header.js.map +1 -1
  29. package/dist/card/card2.js +4 -4
  30. package/dist/chat-message/chat-message2.js +1 -1
  31. package/dist/checkbox/checkbox-group2.js +1 -1
  32. package/dist/checkbox/checkbox.js.map +1 -1
  33. package/dist/checkbox/checkbox2.js +1 -1
  34. package/dist/color/color.global.js.map +1 -1
  35. package/dist/color/color2.js +1 -1
  36. package/dist/combobox/combobox2.js +1 -1
  37. package/dist/copy-button/copy-button2.js +1 -1
  38. package/dist/custom-elements.json +1 -23
  39. package/dist/data.snippets.json +42 -42
  40. package/dist/date/date2.js +1 -1
  41. package/dist/datetime/datetime2.js +1 -1
  42. package/dist/dialog/dialog-footer2.js +1 -1
  43. package/dist/dialog/dialog-header2.js +1 -1
  44. package/dist/dialog/dialog2.js +1 -1
  45. package/dist/divider/divider2.js +1 -1
  46. package/dist/dot/dot.js.map +1 -1
  47. package/dist/dot/dot2.js +1 -1
  48. package/dist/drawer/drawer-content.js.map +1 -1
  49. package/dist/drawer/drawer-content2.js +1 -1
  50. package/dist/drawer/drawer-footer2.js +1 -1
  51. package/dist/drawer/drawer-header2.js +1 -1
  52. package/dist/drawer/drawer2.js +1 -1
  53. package/dist/dropdown/dropdown-footer2.js +1 -1
  54. package/dist/dropdown/dropdown-header2.js +1 -1
  55. package/dist/dropdown/dropdown.js.map +1 -1
  56. package/dist/dropdown/dropdown2.js +1 -1
  57. package/dist/dropdown-group/dropdown-group.js +1 -1
  58. package/dist/dropzone/dropzone2.js +1 -1
  59. package/dist/dropzone/dropzone2.js.map +1 -1
  60. package/dist/file/file.global.js.map +1 -1
  61. package/dist/file/file2.js +1 -1
  62. package/dist/format-datetime/format-datetime2.js +1 -1
  63. package/dist/format-relative-time/format-relative-time2.js +1 -1
  64. package/dist/forms/control/control.js.map +1 -1
  65. package/dist/forms/control/control2.js +2 -2
  66. package/dist/forms/control/control2.js.map +1 -1
  67. package/dist/forms/control-group/control-group.js.map +1 -1
  68. package/dist/forms/control-group/control-group2.js +23 -24
  69. package/dist/forms/control-group/control-group2.js.map +1 -1
  70. package/dist/forms/control-message/control-message2.js +1 -1
  71. package/dist/forms/utils/states.d.ts +1 -1
  72. package/dist/forms/utils/states.js +25 -25
  73. package/dist/forms/utils/states.js.map +1 -1
  74. package/dist/grid/cell/cell2.js +1 -1
  75. package/dist/grid/column/column.js.map +1 -1
  76. package/dist/grid/column/column2.js +23 -23
  77. package/dist/grid/column/column2.js.map +1 -1
  78. package/dist/grid/define.js.map +1 -1
  79. package/dist/grid/footer/footer.js.map +1 -1
  80. package/dist/grid/footer/footer2.js +1 -1
  81. package/dist/grid/grid.global.js.map +1 -1
  82. package/dist/grid/grid.js.map +1 -1
  83. package/dist/grid/grid2.js +31 -31
  84. package/dist/grid/grid2.js.map +1 -1
  85. package/dist/grid/header/header2.js +24 -25
  86. package/dist/grid/header/header2.js.map +1 -1
  87. package/dist/grid/placeholder/placeholder2.js +1 -1
  88. package/dist/grid/row/row.js.map +1 -1
  89. package/dist/grid/row/row2.js +1 -1
  90. package/dist/icon/define.js.map +1 -1
  91. package/dist/icon/icon.js.map +1 -1
  92. package/dist/icon/icon2.js +2 -2
  93. package/dist/icon-button/icon-button.js.map +1 -1
  94. package/dist/icon-button/icon-button2.js +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/input/input-group.global.js.map +1 -1
  97. package/dist/input/input-group.js.map +1 -1
  98. package/dist/input/input-group2.js +1 -1
  99. package/dist/input/input.js.map +1 -1
  100. package/dist/input/input2.js +1 -1
  101. package/dist/internal/index.js +40 -40
  102. package/dist/internal/services/global.service.js +1 -1
  103. package/dist/internal/utils/dom.d.ts +0 -2
  104. package/dist/internal/utils/dom.js +12 -15
  105. package/dist/internal/utils/dom.js.map +1 -1
  106. package/dist/logo/logo.js.map +1 -1
  107. package/dist/logo/logo2.js +1 -1
  108. package/dist/menu/menu-item.js.map +1 -1
  109. package/dist/menu/menu-item2.js +1 -1
  110. package/dist/menu/menu.global.js.map +1 -1
  111. package/dist/menu/menu2.js +1 -1
  112. package/dist/menu/menu2.js.map +1 -1
  113. package/dist/month/month2.js +1 -1
  114. package/dist/notification/notification-group2.js +1 -1
  115. package/dist/notification/notification.js.map +1 -1
  116. package/dist/notification/notification2.js +1 -1
  117. package/dist/page/page-panel/page-panel-content.js.map +1 -1
  118. package/dist/page/page-panel/page-panel-content2.js +1 -1
  119. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  120. package/dist/page/page-panel/page-panel-header2.js +1 -1
  121. package/dist/page/page-panel/page-panel2.js +1 -1
  122. package/dist/page/page2.js +1 -1
  123. package/dist/page-header/page-header2.js +1 -1
  124. package/dist/page-loader/page-loader2.js +1 -1
  125. package/dist/pagination/pagination2.js +1 -1
  126. package/dist/panel/panel-content.js.map +1 -1
  127. package/dist/panel/panel-footer.js.map +1 -1
  128. package/dist/panel/panel2.js +4 -4
  129. package/dist/password/password2.js +1 -1
  130. package/dist/preferences-input/preferences-input2.js +1 -1
  131. package/dist/progress-bar/progress-bar2.js +1 -1
  132. package/dist/progress-ring/progress-ring.js.map +1 -1
  133. package/dist/progress-ring/progress-ring2.js +1 -1
  134. package/dist/progress-ring/progress-ring2.js.map +1 -1
  135. package/dist/progressive-filter-chip/progressive-filter-chip.global.js.map +1 -1
  136. package/dist/progressive-filter-chip/progressive-filter-chip.js.map +1 -1
  137. package/dist/progressive-filter-chip/progressive-filter-chip2.js +2 -2
  138. package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
  139. package/dist/pulse/pulse2.js +1 -1
  140. package/dist/radio/radio-group2.js +1 -1
  141. package/dist/radio/radio2.js +1 -1
  142. package/dist/range/range.global.js.map +1 -1
  143. package/dist/range/range2.js +1 -1
  144. package/dist/resize-handle/resize-handle2.js +1 -1
  145. package/dist/search/search2.js +1 -1
  146. package/dist/select/select2.js +1 -1
  147. package/dist/skeleton/skeleton2.js +1 -1
  148. package/dist/sort-button/sort-button2.js +1 -1
  149. package/dist/sparkline/sparkline2.js +1 -1
  150. package/dist/star-rating/star-rating2.js +1 -1
  151. package/dist/steps/steps.js.map +1 -1
  152. package/dist/steps/steps2.js +4 -4
  153. package/dist/steps/steps2.js.map +1 -1
  154. package/dist/switch/switch-group2.js +1 -1
  155. package/dist/switch/switch2.js +1 -1
  156. package/dist/tabs/tabs-group2.js +1 -1
  157. package/dist/tabs/tabs-item.js.map +1 -1
  158. package/dist/tabs/tabs.global.js.map +1 -1
  159. package/dist/tabs/tabs.js.map +1 -1
  160. package/dist/tabs/tabs2.js +3 -3
  161. package/dist/tabs/tabs2.js.map +1 -1
  162. package/dist/tag/tag.js.map +1 -1
  163. package/dist/tag/tag2.js +1 -1
  164. package/dist/textarea/textarea2.js +1 -1
  165. package/dist/time/time2.js +1 -1
  166. package/dist/toast/toast.js +1 -1
  167. package/dist/toast/toast.js.map +1 -1
  168. package/dist/toast/toast2.js +1 -1
  169. package/dist/toggletip/toggletip-footer2.js +1 -1
  170. package/dist/toggletip/toggletip-header.js.map +1 -1
  171. package/dist/toggletip/toggletip-header2.js +1 -1
  172. package/dist/toggletip/toggletip.js.map +1 -1
  173. package/dist/toggletip/toggletip2.js +1 -1
  174. package/dist/toolbar/toolbar.js.map +1 -1
  175. package/dist/toolbar/toolbar2.js +2 -2
  176. package/dist/toolbar/toolbar2.js.map +1 -1
  177. package/dist/tooltip/tooltip.js.map +1 -1
  178. package/dist/tooltip/tooltip2.js +1 -1
  179. package/dist/tree/tree-node2.js +1 -1
  180. package/dist/tree/tree2.js +1 -1
  181. package/dist/week/week2.js +1 -1
  182. package/package.json +5 -5
@@ -21,7 +21,7 @@ var g = class extends f {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-panel-header",
24
- version: "0.0.7"
24
+ version: "0.0.8"
25
25
  };
26
26
  }
27
27
  render() {
@@ -37,7 +37,7 @@ var g = class extends f {
37
37
  static {
38
38
  this.metadata = {
39
39
  tag: "nve-panel-content",
40
- version: "0.0.7"
40
+ version: "0.0.8"
41
41
  };
42
42
  }
43
43
  render() {
@@ -50,7 +50,7 @@ var g = class extends f {
50
50
  static {
51
51
  this.metadata = {
52
52
  tag: "nve-panel-footer",
53
- version: "0.0.7"
53
+ version: "0.0.8"
54
54
  };
55
55
  }
56
56
  render() {
@@ -69,7 +69,7 @@ var g = class extends f {
69
69
  static {
70
70
  this.metadata = {
71
71
  tag: "nve-panel",
72
- version: "0.0.7"
72
+ version: "0.0.8"
73
73
  };
74
74
  }
75
75
  static {
@@ -23,7 +23,7 @@ var u = class extends r {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-password",
26
- version: "0.0.7"
26
+ version: "0.0.8"
27
27
  };
28
28
  }
29
29
  static {
@@ -43,7 +43,7 @@ var x = class extends g(d) {
43
43
  static {
44
44
  this.metadata = {
45
45
  tag: "nve-preferences-input",
46
- version: "0.0.7",
46
+ version: "0.0.8",
47
47
  valueSchema: {
48
48
  type: "object",
49
49
  properties: {
@@ -16,7 +16,7 @@ var c = class extends i {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-progress-bar",
19
- version: "0.0.7"
19
+ version: "0.0.8"
20
20
  };
21
21
  }
22
22
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"progress-ring.js","names":[],"sources":["../../src/progress-ring/progress-ring.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 --background-color: var(--nve-sys-interaction-background);\n --ring-color: var(--nve-sys-accent-secondary-background);\n --ring-background-opacity: 1;\n --ring-width: 2px;\n --width: var(--nve-ref-size-800);\n --height: var(--nve-ref-size-800);\n --animation-duration: calc(var(--nve-ref-animation-duration-400) * 2.5);\n\n width: var(--width);\n height: var(--height);\n container-type: size;\n}\n\n:host([size='xxs']) {\n --ring-width: 3px;\n --width: var(--nve-ref-size-300);\n --height: var(--nve-ref-size-300);\n}\n\n:host([size='xs']) {\n --ring-width: 3px;\n --width: var(--nve-ref-size-400);\n --height: var(--nve-ref-size-400);\n}\n\n:host([size='sm']) {\n --ring-width: 2.5px;\n --width: var(--nve-ref-size-600);\n --height: var(--nve-ref-size-600);\n}\n\n:host([size='lg']) {\n --width: var(--nve-ref-size-1000);\n --height: var(--nve-ref-size-1000);\n}\n\n:host([size='xl']) {\n --ring-width: 1px;\n --width: calc(2 * var(--nve-ref-space-xxxl));\n --height: calc(2 * var(--nve-ref-space-xxxl));\n}\n\n[internal-host] {\n display: flex;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nsvg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\ncircle.background {\n fill: var(--background-color);\n opacity: var(--ring-background-opacity);\n stroke: none;\n}\n\ncircle.ring {\n fill: none;\n stroke: var(--ring-color);\n stroke-width: var(--ring-width);\n stroke-linecap: round;\n transform-origin: 50% 50%;\n transform: rotate(-90deg);\n transition: all 0.2s ease-in-out 0s;\n}\n\n:host([status='success']) {\n --ring-color: var(--nve-sys-support-success-emphasis-color);\n --background-color: var(--nve-sys-support-success-muted-color);\n}\n\n:host([status='warning']) {\n --ring-color: var(--nve-sys-support-warning-emphasis-color);\n --background-color: var(--nve-sys-support-warning-muted-color);\n}\n\n:host([status='danger']) {\n --ring-color: var(--nve-sys-support-danger-emphasis-color);\n --background-color: var(--nve-sys-support-danger-muted-color);\n}\n\n:host([status='neutral']) {\n --ring-background-opacity: 0.5;\n --ring-color: var(--color, var(--nve-sys-interaction-color));\n --background-color: var(--color, var(--nve-sys-interaction-color));\n}\n\n:host([status='accent']) [internal-host]:not([indeterminate]) circle.background {\n stroke: var(--background-color);\n fill: none;\n stroke-width: var(--ring-width);\n}\n\n:host([status='accent']) [internal-host][indeterminate] circle.background {\n display: none;\n}\n\n:host([status='neutral']) [internal-host]:not([indeterminate]) circle.background {\n stroke: var(--background-color);\n fill: none;\n stroke-width: var(--ring-width);\n}\n\n:host([status='neutral']) [internal-host][indeterminate] circle.background {\n display: none;\n}\n\n[internal-host][indeterminate] circle.ring {\n animation: var(--animation-duration) linear 0s infinite normal none running spin-infinite;\n}\n\n::slotted(nve-icon),\n::slotted(nve-icon),\nnve-icon {\n --width: 50cqw;\n --height: 50cqh;\n --color: var(--ring-color);\n}\n\n@keyframes spin-infinite {\n 0% {\n stroke-dasharray: 0.01px, 43.97px;\n transform: rotate(0deg);\n }\n\n 50% {\n stroke-dasharray: 21.99px, 21.99px;\n transform: rotate(450deg);\n }\n\n 100% {\n stroke-dasharray: 0.01px, 43.97px;\n transform: rotate(1080deg);\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"progress-ring.js","names":[],"sources":["../../src/progress-ring/progress-ring.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 --background-color: var(--nve-sys-interaction-background);\n --ring-color: var(--nve-sys-accent-secondary-background);\n --ring-background-opacity: 1;\n --ring-width: 2px;\n --width: var(--nve-ref-size-800);\n --height: var(--nve-ref-size-800);\n --animation-duration: calc(var(--nve-ref-animation-duration-400) * 2.5);\n\n width: var(--width);\n height: var(--height);\n container-type: size;\n}\n\n:host([size='xxs']) {\n --ring-width: 3px;\n --width: var(--nve-ref-size-300);\n --height: var(--nve-ref-size-300);\n}\n\n:host([size='xs']) {\n --ring-width: 3px;\n --width: var(--nve-ref-size-400);\n --height: var(--nve-ref-size-400);\n}\n\n:host([size='sm']) {\n --ring-width: 2.5px;\n --width: var(--nve-ref-size-600);\n --height: var(--nve-ref-size-600);\n}\n\n:host([size='lg']) {\n --width: var(--nve-ref-size-1000);\n --height: var(--nve-ref-size-1000);\n}\n\n:host([size='xl']) {\n --ring-width: 1px;\n --width: calc(2 * var(--nve-ref-space-xxxl));\n --height: calc(2 * var(--nve-ref-space-xxxl));\n}\n\n[internal-host] {\n display: flex;\n place-items: center;\n place-content: center;\n height: 100%;\n}\n\nsvg {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\ncircle.background {\n fill: var(--background-color);\n opacity: var(--ring-background-opacity);\n stroke: none;\n}\n\ncircle.ring {\n fill: none;\n stroke: var(--ring-color);\n stroke-width: var(--ring-width);\n stroke-linecap: round;\n transform-origin: 50% 50%;\n transform: rotate(-90deg);\n transition: all 0.2s ease-in-out 0s;\n}\n\n:host([status='success']) {\n --ring-color: var(--nve-sys-support-success-emphasis-color);\n --background-color: var(--nve-sys-support-success-muted-color);\n}\n\n:host([status='warning']) {\n --ring-color: var(--nve-sys-support-warning-emphasis-color);\n --background-color: var(--nve-sys-support-warning-muted-color);\n}\n\n:host([status='danger']) {\n --ring-color: var(--nve-sys-support-danger-emphasis-color);\n --background-color: var(--nve-sys-support-danger-muted-color);\n}\n\n:host([status='neutral']) {\n --ring-background-opacity: 0.5;\n --ring-color: var(--color, var(--nve-sys-interaction-color));\n --background-color: var(--color, var(--nve-sys-interaction-color));\n}\n\n:host([status='accent']) [internal-host]:not([indeterminate]) circle.background {\n stroke: var(--background-color);\n fill: none;\n stroke-width: var(--ring-width);\n}\n\n:host([status='accent']) [internal-host][indeterminate] circle.background {\n display: none;\n}\n\n:host([status='neutral']) [internal-host]:not([indeterminate]) circle.background {\n stroke: var(--background-color);\n fill: none;\n stroke-width: var(--ring-width);\n}\n\n:host([status='neutral']) [internal-host][indeterminate] circle.background {\n display: none;\n}\n\n[internal-host][indeterminate] circle.ring {\n animation: var(--animation-duration) linear 0s infinite normal none running spin-infinite;\n}\n\n::slotted(nve-icon),\nnve-icon {\n --width: 50cqw;\n --height: 50cqh;\n --color: var(--ring-color);\n}\n\n@keyframes spin-infinite {\n 0% {\n stroke-dasharray: 0.01px, 43.97px;\n transform: rotate(0deg);\n }\n\n 50% {\n stroke-dasharray: 21.99px, 21.99px;\n transform: rotate(450deg);\n }\n\n 100% {\n stroke-dasharray: 0.01px, 43.97px;\n transform: rotate(1080deg);\n }\n}\n"],"mappings":""}
@@ -20,7 +20,7 @@ var f = class extends c {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-progress-ring",
23
- version: "0.0.7"
23
+ version: "0.0.8"
24
24
  };
25
25
  }
26
26
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"progress-ring2.js","names":["#i18nController","#hasStatusIconContent","#updateStatusIcon"],"sources":["../../src/progress-ring/progress-ring.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { Size, SupportStatus } from '@nvidia-elements/core/internal';\nimport { attachInternals, I18nController, scopedRegistry, statusIcons, useStyles } from '@nvidia-elements/core/internal';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './progress-ring.css?inline';\n\n/**\n * @element nve-progress-ring\n * @description The `progress-ring` component shows the status of a pending task. It also serves the basis of the page loading element.\n * @since 0.17.0\n * @entrypoint \\@nvidia-elements/core/progress-ring\n * @slot - Content to display in the ring center. Defaults to a status icon.\n * @slot status-icon - (deprecated) Use the default slot instead.\n * @cssprop --background-color\n * @cssprop --ring-color\n * @cssprop --ring-background-opacity\n * @cssprop --ring-width\n * @cssprop --width\n * @cssprop --height\n * @cssprop --animation-duration\n * @cssprop --color\n * @csspart icon - The icon element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class ProgressRing extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-progress-ring',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n /** The current `value` of the progress ring. When not set, an indeterminate animation will show. */\n @property({ type: Number }) value?: number;\n\n /** The `max` value of the progress ring that the `value` is proportionally scaled to. */\n @property({ type: Number }) max? = 100;\n\n /** Four visual treatments represent the `status` of tasks. When `status` changes to `warning`, `success`, or `danger`, the component embeds appropriate icons. */\n @property({ type: String, reflect: true }) status?: SupportStatus | 'neutral' = 'neutral';\n\n /** T-shirt `size` of the progress indicator, used to scale the ring. */\n @property({ type: String, reflect: true }) size?: Size | 'xxs' | 'xs' | 'xl';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @queryAssignedElements({ slot: 'status-icon' })\n private _deprecatedStatusIconSlot!: Element[];\n\n /**\n * Tracks presence of content presence in deprecated status-icon slot.\n */\n #hasStatusIconContent = false;\n\n render() {\n return html`\n <div internal-host ?indeterminate=${this.value === undefined}>\n <svg viewBox=\"0 0 16 16\" role=\"presentation\">\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"background\"></circle>\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"ring\"\n stroke-dasharray=${`${((this.value ?? 0) / (this.max ?? 100)) * 44}px 44px`}>\n </circle>\n </svg>\n <slot>\n ${\n this.status !== 'accent' && !this.#hasStatusIconContent\n ? html`<nve-icon part=\"icon\" .name=${this.status ? statusIcons[this.status] : undefined} .status=${this.status as SupportStatus} aria-hidden=\"true\"></nve-icon>`\n : ''\n }\n </slot>\n <slot name=\"status-icon\" @slotchange=${this.#updateStatusIcon}></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'progressbar';\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaValueNow = `${this.value === undefined ? '' : this.value}`;\n this._internals.ariaValueMax = `${this.max}`;\n const i18nRecord = this.i18n as Record<string, string | undefined>;\n this._internals.ariaLabel =\n (this.status && i18nRecord[this.status] && i18nRecord[this.status] !== 'neutral'\n ? i18nRecord[this.status]!\n : this.i18n.information) ?? null;\n }\n\n #updateStatusIcon() {\n this.#hasStatusIconContent = this._deprecatedStatusIconSlot.length > 0;\n this.requestUpdate();\n }\n}\n"],"mappings":";;;;;;;;;;;;AA+BO,IAAA,IAAA,cAA2B,EAAW;;0BAmBR,mBAG6C,uBAQ7C,MAAA,EAAqB;;;gBA7BxC,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,GACzB,EAAK,SAAS,MAAM,GACtB;;CAiBD,KAAwC,IAAI,EAAqB,KAAK;CAWtE,KAAwB;CAExB,SAAS;AACP,SAAO,CAAI,sCAC2B,KAAK,UAAU,KAAA,EAAU,oLAIpC,IAAK,KAAK,SAAS,MAAM,KAAK,OAAO,OAAQ,GAAG,SAAS,yBAK5E,KAAK,WAAW,YAAY,CAAC,MAAA,IACzB,CAAI,gCAA+B,KAAK,SAAS,EAAY,KAAK,UAAU,KAAA,EAAU,aAAW,KAAK,OAAwB,oCAC9H,GACL,+CAEoC,MAAA,EAAuB;;CAKpE,oBAAoB;AAGlB,EAFA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO;;CAGzB,QAAQ,GAA6B;AAGnC,EAFA,MAAM,QAAQ,EAAM,EACpB,KAAK,WAAW,eAAe,GAAG,KAAK,UAAU,KAAA,IAAY,KAAK,KAAK,SACvE,KAAK,WAAW,eAAe,GAAG,KAAK;EACvC,IAAM,IAAa,KAAK;AACxB,OAAK,WAAW,aACb,KAAK,UAAU,EAAW,KAAK,WAAW,EAAW,KAAK,YAAY,YACnE,EAAW,KAAK,UAChB,KAAK,KAAK,gBAAgB;;CAGlC,KAAoB;AAElB,EADA,MAAA,IAA6B,KAAK,0BAA0B,SAAS,GACrE,KAAK,eAAe;;;GAhErB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,KAG1B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,OAAA,KAAA,EAAA,KAG1B,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,KAGzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAKzC,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAE1B,EAAsB,EAAE,MAAM,eAAe,CAAC,CAAA,EAAA,EAAA,WAAA,6BAAA,KAAA,EAAA,SAjChD,GAAgB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"progress-ring2.js","names":["#i18nController","#hasStatusIconContent","#updateStatusIcon"],"sources":["../../src/progress-ring/progress-ring.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { Size, SupportStatus } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n I18nController,\n scopedRegistry,\n statusIcons,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './progress-ring.css?inline';\n\n/**\n * @element nve-progress-ring\n * @description The `progress-ring` component shows the status of a pending task. It also serves the basis of the page loading element.\n * @since 0.17.0\n * @entrypoint \\@nvidia-elements/core/progress-ring\n * @slot - Content to display in the ring center. Defaults to a status icon.\n * @slot status-icon - (deprecated) Use the default slot instead.\n * @cssprop --background-color\n * @cssprop --ring-color\n * @cssprop --ring-background-opacity\n * @cssprop --ring-width\n * @cssprop --width\n * @cssprop --height\n * @cssprop --animation-duration\n * @cssprop --color\n * @csspart icon - The icon element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class ProgressRing extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-progress-ring',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n /** The current `value` of the progress ring. When not set, an indeterminate animation will show. */\n @property({ type: Number }) value?: number;\n\n /** The `max` value of the progress ring that the `value` is proportionally scaled to. */\n @property({ type: Number }) max? = 100;\n\n /** Four visual treatments represent the `status` of tasks. When `status` changes to `warning`, `success`, or `danger`, the component embeds appropriate icons. */\n @property({ type: String, reflect: true }) status?: SupportStatus | 'neutral' = 'neutral';\n\n /** T-shirt `size` of the progress indicator, used to scale the ring. */\n @property({ type: String, reflect: true }) size?: Size | 'xxs' | 'xs' | 'xl';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @queryAssignedElements({ slot: 'status-icon' })\n private _deprecatedStatusIconSlot!: Element[];\n\n /**\n * Tracks presence of content presence in deprecated status-icon slot.\n */\n #hasStatusIconContent = false;\n\n render() {\n return html`\n <div internal-host ?indeterminate=${this.value === undefined}>\n <svg viewBox=\"0 0 16 16\" role=\"presentation\">\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"background\"></circle>\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"ring\"\n stroke-dasharray=${`${((this.value ?? 0) / (this.max ?? 100)) * 44}px 44px`}>\n </circle>\n </svg>\n <slot>\n ${\n this.status !== 'accent' && !this.#hasStatusIconContent\n ? html`<nve-icon part=\"icon\" .name=${this.status ? statusIcons[this.status] : undefined} .status=${this.status as SupportStatus} aria-hidden=\"true\"></nve-icon>`\n : ''\n }\n </slot>\n <slot name=\"status-icon\" @slotchange=${this.#updateStatusIcon}></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'progressbar';\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaValueNow = `${this.value === undefined ? '' : this.value}`;\n this._internals.ariaValueMax = `${this.max}`;\n const i18nRecord = this.i18n as Record<string, string | undefined>;\n this._internals.ariaLabel =\n (this.status && i18nRecord[this.status] && i18nRecord[this.status] !== 'neutral'\n ? i18nRecord[this.status]!\n : this.i18n.information) ?? null;\n }\n\n #updateStatusIcon() {\n this.#hasStatusIconContent = this._deprecatedStatusIconSlot.length > 0;\n this.requestUpdate();\n }\n}\n"],"mappings":";;;;;;;;;;;;AAqCO,IAAA,IAAA,cAA2B,EAAW;;0BAmBR,mBAG6C,uBAQ7C,MAAA,EAAqB;;;gBA7BxC,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,GACzB,EAAK,SAAS,MAAM,GACtB;;CAiBD,KAAwC,IAAI,EAAqB,KAAK;CAWtE,KAAwB;CAExB,SAAS;AACP,SAAO,CAAI,sCAC2B,KAAK,UAAU,KAAA,EAAU,oLAIpC,IAAK,KAAK,SAAS,MAAM,KAAK,OAAO,OAAQ,GAAG,SAAS,yBAK5E,KAAK,WAAW,YAAY,CAAC,MAAA,IACzB,CAAI,gCAA+B,KAAK,SAAS,EAAY,KAAK,UAAU,KAAA,EAAU,aAAW,KAAK,OAAwB,oCAC9H,GACL,+CAEoC,MAAA,EAAuB;;CAKpE,oBAAoB;AAGlB,EAFA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO;;CAGzB,QAAQ,GAA6B;AAGnC,EAFA,MAAM,QAAQ,EAAM,EACpB,KAAK,WAAW,eAAe,GAAG,KAAK,UAAU,KAAA,IAAY,KAAK,KAAK,SACvE,KAAK,WAAW,eAAe,GAAG,KAAK;EACvC,IAAM,IAAa,KAAK;AACxB,OAAK,WAAW,aACb,KAAK,UAAU,EAAW,KAAK,WAAW,EAAW,KAAK,YAAY,YACnE,EAAW,KAAK,UAChB,KAAK,KAAK,gBAAgB;;CAGlC,KAAoB;AAElB,EADA,MAAA,IAA6B,KAAK,0BAA0B,SAAS,GACrE,KAAK,eAAe;;;GAhErB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,KAG1B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,OAAA,KAAA,EAAA,KAG1B,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,KAGzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAKzC,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAE1B,EAAsB,EAAE,MAAM,eAAe,CAAC,CAAA,EAAA,EAAA,WAAA,6BAAA,KAAA,EAAA,SAjChD,GAAgB,CAAA,EAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"progressive-filter-chip.global.js","names":[],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-progressive-filter-chip,\nnve-progressive-filter-chip {\n &:has([status='error']) {\n --background: transparent;\n }\n\n input::placeholder,\n textarea::placeholder {\n color: var(--nve-sys-text-placeholder-color) !important;\n }\n\n nve-select:not(:state(multiple)),\n nve-select:not(:state(multiple)) {\n --padding: 0 var(--nve-ref-size-200);\n }\n\n nve-select:not(:state(multiple))::part(caret),\n nve-select:not(:state(multiple))::part(caret) {\n display: none;\n }\n}\n\nnve-progressive-filter-chip input::-webkit-search-cancel-button,\nnve-progressive-filter-chip input::-webkit-calendar-picker-indicator,\nnve-progressive-filter-chip input::-webkit-search-cancel-button,\nnve-progressive-filter-chip input::-webkit-calendar-picker-indicator {\n opacity: 0 !important;\n display: none !important;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"progressive-filter-chip.global.js","names":[],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-progressive-filter-chip {\n &:has([status='error']) {\n --background: transparent;\n }\n\n input::placeholder,\n textarea::placeholder {\n color: var(--nve-sys-text-placeholder-color) !important;\n }\n\n nve-select:not(:state(multiple)) {\n --padding: 0 var(--nve-ref-size-200);\n }\n\n nve-select:not(:state(multiple))::part(caret) {\n display: none;\n }\n}\n\nnve-progressive-filter-chip input::-webkit-search-cancel-button,\nnve-progressive-filter-chip input::-webkit-calendar-picker-indicator {\n opacity: 0 !important;\n display: none !important;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"progressive-filter-chip.js","names":[],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.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 --gap: 1px;\n --border-radius: var(--nve-ref-border-radius-sm);\n --background: color-mix(\n in oklab,\n var(--nve-sys-interaction-field-background) 95%,\n var(--nve-sys-interaction-state-mix)\n );\n width: fit-content;\n min-width: fit-content;\n contain: initial;\n --border: none;\n}\n\n[internal-host] {\n gap: var(--gap);\n border-radius: var(--border-radius);\n background: var(--background);\n display: flex;\n overflow: hidden;\n border: var(--border);\n}\n\n[nve-control],\n::slotted(nve-button),\n::slotted(nve-button) {\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: 0;\n --width: fit-content;\n}\n\n::slotted([nve-control]),\n::slotted([nve-control]) {\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: 0;\n}\n\n[internal-host] > :nth-child(2) {\n --font-weight: var(--nve-ref-font-weight-regular);\n}\n\nnve-select:not(:state(multiple))::part(caret) {\n display: none;\n}\n\nnve-icon-button {\n --border-radius: 0;\n --padding: var(--nve-ref-size-300);\n}\n"],"mappings":""}
1
+ {"version":3,"file":"progressive-filter-chip.js","names":[],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.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 --gap: 1px;\n --border-radius: var(--nve-ref-border-radius-sm);\n --background: color-mix(\n in oklab,\n var(--nve-sys-interaction-field-background) 95%,\n var(--nve-sys-interaction-state-mix)\n );\n width: fit-content;\n min-width: fit-content;\n contain: initial;\n --border: none;\n}\n\n[internal-host] {\n gap: var(--gap);\n border-radius: var(--border-radius);\n background: var(--background);\n display: flex;\n overflow: hidden;\n border: var(--border);\n}\n\n[nve-control],\n::slotted(nve-button) {\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: 0;\n --width: fit-content;\n}\n\n::slotted([nve-control]) {\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: 0;\n}\n\n[internal-host] > :nth-child(2) {\n --font-weight: var(--nve-ref-font-weight-regular);\n}\n\nnve-select:not(:state(multiple))::part(caret) {\n display: none;\n}\n\nnve-icon-button {\n --border-radius: 0;\n --padding: var(--nve-ref-size-300);\n}\n"],"mappings":""}
@@ -23,7 +23,7 @@ var b = class extends h {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-progressive-filter-chip",
26
- version: "0.0.7"
26
+ version: "0.0.8"
27
27
  };
28
28
  }
29
29
  static {
@@ -55,7 +55,7 @@ var b = class extends h {
55
55
  #i(e) {
56
56
  if (e.target && e.target.assignedElements().length) {
57
57
  this.#a();
58
- let e = Array.from(this.shadowRoot.querySelector("slot:not([name])").assignedElements()).filter((e) => e.matches("input, select, nve-button, nve-button, [nve-control], [nve-control]"));
58
+ let e = Array.from(this.shadowRoot.querySelector("slot:not([name])").assignedElements()).filter((e) => e.matches("input, select, nve-button, [nve-control]"));
59
59
  e.forEach((e) => e.slot = t()), this.inputs = e.length ? e : this.inputs;
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"progressive-filter-chip2.js","names":["#i18nController","#removeItem","#getControlTemplate","#typeClosableController","#createItems","#resetItems"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport {\n appendRootNodeStyle,\n attachInternals,\n generateId,\n I18nController,\n scopedRegistry,\n TypeClosableController,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { Input } from '@nvidia-elements/core/input';\nimport { Select } from '@nvidia-elements/core/select';\nimport { Date } from '@nvidia-elements/core/date';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport globalStyles from './progressive-filter-chip.global.css?inline';\nimport styles from './progressive-filter-chip.css?inline';\n\n/**\n * @element nve-progressive-filter-chip\n * @description A filter chip is a control that enables users to select many options from a set of choices.\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progressive-filter-chip\n * @slot - default slot for content\n * @event close - Dispatched when the filter chip closes.\n * @cssprop --gap\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --background\n * @cssprop --font-weight\n * @cssprop --padding\n * @cssprop --width\n * @csspart select - The select element\n * @csspart date - The date input element\n * @csspart input - The input element\n * @csspart icon-button - The icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@typeSSR()\n@scopedRegistry()\nexport class ProgressiveFilterChip extends LitElement {\n static readonly metadata = {\n tag: 'nve-progressive-filter-chip',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Input.metadata.tag]: Input,\n [Select.metadata.tag]: Select,\n [Date.metadata.tag]: Date,\n [IconButton.metadata.tag]: IconButton\n };\n\n /** Determines if a close button should render within filter chip */\n @property({ type: Boolean }) closable: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @state() private inputs: Element[] = [];\n\n static styles = useStyles([styles]);\n\n #typeClosableController = new TypeClosableController(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n #getControlTemplate(el: Element) {\n const slot = html`<slot name=${el.slot} @slotchange=${this.#removeItem}></slot>`;\n if (el.tagName === 'SELECT') {\n return html`<nve-select part=\"select\" multiple-overflow ?fit-text=${!(el as HTMLSelectElement).multiple}>${slot}</nve-select>`;\n } else if (el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'date') {\n return html`<nve-date part=\"date\">${slot}</nve-date>`;\n } else if (el.tagName === 'INPUT') {\n return html`<nve-input part=\"input\">${slot}</nve-input>`;\n } else {\n return slot;\n }\n }\n\n render() {\n return html`\n <div internal-host>\n ${this.inputs.map(el => this.#getControlTemplate(el))}\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeClosableController.close()} .ariaLabel=${this.i18n.close} icon-name=\"cancel\"></nve-icon-button>` : nothing}\n </div>\n <slot hidden-slot @slotchange=${this.#createItems}></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n this.setAttribute('nve-control', '');\n appendRootNodeStyle(this, globalStyles);\n }\n\n #removeItem(e: Event) {\n if (!(e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n }\n }\n\n #createItems(e: Event) {\n if (e.target && (e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n const items = Array.from(\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!.assignedElements()\n ).filter(i => i.matches('input, select, nve-button, nve-button, [nve-control], [nve-control]'));\n items.forEach(i => (i.slot = generateId()));\n this.inputs = items.length ? items : this.inputs;\n }\n }\n\n #resetItems() {\n Array.from(this.shadowRoot!.querySelectorAll('slot'))\n .flatMap(i => i.assignedElements())\n .forEach(i => (i.slot = ''));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CO,IAAA,IAAA,cAAoC,EAAW;;2BAmBjB,MAAA,EAAqB,oBAEnB,EAAE;;;kBApBZ;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B;IACzB,EAAM,SAAS,MAAM;IACrB,EAAO,SAAS,MAAM;IACtB,EAAK,SAAS,MAAM;IACpB,EAAW,SAAS,MAAM;GAC5B;;CAKD,KAAwC,IAAI,EAAqB,KAAK;;gBAOtD,EAAU,CAAC,EAAO,CAAC;;CAEnC,KAA0B,IAAI,EAAuB,KAAK;CAK1D,GAAoB,GAAa;EAC/B,IAAM,IAAO,CAAI,eAAc,EAAG,KAAK,iBAAe,MAAA,EAAiB;AAQrE,SAPE,EAAG,YAAY,WACV,CAAI,0DAAyD,CAAE,EAAyB,SAAS,IAAG,EAAK,iBACvG,EAAG,YAAY,WAAY,EAAwB,SAAS,SAC9D,CAAI,yBAAyB,EAAK,eAChC,EAAG,YAAY,UACjB,CAAI,2BAA2B,EAAK,gBAEpC;;CAIX,SAAS;AACP,SAAO,CAAI,sBAEP,KAAK,OAAO,KAAI,MAAM,MAAA,EAAyB,EAAG,CAAC,CAAC,GACpD,KAAK,WAAW,CAAI,yFAAwF,MAAA,EAA6B,OAAO,CAAC,gBAAc,KAAK,KAAK,MAAM,2CAA0C,EAAQ,uCAErM,MAAA,EAAkB;;CAIpD,oBAAoB;AAKlB,EAJA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,aAAa,eAAe,GAAG,EACpC,EAAoB,MAAM,EAAa;;CAGzC,GAAY,GAAU;AACpB,EAAM,EAAE,OAA2B,kBAAkB,CAAC,UACpD,MAAA,GAAkB;;CAItB,GAAa,GAAU;AACrB,MAAI,EAAE,UAAW,EAAE,OAA2B,kBAAkB,CAAC,QAAQ;AACvE,SAAA,GAAkB;GAClB,IAAM,IAAQ,MAAM,KAClB,KAAK,WAAY,cAA+B,mBAAmB,CAAE,kBAAkB,CACxF,CAAC,QAAO,MAAK,EAAE,QAAQ,sEAAsE,CAAC;AAE/F,GADA,EAAM,SAAQ,MAAM,EAAE,OAAO,GAAY,CAAE,EAC3C,KAAK,SAAS,EAAM,SAAS,IAAQ,KAAK;;;CAI9C,KAAc;AACZ,QAAM,KAAK,KAAK,WAAY,iBAAiB,OAAO,CAAC,CAClD,SAAQ,MAAK,EAAE,kBAAkB,CAAC,CAClC,SAAQ,MAAM,EAAE,OAAO,GAAI;;;GAnE/B,EAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK3B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAE1B,GAAO,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,SAvBT,GAAS,EACT,GAAgB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"progressive-filter-chip2.js","names":["#i18nController","#removeItem","#getControlTemplate","#typeClosableController","#createItems","#resetItems"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport {\n appendRootNodeStyle,\n attachInternals,\n generateId,\n I18nController,\n scopedRegistry,\n TypeClosableController,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { Input } from '@nvidia-elements/core/input';\nimport { Select } from '@nvidia-elements/core/select';\nimport { Date } from '@nvidia-elements/core/date';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport globalStyles from './progressive-filter-chip.global.css?inline';\nimport styles from './progressive-filter-chip.css?inline';\n\n/**\n * @element nve-progressive-filter-chip\n * @description A filter chip is a control that enables users to select many options from a set of choices.\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progressive-filter-chip\n * @slot - default slot for content\n * @event close - Dispatched when the filter chip closes.\n * @cssprop --gap\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --background\n * @cssprop --font-weight\n * @cssprop --padding\n * @cssprop --width\n * @csspart select - The select element\n * @csspart date - The date input element\n * @csspart input - The input element\n * @csspart icon-button - The icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@typeSSR()\n@scopedRegistry()\nexport class ProgressiveFilterChip extends LitElement {\n static readonly metadata = {\n tag: 'nve-progressive-filter-chip',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Input.metadata.tag]: Input,\n [Select.metadata.tag]: Select,\n [Date.metadata.tag]: Date,\n [IconButton.metadata.tag]: IconButton\n };\n\n /** Determines if a close button should render within filter chip */\n @property({ type: Boolean }) closable: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @state() private inputs: Element[] = [];\n\n static styles = useStyles([styles]);\n\n #typeClosableController = new TypeClosableController(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n #getControlTemplate(el: Element) {\n const slot = html`<slot name=${el.slot} @slotchange=${this.#removeItem}></slot>`;\n if (el.tagName === 'SELECT') {\n return html`<nve-select part=\"select\" multiple-overflow ?fit-text=${!(el as HTMLSelectElement).multiple}>${slot}</nve-select>`;\n } else if (el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'date') {\n return html`<nve-date part=\"date\">${slot}</nve-date>`;\n } else if (el.tagName === 'INPUT') {\n return html`<nve-input part=\"input\">${slot}</nve-input>`;\n } else {\n return slot;\n }\n }\n\n render() {\n return html`\n <div internal-host>\n ${this.inputs.map(el => this.#getControlTemplate(el))}\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeClosableController.close()} .ariaLabel=${this.i18n.close} icon-name=\"cancel\"></nve-icon-button>` : nothing}\n </div>\n <slot hidden-slot @slotchange=${this.#createItems}></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n this.setAttribute('nve-control', '');\n appendRootNodeStyle(this, globalStyles);\n }\n\n #removeItem(e: Event) {\n if (!(e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n }\n }\n\n #createItems(e: Event) {\n if (e.target && (e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n const items = Array.from(\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!.assignedElements()\n ).filter(i => i.matches('input, select, nve-button, [nve-control]'));\n items.forEach(i => (i.slot = generateId()));\n this.inputs = items.length ? items : this.inputs;\n }\n }\n\n #resetItems() {\n Array.from(this.shadowRoot!.querySelectorAll('slot'))\n .flatMap(i => i.assignedElements())\n .forEach(i => (i.slot = ''));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CO,IAAA,IAAA,cAAoC,EAAW;;2BAmBjB,MAAA,EAAqB,oBAEnB,EAAE;;;kBApBZ;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B;IACzB,EAAM,SAAS,MAAM;IACrB,EAAO,SAAS,MAAM;IACtB,EAAK,SAAS,MAAM;IACpB,EAAW,SAAS,MAAM;GAC5B;;CAKD,KAAwC,IAAI,EAAqB,KAAK;;gBAOtD,EAAU,CAAC,EAAO,CAAC;;CAEnC,KAA0B,IAAI,EAAuB,KAAK;CAK1D,GAAoB,GAAa;EAC/B,IAAM,IAAO,CAAI,eAAc,EAAG,KAAK,iBAAe,MAAA,EAAiB;AAQrE,SAPE,EAAG,YAAY,WACV,CAAI,0DAAyD,CAAE,EAAyB,SAAS,IAAG,EAAK,iBACvG,EAAG,YAAY,WAAY,EAAwB,SAAS,SAC9D,CAAI,yBAAyB,EAAK,eAChC,EAAG,YAAY,UACjB,CAAI,2BAA2B,EAAK,gBAEpC;;CAIX,SAAS;AACP,SAAO,CAAI,sBAEP,KAAK,OAAO,KAAI,MAAM,MAAA,EAAyB,EAAG,CAAC,CAAC,GACpD,KAAK,WAAW,CAAI,yFAAwF,MAAA,EAA6B,OAAO,CAAC,gBAAc,KAAK,KAAK,MAAM,2CAA0C,EAAQ,uCAErM,MAAA,EAAkB;;CAIpD,oBAAoB;AAKlB,EAJA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,aAAa,eAAe,GAAG,EACpC,EAAoB,MAAM,EAAa;;CAGzC,GAAY,GAAU;AACpB,EAAM,EAAE,OAA2B,kBAAkB,CAAC,UACpD,MAAA,GAAkB;;CAItB,GAAa,GAAU;AACrB,MAAI,EAAE,UAAW,EAAE,OAA2B,kBAAkB,CAAC,QAAQ;AACvE,SAAA,GAAkB;GAClB,IAAM,IAAQ,MAAM,KAClB,KAAK,WAAY,cAA+B,mBAAmB,CAAE,kBAAkB,CACxF,CAAC,QAAO,MAAK,EAAE,QAAQ,2CAA2C,CAAC;AAEpE,GADA,EAAM,SAAQ,MAAM,EAAE,OAAO,GAAY,CAAE,EAC3C,KAAK,SAAS,EAAM,SAAS,IAAQ,KAAK;;;CAI9C,KAAc;AACZ,QAAM,KAAK,KAAK,WAAY,iBAAiB,OAAO,CAAC,CAClD,SAAQ,MAAK,EAAE,kBAAkB,CAAC,CAClC,SAAQ,MAAM,EAAE,OAAO,GAAI;;;GAnE/B,EAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK3B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAE1B,GAAO,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,SAvBT,GAAS,EACT,GAAgB,CAAA,EAAA,EAAA"}
@@ -13,7 +13,7 @@ var c = class extends a {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-pulse",
16
- version: "0.0.7"
16
+ version: "0.0.8"
17
17
  };
18
18
  }
19
19
  static {
@@ -12,7 +12,7 @@ var o = class extends i {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-radio-group",
15
- version: "0.0.7",
15
+ version: "0.0.8",
16
16
  children: [
17
17
  "label",
18
18
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-radio",
18
- version: "0.0.7",
18
+ version: "0.0.8",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -1 +1 @@
1
- {"version":3,"file":"range.global.js","names":[],"sources":["../../src/range/range.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-range input[type='range']::-webkit-slider-thumb,\nnve-range input[type='range']::-webkit-slider-thumb {\n width: var(--thumb-width);\n height: var(--thumb-height);\n background: var(--thumb-background);\n border-radius: 50%;\n box-shadow: var(--thumb-border);\n margin-block-start: calc((var(--track-height) - var(--thumb-height)) / 2);\n appearance: var(--_appearance);\n filter: var(--filter);\n}\n\nnve-range input[type='range']::-webkit-slider-runnable-track,\nnve-range input[type='range']::-webkit-slider-runnable-track {\n background: transparent;\n height: var(--track-height);\n border-radius: var(--nve-ref-border-radius-lg);\n align-self: center;\n}\n\nnve-range:has(datalist) input[type='range']::-webkit-slider-container {\n min-block-size: auto;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-container,\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-container {\n display: flex;\n align-items: center;\n overflow: visible;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-runnable-track,\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 100%;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-thumb,\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-thumb {\n margin: 0;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"range.global.js","names":[],"sources":["../../src/range/range.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-range input[type='range']::-webkit-slider-thumb {\n width: var(--thumb-width);\n height: var(--thumb-height);\n background: var(--thumb-background);\n border-radius: 50%;\n box-shadow: var(--thumb-border);\n margin-block-start: calc((var(--track-height) - var(--thumb-height)) / 2);\n appearance: var(--_appearance);\n filter: var(--filter);\n}\n\nnve-range input[type='range']::-webkit-slider-runnable-track {\n background: transparent;\n height: var(--track-height);\n border-radius: var(--nve-ref-border-radius-lg);\n align-self: center;\n}\n\nnve-range:has(datalist) input[type='range']::-webkit-slider-container {\n min-block-size: auto;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-container {\n display: flex;\n align-items: center;\n overflow: visible;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 100%;\n}\n\nnve-range[orientation='vertical'] input[type='range']::-webkit-slider-thumb {\n margin: 0;\n}\n"],"mappings":""}
@@ -17,7 +17,7 @@ var d = class extends i {
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-range",
20
- version: "0.0.7"
20
+ version: "0.0.8"
21
21
  };
22
22
  }
23
23
  connectedCallback() {
@@ -18,7 +18,7 @@ var u = class extends l(a) {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-resize-handle",
21
- version: "0.0.7",
21
+ version: "0.0.8",
22
22
  valueSchema: { type: "number" }
23
23
  };
24
24
  }
@@ -22,7 +22,7 @@ var l = class extends r {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-search",
25
- version: "0.0.7"
25
+ version: "0.0.8"
26
26
  };
27
27
  }
28
28
  static {
@@ -26,7 +26,7 @@ var b = class extends u {
26
26
  static {
27
27
  this.metadata = {
28
28
  tag: "nve-select",
29
- version: "0.0.7"
29
+ version: "0.0.8"
30
30
  };
31
31
  }
32
32
  static {
@@ -15,7 +15,7 @@ var s = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-skeleton",
18
- version: "0.0.7"
18
+ version: "0.0.8"
19
19
  };
20
20
  }
21
21
  render() {
@@ -19,7 +19,7 @@ var l = {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-sort-button",
22
- version: "0.0.7"
22
+ version: "0.0.8"
23
23
  };
24
24
  }
25
25
  static {
@@ -21,7 +21,7 @@ var C = class extends _ {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-sparkline",
24
- version: "0.0.7"
24
+ version: "0.0.8"
25
25
  };
26
26
  }
27
27
  render() {
@@ -18,7 +18,7 @@ var l = class extends a {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-star-rating",
21
- version: "0.0.7"
21
+ version: "0.0.8"
22
22
  };
23
23
  }
24
24
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","names":[],"sources":["../../src/steps/steps.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 --gap: var(--nve-ref-space-lg);\n}\n\n[internal-host] {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: var(--gap);\n}\n\n:host([vertical]) [internal-host] {\n flex-direction: column;\n}\n\n:host(:not([vertical])) ::slotted(nve-steps-item:not(:last-child))::after,\n:host(:not([vertical])) ::slotted(nve-steps-item:not(:last-child))::after {\n content: '';\n position: absolute;\n width: var(--gap);\n top: 50%;\n border: var(--nve-ref-border-width-sm) dashed var(--nve-ref-border-color);\n}\n\n:host([vertical]) ::slotted(nve-steps-item:not(:last-child))::after,\n:host([vertical]) ::slotted(nve-steps-item:not(:last-child))::after {\n content: '';\n position: absolute;\n height: var(--gap);\n left: var(--nve-ref-size-500);\n top: 100%;\n border: var(--nve-ref-border-width-sm) dashed var(--nve-ref-border-color);\n}\n\n:host([vertical]:not([container='condensed'])) ::slotted(nve-steps-item),\n:host([vertical]:not([container='condensed'])) ::slotted(nve-steps-item) {\n --width: 100%;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"steps.js","names":[],"sources":["../../src/steps/steps.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 --gap: var(--nve-ref-space-lg);\n}\n\n[internal-host] {\n position: relative;\n display: flex;\n flex-direction: row;\n gap: var(--gap);\n}\n\n:host([vertical]) [internal-host] {\n flex-direction: column;\n}\n\n:host(:not([vertical])) ::slotted(nve-steps-item:not(:last-child))::after {\n content: '';\n position: absolute;\n width: var(--gap);\n top: 50%;\n border: var(--nve-ref-border-width-sm) dashed var(--nve-ref-border-color);\n}\n\n:host([vertical]) ::slotted(nve-steps-item:not(:last-child))::after {\n content: '';\n position: absolute;\n height: var(--gap);\n left: var(--nve-ref-size-500);\n top: 100%;\n border: var(--nve-ref-border-width-sm) dashed var(--nve-ref-border-color);\n}\n\n:host([vertical]:not([container='condensed'])) ::slotted(nve-steps-item) {\n --width: 100%;\n}\n"],"mappings":""}
@@ -23,7 +23,7 @@ var v = class extends r {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-steps-item",
26
- version: "0.0.7",
26
+ version: "0.0.8",
27
27
  parents: ["nve-steps"]
28
28
  };
29
29
  }
@@ -67,7 +67,7 @@ var y = class extends f {
67
67
  static {
68
68
  this.metadata = {
69
69
  tag: "nve-steps",
70
- version: "0.0.7",
70
+ version: "0.0.8",
71
71
  children: ["nve-steps-item"]
72
72
  };
73
73
  }
@@ -78,7 +78,7 @@ var y = class extends f {
78
78
  };
79
79
  }
80
80
  #e(e) {
81
- !this.behaviorSelect || !e.matches("nve-steps-item, nve-steps-item") || e.disabled || (this.steps.forEach((e) => e.selected = !1), e.selected = !0);
81
+ !this.behaviorSelect || !e.matches("nve-steps-item") || e.disabled || (this.steps.forEach((e) => e.selected = !1), e.selected = !0);
82
82
  }
83
83
  render() {
84
84
  return p`<div internal-host><slot @slotchange="${this.#n}"></slot></div>`;
@@ -110,7 +110,7 @@ n([m({
110
110
  })], y.prototype, "container", void 0), n([m({
111
111
  type: Boolean,
112
112
  attribute: "behavior-select"
113
- })], y.prototype, "behaviorSelect", void 0), n([g({ selector: "nve-steps-item, nve-steps-item" })], y.prototype, "steps", void 0), y = n([i(), a()], y);
113
+ })], y.prototype, "behaviorSelect", void 0), n([g({ selector: "nve-steps-item" })], y.prototype, "steps", void 0), y = n([i(), a()], y);
114
114
  //#endregion
115
115
  export { y as Steps, v as StepsItem };
116
116
 
@@ -1 +1 @@
1
- {"version":3,"file":"steps2.js","names":["#syncChildSteps","#onClick","#selectTab"],"sources":["../../src/steps/steps.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport { when } from 'lit/directives/when.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig, Container } from '@nvidia-elements/core/internal';\nimport {\n BaseButton,\n stateSelected,\n useStyles,\n keyNavigationList,\n attachInternals,\n audit,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport stepsItemStyleSheet from './steps-item.css?inline';\nimport stepsStyleSheet from './steps.css?inline';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { ProgressRing } from '@nvidia-elements/core/progress-ring';\n\n/**\n * @element nve-steps-item\n * @description Represents an individual step within a multi-step workflow, displaying its status and enabling navigation within the parent steps component.\n * @since 0.30.0\n * @entrypoint \\@nvidia-elements/core/steps\n * @slot - default slot for step text\n * @slot status-icon - custom slotted step icon\n * @cssprop --font-size\n * @cssprop --border-top\n * @cssprop --width\n * @cssprop --font-weight\n * @cssprop --border-radius\n * @cssprop --color\n * @cssprop --text-transform\n * @csspart icon-button - The icon button element\n * @csspart progress-ring - The progress ring element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n */\n@audit()\n@scopedRegistry()\n@stateSelected<StepsItem>()\nexport class StepsItem extends BaseButton {\n /**\n * Determines which item the user selects, defaults to false.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Four visual treatments represent the `status` of tasks. When `status` has a value of `warning`, `success`, or `danger`, the component embeds appropriate icons.\n */\n @property({ type: String, reflect: true }) status?: 'accent' | 'danger' | 'success' | 'pending';\n\n /**\n * Determines whether the steps should display in condensed format with no text labels.\n */\n @property({ type: String, reflect: true }) container?: Extract<Container, 'condensed'>;\n\n /** @private */\n @state() index: number = 0;\n\n static styles = useStyles([stepsItemStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-steps-item',\n version: '0.0.0',\n parents: ['nve-steps']\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [ProgressRing.metadata.tag]: ProgressRing\n };\n\n render() {\n return html`\n <div internal-host focus-within>\n <slot name=\"status-icon\">\n ${!this.status ? html`<nve-icon-button part=\"icon-button\" readonly id=\"number-icon\" .disabled=${this.disabled}>${this.index}</nve-icon-button>` : ''}\n ${this.status === 'success' ? html`<nve-icon-button part=\"icon-button\" readonly size=\"sm\" interaction=\"emphasis\" icon-name=\"check\"></nve-icon-button>` : ''}\n ${this.status === 'danger' ? html`<nve-icon-button part=\"icon-button\" readonly size=\"sm\" interaction=\"destructive\" icon-name=\"exclamation-circle\"></nve-icon-button>` : ''}\n ${this.status === 'pending' ? html`<nve-progress-ring part=\"progress-ring\" status=\"accent\" size=\"sm\"></nve-progress-ring>` : ''}\n </slot>\n ${when(this.container !== 'condensed', () => html`<slot></slot>`)}\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._internals.role = 'tab';\n }\n}\n\n/**\n * @element nve-steps\n * @description Steps enables a multi-step workflow allowing a user to complete a goal in a specific sequence.\n * @since 0.30.0\n * @entrypoint \\@nvidia-elements/core/steps\n * @slot - default slot for steps-item\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n */\n@audit()\n@keyNavigationList<Steps>()\nexport class Steps extends LitElement {\n /**\n * Determines whether the steps should display in a vertical layout vs. defaulting to horizontal.\n */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * Determines whether the steps should display in condensed format with no text labels.\n */\n @property({ type: String, reflect: true }) container?: Extract<Container, 'condensed'>;\n\n /**\n * Determines whether the steps should handle selection behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-select' }) behaviorSelect = false;\n\n static styles = useStyles([stepsStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-steps',\n version: '0.0.0',\n children: ['nve-steps-item']\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.steps,\n layout: this.vertical ? 'vertical' : 'horizontal'\n };\n }\n\n @queryAssignedElements({ selector: 'nve-steps-item, nve-steps-item' }) private steps!: StepsItem[];\n\n /** @private */\n declare _internals: ElementInternals;\n\n #selectTab(stepsItem: HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean }) {\n if (!this.behaviorSelect || !stepsItem.matches('nve-steps-item, nve-steps-item') || stepsItem.disabled) {\n return;\n }\n\n this.steps.forEach(i => (i.selected = false));\n stepsItem.selected = true;\n }\n\n render() {\n return html`\n <div internal-host>\n <slot @slotchange=${this.#syncChildSteps}></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'tablist';\n this.addEventListener('click', this.#onClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#onClick);\n }\n\n #onClick = (e: Event) => {\n this.#selectTab(e.target as HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean });\n };\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n if (props.has('container') || props.has('vertical')) {\n this.#syncChildSteps();\n }\n }\n\n #syncChildSteps() {\n this._internals.ariaOrientation = this.vertical ? 'vertical' : 'horizontal';\n this.steps.forEach((item, i) => {\n item.index = i + 1;\n item.container = this.container;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CO,IAAA,IAAA,cAAwB,EAAW;;gBAmBxB,EAAU,CAAC,EAAoB,CAAC;;;kBAErB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,YAAA;GACX;;;4BAE2B;IACzB,EAAW,SAAS,MAAM;IAC1B,EAAa,SAAS,MAAM;GAC9B;;CAED,SAAS;AACP,SAAO,CAAI,4DAGF,KAAK,SAA0I,KAAjI,CAAI,uFAA2E,KAAK,SAAS,IAAG,KAAK,MAAM,oBAAyB,GACnJ,KAAK,WAAW,YAAY,CAAI,kIAAuH,GAAG,GAC1J,KAAK,WAAW,WAAW,CAAI,kJAAuI,GAAG,GACzK,KAAK,WAAW,YAAY,CAAI,2FAA2F,GAAG,SAEhI,EAAK,KAAK,cAAc,mBAAmB,CAAI,gBAAgB,CAAC;;CAKxE,cAAc;AAEZ,EADA,OAAO,kBA3C8C,iBAa9B,GA+BvB,KAAK,OAAO;;CAGd,oBAAoB;AAElB,EADA,MAAM,mBAAmB,EACzB,KAAK,WAAW,OAAO;;;GAjDxB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,KAKzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAGzC,GAAO,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA;CApBT,GAAO;CACP,GAAgB;CAChB,GAAA;;AAqEM,IAAA,IAAA,cAAoB,EAAW;;+BAImB,0BAUqB;;;gBAE5D,EAAU,CAAC,EAAgB,CAAC;;;kBAEjB;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,iBAAA;GACZ;;CAGD,IAAI,mBAAqC;AACvC,SAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;GACtC;;CAQH,GAAW,GAAkG;AACvG,GAAC,KAAK,kBAAkB,CAAC,EAAU,QAAQ,iCAAiC,IAAI,EAAU,aAI9F,KAAK,MAAM,SAAQ,MAAM,EAAE,WAAW,GAAO,EAC7C,EAAU,WAAW;;CAGvB,SAAS;AACP,SAAO,CAAI,yCAEa,MAAA,EAAqB;;CAK/C,oBAAoB;AAIlB,EAHA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,MAAA,EAAc;;CAG/C,uBAAuB;AAErB,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBAAoB,SAAS,MAAA,EAAc;;CAGlD,MAAY,MAAa;AACvB,QAAA,EAAgB,EAAE,OAAgG;;CAGpH,QAAQ,GAA6B;AAEnC,EADA,MAAM,QAAQ,EAAM,GAChB,EAAM,IAAI,YAAY,IAAI,EAAM,IAAI,WAAW,KACjD,MAAA,GAAsB;;CAI1B,KAAkB;AAEhB,EADA,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa,cAC/D,KAAK,MAAM,SAAS,GAAM,MAAM;AAE9B,GADA,EAAK,QAAQ,IAAI,GACjB,EAAK,YAAY,KAAK;IACtB;;;GA9EH,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAKzC,EAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAkBzD,EAAsB,EAAE,UAAU,kCAAkC,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,SAlCvE,GAAO,EACP,GAA0B,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"steps2.js","names":["#syncChildSteps","#onClick","#selectTab"],"sources":["../../src/steps/steps.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport { when } from 'lit/directives/when.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig, Container } from '@nvidia-elements/core/internal';\nimport {\n BaseButton,\n stateSelected,\n useStyles,\n keyNavigationList,\n attachInternals,\n audit,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport stepsItemStyleSheet from './steps-item.css?inline';\nimport stepsStyleSheet from './steps.css?inline';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { ProgressRing } from '@nvidia-elements/core/progress-ring';\n\n/**\n * @element nve-steps-item\n * @description Represents an individual step within a multi-step workflow, displaying its status and enabling navigation within the parent steps component.\n * @since 0.30.0\n * @entrypoint \\@nvidia-elements/core/steps\n * @slot - default slot for step text\n * @slot status-icon - custom slotted step icon\n * @cssprop --font-size\n * @cssprop --border-top\n * @cssprop --width\n * @cssprop --font-weight\n * @cssprop --border-radius\n * @cssprop --color\n * @cssprop --text-transform\n * @csspart icon-button - The icon button element\n * @csspart progress-ring - The progress ring element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n */\n@audit()\n@scopedRegistry()\n@stateSelected<StepsItem>()\nexport class StepsItem extends BaseButton {\n /**\n * Determines which item the user selects, defaults to false.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Four visual treatments represent the `status` of tasks. When `status` has a value of `warning`, `success`, or `danger`, the component embeds appropriate icons.\n */\n @property({ type: String, reflect: true }) status?: 'accent' | 'danger' | 'success' | 'pending';\n\n /**\n * Determines whether the steps should display in condensed format with no text labels.\n */\n @property({ type: String, reflect: true }) container?: Extract<Container, 'condensed'>;\n\n /** @private */\n @state() index: number = 0;\n\n static styles = useStyles([stepsItemStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-steps-item',\n version: '0.0.0',\n parents: ['nve-steps']\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [ProgressRing.metadata.tag]: ProgressRing\n };\n\n render() {\n return html`\n <div internal-host focus-within>\n <slot name=\"status-icon\">\n ${!this.status ? html`<nve-icon-button part=\"icon-button\" readonly id=\"number-icon\" .disabled=${this.disabled}>${this.index}</nve-icon-button>` : ''}\n ${this.status === 'success' ? html`<nve-icon-button part=\"icon-button\" readonly size=\"sm\" interaction=\"emphasis\" icon-name=\"check\"></nve-icon-button>` : ''}\n ${this.status === 'danger' ? html`<nve-icon-button part=\"icon-button\" readonly size=\"sm\" interaction=\"destructive\" icon-name=\"exclamation-circle\"></nve-icon-button>` : ''}\n ${this.status === 'pending' ? html`<nve-progress-ring part=\"progress-ring\" status=\"accent\" size=\"sm\"></nve-progress-ring>` : ''}\n </slot>\n ${when(this.container !== 'condensed', () => html`<slot></slot>`)}\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._internals.role = 'tab';\n }\n}\n\n/**\n * @element nve-steps\n * @description Steps enables a multi-step workflow allowing a user to complete a goal in a specific sequence.\n * @since 0.30.0\n * @entrypoint \\@nvidia-elements/core/steps\n * @slot - default slot for steps-item\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n */\n@audit()\n@keyNavigationList<Steps>()\nexport class Steps extends LitElement {\n /**\n * Determines whether the steps should display in a vertical layout vs. defaulting to horizontal.\n */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * Determines whether the steps should display in condensed format with no text labels.\n */\n @property({ type: String, reflect: true }) container?: Extract<Container, 'condensed'>;\n\n /**\n * Determines whether the steps should handle selection behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-select' }) behaviorSelect = false;\n\n static styles = useStyles([stepsStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-steps',\n version: '0.0.0',\n children: ['nve-steps-item']\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.steps,\n layout: this.vertical ? 'vertical' : 'horizontal'\n };\n }\n\n @queryAssignedElements({ selector: 'nve-steps-item' }) private steps!: StepsItem[];\n\n /** @private */\n declare _internals: ElementInternals;\n\n #selectTab(stepsItem: HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean }) {\n if (!this.behaviorSelect || !stepsItem.matches('nve-steps-item') || stepsItem.disabled) {\n return;\n }\n\n this.steps.forEach(i => (i.selected = false));\n stepsItem.selected = true;\n }\n\n render() {\n return html`\n <div internal-host>\n <slot @slotchange=${this.#syncChildSteps}></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'tablist';\n this.addEventListener('click', this.#onClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#onClick);\n }\n\n #onClick = (e: Event) => {\n this.#selectTab(e.target as HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean });\n };\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n if (props.has('container') || props.has('vertical')) {\n this.#syncChildSteps();\n }\n }\n\n #syncChildSteps() {\n this._internals.ariaOrientation = this.vertical ? 'vertical' : 'horizontal';\n this.steps.forEach((item, i) => {\n item.index = i + 1;\n item.container = this.container;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA6CO,IAAA,IAAA,cAAwB,EAAW;;gBAmBxB,EAAU,CAAC,EAAoB,CAAC;;;kBAErB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,YAAA;GACX;;;4BAE2B;IACzB,EAAW,SAAS,MAAM;IAC1B,EAAa,SAAS,MAAM;GAC9B;;CAED,SAAS;AACP,SAAO,CAAI,4DAGF,KAAK,SAA0I,KAAjI,CAAI,uFAA2E,KAAK,SAAS,IAAG,KAAK,MAAM,oBAAyB,GACnJ,KAAK,WAAW,YAAY,CAAI,kIAAuH,GAAG,GAC1J,KAAK,WAAW,WAAW,CAAI,kJAAuI,GAAG,GACzK,KAAK,WAAW,YAAY,CAAI,2FAA2F,GAAG,SAEhI,EAAK,KAAK,cAAc,mBAAmB,CAAI,gBAAgB,CAAC;;CAKxE,cAAc;AAEZ,EADA,OAAO,kBA3C8C,iBAa9B,GA+BvB,KAAK,OAAO;;CAGd,oBAAoB;AAElB,EADA,MAAM,mBAAmB,EACzB,KAAK,WAAW,OAAO;;;GAjDxB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,KAKzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAGzC,GAAO,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA;CApBT,GAAO;CACP,GAAgB;CAChB,GAAA;;AAqEM,IAAA,IAAA,cAAoB,EAAW;;+BAImB,0BAUqB;;;gBAE5D,EAAU,CAAC,EAAgB,CAAC;;;kBAEjB;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,iBAAA;GACZ;;CAGD,IAAI,mBAAqC;AACvC,SAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;GACtC;;CAQH,GAAW,GAAkG;AACvG,GAAC,KAAK,kBAAkB,CAAC,EAAU,QAAQ,iBAAiB,IAAI,EAAU,aAI9E,KAAK,MAAM,SAAQ,MAAM,EAAE,WAAW,GAAO,EAC7C,EAAU,WAAW;;CAGvB,SAAS;AACP,SAAO,CAAI,yCAEa,MAAA,EAAqB;;CAK/C,oBAAoB;AAIlB,EAHA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,MAAA,EAAc;;CAG/C,uBAAuB;AAErB,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBAAoB,SAAS,MAAA,EAAc;;CAGlD,MAAY,MAAa;AACvB,QAAA,EAAgB,EAAE,OAAgG;;CAGpH,QAAQ,GAA6B;AAEnC,EADA,MAAM,QAAQ,EAAM,GAChB,EAAM,IAAI,YAAY,IAAI,EAAM,IAAI,WAAW,KACjD,MAAA,GAAsB;;CAI1B,KAAkB;AAEhB,EADA,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa,cAC/D,KAAK,MAAM,SAAS,GAAM,MAAM;AAE9B,GADA,EAAK,QAAQ,IAAI,GACjB,EAAK,YAAY,KAAK;IACtB;;;GA9EH,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAKzC,EAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAkBzD,EAAsB,EAAE,UAAU,kBAAkB,CAAC,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,SAlCvD,GAAO,EACP,GAA0B,CAAA,EAAA,EAAA"}
@@ -11,7 +11,7 @@ var a = class extends r {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-switch-group",
14
- version: "0.0.7",
14
+ version: "0.0.8",
15
15
  children: [
16
16
  "label",
17
17
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-switch",
18
- version: "0.0.7",
18
+ version: "0.0.8",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -23,7 +23,7 @@ var m, h = class extends l {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-tabs-group",
26
- version: "0.0.7",
26
+ version: "0.0.8",
27
27
  children: ["nve-tabs"]
28
28
  };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-item.js","names":[],"sources":["../../src/tabs/tabs-item.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 --border-background: var(--indicator-background);\n --border-height: var(--indicator-height);\n --border-width: 100%;\n --border-top: auto;\n --width: 100%;\n --padding: 0 var(--nve-ref-size-200);\n --font-size: var(--nve-ref-font-size-100);\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: var(--nve-ref-border-radius-sm);\n --color: var(--nve-sys-text-muted-color);\n --height: var(--nve-ref-size-800);\n --cursor: pointer;\n --text-transform: initial;\n --nve-sys-interaction-state-ratio: 0;\n}\n\n[internal-host] {\n width: var(--width);\n gap: var(--nve-ref-space-xs);\n padding: var(--padding);\n height: var(--height);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n line-height: var(--nve-ref-font-size-500);\n background-image: linear-gradient(\n color-mix(\n in oklab,\n var(--nve-sys-interaction-state-base) 100%,\n var(--nve-sys-interaction-state-mix) var(--nve-sys-interaction-state-ratio)\n )\n 0 0\n ) !important;\n inset: var(--border-inset);\n border-radius: var(--border-radius);\n cursor: var(--cursor);\n text-transform: var(--text-transform);\n display: inline-flex;\n align-items: center;\n border: 0;\n position: relative;\n}\n\n:host(:state(selected)) {\n --color: var(--nve-sys-text-emphasis-color);\n --font-weight: var(--nve-ref-font-weight-semibold);\n}\n\n/* @deprecated use the --indicator-background variable instead */\n:host(:state(selected))::after {\n width: var(--border-width);\n height: var(--border-height);\n border-radius: var(--border-radius);\n background: var(--border-background);\n top: var(--border-top);\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n}\n\n:host(:state(selected)) ::slotted(nve-icon),\n:host(:state(selected)) ::slotted(nve-icon) {\n --color: var(--nve-sys-interaction-color);\n}\n\n:host(:hover:not(:state(disabled), :state(selected))) {\n --color: var(--nve-sys-text-emphasis-color);\n --nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover);\n}\n\n:host(:state(disabled)) {\n --color: var(--nve-sys-interaction-disabled-color);\n --cursor: not-allowed;\n}\n\n:host(:is(:focus, :state(focused))) [internal-host] {\n outline-offset: -3px;\n outline: 5px auto -webkit-focus-ring-color; /* var(--nve-ref-outline-webkit) */\n outline: Highlight solid 2px; /* --nve-ref-outline */\n}\n\n::slotted(a) {\n text-decoration: var(--text-decoration) !important;\n color: var(--color) !important;\n gap: var(--gap) !important;\n display: flex !important;\n align-items: center !important;\n outline: 0;\n}\n\n::slotted(a)::after {\n display: block;\n content: ' ';\n inset: 0;\n position: absolute;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs-item.js","names":[],"sources":["../../src/tabs/tabs-item.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 --border-background: var(--indicator-background);\n --border-height: var(--indicator-height);\n --border-width: 100%;\n --border-top: auto;\n --width: 100%;\n --padding: 0 var(--nve-ref-size-200);\n --font-size: var(--nve-ref-font-size-100);\n --font-weight: var(--nve-ref-font-weight-medium);\n --border-radius: var(--nve-ref-border-radius-sm);\n --color: var(--nve-sys-text-muted-color);\n --height: var(--nve-ref-size-800);\n --cursor: pointer;\n --text-transform: initial;\n --nve-sys-interaction-state-ratio: 0;\n}\n\n[internal-host] {\n width: var(--width);\n gap: var(--nve-ref-space-xs);\n padding: var(--padding);\n height: var(--height);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n line-height: var(--nve-ref-font-size-500);\n background-image: linear-gradient(\n color-mix(\n in oklab,\n var(--nve-sys-interaction-state-base) 100%,\n var(--nve-sys-interaction-state-mix) var(--nve-sys-interaction-state-ratio)\n )\n 0 0\n ) !important;\n inset: var(--border-inset);\n border-radius: var(--border-radius);\n cursor: var(--cursor);\n text-transform: var(--text-transform);\n display: inline-flex;\n align-items: center;\n border: 0;\n position: relative;\n}\n\n:host(:state(selected)) {\n --color: var(--nve-sys-text-emphasis-color);\n --font-weight: var(--nve-ref-font-weight-semibold);\n}\n\n/* @deprecated use the --indicator-background variable instead */\n:host(:state(selected))::after {\n width: var(--border-width);\n height: var(--border-height);\n border-radius: var(--border-radius);\n background: var(--border-background);\n top: var(--border-top);\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n}\n\n:host(:state(selected)) ::slotted(nve-icon) {\n --color: var(--nve-sys-interaction-color);\n}\n\n:host(:hover:not(:state(disabled), :state(selected))) {\n --color: var(--nve-sys-text-emphasis-color);\n --nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover);\n}\n\n:host(:state(disabled)) {\n --color: var(--nve-sys-interaction-disabled-color);\n --cursor: not-allowed;\n}\n\n:host(:is(:focus, :state(focused))) [internal-host] {\n outline-offset: -3px;\n outline: 5px auto -webkit-focus-ring-color; /* var(--nve-ref-outline-webkit) */\n outline: Highlight solid 2px; /* --nve-ref-outline */\n}\n\n::slotted(a) {\n text-decoration: var(--text-decoration) !important;\n color: var(--color) !important;\n gap: var(--gap) !important;\n display: flex !important;\n align-items: center !important;\n outline: 0;\n}\n\n::slotted(a)::after {\n display: block;\n content: ' ';\n inset: 0;\n position: absolute;\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.global.js","names":[],"sources":["../../src/tabs/tabs.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-tabs,\nnve-tabs {\n --indicator-background: var(--nve-sys-accent-secondary-background);\n --indicator-height: var(--nve-ref-border-width-xl);\n --indicator-border-radius: var(--nve-ref-border-radius-sm);\n\n &::after {\n background: var(--indicator-background);\n height: var(--indicator-height);\n border-radius: var(--indicator-border-radius);\n position: fixed;\n display: block;\n content: '';\n width: anchor-size(width);\n transition: left var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);\n position-anchor: --selected;\n top: calc(anchor(bottom) - var(--indicator-height));\n left: anchor(left);\n z-index: -1;\n }\n\n &[borderless]::after {\n display: none !important;\n }\n}\n\nnve-tabs[vertical],\nnve-tabs[vertical] {\n &::after {\n width: var(--indicator-height);\n height: anchor-size(height);\n transition: top var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);\n top: anchor(top);\n }\n}\n\nnve-tabs-item,\nnve-tabs-item {\n &[selected] {\n anchor-name: --selected;\n }\n\n /* if the item does not have custom styles disable the item specific indicator */\n @container style(--border-background: var(--indicator-background)) {\n &::after {\n visibility: hidden !important;\n }\n }\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.global.js","names":[],"sources":["../../src/tabs/tabs.global.css?inline"],"sourcesContent":["/* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. */\n/* SPDX-License-Identifier: Apache-2.0 */\n\nnve-tabs {\n --indicator-background: var(--nve-sys-accent-secondary-background);\n --indicator-height: var(--nve-ref-border-width-xl);\n --indicator-border-radius: var(--nve-ref-border-radius-sm);\n\n &::after {\n background: var(--indicator-background);\n height: var(--indicator-height);\n border-radius: var(--indicator-border-radius);\n position: fixed;\n display: block;\n content: '';\n width: anchor-size(width);\n transition: left var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);\n position-anchor: --selected;\n top: calc(anchor(bottom) - var(--indicator-height));\n left: anchor(left);\n z-index: -1;\n }\n\n &[borderless]::after {\n display: none !important;\n }\n}\n\nnve-tabs[vertical] {\n &::after {\n width: var(--indicator-height);\n height: anchor-size(height);\n transition: top var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);\n top: anchor(top);\n }\n}\n\nnve-tabs-item {\n &[selected] {\n anchor-name: --selected;\n }\n\n /* if the item does not have custom styles disable the item specific indicator */\n @container style(--border-background: var(--indicator-background)) {\n &::after {\n visibility: hidden !important;\n }\n }\n}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","names":[],"sources":["../../src/tabs/tabs.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 --gap: var(--nve-ref-space-xs);\n}\n\n[internal-host] {\n display: flex;\n flex-direction: row;\n gap: var(--gap);\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-color: var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);\n scrollbar-width: var(--nve-sys-scrollbar-width);\n}\n\n:host([vertical]) {\n --gap: var(--nve-ref-space-xxxs);\n}\n\n:host([vertical]) [internal-host] {\n flex-direction: column;\n}\n\n:host([vertical]) ::slotted(nve-tabs-item),\n:host([vertical]) ::slotted(nve-tabs-item) {\n --border-width: var(--nve-ref-border-width-lg);\n --border-height: 24px;\n --border-top: calc(50% - 12px);\n --border-inset: 0 8px 0 8px;\n --width: calc(100% - 8px);\n}\n\n:host([vertical]) ::slotted(nve-tabs-item:state(selected)),\n:host([vertical]) ::slotted(nve-tabs-item:state(selected)) {\n --nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover);\n}\n\n:host([borderless]) ::slotted(nve-tabs-item),\n:host([borderless]) ::slotted(nve-tabs-item) {\n --border-width: 0;\n --border-height: 0;\n}\n\n::slotted(nve-tabs-item),\n::slotted(nve-tabs-item) {\n white-space: nowrap;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tabs.js","names":[],"sources":["../../src/tabs/tabs.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 --gap: var(--nve-ref-space-xs);\n}\n\n[internal-host] {\n display: flex;\n flex-direction: row;\n gap: var(--gap);\n overflow-x: auto;\n white-space: nowrap;\n scrollbar-color: var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);\n scrollbar-width: var(--nve-sys-scrollbar-width);\n}\n\n:host([vertical]) {\n --gap: var(--nve-ref-space-xxxs);\n}\n\n:host([vertical]) [internal-host] {\n flex-direction: column;\n}\n\n:host([vertical]) ::slotted(nve-tabs-item) {\n --border-width: var(--nve-ref-border-width-lg);\n --border-height: 24px;\n --border-top: calc(50% - 12px);\n --border-inset: 0 8px 0 8px;\n --width: calc(100% - 8px);\n}\n\n:host([vertical]) ::slotted(nve-tabs-item:state(selected)) {\n --nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover);\n}\n\n:host([borderless]) ::slotted(nve-tabs-item) {\n --border-width: 0;\n --border-height: 0;\n}\n\n::slotted(nve-tabs-item) {\n white-space: nowrap;\n}\n"],"mappings":""}
@@ -20,7 +20,7 @@ var _ = class extends o {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-tabs-item",
23
- version: "0.0.7",
23
+ version: "0.0.8",
24
24
  parents: ["nve-tabs"]
25
25
  };
26
26
  }
@@ -51,7 +51,7 @@ var v = class extends p {
51
51
  static {
52
52
  this.metadata = {
53
53
  tag: "nve-tabs",
54
- version: "0.0.7",
54
+ version: "0.0.8",
55
55
  children: ["nve-tabs-item"]
56
56
  };
57
57
  }
@@ -62,7 +62,7 @@ var v = class extends p {
62
62
  };
63
63
  }
64
64
  #e(e) {
65
- !this.behaviorSelect || !e.matches("nve-tabs-item, nve-tabs-item") || e.disabled || (this.keynavListConfig.items.forEach((e) => e.selected = !1), e.selected = !0);
65
+ !this.behaviorSelect || !e.matches("nve-tabs-item") || e.disabled || (this.keynavListConfig.items.forEach((e) => e.selected = !1), e.selected = !0);
66
66
  }
67
67
  render() {
68
68
  return m`<div internal-host><slot></slot></div>`;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs2.js","names":["#onClick","#selectTab"],"sources":["../../src/tabs/tabs.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig } from '@nvidia-elements/core/internal';\nimport {\n BaseButton,\n stateSelected,\n useStyles,\n keyNavigationList,\n attachInternals,\n audit,\n appendRootNodeStyle,\n appendAnchorName,\n removeAnchorName\n} from '@nvidia-elements/core/internal';\nimport globalStyles from './tabs.global.css?inline';\nimport tabsItemStyleSheet from './tabs-item.css?inline';\nimport tabsStyleSheet from './tabs.css?inline';\n\n/**\n * @element nve-tabs-item\n * @description Represents an individual tab within a tablist, providing a selectable button for switching between content views.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tabs\n * @slot - default slot for content\n * @cssprop --font-size\n * @cssprop --border-width\n * @cssprop --border-height\n * @cssprop --border-top\n * @cssprop --border-background\n * @cssprop --width\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --border-radius\n * @cssprop --color\n * @cssprop --height\n * @cssprop --cursor\n * @cssprop --text-transform\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n * @responsive false\n */\n@audit()\n@stateSelected<TabsItem>()\nexport class TabsItem extends BaseButton {\n /**\n * Determines which tab item the user selects, defaults to false.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n static styles = useStyles([tabsItemStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-tabs-item',\n version: '0.0.0',\n parents: ['nve-tabs']\n };\n\n render() {\n return html`\n <div internal-host focus-within>\n <slot></slot>\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._internals.role = 'tab';\n }\n\n updated(props: PropertyValues<this>) {\n if (props.has('selected')) {\n if (this.selected) {\n appendAnchorName(this, '--selected');\n } else {\n removeAnchorName(this, '--selected');\n }\n }\n }\n}\n\n/**\n * @element nve-tabs\n * @description Tabs provide a selection UX, typically used for swapping content shown on a page, or within a navigation context.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tabs\n * @slot - default slot for tab-item\n * @cssprop --gap\n * @cssprop --indicator-background\n * @cssprop --indicator-border-radius\n * @cssprop --indicator-height\n * @cssprop --border-inset\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n * @responsive false\n */\n@audit()\n@keyNavigationList<Tabs>()\nexport class Tabs extends LitElement {\n /**\n * Determines whether the tabs should display in a vertical layout vs. defaulting to horizontal.\n */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * Determines whether the tabs should display a border on selected items vs. defaults to show border.\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Determines whether the tabs should handle selection behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-select' }) behaviorSelect = false;\n\n static styles = useStyles([tabsStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-tabs',\n version: '0.0.0',\n children: ['nve-tabs-item']\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.items,\n layout: this.vertical ? 'vertical' : 'horizontal'\n };\n }\n\n @queryAssignedElements() private items!: TabsItem[];\n\n /** @private */\n declare _internals: ElementInternals;\n\n #selectTab(tabItem: HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean }) {\n if (!this.behaviorSelect || !tabItem.matches('nve-tabs-item, nve-tabs-item') || tabItem.disabled) {\n return;\n }\n\n this.keynavListConfig.items.forEach((i: HTMLElement) => ((i as TabsItem).selected = false));\n tabItem.selected = true;\n }\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n attachInternals(this);\n this._internals.role = 'tablist';\n this.addEventListener('click', this.#onClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#onClick);\n }\n\n #onClick = (e: Event) => {\n this.#selectTab(e.target as HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean });\n };\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaOrientation = this.vertical ? 'vertical' : 'horizontal';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgDO,IAAA,IAAA,cAAuB,EAAW;;gBAMvB,EAAU,CAAC,EAAmB,CAAC;;;kBAEpB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,WAAA;GACX;;CAED,SAAS;AACP,SAAO,CAAI;;CAOb,cAAc;AAEZ,EADA,OAAO,kBAnB8C,IAoBrD,KAAK,OAAO;;CAGd,oBAAoB;AAElB,EADA,MAAM,mBAAmB,EACzB,KAAK,WAAW,OAAO;;CAGzB,QAAQ,GAA6B;AACnC,EAAI,EAAM,IAAI,WAAW,KACnB,KAAK,WACP,EAAiB,MAAM,aAAa,GAEpC,EAAiB,MAAM,aAAa;;;GAjCzC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,SAN5C,GAAO,EACP,GAAyB,CAAA,EAAA,EAAA;AA4DnB,IAAA,IAAA,cAAmB,EAAW;;+BAIoB,sBAKE,0BAKmB;;;gBAE5D,EAAU,CAAC,EAAe,CAAC;;;kBAEhB;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,gBAAA;GACZ;;CAGD,IAAI,mBAAqC;AACvC,SAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;GACtC;;CAQH,GAAW,GAAgG;AACrG,GAAC,KAAK,kBAAkB,CAAC,EAAQ,QAAQ,+BAA+B,IAAI,EAAQ,aAIxF,KAAK,iBAAiB,MAAM,SAAS,MAAoB,EAAgB,WAAW,GAAO,EAC3F,EAAQ,WAAW;;CAGrB,SAAS;AACP,SAAO,CAAI;;CAOb,oBAAoB;AAKlB,EAJA,MAAM,mBAAmB,EACzB,EAAoB,MAAM,EAAa,EACvC,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,MAAA,EAAc;;CAG/C,uBAAuB;AAErB,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBAAoB,SAAS,MAAA,EAAc;;CAGlD,MAAY,MAAa;AACvB,QAAA,EAAgB,EAAE,OAAgG;;CAGpH,QAAQ,GAA6B;AAEnC,EADA,MAAM,QAAQ,EAAM,EACpB,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa;;;GArEhE,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,cAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAkBzD,GAAuB,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,SAlCzB,GAAO,EACP,GAAyB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"tabs2.js","names":["#onClick","#selectTab"],"sources":["../../src/tabs/tabs.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, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig } from '@nvidia-elements/core/internal';\nimport {\n BaseButton,\n stateSelected,\n useStyles,\n keyNavigationList,\n attachInternals,\n audit,\n appendRootNodeStyle,\n appendAnchorName,\n removeAnchorName\n} from '@nvidia-elements/core/internal';\nimport globalStyles from './tabs.global.css?inline';\nimport tabsItemStyleSheet from './tabs-item.css?inline';\nimport tabsStyleSheet from './tabs.css?inline';\n\n/**\n * @element nve-tabs-item\n * @description Represents an individual tab within a tablist, providing a selectable button for switching between content views.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tabs\n * @slot - default slot for content\n * @cssprop --font-size\n * @cssprop --border-width\n * @cssprop --border-height\n * @cssprop --border-top\n * @cssprop --border-background\n * @cssprop --width\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --border-radius\n * @cssprop --color\n * @cssprop --height\n * @cssprop --cursor\n * @cssprop --text-transform\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n * @responsive false\n */\n@audit()\n@stateSelected<TabsItem>()\nexport class TabsItem extends BaseButton {\n /**\n * Determines which tab item the user selects, defaults to false.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n static styles = useStyles([tabsItemStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-tabs-item',\n version: '0.0.0',\n parents: ['nve-tabs']\n };\n\n render() {\n return html`\n <div internal-host focus-within>\n <slot></slot>\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this._internals.role = 'tab';\n }\n\n updated(props: PropertyValues<this>) {\n if (props.has('selected')) {\n if (this.selected) {\n appendAnchorName(this, '--selected');\n } else {\n removeAnchorName(this, '--selected');\n }\n }\n }\n}\n\n/**\n * @element nve-tabs\n * @description Tabs provide a selection UX, typically used for swapping content shown on a page, or within a navigation context.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tabs\n * @slot - default slot for tab-item\n * @cssprop --gap\n * @cssprop --indicator-background\n * @cssprop --indicator-border-radius\n * @cssprop --indicator-height\n * @cssprop --border-inset\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n * @responsive false\n */\n@audit()\n@keyNavigationList<Tabs>()\nexport class Tabs extends LitElement {\n /**\n * Determines whether the tabs should display in a vertical layout vs. defaulting to horizontal.\n */\n @property({ type: Boolean, reflect: true }) vertical = false;\n\n /**\n * Determines whether the tabs should display a border on selected items vs. defaults to show border.\n */\n @property({ type: Boolean, reflect: true }) borderless = false;\n\n /**\n * Determines whether the tabs should handle selection behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-select' }) behaviorSelect = false;\n\n static styles = useStyles([tabsStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-tabs',\n version: '0.0.0',\n children: ['nve-tabs-item']\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.items,\n layout: this.vertical ? 'vertical' : 'horizontal'\n };\n }\n\n @queryAssignedElements() private items!: TabsItem[];\n\n /** @private */\n declare _internals: ElementInternals;\n\n #selectTab(tabItem: HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean }) {\n if (!this.behaviorSelect || !tabItem.matches('nve-tabs-item') || tabItem.disabled) {\n return;\n }\n\n this.keynavListConfig.items.forEach((i: HTMLElement) => ((i as TabsItem).selected = false));\n tabItem.selected = true;\n }\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n attachInternals(this);\n this._internals.role = 'tablist';\n this.addEventListener('click', this.#onClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#onClick);\n }\n\n #onClick = (e: Event) => {\n this.#selectTab(e.target as HTMLElement & { matches: Element['matches']; disabled?: boolean; selected?: boolean });\n };\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaOrientation = this.vertical ? 'vertical' : 'horizontal';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAgDO,IAAA,IAAA,cAAuB,EAAW;;gBAMvB,EAAU,CAAC,EAAmB,CAAC;;;kBAEpB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,WAAA;GACX;;CAED,SAAS;AACP,SAAO,CAAI;;CAOb,cAAc;AAEZ,EADA,OAAO,kBAnB8C,IAoBrD,KAAK,OAAO;;CAGd,oBAAoB;AAElB,EADA,MAAM,mBAAmB,EACzB,KAAK,WAAW,OAAO;;CAGzB,QAAQ,GAA6B;AACnC,EAAI,EAAM,IAAI,WAAW,KACnB,KAAK,WACP,EAAiB,MAAM,aAAa,GAEpC,EAAiB,MAAM,aAAa;;;GAjCzC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,SAN5C,GAAO,EACP,GAAyB,CAAA,EAAA,EAAA;AA4DnB,IAAA,IAAA,cAAmB,EAAW;;+BAIoB,sBAKE,0BAKmB;;;gBAE5D,EAAU,CAAC,EAAe,CAAC;;;kBAEhB;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,gBAAA;GACZ;;CAGD,IAAI,mBAAqC;AACvC,SAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;GACtC;;CAQH,GAAW,GAAgG;AACrG,GAAC,KAAK,kBAAkB,CAAC,EAAQ,QAAQ,gBAAgB,IAAI,EAAQ,aAIzE,KAAK,iBAAiB,MAAM,SAAS,MAAoB,EAAgB,WAAW,GAAO,EAC3F,EAAQ,WAAW;;CAGrB,SAAS;AACP,SAAO,CAAI;;CAOb,oBAAoB;AAKlB,EAJA,MAAM,mBAAmB,EACzB,EAAoB,MAAM,EAAa,EACvC,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,MAAA,EAAc;;CAG/C,uBAAuB;AAErB,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBAAoB,SAAS,MAAA,EAAc;;CAGlD,MAAY,MAAa;AACvB,QAAA,EAAgB,EAAE,OAAgG;;CAGpH,QAAQ,GAA6B;AAEnC,EADA,MAAM,QAAQ,EAAM,EACpB,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa;;;GArEhE,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,cAAA,KAAA,EAAA,KAK1C,EAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAkBzD,GAAuB,CAAA,EAAA,EAAA,WAAA,SAAA,KAAA,EAAA,SAlCzB,GAAO,EACP,GAAyB,CAAA,EAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag.js","names":[],"sources":["../../src/tag/tag.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 --background: var(--state-color-background);\n --color: var(--state-color);\n --state-color-base: var(--nve-ref-color-blue-cobalt-1100);\n --nve-sys-interaction-state-base: var(--background, var(--nve-sys-layer-canvas-background));\n --gap: var(--nve-ref-space-xs);\n --font-size: var(--nve-ref-font-size-100);\n --padding: 0 var(--nve-ref-size-200);\n --border: 0;\n --border-radius: var(--nve-ref-border-radius-full);\n --font-weight: var(--nve-ref-font-weight-regular);\n --cursor: pointer;\n --height: var(--nve-ref-size-600);\n --width: initial;\n --max-width: initial;\n display: inline-flex;\n user-select: none;\n}\n\n[internal-host] {\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n gap: var(--gap);\n background: var(--background);\n color: var(--color);\n padding: var(--padding);\n border: var(--border);\n border-radius: var(--border-radius);\n cursor: var(--cursor);\n height: var(--height);\n width: var(--width);\n max-width: var(--max-width);\n display: inline-flex;\n line-height: 1.1em;\n place-items: center;\n place-content: center;\n white-space: nowrap;\n}\n\nslot {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n}\n\n::slotted([nve-text]),\n::slotted([nve-text]) {\n color: inherit !important;\n}\n\nnve-icon {\n --color: inherit;\n cursor: var(--cursor);\n}\n\n:host([readonly]) {\n --text-decoration: none;\n --cursor: cursor;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"tag.js","names":[],"sources":["../../src/tag/tag.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 --background: var(--state-color-background);\n --color: var(--state-color);\n --state-color-base: var(--nve-ref-color-blue-cobalt-1100);\n --nve-sys-interaction-state-base: var(--background, var(--nve-sys-layer-canvas-background));\n --gap: var(--nve-ref-space-xs);\n --font-size: var(--nve-ref-font-size-100);\n --padding: 0 var(--nve-ref-size-200);\n --border: 0;\n --border-radius: var(--nve-ref-border-radius-full);\n --font-weight: var(--nve-ref-font-weight-regular);\n --cursor: pointer;\n --height: var(--nve-ref-size-600);\n --width: initial;\n --max-width: initial;\n display: inline-flex;\n user-select: none;\n}\n\n[internal-host] {\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n gap: var(--gap);\n background: var(--background);\n color: var(--color);\n padding: var(--padding);\n border: var(--border);\n border-radius: var(--border-radius);\n cursor: var(--cursor);\n height: var(--height);\n width: var(--width);\n max-width: var(--max-width);\n display: inline-flex;\n line-height: 1.1em;\n place-items: center;\n place-content: center;\n white-space: nowrap;\n}\n\nslot {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n display: block;\n}\n\n::slotted([nve-text]) {\n color: inherit !important;\n}\n\nnve-icon {\n --color: inherit;\n cursor: var(--cursor);\n}\n\n:host([readonly]) {\n --text-decoration: none;\n --cursor: cursor;\n}\n"],"mappings":""}
package/dist/tag/tag2.js CHANGED
@@ -17,7 +17,7 @@ var f = class extends t {
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-tag",
20
- version: "0.0.7"
20
+ version: "0.0.8"
21
21
  };
22
22
  }
23
23
  static {
@@ -9,7 +9,7 @@ var r = class extends t {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-textarea",
12
- version: "0.0.7"
12
+ version: "0.0.8"
13
13
  };
14
14
  }
15
15
  };
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-time",
22
- version: "0.0.7"
22
+ version: "0.0.8"
23
23
  };
24
24
  }
25
25
  static {