@nvidia-elements/core 0.2.4 → 2.0.1

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 (110) hide show
  1. package/CHANGELOG.md +64 -1
  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/bundles/index.d.ts +1 -0
  10. package/dist/bundles/index.js +2 -2
  11. package/dist/button/button2.js +1 -1
  12. package/dist/button-group/button-group2.js +1 -1
  13. package/dist/card/card2.js +4 -4
  14. package/dist/chat-message/chat-message2.js +1 -1
  15. package/dist/checkbox/checkbox-group2.js +1 -1
  16. package/dist/checkbox/checkbox2.js +1 -1
  17. package/dist/color/color2.js +1 -1
  18. package/dist/combobox/combobox2.js +24 -24
  19. package/dist/combobox/combobox2.js.map +1 -1
  20. package/dist/copy-button/copy-button2.js +1 -1
  21. package/dist/data.snippets.json +27 -27
  22. package/dist/date/date2.js +1 -1
  23. package/dist/datetime/datetime2.js +1 -1
  24. package/dist/dialog/dialog-footer2.js +1 -1
  25. package/dist/dialog/dialog-header2.js +1 -1
  26. package/dist/dialog/dialog2.js +1 -1
  27. package/dist/divider/divider2.js +1 -1
  28. package/dist/dot/dot2.js +1 -1
  29. package/dist/drawer/drawer-content2.js +1 -1
  30. package/dist/drawer/drawer-footer2.js +1 -1
  31. package/dist/drawer/drawer-header2.js +1 -1
  32. package/dist/drawer/drawer2.js +1 -1
  33. package/dist/dropdown/dropdown-footer2.js +1 -1
  34. package/dist/dropdown/dropdown-header2.js +1 -1
  35. package/dist/dropdown/dropdown2.js +1 -1
  36. package/dist/dropdown-group/dropdown-group.js +1 -1
  37. package/dist/dropzone/dropzone2.js +1 -1
  38. package/dist/file/file2.js +1 -1
  39. package/dist/format-datetime/format-datetime2.js +1 -1
  40. package/dist/format-number/format-number2.js +1 -1
  41. package/dist/format-relative-time/format-relative-time2.js +1 -1
  42. package/dist/forms/control/control2.js +1 -1
  43. package/dist/forms/control-group/control-group2.js +1 -1
  44. package/dist/forms/control-message/control-message2.js +1 -1
  45. package/dist/grid/cell/cell2.js +1 -1
  46. package/dist/grid/column/column2.js +1 -1
  47. package/dist/grid/footer/footer2.js +1 -1
  48. package/dist/grid/grid2.js +1 -1
  49. package/dist/grid/header/header2.js +1 -1
  50. package/dist/grid/placeholder/placeholder2.js +1 -1
  51. package/dist/grid/row/row2.js +1 -1
  52. package/dist/icon/icon2.js +2 -2
  53. package/dist/icon-button/icon-button2.js +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/input/input-group2.js +1 -1
  56. package/dist/input/input2.js +1 -1
  57. package/dist/internal/services/global.service.js +1 -1
  58. package/dist/logo/logo2.js +1 -1
  59. package/dist/menu/menu-item2.js +1 -1
  60. package/dist/menu/menu2.js +1 -1
  61. package/dist/month/month2.js +1 -1
  62. package/dist/notification/notification-group2.js +1 -1
  63. package/dist/notification/notification2.js +1 -1
  64. package/dist/page/page-panel/page-panel-content2.js +1 -1
  65. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  66. package/dist/page/page-panel/page-panel-header2.js +1 -1
  67. package/dist/page/page-panel/page-panel2.js +1 -1
  68. package/dist/page/page2.js +1 -1
  69. package/dist/page-header/page-header2.js +1 -1
  70. package/dist/page-loader/page-loader2.js +1 -1
  71. package/dist/pagination/pagination2.js +1 -1
  72. package/dist/panel/panel2.js +4 -4
  73. package/dist/password/password2.js +1 -1
  74. package/dist/preferences-input/preferences-input2.js +1 -1
  75. package/dist/progress-bar/progress-bar2.js +1 -1
  76. package/dist/progress-ring/progress-ring2.js +1 -1
  77. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  78. package/dist/pulse/pulse2.js +1 -1
  79. package/dist/radio/radio-group2.js +1 -1
  80. package/dist/radio/radio2.js +1 -1
  81. package/dist/range/range2.js +1 -1
  82. package/dist/resize-handle/resize-handle2.js +1 -1
  83. package/dist/search/search2.js +1 -1
  84. package/dist/select/select.d.ts +1 -0
  85. package/dist/select/select.global.js +6 -0
  86. package/dist/select/select.global.js.map +1 -0
  87. package/dist/select/select2.js +36 -32
  88. package/dist/select/select2.js.map +1 -1
  89. package/dist/skeleton/skeleton2.js +1 -1
  90. package/dist/sort-button/sort-button2.js +1 -1
  91. package/dist/sparkline/sparkline2.js +1 -1
  92. package/dist/star-rating/star-rating2.js +1 -1
  93. package/dist/steps/steps2.js +2 -2
  94. package/dist/switch/switch-group2.js +1 -1
  95. package/dist/switch/switch2.js +1 -1
  96. package/dist/tabs/tabs-group2.js +1 -1
  97. package/dist/tabs/tabs2.js +2 -2
  98. package/dist/tag/tag2.js +1 -1
  99. package/dist/textarea/textarea2.js +1 -1
  100. package/dist/time/time2.js +1 -1
  101. package/dist/toast/toast2.js +1 -1
  102. package/dist/toggletip/toggletip-footer2.js +1 -1
  103. package/dist/toggletip/toggletip-header2.js +1 -1
  104. package/dist/toggletip/toggletip2.js +1 -1
  105. package/dist/toolbar/toolbar2.js +1 -1
  106. package/dist/tooltip/tooltip2.js +1 -1
  107. package/dist/tree/tree-node2.js +1 -1
  108. package/dist/tree/tree2.js +1 -1
  109. package/dist/week/week2.js +1 -1
  110. package/package.json +7 -7
