@nvidia-elements/core 2.0.1 → 2.0.3

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 (195) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +1 -1
  3. package/dist/_virtual/{_@oxc-project_runtime@0.132.0/helpers → _@oxc-project_runtime@0.133.0/helpers/esm}/decorate.js +1 -1
  4. package/dist/accordion/accordion2.js +5 -5
  5. package/dist/alert/alert-group2.js +2 -2
  6. package/dist/alert/alert2.js +2 -2
  7. package/dist/avatar/avatar-group2.js +1 -1
  8. package/dist/avatar/avatar.examples.js.map +1 -1
  9. package/dist/avatar/avatar.examples.json +1 -1
  10. package/dist/avatar/avatar2.js +2 -2
  11. package/dist/badge/badge2.js +2 -2
  12. package/dist/breadcrumb/breadcrumb2.js +2 -2
  13. package/dist/bundles/index.d.ts +6 -17
  14. package/dist/bundles/index.js +6 -6
  15. package/dist/button/button2.js +2 -2
  16. package/dist/button-group/button-group2.js +2 -2
  17. package/dist/card/card.examples.js.map +1 -1
  18. package/dist/card/card.examples.json +1 -1
  19. package/dist/card/card2.js +5 -5
  20. package/dist/chat-message/chat-message.d.ts +0 -2
  21. package/dist/chat-message/chat-message2.js +2 -2
  22. package/dist/chat-message/chat-message2.js.map +1 -1
  23. package/dist/checkbox/checkbox-group2.js +2 -2
  24. package/dist/checkbox/checkbox2.js +2 -2
  25. package/dist/color/color2.js +2 -2
  26. package/dist/combobox/combobox2.js +8 -8
  27. package/dist/copy-button/copy-button2.js +2 -2
  28. package/dist/custom-elements.json +155 -720
  29. package/dist/data.html.json +26 -3
  30. package/dist/data.snippets.json +27 -27
  31. package/dist/date/date2.js +2 -2
  32. package/dist/datetime/datetime2.js +2 -2
  33. package/dist/dialog/dialog-footer2.js +2 -2
  34. package/dist/dialog/dialog-header2.js +2 -2
  35. package/dist/dialog/dialog2.js +2 -2
  36. package/dist/divider/divider2.js +2 -2
  37. package/dist/dot/dot2.js +2 -2
  38. package/dist/drawer/drawer-content2.js +2 -2
  39. package/dist/drawer/drawer-footer2.js +2 -2
  40. package/dist/drawer/drawer-header2.js +2 -2
  41. package/dist/drawer/drawer2.js +2 -2
  42. package/dist/dropdown/dropdown-footer2.js +2 -2
  43. package/dist/dropdown/dropdown-header2.js +2 -2
  44. package/dist/dropdown/dropdown2.js +2 -2
  45. package/dist/dropdown-group/dropdown-group.d.ts +0 -1
  46. package/dist/dropdown-group/dropdown-group.js +2 -2
  47. package/dist/dropdown-group/dropdown-group.js.map +1 -1
  48. package/dist/dropzone/dropzone.d.ts +0 -1
  49. package/dist/dropzone/dropzone2.js +2 -2
  50. package/dist/dropzone/dropzone2.js.map +1 -1
  51. package/dist/file/file2.js +1 -1
  52. package/dist/format-datetime/format-datetime.d.ts +1 -0
  53. package/dist/format-datetime/format-datetime2.js +2 -2
  54. package/dist/format-datetime/format-datetime2.js.map +1 -1
  55. package/dist/format-number/format-number.d.ts +1 -0
  56. package/dist/format-number/format-number2.js +2 -2
  57. package/dist/format-number/format-number2.js.map +1 -1
  58. package/dist/format-relative-time/format-relative-time.d.ts +1 -0
  59. package/dist/format-relative-time/format-relative-time2.js +6 -3
  60. package/dist/format-relative-time/format-relative-time2.js.map +1 -1
  61. package/dist/forms/control/control.js +1 -1
  62. package/dist/forms/control/control.js.map +1 -1
  63. package/dist/forms/control/control2.js +39 -21
  64. package/dist/forms/control/control2.js.map +1 -1
  65. package/dist/forms/control-group/control-group.js +1 -1
  66. package/dist/forms/control-group/control-group.js.map +1 -1
  67. package/dist/forms/control-group/control-group2.js +2 -2
  68. package/dist/forms/control-group/control-group2.js.map +1 -1
  69. package/dist/forms/control-message/control-message2.js +2 -2
  70. package/dist/forms/utils/states.d.ts +6 -3
  71. package/dist/forms/utils/states.js +40 -32
  72. package/dist/forms/utils/states.js.map +1 -1
  73. package/dist/grid/cell/cell2.js +1 -1
  74. package/dist/grid/column/column2.js +2 -2
  75. package/dist/grid/footer/footer2.js +2 -2
  76. package/dist/grid/grid2.js +2 -2
  77. package/dist/grid/header/header2.js +2 -2
  78. package/dist/grid/placeholder/placeholder2.js +1 -1
  79. package/dist/grid/row/row2.js +2 -2
  80. package/dist/icon/icon2.js +3 -3
  81. package/dist/icon-button/icon-button2.js +2 -2
  82. package/dist/index.js +1 -1
  83. package/dist/input/input-group2.js +1 -1
  84. package/dist/input/input2.js +2 -2
  85. package/dist/internal/controllers/keynav-grid.controller.js +22 -18
  86. package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
  87. package/dist/internal/controllers/keynav-list.controller.d.ts +1 -0
  88. package/dist/internal/controllers/keynav-list.controller.js +6 -1
  89. package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
  90. package/dist/internal/controllers/type-native-popover.controller.js +70 -40
  91. package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
  92. package/dist/internal/index.d.ts +0 -9
  93. package/dist/internal/index.js +20 -29
  94. package/dist/internal/services/global.service.js +1 -1
  95. package/dist/internal/services/log.service.js +1 -1
  96. package/dist/internal/services/log.service.js.map +1 -1
  97. package/dist/internal/types/index.d.ts +3 -0
  98. package/dist/internal/types/index.js.map +1 -1
  99. package/dist/internal/utils/dom.d.ts +1 -1
  100. package/dist/internal/utils/dom.js +71 -54
  101. package/dist/internal/utils/dom.js.map +1 -1
  102. package/dist/logo/logo2.js +2 -2
  103. package/dist/menu/menu-item2.js +2 -2
  104. package/dist/menu/menu2.js +2 -2
  105. package/dist/month/month2.js +2 -2
  106. package/dist/notification/notification-group2.js +2 -2
  107. package/dist/notification/notification2.js +2 -2
  108. package/dist/page/page-panel/page-panel-content2.js +1 -1
  109. package/dist/page/page-panel/page-panel-footer2.js +2 -2
  110. package/dist/page/page-panel/page-panel-header2.js +2 -2
  111. package/dist/page/page-panel/page-panel2.js +2 -2
  112. package/dist/page/page.examples.js.map +1 -1
  113. package/dist/page/page.examples.json +1 -1
  114. package/dist/page/page2.js +2 -2
  115. package/dist/page-header/page-header2.js +1 -1
  116. package/dist/page-loader/page-loader2.js +2 -2
  117. package/dist/pagination/pagination2.js +2 -2
  118. package/dist/panel/panel2.js +5 -5
  119. package/dist/password/password2.js +2 -2
  120. package/dist/preferences-input/preferences-input.js +1 -1
  121. package/dist/preferences-input/preferences-input.js.map +1 -1
  122. package/dist/preferences-input/preferences-input2.js +2 -2
  123. package/dist/progress-bar/progress-bar2.js +2 -2
  124. package/dist/progress-ring/progress-ring2.js +2 -2
  125. package/dist/progressive-filter-chip/progressive-filter-chip.examples.js.map +1 -1
  126. package/dist/progressive-filter-chip/progressive-filter-chip.examples.json +1 -1
  127. package/dist/progressive-filter-chip/progressive-filter-chip2.js +2 -2
  128. package/dist/pulse/pulse2.js +2 -2
  129. package/dist/radio/radio-group2.js +2 -2
  130. package/dist/radio/radio2.js +2 -2
  131. package/dist/range/range2.js +2 -2
  132. package/dist/resize-handle/resize-handle2.js +2 -2
  133. package/dist/search/search2.js +2 -2
  134. package/dist/select/select2.js +35 -21
  135. package/dist/select/select2.js.map +1 -1
  136. package/dist/skeleton/skeleton2.js +2 -2
  137. package/dist/sort-button/sort-button2.js +2 -2
  138. package/dist/sparkline/sparkline.utils.js +4 -2
  139. package/dist/sparkline/sparkline.utils.js.map +1 -1
  140. package/dist/sparkline/sparkline2.js +2 -2
  141. package/dist/star-rating/star-rating2.js +2 -2
  142. package/dist/steps/steps2.js +3 -3
  143. package/dist/switch/switch-group2.js +2 -2
  144. package/dist/switch/switch2.js +2 -2
  145. package/dist/tabs/tabs-group2.js +2 -2
  146. package/dist/tabs/tabs.examples.js.map +1 -1
  147. package/dist/tabs/tabs.examples.json +1 -1
  148. package/dist/tabs/tabs2.js +3 -3
  149. package/dist/tag/tag2.js +2 -2
  150. package/dist/textarea/textarea2.js +1 -1
  151. package/dist/time/time2.js +2 -2
  152. package/dist/toast/toast2.js +2 -2
  153. package/dist/toggletip/toggletip-footer.d.ts +1 -1
  154. package/dist/toggletip/toggletip-footer2.js +2 -2
  155. package/dist/toggletip/toggletip-footer2.js.map +1 -1
  156. package/dist/toggletip/toggletip-header.d.ts +1 -1
  157. package/dist/toggletip/toggletip-header2.js +2 -2
  158. package/dist/toggletip/toggletip-header2.js.map +1 -1
  159. package/dist/toggletip/toggletip2.js +2 -2
  160. package/dist/toolbar/toolbar2.js +2 -2
  161. package/dist/tooltip/tooltip2.js +2 -2
  162. package/dist/tree/tree-node2.js +2 -2
  163. package/dist/tree/tree2.js +2 -2
  164. package/dist/week/week2.js +2 -2
  165. package/package.json +8 -8
  166. package/dist/internal/controllers/state-active.controller.d.ts +0 -18
  167. package/dist/internal/controllers/state-active.controller.js +0 -29
  168. package/dist/internal/controllers/state-active.controller.js.map +0 -1
  169. package/dist/internal/controllers/state-current.controller.d.ts +0 -18
  170. package/dist/internal/controllers/state-current.controller.js +0 -28
  171. package/dist/internal/controllers/state-current.controller.js.map +0 -1
  172. package/dist/internal/controllers/state-disabled.controller.d.ts +0 -18
  173. package/dist/internal/controllers/state-disabled.controller.js +0 -20
  174. package/dist/internal/controllers/state-disabled.controller.js.map +0 -1
  175. package/dist/internal/controllers/state-pressed.controller.d.ts +0 -18
  176. package/dist/internal/controllers/state-pressed.controller.js +0 -20
  177. package/dist/internal/controllers/state-pressed.controller.js.map +0 -1
  178. package/dist/internal/controllers/type-button.controller.d.ts +0 -18
  179. package/dist/internal/controllers/type-button.controller.examples.js +0 -6
  180. package/dist/internal/controllers/type-button.controller.examples.js.map +0 -1
  181. package/dist/internal/controllers/type-button.controller.examples.json +0 -16
  182. package/dist/internal/controllers/type-button.controller.js +0 -21
  183. package/dist/internal/controllers/type-button.controller.js.map +0 -1
  184. package/dist/internal/controllers/type-command.controller.d.ts +0 -25
  185. package/dist/internal/controllers/type-command.controller.js +0 -38
  186. package/dist/internal/controllers/type-command.controller.js.map +0 -1
  187. package/dist/internal/controllers/type-interest.controller.d.ts +0 -23
  188. package/dist/internal/controllers/type-interest.controller.js +0 -51
  189. package/dist/internal/controllers/type-interest.controller.js.map +0 -1
  190. package/dist/internal/controllers/type-native-popover-trigger.controller.d.ts +0 -16
  191. package/dist/internal/controllers/type-native-popover-trigger.controller.js +0 -25
  192. package/dist/internal/controllers/type-native-popover-trigger.controller.js.map +0 -1
  193. package/dist/internal/controllers/type-submit.controller.d.ts +0 -22
  194. package/dist/internal/controllers/type-submit.controller.js +0 -49
  195. package/dist/internal/controllers/type-submit.controller.js.map +0 -1
