@nvidia-elements/core 2.22.4 → 2.23.0

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 (279) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/accordion/accordion2.js +4 -4
  3. package/dist/alert/alert-group2.js +1 -1
  4. package/dist/alert/alert2.js +1 -1
  5. package/dist/avatar/avatar-group2.js +1 -1
  6. package/dist/avatar/avatar2.js +1 -1
  7. package/dist/badge/badge2.js +1 -1
  8. package/dist/breadcrumb/breadcrumb2.js +1 -1
  9. package/dist/bundle.d.ts +4 -0
  10. package/dist/bundles/index.d.ts +336 -0
  11. package/dist/bundles/index.js +14 -14
  12. package/dist/button/button2.js +1 -1
  13. package/dist/button-group/button-group2.js +1 -1
  14. package/dist/card/card2.js +4 -4
  15. package/dist/chat-message/chat-message2.js +1 -1
  16. package/dist/checkbox/checkbox-group2.js +1 -1
  17. package/dist/checkbox/checkbox2.js +1 -1
  18. package/dist/color/color2.js +6 -6
  19. package/dist/combobox/combobox2.js +1 -1
  20. package/dist/copy-button/copy-button2.js +1 -1
  21. package/dist/custom-elements-jsx.d.ts +189 -0
  22. package/dist/custom-elements-vue.d.ts +189 -0
  23. package/dist/custom-elements.json +6555 -0
  24. package/dist/data.html.json +133 -0
  25. package/dist/data.snippets.json +27 -27
  26. package/dist/date/date2.js +6 -6
  27. package/dist/datetime/datetime2.js +6 -6
  28. package/dist/dialog/dialog-footer2.js +1 -1
  29. package/dist/dialog/dialog-header2.js +1 -1
  30. package/dist/dialog/dialog2.js +1 -1
  31. package/dist/divider/divider2.js +1 -1
  32. package/dist/dot/dot2.js +1 -1
  33. package/dist/drag-handle/drag-handle2.js +1 -1
  34. package/dist/drawer/drawer-content2.js +1 -1
  35. package/dist/drawer/drawer-footer2.js +1 -1
  36. package/dist/drawer/drawer-header2.js +1 -1
  37. package/dist/drawer/drawer2.js +1 -1
  38. package/dist/dropdown/dropdown-footer2.js +1 -1
  39. package/dist/dropdown/dropdown-header2.js +1 -1
  40. package/dist/dropdown/dropdown2.js +1 -1
  41. package/dist/dropdown-group/dropdown-group.js +1 -1
  42. package/dist/dropzone/dropzone2.js +1 -1
  43. package/dist/file/file2.js +1 -1
  44. package/dist/format-bytes/format-bytes2.js +1 -1
  45. package/dist/format-datetime/format-datetime2.js +1 -1
  46. package/dist/format-number/format-number2.js +1 -1
  47. package/dist/format-relative-time/format-relative-time2.js +1 -1
  48. package/dist/format-truncate/format-truncate2.js +1 -1
  49. package/dist/forms/control/control2.js +1 -1
  50. package/dist/forms/control-group/control-group2.js +1 -1
  51. package/dist/forms/control-message/control-message2.js +1 -1
  52. package/dist/gauge/gauge2.js +1 -1
  53. package/dist/ghost/define.d.ts +6 -0
  54. package/dist/ghost/define.js +6 -0
  55. package/dist/ghost/define.js.map +1 -0
  56. package/dist/ghost/ghost.d.ts +27 -0
  57. package/dist/ghost/ghost.examples.js +5 -0
  58. package/dist/ghost/ghost.examples.js.map +1 -0
  59. package/dist/ghost/ghost.examples.json +37 -0
  60. package/dist/ghost/ghost.js +5 -0
  61. package/dist/ghost/ghost.js.map +1 -0
  62. package/dist/ghost/ghost2.js +28 -0
  63. package/dist/ghost/ghost2.js.map +1 -0
  64. package/dist/ghost/index.d.ts +1 -0
  65. package/dist/ghost/index.js +1 -0
  66. package/dist/grid/cell/cell2.js +1 -1
  67. package/dist/grid/column/column2.js +1 -1
  68. package/dist/grid/footer/footer2.js +1 -1
  69. package/dist/grid/grid2.js +1 -1
  70. package/dist/grid/header/header2.js +1 -1
  71. package/dist/grid/placeholder/placeholder2.js +1 -1
  72. package/dist/grid/row/row2.js +1 -1
  73. package/dist/icon/icon2.js +2 -2
  74. package/dist/icon-button/icon-button2.js +1 -1
  75. package/dist/iframe/iframe2.js +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/input/input-group2.js +1 -1
  78. package/dist/input/input2.js +1 -1
  79. package/dist/internal/utils/a11y.js.map +1 -1
  80. package/dist/joystick/joystick2.js +5 -5
  81. package/dist/logo/logo2.js +1 -1
  82. package/dist/menu/menu-group2.js +1 -1
  83. package/dist/menu/menu-item2.js +1 -1
  84. package/dist/menu/menu2.js +1 -1
  85. package/dist/month/month2.js +6 -6
  86. package/dist/notification/notification-group2.js +1 -1
  87. package/dist/notification/notification2.js +1 -1
  88. package/dist/page/page-panel/page-panel-content2.js +1 -1
  89. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  90. package/dist/page/page-panel/page-panel-header2.js +1 -1
  91. package/dist/page/page-panel/page-panel2.js +1 -1
  92. package/dist/page/page2.js +1 -1
  93. package/dist/page-header/page-header2.js +1 -1
  94. package/dist/page-loader/page-loader2.js +1 -1
  95. package/dist/pagination/pagination2.js +1 -1
  96. package/dist/panel/panel2.js +4 -4
  97. package/dist/password/password2.js +6 -6
  98. package/dist/polyfills/index.d.ts +4 -7
  99. package/dist/polyfills/index.js +0 -8
  100. package/dist/preferences-input/preferences-input2.js +5 -5
  101. package/dist/progress-bar/progress-bar2.js +1 -1
  102. package/dist/progress-dot/progress-dot2.js +1 -1
  103. package/dist/progress-ring/progress-ring2.js +1 -1
  104. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  105. package/dist/pulse/pulse2.js +1 -1
  106. package/dist/radio/radio-group2.js +1 -1
  107. package/dist/radio/radio2.js +1 -1
  108. package/dist/range/range2.js +1 -1
  109. package/dist/resize-handle/resize-handle2.js +5 -5
  110. package/dist/search/search2.js +6 -6
  111. package/dist/select/select2.js +1 -1
  112. package/dist/select/select2.js.map +1 -1
  113. package/dist/skeleton/skeleton2.js +1 -1
  114. package/dist/sort-button/sort-button2.js +1 -1
  115. package/dist/sparkline/sparkline2.js +1 -1
  116. package/dist/star-rating/star-rating2.js +1 -1
  117. package/dist/steps/steps2.js +6 -6
  118. package/dist/switch/switch-group2.js +1 -1
  119. package/dist/switch/switch2.js +1 -1
  120. package/dist/tabs/tabs-group2.js +1 -1
  121. package/dist/tabs/tabs-item-group2.js +1 -1
  122. package/dist/tabs/tabs2.js +2 -2
  123. package/dist/tag/tag2.js +5 -5
  124. package/dist/textarea/textarea2.js +1 -1
  125. package/dist/time/time2.js +6 -6
  126. package/dist/toast/toast2.js +1 -1
  127. package/dist/toast/toast2.js.map +1 -1
  128. package/dist/toggletip/toggletip-footer2.js +1 -1
  129. package/dist/toggletip/toggletip-header2.js +1 -1
  130. package/dist/toggletip/toggletip2.js +1 -1
  131. package/dist/toolbar/toolbar2.js +1 -1
  132. package/dist/tooltip/tooltip2.js +1 -1
  133. package/dist/tree/tree-node2.js +1 -1
  134. package/dist/tree/tree2.js +1 -1
  135. package/dist/week/week2.js +6 -6
  136. package/dist/workspace/controllers/workspace-command.controller.d.ts +34 -0
  137. package/dist/workspace/controllers/workspace-command.controller.js +87 -0
  138. package/dist/workspace/controllers/workspace-command.controller.js.map +1 -0
  139. package/dist/workspace/controllers/workspace-composition.controller.d.ts +54 -0
  140. package/dist/workspace/controllers/workspace-composition.controller.js +169 -0
  141. package/dist/workspace/controllers/workspace-composition.controller.js.map +1 -0
  142. package/dist/workspace/controllers/workspace-fullscreen.controller.d.ts +25 -0
  143. package/dist/workspace/controllers/workspace-fullscreen.controller.js +84 -0
  144. package/dist/workspace/controllers/workspace-fullscreen.controller.js.map +1 -0
  145. package/dist/workspace/controllers/workspace-measurement.controller.d.ts +19 -0
  146. package/dist/workspace/controllers/workspace-measurement.controller.js +188 -0
  147. package/dist/workspace/controllers/workspace-measurement.controller.js.map +1 -0
  148. package/dist/workspace/controllers/workspace-rearrange.controller.d.ts +40 -0
  149. package/dist/workspace/controllers/workspace-rearrange.controller.js +385 -0
  150. package/dist/workspace/controllers/workspace-rearrange.controller.js.map +1 -0
  151. package/dist/workspace/controllers/workspace-resize.controller.d.ts +43 -0
  152. package/dist/workspace/controllers/workspace-resize.controller.js +168 -0
  153. package/dist/workspace/controllers/workspace-resize.controller.js.map +1 -0
  154. package/dist/workspace/controllers/workspace-restoration.controller.d.ts +24 -0
  155. package/dist/workspace/controllers/workspace-restoration.controller.js +193 -0
  156. package/dist/workspace/controllers/workspace-restoration.controller.js.map +1 -0
  157. package/dist/workspace/define.d.ts +10 -0
  158. package/dist/workspace/define.js +9 -0
  159. package/dist/workspace/define.js.map +1 -0
  160. package/dist/workspace/index.d.ts +8 -0
  161. package/dist/workspace/index.js +6 -0
  162. package/dist/workspace/panel/panel.d.ts +48 -0
  163. package/dist/workspace/panel/panel.js +5 -0
  164. package/dist/workspace/panel/panel.js.map +1 -0
  165. package/dist/workspace/panel/panel2.js +53 -0
  166. package/dist/workspace/panel/panel2.js.map +1 -0
  167. package/dist/workspace/panel-content/panel-content.d.ts +20 -0
  168. package/dist/workspace/panel-content/panel-content.js +5 -0
  169. package/dist/workspace/panel-content/panel-content.js.map +1 -0
  170. package/dist/workspace/panel-content/panel-content2.js +22 -0
  171. package/dist/workspace/panel-content/panel-content2.js.map +1 -0
  172. package/dist/workspace/panel-footer/panel-footer.d.ts +24 -0
  173. package/dist/workspace/panel-footer/panel-footer.js +5 -0
  174. package/dist/workspace/panel-footer/panel-footer.js.map +1 -0
  175. package/dist/workspace/panel-footer/panel-footer2.js +28 -0
  176. package/dist/workspace/panel-footer/panel-footer2.js.map +1 -0
  177. package/dist/workspace/panel-header/panel-header.d.ts +61 -0
  178. package/dist/workspace/panel-header/panel-header.js +5 -0
  179. package/dist/workspace/panel-header/panel-header.js.map +1 -0
  180. package/dist/workspace/panel-header/panel-header2.js +102 -0
  181. package/dist/workspace/panel-header/panel-header2.js.map +1 -0
  182. package/dist/workspace/utils/evaluation.utils.d.ts +83 -0
  183. package/dist/workspace/utils/evaluation.utils.js +294 -0
  184. package/dist/workspace/utils/evaluation.utils.js.map +1 -0
  185. package/dist/workspace/utils/geometry/allocation.utils.d.ts +40 -0
  186. package/dist/workspace/utils/geometry/allocation.utils.js +73 -0
  187. package/dist/workspace/utils/geometry/allocation.utils.js.map +1 -0
  188. package/dist/workspace/utils/geometry/partition.utils.d.ts +10 -0
  189. package/dist/workspace/utils/geometry/partition.utils.js +40 -0
  190. package/dist/workspace/utils/geometry/partition.utils.js.map +1 -0
  191. package/dist/workspace/utils/geometry/sizing.utils.d.ts +35 -0
  192. package/dist/workspace/utils/geometry/sizing.utils.js +42 -0
  193. package/dist/workspace/utils/geometry/sizing.utils.js.map +1 -0
  194. package/dist/workspace/utils/interaction/boundary.utils.d.ts +40 -0
  195. package/dist/workspace/utils/interaction/boundary.utils.js +91 -0
  196. package/dist/workspace/utils/interaction/boundary.utils.js.map +1 -0
  197. package/dist/workspace/utils/interaction/command.utils.d.ts +74 -0
  198. package/dist/workspace/utils/interaction/command.utils.js +189 -0
  199. package/dist/workspace/utils/interaction/command.utils.js.map +1 -0
  200. package/dist/workspace/utils/interaction/drag-preview.utils.d.ts +79 -0
  201. package/dist/workspace/utils/interaction/drag-preview.utils.js +16 -0
  202. package/dist/workspace/utils/interaction/drag-preview.utils.js.map +1 -0
  203. package/dist/workspace/utils/interaction/insertion-offers.utils.d.ts +58 -0
  204. package/dist/workspace/utils/interaction/insertion-offers.utils.js +259 -0
  205. package/dist/workspace/utils/interaction/insertion-offers.utils.js.map +1 -0
  206. package/dist/workspace/utils/interaction/placement-decision.utils.d.ts +55 -0
  207. package/dist/workspace/utils/interaction/placement-decision.utils.js +242 -0
  208. package/dist/workspace/utils/interaction/placement-decision.utils.js.map +1 -0
  209. package/dist/workspace/utils/interaction/resize-input.utils.d.ts +1 -0
  210. package/dist/workspace/utils/interaction/resize-input.utils.js +17 -0
  211. package/dist/workspace/utils/interaction/resize-input.utils.js.map +1 -0
  212. package/dist/workspace/utils/model/layout.utils.d.ts +22 -0
  213. package/dist/workspace/utils/model/layout.utils.js +41 -0
  214. package/dist/workspace/utils/model/layout.utils.js.map +1 -0
  215. package/dist/workspace/utils/model/membership.utils.d.ts +14 -0
  216. package/dist/workspace/utils/model/membership.utils.js +17 -0
  217. package/dist/workspace/utils/model/membership.utils.js.map +1 -0
  218. package/dist/workspace/utils/model/operations.utils.d.ts +31 -0
  219. package/dist/workspace/utils/model/operations.utils.js +178 -0
  220. package/dist/workspace/utils/model/operations.utils.js.map +1 -0
  221. package/dist/workspace/utils/model/projection.utils.d.ts +7 -0
  222. package/dist/workspace/utils/model/projection.utils.js +87 -0
  223. package/dist/workspace/utils/model/projection.utils.js.map +1 -0
  224. package/dist/workspace/utils/model/value.utils.d.ts +5 -0
  225. package/dist/workspace/utils/model/value.utils.js +68 -0
  226. package/dist/workspace/utils/model/value.utils.js.map +1 -0
  227. package/dist/workspace/utils/placement/acquisition-sizing.utils.d.ts +32 -0
  228. package/dist/workspace/utils/placement/acquisition-sizing.utils.js +152 -0
  229. package/dist/workspace/utils/placement/acquisition-sizing.utils.js.map +1 -0
  230. package/dist/workspace/utils/placement/context.utils.d.ts +36 -0
  231. package/dist/workspace/utils/placement/context.utils.js +135 -0
  232. package/dist/workspace/utils/placement/context.utils.js.map +1 -0
  233. package/dist/workspace/utils/placement/group-insertion.utils.d.ts +26 -0
  234. package/dist/workspace/utils/placement/group-insertion.utils.js +171 -0
  235. package/dist/workspace/utils/placement/group-insertion.utils.js.map +1 -0
  236. package/dist/workspace/utils/placement/origin.utils.d.ts +13 -0
  237. package/dist/workspace/utils/placement/origin.utils.js +49 -0
  238. package/dist/workspace/utils/placement/origin.utils.js.map +1 -0
  239. package/dist/workspace/utils/placement/planner.utils.d.ts +22 -0
  240. package/dist/workspace/utils/placement/planner.utils.js +184 -0
  241. package/dist/workspace/utils/placement/planner.utils.js.map +1 -0
  242. package/dist/workspace/utils/placement/preparation.utils.d.ts +28 -0
  243. package/dist/workspace/utils/placement/preparation.utils.js +140 -0
  244. package/dist/workspace/utils/placement/preparation.utils.js.map +1 -0
  245. package/dist/workspace/utils/placement/region.utils.d.ts +15 -0
  246. package/dist/workspace/utils/placement/region.utils.js +111 -0
  247. package/dist/workspace/utils/placement/region.utils.js.map +1 -0
  248. package/dist/workspace/utils/placement/split-sizing.utils.d.ts +18 -0
  249. package/dist/workspace/utils/placement/split-sizing.utils.js +108 -0
  250. package/dist/workspace/utils/placement/split-sizing.utils.js.map +1 -0
  251. package/dist/workspace/utils/presentation/composition.utils.d.ts +17 -0
  252. package/dist/workspace/utils/presentation/composition.utils.js +95 -0
  253. package/dist/workspace/utils/presentation/composition.utils.js.map +1 -0
  254. package/dist/workspace/utils/presentation/groups.utils.d.ts +91 -0
  255. package/dist/workspace/utils/presentation/groups.utils.js +169 -0
  256. package/dist/workspace/utils/presentation/groups.utils.js.map +1 -0
  257. package/dist/workspace/utils/presentation/header-configuration.utils.d.ts +11 -0
  258. package/dist/workspace/utils/presentation/header-configuration.utils.js +7 -0
  259. package/dist/workspace/utils/presentation/header-configuration.utils.js.map +1 -0
  260. package/dist/workspace/utils/presentation/measurements.utils.d.ts +21 -0
  261. package/dist/workspace/utils/presentation/measurements.utils.js +28 -0
  262. package/dist/workspace/utils/presentation/measurements.utils.js.map +1 -0
  263. package/dist/workspace/utils/presentation/offers.utils.d.ts +43 -0
  264. package/dist/workspace/utils/presentation/offers.utils.js +137 -0
  265. package/dist/workspace/utils/presentation/offers.utils.js.map +1 -0
  266. package/dist/workspace/utils/presentation/preview.utils.d.ts +6 -0
  267. package/dist/workspace/utils/presentation/preview.utils.js +36 -0
  268. package/dist/workspace/utils/presentation/preview.utils.js.map +1 -0
  269. package/dist/workspace/workspace.d.ts +103 -0
  270. package/dist/workspace/workspace.examples.js +5 -0
  271. package/dist/workspace/workspace.examples.js.map +1 -0
  272. package/dist/workspace/workspace.examples.json +133 -0
  273. package/dist/workspace/workspace.js +5 -0
  274. package/dist/workspace/workspace.js.map +1 -0
  275. package/dist/workspace/workspace.types.d.ts +3 -0
  276. package/dist/workspace/workspace2.js +518 -0
  277. package/dist/workspace/workspace2.js.map +1 -0
  278. package/package.json +26 -3
  279. package/dist/polyfills/index.js.map +0 -1
