@nvidia-elements/core 2.23.4 → 2.23.5
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.
- package/CHANGELOG.md +10 -0
- package/dist/accordion/accordion2.js +49 -49
- package/dist/accordion/accordion2.js.map +1 -1
- package/dist/alert/alert-group2.js +22 -21
- package/dist/alert/alert-group2.js.map +1 -1
- package/dist/alert/alert2.js +29 -28
- package/dist/alert/alert2.js.map +1 -1
- package/dist/avatar/avatar-group2.js +9 -9
- package/dist/avatar/avatar-group2.js.map +1 -1
- package/dist/avatar/avatar2.js +12 -11
- package/dist/avatar/avatar2.js.map +1 -1
- package/dist/badge/badge2.js +27 -26
- package/dist/badge/badge2.js.map +1 -1
- package/dist/breadcrumb/breadcrumb2.js +17 -17
- package/dist/breadcrumb/breadcrumb2.js.map +1 -1
- package/dist/bundles/index.js +6 -6
- package/dist/button/button2.js +12 -12
- package/dist/button/button2.js.map +1 -1
- package/dist/button-group/button-group2.js +18 -18
- package/dist/button-group/button-group2.js.map +1 -1
- package/dist/card/card2.js +28 -28
- package/dist/card/card2.js.map +1 -1
- package/dist/chat-message/chat-message2.js +15 -14
- package/dist/chat-message/chat-message2.js.map +1 -1
- package/dist/checkbox/checkbox-group2.js +8 -8
- package/dist/checkbox/checkbox-group2.js.map +1 -1
- package/dist/checkbox/checkbox2.js +8 -8
- package/dist/checkbox/checkbox2.js.map +1 -1
- package/dist/color/color2.js +21 -21
- package/dist/color/color2.js.map +1 -1
- package/dist/combobox/combobox2.js +37 -37
- package/dist/combobox/combobox2.js.map +1 -1
- package/dist/copy-button/copy-button.d.ts +1 -1
- package/dist/copy-button/copy-button2.js +21 -21
- package/dist/copy-button/copy-button2.js.map +1 -1
- package/dist/custom-elements.json +0 -76
- package/dist/date/date2.js +19 -19
- package/dist/date/date2.js.map +1 -1
- package/dist/datetime/datetime2.js +19 -19
- package/dist/datetime/datetime2.js.map +1 -1
- package/dist/dialog/dialog-footer2.js +7 -7
- package/dist/dialog/dialog-footer2.js.map +1 -1
- package/dist/dialog/dialog-header2.js +7 -7
- package/dist/dialog/dialog-header2.js.map +1 -1
- package/dist/dialog/dialog2.js +25 -25
- package/dist/dialog/dialog2.js.map +1 -1
- package/dist/divider/divider2.js +12 -12
- package/dist/divider/divider2.js.map +1 -1
- package/dist/dot/dot2.js +17 -16
- package/dist/dot/dot2.js.map +1 -1
- package/dist/drag-handle/drag-handle2.js +12 -12
- package/dist/drag-handle/drag-handle2.js.map +1 -1
- package/dist/drawer/drawer-content2.js +7 -7
- package/dist/drawer/drawer-content2.js.map +1 -1
- package/dist/drawer/drawer-footer2.js +7 -7
- package/dist/drawer/drawer-footer2.js.map +1 -1
- package/dist/drawer/drawer-header2.js +7 -7
- package/dist/drawer/drawer-header2.js.map +1 -1
- package/dist/drawer/drawer2.js +21 -21
- package/dist/drawer/drawer2.js.map +1 -1
- package/dist/dropdown/dropdown-footer2.js +7 -7
- package/dist/dropdown/dropdown-footer2.js.map +1 -1
- package/dist/dropdown/dropdown-header2.js +7 -7
- package/dist/dropdown/dropdown-header2.js.map +1 -1
- package/dist/dropdown/dropdown2.js +21 -21
- package/dist/dropdown/dropdown2.js.map +1 -1
- package/dist/dropdown-group/dropdown-group.js +10 -10
- package/dist/dropdown-group/dropdown-group.js.map +1 -1
- package/dist/dropzone/dropzone2.js +19 -19
- package/dist/dropzone/dropzone2.js.map +1 -1
- package/dist/file/file2.js +8 -8
- package/dist/file/file2.js.map +1 -1
- package/dist/format-bytes/format-bytes2.js +13 -13
- package/dist/format-bytes/format-bytes2.js.map +1 -1
- package/dist/format-datetime/format-datetime2.js +14 -14
- package/dist/format-datetime/format-datetime2.js.map +1 -1
- package/dist/format-number/format-number2.js +20 -20
- package/dist/format-number/format-number2.js.map +1 -1
- package/dist/format-relative-time/format-relative-time2.js +11 -11
- package/dist/format-relative-time/format-relative-time2.js.map +1 -1
- package/dist/format-truncate/format-truncate2.js +21 -21
- package/dist/format-truncate/format-truncate2.js.map +1 -1
- package/dist/forms/control/control2.js +30 -29
- package/dist/forms/control/control2.js.map +1 -1
- package/dist/forms/control-group/control-group2.js +19 -18
- package/dist/forms/control-group/control-group2.js.map +1 -1
- package/dist/forms/control-message/control-message2.js +15 -15
- package/dist/forms/control-message/control-message2.js.map +1 -1
- package/dist/gauge/gauge2.js +20 -20
- package/dist/gauge/gauge2.js.map +1 -1
- package/dist/ghost/ghost2.js +10 -10
- package/dist/ghost/ghost2.js.map +1 -1
- package/dist/grid/cell/cell2.js +9 -9
- package/dist/grid/cell/cell2.js.map +1 -1
- package/dist/grid/column/column2.js +16 -16
- package/dist/grid/column/column2.js.map +1 -1
- package/dist/grid/footer/footer2.js +12 -12
- package/dist/grid/footer/footer2.js.map +1 -1
- package/dist/grid/grid2.js +30 -30
- package/dist/grid/grid2.js.map +1 -1
- package/dist/grid/header/header2.js +20 -20
- package/dist/grid/header/header2.js.map +1 -1
- package/dist/grid/placeholder/placeholder2.js +9 -9
- package/dist/grid/placeholder/placeholder2.js.map +1 -1
- package/dist/grid/row/row2.js +15 -15
- package/dist/grid/row/row2.js.map +1 -1
- package/dist/icon/icon2.js +40 -40
- package/dist/icon/icon2.js.map +1 -1
- package/dist/icon-button/icon-button2.js +17 -17
- package/dist/icon-button/icon-button2.js.map +1 -1
- package/dist/iframe/iframe2.js +7 -7
- package/dist/iframe/iframe2.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/input/input-group2.js +8 -8
- package/dist/input/input-group2.js.map +1 -1
- package/dist/input/input2.js +10 -10
- package/dist/input/input2.js.map +1 -1
- package/dist/internal/controllers/state-expanded.controller.js +1 -1
- package/dist/internal/controllers/state-expanded.controller.js.map +1 -1
- package/dist/internal/controllers/state-highlighted.controller.js +1 -1
- package/dist/internal/controllers/state-highlighted.controller.js.map +1 -1
- package/dist/internal/controllers/state-scroll.controller.js +1 -1
- package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
- package/dist/internal/controllers/state-selected.controller.js +1 -1
- package/dist/internal/controllers/state-selected.controller.js.map +1 -1
- package/dist/internal/controllers/type-anchor.controller.js +1 -1
- package/dist/internal/controllers/type-anchor.controller.js.map +1 -1
- package/dist/internal/controllers/type-closable.controller.js +1 -1
- package/dist/internal/controllers/type-closable.controller.js.map +1 -1
- package/dist/internal/controllers/type-expandable.controller.js +1 -1
- package/dist/internal/controllers/type-expandable.controller.js.map +1 -1
- package/dist/internal/controllers/type-native-popover.controller.js +6 -6
- package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
- package/dist/internal/controllers/type-popover.controller.examples.js.map +1 -1
- package/dist/internal/controllers/type-selectable.controller.js +1 -1
- package/dist/internal/controllers/type-selectable.controller.js.map +1 -1
- package/dist/internal/index.d.ts +0 -1
- package/dist/internal/index.js +57 -61
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/styles/index.d.ts +0 -1
- package/dist/internal/styles/index.js +5 -15
- package/dist/internal/styles/index.js.map +1 -1
- package/dist/internal/utils/a11y.d.ts +0 -3
- package/dist/internal/utils/a11y.js +6 -9
- package/dist/internal/utils/a11y.js.map +1 -1
- package/dist/joystick/joystick2.js +19 -19
- package/dist/joystick/joystick2.js.map +1 -1
- package/dist/logo/logo2.js +14 -13
- package/dist/logo/logo2.js.map +1 -1
- package/dist/menu/menu-group2.js +20 -20
- package/dist/menu/menu-group2.js.map +1 -1
- package/dist/menu/menu-item2.js +11 -11
- package/dist/menu/menu-item2.js.map +1 -1
- package/dist/menu/menu2.js +14 -14
- package/dist/menu/menu2.js.map +1 -1
- package/dist/month/month2.js +19 -19
- package/dist/month/month2.js.map +1 -1
- package/dist/notification/notification-group2.js +13 -13
- package/dist/notification/notification-group2.js.map +1 -1
- package/dist/notification/notification2.js +31 -31
- package/dist/notification/notification2.js.map +1 -1
- package/dist/page/page-panel/page-panel-content2.js +7 -7
- package/dist/page/page-panel/page-panel-content2.js.map +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +9 -9
- package/dist/page/page-panel/page-panel-footer2.js.map +1 -1
- package/dist/page/page-panel/page-panel-header2.js +9 -9
- package/dist/page/page-panel/page-panel-header2.js.map +1 -1
- package/dist/page/page-panel/page-panel2.js +15 -15
- package/dist/page/page-panel/page-panel2.js.map +1 -1
- package/dist/page/page2.js +13 -13
- package/dist/page/page2.js.map +1 -1
- package/dist/page-header/page-header2.js +10 -10
- package/dist/page-header/page-header2.js.map +1 -1
- package/dist/page-loader/page-loader2.js +13 -13
- package/dist/page-loader/page-loader2.js.map +1 -1
- package/dist/pagination/pagination2.js +34 -34
- package/dist/pagination/pagination2.js.map +1 -1
- package/dist/panel/panel2.js +36 -36
- package/dist/panel/panel2.js.map +1 -1
- package/dist/password/password2.js +19 -19
- package/dist/password/password2.js.map +1 -1
- package/dist/preferences-input/preferences-input.d.ts +1 -1
- package/dist/preferences-input/preferences-input2.js +25 -25
- package/dist/preferences-input/preferences-input2.js.map +1 -1
- package/dist/progress-bar/progress-bar2.js +13 -13
- package/dist/progress-bar/progress-bar2.js.map +1 -1
- package/dist/progress-dot/progress-dot2.js +15 -15
- package/dist/progress-dot/progress-dot2.js.map +1 -1
- package/dist/progress-ring/progress-ring2.js +20 -20
- package/dist/progress-ring/progress-ring2.js.map +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +28 -28
- package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
- package/dist/pulse/pulse2.js +15 -15
- package/dist/pulse/pulse2.js.map +1 -1
- package/dist/radio/radio-group2.js +8 -8
- package/dist/radio/radio-group2.js.map +1 -1
- package/dist/radio/radio2.js +8 -8
- package/dist/radio/radio2.js.map +1 -1
- package/dist/range/range2.js +16 -16
- package/dist/range/range2.js.map +1 -1
- package/dist/resize-handle/resize-handle2.js +17 -17
- package/dist/resize-handle/resize-handle2.js.map +1 -1
- package/dist/search/search2.js +20 -20
- package/dist/search/search2.js.map +1 -1
- package/dist/select/select2.js +32 -32
- package/dist/select/select2.js.map +1 -1
- package/dist/skeleton/skeleton2.js +14 -14
- package/dist/skeleton/skeleton2.js.map +1 -1
- package/dist/sort-button/sort-button.d.ts +1 -1
- package/dist/sort-button/sort-button2.js +16 -16
- package/dist/sort-button/sort-button2.js.map +1 -1
- package/dist/sparkline/sparkline2.js +45 -44
- package/dist/sparkline/sparkline2.js.map +1 -1
- package/dist/star-rating/star-rating2.js +14 -14
- package/dist/star-rating/star-rating2.js.map +1 -1
- package/dist/steps/steps2.js +32 -32
- package/dist/steps/steps2.js.map +1 -1
- package/dist/switch/switch-group2.js +8 -8
- package/dist/switch/switch-group2.js.map +1 -1
- package/dist/switch/switch2.js +8 -8
- package/dist/switch/switch2.js.map +1 -1
- package/dist/tabs/tabs-group2.js +18 -18
- package/dist/tabs/tabs-group2.js.map +1 -1
- package/dist/tabs/tabs-item-group2.js +9 -9
- package/dist/tabs/tabs-item-group2.js.map +1 -1
- package/dist/tabs/tabs2.js +28 -28
- package/dist/tabs/tabs2.js.map +1 -1
- package/dist/tag/tag2.js +19 -18
- package/dist/tag/tag2.js.map +1 -1
- package/dist/textarea/textarea2.js +9 -9
- package/dist/textarea/textarea2.js.map +1 -1
- package/dist/time/time2.js +19 -19
- package/dist/time/time2.js.map +1 -1
- package/dist/toast/toast2.js +28 -28
- package/dist/toast/toast2.js.map +1 -1
- package/dist/toggletip/toggletip-footer2.js +7 -7
- package/dist/toggletip/toggletip-footer2.js.map +1 -1
- package/dist/toggletip/toggletip-header2.js +7 -7
- package/dist/toggletip/toggletip-header2.js.map +1 -1
- package/dist/toggletip/toggletip2.js +23 -23
- package/dist/toggletip/toggletip2.js.map +1 -1
- package/dist/toolbar/toolbar2.js +20 -19
- package/dist/toolbar/toolbar2.js.map +1 -1
- package/dist/tooltip/tooltip2.js +20 -20
- package/dist/tooltip/tooltip2.js.map +1 -1
- package/dist/tree/tree-node2.js +39 -39
- package/dist/tree/tree-node2.js.map +1 -1
- package/dist/tree/tree2.js +20 -20
- package/dist/tree/tree2.js.map +1 -1
- package/dist/week/week2.js +19 -19
- package/dist/week/week2.js.map +1 -1
- package/dist/workspace/panel/panel2.js +14 -14
- package/dist/workspace/panel/panel2.js.map +1 -1
- package/dist/workspace/panel-content/panel-content2.js +7 -7
- package/dist/workspace/panel-content/panel-content2.js.map +1 -1
- package/dist/workspace/panel-footer/panel-footer2.js +9 -9
- package/dist/workspace/panel-footer/panel-footer2.js.map +1 -1
- package/dist/workspace/panel-header/panel-header2.js +16 -16
- package/dist/workspace/panel-header/panel-header2.js.map +1 -1
- package/dist/workspace/workspace2.js +97 -97
- package/dist/workspace/workspace2.js.map +1 -1
- package/package.json +2 -2
- package/dist/internal/decorators/scoped-registry.d.ts +0 -2
- package/dist/internal/decorators/scoped-registry.js +0 -36
- package/dist/internal/decorators/scoped-registry.js.map +0 -1
- package/dist/internal/styles/base.js +0 -5
- package/dist/internal/styles/base.js.map +0 -1
- package/dist/internal/styles/interaction-state.js +0 -5
- package/dist/internal/styles/interaction-state.js.map +0 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import n from "../
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
2
|
+
import { Icon as t } from "../icon/icon2.js";
|
|
3
|
+
import { Control as n } from "../forms/control/control2.js";
|
|
4
|
+
import { Switch as r } from "../switch/switch2.js";
|
|
5
|
+
import { Menu as i } from "../menu/menu2.js";
|
|
6
|
+
import { MenuItem as a } from "../menu/menu-item2.js";
|
|
7
|
+
import { Divider as o } from "../divider/divider2.js";
|
|
8
|
+
import s from "./preferences-input.js";
|
|
9
|
+
import { LitElement as c, html as l, isServer as u } from "lit";
|
|
10
|
+
import { property as d } from "lit/decorators/property.js";
|
|
11
|
+
import { I18nController as f } from "@nvidia-elements/foundations/internal/i18n";
|
|
12
|
+
import { scopedRegistry as p } from "@nvidia-elements/foundations/internal/decorators";
|
|
13
|
+
import { useStyles as m } from "@nvidia-elements/foundations/internal/styles";
|
|
14
14
|
import { FormControlMixin as h } from "@nvidia-elements/forms/mixins";
|
|
15
15
|
import { state as g } from "lit/decorators/state.js";
|
|
16
16
|
// src/preferences-input/preferences-input.ts
|
|
@@ -40,15 +40,15 @@ function x(e = globalThis.document.documentElement) {
|
|
|
40
40
|
"reduced-motion": t.getPropertyValue("--nve-config-reduced-motion") === "true"
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
var S = class extends h(
|
|
43
|
+
var S = class extends h(c) {
|
|
44
44
|
#e;
|
|
45
45
|
static {
|
|
46
|
-
this.styles =
|
|
46
|
+
this.styles = m([s]);
|
|
47
47
|
}
|
|
48
48
|
static {
|
|
49
49
|
this.metadata = {
|
|
50
50
|
tag: "nve-preferences-input",
|
|
51
|
-
version: "2.23.
|
|
51
|
+
version: "2.23.5",
|
|
52
52
|
valueSchema: {
|
|
53
53
|
type: "object",
|
|
54
54
|
properties: {
|
|
@@ -61,19 +61,19 @@ var S = class extends h(u) {
|
|
|
61
61
|
}
|
|
62
62
|
static {
|
|
63
63
|
this.elementDefinitions = {
|
|
64
|
-
[
|
|
65
|
-
[c.metadata.tag]: c,
|
|
66
|
-
[r.metadata.tag]: r,
|
|
64
|
+
[n.metadata.tag]: n,
|
|
67
65
|
[o.metadata.tag]: o,
|
|
68
|
-
[
|
|
69
|
-
[
|
|
66
|
+
[t.metadata.tag]: t,
|
|
67
|
+
[i.metadata.tag]: i,
|
|
68
|
+
[a.metadata.tag]: a,
|
|
69
|
+
[r.metadata.tag]: r
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
render() {
|
|
73
|
-
return
|
|
73
|
+
return l`<div internal-host><nve-control part="control"><label>${this.i18n.colorScheme}</label><nve-menu part="menu" nve-control>${_.map((e) => l`<nve-menu-item part="menu-item" .selected="${this.value?.["color-scheme"] === e}" .value="${e}" @click="${() => this.#n(e)}"><nve-icon part="icon" name="${b[e]}"></nve-icon>${e}</nve-menu-item>`)}</nve-menu></nve-control>${this.activePreferences.compact ? l`<nve-divider part="divider"></nve-divider><nve-control part="control"><label>${this.i18n.scale}</label><nve-menu part="menu" nve-control>${v.map((e) => l`<nve-menu-item part="menu-item" .selected="${this.value?.scale === e}" .value="${e}" @click="${() => this.#r(e)}">${e}</nve-menu-item>`)}</nve-menu></nve-control>` : ""} ${this.activePreferences["reduced-motion"] ? l`<nve-divider part="divider"></nve-divider><nve-switch part="switch"><label>${this.i18n.reducedMotion}</label> <input type="checkbox" value="reduced-motion" .checked="${this.value?.["reduced-motion"]}" @change="${(e) => this.#i(e.target.checked)}"></nve-switch>` : ""}</div>`;
|
|
74
74
|
}
|
|
75
75
|
constructor() {
|
|
76
|
-
super(), this.#e = new
|
|
76
|
+
super(), this.#e = new f(this, y), this.i18n = this.#e.i18n, this.activePreferences = {
|
|
77
77
|
light: !1,
|
|
78
78
|
dark: !1,
|
|
79
79
|
"high-contrast": !1,
|
|
@@ -96,7 +96,7 @@ var S = class extends h(u) {
|
|
|
96
96
|
}
|
|
97
97
|
#t() {
|
|
98
98
|
/* istanbul ignore else -- Lit SSR mode is not reachable in browser unit tests. */
|
|
99
|
-
if (!
|
|
99
|
+
if (!u) {
|
|
100
100
|
let e = x();
|
|
101
101
|
JSON.stringify(this.activePreferences) !== JSON.stringify(e) && (this.activePreferences = e);
|
|
102
102
|
}
|
|
@@ -123,7 +123,7 @@ var S = class extends h(u) {
|
|
|
123
123
|
this.dispatchInputEvent(), this.dispatchChangeEvent();
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
|
-
|
|
126
|
+
e([d({ type: Object })], S.prototype, "i18n", void 0), e([g()], S.prototype, "activePreferences", void 0), S = e([p()], S);
|
|
127
127
|
export { S as PreferencesInput };
|
|
128
128
|
|
|
129
129
|
//# sourceMappingURL=preferences-input2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preferences-input2.js","names":["styles","_decorate","__decorate","preferences_input_default","colorSchemes","scales","i18nDefaults","colorSchemesIcons","getActivePreferences","computedStyle","element","PreferencesInput","FormControlMixin","LitElement","useStyles","Control","Divider","Icon","Menu","MenuItem","Switch","value","#setColorScheme","\"compact\"","\"scale\"","#setScale","#setReducedMotion","#i18nController","I18nController","#updatePreferences","isServer","preferences","#update","property","state","scopedRegistry"],"sources":["../../src/preferences-input/preferences-input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { scopedRegistry, useStyles } from '@nvidia-elements/core/internal';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { state } from 'lit/decorators/state.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport { type IconName, Icon } from '@nvidia-elements/core/icon';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Divider } from '@nvidia-elements/core/divider';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Switch } from '@nvidia-elements/core/switch';\nimport styles from './preferences-input.css?inline';\n\n/* eslint-disable jsdoc/no-types */\n// Explicit JSDoc types because the CEM analyzer loses the inherited generic specialization.\n\nexport type ColorScheme = 'auto' | 'light' | 'dark' | 'high-contrast';\nexport type Scale = 'default' | 'compact' | 'relaxed';\nexport type Variant = 'reduced-motion';\n\nconst colorSchemes: ColorScheme[] = ['auto', 'light', 'dark', 'high-contrast'];\nconst scales: Scale[] = ['default', 'compact'];\nconst i18nDefaults = {\n theme: 'theme',\n scale: 'scale',\n reducedMotion: 'reduced motion',\n colorScheme: 'color scheme'\n} satisfies I18nDefaults;\nconst colorSchemesIcons = {\n auto: 'computer',\n light: 'sun',\n dark: 'moon',\n 'high-contrast': 'circle-half'\n} satisfies Record<ColorScheme, IconName>;\n\nfunction getActivePreferences(element = globalThis.document.documentElement) {\n const computedStyle = getComputedStyle(element);\n\n return {\n light: computedStyle.getPropertyValue('--nve-config-color-scheme-light') === 'true',\n dark: computedStyle.getPropertyValue('--nve-config-color-scheme-dark') === 'true',\n 'high-contrast': computedStyle.getPropertyValue('--nve-config-color-scheme-high-contrast') === 'true',\n compact: computedStyle.getPropertyValue('--nve-config-scale-compact') === 'true',\n 'reduced-motion': computedStyle.getPropertyValue('--nve-config-reduced-motion') === 'true'\n } satisfies Partial<Record<ColorScheme | Scale | Variant, boolean>>;\n}\n\nexport interface PreferencesInputValue {\n 'color-scheme'?: ColorScheme | string;\n scale?: Scale | string;\n 'reduced-motion'?: boolean;\n}\n\n/**\n * @element nve-preferences-input\n * @description A preferences input is a widget for controlling apperance. Stylesheets register to the preferences input by including a css-property, see Standard for an example.\n * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/\n * @since 1.23.7\n * @entrypoint \\@nvidia-elements/core/preferences-input\n * @property {PreferencesInputValue} value - Contains the current color scheme, scale, and reduced motion preferences. Assign an object through JavaScript or provide its JSON serialization in the HTML `value` attribute.\n * @attribute {string} value - JSON object parsed as `PreferencesInputValue`.\n * @event input - Dispatched when the value has changed\n * @event change - Dispatched when the value has changed\n * @cssprop --color\n * @cssprop --width\n * @csspart control - The control wrapper elements that contain the labels and menus\n * @csspart menu - The menu elements that display color scheme and scale options\n * @csspart menu-item - The individual menu item elements for each selectable option\n * @csspart icon - The icon element displayed next to color scheme options\n * @csspart divider - The divider elements that separate preference sections\n * @csspart switch - The switch element for the reduced motion toggle\n *\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/listbox/\n *\n */\n@scopedRegistry()\nexport class PreferencesInput extends FormControlMixin<typeof LitElement, PreferencesInputValue>(LitElement) {\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-preferences-input',\n version: '0.0.0',\n valueSchema: {\n type: 'object' as const,\n properties: {\n 'color-scheme': { type: 'string' as const },\n scale: { type: 'string' as const },\n 'reduced-motion': { type: 'boolean' as const }\n }\n }\n };\n\n static elementDefinitions = {\n [Control.metadata.tag]: Control,\n [Divider.metadata.tag]: Divider,\n [Icon.metadata.tag]: Icon,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Switch.metadata.tag]: Switch\n };\n\n @state() private activePreferences: ReturnType<typeof getActivePreferences> = {\n light: false,\n dark: false,\n 'high-contrast': false,\n compact: false,\n 'reduced-motion': false\n };\n\n // eslint-disable-next-line max-lines-per-function\n render() {\n return html`\n <div internal-host>\n <nve-control part=\"control\">\n <label>${this.i18n.colorScheme}</label>\n <nve-menu part=\"menu\" nve-control>\n ${colorSchemes.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['color-scheme'] === value}\n .value=${value}\n @click=${() => this.#setColorScheme(value)}\n >\n <nve-icon part=\"icon\" name=${colorSchemesIcons[value]}></nve-icon> ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n ${\n this.activePreferences['compact']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-control part=\"control\">\n <label>${this.i18n.scale}</label>\n <nve-menu part=\"menu\" nve-control>\n ${scales.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['scale'] === value}\n .value=${value}\n @click=${() => this.#setScale(value)}\n >\n ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n `\n : ''\n }\n ${\n this.activePreferences['reduced-motion']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-switch part=\"switch\">\n <label>${this.i18n.reducedMotion}</label>\n <input\n type=\"checkbox\"\n value=\"reduced-motion\"\n .checked=${this.value?.['reduced-motion']}\n @change=${(e: { target: HTMLInputElement }) => this.#setReducedMotion(e.target.checked)}\n />\n </nve-switch>`\n : ''\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = {\n 'color-scheme': 'auto',\n 'reduced-motion': false,\n scale: 'default'\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('nve-control', '');\n this.#updatePreferences();\n }\n\n /** @private */\n updateValue(value: PreferencesInputValue) {\n super.updateValue({ ...this.value, ...value });\n this.#updatePreferences();\n }\n\n #updatePreferences() {\n /* istanbul ignore else -- Lit SSR mode is not reachable in browser unit tests. */\n if (!isServer) {\n const preferences = getActivePreferences();\n if (JSON.stringify(this.activePreferences) !== JSON.stringify(preferences)) {\n this.activePreferences = preferences;\n }\n }\n }\n\n #setColorScheme(value: ColorScheme) {\n this.value = { ...this.value, 'color-scheme': value };\n this.#update();\n }\n\n #setScale(value: Scale) {\n this.value = { ...this.value, scale: value };\n this.#update();\n }\n\n #setReducedMotion(value: boolean) {\n this.value = { ...this.value, 'reduced-motion': value };\n this.#update();\n }\n\n #update() {\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preferences-input2.js","names":["styles","_decorate","__decorate","preferences_input_default","colorSchemes","scales","i18nDefaults","colorSchemesIcons","getActivePreferences","computedStyle","element","PreferencesInput","FormControlMixin","LitElement","useStyles","Control","Divider","Icon","Menu","MenuItem","Switch","value","#setColorScheme","\"compact\"","\"scale\"","#setScale","#setReducedMotion","#i18nController","I18nController","#updatePreferences","isServer","preferences","#update","property","state","scopedRegistry"],"sources":["../../src/preferences-input/preferences-input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { scopedRegistry } from '@nvidia-elements/foundations/internal/decorators';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { state } from 'lit/decorators/state.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport { type IconName, Icon } from '@nvidia-elements/core/icon';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Divider } from '@nvidia-elements/core/divider';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Switch } from '@nvidia-elements/core/switch';\nimport styles from './preferences-input.css?inline';\n\n/* eslint-disable jsdoc/no-types */\n// Explicit JSDoc types because the CEM analyzer loses the inherited generic specialization.\n\nexport type ColorScheme = 'auto' | 'light' | 'dark' | 'high-contrast';\nexport type Scale = 'default' | 'compact' | 'relaxed';\nexport type Variant = 'reduced-motion';\n\nconst colorSchemes: ColorScheme[] = ['auto', 'light', 'dark', 'high-contrast'];\nconst scales: Scale[] = ['default', 'compact'];\nconst i18nDefaults = {\n theme: 'theme',\n scale: 'scale',\n reducedMotion: 'reduced motion',\n colorScheme: 'color scheme'\n} satisfies I18nDefaults;\nconst colorSchemesIcons = {\n auto: 'computer',\n light: 'sun',\n dark: 'moon',\n 'high-contrast': 'circle-half'\n} satisfies Record<ColorScheme, IconName>;\n\nfunction getActivePreferences(element = globalThis.document.documentElement) {\n const computedStyle = getComputedStyle(element);\n\n return {\n light: computedStyle.getPropertyValue('--nve-config-color-scheme-light') === 'true',\n dark: computedStyle.getPropertyValue('--nve-config-color-scheme-dark') === 'true',\n 'high-contrast': computedStyle.getPropertyValue('--nve-config-color-scheme-high-contrast') === 'true',\n compact: computedStyle.getPropertyValue('--nve-config-scale-compact') === 'true',\n 'reduced-motion': computedStyle.getPropertyValue('--nve-config-reduced-motion') === 'true'\n } satisfies Partial<Record<ColorScheme | Scale | Variant, boolean>>;\n}\n\nexport interface PreferencesInputValue {\n 'color-scheme'?: ColorScheme | string;\n scale?: Scale | string;\n 'reduced-motion'?: boolean;\n}\n\n/**\n * @element nve-preferences-input\n * @description A preferences input is a widget for controlling apperance. Stylesheets register to the preferences input by including a css-property, see Standard for an example.\n * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/\n * @since 1.23.7\n * @entrypoint \\@nvidia-elements/core/preferences-input\n * @property {PreferencesInputValue} value - Contains the current color scheme, scale, and reduced motion preferences. Assign an object through JavaScript or provide its JSON serialization in the HTML `value` attribute.\n * @attribute {string} value - JSON object parsed as `PreferencesInputValue`.\n * @event input - Dispatched when the value has changed\n * @event change - Dispatched when the value has changed\n * @cssprop --color\n * @cssprop --width\n * @csspart control - The control wrapper elements that contain the labels and menus\n * @csspart menu - The menu elements that display color scheme and scale options\n * @csspart menu-item - The individual menu item elements for each selectable option\n * @csspart icon - The icon element displayed next to color scheme options\n * @csspart divider - The divider elements that separate preference sections\n * @csspart switch - The switch element for the reduced motion toggle\n *\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/listbox/\n *\n */\n@scopedRegistry()\nexport class PreferencesInput extends FormControlMixin<typeof LitElement, PreferencesInputValue>(LitElement) {\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-preferences-input',\n version: '0.0.0',\n valueSchema: {\n type: 'object' as const,\n properties: {\n 'color-scheme': { type: 'string' as const },\n scale: { type: 'string' as const },\n 'reduced-motion': { type: 'boolean' as const }\n }\n }\n };\n\n static elementDefinitions = {\n [Control.metadata.tag]: Control,\n [Divider.metadata.tag]: Divider,\n [Icon.metadata.tag]: Icon,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Switch.metadata.tag]: Switch\n };\n\n @state() private activePreferences: ReturnType<typeof getActivePreferences> = {\n light: false,\n dark: false,\n 'high-contrast': false,\n compact: false,\n 'reduced-motion': false\n };\n\n // eslint-disable-next-line max-lines-per-function\n render() {\n return html`\n <div internal-host>\n <nve-control part=\"control\">\n <label>${this.i18n.colorScheme}</label>\n <nve-menu part=\"menu\" nve-control>\n ${colorSchemes.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['color-scheme'] === value}\n .value=${value}\n @click=${() => this.#setColorScheme(value)}\n >\n <nve-icon part=\"icon\" name=${colorSchemesIcons[value]}></nve-icon> ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n ${\n this.activePreferences['compact']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-control part=\"control\">\n <label>${this.i18n.scale}</label>\n <nve-menu part=\"menu\" nve-control>\n ${scales.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['scale'] === value}\n .value=${value}\n @click=${() => this.#setScale(value)}\n >\n ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n `\n : ''\n }\n ${\n this.activePreferences['reduced-motion']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-switch part=\"switch\">\n <label>${this.i18n.reducedMotion}</label>\n <input\n type=\"checkbox\"\n value=\"reduced-motion\"\n .checked=${this.value?.['reduced-motion']}\n @change=${(e: { target: HTMLInputElement }) => this.#setReducedMotion(e.target.checked)}\n />\n </nve-switch>`\n : ''\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = {\n 'color-scheme': 'auto',\n 'reduced-motion': false,\n scale: 'default'\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('nve-control', '');\n this.#updatePreferences();\n }\n\n /** @private */\n updateValue(value: PreferencesInputValue) {\n super.updateValue({ ...this.value, ...value });\n this.#updatePreferences();\n }\n\n #updatePreferences() {\n /* istanbul ignore else -- Lit SSR mode is not reachable in browser unit tests. */\n if (!isServer) {\n const preferences = getActivePreferences();\n if (JSON.stringify(this.activePreferences) !== JSON.stringify(preferences)) {\n this.activePreferences = preferences;\n }\n }\n }\n\n #setColorScheme(value: ColorScheme) {\n this.value = { ...this.value, 'color-scheme': value };\n this.#update();\n }\n\n #setScale(value: Scale) {\n this.value = { ...this.value, scale: value };\n this.#update();\n }\n\n #setReducedMotion(value: boolean) {\n this.value = { ...this.value, 'reduced-motion': value };\n this.#update();\n }\n\n #update() {\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAMI,IAA8B;CAAC;CAAQ;CAAS;CAAQ;AAAe,GACvEC,IAAkB,CAAC,WAAW,SAAS,GACvCC,IAAe;CACnB,OAAO;CACP,OAAO;CACP,eAAe;CACf,aAAa;AACf,GACMC,IAAoB;CACxB,MAAM;CACN,OAAO;CACP,MAAM;CACN,iBAAiB;AACnB;AAEA,SAASC,EAAqB,IAAU,WAAW,SAAS,iBAAiB;CAC3E,IAAMC,IAAgB,iBAAiBC,CAAO;CAE9C,OAAO;EACL,OAAOD,EAAc,iBAAiB,iCAAiC,MAAM;EAC7E,MAAMA,EAAc,iBAAiB,gCAAgC,MAAM;EAC3E,iBAAiBA,EAAc,iBAAiB,yCAAyC,MAAM;EAC/F,SAASA,EAAc,iBAAiB,4BAA4B,MAAM;EAC1E,kBAAkBA,EAAc,iBAAiB,6BAA6B,MAAM;CACtF;AACF;AA+BO,IAAME,IAAN,cAA+BC,EAA2DC,CAAU,CAAC,CAAC;CAC3G;;EAOgB,KAAA,SAAAC,EAAU,CAACd,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,aAAa;IACX,MAAM;IACN,YAAY;KACV,gBAAgB,EAAE,MAAM,SAAkB;KAC1C,OAAO,EAAE,MAAM,SAAkB;KACjC,kBAAkB,EAAE,MAAM,UAAmB;IAC/C;GACF;EACF;;;EAE4B,KAAA,qBAAA;IACzBe,EAAQ,SAAS,MAAMA;IACvBC,EAAQ,SAAS,MAAMA;IACvBC,EAAK,SAAS,MAAMA;IACpBC,EAAK,SAAS,MAAMA;IACpBC,EAAS,SAAS,MAAMA;IACxBC,EAAO,SAAS,MAAMA;EACzB;;CAWA,SAAS;EACP,OAAO,CAAI,yDAGI,KAAK,KAAK,YAAY,4CAE7BhB,EAAa,KACb,MAAS,CAAI,8CAEC,KAAK,QAAQ,oBAAoBiB,EAAM,YAC1CA,EAAM,kBACA,KAAKC,GAAgBD,CAAK,EAAE,gCAEdd,EAAkBc,GAAO,eAAeA,EAAM,iBAG/E,EAAE,2BAIF,KAAK,kBAAkBE,UACnB,CAAI,gFAGC,KAAK,KAAK,MAAM,4CAEvBlB,EAAO,KACP,MAAS,CAAI,8CAEC,KAAK,OAAQmB,UAAaH,EAAM,YACnCA,EAAM,kBACA,KAAKI,GAAUJ,CAAK,EAAE,IAEnCA,EAAM,iBAGZ,EAAE,6BAIE,GACL,GAEC,KAAK,kBAAkB,oBACnB,CAAI,8EAGC,KAAK,KAAK,cAAc,mEAIpB,KAAK,QAAQ,kBAAkB,cAC/B,MAAoC,KAAKK,GAAkB,EAAE,OAAO,OAAO,EAAE,mBAGtF,GACL;CAGP;CAEA,cAAc;EAEZ,AADA,MAAM,GAtGgC,KAAAC,KAAA,IAAIC,EAAqB,MAAMtB,CAAY,GAKhD,KAAA,OAAA,KAAKqB,GAAgB,MA0BsB,KAAA,oBAAA;GAC5E,OAAO;GACP,MAAM;GACN,iBAAiB;GACjB,SAAS;GACT,kBAAkB;EACpB,GAkEE,KAAK,QAAQ;GACX,gBAAgB;GAChB,kBAAkB;GAClB,OAAO;EACT;CACF;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxB,KAAK,aAAa,eAAe,EAAE,GACnC,KAAKE,GAAmB;CAC1B;CAGA,YAAY,GAA8B;EAExC,AADA,MAAM,YAAY;GAAE,GAAG,KAAK;GAAO,GAAGR;EAAM,CAAC,GAC7C,KAAKQ,GAAmB;CAC1B;CAEA,KAAqB;;EAEnB,IAAI,CAACC,GAAU;GACb,IAAMC,IAAcvB,EAAqB;GACzC,AAAI,KAAK,UAAU,KAAK,iBAAiB,MAAM,KAAK,UAAUuB,CAAW,MACvE,KAAK,oBAAoBA;EAE7B;CACF;CAEA,GAAgB,GAAoB;EAElC,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,gBAAgBV;EAAM,GACpD,KAAKW,GAAQ;CACf;CAEA,GAAU,GAAc;EAEtB,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,OAAOX;EAAM,GAC3C,KAAKW,GAAQ;CACf;CAEA,GAAkB,GAAgB;EAEhC,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,kBAAkBX;EAAM,GACtD,KAAKW,GAAQ;CACf;CAEA,KAAU;EAER,AADA,KAAK,mBAAmB,GACxB,KAAK,oBAAoB;CAC3B;AACF;AAlJG/B,EAAA,CAAAgC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAtB,EAAA,WAAA,QAAA,KAAA,CAAA,GA0BzBV,EAAA,CAAAiC,EAAM,CAAA,GAAAvB,EAAA,WAAA,qBAAA,KAAA,CAAA,GAjCR,IAAAV,EAAA,CAAAkC,EAAe,CAAA,GAAAxB,CAAA"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import n from "
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
2
|
+
import t from "./progress-bar.js";
|
|
3
|
+
import { LitElement as n, html as r } from "lit";
|
|
4
|
+
import { property as i } from "lit/decorators/property.js";
|
|
5
|
+
import { scopedRegistry as a } from "@nvidia-elements/foundations/internal/decorators";
|
|
6
|
+
import { useStyles as o } from "@nvidia-elements/foundations/internal/styles";
|
|
7
7
|
import { classMap as s } from "lit/directives/class-map.js";
|
|
8
8
|
// src/progress-bar/progress-bar.ts
|
|
9
|
-
var c = class extends
|
|
9
|
+
var c = class extends n {
|
|
10
10
|
constructor(...e) {
|
|
11
11
|
super(...e), this.max = 100;
|
|
12
12
|
}
|
|
13
13
|
static {
|
|
14
|
-
this.styles =
|
|
14
|
+
this.styles = o([t]);
|
|
15
15
|
}
|
|
16
16
|
static {
|
|
17
17
|
this.metadata = {
|
|
18
18
|
tag: "nve-progress-bar",
|
|
19
|
-
version: "2.23.
|
|
19
|
+
version: "2.23.5"
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
@@ -25,16 +25,16 @@ var c = class extends i {
|
|
|
25
25
|
"min-width": this.value !== void 0 && this.value > 0,
|
|
26
26
|
indeterminate: this.value === void 0
|
|
27
27
|
};
|
|
28
|
-
return
|
|
28
|
+
return r`<progress internal-host .max="${this.max}" .value="${this.value === void 0 ? 100 : this.value}" class="${s(e)}"></progress>`;
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
|
|
31
|
+
e([i({
|
|
32
32
|
type: Number,
|
|
33
33
|
reflect: !0
|
|
34
|
-
})], c.prototype, "value", void 0),
|
|
34
|
+
})], c.prototype, "value", void 0), e([i({ type: Number })], c.prototype, "max", void 0), e([i({
|
|
35
35
|
type: String,
|
|
36
36
|
reflect: !0
|
|
37
|
-
})], c.prototype, "status", void 0), c =
|
|
37
|
+
})], c.prototype, "status", void 0), c = e([a()], c);
|
|
38
38
|
export { c as ProgressBar };
|
|
39
39
|
|
|
40
40
|
//# sourceMappingURL=progress-bar2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-bar2.js","names":["styles","_decorate","__decorate","progress_bar_default","ProgressBar","LitElement","_args","useStyles","classes","classMap","property","scopedRegistry"],"sources":["../../src/progress-bar/progress-bar.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport type { SupportStatus } from '@nvidia-elements/core/internal';\nimport { scopedRegistry
|
|
1
|
+
{"version":3,"file":"progress-bar2.js","names":["styles","_decorate","__decorate","progress_bar_default","ProgressBar","LitElement","_args","useStyles","classes","classMap","property","scopedRegistry"],"sources":["../../src/progress-bar/progress-bar.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport type { SupportStatus } from '@nvidia-elements/core/internal';\nimport { scopedRegistry } from '@nvidia-elements/foundations/internal/decorators';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport { property } from 'lit/decorators/property.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './progress-bar.css?inline';\n\n/**\n * @element nve-progress-bar\n * @description A progress bar is a visual indicator of the status of a running task. Under the hood, the component uses the native HTML `progress` element to achieve proper a11y concerns.\n * @documentation https://nvidia.github.io/elements/docs/elements/progress-bar/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progress-bar\n * @cssprop --height\n * @cssprop --opacity\n * @cssprop --background\n * @cssprop --accent-color\n * @cssprop --indeterminate-gradient - Gradient used for indeterminate state animation\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class ProgressBar extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-progress-bar',\n version: '0.0.0'\n };\n\n /** The current `value` of the progress indicator, set to the native HTML progress element. */\n @property({ type: Number, reflect: true }) value?: number;\n\n /** The `max` property sets the highest value that `value` scales to. */\n @property({ type: Number }) max? = 100;\n\n /** Defines visual treatment to represent a ongoing task or support status. */\n @property({ type: String, reflect: true }) status: SupportStatus;\n\n render() {\n const classes = {\n full: this.value === this.max,\n 'min-width': this.value !== undefined && this.value > 0,\n indeterminate: this.value === undefined\n };\n\n return html`\n <progress internal-host .max=${this.max as number} .value=${this.value === undefined ? (100 as number) : (this.value as number)} class=${classMap(classes)}></progress>\n `;\n }\n}\n"],"mappings":";;;;;;;;AAyBO,IAAMI,IAAN,cAA0BC,EAAW;;EAYP,A,aAAA,KAAA,MAAA;;;EAXnB,KAAA,SAAAE,EAAU,CAACP,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;CAWA,SAAS;EACP,IAAMQ,IAAU;GACd,MAAM,KAAK,UAAU,KAAK;GAC1B,aAAa,KAAK,UAAU,KAAA,KAAa,KAAK,QAAQ;GACtD,eAAe,KAAK,UAAU,KAAA;EAChC;EAEA,OAAO,CAAI,iCACsB,KAAK,IAAc,YAAU,KAAK,UAAU,KAAA,IAAa,MAAkB,KAAK,MAAiB,WAASC,EAASD,CAAO,EAAE;CAE/J;AACF;AAnBGP,EAAA,CAAAS,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAN,EAAA,WAAA,SAAA,KAAA,CAAA,GAGxCH,EAAA,CAAAS,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAN,EAAA,WAAA,OAAA,KAAA,CAAA,GAGzBH,EAAA,CAAAS,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAN,EAAA,WAAA,UAAA,KAAA,CAAA,GAhB1C,IAAAH,EAAA,CAAAU,EAAe,CAAA,GAAAP,CAAA"}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import n from "
|
|
4
|
-
import r from "
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import e from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
2
|
+
import t from "./progress-dot.js";
|
|
3
|
+
import { attachInternals as n } from "@nvidia-elements/foundations/internal/a11y";
|
|
4
|
+
import { LitElement as r, html as i } from "lit";
|
|
5
|
+
import { property as a } from "lit/decorators/property.js";
|
|
6
|
+
import { I18nController as o } from "@nvidia-elements/foundations/internal/i18n";
|
|
7
|
+
import { useStyles as s } from "@nvidia-elements/foundations/internal/styles";
|
|
8
8
|
// src/progress-dot/progress-dot.ts
|
|
9
|
-
var c = { loading: "loading" }, l = class extends
|
|
9
|
+
var c = { loading: "loading" }, l = class extends r {
|
|
10
10
|
constructor(...e) {
|
|
11
|
-
super(...e), this.size = "md", this.#e = new
|
|
11
|
+
super(...e), this.size = "md", this.#e = new o(this, c), this.i18n = this.#e.i18n;
|
|
12
12
|
}
|
|
13
13
|
static {
|
|
14
|
-
this.styles =
|
|
14
|
+
this.styles = s([t]);
|
|
15
15
|
}
|
|
16
16
|
static {
|
|
17
17
|
this.metadata = {
|
|
18
18
|
tag: "nve-progress-dot",
|
|
19
|
-
version: "2.23.
|
|
19
|
+
version: "2.23.5"
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
#e;
|
|
23
23
|
render() {
|
|
24
|
-
return
|
|
24
|
+
return i`<div internal-host><svg viewBox="0 0 36 36" aria-hidden="true"><circle cx="5" cy="18" r="3"></circle><circle cx="18" cy="18" r="3"></circle><circle cx="31" cy="18" r="3"></circle></svg></div>`;
|
|
25
25
|
}
|
|
26
26
|
connectedCallback() {
|
|
27
|
-
super.connectedCallback(),
|
|
27
|
+
super.connectedCallback(), n(this), this._internals.role = "progressbar";
|
|
28
28
|
}
|
|
29
29
|
updated(e) {
|
|
30
30
|
super.updated(e), this._internals.ariaLabel = this.i18n.loading ?? null;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
|
-
|
|
33
|
+
e([a({
|
|
34
34
|
type: String,
|
|
35
35
|
reflect: !0
|
|
36
|
-
})], l.prototype, "size", void 0),
|
|
36
|
+
})], l.prototype, "size", void 0), e([a({ type: Object })], l.prototype, "i18n", void 0);
|
|
37
37
|
export { l as ProgressDot };
|
|
38
38
|
|
|
39
39
|
//# sourceMappingURL=progress-dot2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-dot2.js","names":["styles","_decorate","__decorate","progress_dot_default","i18nDefaults","ProgressDot","LitElement","_args","#i18nController","I18nController","useStyles","attachInternals","props","property"],"sources":["../../src/progress-dot/progress-dot.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, type PropertyValues } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { Size } from '@nvidia-elements/core/internal';\nimport { attachInternals
|
|
1
|
+
{"version":3,"file":"progress-dot2.js","names":["styles","_decorate","__decorate","progress_dot_default","i18nDefaults","ProgressDot","LitElement","_args","#i18nController","I18nController","useStyles","attachInternals","props","property"],"sources":["../../src/progress-dot/progress-dot.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, type PropertyValues } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { Size } from '@nvidia-elements/core/internal';\nimport { attachInternals } from '@nvidia-elements/foundations/internal/a11y';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport styles from './progress-dot.css?inline';\n\nconst i18nDefaults = {\n loading: 'loading'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-progress-dot\n * @description An inline visual indicator that shows the progress of an ongoing task with an unknown completion percentage.\n * @documentation https://nvidia.github.io/elements/docs/elements/progress-dot/\n * @since 0.0.0\n * @entrypoint \\@nvidia-elements/core/progress-dot\n * @cssprop --color - Dot color. Defaults to the inherited text color.\n * @cssprop --width - Indicator width.\n * @cssprop --height - Indicator height.\n * @cssprop --animation-duration - Duration of one animation cycle. Set to 0s for static dots.\n * @aria https://www.w3.org/TR/wai-aria-1.2/#progressbar\n */\nexport class ProgressDot extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-progress-dot',\n version: '0.0.0'\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n /** Controls the indicator size. */\n @property({ type: String, reflect: true }) size: Size = 'md';\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /** Enables updating the default loading label for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n render() {\n return html`\n <div internal-host>\n <svg viewBox=\"0 0 36 36\" aria-hidden=\"true\">\n <circle cx=\"5\" cy=\"18\" r=\"3\"></circle>\n <circle cx=\"18\" cy=\"18\" r=\"3\"></circle>\n <circle cx=\"31\" cy=\"18\" r=\"3\"></circle>\n </svg>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'progressbar';\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaLabel = this.i18n.loading ?? null;\n }\n}\n"],"mappings":";;;;;;;;AAWA,IAAMI,IAAe,EACnB,SAAS,UACX,GAcaC,IAAb,cAAiCC,EAAW;;EAiBP,A,aALqB,KAAA,OAAA,MAEhB,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAGhD,KAAA,OAAA,KAAKI,GAAgB;;;EAhBxC,KAAA,SAAAE,EAAU,CAACV,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;CAQA;CAKA,SAAS;EACP,OAAO,CAAI;CASb;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxBW,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;CAEA,QAAQ,GAA6B;EAEnC,AADA,MAAM,QAAQC,CAAK,GACnB,KAAK,WAAW,YAAY,KAAK,KAAK,WAAW;CACnD;AACF;AA7BGX,EAAA,CAAAY,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAR,EAAA,WAAA,QAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAY,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAR,EAAA,WAAA,QAAA,KAAA,CAAA"}
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import i from "
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { statusIcons as e } from "../internal/types/index.js";
|
|
2
|
+
import t from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
3
|
+
import { Icon as n } from "../icon/icon2.js";
|
|
4
|
+
import r from "./progress-ring.js";
|
|
5
|
+
import { attachInternals as i } from "@nvidia-elements/foundations/internal/a11y";
|
|
6
|
+
import { LitElement as a, html as o } from "lit";
|
|
7
|
+
import { property as s } from "lit/decorators/property.js";
|
|
8
|
+
import { I18nController as c } from "@nvidia-elements/foundations/internal/i18n";
|
|
9
|
+
import { scopedRegistry as l } from "@nvidia-elements/foundations/internal/decorators";
|
|
10
|
+
import { useStyles as u } from "@nvidia-elements/foundations/internal/styles";
|
|
11
11
|
// src/progress-ring/progress-ring.ts
|
|
12
12
|
var d = {
|
|
13
13
|
danger: "danger",
|
|
14
14
|
information: "information",
|
|
15
15
|
success: "success",
|
|
16
16
|
warning: "warning"
|
|
17
|
-
}, f = class extends
|
|
17
|
+
}, f = class extends a {
|
|
18
18
|
constructor(...e) {
|
|
19
|
-
super(...e), this.max = 100, this.status = "neutral", this.#e = new
|
|
19
|
+
super(...e), this.max = 100, this.status = "neutral", this.#e = new c(this, d), this.i18n = this.#e.i18n;
|
|
20
20
|
}
|
|
21
21
|
static {
|
|
22
|
-
this.styles =
|
|
22
|
+
this.styles = u([r]);
|
|
23
23
|
}
|
|
24
24
|
static {
|
|
25
25
|
this.metadata = {
|
|
26
26
|
tag: "nve-progress-ring",
|
|
27
|
-
version: "2.23.
|
|
27
|
+
version: "2.23.5"
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
static {
|
|
31
|
-
this.elementDefinitions = { [
|
|
31
|
+
this.elementDefinitions = { [n.metadata.tag]: n };
|
|
32
32
|
}
|
|
33
33
|
#e;
|
|
34
34
|
render() {
|
|
35
|
-
return
|
|
35
|
+
return o`<div internal-host ?indeterminate="${this.value === void 0}"><svg viewBox="0 0 16 16" role="presentation"><circle cx="8px" cy="8px" r="6.5px" class="background"></circle><circle cx="8px" cy="8px" r="6.5px" class="progress-ring-circle" stroke-dasharray="${`${(this.value ?? 0) / (this.max ?? 100) * 44}px 44px`}"></circle></svg><slot>${this.status === "accent" ? "" : o`<nve-icon part="icon" .name="${this.status ? e[this.status] : void 0}" .status="${this.status}" aria-hidden="true"></nve-icon>`}</slot></div>`;
|
|
36
36
|
}
|
|
37
37
|
connectedCallback() {
|
|
38
|
-
super.connectedCallback(),
|
|
38
|
+
super.connectedCallback(), i(this), this._internals.role = "progressbar";
|
|
39
39
|
}
|
|
40
40
|
updated(e) {
|
|
41
41
|
super.updated(e), this._internals.ariaValueNow = `${this.value === void 0 ? "" : this.value}`, this._internals.ariaValueMax = `${this.max}`;
|
|
@@ -43,13 +43,13 @@ var d = {
|
|
|
43
43
|
this._internals.ariaLabel = n ?? this.i18n.information ?? null;
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
|
-
|
|
46
|
+
t([s({ type: Number })], f.prototype, "value", void 0), t([s({ type: Number })], f.prototype, "max", void 0), t([s({
|
|
47
47
|
type: String,
|
|
48
48
|
reflect: !0
|
|
49
|
-
})], f.prototype, "status", void 0),
|
|
49
|
+
})], f.prototype, "status", void 0), t([s({
|
|
50
50
|
type: String,
|
|
51
51
|
reflect: !0
|
|
52
|
-
})], f.prototype, "size", void 0),
|
|
52
|
+
})], f.prototype, "size", void 0), t([s({ type: Object })], f.prototype, "i18n", void 0), f = t([l()], f);
|
|
53
53
|
export { f as ProgressRing };
|
|
54
54
|
|
|
55
55
|
//# sourceMappingURL=progress-ring2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-ring2.js","names":["styles","_decorate","__decorate","progress_ring_default","i18nDefaults","ProgressRing","LitElement","_args","#i18nController","I18nController","useStyles","Icon","statusIcons","attachInternals","props","statusLabel","status","property","scopedRegistry"],"sources":["../../src/progress-ring/progress-ring.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { Size, SupportStatus } from '@nvidia-elements/core/internal';\nimport {
|
|
1
|
+
{"version":3,"file":"progress-ring2.js","names":["styles","_decorate","__decorate","progress_ring_default","i18nDefaults","ProgressRing","LitElement","_args","#i18nController","I18nController","useStyles","Icon","statusIcons","attachInternals","props","statusLabel","status","property","scopedRegistry"],"sources":["../../src/progress-ring/progress-ring.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { Size, SupportStatus } from '@nvidia-elements/core/internal';\nimport { statusIcons } from '@nvidia-elements/core/internal';\nimport { scopedRegistry } from '@nvidia-elements/foundations/internal/decorators';\nimport { attachInternals } from '@nvidia-elements/foundations/internal/a11y';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport styles from './progress-ring.css?inline';\n\nconst i18nDefaults = {\n danger: 'danger',\n information: 'information',\n success: 'success',\n warning: 'warning'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-progress-ring\n * @description The `progress-ring` component shows the status of a pending task. It also serves the basis of the page loading element.\n * @documentation https://nvidia.github.io/elements/docs/elements/progress-ring/\n * @since 0.17.0\n * @entrypoint \\@nvidia-elements/core/progress-ring\n * @slot - Content to display in the ring center. Defaults to a status icon.\n * @cssprop --background-color\n * @cssprop --ring-color\n * @cssprop --ring-background-opacity\n * @cssprop --ring-width\n * @cssprop --width\n * @cssprop --height\n * @cssprop --animation-duration\n * @cssprop --color\n * @csspart icon - The icon element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class ProgressRing extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-progress-ring',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n /** The current `value` of the progress ring. When not set, an indeterminate animation will show. */\n @property({ type: Number }) value?: number;\n\n /** The `max` value of the progress ring that the `value` is proportionally scaled to. */\n @property({ type: Number }) max? = 100;\n\n /** Four visual treatments represent the `status` of tasks. When `status` changes to `warning`, `success`, or `danger`, the component embeds appropriate icons. */\n @property({ type: String, reflect: true }) status?: SupportStatus | 'neutral' = 'neutral';\n\n /** T-shirt `size` of the progress indicator, used to scale the ring. */\n @property({ type: String, reflect: true }) size?: Size | 'xxs' | 'xs' | 'xl';\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n render() {\n return html`\n <div internal-host ?indeterminate=${this.value === undefined}>\n <svg viewBox=\"0 0 16 16\" role=\"presentation\">\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"background\"></circle>\n <circle cx=\"8px\" cy=\"8px\" r=\"6.5px\" class=\"progress-ring-circle\"\n stroke-dasharray=${`${((this.value ?? 0) / (this.max ?? 100)) * 44}px 44px`}>\n </circle>\n </svg>\n <slot>\n ${\n this.status !== 'accent'\n ? html`<nve-icon part=\"icon\" .name=${this.status ? statusIcons[this.status] : undefined} .status=${this.status} aria-hidden=\"true\"></nve-icon>`\n : ''\n }\n </slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'progressbar';\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this._internals.ariaValueNow = `${this.value === undefined ? '' : this.value}`;\n this._internals.ariaValueMax = `${this.max}`;\n const { status } = this;\n const statusLabel =\n status !== undefined && status !== 'neutral' && status !== 'accent' ? this.i18n[status] : undefined;\n this._internals.ariaLabel = statusLabel ?? this.i18n.information ?? null;\n }\n}\n"],"mappings":";;;;;;;;;;;AAeA,IAAMI,IAAe;CACnB,QAAQ;CACR,aAAa;CACb,SAAS;CACT,SAAS;AACX,GAqBaC,IAAN,cAA2BC,EAAW;;EA8BR,A,aAXA,KAAA,MAAA,KAG6C,KAAA,SAAA,WAKxC,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAGhD,KAAA,OAAA,KAAKI,GAAgB;;;EA7BxC,KAAA,SAAAE,EAAU,CAACV,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA,GACzBW,EAAK,SAAS,MAAMA,EACvB;;CAiBA;CAKA,SAAS;EACP,OAAO,CAAI,sCAC2B,KAAK,UAAU,KAAA,EAAU,oMAIpC,IAAK,KAAK,SAAS,MAAM,KAAK,OAAO,OAAQ,GAAG,SAAS,yBAK5E,KAAK,WAAW,WAEZ,KADA,CAAI,gCAA+B,KAAK,SAASC,EAAY,KAAK,UAAU,KAAA,EAAU,aAAW,KAAK,OAAO,kCAElH;CAIT;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxBC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;CAEA,QAAQ,GAA6B;EAGnC,AAFA,MAAM,QAAQC,CAAK,GACnB,KAAK,WAAW,eAAe,GAAG,KAAK,UAAU,KAAA,IAAY,KAAK,KAAK,SACvE,KAAK,WAAW,eAAe,GAAG,KAAK;EACvC,IAAM,EAAE,cAAW,MACbC,IACJC,MAAW,KAAA,KAAaA,MAAW,aAAaA,MAAW,WAAW,KAAK,KAAKA,KAAU,KAAA;EAC5F,KAAK,WAAW,YAAYD,KAAe,KAAK,KAAK,eAAe;CACtE;AACF;AAnDGd,EAAA,CAAAgB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAZ,EAAA,WAAA,SAAA,KAAA,CAAA,GAGzBJ,EAAA,CAAAgB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAZ,EAAA,WAAA,OAAA,KAAA,CAAA,GAGzBJ,EAAA,CAAAgB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAZ,EAAA,WAAA,UAAA,KAAA,CAAA,GAGxCJ,EAAA,CAAAgB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAZ,EAAA,WAAA,QAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAgB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAZ,EAAA,WAAA,QAAA,KAAA,CAAA,GA/B3B,IAAAJ,EAAA,CAAAiB,EAAe,CAAA,GAAAb,CAAA"}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
1
|
import { appendRootNodeStyle as e, generateId as t } from "../internal/utils/dom.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import s from "../
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import f from "
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
2
|
+
import { TypeClosableController as n } from "../internal/controllers/type-closable.controller.js";
|
|
3
|
+
import { typeSSR as r } from "../internal/controllers/type-ssr.controller.js";
|
|
4
|
+
import i from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
5
|
+
import { IconButton as a } from "../icon-button/icon-button2.js";
|
|
6
|
+
import { Input as o } from "../input/input2.js";
|
|
7
|
+
import { Select as s } from "../select/select2.js";
|
|
8
|
+
import { Date as c } from "../date/date2.js";
|
|
9
|
+
import l from "./progressive-filter-chip.global.js";
|
|
10
|
+
import u from "./progressive-filter-chip.js";
|
|
11
|
+
import { attachInternals as d } from "@nvidia-elements/foundations/internal/a11y";
|
|
12
|
+
import { LitElement as f, html as p, nothing as m } from "lit";
|
|
13
|
+
import { property as h } from "lit/decorators/property.js";
|
|
14
|
+
import { I18nController as g } from "@nvidia-elements/foundations/internal/i18n";
|
|
15
|
+
import { scopedRegistry as _ } from "@nvidia-elements/foundations/internal/decorators";
|
|
16
|
+
import { useStyles as v } from "@nvidia-elements/foundations/internal/styles";
|
|
17
17
|
import { state as y } from "lit/decorators/state.js";
|
|
18
18
|
// src/progressive-filter-chip/progressive-filter-chip.ts
|
|
19
|
-
var b = { close: "close" }, x = class extends
|
|
19
|
+
var b = { close: "close" }, x = class extends f {
|
|
20
20
|
constructor(...e) {
|
|
21
|
-
super(...e), this.#e = new
|
|
21
|
+
super(...e), this.#e = new g(this, b), this.i18n = this.#e.i18n, this.inputs = [], this.#t = new n(this);
|
|
22
22
|
}
|
|
23
23
|
static {
|
|
24
24
|
this.metadata = {
|
|
25
25
|
tag: "nve-progressive-filter-chip",
|
|
26
|
-
version: "2.23.
|
|
26
|
+
version: "2.23.5"
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
static {
|
|
30
30
|
this.elementDefinitions = {
|
|
31
|
-
[
|
|
32
|
-
[
|
|
33
|
-
[
|
|
34
|
-
[
|
|
31
|
+
[o.metadata.tag]: o,
|
|
32
|
+
[s.metadata.tag]: s,
|
|
33
|
+
[c.metadata.tag]: c,
|
|
34
|
+
[a.metadata.tag]: a
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
#e;
|
|
38
38
|
static {
|
|
39
|
-
this.styles =
|
|
39
|
+
this.styles = v([u]);
|
|
40
40
|
}
|
|
41
41
|
#t;
|
|
42
42
|
#n(e) {
|
|
43
|
-
let t =
|
|
44
|
-
return e.tagName === "SELECT" ?
|
|
43
|
+
let t = p`<slot name="${e.slot}" @slotchange="${this.#r}"></slot>`;
|
|
44
|
+
return e.tagName === "SELECT" ? p`<nve-select part="select" multiple-overflow ?fit-text="${!e.multiple}">${t}</nve-select>` : e.tagName === "INPUT" && e.type === "date" ? p`<nve-date part="date">${t}</nve-date>` : e.tagName === "INPUT" ? p`<nve-input part="input">${t}</nve-input>` : t;
|
|
45
45
|
}
|
|
46
46
|
render() {
|
|
47
|
-
return
|
|
47
|
+
return p`<div internal-host>${this.inputs.map((e) => this.#n(e))} ${this.closable ? p`<nve-icon-button part="icon-button" exportparts="icon:icon-button-icon" @click="${() => this.#t.close()}" .ariaLabel="${this.i18n.close}" icon-name="cancel"></nve-icon-button>` : m}</div><slot hidden-slot @slotchange="${this.#i}"></slot>`;
|
|
48
48
|
}
|
|
49
49
|
connectedCallback() {
|
|
50
|
-
super.connectedCallback(),
|
|
50
|
+
super.connectedCallback(), d(this), this._internals.role = "toolbar", this.setAttribute("nve-control", ""), e(this, l);
|
|
51
51
|
}
|
|
52
52
|
#r(e) {
|
|
53
53
|
e.target.assignedElements().length || this.#a();
|
|
@@ -63,7 +63,7 @@ var b = { close: "close" }, x = class extends m {
|
|
|
63
63
|
Array.from(this.shadowRoot.querySelectorAll("slot")).flatMap((e) => e.assignedElements()).forEach((e) => e.slot = "");
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
|
-
|
|
66
|
+
i([h({ type: Boolean })], x.prototype, "closable", void 0), i([h({ type: Object })], x.prototype, "i18n", void 0), i([y()], x.prototype, "inputs", void 0), x = i([r(), _()], x);
|
|
67
67
|
export { x as ProgressiveFilterChip };
|
|
68
68
|
|
|
69
69
|
//# sourceMappingURL=progressive-filter-chip2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progressive-filter-chip2.js","names":["styles","globalStyles","_decorate","__decorate","progressive_filter_chip_global_default","progressive_filter_chip_default","i18nDefaults","ProgressiveFilterChip","LitElement","_args","#i18nController","I18nController","#typeClosableController","TypeClosableController","Input","Select","Date","IconButton","useStyles","slot","el","#removeItem","#getControlTemplate","nothing","#createItems","attachInternals","appendRootNodeStyle","#resetItems","items","i","generateId","property","state","typeSSR","scopedRegistry"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport {
|
|
1
|
+
{"version":3,"file":"progressive-filter-chip2.js","names":["styles","globalStyles","_decorate","__decorate","progressive_filter_chip_global_default","progressive_filter_chip_default","i18nDefaults","ProgressiveFilterChip","LitElement","_args","#i18nController","I18nController","#typeClosableController","TypeClosableController","Input","Select","Date","IconButton","useStyles","slot","el","#removeItem","#getControlTemplate","nothing","#createItems","attachInternals","appendRootNodeStyle","#resetItems","items","i","generateId","property","state","typeSSR","scopedRegistry"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport { appendRootNodeStyle, generateId, TypeClosableController, typeSSR } from '@nvidia-elements/core/internal';\nimport { scopedRegistry } from '@nvidia-elements/foundations/internal/decorators';\nimport { attachInternals } from '@nvidia-elements/foundations/internal/a11y';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport { I18nController, type I18nDefaults } from '@nvidia-elements/foundations/internal/i18n';\nimport { Input } from '@nvidia-elements/core/input';\nimport { Select } from '@nvidia-elements/core/select';\nimport { Date } from '@nvidia-elements/core/date';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport globalStyles from './progressive-filter-chip.global.css?inline';\nimport styles from './progressive-filter-chip.css?inline';\n\nconst i18nDefaults = {\n close: 'close'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-progressive-filter-chip\n * @description A filter chip is a control that enables users to select many options from a set of choices.\n * @documentation https://nvidia.github.io/elements/docs/elements/progressive-filter-chip/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progressive-filter-chip\n * @slot - `input`, `select`, `nve-button`, or other `[nve-control]` elements used to build the filter.\n * @event close - Dispatched when the filter chip closes.\n * @cssprop --gap\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --background\n * @cssprop --font-weight\n * @cssprop --padding\n * @cssprop --width\n * @csspart select - The select element\n * @csspart date - The date input element\n * @csspart input - The input element\n * @csspart icon-button - The icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@typeSSR()\n@scopedRegistry()\nexport class ProgressiveFilterChip extends LitElement {\n static readonly metadata = {\n tag: 'nve-progressive-filter-chip',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Input.metadata.tag]: Input,\n [Select.metadata.tag]: Select,\n [Date.metadata.tag]: Date,\n [IconButton.metadata.tag]: IconButton\n };\n\n /** Determines if a close button should render within filter chip */\n @property({ type: Boolean }) closable: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @state() private inputs: Element[] = [];\n\n static styles = useStyles([styles]);\n\n #typeClosableController = new TypeClosableController(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n #getControlTemplate(el: Element) {\n const slot = html`<slot name=${el.slot} @slotchange=${this.#removeItem}></slot>`;\n if (el.tagName === 'SELECT') {\n return html`<nve-select part=\"select\" multiple-overflow ?fit-text=${!(el as HTMLSelectElement).multiple}>${slot}</nve-select>`;\n } else if (el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'date') {\n return html`<nve-date part=\"date\">${slot}</nve-date>`;\n } else if (el.tagName === 'INPUT') {\n return html`<nve-input part=\"input\">${slot}</nve-input>`;\n } else {\n return slot;\n }\n }\n\n render() {\n return html`\n <div internal-host>\n ${this.inputs.map(el => this.#getControlTemplate(el))}\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeClosableController.close()} .ariaLabel=${this.i18n.close} icon-name=\"cancel\"></nve-icon-button>` : nothing}\n </div>\n <slot hidden-slot @slotchange=${this.#createItems}></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n this.setAttribute('nve-control', '');\n appendRootNodeStyle(this, globalStyles);\n }\n\n #removeItem(e: Event) {\n if (!(e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n }\n }\n\n #createItems(e: Event) {\n if (e.target && (e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n const items = Array.from(\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!.assignedElements()\n ).filter(i => i.matches('input, select, nve-button, [nve-control]'));\n items.forEach(i => (i.slot = generateId()));\n this.inputs = items.length ? items : this.inputs;\n }\n }\n\n #resetItems() {\n Array.from(this.shadowRoot!.querySelectorAll('slot'))\n .flatMap(i => i.assignedElements())\n .forEach(i => (i.slot = ''));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,IAAMM,IAAe,EACnB,OAAO,QACT,GAyBaC,IAAN,cAAoCC,EAAW;;EAyB1B,A,aATc,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAGhD,KAAA,OAAA,KAAKI,GAAgB,MAEnB,KAAA,SAAA,CAAC,GAIZ,KAAAE,KAAA,IAAIC,EAAuB,IAAI;;;EAxB9B,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA;IACzBC,EAAM,SAAS,MAAMA;IACrBC,EAAO,SAAS,MAAMA;IACtBC,EAAK,SAAS,MAAMA;IACpBC,EAAW,SAAS,MAAMA;EAC7B;;CAKA;;EAOgB,KAAA,SAAAC,EAAU,CAAClB,CAAM,CAAC;;CAElC;CAKA,GAAoB,GAAa;EAC/B,IAAMmB,IAAO,CAAI,eAAcC,EAAG,KAAK,iBAAe,KAAKC,GAAY;EAQrE,OAPED,EAAG,YAAY,WACV,CAAI,0DAAyD,CAAEA,EAAyB,SAAS,IAAGD,EAAK,iBACvGC,EAAG,YAAY,WAAYA,EAAwB,SAAS,SAC9D,CAAI,yBAAyBD,EAAK,eAChCC,EAAG,YAAY,UACjB,CAAI,2BAA2BD,EAAK,gBAEpCA;CAEX;CAEA,SAAS;EACP,OAAO,CAAI,sBAEP,KAAK,OAAO,KAAI,MAAM,KAAKG,GAAoBF,CAAE,CAAC,EAAE,GACpD,KAAK,WAAW,CAAI,yFAAwF,KAAKR,GAAwB,MAAM,EAAE,gBAAc,KAAK,KAAK,MAAM,2CAA0CW,EAAQ,uCAErM,KAAKC,GAAa;CAEpD;CAEA,oBAAoB;EAKlB,AAJA,MAAM,kBAAkB,GACxBC,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,KAAK,aAAa,eAAe,EAAE,GACnCC,EAAoB,MAAMzB,CAAY;CACxC;CAEA,GAAY,GAAU;EACpB,AAAM,EAAE,OAA2B,iBAAiB,CAAC,CAAC,UACpD,KAAK0B,GAAY;CAErB;CAEA,GAAa,GAAU;EACrB,IAAI,EAAE,UAAW,EAAE,OAA2B,iBAAiB,CAAC,CAAC,QAAQ;GACvE,KAAKA,GAAY;GACjB,IAAMC,IAAQ,MAAM,KAClB,KAAK,WAAY,cAA+B,kBAAkB,CAAC,CAAE,iBAAiB,CACxF,CAAC,CAAC,QAAO,MAAKC,EAAE,QAAQ,0CAA0C,CAAC;GAEnE,AADAD,EAAM,SAAQ,MAAM,EAAE,OAAOE,EAAW,CAAE,GAC1C,KAAK,SAASF,EAAM,SAASA,IAAQ,KAAK;EAC5C;CACF;CAEA,KAAc;EACZ,MAAM,KAAK,KAAK,WAAY,iBAAiB,MAAM,CAAC,CAAC,CAClD,SAAQ,MAAKC,EAAE,iBAAiB,CAAC,CAAC,CAClC,SAAQ,MAAM,EAAE,OAAO,EAAG;CAC/B;AACF;AArEG3B,EAAA,CAAA6B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAxB,EAAA,WAAA,YAAA,KAAA,CAAA,GAK1BL,EAAA,CAAA6B,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAxB,EAAA,WAAA,QAAA,KAAA,CAAA,GAEzBL,EAAA,CAAA8B,EAAM,CAAA,GAAAzB,EAAA,WAAA,UAAA,KAAA,CAAA,GAvBR,IAAAL,EAAA,CAAA+B,EAAQ,GACRC,EAAe,CAAA,GAAA3B,CAAA"}
|