@@ -1,41 +1,42 @@
1
1
  import { I18nController as e, i18n as t } from "../internal/controllers/i18n.controller.js";
2
2
  import { onChildListMutation as n } from "../internal/utils/events.js";
3
3
  import { focusElementTimeout as r, onListboxActivate as i } from "../internal/utils/focus.js";
4
- import { getElementUpdate as a } from "../internal/utils/dom.js";
5
- import { scopedRegistry as o } from "../internal/decorators/scoped-registry.js";
6
- import { useStyles as s } from "../internal/styles/index.js";
7
- import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
8
- import { Icon as l } from "../icon/icon2.js";
9
- import { Control as u } from "../forms/control/control2.js";
10
- import { Tag as d } from "../tag/tag2.js";
11
- import { Menu as f } from "../menu/menu2.js";
12
- import { MenuItem as p } from "../menu/menu-item2.js";
13
- import { Dropdown as m } from "../dropdown/dropdown2.js";
14
- import h from "./select.js";
15
- import { html as g, nothing as _ } from "lit";
16
- import { property as v } from "lit/decorators/property.js";
17
- import { ifDefined as y } from "lit/directives/if-defined.js";
4
+ import { appendRootNodeStyle as a, getElementUpdate as o } from "../internal/utils/dom.js";
5
+ import { scopedRegistry as s } from "../internal/decorators/scoped-registry.js";
6
+ import { useStyles as c } from "../internal/styles/index.js";
7
+ import { __decorate as l } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
8
+ import { Icon as u } from "../icon/icon2.js";
9
+ import { Control as d } from "../forms/control/control2.js";
10
+ import { Tag as f } from "../tag/tag2.js";
11
+ import { Menu as p } from "../menu/menu2.js";
12
+ import { MenuItem as m } from "../menu/menu-item2.js";
13
+ import { Dropdown as h } from "../dropdown/dropdown2.js";
14
+ import g from "./select.js";
15
+ import _ from "./select.global.js";
16
+ import { html as v, nothing as y } from "lit";
17
+ import { property as b } from "lit/decorators/property.js";
18
+ import { ifDefined as x } from "lit/directives/if-defined.js";
18
19
  //#region src/select/select.ts