@@ -4,7 +4,7 @@ import { attachInternals as n } from "../internal/utils/a11y.js";
4
4
  import { stateSelected as r } from "../internal/controllers/state-selected.controller.js";
5
5
  import { scopedRegistry as i } from "../internal/decorators/scoped-registry.js";
6
6
  import { useStyles as a } from "../internal/styles/index.js";
7
- import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
7
+ import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
8
8
  import { IconButton as s } from "../icon-button/icon-button2.js";
9
9
  import c from "./steps-item.js";
10
10
  import l from "./steps.js";
@@ -23,7 +23,7 @@ var v = class extends h(d) {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-steps-item",
26
- version: "2.0.1",
26
+ version: "2.0.3",
27
27
  parents: ["nve-steps"]
28
28
  };
29
29
  }
@@ -69,7 +69,7 @@ var y = class extends d {
69
69
  static {
70
70
  this.metadata = {
71
71
  tag: "nve-steps",
72
- version: "2.0.1",
72
+ version: "2.0.3",
73
73
  children: ["nve-steps-item"]
74
74
  };
75
75
  }
@@ -1,6 +1,6 @@
1
1
  import { audit as e } from "../internal/controllers/audit.controller.js";
2
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";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/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
@@ -11,7 +11,7 @@ var a = class extends r {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-switch-group",
14
- version: "2.0.1",
14
+ version: "2.0.3",
15
15
  children: [
16
16
  "label",
17
17
  "nve-control-message",
@@ -1,7 +1,7 @@
1
1
  import { audit as e } from "../internal/controllers/audit.controller.js";
2
2
  import { hostAttr as t } from "../internal/decorators/host-attr.js";
3
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";
4
+ import { __decorate as r } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/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
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-switch",
18
- version: "2.0.1",
18
+ version: "2.0.3",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -2,7 +2,7 @@ import { audit as e } from "../internal/controllers/audit.controller.js";
2
2
  import { generateId as t, sameOrderedStringArray as n, uniqueNonEmptyStrings as r } from "../internal/utils/dom.js";
3
3
  import { attachInternals as i } from "../internal/utils/a11y.js";
4
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";
5
+ import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/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";
@@ -33,7 +33,7 @@ var m, h = class extends l {
33
33
  static {
34
34
  this.metadata = {
35
35
  tag: "nve-tabs-group",
36
- version: "2.0.1",
36
+ version: "2.0.3",
37
37
  children: ["nve-tabs"]
38
38
  };
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.examples.js","names":[],"sources":["../../src/tabs/tabs.examples.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 '@nvidia-elements/core/tabs/define.js';\nimport '@nvidia-elements/core/button/define.js';\nimport '@nvidia-elements/core/card/define.js';\nimport '@nvidia-elements/core/dot/define.js';\nimport '@nvidia-elements/core/icon/define.js';\n\nexport default {\n title: 'Elements/Tabs',\n component: 'nve-tabs'\n};\n\n/**\n * @summary Tabs group component for organizing content into selectable sections with disabled state support.\n */\nexport const Default = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-default\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-default\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-default\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-default\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n overview content\n </div>\n <div slot=\"details\">\n details content\n </div>\n <div slot=\"settings\">\n settings content\n </div>\n</nve-tabs-group>`\n};\n\n\n/**\n * @summary Borderless tabs variant for minimal visual styling without border emphasis.\n * @tags test-case\n */\nexport const BorderlessTabs = {\n render: () => html`\n<nve-tabs borderless behavior-select>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3 </nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with custom border background styling for brand-specific visual customization.\n * @tags test-case\n */\nexport const BorderBackground = {\n render: () => html`\n<nve-tabs behavior-select style=\"--indicator-background: var(--nve-ref-color-brand-green-900); --indicator-border-radius: none;\">\n <nve-tabs-item selected>\n Tab 1\n </nve-tabs-item>\n <nve-tabs-item>\n Tab 2\n </nve-tabs-item>\n <nve-tabs-item>\n Tab 3\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with notification dots for indicating unread content or alerts within tab sections.\n */\nexport const WithDots = {\n render: () => html`\n<nve-tabs behavior-select>\n <nve-tabs-item>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3 </nve-tabs-item>\n <nve-tabs-item selected>\n Tab 4\n <nve-dot aria-label=\"10 notifications\">10</nve-dot>\n </nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Vertical tabs layout for sidebar navigation and vertical content organization patterns.\n */\nexport const VerticalTabs = {\n render: () => html`\n<nve-tabs vertical behavior-select style=\"width: 250px\">\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Borderless vertical tabs with icons for enhanced visual navigation and minimal styling.\n * @tags test-case\n */\nexport const BorderlessVerticalTabs = {\n render: () => html`\n<nve-tabs vertical borderless behavior-select style=\"width: 250px\">\n <nve-tabs-item>\n <nve-icon name=\"gear\"></nve-icon> Tab 1\n </nve-tabs-item>\n <nve-tabs-item>\n <nve-icon name=\"person\"></nve-icon> Tab 2\n </nve-tabs-item>\n <nve-tabs-item selected>\n <nve-icon name=\"beaker\"></nve-icon> Tab 3\n </nve-tabs-item>\n <nve-tabs-item>\n <nve-icon name=\"add-grid\"></nve-icon> Tab 4\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Stateless tabs for external state management without built-in selection behavior.\n */\nexport const StatelessTabs = {\n render: () => html`\n<nve-tabs>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item>Tab 4</nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with link navigation for routing-based tab switching and page navigation.\n */\nexport const Links = {\n render: () => html`\n<nve-tabs>\n <nve-tabs-item selected>\n <a href=\"./docs/elements/tabs/#links\">Tab 1</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"./docs/elements/tabs/#links\">Tab 2</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"/docs/elements/tabs/#links\">Tab 3</a>\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with overflow handling for managing large numbers of tabs with scrolling behavior.\n * @tags test-case\n */\nexport const OverflowTabs = {\n render: () => html`\n<nve-tabs behavior-select>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item>Tab 4</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n <nve-tabs-item>Tab 6</nve-tabs-item>\n <nve-tabs-item>Tab 7</nve-tabs-item>\n <nve-tabs-item>Tab 8</nve-tabs-item>\n <nve-tabs-item>Tab 9</nve-tabs-item>\n <nve-tabs-item>Tab 10</nve-tabs-item>\n <nve-tabs-item>Tab 11</nve-tabs-item>\n <nve-tabs-item>Tab 12</nve-tabs-item>\n <nve-tabs-item>Tab 13</nve-tabs-item>\n <nve-tabs-item>Tab 14</nve-tabs-item>\n <nve-tabs-item>Tab 15</nve-tabs-item>\n <nve-tabs-item>Tab 16</nve-tabs-item>\n <nve-tabs-item>Tab 17</nve-tabs-item>\n <nve-tabs-item>Tab 18</nve-tabs-item>\n <nve-tabs-item>Tab 19</nve-tabs-item>\n <nve-tabs-item>Tab 20</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs selection state and a popover working together without any CSS Anchor Positioning collisions.\n * @tags test-case\n */\nexport const WithTooltips = {\n render: () => html`\n<nve-tooltip id=\"tab1\">Tooltip for tab 1</nve-tooltip>\n<nve-tooltip id=\"tab2\">Tooltip for tab 2</nve-tooltip>\n<nve-tooltip id=\"tab3\">Tooltip for tab 3</nve-tooltip>\n<nve-tabs behavior-select>\n <nve-tabs-item selected popovertarget=\"tab1\">Tab 1</nve-tabs-item>\n <nve-tabs-item popovertarget=\"tab2\">Tab 2</nve-tabs-item>\n <nve-tabs-item id=\"tab-item-3\" popovertarget=\"tab3\">Tab 3</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Group tabs with slot-matched panels and structured card content when one selected value should control both the tab state and revealed details.\n */\nexport const GroupPanels = {\n render: () => html`\n<nve-tabs-group id=\"tab-group\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Tab group with vertical tab strip at inline-start beside slot-matched panels for sidebar-style settings and details layouts in LTR.\n */\nexport const GroupVerticalPanels = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-vertical-start\" alignment=\"start\">\n <nve-tabs vertical style=\"width: 250px\">\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Tab group with vertical tab strip at inline-end beside slot-matched panels when the tab rail should sit on the opposite side from inline-start sidebars.\n */\nexport const GroupVerticalEnd = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-vertical-end\" alignment=\"end\">\n <nve-tabs vertical style=\"width: 250px\">\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Drive the same tabs group from external buttons when layouts need tabs and secondary actions to stay in sync with structured panel content.\n */\nexport const ExternalControls = {\n render: () => html`\n<div nve-layout=\"column gap:lg\">\n <nve-tabs-group id=\"tab-group-controls\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">Quick status for the current tab group.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Overview is active</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use this tab for a summary of the current workflow</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Pair it with external controls for quick switching</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Deeper context for follow-up tasks and implementation notes.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Details are available on demand</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use this tab when readers need extra context</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Keep the content specific to the selected tab</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Preferences and coordination notes for the shared tab group.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Settings remain in sync with the selected value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Useful for configuration and admin actions</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use external buttons when the layout needs extra actions</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n </nve-tabs-group>\n\n <div nve-layout=\"row gap:xs\">\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"overview\">overview</nve-button>\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"details\">details</nve-button>\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"settings\">settings</nve-button>\n </div>\n</div>`\n};\n"],"mappings":";AAGA,IAAA,IAAS"}
1
+ {"version":3,"file":"tabs.examples.js","names":[],"sources":["../../src/tabs/tabs.examples.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 '@nvidia-elements/core/tabs/define.js';\nimport '@nvidia-elements/core/button/define.js';\nimport '@nvidia-elements/core/card/define.js';\nimport '@nvidia-elements/core/dot/define.js';\nimport '@nvidia-elements/core/icon/define.js';\n\nexport default {\n title: 'Elements/Tabs',\n component: 'nve-tabs'\n};\n\n/**\n * @summary Tabs group component for organizing content into selectable sections with disabled state support.\n */\nexport const Default = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-default\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-default\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-default\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-default\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n overview content\n </div>\n <div slot=\"details\">\n details content\n </div>\n <div slot=\"settings\">\n settings content\n </div>\n</nve-tabs-group>`\n};\n\n\n/**\n * @summary Borderless tabs variant for minimal visual styling without border emphasis.\n * @tags test-case\n */\nexport const BorderlessTabs = {\n render: () => html`\n<nve-tabs borderless behavior-select>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3 </nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with custom border background styling for brand-specific visual customization.\n * @tags test-case\n */\nexport const BorderBackground = {\n render: () => html`\n<nve-tabs behavior-select style=\"--indicator-background: var(--nve-ref-color-brand-green-900); --indicator-border-radius: none;\">\n <nve-tabs-item selected>\n Tab 1\n </nve-tabs-item>\n <nve-tabs-item>\n Tab 2\n </nve-tabs-item>\n <nve-tabs-item>\n Tab 3\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with notification dots for indicating unread content or alerts within tab sections.\n */\nexport const WithDots = {\n render: () => html`\n<nve-tabs behavior-select>\n <nve-tabs-item>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3 </nve-tabs-item>\n <nve-tabs-item selected>\n Tab 4\n <nve-dot aria-label=\"10 notifications\">10</nve-dot>\n </nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Vertical tabs layout for sidebar navigation and vertical content organization patterns.\n */\nexport const VerticalTabs = {\n render: () => html`\n<nve-tabs vertical behavior-select style=\"width: 250px\">\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Borderless vertical tabs with icons for enhanced visual navigation and minimal styling.\n * @tags test-case\n */\nexport const BorderlessVerticalTabs = {\n render: () => html`\n<nve-tabs vertical borderless behavior-select style=\"width: 250px\">\n <nve-tabs-item>\n <nve-icon name=\"gear\"></nve-icon> Tab 1\n </nve-tabs-item>\n <nve-tabs-item>\n <nve-icon name=\"person\"></nve-icon> Tab 2\n </nve-tabs-item>\n <nve-tabs-item selected>\n <nve-icon name=\"beaker\"></nve-icon> Tab 3\n </nve-tabs-item>\n <nve-tabs-item>\n <nve-icon name=\"add-grid\"></nve-icon> Tab 4\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Stateless tabs for external state management without built-in selection behavior.\n */\nexport const StatelessTabs = {\n render: () => html`\n<nve-tabs>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item>Tab 4</nve-tabs-item>\n <nve-tabs-item disabled>Disabled</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with link navigation for routing-based tab switching and page navigation.\n */\nexport const Links = {\n render: () => html`\n<nve-tabs>\n <nve-tabs-item selected>\n <a href=\"#links\">Tab 1</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"#links\">Tab 2</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"#links\">Tab 3</a>\n </nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs with overflow handling for managing large numbers of tabs with scrolling behavior.\n * @tags test-case\n */\nexport const OverflowTabs = {\n render: () => html`\n<nve-tabs behavior-select>\n <nve-tabs-item selected>Tab 1</nve-tabs-item>\n <nve-tabs-item>Tab 2</nve-tabs-item>\n <nve-tabs-item>Tab 3</nve-tabs-item>\n <nve-tabs-item>Tab 4</nve-tabs-item>\n <nve-tabs-item>Tab 5</nve-tabs-item>\n <nve-tabs-item>Tab 6</nve-tabs-item>\n <nve-tabs-item>Tab 7</nve-tabs-item>\n <nve-tabs-item>Tab 8</nve-tabs-item>\n <nve-tabs-item>Tab 9</nve-tabs-item>\n <nve-tabs-item>Tab 10</nve-tabs-item>\n <nve-tabs-item>Tab 11</nve-tabs-item>\n <nve-tabs-item>Tab 12</nve-tabs-item>\n <nve-tabs-item>Tab 13</nve-tabs-item>\n <nve-tabs-item>Tab 14</nve-tabs-item>\n <nve-tabs-item>Tab 15</nve-tabs-item>\n <nve-tabs-item>Tab 16</nve-tabs-item>\n <nve-tabs-item>Tab 17</nve-tabs-item>\n <nve-tabs-item>Tab 18</nve-tabs-item>\n <nve-tabs-item>Tab 19</nve-tabs-item>\n <nve-tabs-item>Tab 20</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Tabs selection state and a popover working together without any CSS Anchor Positioning collisions.\n * @tags test-case\n */\nexport const WithTooltips = {\n render: () => html`\n<nve-tooltip id=\"tab1\">Tooltip for tab 1</nve-tooltip>\n<nve-tooltip id=\"tab2\">Tooltip for tab 2</nve-tooltip>\n<nve-tooltip id=\"tab3\">Tooltip for tab 3</nve-tooltip>\n<nve-tabs behavior-select>\n <nve-tabs-item selected popovertarget=\"tab1\">Tab 1</nve-tabs-item>\n <nve-tabs-item popovertarget=\"tab2\">Tab 2</nve-tabs-item>\n <nve-tabs-item id=\"tab-item-3\" popovertarget=\"tab3\">Tab 3</nve-tabs-item>\n</nve-tabs>`\n};\n\n/**\n * @summary Group tabs with slot-matched panels and structured card content when one selected value should control both the tab state and revealed details.\n */\nexport const GroupPanels = {\n render: () => html`\n<nve-tabs-group id=\"tab-group\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Tab group with vertical tab strip at inline-start beside slot-matched panels for sidebar-style settings and details layouts in LTR.\n */\nexport const GroupVerticalPanels = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-vertical-start\" alignment=\"start\">\n <nve-tabs vertical style=\"width: 250px\">\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-start\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Tab group with vertical tab strip at inline-end beside slot-matched panels when the tab rail should sit on the opposite side from inline-start sidebars.\n */\nexport const GroupVerticalEnd = {\n render: () => html`\n<nve-tabs-group id=\"tab-group-vertical-end\" alignment=\"end\">\n <nve-tabs vertical style=\"width: 250px\">\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-vertical-end\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">High-level release status and current priorities.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Status</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Ready for review</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Audience</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Design and product owners</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Next step</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Validate the tab labels and panel order</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Supporting context for teams that need implementation specifics.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Owner</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Elements design system</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Coverage</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Unit, SSR, and accessibility checks</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Focus</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Selection sync and panel wiring</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\" style=\"width: 100%; min-width: 320px;\">\n <nve-card style=\"width: 100%\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Configuration notes for authors and downstream consumers.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Selection</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Controlled by the active tab value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Panels</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Matched by slot name</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Actions</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">External buttons can drive the same group</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n</nve-tabs-group>`\n};\n\n/**\n * @summary Drive the same tabs group from external buttons when layouts need tabs and secondary actions to stay in sync with structured panel content.\n */\nexport const ExternalControls = {\n render: () => html`\n<div nve-layout=\"column gap:lg\">\n <nve-tabs-group id=\"tab-group-controls\">\n <nve-tabs>\n <nve-tabs-item selected command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"overview\">Overview</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"details\">Details</nve-tabs-item>\n <nve-tabs-item command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"settings\">Settings</nve-tabs-item>\n </nve-tabs>\n <div slot=\"overview\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Overview</h2>\n <p nve-text=\"body sm muted\">Quick status for the current tab group.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Overview is active</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use this tab for a summary of the current workflow</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Pair it with external controls for quick switching</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"details\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Details</h2>\n <p nve-text=\"body sm muted\">Deeper context for follow-up tasks and implementation notes.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Details are available on demand</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use this tab when readers need extra context</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Keep the content specific to the selected tab</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n <div slot=\"settings\">\n <nve-card style=\"width: 100%; min-width: 320px;\">\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Settings</h2>\n <p nve-text=\"body sm muted\">Preferences and coordination notes for the shared tab group.</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:sm\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">State</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Settings remain in sync with the selected value</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Signal</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Useful for configuration and admin actions</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Tip</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Use external buttons when the layout needs extra actions</dd>\n </dl>\n </nve-card-content>\n </nve-card>\n </div>\n </nve-tabs-group>\n\n <div nve-layout=\"row gap:xs\">\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"overview\">overview</nve-button>\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"details\">details</nve-button>\n <nve-button command=\"--toggle\" commandfor=\"tab-group-controls\" value=\"settings\">settings</nve-button>\n </div>\n</div>`\n};\n"],"mappings":";AAGA,IAAA,IAAS"}
@@ -74,7 +74,7 @@
74
74
  {
75
75
  "id": "tabs-links",
76
76
  "name": "Links",
77
- "template": "<nve-tabs>\n <nve-tabs-item selected>\n <a href=\"./docs/elements/tabs/#links\">Tab 1</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"./docs/elements/tabs/#links\">Tab 2</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"/docs/elements/tabs/#links\">Tab 3</a>\n </nve-tabs-item>\n</nve-tabs>\n",
77
+ "template": "<nve-tabs>\n <nve-tabs-item selected>\n <a href=\"#links\">Tab 1</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"#links\">Tab 2</a>\n </nve-tabs-item>\n <nve-tabs-item>\n <a href=\"#links\">Tab 3</a>\n </nve-tabs-item>\n</nve-tabs>\n",
78
78
  "summary": "Tabs with link navigation for routing-based tab switching and page navigation.",
79
79
  "description": "",
80
80
  "composition": false,
@@ -4,7 +4,7 @@ import { keyNavigationList as i } from "../internal/controllers/keynav-list.cont
4
4
  import { attachInternals as a } from "../internal/utils/a11y.js";
5
5
  import { stateSelected as o } from "../internal/controllers/state-selected.controller.js";
6
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";
7
+ import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
8
8
  import l from "./tabs.global.js";
9
9
  import u from "./tabs-item.js";
10
10
  import d from "./tabs.js";
@@ -20,7 +20,7 @@ var _ = class extends h(f) {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-tabs-item",
23
- version: "2.0.1",
23
+ version: "2.0.3",
24
24
  parents: ["nve-tabs"]
25
25
  };
26
26
  }
@@ -53,7 +53,7 @@ var v = class extends f {
53
53
  static {
54
54
  this.metadata = {
55
55
  tag: "nve-tabs",
56
- version: "2.0.1",
56
+ version: "2.0.3",
57
57
  children: ["nve-tabs-item"]
58
58
  };
59
59
  }
package/dist/tag/tag2.js CHANGED
@@ -2,7 +2,7 @@ import { I18nController as e } from "../internal/controllers/i18n.controller.js"
2
2
  import { TypeClosableController as t } from "../internal/controllers/type-closable.controller.js";
3
3
  import { scopedRegistry as n } from "../internal/decorators/scoped-registry.js";
4
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";
5
+ import { __decorate as a } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
6
6
  import { Icon as o } from "../icon/icon2.js";
7
7
  import s from "./tag.js";
8
8
  import { LitElement as c, html as l } from "lit";
@@ -17,7 +17,7 @@ var p = class extends d(c) {
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-tag",
20
- version: "2.0.1"
20
+ version: "2.0.3"
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: "2.0.1"
12
+ version: "2.0.3"
13
13
  };
14
14
  }
15
15
  };
@@ -1,6 +1,6 @@
1
1
  import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
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";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { Control as r } from "../forms/control/control2.js";
5
5
  import { IconButton as i } from "../icon-button/icon-button2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-time",
22
- version: "2.0.1"
22
+ version: "2.0.3"
23
23
  };
24
24
  }
25
25
  static {
@@ -6,7 +6,7 @@ import { scopedRegistry as i } from "../internal/decorators/scoped-registry.js";
6
6
  import { useStyles as a } from "../internal/styles/index.js";
7
7
  import { popoverStyles as o } from "../internal/styles/popover2.js";
8
8
  import { statusIcons as s } from "../internal/types/index.js";
9
- import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
9
+ import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
10
10
  import { Icon as l } from "../icon/icon2.js";
11
11
  import { IconButton as u } from "../icon-button/icon-button2.js";
12
12
  import d from "./toast.js";
@@ -23,7 +23,7 @@ var g = class extends f {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-toast",
26
- version: "2.0.1"
26
+ version: "2.0.3"
27
27
  };
28
28
  }
29
29
  static {
@@ -8,7 +8,7 @@ import { LitElement } from 'lit';
8
8
  * @cssprop --border-top
9
9
  * @cssprop --padding
10
10
  * @cssprop --gap
11
- *
11
+ * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/
12
12
  */
13
13
  export declare class ToggletipFooter extends LitElement {
14
14
  static styles: import('lit').CSSResult[];
@@ -1,6 +1,6 @@
1
1
  import { audit as e } from "../internal/controllers/audit.controller.js";
2
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";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import r from "./toggletip-footer.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  //#region src/toggletip/toggletip-footer.ts
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-toggletip-footer",
14
- version: "2.0.1",
14
+ version: "2.0.3",
15
15
  parents: ["nve-toggletip"]
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggletip-footer2.js","names":[],"sources":["../../src/toggletip/toggletip-footer.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 { audit, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './toggletip-footer.css?inline';\n\n/**\n * @element nve-toggletip-footer\n * @description Provides a designated area at the bottom of a toggletip for actions or supplementary information.\n * @since 0.38.0\n * @entrypoint \\@nvidia-elements/core/toggletip\n * @slot - default slot for the toggletip footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n *\n */\n@audit()\nexport class ToggletipFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-toggletip-footer',\n version: '0.0.0',\n parents: ['nve-toggletip']\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 this.slot = 'footer';\n }\n}\n"],"mappings":";;;;;;AAmBO,IAAA,IAAA,cAA8B,EAAW;;gBAC9B,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,eAAe;EAC3B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF;OAtBC,EAAM,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"toggletip-footer2.js","names":[],"sources":["../../src/toggletip/toggletip-footer.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 { audit, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './toggletip-footer.css?inline';\n\n/**\n * @element nve-toggletip-footer\n * @description Provides a designated area at the bottom of a toggletip for actions or supplementary information.\n * @since 0.38.0\n * @entrypoint \\@nvidia-elements/core/toggletip\n * @slot - default slot for the toggletip footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@audit()\nexport class ToggletipFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-toggletip-footer',\n version: '0.0.0',\n parents: ['nve-toggletip']\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 this.slot = 'footer';\n }\n}\n"],"mappings":";;;;;;AAmBO,IAAA,IAAA,cAA8B,EAAW;;gBAC9B,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,eAAe;EAC3B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF;OAtBC,EAAM,CAAA,GAAA,CAAA"}
@@ -8,7 +8,7 @@ import { LitElement } from 'lit';
8
8
  * @cssprop --border-bottom
9
9
  * @cssprop --padding
10
10
  * @cssprop --border-radius
11
- *
11
+ * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/
12
12
  */
13
13
  export declare class ToggletipHeader extends LitElement {
14
14
  static styles: import('lit').CSSResult[];
@@ -1,6 +1,6 @@
1
1
  import { audit as e } from "../internal/controllers/audit.controller.js";
2
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";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import r from "./toggletip-header.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  //#region src/toggletip/toggletip-header.ts
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-toggletip-header",
14
- version: "2.0.1",
14
+ version: "2.0.3",
15
15
  parents: ["nve-toggletip"]
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggletip-header2.js","names":[],"sources":["../../src/toggletip/toggletip-header.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 { audit, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './toggletip-header.css?inline';\n\n/**\n * @element nve-toggletip-header\n * @description Displays a title or contextual label at the top of a toggletip to categorize its contents.\n * @since 0.38.0\n * @entrypoint \\@nvidia-elements/core/toggletip\n * @slot - default slot for the toggletip header\n * @cssprop --border-bottom\n * @cssprop --padding\n * @cssprop --border-radius\n *\n */\n@audit()\nexport class ToggletipHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-toggletip-header',\n version: '0.0.0',\n parents: ['nve-toggletip']\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 this.slot = 'header';\n }\n}\n"],"mappings":";;;;;;AAmBO,IAAA,IAAA,cAA8B,EAAW;;gBAC9B,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,eAAe;EAC3B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF;OAtBC,EAAM,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"toggletip-header2.js","names":[],"sources":["../../src/toggletip/toggletip-header.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 { audit, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './toggletip-header.css?inline';\n\n/**\n * @element nve-toggletip-header\n * @description Displays a title or contextual label at the top of a toggletip to categorize its contents.\n * @since 0.38.0\n * @entrypoint \\@nvidia-elements/core/toggletip\n * @slot - default slot for the toggletip header\n * @cssprop --border-bottom\n * @cssprop --padding\n * @cssprop --border-radius\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@audit()\nexport class ToggletipHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-toggletip-header',\n version: '0.0.0',\n parents: ['nve-toggletip']\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 this.slot = 'header';\n }\n}\n"],"mappings":";;;;;;AAmBO,IAAA,IAAA,cAA8B,EAAW;;gBAC9B,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,eAAe;EAC3B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF;OAtBC,EAAM,CAAA,GAAA,CAAA"}
@@ -6,7 +6,7 @@ import { TypeNativePopoverController as i } from "../internal/controllers/type-n
6
6
  import { scopedRegistry as a } from "../internal/decorators/scoped-registry.js";
7
7
  import { useStyles as o } from "../internal/styles/index.js";
8
8
  import { popoverStyles as s } from "../internal/styles/popover2.js";
9
- import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
9
+ import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
10
10
  import { IconButton as l } from "../icon-button/icon-button2.js";
11
11
  import u from "./toggletip.js";
12
12
  import d from "./toggletip.global.js";
@@ -24,7 +24,7 @@ var g = class extends f {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-toggletip",
27
- version: "2.0.1"
27
+ version: "2.0.3"
28
28
  };
29
29
  }
30
30
  static {
@@ -1,7 +1,7 @@
1
1
  import { applySlotContentStates as e, hasHorizontalScrollBar as t } from "../internal/utils/dom.js";
2
2
  import { attachInternals as n } from "../internal/utils/a11y.js";
3
3
  import { statusStateStyles as r, supportStateStyles as i, useStyles as a } from "../internal/styles/index.js";
4
- import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
+ import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
5
5
  import s from "./toolbar.js";
6
6
  import { LitElement as c, html as l } from "lit";
7
7
  import { property as u } from "lit/decorators/property.js";
@@ -21,7 +21,7 @@ var f = class extends c {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-toolbar",
24
- version: "2.0.1"
24
+ version: "2.0.3"
25
25
  };
26
26
  }
27
27
  static {
@@ -3,7 +3,7 @@ import { attachInternals as t } from "../internal/utils/a11y.js";
3
3
  import { TypeNativePopoverController as n } from "../internal/controllers/type-native-popover.controller.js";
4
4
  import { useStyles as r } from "../internal/styles/index.js";
5
5
  import { popoverStyles as i } from "../internal/styles/popover2.js";
6
- import { __decorate as a } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
6
+ import { __decorate as a } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
7
7
  import o from "./tooltip.js";
8
8
  import { LitElement as s, html as c } from "lit";
9
9
  import { property as l } from "lit/decorators/property.js";
@@ -19,7 +19,7 @@ var d = class extends s {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-tooltip",
22
- version: "2.0.1"
22
+ version: "2.0.3"
23
23
  };
24
24
  }
25
25
  render() {
@@ -12,7 +12,7 @@ import { typeSSR as u } from "../internal/controllers/type-ssr.controller.js";
12
12
  import { hostAttr as d } from "../internal/decorators/host-attr.js";
13
13
  import { scopedRegistry as f } from "../internal/decorators/scoped-registry.js";
14
14
  import { useStyles as p } from "../internal/styles/index.js";
15
- import { __decorate as m } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
15
+ import { __decorate as m } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
16
16
  import { Icon as h } from "../icon/icon2.js";
17
17
  import { IconButton as g } from "../icon-button/icon-button2.js";
18
18
  import { updateNodeSelection as _ } from "./utils.js";
@@ -41,7 +41,7 @@ var E = class extends b {
41
41
  static {
42
42
  this.metadata = {
43
43
  tag: "nve-tree-node",
44
- version: "2.0.1",
44
+ version: "2.0.3",
45
45
  parents: ["nve-tree", "nve-tree-node"]
46
46
  };
47
47
  }
@@ -4,7 +4,7 @@ import { appendRootNodeStyle as n } from "../internal/utils/dom.js";
4
4
  import { keyNavigationList as r } from "../internal/controllers/keynav-list.controller.js";
5
5
  import { attachInternals as i } from "../internal/utils/a11y.js";
6
6
  import { useStyles as a } from "../internal/styles/index.js";
7
- import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
7
+ import { __decorate as o } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
8
8
  import { updateNodeSelection as s } from "./utils.js";
9
9
  import { TreeNode as c } from "./tree-node2.js";
10
10
  import l from "./tree.js";
@@ -22,7 +22,7 @@ var m = class extends d {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-tree",
25
- version: "2.0.1",
25
+ version: "2.0.3",
26
26
  children: ["nve-tree-node"]
27
27
  };
28
28
  }
@@ -1,6 +1,6 @@
1
1
  import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
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";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.js";
4
4
  import { Control as r } from "../forms/control/control2.js";
5
5
  import { IconButton as i } from "../icon-button/icon-button2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-week",
22
- version: "2.0.1"
22
+ version: "2.0.3"
23
23
  };
24
24
  }
25
25
  static {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nvidia-elements/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "release": {
5
5
  "extends": "../../release.config.js"
6
6
  },
@@ -921,7 +921,7 @@
921
921
  "dependencies": {
922
922
  "lit": "^3.3.3",
923
923
  "lit-html": "^3.3.3",
924
- "@nvidia-elements/forms": "^2.0.0"
924
+ "@nvidia-elements/forms": "^2.0.1"
925
925
  },
926
926
  "peerDependencies": {
927
927
  "@nvidia-elements/themes": "^2.0.0"
@@ -937,8 +937,8 @@
937
937
  "@eslint/js": "10.0.1",
938
938
  "@lit-labs/virtualizer": "2.1.1",
939
939
  "@typescript/lib-dom": "npm:@types/web@0.0.312",
940
- "@vitest/browser": "4.1.7",
941
- "@vitest/coverage-istanbul": "4.1.7",
940
+ "@vitest/browser": "4.1.9",
941
+ "@vitest/coverage-istanbul": "4.1.9",
942
942
  "axe-core": "4.11.0",
943
943
  "eslint": "10.4.0",
944
944
  "lit": "3.3.3",
@@ -950,13 +950,13 @@
950
950
  "svgo": "4.0.1",
951
951
  "ts-lit-plugin": "2.0.2",
952
952
  "typescript": "6.0.3",
953
- "vite": "8.0.14",
954
- "vitest": "4.1.7",
953
+ "vite": "8.0.16",
954
+ "vitest": "4.1.9",
955
955
  "@internals/eslint": "0.0.0",
956
956
  "@internals/testing": "0.0.0",
957
957
  "@internals/vite": "0.0.0",
958
- "@nvidia-elements/lint": "2.0.0",
959
- "@nvidia-elements/styles": "^2.0.0"
958
+ "@nvidia-elements/lint": "2.0.1",
959
+ "@nvidia-elements/styles": "^2.0.2"
960
960
  },
961
961
  "wireit": {
962
962
  "ci": {
@@ -1,18 +0,0 @@
1
- import { ReactiveController, ReactiveElement } from 'lit';
2
- /**
3
- * Adds CSS State psuedo-selector :state(active) behavior for keydown space/enter for custom elements
4
- * https://developer.mozilla.org/en-US/docs/Web/API/ElementInternals/states
5
- */
6
- export declare function stateActive<T extends Active>(): ClassDecorator;
7
- type Active = ReactiveElement & {
8
- disabled: boolean;
9
- _internals?: ElementInternals;
10
- };
11
- export declare class StateActiveController<T extends Active> implements ReactiveController {
12
- #private;
13
- private host;
14
- constructor(host: T);
15
- hostConnected(): void;
16
- hostDisconnected(): void;
17
- }
18
- export {};
@@ -1,29 +0,0 @@
1
- import { attachInternals as e } from "../utils/a11y.js";
2
- //#region src/internal/controllers/state-active.controller.ts
3
- function t() {
4
- return (e) => e.addInitializer((e) => new n(e));
5
- }
6
- var n = class {
7
- constructor(e) {
8
- this.host = e, this.host.addController(this);
9
- }
10
- hostConnected() {
11
- e(this.host), this.host.addEventListener("keypress", this.#e), this.host.addEventListener("mousedown", this.#e), this.host.addEventListener("keyup", this.#t), this.host.addEventListener("blur", this.#t), this.host.addEventListener("mouseup", this.#t);
12
- }
13
- hostDisconnected() {
14
- this.host.removeEventListener("keypress", this.#e), this.host.removeEventListener("mousedown", this.#e), this.host.removeEventListener("keyup", this.#t), this.host.removeEventListener("blur", this.#t), this.host.removeEventListener("mouseup", this.#t);
15
- }
16
- #e = (e) => {
17
- !this.host.disabled && this.#n(e) && this.host._internals.states.add("active"), e instanceof KeyboardEvent && e.code === "Space" && e.target === this.host && e.preventDefault();
18
- };
19
- #t = () => {
20
- this.host._internals.states.delete("active");
21
- };
22
- #n(e) {
23
- return e instanceof KeyboardEvent ? e.code === "Space" || e.code === "Enter" : !0;
24
- }
25
- };
26
- //#endregion
27
- export { n as StateActiveController, t as stateActive };
28
-
29
- //# sourceMappingURL=state-active.controller.js.map