@nvidia-elements/core 0.2.2 → 0.2.4

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 (287) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/NOTICE.md +4 -4
  3. package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/decorate.js +1 -1
  4. package/dist/accordion/accordion-header.js +1 -1
  5. package/dist/accordion/accordion-header.js.map +1 -1
  6. package/dist/accordion/accordion.d.ts +4 -7
  7. package/dist/accordion/accordion.examples.js.map +1 -1
  8. package/dist/accordion/accordion.examples.json +1 -12
  9. package/dist/accordion/accordion.js +1 -1
  10. package/dist/accordion/accordion.js.map +1 -1
  11. package/dist/accordion/accordion2.js +41 -44
  12. package/dist/accordion/accordion2.js.map +1 -1
  13. package/dist/alert/alert-group.d.ts +1 -1
  14. package/dist/alert/alert-group2.js +14 -14
  15. package/dist/alert/alert.d.ts +1 -1
  16. package/dist/alert/alert.js +1 -1
  17. package/dist/alert/alert.js.map +1 -1
  18. package/dist/alert/alert2.js +20 -20
  19. package/dist/avatar/avatar-group.d.ts +1 -1
  20. package/dist/avatar/avatar-group2.js +1 -1
  21. package/dist/avatar/avatar.d.ts +1 -1
  22. package/dist/avatar/avatar2.js +6 -6
  23. package/dist/badge/badge.d.ts +3 -3
  24. package/dist/badge/badge.js +1 -1
  25. package/dist/badge/badge.js.map +1 -1
  26. package/dist/badge/badge2.js +22 -23
  27. package/dist/badge/badge2.js.map +1 -1
  28. package/dist/breadcrumb/breadcrumb.d.ts +1 -6
  29. package/dist/breadcrumb/breadcrumb.js +1 -1
  30. package/dist/breadcrumb/breadcrumb.js.map +1 -1
  31. package/dist/breadcrumb/breadcrumb2.js +12 -12
  32. package/dist/breadcrumb/breadcrumb2.js.map +1 -1
  33. package/dist/bundle.d.ts +14 -0
  34. package/dist/bundles/index.d.ts +1229 -1877
  35. package/dist/bundles/index.js +6 -6
  36. package/dist/button/button.d.ts +7 -4
  37. package/dist/button/button.js +1 -1
  38. package/dist/button/button.js.map +1 -1
  39. package/dist/button/button2.js +13 -13
  40. package/dist/button/button2.js.map +1 -1
  41. package/dist/button-group/button-group.d.ts +1 -1
  42. package/dist/button-group/button-group2.js +15 -15
  43. package/dist/card/card-header.js +1 -1
  44. package/dist/card/card-header.js.map +1 -1
  45. package/dist/card/card.d.ts +4 -7
  46. package/dist/card/card2.js +18 -18
  47. package/dist/card/card2.js.map +1 -1
  48. package/dist/chat-message/chat-message.d.ts +1 -1
  49. package/dist/chat-message/chat-message2.js +7 -7
  50. package/dist/checkbox/checkbox-group2.js +7 -7
  51. package/dist/checkbox/checkbox2.js +7 -7
  52. package/dist/color/color.d.ts +1 -1
  53. package/dist/color/color2.js +7 -7
  54. package/dist/combobox/combobox.d.ts +2 -8
  55. package/dist/combobox/combobox.examples.js.map +1 -1
  56. package/dist/combobox/combobox2.js +10 -13
  57. package/dist/combobox/combobox2.js.map +1 -1
  58. package/dist/copy-button/copy-button.d.ts +1 -1
  59. package/dist/copy-button/copy-button2.js +11 -11
  60. package/dist/copy-button/copy-button2.js.map +1 -1
  61. package/dist/custom-elements-jsx.d.ts +374 -646
  62. package/dist/custom-elements-vue.d.ts +374 -646
  63. package/dist/custom-elements.json +5999 -15468
  64. package/dist/data.html.json +322 -191
  65. package/dist/data.snippets.json +30 -30
  66. package/dist/date/date.d.ts +1 -1
  67. package/dist/date/date2.js +7 -7
  68. package/dist/datetime/datetime.d.ts +1 -1
  69. package/dist/datetime/datetime2.js +7 -7
  70. package/dist/dialog/dialog-footer.d.ts +1 -1
  71. package/dist/dialog/dialog-footer2.js +6 -6
  72. package/dist/dialog/dialog-header.d.ts +1 -1
  73. package/dist/dialog/dialog-header2.js +6 -6
  74. package/dist/dialog/dialog.d.ts +1 -1
  75. package/dist/dialog/dialog.examples.js.map +1 -1
  76. package/dist/dialog/dialog2.js +19 -19
  77. package/dist/divider/divider.d.ts +1 -1
  78. package/dist/divider/divider2.js +5 -5
  79. package/dist/dot/dot.d.ts +1 -1
  80. package/dist/dot/dot2.js +8 -8
  81. package/dist/drawer/drawer-content.d.ts +1 -1
  82. package/dist/drawer/drawer-content2.js +6 -6
  83. package/dist/drawer/drawer-footer.d.ts +1 -1
  84. package/dist/drawer/drawer-footer2.js +6 -6
  85. package/dist/drawer/drawer-header.d.ts +1 -1
  86. package/dist/drawer/drawer-header2.js +6 -6
  87. package/dist/drawer/drawer.d.ts +1 -1
  88. package/dist/drawer/drawer2.js +19 -19
  89. package/dist/dropdown/dropdown-footer.d.ts +1 -1
  90. package/dist/dropdown/dropdown-footer2.js +6 -6
  91. package/dist/dropdown/dropdown-header.d.ts +1 -1
  92. package/dist/dropdown/dropdown-header2.js +6 -6
  93. package/dist/dropdown/dropdown.d.ts +1 -1
  94. package/dist/dropdown/dropdown2.js +16 -16
  95. package/dist/dropdown-group/dropdown-group.d.ts +1 -1
  96. package/dist/dropdown-group/dropdown-group.js +16 -16
  97. package/dist/dropzone/dropzone.d.ts +2 -405
  98. package/dist/dropzone/dropzone2.js +14 -14
  99. package/dist/dropzone/dropzone2.js.map +1 -1
  100. package/dist/file/file2.js +1 -1
  101. package/dist/format-datetime/format-datetime.d.ts +1 -1
  102. package/dist/format-datetime/format-datetime2.js +10 -10
  103. package/dist/format-number/format-number.d.ts +1 -1
  104. package/dist/format-number/format-number2.js +16 -16
  105. package/dist/format-relative-time/format-relative-time.d.ts +1 -1
  106. package/dist/format-relative-time/format-relative-time2.js +7 -7
  107. package/dist/forms/control/control2.js +19 -19
  108. package/dist/forms/control-group/control-group.d.ts +1 -1
  109. package/dist/forms/control-group/control-group.js +1 -1
  110. package/dist/forms/control-group/control-group.js.map +1 -1
  111. package/dist/forms/control-group/control-group2.js +6 -6
  112. package/dist/forms/control-message/control-message.d.ts +1 -1
  113. package/dist/forms/control-message/control-message2.js +9 -9
  114. package/dist/grid/cell/cell.d.ts +1 -1
  115. package/dist/grid/cell/cell2.js +1 -1
  116. package/dist/grid/column/column.d.ts +1 -1
  117. package/dist/grid/column/column2.js +10 -10
  118. package/dist/grid/footer/footer.d.ts +1 -1
  119. package/dist/grid/footer/footer2.js +6 -6
  120. package/dist/grid/grid.d.ts +3 -2
  121. package/dist/grid/grid.examples.js.map +1 -1
  122. package/dist/grid/grid2.js +38 -30
  123. package/dist/grid/grid2.js.map +1 -1
  124. package/dist/grid/header/header.d.ts +1 -1
  125. package/dist/grid/header/header2.js +9 -9
  126. package/dist/grid/placeholder/placeholder.d.ts +1 -1
  127. package/dist/grid/placeholder/placeholder2.js +1 -1
  128. package/dist/grid/row/row.d.ts +1 -1
  129. package/dist/grid/row/row2.js +9 -9
  130. package/dist/icon/icon.d.ts +1 -1
  131. package/dist/icon/icon2.js +29 -21
  132. package/dist/icon/icon2.js.map +1 -1
  133. package/dist/icon/icons.d.ts +0 -2
  134. package/dist/icon/icons.js.map +1 -1
  135. package/dist/icon-button/icon-button.d.ts +1 -1
  136. package/dist/icon-button/icon-button.js +1 -1
  137. package/dist/icon-button/icon-button.js.map +1 -1
  138. package/dist/icon-button/icon-button2.js +9 -9
  139. package/dist/index.js +4 -4
  140. package/dist/input/input-group.examples.js.map +1 -1
  141. package/dist/input/input-group.examples.json +11 -0
  142. package/dist/input/input-group.js +1 -1
  143. package/dist/input/input-group.js.map +1 -1
  144. package/dist/input/input-group2.js +1 -1
  145. package/dist/input/input2.js +6 -6
  146. package/dist/internal/controllers/keynav-grid.controller.js +39 -39
  147. package/dist/internal/controllers/state-scroll.controller.d.ts +1 -0
  148. package/dist/internal/controllers/state-scroll.controller.js +25 -8
  149. package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
  150. package/dist/internal/controllers/type-button.controller.examples.js.map +1 -1
  151. package/dist/internal/controllers/type-button.controller.examples.json +1 -1
  152. package/dist/internal/controllers/type-command.controller.d.ts +6 -1
  153. package/dist/internal/controllers/type-command.controller.js +20 -14
  154. package/dist/internal/controllers/type-command.controller.js.map +1 -1
  155. package/dist/internal/controllers/type-native-popover.controller.js +28 -21
  156. package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
  157. package/dist/internal/controllers/type-native-popover.utils.js +7 -7
  158. package/dist/internal/index.d.ts +0 -1
  159. package/dist/internal/index.js +40 -41
  160. package/dist/internal/services/global.service.js +1 -1
  161. package/dist/internal/types/index.d.ts +0 -10
  162. package/dist/internal/types/index.js +0 -3
  163. package/dist/internal/types/index.js.map +1 -1
  164. package/dist/logo/logo.d.ts +1 -1
  165. package/dist/logo/logo2.js +6 -6
  166. package/dist/menu/menu-item.d.ts +5 -3
  167. package/dist/menu/menu-item2.js +12 -12
  168. package/dist/menu/menu-item2.js.map +1 -1
  169. package/dist/menu/menu.d.ts +1 -1
  170. package/dist/menu/menu.examples.js.map +1 -1
  171. package/dist/menu/menu.examples.json +1 -1
  172. package/dist/menu/menu2.js +10 -10
  173. package/dist/month/month.d.ts +1 -1
  174. package/dist/month/month2.js +7 -7
  175. package/dist/notification/notification-group.d.ts +1 -1
  176. package/dist/notification/notification-group2.js +11 -11
  177. package/dist/notification/notification.d.ts +2 -1
  178. package/dist/notification/notification.examples.js.map +1 -1
  179. package/dist/notification/notification.examples.json +0 -11
  180. package/dist/notification/notification2.js +36 -28
  181. package/dist/notification/notification2.js.map +1 -1
  182. package/dist/page/page-panel/page-panel-content.d.ts +1 -1
  183. package/dist/page/page-panel/page-panel-content2.js +1 -1
  184. package/dist/page/page-panel/page-panel-footer.d.ts +1 -1
  185. package/dist/page/page-panel/page-panel-footer2.js +6 -6
  186. package/dist/page/page-panel/page-panel-header.d.ts +1 -1
  187. package/dist/page/page-panel/page-panel-header2.js +6 -6
  188. package/dist/page/page-panel/page-panel.d.ts +2 -17
  189. package/dist/page/page-panel/page-panel.global.js +1 -1
  190. package/dist/page/page-panel/page-panel.global.js.map +1 -1
  191. package/dist/page/page-panel/page-panel2.js +21 -44
  192. package/dist/page/page-panel/page-panel2.js.map +1 -1
  193. package/dist/page/page.d.ts +1 -1
  194. package/dist/page/page.examples.js.map +1 -1
  195. package/dist/page/page.examples.json +0 -32
  196. package/dist/page/page2.js +9 -9
  197. package/dist/page-header/page-header.d.ts +1 -1
  198. package/dist/page-header/page-header2.js +1 -1
  199. package/dist/page-loader/page-loader.d.ts +1 -1
  200. package/dist/page-loader/page-loader2.js +10 -10
  201. package/dist/pagination/pagination.d.ts +2 -405
  202. package/dist/pagination/pagination2.js +17 -17
  203. package/dist/pagination/pagination2.js.map +1 -1
  204. package/dist/panel/panel.d.ts +8 -5
  205. package/dist/panel/panel.examples.js.map +1 -1
  206. package/dist/panel/panel2.js +21 -21
  207. package/dist/panel/panel2.js.map +1 -1
  208. package/dist/password/password.d.ts +1 -1
  209. package/dist/password/password2.js +7 -7
  210. package/dist/preferences-input/preferences-input.d.ts +2 -405
  211. package/dist/preferences-input/preferences-input2.js +9 -9
  212. package/dist/preferences-input/preferences-input2.js.map +1 -1
  213. package/dist/progress-bar/progress-bar.d.ts +1 -1
  214. package/dist/progress-bar/progress-bar2.js +8 -8
  215. package/dist/progress-ring/progress-ring.d.ts +1 -3
  216. package/dist/progress-ring/progress-ring2.js +17 -22
  217. package/dist/progress-ring/progress-ring2.js.map +1 -1
  218. package/dist/progressive-filter-chip/progressive-filter-chip.d.ts +1 -1
  219. package/dist/progressive-filter-chip/progressive-filter-chip2.js +15 -15
  220. package/dist/pulse/pulse.d.ts +1 -1
  221. package/dist/pulse/pulse2.js +6 -6
  222. package/dist/radio/radio-group2.js +7 -7
  223. package/dist/radio/radio2.js +7 -7
  224. package/dist/range/range.d.ts +1 -1
  225. package/dist/range/range2.js +5 -5
  226. package/dist/resize-handle/resize-handle.d.ts +2 -405
  227. package/dist/resize-handle/resize-handle2.js +16 -16
  228. package/dist/resize-handle/resize-handle2.js.map +1 -1
  229. package/dist/search/search.d.ts +1 -1
  230. package/dist/search/search2.js +8 -8
  231. package/dist/select/select.d.ts +2 -2
  232. package/dist/select/select2.js +18 -18
  233. package/dist/skeleton/skeleton.d.ts +1 -1
  234. package/dist/skeleton/skeleton2.js +7 -7
  235. package/dist/sort-button/sort-button.d.ts +5 -3
  236. package/dist/sort-button/sort-button2.js +19 -19
  237. package/dist/sort-button/sort-button2.js.map +1 -1
  238. package/dist/sparkline/sparkline.d.ts +1 -1
  239. package/dist/sparkline/sparkline2.js +14 -14
  240. package/dist/star-rating/star-rating.d.ts +1 -1
  241. package/dist/star-rating/star-rating2.js +6 -6
  242. package/dist/steps/steps.d.ts +6 -4
  243. package/dist/steps/steps2.js +36 -36
  244. package/dist/steps/steps2.js.map +1 -1
  245. package/dist/switch/switch-group2.js +6 -6
  246. package/dist/switch/switch2.js +7 -7
  247. package/dist/tabs/tabs-group.d.ts +1 -1
  248. package/dist/tabs/tabs-group2.js +21 -21
  249. package/dist/tabs/tabs-item.js +1 -1
  250. package/dist/tabs/tabs-item.js.map +1 -1
  251. package/dist/tabs/tabs.d.ts +6 -8
  252. package/dist/tabs/tabs.global.js +1 -1
  253. package/dist/tabs/tabs.global.js.map +1 -1
  254. package/dist/tabs/tabs.js +1 -1
  255. package/dist/tabs/tabs.js.map +1 -1
  256. package/dist/tabs/tabs2.js +30 -30
  257. package/dist/tabs/tabs2.js.map +1 -1
  258. package/dist/tag/tag.d.ts +6 -3
  259. package/dist/tag/tag2.js +20 -20
  260. package/dist/tag/tag2.js.map +1 -1
  261. package/dist/textarea/textarea2.js +1 -1
  262. package/dist/time/time.d.ts +1 -1
  263. package/dist/time/time2.js +7 -7
  264. package/dist/toast/toast.d.ts +3 -4
  265. package/dist/toast/toast2.js +21 -21
  266. package/dist/toast/toast2.js.map +1 -1
  267. package/dist/toggletip/toggletip-footer.d.ts +1 -1
  268. package/dist/toggletip/toggletip-footer2.js +6 -6
  269. package/dist/toggletip/toggletip-header.d.ts +1 -1
  270. package/dist/toggletip/toggletip-header2.js +6 -6
  271. package/dist/toggletip/toggletip.d.ts +1 -1
  272. package/dist/toggletip/toggletip.examples.js.map +1 -1
  273. package/dist/toggletip/toggletip2.js +17 -17
  274. package/dist/toolbar/toolbar.d.ts +1 -1
  275. package/dist/toolbar/toolbar2.js +11 -11
  276. package/dist/tooltip/tooltip.d.ts +1 -1
  277. package/dist/tooltip/tooltip2.js +16 -16
  278. package/dist/tree/tree-node.d.ts +1 -1
  279. package/dist/tree/tree-node2.js +30 -30
  280. package/dist/tree/tree.d.ts +1 -1
  281. package/dist/tree/tree2.js +14 -14
  282. package/dist/week/week.d.ts +1 -1
  283. package/dist/week/week2.js +7 -7
  284. package/package.json +15 -15
  285. package/dist/internal/base/button.d.ts +0 -114
  286. package/dist/internal/base/button.js +0 -117
  287. package/dist/internal/base/button.js.map +0 -1