19
- var b = class extends u {
20
+ var S = class extends d {
20
21
  constructor(...t) {
21
22
  super(...t), this.#e = new e(this), this.i18n = this.#e.i18n, this.#l = [], this.#p = /* @__PURE__ */ new Set();
22
23
  }
23
24
  static {
24
- this.styles = s([...u.styles, h]);
25
+ this.styles = c([...d.styles, g]);
25
26
  }
26
27
  static {
27
28
  this.metadata = {
28
29
  tag: "nve-select",
29
- version: "0.2.4"
30
+ version: "2.0.1"
30
31
  };
31
32
  }
32
33
  static {
33
34
  this.elementDefinitions = {
34
- [l.metadata.tag]: l,
35
- [m.metadata.tag]: m,
36
- [f.metadata.tag]: f,
35
+ [u.metadata.tag]: u,
36
+ [h.metadata.tag]: h,
37
37
  [p.metadata.tag]: p,
38
- [d.metadata.tag]: d
38
+ [m.metadata.tag]: m,
39
+ [f.metadata.tag]: f
39
40
  };
40
41
  }
41
42
  #e;
@@ -46,10 +47,10 @@ var b = class extends u {
46
47
  return Array.from(this.#t?.options ? this.#t.options : []);
47
48
  }
48
49
  get #r() {
49
- return this.shadowRoot.querySelector(m.metadata.tag);
50
+ return this.shadowRoot.querySelector(h.metadata.tag);
50
51
  }
51
52
  get #i() {
52
- return this.shadowRoot.querySelectorAll(p.metadata.tag);
53
+ return this.shadowRoot.querySelectorAll(m.metadata.tag);
53
54
  }
54
55
  get #a() {
55
56
  return this.shadowRoot.querySelector("[input]");
@@ -66,22 +67,22 @@ var b = class extends u {
66
67
  #l;
67
68
  get #u() {
68
69
  let e = this.#c, t = e ? e.innerText : `${this.#t.selectedOptions.length} ${this.i18n.selected}`;
69
- return g`<div class="tags-label ${e ? "placeholder" : ""}" aria-hidden="true">${t}</div>`;
70
+ return v`<div class="tags-label ${e ? "placeholder" : ""}" aria-hidden="true">${t}</div>`;
70
71
  }
71
72
  get prefixContent() {
72
- return this.#t?.multiple && this.#t?.size === 0 ? g`${this.#u}<div class="tags">${this.#n.filter((e) => e.selected && e !== this.#c).map((e) => g`<nve-tag part="tag" readonly="readonly" color="gray-slate" closable .value="${e.value}" @click="${() => this.#y(e, !1)}">${e.textContent}</nve-tag>`)}</div>` : _;
73
+ return this.#t?.multiple && this.#t?.size === 0 ? v`${this.#u}<div class="tags">${this.#n.filter((e) => e.selected && e !== this.#c).map((e) => v`<nve-tag part="tag" readonly="readonly" color="gray-slate" closable .value="${e.value}" @click="${() => this.#y(e, !1)}">${e.textContent}</nve-tag>`)}</div>` : y;
73
74
  }
74
75
  get #d() {
75
- return g`<nve-menu part="menu" role="listbox" style="--width:100%;--min-width:fit-content" aria-label="${y(this.i18n.select)}">${this.#n.filter((e) => e !== this.#c).map((e, t) => g`<nve-menu-item part="menu-item" role="option" @click="${() => this.#y(e, !e.selected)}" ?selected="${e.selected}" ?disabled="${e.disabled}" ?hidden="${!!e.hidden}" aria-selected="${e.selected}"><slot name="option-${t + 1}"><nve-icon part="icon" name="check" size="sm" aria-hidden="true"></nve-icon>${e.innerText}</slot></nve-menu-item>`)}</nve-menu>`;
76
+ return v`<nve-menu part="menu" role="listbox" style="--width:100%;--min-width:fit-content" aria-label="${x(this.i18n.select)}">${this.#n.filter((e) => e !== this.#c).map((e, t) => v`<nve-menu-item part="menu-item" role="option" @click="${() => this.#y(e, !e.selected)}" ?selected="${e.selected}" ?disabled="${e.disabled}" ?hidden="${!!e.hidden}" aria-selected="${e.selected}"><slot name="option-${t + 1}"><nve-icon part="icon" name="check" size="sm" aria-hidden="true"></nve-icon>${e.innerText}</slot></nve-menu-item>`)}</nve-menu>`;
76
77
  }