@@ -24,7 +24,7 @@ var d = {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-progress-ring",
27
- version: "2.22.4"
27
+ version: "2.23.0"
28
28
  };
29
29
  }
30
30
  static {
@@ -23,7 +23,7 @@ var b = { close: "close" }, x = class extends m {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-progressive-filter-chip",
26
- version: "2.22.4"
26
+ version: "2.23.0"
27
27
  };
28
28
  }
29
29
  static {
@@ -13,7 +13,7 @@ var c = class extends a {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-pulse",
16
- version: "2.22.4"
16
+ version: "2.23.0"
17
17
  };
18
18
  }
19
19
  static {
@@ -12,7 +12,7 @@ var o = class extends i {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-radio-group",
15
- version: "2.22.4",
15
+ version: "2.23.0",
16
16
  children: [
17
17
  "label",
18
18
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-radio",
18
- version: "2.22.4",
18
+ version: "2.23.0",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -17,7 +17,7 @@ var d = class extends i {
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-range",
20
- version: "2.22.4"
20
+ version: "2.23.0"
21
21
  };
22
22
  }
23
23
  connectedCallback() {
@@ -5,10 +5,10 @@ import r from "./resize-handle.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  import { property as o } from "lit/decorators/property.js";
7
7
  import { I18nController as s } from "@nvidia-elements/foundations/internal/i18n";
8
- import { FormControlMixin as c } from "@nvidia-elements/forms/mixins";
9
- import { ifDefined as l } from "lit/directives/if-defined.js";
8
+ import { ifDefined as c } from "lit/directives/if-defined.js";
9
+ import { FormControlMixin as l } from "@nvidia-elements/forms/mixins";
10
10
  // src/resize-handle/resize-handle.ts
11
- var u = { resize: "resize" }, d = class extends c(i) {
11
+ var u = { resize: "resize" }, d = class extends l(i) {
12
12
  static {
13
13
  this.styles = t([r]);
14
14
  }
@@ -18,7 +18,7 @@ var u = { resize: "resize" }, d = class extends c(i) {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-resize-handle",
21
- version: "2.22.4",
21
+ version: "2.23.0",
22
22
  valueSchema: { type: "number" }
23
23
  };
24
24
  }
@@ -27,7 +27,7 @@ var u = { resize: "resize" }, d = class extends c(i) {
27
27
  #r;
28
28
  #i;
29
29
  render() {
30
- return a`<div internal-host><div class="line" part="_line"></div><input aria-label="${l(this.ariaLabel ?? this.i18n.resize)}" type="range" min="${this.min}" max="${this.max}" .valueAsNumber="${this.valueAsNumber}" @input="${(e) => this.#f(e.target.valueAsNumber)}" @change="${(e) => this.#p(e.target.valueAsNumber)}" step="${this.step}"></div>`;
30
+ return a`<div internal-host><div class="line" part="_line"></div><input aria-label="${c(this.ariaLabel ?? this.i18n.resize)}" type="range" min="${this.min}" max="${this.max}" .valueAsNumber="${this.valueAsNumber}" @input="${(e) => this.#f(e.target.valueAsNumber)}" @change="${(e) => this.#p(e.target.valueAsNumber)}" step="${this.step}"></div>`;
31
31
  }
32
32
  constructor() {
33
33
  super(), this.orientation = "horizontal", this.min = 0, this.max = 100, this.step = 10, this.#t = new s(this, u), this.i18n = this.#t.i18n, this.#i = 0, this.#o = (e) => {
@@ -1,20 +1,20 @@
1
1
  import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
2
  import { useStyles as t } from "../internal/styles/index.js";
3
3
  import n from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
4
- import { Control as r } from "../forms/control/control2.js";
5
- import { IconButton as i } from "../icon-button/icon-button2.js";
4
+ import { IconButton as r } from "../icon-button/icon-button2.js";
5
+ import { Control as i } from "../forms/control/control2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
7
7
  import o from "./search.js";
8
8
  import { html as s } from "lit";
9
9
  import { property as c } from "lit/decorators/property.js";
10
10
  // src/search/search.ts
11
- var l = class extends r {
11
+ var l = class extends i {
12
12
  constructor(...e) {
13
13
  super(...e), this.rounded = !1;
14
14
  }
15
15
  static {
16
16
  this.styles = t([
17
- ...r.styles,
17
+ ...i.styles,
18
18
  a,
19
19
  o
20
20
  ]);
@@ -22,11 +22,11 @@ var l = class extends r {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-search",
25
- version: "2.22.4"
25
+ version: "2.23.0"
26
26
  };
27
27
  }
28
28
  static {
29
- this.elementDefinitions = { [i.metadata.tag]: i };
29
+ this.elementDefinitions = { [r.metadata.tag]: r };
30
30
  }
31
31
  get prefixContent() {
32
32
  return s`<nve-icon-button part="icon-button" icon-name="search" container="inline" aria-hidden="true" readonly="readonly"></nve-icon-button>`;
@@ -30,7 +30,7 @@ var S = {
30
30
  static {
31
31
  this.metadata = {
32
32
  tag: "nve-select",
33
- version: "2.22.4"
33
+ version: "2.23.0"
34
34
  };
35
35
  }
36
36
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"select2.js","names":["styles","globalStyles","_decorate","__decorate","select_default","select_global_default","i18nDefaults","Select","Control","_args","#i18nController","I18nController","#observers","#optionObservers","useStyles","Icon","Dropdown","Menu","MenuItem","Tag","#select","#options","#dropdown","#menuItems","#input","#tags","#caret","#placeholderOption","o","#multipleSelectLabel","option","label","#selectValue","nothing","#menu","ifDefined","i","#closeDropdown","#openDropdown","props","#setupCustomSelectUI","getElementUpdate","onChildListMutation","#syncOptionSelectedStates","#disconnectObservers","#setupOverflowListener","#syncSelectValueStates","observer","#overflowObserver","#observedTags","options","appendRootNodeStyle","#setupObservers","#observeTags","onListboxActivate","focusElementTimeout","input","inputWidth","inputEntry","entries","entry","#updateMultipleOverflow","tags","selected","width","property","i18n","scopedRegistry"],"sources":["../../src/select/select.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, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport {\n focusElementTimeout,\n onListboxActivate,\n useStyles,\n onChildListMutation,\n getElementUpdate,\n scopedRegistry,\n appendRootNodeStyle\n} from '@nvidia-elements/core/internal';\nimport { i18n, I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Dropdown } from '@nvidia-elements/core/dropdown';\nimport { Tag } from '@nvidia-elements/core/tag';\nimport styles from './select.css?inline';\nimport globalStyles from './select.global.css?inline';\n\nconst i18nDefaults = {\n select: 'select',\n selected: 'selected'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-select\n * @description A select is a control that enables users to select an option from a list of options.\n * @documentation https://nvidia.github.io/elements/docs/elements/select/\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/select\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --color\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --border-bottom\n * @cssprop --cursor\n * @cssprop --font-weight\n * @cssprop --text-align\n * @cssprop --scroll-height\n * @cssprop --width\n * @cssprop --control-width\n * @cssprop --max-width\n * @cssprop --min-width\n * @cssprop --box-shadow\n * @cssprop --max-height\n * @cssprop --text-transform\n * @csspart tag\n * @csspart menu - The dropdown menu element\n * @csspart menu-item - The menu item elements\n * @csspart icon - The icon element\n * @csspart caret - The caret/chevron icon element\n * @csspart dropdown - The dropdown popup element\n * @slot - Select input element\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n */\n@i18n<Select>()\n@scopedRegistry()\nexport class Select extends Control {\n static styles = useStyles([...Control.styles, styles]);\n\n static readonly metadata = {\n tag: 'nve-select',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon,\n [Dropdown.metadata.tag]: Dropdown,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Tag.metadata.tag]: Tag\n };\n\n /** Flat container option applies when embedding the component within another containing element */\n @property({ type: String, reflect: true }) container?: 'flat' | 'inline';\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /** Updates internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n get #select() {\n return this.input as unknown as HTMLSelectElement;\n }\n\n get #options() {\n return Array.from(this.#select?.options ? this.#select.options : []);\n }\n\n get #dropdown() {\n return this.shadowRoot!.querySelector<Dropdown>(Dropdown.metadata.tag);\n }\n\n get #menuItems() {\n return this.shadowRoot!.querySelectorAll<MenuItem>(MenuItem.metadata.tag);\n }\n\n get #input() {\n return this.shadowRoot!.querySelector<HTMLElement>('[input]');\n }\n\n get #tags() {\n return this.shadowRoot!.querySelector('.tags');\n }\n\n get #caret() {\n return this.shadowRoot!.querySelector<Icon>('[name=\"caret\"]');\n }\n\n get #placeholderOption() {\n return this.#options.find(o => o.selected && o.hidden && o.disabled);\n }\n\n #observers: (MutationObserver | ResizeObserver)[] = [];\n #overflowObserver?: ResizeObserver;\n #observedTags?: Element | null;\n\n get #multipleSelectLabel() {\n const option = this.#placeholderOption;\n const label = option ? option.innerText : `${this.#select.selectedOptions.length} ${this.i18n.selected}`;\n return html`<div class=\"tags-label ${option ? 'placeholder' : ''}\" aria-hidden=\"true\">${label}</div>`;\n }\n\n protected get prefixContent() {\n return this.#select?.multiple && this.#select?.size === 0\n ? html`\n ${this.#multipleSelectLabel}\n <div class=\"tags\">\n ${this.#options\n .filter(o => o.selected && o !== this.#placeholderOption)\n .map(\n o => html`\n <nve-tag part=\"tag\" readonly color=\"gray-slate\" closable .value=${o.value} @click=${() => this.#selectValue(o, false)}>${o.textContent}</nve-tag>`\n )}\n </div>`\n : nothing;\n }\n\n get #menu() {\n return html`\n <nve-menu part=\"menu\" role=\"listbox\" style=\"--width: 100%; --min-width: fit-content\" aria-label=${ifDefined(this.i18n.select)}>\n ${this.#options\n .filter(o => o !== this.#placeholderOption)\n .map(\n (o, i) => html`\n <nve-menu-item part=\"menu-item\" role=\"option\" @click=${() => this.#selectValue(o, !o.selected)} ?selected=${o.selected} ?disabled=${o.disabled} ?hidden=${!!o.hidden} aria-selected=${o.selected}>\n <slot name=\"option-${i + 1}\">\n <nve-icon part=\"icon\" name=\"check\" size=\"sm\" aria-hidden=\"true\"></nve-icon> ${o.innerText}\n </slot>\n </nve-menu-item>`\n )}\n </nve-menu>`;\n }\n\n protected get suffixContent() {\n return this.#select?.size === 0\n ? html`\n <nve-icon name=\"caret\" part=\"caret\" direction=\"down\" size=\"sm\" aria-hidden=\"true\"></nve-icon>\n <nve-dropdown part=\"dropdown\" @close=${this.#closeDropdown} @open=${this.#openDropdown} hidden .anchor=${this.#input as HTMLElement} position=\"bottom\">\n ${this.#menu}\n </nve-dropdown>`\n : this.#menu;\n }\n\n async firstUpdated(props: PropertyValues<this>) {\n super.firstUpdated(props);\n await this.updateComplete;\n this.#setupCustomSelectUI();\n }\n\n #syncSelectValueStates() {\n this.#observers.push(\n getElementUpdate(this.#select, 'value', () => this.requestUpdate()),\n onChildListMutation(this.#select, () => this.requestUpdate(), { attributes: true, subtree: true }),\n onChildListMutation(this.#select, () => this.#syncOptionSelectedStates(), { subtree: true })\n );\n }\n\n #optionObservers = new Map<HTMLOptionElement, MutationObserver>();\n\n #setupObservers() {\n this.#disconnectObservers();\n this.#setupOverflowListener();\n this.#syncSelectValueStates();\n this.#syncOptionSelectedStates();\n }\n\n #disconnectObservers() {\n this.#observers.forEach(observer => observer.disconnect());\n this.#observers = [];\n this.#optionObservers.clear();\n this.#overflowObserver = undefined;\n this.#observedTags = undefined;\n }\n\n #syncOptionSelectedStates() {\n const options = new Set(this.#options);\n\n this.#optionObservers.forEach((observer, option) => {\n if (!options.has(option)) {\n observer.disconnect();\n this.#optionObservers.delete(option);\n this.#observers = this.#observers.filter(o => o !== observer);\n }\n });\n\n this.#options.forEach(o => {\n if (!this.#optionObservers.has(o)) {\n const observer = getElementUpdate(o, 'selected', () => this.requestUpdate());\n this.#optionObservers.set(o, observer);\n this.#observers.push(observer);\n }\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n void this.updateComplete.then(() => {\n if (this.isConnected) {\n this.#setupObservers();\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#disconnectObservers();\n }\n\n async updated(props: PropertyValues<this>) {\n super.updated(props);\n if (this.#select?.size && this.#select?.size !== 0) {\n this._internals.states.add('size');\n this.style.setProperty('--size', `${this.#select.size}`);\n } else {\n this._internals.states.delete('size');\n this.style.removeProperty('--size');\n }\n\n if (this.#select?.multiple && this.#select?.size === 0) {\n this._internals.states.add('multiple');\n } else {\n this._internals.states.delete('multiple');\n }\n this.#observeTags();\n }\n\n #setupCustomSelectUI() {\n if (this.#select?.size === 0) {\n onListboxActivate(this.#select, () => {\n this.requestUpdate(); // update menu items\n this.#dropdown!.style.setProperty('--min-width', `${this.#input!.getBoundingClientRect().width}px`);\n this.#dropdown!.showPopover();\n focusElementTimeout(this.#menuItems[0] as HTMLElement);\n });\n }\n }\n\n #openDropdown() {\n this.#dropdown!.hidden = false;\n this.#caret!.direction = 'up';\n }\n\n #closeDropdown() {\n this.#dropdown!.hidden = true;\n this.#caret!.direction = 'down';\n }\n\n #setupOverflowListener() {\n const input = this.#input;\n if (!input) return;\n let inputWidth: number | undefined;\n const observer = new ResizeObserver(entries => {\n const inputEntry = entries.find(entry => entry.target === input);\n if (inputEntry) inputWidth = inputEntry.contentRect.width;\n if (this.isConnected && inputWidth !== undefined) this.#updateMultipleOverflow(inputWidth);\n });\n this.#overflowObserver = observer;\n this.#observers.push(observer);\n observer.observe(input);\n this.#observeTags();\n }\n\n #observeTags() {\n const observer = this.#overflowObserver;\n if (!observer) return;\n const tags = this.#tags;\n if (tags === this.#observedTags) return;\n if (this.#observedTags) observer.unobserve(this.#observedTags);\n this.#observedTags = tags;\n if (tags) observer.observe(tags);\n else this._internals.states.delete('multiple-overflow');\n }\n\n async #selectValue(option: HTMLOptionElement, selected: boolean) {\n if (this.#select.multiple || (!this.#select.multiple && option.value !== this.#select.value)) {\n option.selected = selected;\n }\n\n // native select only the first selected option determines the select input value\n if (this.#select.selectedOptions.length < 1) {\n this.#select.value = selected ? option.value : '';\n }\n\n this.#select.dispatchEvent(new Event('input', { bubbles: true }));\n this.#select.dispatchEvent(new Event('change', { bubbles: true }));\n this.requestUpdate();\n\n if (!this.#select.multiple && this.#dropdown) {\n this.#dropdown.hidePopover();\n } else {\n await this.updateComplete;\n this.#updateMultipleOverflow(this.#input!.getBoundingClientRect().width);\n }\n }\n\n #updateMultipleOverflow(width: number) {\n const tags = this.#tags;\n if (this.#select?.multiple && tags && tags.getBoundingClientRect().width > width - 48) {\n this._internals.states.add('multiple-overflow');\n } else {\n this._internals.states.delete('multiple-overflow');\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"select2.js","names":["styles","globalStyles","_decorate","__decorate","select_default","select_global_default","i18nDefaults","Select","Control","_args","#i18nController","I18nController","#observers","#optionObservers","useStyles","Icon","Dropdown","Menu","MenuItem","Tag","#select","#options","#dropdown","#menuItems","#input","#tags","#caret","#placeholderOption","o","#multipleSelectLabel","option","label","#selectValue","nothing","#menu","ifDefined","i","#closeDropdown","#openDropdown","props","#setupCustomSelectUI","getElementUpdate","onChildListMutation","#syncOptionSelectedStates","#disconnectObservers","#setupOverflowListener","#syncSelectValueStates","observer","#overflowObserver","#observedTags","options","appendRootNodeStyle","#setupObservers","#observeTags","onListboxActivate","focusElementTimeout","input","inputWidth","inputEntry","entries","entry","#updateMultipleOverflow","tags","selected","width","property","i18n","scopedRegistry"],"sources":["../../src/select/select.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, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport {\n focusElementTimeout,\n onListboxActivate,\n useStyles,\n onChildListMutation,\n getElementUpdate,\n scopedRegistry,\n appendRootNodeStyle\n} from '@nvidia-elements/core/internal';\nimport { i18n, I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Dropdown } from '@nvidia-elements/core/dropdown';\nimport { Tag } from '@nvidia-elements/core/tag';\nimport styles from './select.css?inline';\nimport globalStyles from './select.global.css?inline';\n\nconst i18nDefaults = {\n select: 'select',\n selected: 'selected'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-select\n * @description A select is a control that enables users to select an option from a list of options.\n * @documentation https://nvidia.github.io/elements/docs/elements/select/\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/select\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --color\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --border-bottom\n * @cssprop --cursor\n * @cssprop --font-weight\n * @cssprop --text-align\n * @cssprop --scroll-height\n * @cssprop --width\n * @cssprop --control-width\n * @cssprop --max-width\n * @cssprop --min-width\n * @cssprop --box-shadow\n * @cssprop --max-height\n * @cssprop --text-transform\n * @csspart tag\n * @csspart menu - The dropdown menu element\n * @csspart menu-item - The menu item elements\n * @csspart icon - The icon element\n * @csspart caret - The caret/chevron icon element\n * @csspart dropdown - The dropdown popup element\n * @slot - Select input element\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n */\n@i18n<Select>()\n@scopedRegistry()\nexport class Select extends Control {\n static styles = useStyles([...Control.styles, styles]);\n\n static readonly metadata = {\n tag: 'nve-select',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon,\n [Dropdown.metadata.tag]: Dropdown,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Tag.metadata.tag]: Tag\n };\n\n /** Flat container option applies when embedding the component within another containing element */\n @property({ type: String, reflect: true }) container?: 'flat' | 'inline';\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /** Updates internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n get #select() {\n return this.input as unknown as HTMLSelectElement;\n }\n\n get #options() {\n return Array.from(this.#select?.options ? this.#select.options : []);\n }\n\n get #dropdown() {\n return this.shadowRoot!.querySelector<Dropdown>(Dropdown.metadata.tag);\n }\n\n get #menuItems() {\n return this.shadowRoot!.querySelectorAll<MenuItem>(MenuItem.metadata.tag);\n }\n\n get #input() {\n return this.shadowRoot!.querySelector<HTMLElement>('[input]');\n }\n\n get #tags() {\n return this.shadowRoot!.querySelector('.tags');\n }\n\n get #caret() {\n return this.shadowRoot!.querySelector<Icon>('[name=\"caret\"]');\n }\n\n get #placeholderOption() {\n return this.#options.find(o => o.selected && o.hidden && o.disabled);\n }\n\n #observers: (MutationObserver | ResizeObserver)[] = [];\n #overflowObserver?: ResizeObserver;\n #observedTags?: Element | null;\n\n get #multipleSelectLabel() {\n const option = this.#placeholderOption;\n const label = option ? option.innerText : `${this.#select.selectedOptions.length} ${this.i18n.selected}`;\n return html`<div class=\"tags-label ${option ? 'placeholder' : ''}\" aria-hidden=\"true\">${label}</div>`;\n }\n\n protected get prefixContent() {\n return this.#select?.multiple && this.#select?.size === 0\n ? html`\n ${this.#multipleSelectLabel}\n <div class=\"tags\">\n ${this.#options\n .filter(o => o.selected && o !== this.#placeholderOption)\n .map(\n o => html`\n <nve-tag part=\"tag\" readonly color=\"gray-slate\" closable .value=${o.value} @click=${() => this.#selectValue(o, false)}>${o.textContent}</nve-tag>`\n )}\n </div>`\n : nothing;\n }\n\n get #menu() {\n return html`\n <nve-menu part=\"menu\" role=\"listbox\" style=\"--width: 100%; --min-width: fit-content\" aria-label=${ifDefined(this.i18n.select)}>\n ${this.#options\n .filter(o => o !== this.#placeholderOption)\n .map(\n (o, i) => html`\n <nve-menu-item part=\"menu-item\" role=\"option\" @click=${() => this.#selectValue(o, !o.selected)} ?selected=${o.selected} ?disabled=${o.disabled} ?hidden=${!!o.hidden} aria-selected=${o.selected}>\n <slot name=\"option-${i + 1}\">\n <nve-icon part=\"icon\" name=\"check\" size=\"sm\" aria-hidden=\"true\"></nve-icon> ${o.innerText}\n </slot>\n </nve-menu-item>`\n )}\n </nve-menu>`;\n }\n\n protected get suffixContent() {\n return this.#select?.size === 0\n ? html`\n <nve-icon name=\"caret\" part=\"caret\" direction=\"down\" size=\"sm\" aria-hidden=\"true\"></nve-icon>\n <nve-dropdown part=\"dropdown\" @close=${this.#closeDropdown} @open=${this.#openDropdown} hidden .anchor=${this.#input} position=\"bottom\">\n ${this.#menu}\n </nve-dropdown>`\n : this.#menu;\n }\n\n async firstUpdated(props: PropertyValues<this>) {\n super.firstUpdated(props);\n await this.updateComplete;\n this.#setupCustomSelectUI();\n }\n\n #syncSelectValueStates() {\n this.#observers.push(\n getElementUpdate(this.#select, 'value', () => this.requestUpdate()),\n onChildListMutation(this.#select, () => this.requestUpdate(), { attributes: true, subtree: true }),\n onChildListMutation(this.#select, () => this.#syncOptionSelectedStates(), { subtree: true })\n );\n }\n\n #optionObservers = new Map<HTMLOptionElement, MutationObserver>();\n\n #setupObservers() {\n this.#disconnectObservers();\n this.#setupOverflowListener();\n this.#syncSelectValueStates();\n this.#syncOptionSelectedStates();\n }\n\n #disconnectObservers() {\n this.#observers.forEach(observer => observer.disconnect());\n this.#observers = [];\n this.#optionObservers.clear();\n this.#overflowObserver = undefined;\n this.#observedTags = undefined;\n }\n\n #syncOptionSelectedStates() {\n const options = new Set(this.#options);\n\n this.#optionObservers.forEach((observer, option) => {\n if (!options.has(option)) {\n observer.disconnect();\n this.#optionObservers.delete(option);\n this.#observers = this.#observers.filter(o => o !== observer);\n }\n });\n\n this.#options.forEach(o => {\n if (!this.#optionObservers.has(o)) {\n const observer = getElementUpdate(o, 'selected', () => this.requestUpdate());\n this.#optionObservers.set(o, observer);\n this.#observers.push(observer);\n }\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n void this.updateComplete.then(() => {\n if (this.isConnected) {\n this.#setupObservers();\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#disconnectObservers();\n }\n\n async updated(props: PropertyValues<this>) {\n super.updated(props);\n if (this.#select?.size && this.#select?.size !== 0) {\n this._internals.states.add('size');\n this.style.setProperty('--size', `${this.#select.size}`);\n } else {\n this._internals.states.delete('size');\n this.style.removeProperty('--size');\n }\n\n if (this.#select?.multiple && this.#select?.size === 0) {\n this._internals.states.add('multiple');\n } else {\n this._internals.states.delete('multiple');\n }\n this.#observeTags();\n }\n\n #setupCustomSelectUI() {\n if (this.#select?.size === 0) {\n onListboxActivate(this.#select, () => {\n this.requestUpdate(); // update menu items\n this.#dropdown!.style.setProperty('--min-width', `${this.#input!.getBoundingClientRect().width}px`);\n this.#dropdown!.showPopover();\n focusElementTimeout(this.#menuItems[0] as HTMLElement);\n });\n }\n }\n\n #openDropdown() {\n this.#dropdown!.hidden = false;\n this.#caret!.direction = 'up';\n }\n\n #closeDropdown() {\n this.#dropdown!.hidden = true;\n this.#caret!.direction = 'down';\n }\n\n #setupOverflowListener() {\n const input = this.#input;\n if (!input) return;\n let inputWidth: number | undefined;\n const observer = new ResizeObserver(entries => {\n const inputEntry = entries.find(entry => entry.target === input);\n if (inputEntry) inputWidth = inputEntry.contentRect.width;\n if (this.isConnected && inputWidth !== undefined) this.#updateMultipleOverflow(inputWidth);\n });\n this.#overflowObserver = observer;\n this.#observers.push(observer);\n observer.observe(input);\n this.#observeTags();\n }\n\n #observeTags() {\n const observer = this.#overflowObserver;\n if (!observer) return;\n const tags = this.#tags;\n if (tags === this.#observedTags) return;\n if (this.#observedTags) observer.unobserve(this.#observedTags);\n this.#observedTags = tags;\n if (tags) observer.observe(tags);\n else this._internals.states.delete('multiple-overflow');\n }\n\n async #selectValue(option: HTMLOptionElement, selected: boolean) {\n if (this.#select.multiple || (!this.#select.multiple && option.value !== this.#select.value)) {\n option.selected = selected;\n }\n\n // native select only the first selected option determines the select input value\n if (this.#select.selectedOptions.length < 1) {\n this.#select.value = selected ? option.value : '';\n }\n\n this.#select.dispatchEvent(new Event('input', { bubbles: true }));\n this.#select.dispatchEvent(new Event('change', { bubbles: true }));\n this.requestUpdate();\n\n if (!this.#select.multiple && this.#dropdown) {\n this.#dropdown.hidePopover();\n } else {\n await this.updateComplete;\n this.#updateMultipleOverflow(this.#input!.getBoundingClientRect().width);\n }\n }\n\n #updateMultipleOverflow(width: number) {\n const tags = this.#tags;\n if (this.#select?.multiple && tags && tags.getBoundingClientRect().width > width - 48) {\n this._internals.states.add('multiple-overflow');\n } else {\n this._internals.states.delete('multiple-overflow');\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA,IAAMM,IAAe;CACnB,QAAQ;CACR,UAAU;AACZ,GAsCaC,IAAN,cAAqBC,EAAQ;;EAyHf,A,aAtGqB,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAGhD,KAAA,OAAA,KAAKI,GAAgB,MAkCJ,KAAAE,KAAA,CAAC,GAiElC,KAAAC,qBAAA,IAAI,IAAyC;;;EAxHhD,KAAA,SAAAC,EAAU,CAAC,GAAGN,EAAQ,QAAQR,CAAM,CAAC;;;EAE1B,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA;IACzBe,EAAK,SAAS,MAAMA;IACpBC,EAAS,SAAS,MAAMA;IACxBC,EAAK,SAAS,MAAMA;IACpBC,EAAS,SAAS,MAAMA;IACxBC,EAAI,SAAS,MAAMA;EACtB;;CAKA;CAKA,IAAIC,KAAU;EACZ,OAAO,KAAK;CACd;CAEA,IAAIC,KAAW;EACb,OAAO,MAAM,KAAK,KAAKD,IAAS,UAAU,KAAKA,GAAQ,UAAU,CAAC,CAAC;CACrE;CAEA,IAAIE,KAAY;EACd,OAAO,KAAK,WAAY,cAAwBN,EAAS,SAAS,GAAG;CACvE;CAEA,IAAIO,KAAa;EACf,OAAO,KAAK,WAAY,iBAA2BL,EAAS,SAAS,GAAG;CAC1E;CAEA,IAAIM,KAAS;EACX,OAAO,KAAK,WAAY,cAA2B,SAAS;CAC9D;CAEA,IAAIC,KAAQ;EACV,OAAO,KAAK,WAAY,cAAc,OAAO;CAC/C;CAEA,IAAIC,KAAS;EACX,OAAO,KAAK,WAAY,cAAoB,kBAAgB;CAC9D;CAEA,IAAIC,KAAqB;EACvB,OAAO,KAAKN,GAAS,MAAK,MAAKO,EAAE,YAAYA,EAAE,UAAUA,EAAE,QAAQ;CACrE;CAEA;CACA;CACA;CAEA,IAAIC,KAAuB;EACzB,IAAMC,IAAS,KAAKH,IACdI,IAAQD,IAASA,EAAO,YAAY,GAAG,KAAKV,GAAQ,gBAAgB,OAAO,GAAG,KAAK,KAAK;EAC9F,OAAO,CAAI,0BAA0BU,IAAS,gBAAgB,GAAG,uBAAuBC,EAAM;CAChG;CAEA,IAAc,gBAAgB;EAC5B,OAAO,KAAKX,IAAS,YAAY,KAAKA,IAAS,SAAS,IACpD,CAAI,GACN,KAAKS,GAAqB,oBAExB,KAAKR,GACJ,QAAO,MAAKO,EAAE,YAAYA,MAAM,KAAKD,EAAkB,CAAC,CACxD,KACC,MAAK,CAAI,+EACqDC,EAAE,MAAM,kBAAgB,KAAKI,GAAaJ,GAAG,EAAK,EAAE,IAAGA,EAAE,YAAY,WACrI,EAAE,UAEFK;CACN;CAEA,IAAIC,KAAQ;EACV,OAAO,CAAI,iGACuFC,EAAU,KAAK,KAAK,MAAM,EAAE,IAC1H,KAAKd,GACJ,QAAO,MAAKO,MAAM,KAAKD,EAAkB,CAAC,CAC1C,KACE,GAAG,MAAM,CAAI,+DAC2C,KAAKK,GAAaJ,GAAG,CAACA,EAAE,QAAQ,EAAE,eAAaA,EAAE,SAAS,eAAaA,EAAE,SAAS,aAAW,CAAC,CAACA,EAAE,OAAO,mBAAiBA,EAAE,SAAS,uBAC1KQ,IAAI,EAAE,+EACqDR,EAAE,UAAU,wBAG5F,EAAE;CAER;CAEA,IAAc,gBAAgB;EAC5B,OAAO,KAAKR,IAAS,SAAS,IAC1B,CAAI,sIAEiC,KAAKiB,GAAe,WAAS,KAAKC,GAAc,oBAAkB,KAAKd,GAAO,sBACjH,KAAKU,GAAM,mBAEb,KAAKA;CACX;CAEA,MAAM,aAAa,GAA6B;EAG9C,AAFA,MAAM,aAAaK,CAAK,GACxB,MAAM,KAAK,gBACX,KAAKC,GAAqB;CAC5B;CAEA,KAAyB;EACvB,KAAK5B,GAAW,KACd6B,EAAiB,KAAKrB,IAAS,eAAe,KAAK,cAAc,CAAC,GAClEsB,EAAoB,KAAKtB,UAAe,KAAK,cAAc,GAAG;GAAE,YAAY;GAAM,SAAS;EAAK,CAAC,GACjGsB,EAAoB,KAAKtB,UAAe,KAAKuB,GAA0B,GAAG,EAAE,SAAS,GAAK,CAAC,CAC7F;CACF;CAEA;CAEA,KAAkB;EAIhB,AAHA,KAAKC,GAAqB,GAC1B,KAAKC,GAAuB,GAC5B,KAAKC,GAAuB,GAC5B,KAAKH,GAA0B;CACjC;CAEA,KAAuB;EAKrB,AAJA,KAAK/B,GAAW,SAAQ,MAAYmC,EAAS,WAAW,CAAC,GACzD,KAAKnC,KAAa,CAAC,GACnB,KAAKC,GAAiB,MAAM,GAC5B,KAAKmC,KAAoB,KAAA,GACzB,KAAKC,KAAgB,KAAA;CACvB;CAEA,KAA4B;EAC1B,IAAMC,IAAU,IAAI,IAAI,KAAK7B,EAAQ;EAUrC,AARA,KAAKR,GAAiB,SAAS,GAAU,MAAW;GAClD,AAAKqC,EAAQ,IAAIpB,CAAM,MACrBiB,EAAS,WAAW,GACpB,KAAKlC,GAAiB,OAAOiB,CAAM,GACnC,KAAKlB,KAAa,KAAKA,GAAW,QAAO,MAAKgB,MAAMmB,CAAQ;EAEhE,CAAC,GAED,KAAK1B,GAAS,SAAQ,MAAK;GACzB,IAAI,CAAC,KAAKR,GAAiB,IAAIe,CAAC,GAAG;IACjC,IAAMmB,IAAWN,EAAiBb,GAAG,kBAAkB,KAAK,cAAc,CAAC;IAE3E,AADA,KAAKf,GAAiB,IAAIe,GAAGmB,CAAQ,GACrC,KAAKnC,GAAW,KAAKmC,CAAQ;GAC/B;EACF,CAAC;CACH;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxBI,EAAoB,MAAMlD,CAAY,GACtC,KAAU,eAAe,WAAW;GAClC,AAAI,KAAK,eACP,KAAKmD,GAAgB;EAEzB,CAAC;CACH;CAEA,uBAAuB;EAErB,AADA,MAAM,qBAAqB,GAC3B,KAAKR,GAAqB;CAC5B;CAEA,MAAM,QAAQ,GAA6B;EAezC,AAdA,MAAM,QAAQL,CAAK,GACf,KAAKnB,IAAS,QAAQ,KAAKA,IAAS,SAAS,KAC/C,KAAK,WAAW,OAAO,IAAI,MAAM,GACjC,KAAK,MAAM,YAAY,UAAU,GAAG,KAAKA,GAAQ,MAAM,MAEvD,KAAK,WAAW,OAAO,OAAO,MAAM,GACpC,KAAK,MAAM,eAAe,QAAQ,IAGhC,KAAKA,IAAS,YAAY,KAAKA,IAAS,SAAS,IACnD,KAAK,WAAW,OAAO,IAAI,UAAU,IAErC,KAAK,WAAW,OAAO,OAAO,UAAU,GAE1C,KAAKiC,GAAa;CACpB;CAEA,KAAuB;EACrB,AAAI,KAAKjC,IAAS,SAAS,KACzBkC,EAAkB,KAAKlC,UAAe;GAIpC,AAHA,KAAK,cAAc,GACnB,KAAKE,GAAW,MAAM,YAAY,eAAe,GAAG,KAAKE,GAAQ,sBAAsB,CAAC,CAAC,MAAM,GAAG,GAClG,KAAKF,GAAW,YAAY,GAC5BiC,EAAoB,KAAKhC,GAAW,EAAiB;EACvD,CAAC;CAEL;CAEA,KAAgB;EAEd,AADA,KAAKD,GAAW,SAAS,IACzB,KAAKI,GAAQ,YAAY;CAC3B;CAEA,KAAiB;EAEf,AADA,KAAKJ,GAAW,SAAS,IACzB,KAAKI,GAAQ,YAAY;CAC3B;CAEA,KAAyB;EACvB,IAAM8B,IAAQ,KAAKhC;EACnB,IAAI,CAACgC,GAAO;EACZ,IAAIC,GACEV,IAAW,IAAI,gBAAe,MAAW;GAC7C,IAAMW,IAAaC,EAAQ,MAAK,MAASC,EAAM,WAAWJ,CAAK;GAE/D,AADIE,MAAY,IAAaA,EAAW,YAAY,QAChD,KAAK,eAAeD,MAAe,KAAA,KAAW,KAAKI,GAAwBJ,CAAU;EAC3F,CAAC;EAID,AAHA,KAAKT,KAAoBD,GACzB,KAAKnC,GAAW,KAAKmC,CAAQ,GAC7BA,EAAS,QAAQS,CAAK,GACtB,KAAKH,GAAa;CACpB;CAEA,KAAe;EACb,IAAMN,IAAW,KAAKC;EACtB,IAAI,CAACD,GAAU;EACf,IAAMe,IAAO,KAAKrC;EAClB,AAAIqC,MAAS,KAAKb,OACd,KAAKA,MAAeF,EAAS,UAAU,KAAKE,EAAa,GAC7D,KAAKA,KAAgBa,GACjBA,IAAMf,EAAS,QAAQe,CAAI,IAC1B,KAAK,WAAW,OAAO,OAAO,mBAAmB;CACxD;CAEA,MAAM9B,GAAa,GAA2B,GAAmB;EAc/D,CAbI,KAAKZ,GAAQ,YAAa,CAAC,KAAKA,GAAQ,YAAYU,EAAO,UAAU,KAAKV,GAAQ,WACpF,EAAO,WAAW2C,IAIhB,KAAK3C,GAAQ,gBAAgB,SAAS,MACxC,KAAKA,GAAQ,QAAQ2C,IAAWjC,EAAO,QAAQ,KAGjD,KAAKV,GAAQ,cAAc,IAAI,MAAM,SAAS,EAAE,SAAS,GAAK,CAAC,CAAC,GAChE,KAAKA,GAAQ,cAAc,IAAI,MAAM,UAAU,EAAE,SAAS,GAAK,CAAC,CAAC,GACjE,KAAK,cAAc,GAEf,CAAC,KAAKA,GAAQ,YAAY,KAAKE,KACjC,KAAKA,GAAU,YAAY,KAE3B,MAAM,KAAK,gBACX,KAAKuC,GAAwB,KAAKrC,GAAQ,sBAAsB,CAAC,CAAC,KAAK;CAE3E;CAEA,GAAwB,GAAe;EACrC,IAAMsC,IAAO,KAAKrC;EAClB,AAAI,KAAKL,IAAS,YAAY0C,KAAQA,EAAK,sBAAsB,CAAC,CAAC,QAAQE,IAAQ,KACjF,KAAK,WAAW,OAAO,IAAI,mBAAmB,IAE9C,KAAK,WAAW,OAAO,OAAO,mBAAmB;CAErD;AACF;AA3PG9D,EAAA,CAAA+D,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA1D,EAAA,WAAA,aAAA,KAAA,CAAA,GAKxCL,EAAA,CAAA+D,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA1D,EAAA,WAAA,QAAA,KAAA,CAAA,GAxB3B,IAAAL,EAAA,CAAAgE,EAAa,GACbC,EAAe,CAAA,GAAA5D,CAAA"}
@@ -15,7 +15,7 @@ var s = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-skeleton",
18
- version: "2.22.4"
18
+ version: "2.23.0"
19
19
  };
20
20
  }
21
21
  render() {
@@ -19,7 +19,7 @@ var u = { sort: "sort" }, d = {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-sort-button",
22
- version: "2.22.4"
22
+ version: "2.23.0"
23
23
  };
24
24
  }
25
25
  static {
@@ -21,7 +21,7 @@ var C = class extends _ {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-sparkline",
24
- version: "2.22.4"
24
+ version: "2.23.0"
25
25
  };
26
26
  }
27
27
  render() {
@@ -18,7 +18,7 @@ var l = class extends a {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-star-rating",
21
- version: "2.22.4"
21
+ version: "2.23.0"
22
22
  };
23
23
  }
24
24
  static {
@@ -11,19 +11,19 @@ import l from "./steps.js";
11
11
  import { ProgressRing as u } from "../progress-ring/progress-ring2.js";
12
12
  import { LitElement as d, html as f } from "lit";
13
13
  import { property as p } from "lit/decorators/property.js";
14
- import { state as m } from "lit/decorators/state.js";
15
- import { ButtonFormControlMixin as h } from "@nvidia-elements/forms/mixins";
14
+ import { ButtonFormControlMixin as m } from "@nvidia-elements/forms/mixins";
15
+ import { state as h } from "lit/decorators/state.js";
16
16
  import { queryAssignedElements as g } from "lit/decorators/query-assigned-elements.js";
17
17
  import { when as _ } from "lit/directives/when.js";
18
18
  // src/steps/steps.ts
19
- var v = class extends h(d) {
19
+ var v = class extends m(d) {
20
20
  static {
21
21
  this.styles = a([c]);
22
22
  }
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-steps-item",
26
- version: "2.22.4",
26
+ version: "2.23.0",
27
27
  parents: ["nve-steps"]
28
28
  };
29
29
  }
@@ -52,7 +52,7 @@ o([p({
52
52
  })], v.prototype, "status", void 0), o([p({
53
53
  type: String,
54
54
  reflect: !0
55
- })], v.prototype, "container", void 0), o([m()], v.prototype, "index", void 0), v = o([
55
+ })], v.prototype, "container", void 0), o([h()], v.prototype, "index", void 0), v = o([
56
56
  e(),
57
57
  i(),
58
58
  r()
@@ -69,7 +69,7 @@ var y = class extends d {
69
69
  static {
70
70
  this.metadata = {
71
71
  tag: "nve-steps",
72
- version: "2.22.4",
72
+ version: "2.23.0",
73
73
  children: ["nve-steps-item"]
74
74
  };
75
75
  }
@@ -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.22.4",
14
+ version: "2.23.0",
15
15
  children: [
16
16
  "label",
17
17
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-switch",
18
- version: "2.22.4",
18
+ version: "2.23.0",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -34,7 +34,7 @@ var h, g = class extends u {
34
34
  static {
35
35
  this.metadata = {
36
36
  tag: "nve-tabs-group",
37
- version: "2.22.4",
37
+ version: "2.23.0",
38
38
  children: ["nve-tabs"]
39
39
  };
40
40
  }
@@ -15,7 +15,7 @@ var c = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-tabs-item-group",
18
- version: "2.22.4",
18
+ version: "2.23.0",
19
19
  parents: ["nve-tabs"],
20
20
  children: ["nve-tabs-item"]
21
21
  };
@@ -21,7 +21,7 @@ var y = class extends _(m) {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-tabs-item",
24
- version: "2.22.4",
24
+ version: "2.23.0",
25
25
  parents: ["nve-tabs", "nve-tabs-item-group"]
26
26
  };
27
27
  }
@@ -65,7 +65,7 @@ var b = class extends m {
65
65
  static {
66
66
  this.metadata = {
67
67
  tag: "nve-tabs",
68
- version: "2.22.4",
68
+ version: "2.23.0",
69
69
  children: ["nve-tabs-item", "nve-tabs-item-group"]
70
70
  };
71
71
  }
package/dist/tag/tag2.js CHANGED
@@ -7,17 +7,17 @@ import o from "./tag.js";
7
7
  import { LitElement as s, html as c } from "lit";
8
8
  import { property as l } from "lit/decorators/property.js";
9
9
  import { I18nController as u } from "@nvidia-elements/foundations/internal/i18n";
10
- import { ButtonFormControlMixin as d } from "@nvidia-elements/forms/mixins";
11
- import { ifDefined as f } from "lit/directives/if-defined.js";
10
+ import { ifDefined as d } from "lit/directives/if-defined.js";
11
+ import { ButtonFormControlMixin as f } from "@nvidia-elements/forms/mixins";
12
12
  // src/tag/tag.ts
13
- var p = { close: "close" }, m = class extends d(s) {
13
+ var p = { close: "close" }, m = class extends f(s) {
14
14
  static {
15
15
  this.styles = r([n, o]);
16
16
  }
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-tag",
20
- version: "2.22.4"
20
+ version: "2.23.0"
21
21
  };
22
22
  }
23
23
  static {
@@ -26,7 +26,7 @@ var p = { close: "close" }, m = class extends d(s) {
26
26
  #e;
27
27
  #t;
28
28
  render() {
29
- return c`<div internal-host interaction-state focus-within><slot name="prefix"></slot><slot></slot><slot name="suffix"></slot>${this.closable ? c`<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>`;
29
+ return c`<div internal-host interaction-state focus-within><slot name="prefix"></slot><slot></slot><slot name="suffix"></slot>${this.closable ? c`<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>`;
30
30
  }
31
31
  constructor() {
32
32
  super(), this.closable = !1, this.#e = new u(this, p), this.i18n = this.#e.i18n, this.#t = new e(this), this.type = "button";
@@ -16,7 +16,7 @@ var i = class extends t {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-textarea",
19
- version: "2.22.4"
19
+ version: "2.23.0"
20
20
  };
21
21
  }
22
22
  };
@@ -1,20 +1,20 @@
1
1
  import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
2
  import { useStyles as t } from "../internal/styles/index.js";
3
3
  import n from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
4
- import { Control as r } from "../forms/control/control2.js";
5
- import { IconButton as i } from "../icon-button/icon-button2.js";
4
+ import { IconButton as r } from "../icon-button/icon-button2.js";
5
+ import { Control as i } from "../forms/control/control2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
7
7
  import o from "./time.js";
8
8
  import { html as s } from "lit";
9
9
  import { property as c } from "lit/decorators/property.js";
10
10
  // src/time/time.ts
11
- var l = { expand: "expand" }, u = class extends r {
11
+ var l = { expand: "expand" }, u = class extends i {
12
12
  get i18nDefaults() {
13
13
  return l;
14
14
  }
15
15
  static {
16
16
  this.styles = t([
17
- ...r.styles,
17
+ ...i.styles,
18
18
  a,
19
19
  o
20
20
  ]);
@@ -22,11 +22,11 @@ var l = { expand: "expand" }, u = class extends r {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-time",
25
- version: "2.22.4"
25
+ version: "2.23.0"
26
26
  };
27
27
  }
28
28
  static {
29
- this.elementDefinitions = { [i.metadata.tag]: i };
29
+ this.elementDefinitions = { [r.metadata.tag]: r };
30
30
  }
31
31
  get suffixContent() {
32
32
  return s`<nve-icon-button part="icon-button" .ariaLabel="${this.i18n.expand}" icon-name="clock" container="inline" @click="${this.showPicker}"></nve-icon-button>`;
@@ -29,7 +29,7 @@ var g = {
29
29
  static {
30
30
  this.metadata = {
31
31
  tag: "nve-toast",
32
- version: "2.22.4"
32
+ version: "2.23.0"
33
33
  };
34
34
  }
35
35
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"toast2.js","names":["styles","_decorate","__decorate","toast_default","i18nDefaults","Toast","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","useStyles","popoverStyles","IconButton","Icon","statusIcons","nothing","attachInternals","property","scopedRegistry","audit"],"sources":["../../src/toast/toast.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverPosition, PopoverType, SupportStatus } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n scopedRegistry,\n statusIcons,\n TypeNativePopoverController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Icon, type IconName } from '@nvidia-elements/core/icon';\nimport styles from './toast.css?inline';\n\nconst i18nDefaults = {\n close: 'close',\n danger: 'danger',\n information: 'information',\n success: 'success',\n warning: 'warning'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-toast\n * @description A contextual popup that displays a status. Toasts are [triggered](https://w3c.github.io/aria/#tooltip) by clicking, focusing, or tapping an element and cannot have interactive elements within them.\n * @documentation https://nvidia.github.io/elements/docs/elements/toast/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/toast\n * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)\n * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)\n * @event open - Dispatched when the toast opens.\n * @event close - Dispatched when the toast closes.\n * @slot - The message communicated by the toast.\n * @slot prefix - custom status icon slot\n * @cssprop --padding\n * @cssprop --justify-content\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --box-shadow\n * @cssprop --gap\n * @csspart prefix-icon - The prefix icon slot\n * @csspart icon-button - The close icon button element\n * @cssprop --animation-duration - Duration of toast open/close animations\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@scopedRegistry()\n@audit({ excessiveInstanceLimit })\nexport class Toast extends LitElement {\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-toast',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Icon.metadata.tag]: Icon\n };\n\n /**\n * (optional) By default the popover automatically anchors itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) position: PopoverPosition = 'top';\n\n /**\n * Sets the alignment of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) alignment: PopoverAlign;\n\n /**\n * Sets the visual prominence of the toast.\n */\n @property({ type: String, reflect: true }) prominence: 'muted';\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n /**\n * Determines if a close button should render within toast.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * A delayed `close` event occurs after the provided millisecond value elapses.\n */\n @property({ type: Number, attribute: 'close-timeout' }) closeTimeout = 0;\n\n /**\n * Visual treatment to represent a support status.\n */\n @property({ type: String, reflect: true }) status: SupportStatus;\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /**\n * Updates internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /** @private */\n readonly popoverType: PopoverType = 'manual';\n\n protected typeNativePopoverController = new TypeNativePopoverController<Toast>(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"prefix\"><nve-icon part=\"prefix-icon\" .name=${statusIcons[this.status] as IconName} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot>\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${this.hidePopover} icon-name=\"cancel\" container=\"flat\" .ariaLabel=${this.i18n.close}></nve-icon-button>` : nothing}\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'alert';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,IAAMI,IAAe;CACnB,OAAO;CACP,QAAQ;CACR,aAAa;CACb,SAAS;CACT,SAAS;AACX,GA+BaC,IAAN,cAAoBC,EAAW;;EAwEI,A,aA3C+B,KAAA,WAAA,OAqB/B,KAAA,WAAA,IAK+B,KAAA,eAAA,GAO/B,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAKhD,KAAA,OAAA,KAAKI,GAAgB,MAGpB,KAAA,cAAA,UAEI,KAAA,8BAAA,IAAIE,EAAmC,IAAI;;;EAvEnE,KAAA,SAAAC,EAAU,CAACC,GAAeZ,CAAM,CAAC;;;EAEtB,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA;IACzBa,EAAW,SAAS,MAAMA;IAC1BC,EAAK,SAAS,MAAMA;EACvB;;CAmDA;CAeA,SAAS;EACP,OAAO,CAAI,8EAEkDC,EAAY,KAAK,QAAoB,gBAAe,KAAK,KAAgC,KAAK,WAAW,KAAK,KAAK,YAAY,sBACtL,KAAK,WAAW,CAAI,mFAAkF,KAAK,YAAY,oDAAkD,KAAK,KAAK,MAAM,wBAAuBC,EAAQ;CAIhO;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxBC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF;AA3EGhB,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAOzBJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,WAAA,KAAA,CAAA,GAKzBJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,aAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,cAAA,KAAA,CAAA,GAMxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAAb,EAAA,WAAA,mBAAA,KAAA,CAAA,GAKxEJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAK1BJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAgB,CAAC,CAAA,GAAAb,EAAA,WAAA,gBAAA,KAAA,CAAA,GAKrDJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAOxCJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,QAAA,KAAA,CAAA,GArE3B,IAAAJ,EAAA,CAAAkB,EAAe,GACfC,EAAM,EAAE,wBAAA,GAAuB,CAAC,CAAA,GAAAf,CAAA"}
1
+ {"version":3,"file":"toast2.js","names":["styles","_decorate","__decorate","toast_default","i18nDefaults","Toast","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","useStyles","popoverStyles","IconButton","Icon","statusIcons","nothing","attachInternals","property","scopedRegistry","audit"],"sources":["../../src/toast/toast.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverPosition, PopoverType, SupportStatus } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n scopedRegistry,\n statusIcons,\n TypeNativePopoverController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './toast.css?inline';\n\nconst i18nDefaults = {\n close: 'close',\n danger: 'danger',\n information: 'information',\n success: 'success',\n warning: 'warning'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-toast\n * @description A contextual popup that displays a status. Toasts are [triggered](https://w3c.github.io/aria/#tooltip) by clicking, focusing, or tapping an element and cannot have interactive elements within them.\n * @documentation https://nvidia.github.io/elements/docs/elements/toast/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/toast\n * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)\n * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)\n * @event open - Dispatched when the toast opens.\n * @event close - Dispatched when the toast closes.\n * @slot - The message communicated by the toast.\n * @slot prefix - custom status icon slot\n * @cssprop --padding\n * @cssprop --justify-content\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --color\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --box-shadow\n * @cssprop --gap\n * @csspart prefix-icon - The prefix icon slot\n * @csspart icon-button - The close icon button element\n * @cssprop --animation-duration - Duration of toast open/close animations\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@scopedRegistry()\n@audit({ excessiveInstanceLimit })\nexport class Toast extends LitElement {\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-toast',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Icon.metadata.tag]: Icon\n };\n\n /**\n * (optional) By default the popover automatically anchors itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) position: PopoverPosition = 'top';\n\n /**\n * Sets the alignment of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) alignment: PopoverAlign;\n\n /**\n * Sets the visual prominence of the toast.\n */\n @property({ type: String, reflect: true }) prominence: 'muted';\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n /**\n * Determines if a close button should render within toast.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * A delayed `close` event occurs after the provided millisecond value elapses.\n */\n @property({ type: Number, attribute: 'close-timeout' }) closeTimeout = 0;\n\n /**\n * Visual treatment to represent a support status.\n */\n @property({ type: String, reflect: true }) status: SupportStatus;\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /**\n * Updates internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /** @private */\n readonly popoverType: PopoverType = 'manual';\n\n protected typeNativePopoverController = new TypeNativePopoverController<Toast>(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"prefix\"><nve-icon part=\"prefix-icon\" .name=${statusIcons[this.status]} .ariaLabel=${(this.i18n as Record<string, string>)[this.status] ?? this.i18n.information}></nve-icon></slot>\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${this.hidePopover} icon-name=\"cancel\" container=\"flat\" .ariaLabel=${this.i18n.close}></nve-icon-button>` : nothing}\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'alert';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,IAAMI,IAAe;CACnB,OAAO;CACP,QAAQ;CACR,aAAa;CACb,SAAS;CACT,SAAS;AACX,GA+BaC,IAAN,cAAoBC,EAAW;;EAwEI,A,aA3C+B,KAAA,WAAA,OAqB/B,KAAA,WAAA,IAK+B,KAAA,eAAA,GAO/B,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAKhD,KAAA,OAAA,KAAKI,GAAgB,MAGpB,KAAA,cAAA,UAEI,KAAA,8BAAA,IAAIE,EAAmC,IAAI;;;EAvEnE,KAAA,SAAAC,EAAU,CAACC,GAAeZ,CAAM,CAAC;;;EAEtB,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA;IACzBa,EAAW,SAAS,MAAMA;IAC1BC,EAAK,SAAS,MAAMA;EACvB;;CAmDA;CAeA,SAAS;EACP,OAAO,CAAI,8EAEkDC,EAAY,KAAK,QAAQ,gBAAe,KAAK,KAAgC,KAAK,WAAW,KAAK,KAAK,YAAY,sBAC1K,KAAK,WAAW,CAAI,mFAAkF,KAAK,YAAY,oDAAkD,KAAK,KAAK,MAAM,wBAAuBC,EAAQ;CAIhO;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxBC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF;AA3EGhB,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAOzBJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,WAAA,KAAA,CAAA,GAKzBJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,aAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,cAAA,KAAA,CAAA,GAMxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAAb,EAAA,WAAA,mBAAA,KAAA,CAAA,GAKxEJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAK1BJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAgB,CAAC,CAAA,GAAAb,EAAA,WAAA,gBAAA,KAAA,CAAA,GAKrDJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAOxCJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,QAAA,KAAA,CAAA,GArE3B,IAAAJ,EAAA,CAAAkB,EAAe,GACfC,EAAM,EAAE,wBAAA,GAAuB,CAAC,CAAA,GAAAf,CAAA"}
@@ -9,7 +9,7 @@ var i = class extends n {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-toggletip-footer",
12
- version: "2.22.4",
12
+ version: "2.23.0",
13
13
  parents: ["nve-toggletip"]
14
14
  };
15
15
  }
@@ -9,7 +9,7 @@ var i = class extends n {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-toggletip-header",
12
- version: "2.22.4",
12
+ version: "2.23.0",
13
13
  parents: ["nve-toggletip"]
14
14
  };
15
15
  }
@@ -24,7 +24,7 @@ var g = { close: "close" }, _ = class extends d {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-toggletip",
27
- version: "2.22.4"
27
+ version: "2.23.0"
28
28
  };
29
29
  }
30
30
  static {
@@ -21,7 +21,7 @@ var f = class extends c {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-toolbar",
24
- version: "2.22.4"
24
+ version: "2.23.0"
25
25
  };
26
26
  }
27
27
  static {
@@ -19,7 +19,7 @@ var d = class extends s {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-tooltip",
22
- version: "2.22.4"
22
+ version: "2.23.0"
23
23
  };
24
24
  }
25
25
  render() {
@@ -47,7 +47,7 @@ var O = { expand: "expand" }, k = class extends b {
47
47
  static {
48
48
  this.metadata = {
49
49
  tag: "nve-tree-node",
50
- version: "2.22.4",
50
+ version: "2.23.0",
51
51
  parents: ["nve-tree", "nve-tree-node"]
52
52
  };
53
53
  }
@@ -22,7 +22,7 @@ var m = class extends d {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-tree",
25
- version: "2.22.4",
25
+ version: "2.23.0",
26
26
  children: ["nve-tree-node"]
27
27
  };
28
28
  }
@@ -1,20 +1,20 @@
1
1
  import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
2
  import { useStyles as t } from "../internal/styles/index.js";
3
3
  import n from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
4
- import { Control as r } from "../forms/control/control2.js";
5
- import { IconButton as i } from "../icon-button/icon-button2.js";
4
+ import { IconButton as r } from "../icon-button/icon-button2.js";
5
+ import { Control as i } from "../forms/control/control2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
7
7
  import o from "./week.js";
8
8
  import { html as s } from "lit";
9
9
  import { property as c } from "lit/decorators/property.js";
10
10
  // src/week/week.ts
11
- var l = { expand: "expand" }, u = class extends r {
11
+ var l = { expand: "expand" }, u = class extends i {
12
12
  get i18nDefaults() {
13
13
  return l;
14
14
  }
15
15
  static {
16
16
  this.styles = t([
17
- ...r.styles,
17
+ ...i.styles,
18
18
  a,
19
19
  o
20
20
  ]);
@@ -22,11 +22,11 @@ var l = { expand: "expand" }, u = class extends r {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-week",
25
- version: "2.22.4"
25
+ version: "2.23.0"
26
26
  };
27
27
  }
28
28
  static {
29
- this.elementDefinitions = { [i.metadata.tag]: i };
29
+ this.elementDefinitions = { [r.metadata.tag]: r };
30
30
  }
31
31
  get suffixContent() {
32
32
  return s`<nve-icon-button exportparts="icon:icon-button-icon" part="icon-button" .ariaLabel="${this.i18n.expand}" icon-name="calendar" container="inline" @click="${this.showPicker}"></nve-icon-button>`;