@@ -1,17 +1,17 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { audit as t } from "../internal/controllers/audit.controller.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import { ControlGroup as r } from "../forms/control-group/control-group2.js";
5
5
  import i from "./switch-group.js";
6
6
  //#region src/switch/switch-group.ts
7
7
  var a = class extends r {
8
8
  static {
9
- this.styles = n([...r.styles, i]);
9
+ this.styles = t([...r.styles, i]);
10
10
  }
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-switch-group",
14
- version: "0.2.2",
14
+ version: "0.2.4",
15
15
  children: [
16
16
  "label",
17
17
  "nve-control-message",
@@ -20,7 +20,7 @@ var a = class extends r {
20
20
  };
21
21
  }
22
22
  };
23
- a = e([t()], a);
23
+ a = n([e()], a);
24
24
  //#endregion
25
25
  export { a as SwitchGroup };
26
26
 
@@ -1,7 +1,7 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { audit as t } from "../internal/controllers/audit.controller.js";
3
- import { hostAttr as n } from "../internal/decorators/host-attr.js";
4
- import { useStyles as r } from "../internal/styles/index.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { hostAttr as t } from "../internal/decorators/host-attr.js";
3
+ import { useStyles as n } from "../internal/styles/index.js";
4
+ import { __decorate as r } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
5
5
  import { Control as i } from "../forms/control/control2.js";