77
78
  get suffixContent() {
78
- return this.#t?.size === 0 ? g`<nve-icon name="caret" part="caret" direction="down" size="sm" aria-hidden="true"></nve-icon><nve-dropdown part="dropdown" @close="${this.#_}" @open="${this.#g}" hidden .anchor="${this.#a}" .trigger="${this.#a}" position="bottom">${this.#d}</nve-dropdown>` : this.#d;
79
+ return this.#t?.size === 0 ? v`<nve-icon name="caret" part="caret" direction="down" size="sm" aria-hidden="true"></nve-icon><nve-dropdown part="dropdown" @close="${this.#_}" @open="${this.#g}" hidden .anchor="${this.#a}" position="bottom">${this.#d}</nve-dropdown>` : this.#d;
79
80
  }
80
81
  async firstUpdated(e) {
81
82
  super.firstUpdated(e), await this.updateComplete, this.#h(), this.#v(), this.#f(), this.#m();
82
83
  }
83
84
  #f() {
84
- this.#l.push(a(this.#t, "value", () => this.requestUpdate()), n(this.#t, () => this.requestUpdate(), {
85
+ this.#l.push(o(this.#t, "value", () => this.requestUpdate()), n(this.#t, () => this.requestUpdate(), {
85
86
  attributes: !0,
86
87
  subtree: !0
87
88
  }), n(this.#t, () => this.#m(), { subtree: !0 }));
@@ -89,9 +90,12 @@ var b = class extends u {
89
90
  #p;
90
91
  #m() {
91
92
  this.#n.forEach((e) => {
92
- this.#p.has(e) || (this.#p.add(e), this.#l.push(a(e, "selected", () => this.requestUpdate())));
93
+ this.#p.has(e) || (this.#p.add(e), this.#l.push(o(e, "selected", () => this.requestUpdate())));
93
94
  });
94
95
  }
96
+ connectedCallback() {
97
+ super.connectedCallback(), a(this, _);
98
+ }
95
99
  disconnectedCallback() {
96
100
  super.disconnectedCallback(), this.#l.forEach((e) => e.disconnect());
97
101
  }
@@ -121,11 +125,11 @@ var b = class extends u {
121
125
  this.#t?.multiple && t && t.getBoundingClientRect().width > e - 48 ? this._internals.states.add("multiple-overflow") : this._internals.states.delete("multiple-overflow");
122
126
  }
123
127
  };
124
- c([v({
128
+ l([b({
125
129
  type: String,
126
130
  reflect: !0
127
- })], b.prototype, "container", void 0), c([v({ type: Object })], b.prototype, "i18n", void 0), b = c([t(), o()], b);
131
+ })], S.prototype, "container", void 0), l([b({ type: Object })], S.prototype, "i18n", void 0), S = l([t(), s()], S);
128
132
  //#endregion
129
- export { b as Select };
133
+ export { S as Select };
130
134
 
131
135
  //# sourceMappingURL=select2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select2.js","names":["#i18nController","#select","#options","#dropdown","#menuItems","#input","#tags","#caret","#placeholderOption","#multipleSelectLabel","#selectValue","#menu","#closeDropdown","#openDropdown","#setupCustomSelectUI","#setupOverflowListener","#syncSelectValueStates","#syncOptionSelectedStates","#observers","#trackedOptions","#updateMultipleOverflow"],"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 i18n,\n I18nController,\n onChildListMutation,\n getElementUpdate,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\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';\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 * @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);\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\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} .trigger=${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 this.#setupOverflowListener();\n this.#syncSelectValueStates();\n this.#syncOptionSelectedStates();\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 #trackedOptions = new Set();\n #syncOptionSelectedStates() {\n this.#options.forEach(o => {\n if (!this.#trackedOptions.has(o)) {\n this.#trackedOptions.add(o);\n this.#observers.push(getElementUpdate(o, 'selected', () => this.requestUpdate()));\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#observers.forEach(observer => observer.disconnect());\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 + 0.75}`);\n }\n\n if (this.#select?.multiple && this.#select?.size === 0) {\n this._internals.states.add('multiple');\n }\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 observer = new ResizeObserver(entries => this.#updateMultipleOverflow(entries[0]!.contentRect.width));\n this.#observers.push(observer);\n observer.observe(this.#input!);\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":["#i18nController","#select","#options","#dropdown","#menuItems","#input","#tags","#caret","#placeholderOption","#multipleSelectLabel","#selectValue","#menu","#closeDropdown","#openDropdown","#setupCustomSelectUI","#setupOverflowListener","#syncSelectValueStates","#syncOptionSelectedStates","#observers","#trackedOptions","#updateMultipleOverflow"],"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 i18n,\n I18nController,\n onChildListMutation,\n getElementUpdate,\n scopedRegistry,\n appendRootNodeStyle\n} from '@nvidia-elements/core/internal';\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\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 * @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);\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\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 this.#setupOverflowListener();\n this.#syncSelectValueStates();\n this.#syncOptionSelectedStates();\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 #trackedOptions = new Set();\n #syncOptionSelectedStates() {\n this.#options.forEach(o => {\n if (!this.#trackedOptions.has(o)) {\n this.#trackedOptions.add(o);\n this.#observers.push(getElementUpdate(o, 'selected', () => this.requestUpdate()));\n }\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#observers.forEach(observer => observer.disconnect());\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 + 0.75}`);\n }\n\n if (this.#select?.multiple && this.#select?.size === 0) {\n this._internals.states.add('multiple');\n }\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 observer = new ResizeObserver(entries => this.#updateMultipleOverflow(entries[0]!.contentRect.width));\n this.#observers.push(observer);\n observer.observe(this.#input!);\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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"}
@@ -15,7 +15,7 @@ var s = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-skeleton",
18
- version: "0.2.4"
18
+ version: "2.0.1"
19
19
  };
20
20
  }
21
21
  render() {
@@ -19,7 +19,7 @@ var u = {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-sort-button",
22
- version: "0.2.4"
22
+ version: "2.0.1"
23
23
  };
24
24
  }
25
25
  static {
@@ -21,7 +21,7 @@ var C = class extends _ {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-sparkline",
24
- version: "0.2.4"
24
+ version: "2.0.1"
25
25
  };
26
26
  }
27
27
  render() {
@@ -18,7 +18,7 @@ var l = class extends a {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-star-rating",
21
- version: "0.2.4"
21
+ version: "2.0.1"
22
22
  };
23
23
  }
24
24
  static {
@@ -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: "0.2.4",
26
+ version: "2.0.1",
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: "0.2.4",
72
+ version: "2.0.1",
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: "0.2.4",
14
+ version: "2.0.1",
15
15
  children: [
16
16
  "label",
17
17
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-switch",
18
- version: "0.2.4",
18
+ version: "2.0.1",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -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: "0.2.4",
36
+ version: "2.0.1",
37
37
  children: ["nve-tabs"]
38
38
  };
39
39
  }