6
6
  import a from "./switch.js";
7
7
  //#region src/switch/switch.ts
@@ -10,12 +10,12 @@ var o = class extends i {
10
10
  super(...e), this.nveControl = "inline";
11
11
  }
12
12
  static {
13
- this.styles = r([...i.styles, a]);
13
+ this.styles = n([...i.styles, a]);
14
14
  }
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-switch",
18
- version: "0.2.2",
18
+ version: "0.2.4",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -24,7 +24,7 @@ var o = class extends i {
24
24
  };
25
25
  }
26
26
  };
27
- e([n({ attribute: "nve-control" })], o.prototype, "nveControl", void 0), o = e([t()], o);
27
+ r([t({ attribute: "nve-control" })], o.prototype, "nveControl", void 0), o = r([e()], o);
28
28
  //#endregion
29
29
  export { o as Switch };
30
30
 
@@ -43,7 +43,7 @@ export declare class TabsGroup extends LitElement {
43
43
  * Renders the default slot (single `nve-tabs`) plus one named `<slot name={value}>` per distinct selectable
44
44
  * `nve-tabs-item` value. `#syncPanelSlot` applies panel visibility and ARIA from `selectedValue`.
45
45
  */
46
- render(): import('lit-html').TemplateResult<1>;
46
+ render(): import('lit').TemplateResult<1>;
47
47
  connectedCallback(): void;
48
48
  firstUpdated(): void;
49
49
  disconnectedCallback(): void;
@@ -1,8 +1,8 @@
1
- import { generateId as e, sameOrderedStringArray as t, uniqueNonEmptyStrings as n } from "../internal/utils/dom.js";
2
- import { attachInternals as r } from "../internal/utils/a11y.js";
3
- import { __decorate as i } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
4
- import { audit as a } from "../internal/controllers/audit.controller.js";
5
- import { useStyles as o } from "../internal/styles/index.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { generateId as t, sameOrderedStringArray as n, uniqueNonEmptyStrings as r } from "../internal/utils/dom.js";
3
+ import { attachInternals as i } from "../internal/utils/a11y.js";
4
+ import { useStyles as a } from "../internal/styles/index.js";
5
+ import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
6
6
  import { Tabs as s } from "./tabs2.js";
7
7
  import c from "./tabs-group.js";
8
8
  import { LitElement as l, html as u } from "lit";
@@ -28,12 +28,12 @@ var m, h = class extends l {
28
28
  };
29
29
  }
30
30
  static {
31
- this.styles = o([c]);
31
+ this.styles = a([c]);
32
32
  }
33
33
  static {
34
34
  this.metadata = {
35
35
  tag: "nve-tabs-group",
36
- version: "0.2.2",
36
+ version: "0.2.4",
37
37
  children: ["nve-tabs"]
38
38
  };
39
39
  }
@@ -55,7 +55,7 @@ var m, h = class extends l {
55
55
  return u`<div internal-host><slot @slotchange="${this.#t}"></slot>${this.panelValues.map((e) => u`<slot name="${e}" @slotchange="${this.#n}"></slot>`)}</div>`;
56
56
  }