@@ -20,7 +20,7 @@ var _ = class extends h(f) {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-tabs-item",
23
- version: "0.2.4",
23
+ version: "2.0.1",
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: "0.2.4",
56
+ version: "2.0.1",
57
57
  children: ["nve-tabs-item"]
58
58
  };
59
59
  }
package/dist/tag/tag2.js CHANGED
@@ -17,7 +17,7 @@ var p = class extends d(c) {
17
17
  static {
18
18
  this.metadata = {
19
19
  tag: "nve-tag",
20
- version: "0.2.4"
20
+ version: "2.0.1"
21
21
  };
22
22
  }
23
23
  static {
@@ -9,7 +9,7 @@ var r = class extends t {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-textarea",
12
- version: "0.2.4"
12
+ version: "2.0.1"
13
13
  };
14
14
  }
15
15
  };
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-time",
22
- version: "0.2.4"
22
+ version: "2.0.1"
23
23
  };
24
24
  }
25
25
  static {
@@ -23,7 +23,7 @@ var g = class extends f {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-toast",
26
- version: "0.2.4"
26
+ version: "2.0.1"
27
27
  };
28
28
  }
29
29
  static {
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-toggletip-footer",
14
- version: "0.2.4",
14
+ version: "2.0.1",
15
15
  parents: ["nve-toggletip"]
16
16
  };
17
17
  }
@@ -11,7 +11,7 @@ var o = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-toggletip-header",
14
- version: "0.2.4",
14
+ version: "2.0.1",
15
15
  parents: ["nve-toggletip"]
16
16
  };
17
17
  }
@@ -24,7 +24,7 @@ var g = class extends f {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-toggletip",
27
- version: "0.2.4"
27
+ version: "2.0.1"
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: "0.2.4"
24
+ version: "2.0.1"
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: "0.2.4"
22
+ version: "2.0.1"
23
23
  };
24
24
  }
25
25
  render() {
@@ -41,7 +41,7 @@ var E = class extends b {
41
41
  static {
42
42
  this.metadata = {
43
43
  tag: "nve-tree-node",
44
- version: "0.2.4",
44
+ version: "2.0.1",
45
45
  parents: ["nve-tree", "nve-tree-node"]
46
46
  };
47
47
  }
@@ -22,7 +22,7 @@ var m = class extends d {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-tree",
25
- version: "0.2.4",
25
+ version: "2.0.1",
26
26
  children: ["nve-tree-node"]
27
27
  };
28
28
  }
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-week",
22
- version: "0.2.4"
22
+ version: "2.0.1"
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": "0.2.4",
3
+ "version": "2.0.1",
4
4
  "release": {
5
5
  "extends": "../../release.config.js"
6
6
  },
@@ -921,10 +921,10 @@
921
921
  "dependencies": {
922
922
  "lit": "^3.3.3",
923
923
  "lit-html": "^3.3.3",
924
- "@nvidia-elements/forms": "^0.1.0"
924
+ "@nvidia-elements/forms": "^2.0.0"
925
925
  },
926
926
  "peerDependencies": {
927
- "@nvidia-elements/themes": ">=0.0.0 <1.0.0"
927
+ "@nvidia-elements/themes": "^2.0.0"
928
928
  },
929
929
  "optionalDependencies": {
930
930
  "@lit-labs/scoped-registry-mixin": "^1.0.4",
@@ -952,11 +952,11 @@
952
952
  "typescript": "6.0.3",
953
953
  "vite": "8.0.14",
954
954
  "vitest": "4.1.7",
955
- "@internals/vite": "0.0.0",
956
- "@internals/testing": "0.0.0",
957
- "@nvidia-elements/lint": "0.3.1",
958
955
  "@internals/eslint": "0.0.0",
959
- "@nvidia-elements/styles": "^0.0.10"
956
+ "@internals/testing": "0.0.0",
957
+ "@internals/vite": "0.0.0",
958
+ "@nvidia-elements/lint": "2.0.0",
959
+ "@nvidia-elements/styles": "^2.0.0"
960
960
  },
961
961
  "wireit": {
962
962
  "ci": {