57
57
  connectedCallback() {
58
- super.connectedCallback(), r(this), this._internals.role = "group", this.addEventListener("command", this.#r);
58
+ super.connectedCallback(), i(this), this._internals.role = "group", this.addEventListener("command", this.#r);
59
59
  }
60
60
  firstUpdated() {
61
61
  this.updateComplete.then(() => {
@@ -79,18 +79,18 @@ var m, h = class extends l {
79
79
  e && (this.#e = new MutationObserver(() => this.#a()), this.#e.observe(e, m.subtreeObserverInit));
80
80
  }
81
81
  #a() {
82
- let e = this.#d(), t = n(e.map((e) => e.value)), r = this.#m(e);
83
- if (!r) {
82
+ let e = this.#d(), t = r(e.map((e) => e.value)), n = this.#m(e);
83
+ if (!n) {
84
84
  e.forEach((e) => e.selected = !1), this.#s(t, "");
85
85
  return;
86
86
  }
87
- this.#o(e, r, {
87
+ this.#o(e, n, {
88
88
  emitEvent: !1,
89
89
  nextPanelValues: t
90
90
  });
91
91
  }
92
- #o(e, t, r) {
93
- let { emitEvent: i } = r, a = r.nextPanelValues ?? n(e.map((e) => e.value)), o = this.selectedValue !== t.value || !t.selected || e.some((e) => e !== t && e.selected);
92
+ #o(e, t, n) {
93
+ let { emitEvent: i } = n, a = n.nextPanelValues ?? r(e.map((e) => e.value)), o = this.selectedValue !== t.value || !t.selected || e.some((e) => e !== t && e.selected);
94
94
  e.forEach((e) => {
95
95
  e.selected = e === t;
96
96
  }), this.#s(a, t.value), i && o && this.dispatchEvent(new CustomEvent("select", {
@@ -99,8 +99,8 @@ var m, h = class extends l {
99
99
  detail: { value: t.value }
100
100
  }));
101
101
  }
102
- #s(e, n) {
103
- t(this.panelValues, e) || (this.panelValues = e), this.selectedValue !== n && (this.selectedValue = n);
102
+ #s(e, t) {
103
+ n(this.panelValues, e) || (this.panelValues = e), this.selectedValue !== t && (this.selectedValue = t);
104
104
  }
105
105
  #c() {
106
106
  let e = this.#d(), t = new Map(e.filter((e) => this.#p(e)).map((e) => [e.value, e]));
@@ -108,16 +108,16 @@ var m, h = class extends l {
108
108
  this.#l(e, t);
109
109
  });
110
110
  }
111
- #l(t, n) {
112
- let r = n.get(t.name), i = t.assignedElements({ flatten: !0 });
111
+ #l(e, n) {
112
+ let r = n.get(e.name), i = e.assignedElements({ flatten: !0 });
113
113
  if (!r) {
114
114
  i.forEach((e) => {
115
115
  e.hidden = !0;
116
116
  });
117
117
  return;
118
118
  }
119
- r.id ||= e(), i.forEach((n, i) => {
120
- n.id ||= e(), !r.hasAttribute("aria-controls") && i === 0 && r.setAttribute("aria-controls", n.id), n.hasAttribute("aria-labelledby") || n.setAttribute("aria-labelledby", r.id), n.hasAttribute("role") || n.setAttribute("role", "tabpanel"), n.hidden = t.name !== this.selectedValue;
119
+ r.id ||= t(), i.forEach((n, i) => {
120
+ n.id ||= t(), !r.hasAttribute("aria-controls") && i === 0 && r.setAttribute("aria-controls", n.id), n.hasAttribute("aria-labelledby") || n.setAttribute("aria-labelledby", r.id), n.hasAttribute("role") || n.setAttribute("role", "tabpanel"), n.hidden = e.name !== this.selectedValue;
121
121
  });
122
122
  }
123
123
  #u() {
@@ -137,10 +137,10 @@ var m, h = class extends l {
137
137
  return e.find((e) => this.#p(e) && e.selected) ?? e.find((e) => this.#p(e));
138
138
  }
139
139
  };
140
- i([p({ flatten: !0 })], h.prototype, "defaultSlotElements", void 0), i([d({
140
+ o([p({ flatten: !0 })], h.prototype, "defaultSlotElements", void 0), o([d({
141
141
  type: String,
142
142
  reflect: !0
143
- })], h.prototype, "alignment", void 0), i([f()], h.prototype, "panelValues", void 0), i([f()], h.prototype, "selectedValue", void 0), h = m = i([a()], h);
143
+ })], h.prototype, "alignment", void 0), o([f()], h.prototype, "panelValues", void 0), o([f()], h.prototype, "selectedValue", void 0), h = m = o([e()], h);
144
144
  //#endregion
145
145
  export { h as TabsGroup };
146
146
 
@@ -1,5 +1,5 @@
1
1
  //#region src/tabs/tabs-item.css?inline
2
- var e = ":host{--border-background: var(--indicator-background);--border-height: var(--indicator-height);--border-width: 100%;--border-top: auto;--width: 100%;--padding: 0 var(--nve-ref-size-200);--font-size: var(--nve-ref-font-size-100);--font-weight: var(--nve-ref-font-weight-medium);--border-radius: var(--nve-ref-border-radius-sm);--color: var(--nve-sys-text-muted-color);--height: var(--nve-ref-size-800);--cursor: pointer;--text-transform: initial;--nve-sys-interaction-state-ratio: 0}[internal-host]{width:var(--width);gap:var(--nve-ref-space-xs);padding:var(--padding);height:var(--height);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);line-height:var(--nve-ref-font-size-500);background-image:linear-gradient(color-mix(in oklab,var(--nve-sys-interaction-state-base) 100%,var(--nve-sys-interaction-state-mix) var(--nve-sys-interaction-state-ratio)) 0 0)!important;inset:var(--border-inset);border-radius:var(--border-radius);cursor:var(--cursor);text-transform:var(--text-transform);display:inline-flex;align-items:center;border:0;position:relative}:host(:state(selected)){--color: var(--nve-sys-text-emphasis-color);--font-weight: var(--nve-ref-font-weight-semibold)}:host(:state(selected)):after{width:var(--border-width);height:var(--border-height);border-radius:var(--border-radius);background:var(--border-background);top:var(--border-top);content:\"\";display:block;position:absolute;bottom:0;left:0}:host(:state(selected)) ::slotted(nve-icon){--color: var(--nve-sys-interaction-color)}:host(:hover:not(:state(disabled),:state(selected))){--color: var(--nve-sys-text-emphasis-color);--nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover)}:host(:state(disabled)){--color: var(--nve-sys-interaction-disabled-color);--cursor: not-allowed}:host(:is(:focus,:state(focused))) [internal-host]{outline-offset:-3px;outline:5px auto -webkit-focus-ring-color;outline:Highlight solid 2px}::slotted(a){text-decoration:var(--text-decoration)!important;color:var(--color)!important;gap:var(--gap)!important;display:flex!important;align-items:center!important;outline:0}::slotted(a):after{display:block;content:\" \";inset:0;position:absolute}";
2
+ var e = ":host{--width: 100%;--padding: 0 var(--nve-ref-size-200);--font-size: var(--nve-ref-font-size-100);--font-weight: var(--nve-ref-font-weight-medium);--border-radius: var(--nve-ref-border-radius-sm);--color: var(--nve-sys-text-muted-color);--height: var(--nve-ref-size-800);--cursor: pointer;--text-transform: initial;--nve-sys-interaction-state-ratio: 0}[internal-host]{width:var(--width);gap:var(--nve-ref-space-xs);padding:var(--padding);height:var(--height);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);line-height:var(--nve-ref-font-size-500);background-image:linear-gradient(color-mix(in oklab,var(--nve-sys-interaction-state-base) 100%,var(--nve-sys-interaction-state-mix) var(--nve-sys-interaction-state-ratio)) 0 0)!important;inset:var(--border-inset);border-radius:var(--border-radius);cursor:var(--cursor);text-transform:var(--text-transform);display:inline-flex;align-items:center;border:0;position:relative}:host(:state(selected)){--color: var(--nve-sys-text-emphasis-color);--font-weight: var(--nve-ref-font-weight-semibold)}:host(:state(selected)) ::slotted(nve-icon){--color: var(--nve-sys-interaction-color)}:host(:hover:not(:state(disabled),:state(selected))){--color: var(--nve-sys-text-emphasis-color);--nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover)}:host(:state(disabled)){--color: var(--nve-sys-interaction-disabled-color);--cursor: not-allowed}:host(:is(:focus,:state(focused))) [internal-host]{outline-offset:-3px;outline:5px auto -webkit-focus-ring-color;outline:Highlight solid 2px}::slotted(a){text-decoration:var(--text-decoration)!important;color:var(--color)!important;gap:var(--gap)!important;display:flex!important;align-items:center!important;outline:0}::slotted(a):after{display:block;content:\" \";inset:0;position:absolute}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -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 --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 --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: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,5 +1,6 @@
1
1
  import { PropertyValues, LitElement } from 'lit';
2
- import { KeynavListConfig, BaseButton } from '../internal';
2
+ import { KeynavListConfig } from '../internal';
3
+ declare const TabsItem_base: import('@nvidia-elements/forms/mixins').ButtonFormControlMixinReturn<typeof LitElement>;
3
4
  /**
4
5
  * @element nve-tabs-item
5
6
  * @description Represents an individual tab within a tablist, providing a selectable button for switching between content views.
@@ -7,10 +8,6 @@ import { KeynavListConfig, BaseButton } from '../internal';
7
8
  * @entrypoint \@nvidia-elements/core/tabs
8
9
  * @slot - default slot for content
9
10
  * @cssprop --font-size
10
- * @cssprop --border-width
11
- * @cssprop --border-height
12
- * @cssprop --border-top
13
- * @cssprop --border-background
14
11
  * @cssprop --width
15
12
  * @cssprop --padding
16
13
  * @cssprop --font-size
@@ -23,7 +20,7 @@ import { KeynavListConfig, BaseButton } from '../internal';
23
20
  * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tabs/
24
21
  * @responsive false
25
22
  */
26
- export declare class TabsItem extends BaseButton {
23
+ export declare class TabsItem extends TabsItem_base {
27
24
  /**
28
25
  * Determines which tab item the user selects, defaults to false.
29
26
  */
@@ -34,7 +31,7 @@ export declare class TabsItem extends BaseButton {
34
31
  version: string;
35
32
  parents: string[];
36
33
  };
37
- render(): import('lit-html').TemplateResult<1>;
34
+ render(): import('lit').TemplateResult<1>;
38
35
  constructor();
39
36
  connectedCallback(): void;
40
37
  updated(props: PropertyValues<this>): void;
@@ -78,8 +75,9 @@ export declare class Tabs extends LitElement {
78
75
  private items;
79
76
  /** @private */
80
77
  _internals: ElementInternals;
81
- render(): import('lit-html').TemplateResult<1>;
78
+ render(): import('lit').TemplateResult<1>;
82
79
  connectedCallback(): void;
83
80
  disconnectedCallback(): void;
84
81
  updated(props: PropertyValues<this>): void;
85
82
  }
83
+ export {};
@@ -1,5 +1,5 @@
1
1
  //#region src/tabs/tabs.global.css?inline
2
- var e = "nve-tabs{--indicator-background: var(--nve-sys-accent-secondary-background);--indicator-height: var(--nve-ref-border-width-xl);--indicator-border-radius: var(--nve-ref-border-radius-sm);&:after{background:var(--indicator-background);height:var(--indicator-height);border-radius:var(--indicator-border-radius);position:fixed;display:block;content:\"\";width:anchor-size(width);transition:left var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);position-anchor:--selected;top:calc(anchor(bottom) - var(--indicator-height));left:anchor(left);z-index:-1}&[borderless]:after{display:none!important}}nve-tabs[vertical]{&:after{width:var(--indicator-height);height:anchor-size(height);transition:top var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);top:anchor(top)}}nve-tabs-item{&[selected]{anchor-name:--selected}@container style(--border-background: var(--indicator-background)){&:after{visibility:hidden!important}}}";
2
+ var e = "nve-tabs{--indicator-background: var(--nve-sys-accent-secondary-background);--indicator-height: var(--nve-ref-border-width-xl);--indicator-border-radius: var(--nve-ref-border-radius-sm);&:after{background:var(--indicator-background);height:var(--indicator-height);border-radius:var(--indicator-border-radius);position:fixed;display:block;content:\"\";width:anchor-size(width);transition:left var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);position-anchor:--selected;top:calc(anchor(bottom) - var(--indicator-height));left:anchor(left);z-index:-1}&[borderless]:after{display:none!important}}nve-tabs[vertical]{&:after{width:var(--indicator-height);height:anchor-size(height);transition:top var(--nve-ref-animation-duration-150) var(--nve-ref-animation-easing-100);top:anchor(top)}}nve-tabs-item{&[selected]{anchor-name:--selected}}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -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 {\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
+ {"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"],"mappings":""}
package/dist/tabs/tabs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/tabs/tabs.css?inline
2
- var e = ":host{--gap: var(--nve-ref-space-xs)}[internal-host]{display:flex;flex-direction:row;gap:var(--gap);overflow-x:auto;white-space:nowrap;scrollbar-color:var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);scrollbar-width:var(--nve-sys-scrollbar-width)}:host([vertical]){--gap: var(--nve-ref-space-xxxs)}:host([vertical]) [internal-host]{flex-direction:column}:host([vertical]) ::slotted(nve-tabs-item){--border-width: var(--nve-ref-border-width-lg);--border-height: 24px;--border-top: calc(50% - 12px) ;--border-inset: 0 8px 0 8px;--width: calc(100% - 8px) }:host([vertical]) ::slotted(nve-tabs-item:state(selected)){--nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover)}:host([borderless]) ::slotted(nve-tabs-item){--border-width: 0;--border-height: 0}::slotted(nve-tabs-item){white-space:nowrap}";
2
+ var e = ":host{--gap: var(--nve-ref-space-xs)}[internal-host]{display:flex;flex-direction:row;gap:var(--gap);overflow-x:auto;white-space:nowrap;scrollbar-color:var(--nve-sys-scrollbar-thumb-color) var(--nve-sys-scrollbar-track-color);scrollbar-width:var(--nve-sys-scrollbar-width)}:host([vertical]){--gap: var(--nve-ref-space-xxxs)}:host([vertical]) [internal-host]{flex-direction:column}:host([vertical]) ::slotted(nve-tabs-item){--border-inset: 0 8px 0 8px;--width: calc(100% - 8px) }:host([vertical]) ::slotted(nve-tabs-item:state(selected)){--nve-sys-interaction-state-ratio: var(--nve-sys-interaction-state-ratio-hover)}::slotted(nve-tabs-item){white-space:nowrap}";
3
3
  //#endregion
4
4
  export { e as default };
5
5
 
@@ -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 --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":""}
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-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::slotted(nve-tabs-item) {\n white-space: nowrap;\n}\n"],"mappings":""}
@@ -1,31 +1,31 @@
1
- import { appendAnchorName as e, appendRootNodeStyle as t, removeAnchorName as n } from "../internal/utils/dom.js";
2
- import { attachInternals as r } from "../internal/utils/a11y.js";
3
- import { stateSelected as i } from "../internal/controllers/state-selected.controller.js";
4
- import { __decorate as a } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
5
- import { BaseButton as o } from "../internal/base/button.js";
6
- import { audit as s } from "../internal/controllers/audit.controller.js";
7
- import { keyNavigationList as c } from "../internal/controllers/keynav-list.controller.js";
8
- import { useStyles as l } from "../internal/styles/index.js";
9
- import u from "./tabs.global.js";
10
- import d from "./tabs-item.js";
11
- import f from "./tabs.js";
12
- import { LitElement as p, html as m } from "lit";
13
- import { property as h } from "lit/decorators/property.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { appendAnchorName as t, appendRootNodeStyle as n, removeAnchorName as r } from "../internal/utils/dom.js";
3
+ import { keyNavigationList as i } from "../internal/controllers/keynav-list.controller.js";
4
+ import { attachInternals as a } from "../internal/utils/a11y.js";
5
+ import { stateSelected as o } from "../internal/controllers/state-selected.controller.js";
6
+ import { useStyles as s } from "../internal/styles/index.js";
7
+ import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
8
+ import l from "./tabs.global.js";
9
+ import u from "./tabs-item.js";
10
+ import d from "./tabs.js";
11
+ import { LitElement as f, html as p } from "lit";
12
+ import { property as m } from "lit/decorators/property.js";
13
+ import { ButtonFormControlMixin as h } from "@nvidia-elements/forms/mixins";
14
14
  import { queryAssignedElements as g } from "lit/decorators/query-assigned-elements.js";
15
15
  //#region src/tabs/tabs.ts
16
- var _ = class extends o {
16
+ var _ = class extends h(f) {
17
17
  static {
18
- this.styles = l([d]);
18
+ this.styles = s([u]);
19
19
  }
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-tabs-item",
23
- version: "0.2.2",
23
+ version: "0.2.4",
24
24
  parents: ["nve-tabs"]
25
25
  };
26
26
  }
27
27
  render() {
28
- return m`<div internal-host focus-within><slot></slot></div>`;
28
+ return p`<div internal-host focus-within><slot></slot></div>`;
29
29
  }
30
30
  constructor() {
31
31
  super(), this.selected = !1, this.type = "button";
@@ -33,27 +33,27 @@ var _ = class extends o {
33
33
  connectedCallback() {
34
34
  super.connectedCallback(), this._internals.role = "tab";
35
35
  }
36
- updated(t) {
37
- t.has("selected") && (this.selected ? e(this, "--selected") : n(this, "--selected"));
36
+ updated(e) {
37
+ super.updated(e), e.has("selected") && (this.selected ? t(this, "--selected") : r(this, "--selected"));
38
38
  }
39
39
  };
40
- a([h({
40
+ c([m({
41
41
  type: Boolean,
42
42
  reflect: !0
43
- })], _.prototype, "selected", void 0), _ = a([s(), i()], _);
44
- var v = class extends p {
43
+ })], _.prototype, "selected", void 0), _ = c([e(), o()], _);
44
+ var v = class extends f {
45
45
  constructor(...e) {
46
46
  super(...e), this.vertical = !1, this.borderless = !1, this.behaviorSelect = !1, this.#t = (e) => {
47
47
  this.#e(e.target);
48
48
  };
49
49
  }
50
50
  static {
51
- this.styles = l([f]);
51
+ this.styles = s([d]);
52
52
  }
53
53
  static {
54
54
  this.metadata = {
55
55
  tag: "nve-tabs",
56
- version: "0.2.2",
56
+ version: "0.2.4",
57
57
  children: ["nve-tabs-item"]
58
58
  };
59
59
  }
@@ -67,10 +67,10 @@ var v = class extends p {
67
67
  !this.behaviorSelect || !e.matches("nve-tabs-item") || e.disabled || (this.keynavListConfig.items.forEach((e) => e.selected = !1), e.selected = !0);
68
68
  }
69
69
  render() {
70
- return m`<div internal-host><slot></slot></div>`;
70
+ return p`<div internal-host><slot></slot></div>`;
71
71
  }
72
72
  connectedCallback() {
73
- super.connectedCallback(), t(this, u), r(this), this._internals.role = "tablist", this.addEventListener("click", this.#t);
73
+ super.connectedCallback(), n(this, l), a(this), this._internals.role = "tablist", this.addEventListener("click", this.#t);
74
74
  }
75
75
  disconnectedCallback() {
76
76
  super.disconnectedCallback(), this.removeEventListener("click", this.#t);
@@ -80,16 +80,16 @@ var v = class extends p {
80
80
  super.updated(e), this._internals.ariaOrientation = this.vertical ? "vertical" : "horizontal";
81
81
  }
82
82
  };
83
- a([h({
83
+ c([m({
84
84
  type: Boolean,
85
85
  reflect: !0
86
- })], v.prototype, "vertical", void 0), a([h({
86
+ })], v.prototype, "vertical", void 0), c([m({
87
87
  type: Boolean,
88
88
  reflect: !0
89
- })], v.prototype, "borderless", void 0), a([h({
89
+ })], v.prototype, "borderless", void 0), c([m({
90
90
  type: Boolean,
91
91
  attribute: "behavior-select"
92
- })], v.prototype, "behaviorSelect", void 0), a([g()], v.prototype, "items", void 0), v = a([s(), c()], v);
92
+ })], v.prototype, "behaviorSelect", void 0), c([g()], v.prototype, "items", void 0), v = c([e(), i()], v);
93
93
  //#endregion
94
94
  export { v as Tabs, _ as TabsItem };
95
95
 
@@ -1 +1 @@
1
- {"version":3,"file":"tabs2.js","names":["#selectTab","#onClick"],"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,CAAkB,CAAC;;;kBAEnB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,UAAU;EACtB;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,cAAc;EAEZ,AADA,MAAM,mBAnB+C,IAoBrD,KAAK,OAAO;CACd;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,WAAW,OAAO;CACzB;CAEA,QAAQ,GAA6B;EACnC,AAAI,EAAM,IAAI,UAAU,MAClB,KAAK,WACP,EAAiB,MAAM,YAAY,IAEnC,EAAiB,MAAM,YAAY;CAGzC;AACF;GArCG,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,UAN3C,EAAM,GACN,EAAwB,CAAA,GAAA,CAAA;AA4DlB,IAAA,IAAA,cAAmB,EAAW;;+BAIoB,sBAKE,0BAKmB,eAqDhE,MAAa;GACvB,KAAKA,GAAW,EAAE,MAA+F;EACnH;;;gBArDgB,EAAU,CAAC,CAAc,CAAC;;;kBAEf;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,eAAe;EAC5B;;CAGA,IAAI,mBAAqC;EACvC,OAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;EACvC;CACF;CAOA,GAAW,GAAgG;EACrG,CAAC,KAAK,kBAAkB,CAAC,EAAQ,QAAQ,eAAe,KAAK,EAAQ,aAIzE,KAAK,iBAAiB,MAAM,SAAS,MAAoB,EAAgB,WAAW,EAAM,GAC1F,EAAQ,WAAW;CACrB;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAKlB,AAJA,MAAM,kBAAkB,GACxB,EAAoB,MAAM,CAAY,GACtC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,KAAKC,EAAQ;CAC9C;CAEA,uBAAuB;EAErB,AADA,MAAM,qBAAqB,GAC3B,KAAK,oBAAoB,SAAS,KAAKA,EAAQ;CACjD;CAEA;CAIA,QAAQ,GAA6B;EAEnC,AADA,MAAM,QAAQ,CAAK,GACnB,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa;CACjE;AACF;GAvEG,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAKzC,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,KAAA,CAAA,MAKzC,EAAS;CAAE,MAAM;CAAS,WAAW;AAAkB,CAAC,CAAA,GAAA,EAAA,WAAA,kBAAA,KAAA,CAAA,MAkBxD,EAAsB,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,UAlCxB,EAAM,GACN,EAAwB,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"tabs2.js","names":["#selectTab","#onClick"],"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 { ButtonFormControlMixin } from '@nvidia-elements/forms/mixins';\nimport type { KeynavListConfig } from '@nvidia-elements/core/internal';\nimport {\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 --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 ButtonFormControlMixin(LitElement) {\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 super.updated(props);\n\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":";;;;;;;;;;;;;;;AA4CO,IAAA,IAAA,cAAuB,EAAuB,CAAU,EAAE;;gBAM/C,EAAU,CAAC,CAAkB,CAAC;;;kBAEnB;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,UAAU;EACtB;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,cAAc;EAEZ,AADA,MAAM,mBAnB+C,IAoBrD,KAAK,OAAO;CACd;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,WAAW,OAAO;CACzB;CAEA,QAAQ,GAA6B;EAGnC,AAFA,MAAM,QAAQ,CAAK,GAEf,EAAM,IAAI,UAAU,MAClB,KAAK,WACP,EAAiB,MAAM,YAAY,IAEnC,EAAiB,MAAM,YAAY;CAGzC;AACF;GAvCG,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,UAN3C,EAAM,GACN,EAAwB,CAAA,GAAA,CAAA;AA8DlB,IAAA,IAAA,cAAmB,EAAW;;+BAIoB,sBAKE,0BAKmB,eAqDhE,MAAa;GACvB,KAAKA,GAAW,EAAE,MAA+F;EACnH;;;gBArDgB,EAAU,CAAC,CAAc,CAAC;;;kBAEf;GACzB,KAAK;GACL,SAAS;GACT,UAAU,CAAC,eAAe;EAC5B;;CAGA,IAAI,mBAAqC;EACvC,OAAO;GACL,OAAO,KAAK;GACZ,QAAQ,KAAK,WAAW,aAAa;EACvC;CACF;CAOA,GAAW,GAAgG;EACrG,CAAC,KAAK,kBAAkB,CAAC,EAAQ,QAAQ,eAAe,KAAK,EAAQ,aAIzE,KAAK,iBAAiB,MAAM,SAAS,MAAoB,EAAgB,WAAW,EAAM,GAC1F,EAAQ,WAAW;CACrB;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAKlB,AAJA,MAAM,kBAAkB,GACxB,EAAoB,MAAM,CAAY,GACtC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,KAAK,iBAAiB,SAAS,KAAKC,EAAQ;CAC9C;CAEA,uBAAuB;EAErB,AADA,MAAM,qBAAqB,GAC3B,KAAK,oBAAoB,SAAS,KAAKA,EAAQ;CACjD;CAEA;CAIA,QAAQ,GAA6B;EAEnC,AADA,MAAM,QAAQ,CAAK,GACnB,KAAK,WAAW,kBAAkB,KAAK,WAAW,aAAa;CACjE;AACF;GAvEG,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAKzC,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,KAAA,CAAA,MAKzC,EAAS;CAAE,MAAM;CAAS,WAAW;AAAkB,CAAC,CAAA,GAAA,EAAA,WAAA,kBAAA,KAAA,CAAA,MAkBxD,EAAsB,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,UAlCxB,EAAM,GACN,EAAwB,CAAA,GAAA,CAAA"}
package/dist/tag/tag.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import { Color, Prominence, BaseButton } from '../internal';
1
+ import { LitElement } from 'lit';
2
+ import { Color, Prominence } from '../internal';
2
3
  import { Icon } from '../icon';
4
+ declare const Tag_base: import('@nvidia-elements/forms/mixins').ButtonFormControlMixinReturn<typeof LitElement>;
3
5
  /**
4
6
  * @element nve-tag
5
7
  * @description A interactive element that represents a category or group of content. Typically used to filter or organize content for one to many relations.
@@ -22,7 +24,7 @@ import { Icon } from '../icon';
22
24
  * @csspart icon - The icon element
23
25
  * @aria https://www.w3.org/WAI/ARIA/apg/patterns/button/
24
26
  */
25
- export declare class Tag extends BaseButton {
27
+ export declare class Tag extends Tag_base {
26
28
  #private;
27
29
  static styles: import('lit').CSSResult[];
28
30
  static readonly metadata: {
@@ -42,6 +44,7 @@ export declare class Tag extends BaseButton {
42
44
  i18n: Partial<import('../internal').I18nStrings & {
43
45
  __set: boolean;
44
46
  }>;
45
- render(): import('lit-html').TemplateResult<1>;
47
+ render(): import('lit').TemplateResult<1>;
46
48
  constructor();
47
49
  }
50
+ export {};
package/dist/tag/tag2.js CHANGED
@@ -1,45 +1,45 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { BaseButton as t } from "../internal/base/button.js";
3
- import { I18nController as n } from "../internal/controllers/i18n.controller.js";
4
- import { TypeClosableController as r } from "../internal/controllers/type-closable.controller.js";
5
- import { scopedRegistry as i } from "../internal/decorators/scoped-registry.js";
6
- import { colorStateStyles as a, useStyles as o } from "../internal/styles/index.js";
7
- import { Icon as s } from "../icon/icon2.js";
8
- import c from "./tag.js";
9
- import { html as l } from "lit";
1
+ import { I18nController as e } from "../internal/controllers/i18n.controller.js";
2
+ import { TypeClosableController as t } from "../internal/controllers/type-closable.controller.js";
3
+ import { scopedRegistry as n } from "../internal/decorators/scoped-registry.js";
4
+ import { colorStateStyles as r, useStyles as i } from "../internal/styles/index.js";
5
+ import { __decorate as a } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
6
+ import { Icon as o } from "../icon/icon2.js";
7
+ import s from "./tag.js";
8
+ import { LitElement as c, html as l } from "lit";
10
9
  import { property as u } from "lit/decorators/property.js";
11
- import { ifDefined as d } from "lit/directives/if-defined.js";
10
+ import { ButtonFormControlMixin as d } from "@nvidia-elements/forms/mixins";
11
+ import { ifDefined as f } from "lit/directives/if-defined.js";
12
12
  //#region src/tag/tag.ts
13
- var f = class extends t {
13
+ var p = class extends d(c) {
14
14
  static {
15
- this.styles = o([a, c]);
15
+ this.styles = i([r, s]);
16
16
  }
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-tag",
20
- version: "0.2.2"
20
+ version: "0.2.4"
21
21
  };
22
22
  }
23
23
  static {
24
- this.elementDefinitions = { [s.metadata.tag]: s };
24
+ this.elementDefinitions = { [o.metadata.tag]: o };
25
25
  }
26
26
  #e;
27
27
  #t;
28
28
  render() {
29
- return l`<div internal-host interaction-state focus-within><slot></slot>${this.closable ? l`<nve-icon part="icon" @click="${() => this.#t.close()}" container="flat" name="cancel" size="sm" role="img" aria-label="${d(this.i18n.close)}"></nve-icon>` : ""}</div>`;
29
+ return l`<div internal-host interaction-state focus-within><slot></slot>${this.closable ? l`<nve-icon part="icon" @click="${() => this.#t.close()}" container="flat" name="cancel" size="sm" role="img" aria-label="${f(this.i18n.close)}"></nve-icon>` : ""}</div>`;
30
30
  }
31
31
  constructor() {
32
- super(), this.closable = !1, this.#e = new n(this), this.i18n = this.#e.i18n, this.#t = new r(this), this.type = "button";
32
+ super(), this.closable = !1, this.#e = new e(this), this.i18n = this.#e.i18n, this.#t = new t(this), this.type = "button";
33
33
  }
34
34
  };
35
- e([u({ type: Boolean })], f.prototype, "closable", void 0), e([u({
35
+ a([u({ type: Boolean })], p.prototype, "closable", void 0), a([u({
36
36
  type: String,
37
37
  reflect: !0
38
- })], f.prototype, "color", void 0), e([u({
38
+ })], p.prototype, "color", void 0), a([u({
39
39
  type: String,
40
40
  reflect: !0
41
- })], f.prototype, "prominence", void 0), e([u({ type: Object })], f.prototype, "i18n", void 0), f = e([i()], f);
41
+ })], p.prototype, "prominence", void 0), a([u({ type: Object })], p.prototype, "i18n", void 0), p = a([n()], p);
42
42
  //#endregion
43
- export { f as Tag };
43
+ export { p as Tag };
44
44
 
45
45
  //# sourceMappingURL=tag2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag2.js","names":["#typeClosableController","#i18nController"],"sources":["../../src/tag/tag.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Color, Prominence } from '@nvidia-elements/core/internal';\nimport {\n I18nController,\n BaseButton,\n TypeClosableController,\n useStyles,\n colorStateStyles,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './tag.css?inline';\n\n/**\n * @element nve-tag\n * @description A interactive element that represents a category or group of content. Typically used to filter or organize content for one to many relations.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tag\n * @slot - default slot for content\n * @cssprop --background\n * @cssprop --color\n * @cssprop --gap\n * @cssprop --font-size\n * @cssprop --padding\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --font-weight\n * @cssprop --cursor\n * @cssprop --height\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --text-decoration\n * @csspart icon - The icon element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/button/\n */\n@scopedRegistry()\nexport class Tag extends BaseButton {\n static styles = useStyles([colorStateStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-tag',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon\n };\n\n /** Determines if tag is closable, if true, the component renders a close icon. */\n @property({ type: Boolean }) closable = false;\n\n /** Determines the color of the tag. */\n @property({ type: String, reflect: true }) color: Color;\n\n /** Determines the visual prominence or weight */\n @property({ type: String, reflect: true }) prominence?: Extract<Prominence, 'emphasis'>;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Updates internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n #typeClosableController = new TypeClosableController(this);\n\n render() {\n return html`\n <div internal-host interaction-state focus-within>\n <slot></slot>\n ${this.closable ? html`<nve-icon part=\"icon\" @click=${() => this.#typeClosableController.close()} container=\"flat\" name=\"cancel\" size=\"sm\" role=\"img\" aria-label=${ifDefined(this.i18n.close)}></nve-icon>` : ''}\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n}\n"],"mappings":";;;;;;;;;;;;AAyCO,IAAA,IAAA,cAAkB,EAAW;;gBAClB,EAAU,CAAC,GAAkB,CAAM,CAAC;;;kBAEzB;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAK,SAAS,MAAM,EACvB;;CAWA;CAKA;CAEA,SAAS;EACP,OAAO,CAAI,kEAGL,KAAK,WAAW,CAAI,uCAAsC,KAAKA,GAAwB,MAAM,EAAE,oEAAkE,EAAU,KAAK,KAAK,KAAK,EAAE,iBAAgB,GAAG;CAGvN;CAEA,cAAc;EAEZ,AADA,MAAM,mBAzBgC,cAQA,IAAI,EAAqB,IAAI,eAGlC,KAAKC,GAAgB,gBAE9B,IAAI,EAAuB,IAAI,GAavD,KAAK,OAAO;CACd;AACF;GA5BG,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAG1B,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,MAGxC,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,KAAA,CAAA,MAKxC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UAzB3B,EAAe,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"tag2.js","names":["#typeClosableController","#i18nController"],"sources":["../../src/tag/tag.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { ButtonFormControlMixin } from '@nvidia-elements/forms/mixins';\nimport type { Color, Prominence } from '@nvidia-elements/core/internal';\nimport {\n I18nController,\n TypeClosableController,\n useStyles,\n colorStateStyles,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './tag.css?inline';\n\n/**\n * @element nve-tag\n * @description A interactive element that represents a category or group of content. Typically used to filter or organize content for one to many relations.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/tag\n * @slot - default slot for content\n * @cssprop --background\n * @cssprop --color\n * @cssprop --gap\n * @cssprop --font-size\n * @cssprop --padding\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --font-weight\n * @cssprop --cursor\n * @cssprop --height\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --text-decoration\n * @csspart icon - The icon element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/button/\n */\n@scopedRegistry()\nexport class Tag extends ButtonFormControlMixin(LitElement) {\n static styles = useStyles([colorStateStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-tag',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon\n };\n\n /** Determines if tag is closable, if true, the component renders a close icon. */\n @property({ type: Boolean }) closable = false;\n\n /** Determines the color of the tag. */\n @property({ type: String, reflect: true }) color: Color;\n\n /** Determines the visual prominence or weight */\n @property({ type: String, reflect: true }) prominence?: Extract<Prominence, 'emphasis'>;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Updates internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n #typeClosableController = new TypeClosableController(this);\n\n render() {\n return html`\n <div internal-host interaction-state focus-within>\n <slot></slot>\n ${this.closable ? html`<nve-icon part=\"icon\" @click=${() => this.#typeClosableController.close()} container=\"flat\" name=\"cancel\" size=\"sm\" role=\"img\" aria-label=${ifDefined(this.i18n.close)}></nve-icon>` : ''}\n </div>\n `;\n }\n\n constructor() {\n super();\n this.type = 'button';\n }\n}\n"],"mappings":";;;;;;;;;;;;AAyCO,IAAA,IAAA,cAAkB,EAAuB,CAAU,EAAE;;gBAC1C,EAAU,CAAC,GAAkB,CAAM,CAAC;;;kBAEzB;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAK,SAAS,MAAM,EACvB;;CAWA;CAKA;CAEA,SAAS;EACP,OAAO,CAAI,kEAGL,KAAK,WAAW,CAAI,uCAAsC,KAAKA,GAAwB,MAAM,EAAE,oEAAkE,EAAU,KAAK,KAAK,KAAK,EAAE,iBAAgB,GAAG;CAGvN;CAEA,cAAc;EAEZ,AADA,MAAM,mBAzBgC,cAQA,IAAI,EAAqB,IAAI,eAGlC,KAAKC,GAAgB,gBAE9B,IAAI,EAAuB,IAAI,GAavD,KAAK,OAAO;CACd;AACF;GA5BG,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAG1B,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,MAGxC,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,KAAA,CAAA,MAKxC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UAzB3B,EAAe,CAAA,GAAA,CAAA"}
@@ -9,7 +9,7 @@ var r = class extends t {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-textarea",
12
- version: "0.2.2"
12
+ version: "0.2.4"
13
13
  };
14
14
  }
15
15
  };
@@ -30,5 +30,5 @@ export declare class Time extends Control implements ContainerElement {
30
30
  static elementDefinitions: {
31
31
  [IconButton.metadata.tag]: typeof IconButton;
32
32
  };
33
- protected get suffixContent(): import('lit-html').TemplateResult<1>;
33
+ protected get suffixContent(): import('lit').TemplateResult<1>;
34
34
  }