@nvidia-elements/core 2.23.4 → 2.23.6
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 +16 -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 +10 -10
- 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 +1032 -337
- 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/controllers/workspace-composition.controller.d.ts +4 -1
- package/dist/workspace/controllers/workspace-composition.controller.js +69 -39
- package/dist/workspace/controllers/workspace-composition.controller.js.map +1 -1
- package/dist/workspace/controllers/workspace-rearrange.controller.js +27 -27
- package/dist/workspace/controllers/workspace-rearrange.controller.js.map +1 -1
- package/dist/workspace/controllers/workspace-restoration.controller.js +2 -2
- package/dist/workspace/controllers/workspace-restoration.controller.js.map +1 -1
- package/dist/workspace/panel/panel2.js +15 -15
- 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/utils/comparison.utils.d.ts +3 -0
- package/dist/workspace/utils/comparison.utils.js +13 -0
- package/dist/workspace/utils/comparison.utils.js.map +1 -0
- package/dist/workspace/utils/evaluation.utils.d.ts +65 -6
- package/dist/workspace/utils/evaluation.utils.js +334 -99
- package/dist/workspace/utils/evaluation.utils.js.map +1 -1
- package/dist/workspace/utils/geometry/allocation.utils.js +15 -13
- package/dist/workspace/utils/geometry/allocation.utils.js.map +1 -1
- package/dist/workspace/utils/geometry/sizing.utils.d.ts +2 -0
- package/dist/workspace/utils/geometry/sizing.utils.js +37 -17
- package/dist/workspace/utils/geometry/sizing.utils.js.map +1 -1
- package/dist/workspace/utils/interaction/boundary.utils.d.ts +2 -2
- package/dist/workspace/utils/interaction/boundary.utils.js +2 -2
- package/dist/workspace/utils/interaction/boundary.utils.js.map +1 -1
- package/dist/workspace/utils/interaction/drag-preview.utils.d.ts +3 -3
- package/dist/workspace/utils/interaction/drag-preview.utils.js.map +1 -1
- package/dist/workspace/utils/interaction/insertion-offers.utils.d.ts +11 -9
- package/dist/workspace/utils/interaction/insertion-offers.utils.js +37 -43
- package/dist/workspace/utils/interaction/insertion-offers.utils.js.map +1 -1
- package/dist/workspace/utils/interaction/placement-decision.utils.d.ts +6 -1
- package/dist/workspace/utils/interaction/placement-decision.utils.js +94 -87
- package/dist/workspace/utils/interaction/placement-decision.utils.js.map +1 -1
- package/dist/workspace/utils/model/layout.utils.d.ts +2 -1
- package/dist/workspace/utils/model/layout.utils.js +12 -10
- package/dist/workspace/utils/model/layout.utils.js.map +1 -1
- package/dist/workspace/utils/model/membership.utils.d.ts +4 -0
- package/dist/workspace/utils/model/membership.utils.js +13 -4
- package/dist/workspace/utils/model/membership.utils.js.map +1 -1
- package/dist/workspace/utils/model/operations.utils.d.ts +1 -0
- package/dist/workspace/utils/model/operations.utils.js +51 -46
- package/dist/workspace/utils/model/operations.utils.js.map +1 -1
- package/dist/workspace/utils/model/projection.utils.d.ts +4 -2
- package/dist/workspace/utils/model/projection.utils.js +49 -40
- package/dist/workspace/utils/model/projection.utils.js.map +1 -1
- package/dist/workspace/utils/model/value.utils.d.ts +4 -3
- package/dist/workspace/utils/model/value.utils.js +15 -50
- package/dist/workspace/utils/model/value.utils.js.map +1 -1
- package/dist/workspace/utils/placement/acquisition-sizing.utils.d.ts +2 -0
- package/dist/workspace/utils/placement/acquisition-sizing.utils.js +30 -22
- package/dist/workspace/utils/placement/acquisition-sizing.utils.js.map +1 -1
- package/dist/workspace/utils/placement/group-insertion.utils.d.ts +19 -13
- package/dist/workspace/utils/placement/group-insertion.utils.js +50 -47
- package/dist/workspace/utils/placement/group-insertion.utils.js.map +1 -1
- package/dist/workspace/utils/placement/planner.utils.d.ts +13 -2
- package/dist/workspace/utils/placement/planner.utils.js +79 -73
- package/dist/workspace/utils/placement/planner.utils.js.map +1 -1
- package/dist/workspace/utils/placement/preparation.utils.d.ts +5 -2
- package/dist/workspace/utils/placement/preparation.utils.js +45 -41
- package/dist/workspace/utils/placement/preparation.utils.js.map +1 -1
- package/dist/workspace/utils/placement/region.utils.js +32 -32
- package/dist/workspace/utils/placement/region.utils.js.map +1 -1
- package/dist/workspace/utils/placement/scope.utils.d.ts +34 -0
- package/dist/workspace/utils/placement/scope.utils.js +155 -0
- package/dist/workspace/utils/placement/scope.utils.js.map +1 -0
- package/dist/workspace/utils/placement/session.utils.d.ts +11 -0
- package/dist/workspace/utils/placement/session.utils.js +78 -0
- package/dist/workspace/utils/placement/session.utils.js.map +1 -0
- package/dist/workspace/utils/placement/split-sizing.utils.d.ts +2 -2
- package/dist/workspace/utils/placement/split-sizing.utils.js +19 -19
- package/dist/workspace/utils/placement/split-sizing.utils.js.map +1 -1
- package/dist/workspace/utils/presentation/composition.utils.d.ts +1 -1
- package/dist/workspace/utils/presentation/composition.utils.js +4 -2
- package/dist/workspace/utils/presentation/composition.utils.js.map +1 -1
- package/dist/workspace/utils/presentation/groups.utils.d.ts +3 -3
- package/dist/workspace/utils/presentation/groups.utils.js +40 -30
- package/dist/workspace/utils/presentation/groups.utils.js.map +1 -1
- package/dist/workspace/utils/presentation/measurements.utils.d.ts +1 -0
- package/dist/workspace/utils/presentation/measurements.utils.js +6 -14
- package/dist/workspace/utils/presentation/measurements.utils.js.map +1 -1
- package/dist/workspace/utils/presentation/offers.utils.d.ts +1 -1
- package/dist/workspace/utils/presentation/offers.utils.js +3 -3
- package/dist/workspace/utils/presentation/offers.utils.js.map +1 -1
- package/dist/workspace/utils/presentation/preview.utils.d.ts +6 -0
- package/dist/workspace/utils/presentation/preview.utils.js +14 -3
- package/dist/workspace/utils/presentation/preview.utils.js.map +1 -1
- package/dist/workspace/workspace.examples.js.map +1 -1
- package/dist/workspace/workspace.examples.json +4 -4
- package/dist/workspace/workspace.js +1 -1
- package/dist/workspace/workspace.js.map +1 -1
- package/dist/workspace/workspace2.js +233 -239
- 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
- package/dist/workspace/utils/placement/context.utils.d.ts +0 -36
- package/dist/workspace/utils/placement/context.utils.js +0 -135
- package/dist/workspace/utils/placement/context.utils.js.map +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "
|
|
3
|
-
import {
|
|
1
|
+
import e from "./drawer-content.js";
|
|
2
|
+
import { LitElement as t, html as n } from "lit";
|
|
3
|
+
import { useStyles as r } from "@nvidia-elements/foundations/internal/styles";
|
|
4
4
|
// src/drawer/drawer-content.ts
|
|
5
|
-
var i = class extends
|
|
5
|
+
var i = class extends t {
|
|
6
6
|
static {
|
|
7
|
-
this.styles =
|
|
7
|
+
this.styles = r([e]);
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.metadata = {
|
|
11
11
|
tag: "nve-drawer-content",
|
|
12
|
-
version: "2.23.
|
|
12
|
+
version: "2.23.6",
|
|
13
13
|
parents: ["nve-drawer"]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return
|
|
17
|
+
return n`<div internal-host><slot></slot></div>`;
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
export { i as DrawerContent };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-content2.js","names":["styles","drawer_content_default","DrawerContent","LitElement","useStyles"],"sources":["../../src/drawer/drawer-content.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 { useStyles } from '@nvidia-elements/
|
|
1
|
+
{"version":3,"file":"drawer-content2.js","names":["styles","drawer_content_default","DrawerContent","LitElement","useStyles"],"sources":["../../src/drawer/drawer-content.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 { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport styles from './drawer-content.css?inline';\n\n/**\n * @element nve-drawer-content\n * @description Contains the scrollable main body content within a drawer panel.\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/drawer\n * @slot - default slot for the drawer content\n * @cssprop --padding\n * @cssprop --gap\n * @cssprop --width\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/\n */\nexport class DrawerContent extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-drawer-content',\n version: '0.0.0',\n parents: ['nve-drawer']\n };\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;AAkBA,IAAaE,IAAb,cAAmCC,EAAW;;EAC5B,KAAA,SAAAC,EAAU,CAACJ,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,YAAY;EACxB;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;AACF"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "
|
|
3
|
-
import {
|
|
1
|
+
import e from "./drawer-footer.js";
|
|
2
|
+
import { LitElement as t, html as n } from "lit";
|
|
3
|
+
import { useStyles as r } from "@nvidia-elements/foundations/internal/styles";
|
|
4
4
|
// src/drawer/drawer-footer.ts
|
|
5
|
-
var i = class extends
|
|
5
|
+
var i = class extends t {
|
|
6
6
|
static {
|
|
7
|
-
this.styles =
|
|
7
|
+
this.styles = r([e]);
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.metadata = {
|
|
11
11
|
tag: "nve-drawer-footer",
|
|
12
|
-
version: "2.23.
|
|
12
|
+
version: "2.23.6",
|
|
13
13
|
parents: ["nve-drawer"]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return
|
|
17
|
+
return n`<div internal-host><slot></slot></div>`;
|
|
18
18
|
}
|
|
19
19
|
connectedCallback() {
|
|
20
20
|
super.connectedCallback(), this.slot = "footer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-footer2.js","names":["styles","drawer_footer_default","DrawerFooter","LitElement","useStyles"],"sources":["../../src/drawer/drawer-footer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/
|
|
1
|
+
{"version":3,"file":"drawer-footer2.js","names":["styles","drawer_footer_default","DrawerFooter","LitElement","useStyles"],"sources":["../../src/drawer/drawer-footer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport styles from './drawer-footer.css?inline';\n\n/**\n * @element nve-drawer-footer\n * @description Provides a fixed action area at the bottom of a drawer for primary actions such as save or cancel.\n * @documentation https://nvidia.github.io/elements/docs/elements/drawer/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/drawer\n * @slot - default slot for the drawer footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n * @cssprop --min-height\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/\n */\nexport class DrawerFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-drawer-footer',\n version: '0.0.0',\n parents: ['nve-drawer']\n };\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'footer';\n }\n}\n"],"mappings":";;;;AAoBA,IAAaE,IAAb,cAAkCC,EAAW;;EAC3B,KAAA,SAAAC,EAAU,CAACJ,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,YAAY;EACxB;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "
|
|
3
|
-
import {
|
|
1
|
+
import e from "./drawer-header.js";
|
|
2
|
+
import { LitElement as t, html as n } from "lit";
|
|
3
|
+
import { useStyles as r } from "@nvidia-elements/foundations/internal/styles";
|
|
4
4
|
// src/drawer/drawer-header.ts
|
|
5
|
-
var i = class extends
|
|
5
|
+
var i = class extends t {
|
|
6
6
|
static {
|
|
7
|
-
this.styles =
|
|
7
|
+
this.styles = r([e]);
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.metadata = {
|
|
11
11
|
tag: "nve-drawer-header",
|
|
12
|
-
version: "2.23.
|
|
12
|
+
version: "2.23.6",
|
|
13
13
|
parents: ["nve-drawer"]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return
|
|
17
|
+
return n`<div internal-host><slot></slot></div>`;
|
|
18
18
|
}
|
|
19
19
|
connectedCallback() {
|
|
20
20
|
super.connectedCallback(), this.slot = "header";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer-header2.js","names":["styles","drawer_header_default","DrawerHeader","LitElement","useStyles"],"sources":["../../src/drawer/drawer-header.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/
|
|
1
|
+
{"version":3,"file":"drawer-header2.js","names":["styles","drawer_header_default","DrawerHeader","LitElement","useStyles"],"sources":["../../src/drawer/drawer-header.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport styles from './drawer-header.css?inline';\n\n/**\n * @element nve-drawer-header\n * @description Displays the title and optional close control at the top of a drawer to identify its purpose.\n * @documentation https://nvidia.github.io/elements/docs/elements/drawer/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/drawer\n * @slot - default slot for the drawer header\n * @cssprop --border-bottom\n * @cssprop --min-height\n * @cssprop --padding\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/\n */\nexport class DrawerHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-drawer-header',\n version: '0.0.0',\n parents: ['nve-drawer']\n };\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'header';\n }\n}\n"],"mappings":";;;;AAmBA,IAAaE,IAAb,cAAkCC,EAAW;;EAC3B,KAAA,SAAAC,EAAU,CAACJ,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,YAAY;EACxB;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF"}
|
package/dist/drawer/drawer2.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { createGhostElement as e } from "../internal/utils/dom.js";
|
|
2
2
|
import { TypeNativePopoverController as t } from "../internal/controllers/type-native-popover.controller.js";
|
|
3
3
|
import { typeSSR as n } from "../internal/controllers/type-ssr.controller.js";
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import o from "
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
4
|
+
import { popoverStyles as r } from "../internal/styles/popover2.js";
|
|
5
|
+
import i from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
6
|
+
import { IconButton as a } from "../icon-button/icon-button2.js";
|
|
7
|
+
import o from "./drawer.js";
|
|
8
|
+
import { LitElement as s, html as c } from "lit";
|
|
9
|
+
import { property as l } from "lit/decorators/property.js";
|
|
10
|
+
import { I18nController as u } from "@nvidia-elements/foundations/internal/i18n";
|
|
11
|
+
import { scopedRegistry as d } from "@nvidia-elements/foundations/internal/decorators";
|
|
12
|
+
import { useStyles as f } from "@nvidia-elements/foundations/internal/styles";
|
|
13
13
|
// src/drawer/drawer.ts
|
|
14
|
-
var p = { close: "close" }, m = class extends
|
|
14
|
+
var p = { close: "close" }, m = class extends s {
|
|
15
15
|
constructor(...n) {
|
|
16
|
-
super(...n), this.position = "left", this.anchor = globalThis.document?.body, this.#e = new
|
|
16
|
+
super(...n), this.position = "left", this.anchor = globalThis.document?.body, this.#e = new u(this, p), this.i18n = this.#e.i18n, this.typeNativePopoverController = new t(this), this.#n = (t) => {
|
|
17
17
|
this.inline && (this.#t && t.newState === "closed" ? this.#t.remove() : (this.#t = e(this), this.after(this.#t)));
|
|
18
18
|
};
|
|
19
19
|
}
|
|
@@ -25,19 +25,19 @@ var p = { close: "close" }, m = class extends l {
|
|
|
25
25
|
return this.closable ?? !1;
|
|
26
26
|
}
|
|
27
27
|
static {
|
|
28
|
-
this.styles =
|
|
28
|
+
this.styles = f([r, o]);
|
|
29
29
|
}
|
|
30
30
|
static {
|
|
31
31
|
this.metadata = {
|
|
32
32
|
tag: "nve-drawer",
|
|
33
|
-
version: "2.23.
|
|
33
|
+
version: "2.23.6"
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
static {
|
|
37
|
-
this.elementDefinitions = { [
|
|
37
|
+
this.elementDefinitions = { [a.metadata.tag]: a };
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
return
|
|
40
|
+
return c`<div internal-host><div class="header"><nve-icon-button part="icon-button" exportparts="icon:icon-button-icon" .hidden="${!this.closable}" @click="${this.hidePopover}" icon-name="cancel" .ariaLabel="${this.i18n.close}" container="flat"></nve-icon-button><slot name="header"></slot></div><div class="content"><slot></slot></div><div><slot name="footer"></slot></div></div>`;
|
|
41
41
|
}
|
|
42
42
|
#t;
|
|
43
43
|
connectedCallback() {
|
|
@@ -48,23 +48,23 @@ var p = { close: "close" }, m = class extends l {
|
|
|
48
48
|
}
|
|
49
49
|
#n;
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
i([l({
|
|
52
52
|
type: String,
|
|
53
53
|
reflect: !0
|
|
54
|
-
})], m.prototype, "position", void 0),
|
|
54
|
+
})], m.prototype, "position", void 0), i([l({
|
|
55
55
|
type: String,
|
|
56
56
|
reflect: !0
|
|
57
|
-
})], m.prototype, "size", void 0),
|
|
57
|
+
})], m.prototype, "size", void 0), i([l({ type: Boolean })], m.prototype, "closable", void 0), i([l({
|
|
58
58
|
type: Boolean,
|
|
59
59
|
reflect: !0
|
|
60
|
-
})], m.prototype, "modal", void 0),
|
|
60
|
+
})], m.prototype, "modal", void 0), i([l({ type: String })], m.prototype, "anchor", void 0), i([l({ type: String })], m.prototype, "trigger", void 0), i([l({
|
|
61
61
|
type: Boolean,
|
|
62
62
|
reflect: !0
|
|
63
|
-
})], m.prototype, "inline", void 0),
|
|
63
|
+
})], m.prototype, "inline", void 0), i([l({
|
|
64
64
|
type: Boolean,
|
|
65
65
|
reflect: !0,
|
|
66
66
|
attribute: "behavior-trigger"
|
|
67
|
-
})], m.prototype, "behaviorTrigger", void 0),
|
|
67
|
+
})], m.prototype, "behaviorTrigger", void 0), i([l({ type: Object })], m.prototype, "i18n", void 0), m = i([n(), d()], m);
|
|
68
68
|
export { m as Drawer };
|
|
69
69
|
|
|
70
70
|
//# sourceMappingURL=drawer2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer2.js","names":["styles","_decorate","__decorate","drawer_default","i18nDefaults","Drawer","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","#onToggle","#inlineElement","toggleEvent","createGhostElement","useStyles","popoverStyles","IconButton","property","typeSSR","scopedRegistry"],"sources":["../../src/drawer/drawer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { PopoverType, Size } from '@nvidia-elements/core/internal';\nimport {\n createGhostElement,\n popoverStyles,\n
|
|
1
|
+
{"version":3,"file":"drawer2.js","names":["styles","_decorate","__decorate","drawer_default","i18nDefaults","Drawer","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","#onToggle","#inlineElement","toggleEvent","createGhostElement","useStyles","popoverStyles","IconButton","property","typeSSR","scopedRegistry"],"sources":["../../src/drawer/drawer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport type { PopoverType, Size } from '@nvidia-elements/core/internal';\nimport {\n createGhostElement,\n popoverStyles,\n TypeNativePopoverController,\n typeSSR\n} from '@nvidia-elements/core/internal';\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 { IconButton } from '@nvidia-elements/core/icon-button';\nimport styles from './drawer.css?inline';\n\nconst i18nDefaults = {\n close: 'close'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-drawer\n * @description A drawer displays content separate from the rest of the page, such as notifications, navigation, and settings.\n * @documentation https://nvidia.github.io/elements/docs/elements/drawer/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/drawer\n * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)\n * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)\n * @event open - Dispatched when the drawer opens.\n * @event close - Dispatched when the drawer closes.\n * @slot - Drawer body content displayed between the header and footer.\n * @cssprop --border\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --gap\n * @cssprop --top\n * @cssprop --max-width\n * @cssprop --width\n * @cssprop --animation-duration - Duration of drawer open/close animations\n * @csspart icon-button - The close icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/\n */\n@typeSSR()\n@scopedRegistry()\nexport class Drawer extends LitElement {\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n * For drawer the anchor defaults to the document body.\n */\n @property({ type: String, reflect: true }) position: 'left' | 'right' | 'bottom' | 'top' = 'left';\n\n /**\n * Sets the max size of the drawer.\n */\n @property({ type: String, reflect: true }) size?: Size;\n\n /**\n * Determines if a close button should render within drawer. Non-closable\n * drawers suit drawers that require user confirmation steps.\n */\n @property({ type: Boolean }) closable: boolean;\n\n /**\n * Determines if a drawer should have a modal backdrop that visually overlays the UI.\n */\n @property({ type: Boolean, reflect: true }) modal: boolean;\n\n /**\n * (optional) By default the popover will automatically anchor itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement = globalThis.document?.body;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Create a inline layout effect while retaining the a11y characteristics and top layer behavior (light dismiss, focus trap, non interactive background)\n * https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/\n */\n @property({ type: Boolean, reflect: true }) inline: boolean;\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n /**\n * Enables internal string values to update for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /** @private */\n get popoverType(): PopoverType {\n return this.modal ? 'auto' : 'manual';\n }\n\n /** @private */\n get popoverDismissible() {\n return this.closable ?? false;\n }\n\n protected typeNativePopoverController = new TypeNativePopoverController<Drawer>(this);\n\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-drawer',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n render() {\n return html`\n <div internal-host>\n <div class=\"header\">\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" .hidden=${!this.closable} @click=${this.hidePopover} icon-name=\"cancel\" .ariaLabel=${this.i18n.close} container=\"flat\"></nve-icon-button>\n <slot name=\"header\"></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n <div>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n\n #inlineElement?: HTMLElement;\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('toggle', this.#onToggle);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('toggle', this.#onToggle);\n this.#inlineElement?.remove();\n this.#inlineElement = undefined;\n }\n\n #onToggle = (toggleEvent: ToggleEvent) => {\n if (this.inline) {\n if (this.#inlineElement && toggleEvent.newState === 'closed') {\n this.#inlineElement.remove();\n } else {\n this.#inlineElement = createGhostElement(this);\n this.after(this.#inlineElement);\n }\n }\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,IAAMI,IAAe,EACnB,OAAO,QACT,GA4BaC,IAAN,cAAqBC,EAAW;;EA6GxB,A,aAxG8E,KAAA,WAAA,QAsBhC,KAAA,SAAA,WAAW,UAAU,MAqBxC,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAKhD,KAAA,OAAA,KAAKI,GAAgB,MAYhB,KAAA,8BAAA,IAAIE,EAAoC,IAAI,GA4CvE,KAAAC,MAAA,MAA6B;GACxC,AAAI,KAAK,WACH,KAAKC,MAAkBC,EAAY,aAAa,WAClD,KAAKD,GAAe,OAAO,KAE3B,KAAKA,KAAiBE,EAAmB,IAAI,GAC7C,KAAK,MAAM,KAAKF,EAAc;EAGpC;;CAtEA;CAQA,IAAI,cAA2B;EAC7B,OAAO,KAAK,QAAQ,SAAS;CAC/B;CAGA,IAAI,qBAAqB;EACvB,OAAO,KAAK,YAAY;CAC1B;;EAIgB,KAAA,SAAAG,EAAU,CAACC,GAAehB,CAAM,CAAC;;;EAEtB,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA,GACzBiB,EAAW,SAAS,MAAMA,EAC7B;;CAEA,SAAS;EACP,OAAO,CAAI,2HAG2E,CAAC,KAAK,SAAS,YAAU,KAAK,YAAY,mCAAiC,KAAK,KAAK,MAAM;CAWnL;CAEA;CAEA,oBAA0B;EAExB,AADA,MAAM,kBAAkB,GACxB,KAAK,iBAAiB,UAAU,KAAKN,EAAS;CAChD;CAEA,uBAA6B;EAI3B,AAHA,MAAM,qBAAqB,GAC3B,KAAK,oBAAoB,UAAU,KAAKA,EAAS,GACjD,KAAKC,IAAgB,OAAO,GAC5B,KAAKA,KAAiB,KAAA;CACxB;CAEA;AAUF;AAlHGX,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAKxCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,QAAA,KAAA,CAAA,GAMxCJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAb,EAAA,WAAA,YAAA,KAAA,CAAA,GAK1BJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,SAAA,KAAA,CAAA,GAMzCJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAOzBJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,WAAA,KAAA,CAAA,GAMzBJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAAb,EAAA,WAAA,UAAA,KAAA,CAAA,GAMzCJ,EAAA,CAAAiB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAAb,EAAA,WAAA,mBAAA,KAAA,CAAA,GAOxEJ,EAAA,CAAAiB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAb,EAAA,WAAA,QAAA,KAAA,CAAA,GAvD3B,IAAAJ,EAAA,CAAAkB,EAAQ,GACRC,EAAe,CAAA,GAAAf,CAAA"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "
|
|
3
|
-
import {
|
|
1
|
+
import e from "./dropdown-footer.js";
|
|
2
|
+
import { LitElement as t, html as n } from "lit";
|
|
3
|
+
import { useStyles as r } from "@nvidia-elements/foundations/internal/styles";
|
|
4
4
|
// src/dropdown/dropdown-footer.ts
|
|
5
|
-
var i = class extends
|
|
5
|
+
var i = class extends t {
|
|
6
6
|
static {
|
|
7
|
-
this.styles =
|
|
7
|
+
this.styles = r([e]);
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.metadata = {
|
|
11
11
|
tag: "nve-dropdown-footer",
|
|
12
|
-
version: "2.23.
|
|
12
|
+
version: "2.23.6",
|
|
13
13
|
parents: ["nve-dropdown"]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return
|
|
17
|
+
return n`<div internal-host><slot></slot></div>`;
|
|
18
18
|
}
|
|
19
19
|
connectedCallback() {
|
|
20
20
|
super.connectedCallback(), this.slot = "footer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-footer2.js","names":["styles","dropdown_footer_default","DropdownFooter","LitElement","useStyles"],"sources":["../../src/dropdown/dropdown-footer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/
|
|
1
|
+
{"version":3,"file":"dropdown-footer2.js","names":["styles","dropdown_footer_default","DropdownFooter","LitElement","useStyles"],"sources":["../../src/dropdown/dropdown-footer.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport styles from './dropdown-footer.css?inline';\n\n/**\n * @element nve-dropdown-footer\n * @description Provides a fixed area at the bottom of a dropdown menu for extra actions or supplementary controls.\n * @documentation https://nvidia.github.io/elements/docs/elements/dropdown/\n * @since 0.36.0\n * @entrypoint \\@nvidia-elements/core/dropdown\n * @slot - default slot for the dropdown footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/\n */\nexport class DropdownFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-dropdown-footer',\n version: '0.0.0',\n parents: ['nve-dropdown']\n };\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'footer';\n }\n}\n"],"mappings":";;;;AAmBA,IAAaE,IAAb,cAAoCC,EAAW;;EAC7B,KAAA,SAAAC,EAAU,CAACJ,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,cAAc;EAC1B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import t from "
|
|
3
|
-
import {
|
|
1
|
+
import e from "./dropdown-header.js";
|
|
2
|
+
import { LitElement as t, html as n } from "lit";
|
|
3
|
+
import { useStyles as r } from "@nvidia-elements/foundations/internal/styles";
|
|
4
4
|
// src/dropdown/dropdown-header.ts
|
|
5
|
-
var i = class extends
|
|
5
|
+
var i = class extends t {
|
|
6
6
|
static {
|
|
7
|
-
this.styles =
|
|
7
|
+
this.styles = r([e]);
|
|
8
8
|
}
|
|
9
9
|
static {
|
|
10
10
|
this.metadata = {
|
|
11
11
|
tag: "nve-dropdown-header",
|
|
12
|
-
version: "2.23.
|
|
12
|
+
version: "2.23.6",
|
|
13
13
|
parents: ["nve-dropdown"]
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return
|
|
17
|
+
return n`<div internal-host><slot></slot></div>`;
|
|
18
18
|
}
|
|
19
19
|
connectedCallback() {
|
|
20
20
|
super.connectedCallback(), this.slot = "header";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-header2.js","names":["styles","dropdown_header_default","DropdownHeader","LitElement","useStyles"],"sources":["../../src/dropdown/dropdown-header.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/
|
|
1
|
+
{"version":3,"file":"dropdown-header2.js","names":["styles","dropdown_header_default","DropdownHeader","LitElement","useStyles"],"sources":["../../src/dropdown/dropdown-header.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport styles from './dropdown-header.css?inline';\n\n/**\n * @element nve-dropdown-header\n * @description Displays a title or contextual label at the top of a dropdown menu to categorize its contents.\n * @documentation https://nvidia.github.io/elements/docs/elements/dropdown/\n * @since 0.36.0\n * @entrypoint \\@nvidia-elements/core/dropdown\n * @slot - default slot for the dropdown header\n * @cssprop --border-bottom\n * @cssprop --padding\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/\n */\nexport class DropdownHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-dropdown-header',\n version: '0.0.0',\n parents: ['nve-dropdown']\n };\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.slot = 'header';\n }\n}\n"],"mappings":";;;;AAkBA,IAAaE,IAAb,cAAoCC,EAAW;;EAC7B,KAAA,SAAAC,EAAU,CAACJ,CAAM,CAAC;;;EAEP,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,cAAc;EAC1B;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF"}
|
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
import { audit as e } from "../internal/controllers/audit.controller.js";
|
|
2
2
|
import { TypeNativePopoverController as t } from "../internal/controllers/type-native-popover.controller.js";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import a from "
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
3
|
+
import { popoverStyles as n } from "../internal/styles/popover2.js";
|
|
4
|
+
import r from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
5
|
+
import { IconButton as i } from "../icon-button/icon-button2.js";
|
|
6
|
+
import a from "./dropdown.js";
|
|
7
|
+
import { LitElement as o, html as s } from "lit";
|
|
8
|
+
import { property as c } from "lit/decorators/property.js";
|
|
9
|
+
import { I18nController as l } from "@nvidia-elements/foundations/internal/i18n";
|
|
10
|
+
import { scopedRegistry as u } from "@nvidia-elements/foundations/internal/decorators";
|
|
11
|
+
import { useStyles as d } from "@nvidia-elements/foundations/internal/styles";
|
|
12
12
|
import { query as f } from "lit/decorators/query.js";
|
|
13
13
|
// src/dropdown/dropdown.ts
|
|
14
|
-
var p = { close: "close" }, m = class extends
|
|
14
|
+
var p = { close: "close" }, m = class extends o {
|
|
15
15
|
constructor(...e) {
|
|
16
|
-
super(...e), this.position = "bottom", this.alignment = "start", this.closable = !1, this.arrow = !1, this.modal = !0, this.popoverType = "auto", this.#e = new
|
|
16
|
+
super(...e), this.position = "bottom", this.alignment = "start", this.closable = !1, this.arrow = !1, this.modal = !0, this.popoverType = "auto", this.#e = new l(this, p), this.typeNativePopoverController = new t(this), this.i18n = this.#e.i18n;
|
|
17
17
|
}
|
|
18
18
|
static {
|
|
19
|
-
this.styles =
|
|
19
|
+
this.styles = d([n, a]);
|
|
20
20
|
}
|
|
21
21
|
static {
|
|
22
22
|
this.metadata = {
|
|
23
23
|
tag: "nve-dropdown",
|
|
24
|
-
version: "2.23.
|
|
24
|
+
version: "2.23.6"
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
static {
|
|
28
|
-
this.elementDefinitions = { [
|
|
28
|
+
this.elementDefinitions = { [i.metadata.tag]: i };
|
|
29
29
|
}
|
|
30
30
|
#e;
|
|
31
31
|
get popoverDismissible() {
|
|
32
32
|
return this.modal;
|
|
33
33
|
}
|
|
34
34
|
render() {
|
|
35
|
-
return
|
|
35
|
+
return s`<div internal-host><slot name="header"></slot>${this.closable ? s`<nve-icon-button part="icon-button" exportparts="icon:icon-button-icon" @click="${this.hidePopover}" icon-name="cancel" container="flat" size="sm" .ariaLabel="${this.i18n.close}"></nve-icon-button>` : ""}<slot></slot><slot name="footer"></slot></div>${this.arrow ? s`<div class="arrow"></div>` : ""}`;
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
r([c({ type: String })], m.prototype, "anchor", void 0), r([c({ type: String })], m.prototype, "trigger", void 0), r([c({
|
|
39
39
|
type: String,
|
|
40
40
|
reflect: !0
|
|
41
|
-
})], m.prototype, "position", void 0),
|
|
41
|
+
})], m.prototype, "position", void 0), r([c({
|
|
42
42
|
type: String,
|
|
43
43
|
reflect: !0
|
|
44
|
-
})], m.prototype, "alignment", void 0),
|
|
44
|
+
})], m.prototype, "alignment", void 0), r([c({
|
|
45
45
|
type: Boolean,
|
|
46
46
|
reflect: !0,
|
|
47
47
|
attribute: "behavior-trigger"
|
|
48
|
-
})], m.prototype, "behaviorTrigger", void 0),
|
|
48
|
+
})], m.prototype, "behaviorTrigger", void 0), r([c({ type: Boolean })], m.prototype, "closable", void 0), r([c({ type: Boolean })], m.prototype, "arrow", void 0), r([c({
|
|
49
49
|
type: Boolean,
|
|
50
50
|
reflect: !0
|
|
51
|
-
})], m.prototype, "modal", void 0),
|
|
51
|
+
})], m.prototype, "modal", void 0), r([c({
|
|
52
52
|
type: String,
|
|
53
53
|
attribute: "popover-type"
|
|
54
|
-
})], m.prototype, "popoverType", void 0),
|
|
54
|
+
})], m.prototype, "popoverType", void 0), r([f(".arrow")], m.prototype, "popoverArrow", void 0), r([c({ type: Object })], m.prototype, "i18n", void 0), m = r([e({ excessiveInstanceLimit: 50 }), u()], m);
|
|
55
55
|
export { m as Dropdown };
|
|
56
56
|
|
|
57
57
|
//# sourceMappingURL=dropdown2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown2.js","names":["styles","_decorate","__decorate","dropdown_default","i18nDefaults","Dropdown","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","useStyles","popoverStyles","IconButton","property","query","audit","scopedRegistry"],"sources":["../../src/dropdown/dropdown.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport {\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n
|
|
1
|
+
{"version":3,"file":"dropdown2.js","names":["styles","_decorate","__decorate","dropdown_default","i18nDefaults","Dropdown","LitElement","_args","#i18nController","I18nController","TypeNativePopoverController","useStyles","popoverStyles","IconButton","property","query","audit","scopedRegistry"],"sources":["../../src/dropdown/dropdown.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport {\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n TypeNativePopoverController\n} from '@nvidia-elements/core/internal';\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 styles from './dropdown.css?inline';\n\nconst i18nDefaults = {\n close: 'close'\n} satisfies I18nDefaults;\n\n/**\n * @element nve-dropdown\n * @description Generic dropdown element for rendering a variety of different content such as interactive navigation or form controls.\n * @documentation https://nvidia.github.io/elements/docs/elements/dropdown/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/dropdown\n * @event beforetoggle - Dispatched on a popover just before showing or hiding.\n * @event toggle - Dispatched on a popover element just after showing or hiding.\n * @event open - Dispatched when the dropdown opens.\n * @event close - Dispatched when the dropdown closes.\n * @slot - default slot for dropdown content\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --width\n * @cssprop --min-width\n * @cssprop --gap\n * @cssprop --arrow-transform - Transform applied to the popover arrow\n * @cssprop --animation-duration - Duration of dropdown open/close animations\n * @csspart icon-button - The close icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/\n */\n@audit({ excessiveInstanceLimit })\n@scopedRegistry()\nexport class Dropdown extends LitElement {\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-dropdown',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n /**\n * (optional) By default the popover will automatically anchor itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) position: PopoverPosition = 'bottom';\n\n /**\n * Sets the alignment of the popover relative to the provided anchor element.\n * If an arrow exists the alginment will be relative to the arrow against the anchor.\n */\n @property({ type: String, reflect: true }) alignment: PopoverAlign = 'start';\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n /**\n * Determines if a close button should render within dropdown. Non-closable\n * dropdowns suit menu or selection patterns.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * Determines if an arrow renders.\n */\n @property({ type: Boolean }) arrow = false;\n\n /** @private */\n @property({ type: Boolean, reflect: true }) modal = true;\n\n /** @private */\n @property({ type: String, attribute: 'popover-type' }) popoverType: PopoverType = 'auto';\n\n /** @private */\n @query('.arrow') popoverArrow: HTMLElement;\n\n #i18nController: I18nController<this> = new I18nController<this>(this, i18nDefaults);\n\n protected typeNativePopoverController = new TypeNativePopoverController<Dropdown>(this);\n\n /** @private */\n get popoverDismissible() {\n return this.modal;\n }\n\n /**\n * Enables internal string values to update for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"header\"></slot>\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${this.hidePopover} icon-name=\"cancel\" container=\"flat\" size=\"sm\" .ariaLabel=${this.i18n.close}></nve-icon-button>` : ''}\n <slot></slot>\n <slot name=\"footer\"></slot>\n </div>\n ${this.arrow ? html`<div class=\"arrow\"></div>` : ''}\n `;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,IAAMI,IAAe,EACnB,OAAO,QACT,GA6BaC,IAAN,cAAuBC,EAAW;;EA0EJ,A,aA9CoC,KAAA,WAAA,UAMF,KAAA,YAAA,SAY7B,KAAA,WAAA,IAKH,KAAA,QAAA,IAGe,KAAA,QAAA,IAG8B,KAAA,cAAA,QAK1C,KAAAE,KAAA,IAAIC,EAAqB,MAAML,CAAY,GAE3C,KAAA,8BAAA,IAAIM,EAAsC,IAAI,GAUnD,KAAA,OAAA,KAAKF,GAAgB;;;EAzExC,KAAA,SAAAG,EAAU,CAACC,GAAeZ,CAAM,CAAC;;;EAEtB,KAAA,WAAA;GACzB,KAAK;GACL,SAAS;EACX;;;EAE4B,KAAA,qBAAA,GACzBa,EAAW,SAAS,MAAMA,EAC7B;;CAoDA;CAKA,IAAI,qBAAqB;EACvB,OAAO,KAAK;CACd;CAOA,SAAS;EACP,OAAO,CAAI,iDAGP,KAAK,WAAW,CAAI,mFAAkF,KAAK,YAAY,8DAA4D,KAAK,KAAK,MAAM,wBAAuB,GAAG,gDAI/N,KAAK,QAAQ,CAAI,8BAA8B;CAEnD;AACF;AAvEGZ,EAAA,CAAAa,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAT,EAAA,WAAA,UAAA,KAAA,CAAA,GAOzBJ,EAAA,CAAAa,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAT,EAAA,WAAA,WAAA,KAAA,CAAA,GAKzBJ,EAAA,CAAAa,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAT,EAAA,WAAA,YAAA,KAAA,CAAA,GAMxCJ,EAAA,CAAAa,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAAT,EAAA,WAAA,aAAA,KAAA,CAAA,GAMxCJ,EAAA,CAAAa,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAAT,EAAA,WAAA,mBAAA,KAAA,CAAA,GAMxEJ,EAAA,CAAAa,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAT,EAAA,WAAA,YAAA,KAAA,CAAA,GAK1BJ,EAAA,CAAAa,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAAT,EAAA,WAAA,SAAA,KAAA,CAAA,GAG1BJ,EAAA,CAAAa,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAAT,EAAA,WAAA,SAAA,KAAA,CAAA,GAGzCJ,EAAA,CAAAa,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAe,CAAC,CAAA,GAAAT,EAAA,WAAA,eAAA,KAAA,CAAA,GAGpDJ,EAAA,CAAAc,EAAM,QAAQ,CAAA,GAAAV,EAAA,WAAA,gBAAA,KAAA,CAAA,GAcdJ,EAAA,CAAAa,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAAT,EAAA,WAAA,QAAA,KAAA,CAAA,GA5E3B,IAAAJ,EAAA,CAAAe,EAAM,EAAE,wBAAA,GAAuB,CAAC,GAChCC,EAAe,CAAA,GAAAZ,CAAA"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import { audit as e } from "../internal/controllers/audit.controller.js";
|
|
2
2
|
import { getActiveElement as t } from "../internal/utils/focus.js";
|
|
3
3
|
import { appendRootNodeStyle as n, clickOutsideElementBounds as r, getFlattenedFocusableItems as i } from "../internal/utils/dom.js";
|
|
4
|
-
import
|
|
5
|
-
import o from "
|
|
6
|
-
import s from "
|
|
7
|
-
import {
|
|
4
|
+
import a from "../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
5
|
+
import o from "./dropdown-group.global.js";
|
|
6
|
+
import { LitElement as s, html as c } from "lit";
|
|
7
|
+
import { useStyles as l } from "@nvidia-elements/foundations/internal/styles";
|
|
8
8
|
import { queryAssignedElements as u } from "lit/decorators/query-assigned-elements.js";
|
|
9
9
|
// src/dropdown-group/dropdown-group.ts
|
|
10
|
-
var d = class extends
|
|
10
|
+
var d = class extends s {
|
|
11
11
|
static {
|
|
12
|
-
this.styles =
|
|
12
|
+
this.styles = l([]);
|
|
13
13
|
}
|
|
14
14
|
static {
|
|
15
15
|
this.metadata = {
|
|
16
16
|
tag: "nve-dropdown-group",
|
|
17
|
-
version: "2.23.
|
|
17
|
+
version: "2.23.6",
|
|
18
18
|
children: ["nve-dropdown"]
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
21
|
render() {
|
|
22
|
-
return
|
|
22
|
+
return c`<div internal-host><slot @slotchange="${this.#n}"></slot></div>`;
|
|
23
23
|
}
|
|
24
24
|
#e = /* @__PURE__ */ new WeakMap();
|
|
25
25
|
#t;
|
|
26
26
|
connectedCallback() {
|
|
27
|
-
super.connectedCallback(), n(this,
|
|
27
|
+
super.connectedCallback(), n(this, o), globalThis.document?.addEventListener("pointerup", this.#r), this.addEventListener("keydown", this.#i), this.addEventListener("beforetoggle", this.#u, !0), this.addEventListener("open", this.#l), this.addEventListener("close", this.#d);
|
|
28
28
|
}
|
|
29
29
|
disconnectedCallback() {
|
|
30
30
|
super.disconnectedCallback(), globalThis.document?.removeEventListener("pointerup", this.#r), this.removeEventListener("keydown", this.#i), this.removeEventListener("beforetoggle", this.#u, !0), this.removeEventListener("open", this.#l), this.removeEventListener("close", this.#d);
|
|
@@ -87,7 +87,7 @@ var d = class extends c {
|
|
|
87
87
|
(!n || n === this.ownerDocument.body || t.some((e) => e.matches(":focus-within"))) && e?.isConnected && e.focus();
|
|
88
88
|
}
|
|
89
89
|
};
|
|
90
|
-
|
|
90
|
+
a([u({ selector: "nve-dropdown" })], d.prototype, "dropdowns", void 0), d = a([e()], d);
|
|
91
91
|
export { d as DropdownGroup };
|
|
92
92
|
|
|
93
93
|
//# sourceMappingURL=dropdown-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-group.js","names":["globalStyles","_decorate","__decorate","dropdown_group_global_default","DropdownGroup","LitElement","useStyles","#syncDropdowns","appendRootNodeStyle","#pointerup","#keydown","#onBeforeToggle","#onOpen","#onClose","dropdowns","dropdown","clickOutsideElementBounds","event","isNavigationKey","path","boundary","#findDropdownBoundary","#findOwnedDropdown","#navigate","node","target","getActiveElement","rtl","openKey","closeKey","#openSubmenu","trigger","submenu","#rootDropdown","#openingTriggers","getFlattenedFocusableItems","activeElement","item","queryAssignedElements","audit"],"sources":["../../src/dropdown-group/dropdown-group.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 { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport {\n clickOutsideElementBounds,\n appendRootNodeStyle,\n getFlattenedFocusableItems,\n getActiveElement,\n useStyles,\n audit\n} from '@nvidia-elements/core/internal';\nimport type { Dropdown } from '@nvidia-elements/core/dropdown';\nimport globalStyles from './dropdown-group.global.css?inline';\n\n/**\n * @element nve-dropdown-group\n * @description A dropdown group coordinates linked dropdowns and cascading submenus.\n * @documentation https://nvidia.github.io/elements/docs/elements/dropdown-group/\n * @since 1.30.1\n * @entrypoint \\@nvidia-elements/core/dropdown-group\n * @slot - default slot for dropdown content\n * @event open - Dispatched when a dropdown in the group opens\n * @event close - Dispatched when a dropdown in the group closes\n * @cssprop --arrow-transform - Transform applied to the popover arrow\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/\n */\n@audit()\nexport class DropdownGroup extends LitElement {\n static styles = useStyles([]);\n\n static readonly metadata = {\n tag: 'nve-dropdown-group',\n version: '0.0.0',\n children: ['nve-dropdown']\n };\n\n @queryAssignedElements({ selector: 'nve-dropdown' }) protected dropdowns!: Dropdown[];\n\n render() {\n return html`\n <div internal-host>\n <slot @slotchange=${this.#syncDropdowns}></slot>\n </div>\n `;\n }\n\n #openingTriggers = new WeakMap<Dropdown, HTMLElement>();\n #rootDropdown?: Dropdown;\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n globalThis.document?.addEventListener('pointerup', this.#pointerup);\n this.addEventListener('keydown', this.#keydown);\n this.addEventListener('beforetoggle', this.#onBeforeToggle, true);\n this.addEventListener('open', this.#onOpen as EventListener);\n this.addEventListener('close', this.#onClose as EventListener);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis.document?.removeEventListener('pointerup', this.#pointerup);\n this.removeEventListener('keydown', this.#keydown);\n this.removeEventListener('beforetoggle', this.#onBeforeToggle, true);\n this.removeEventListener('open', this.#onOpen as EventListener);\n this.removeEventListener('close', this.#onClose as EventListener);\n }\n\n #syncDropdowns() {\n this.dropdowns.forEach(dropdown => {\n dropdown.popoverType = 'manual';\n });\n }\n\n #pointerup = (event: PointerEvent) => {\n const dropdowns = this.dropdowns.filter(dropdown => dropdown.matches(':popover-open'));\n if (dropdowns.length && dropdowns.every(dropdown => clickOutsideElementBounds(event, dropdown))) {\n this.close();\n }\n };\n\n #keydown(event: KeyboardEvent) {\n const isNavigationKey = event.code === 'Escape' || event.code === 'ArrowLeft' || event.code === 'ArrowRight';\n if (event.defaultPrevented || !isNavigationKey) return;\n const path = event.composedPath();\n const boundary = this.#findDropdownBoundary(path);\n const dropdown = this.#findOwnedDropdown(boundary);\n if (!dropdown && boundary !== this) return;\n\n if (event.code === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n return;\n }\n if (dropdown) this.#navigate(event, path, dropdown);\n }\n\n #findDropdownBoundary(path: EventTarget[]) {\n return path.find(\n node =>\n node instanceof HTMLElement && (node.localName === 'nve-dropdown' || node.localName === 'nve-dropdown-group')\n );\n }\n\n #navigate(event: KeyboardEvent, path: EventTarget[], dropdown: Dropdown) {\n const target = getActiveElement(this.ownerDocument);\n if (!(target instanceof HTMLElement) || !path.includes(target)) return;\n const rtl = getComputedStyle(this).direction === 'rtl';\n const openKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n const closeKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n\n if (event.code === openKey) {\n this.#openSubmenu(target, event);\n return;\n }\n\n if (event.code === closeKey && target.localName === 'nve-menu-item') {\n event.preventDefault();\n event.stopPropagation();\n dropdown.hidePopover();\n }\n }\n\n #openSubmenu(trigger: HTMLElement, event: KeyboardEvent) {\n if (trigger.matches('[disabled]') || !('popoverTargetElement' in trigger)) return;\n const target = trigger.popoverTargetElement;\n const submenu = this.#findOwnedDropdown(target);\n if (!submenu) return;\n event.preventDefault();\n event.stopPropagation();\n submenu.showPopover({ source: trigger });\n }\n\n #findOwnedDropdown(target: unknown): Dropdown | undefined {\n return this.dropdowns.find(dropdown => dropdown === target);\n }\n\n #onOpen(event: CustomEvent<{ trigger?: HTMLElement }>) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown) {\n if (!this.#rootDropdown?.matches(':popover-open')) {\n this.#rootDropdown = dropdown;\n }\n this.#openingTriggers.delete(dropdown);\n if (event.detail?.trigger instanceof HTMLElement) {\n this.#openingTriggers.set(dropdown, event.detail.trigger);\n }\n getFlattenedFocusableItems(dropdown)[0]?.focus();\n }\n }\n\n #onBeforeToggle(event: ToggleEvent) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown && event.newState === 'closed' && !dropdown.matches(':focus-within')) {\n this.#openingTriggers.delete(dropdown);\n }\n }\n\n #onClose(event: CustomEvent) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown) {\n const trigger = this.#openingTriggers.get(dropdown);\n if (dropdown === this.#rootDropdown) {\n this.#rootDropdown = undefined;\n }\n this.#openingTriggers.delete(dropdown);\n const activeElement = this.ownerDocument.activeElement;\n const focusLost = !activeElement || activeElement === this.ownerDocument.body;\n const restoreFocus = focusLost || dropdown.matches(':focus-within');\n if (restoreFocus && trigger?.isConnected) {\n trigger.focus();\n }\n }\n }\n\n /** Closes every descendant dropdown in the group. */\n close() {\n const trigger = this.#rootDropdown ? this.#openingTriggers.get(this.#rootDropdown) : undefined;\n this.#rootDropdown = undefined;\n this.#openingTriggers = new WeakMap();\n const dropdowns = Array.from(this.querySelectorAll('nve-dropdown'));\n dropdowns.forEach(dropdown => dropdown.hidePopover());\n const activeElement = this.ownerDocument.activeElement;\n const focusLost = !activeElement || activeElement === this.ownerDocument.body;\n const restoreFocus = focusLost || dropdowns.some(item => item.matches(':focus-within'));\n if (restoreFocus && trigger?.isConnected) {\n trigger.focus();\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-group.js","names":["globalStyles","_decorate","__decorate","dropdown_group_global_default","DropdownGroup","LitElement","useStyles","#syncDropdowns","appendRootNodeStyle","#pointerup","#keydown","#onBeforeToggle","#onOpen","#onClose","dropdowns","dropdown","clickOutsideElementBounds","event","isNavigationKey","path","boundary","#findDropdownBoundary","#findOwnedDropdown","#navigate","node","target","getActiveElement","rtl","openKey","closeKey","#openSubmenu","trigger","submenu","#rootDropdown","#openingTriggers","getFlattenedFocusableItems","activeElement","item","queryAssignedElements","audit"],"sources":["../../src/dropdown-group/dropdown-group.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 { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport {\n clickOutsideElementBounds,\n appendRootNodeStyle,\n getFlattenedFocusableItems,\n getActiveElement,\n audit\n} from '@nvidia-elements/core/internal';\nimport { useStyles } from '@nvidia-elements/foundations/internal/styles';\nimport type { Dropdown } from '@nvidia-elements/core/dropdown';\nimport globalStyles from './dropdown-group.global.css?inline';\n\n/**\n * @element nve-dropdown-group\n * @description A dropdown group coordinates linked dropdowns and cascading submenus.\n * @documentation https://nvidia.github.io/elements/docs/elements/dropdown-group/\n * @since 1.30.1\n * @entrypoint \\@nvidia-elements/core/dropdown-group\n * @slot - default slot for dropdown content\n * @event open - Dispatched when a dropdown in the group opens\n * @event close - Dispatched when a dropdown in the group closes\n * @cssprop --arrow-transform - Transform applied to the popover arrow\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/menubar/\n */\n@audit()\nexport class DropdownGroup extends LitElement {\n static styles = useStyles([]);\n\n static readonly metadata = {\n tag: 'nve-dropdown-group',\n version: '0.0.0',\n children: ['nve-dropdown']\n };\n\n @queryAssignedElements({ selector: 'nve-dropdown' }) protected dropdowns!: Dropdown[];\n\n render() {\n return html`\n <div internal-host>\n <slot @slotchange=${this.#syncDropdowns}></slot>\n </div>\n `;\n }\n\n #openingTriggers = new WeakMap<Dropdown, HTMLElement>();\n #rootDropdown?: Dropdown;\n\n connectedCallback() {\n super.connectedCallback();\n appendRootNodeStyle(this, globalStyles);\n globalThis.document?.addEventListener('pointerup', this.#pointerup);\n this.addEventListener('keydown', this.#keydown);\n this.addEventListener('beforetoggle', this.#onBeforeToggle, true);\n this.addEventListener('open', this.#onOpen as EventListener);\n this.addEventListener('close', this.#onClose as EventListener);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n globalThis.document?.removeEventListener('pointerup', this.#pointerup);\n this.removeEventListener('keydown', this.#keydown);\n this.removeEventListener('beforetoggle', this.#onBeforeToggle, true);\n this.removeEventListener('open', this.#onOpen as EventListener);\n this.removeEventListener('close', this.#onClose as EventListener);\n }\n\n #syncDropdowns() {\n this.dropdowns.forEach(dropdown => {\n dropdown.popoverType = 'manual';\n });\n }\n\n #pointerup = (event: PointerEvent) => {\n const dropdowns = this.dropdowns.filter(dropdown => dropdown.matches(':popover-open'));\n if (dropdowns.length && dropdowns.every(dropdown => clickOutsideElementBounds(event, dropdown))) {\n this.close();\n }\n };\n\n #keydown(event: KeyboardEvent) {\n const isNavigationKey = event.code === 'Escape' || event.code === 'ArrowLeft' || event.code === 'ArrowRight';\n if (event.defaultPrevented || !isNavigationKey) return;\n const path = event.composedPath();\n const boundary = this.#findDropdownBoundary(path);\n const dropdown = this.#findOwnedDropdown(boundary);\n if (!dropdown && boundary !== this) return;\n\n if (event.code === 'Escape') {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n return;\n }\n if (dropdown) this.#navigate(event, path, dropdown);\n }\n\n #findDropdownBoundary(path: EventTarget[]) {\n return path.find(\n node =>\n node instanceof HTMLElement && (node.localName === 'nve-dropdown' || node.localName === 'nve-dropdown-group')\n );\n }\n\n #navigate(event: KeyboardEvent, path: EventTarget[], dropdown: Dropdown) {\n const target = getActiveElement(this.ownerDocument);\n if (!(target instanceof HTMLElement) || !path.includes(target)) return;\n const rtl = getComputedStyle(this).direction === 'rtl';\n const openKey = rtl ? 'ArrowLeft' : 'ArrowRight';\n const closeKey = rtl ? 'ArrowRight' : 'ArrowLeft';\n\n if (event.code === openKey) {\n this.#openSubmenu(target, event);\n return;\n }\n\n if (event.code === closeKey && target.localName === 'nve-menu-item') {\n event.preventDefault();\n event.stopPropagation();\n dropdown.hidePopover();\n }\n }\n\n #openSubmenu(trigger: HTMLElement, event: KeyboardEvent) {\n if (trigger.matches('[disabled]') || !('popoverTargetElement' in trigger)) return;\n const target = trigger.popoverTargetElement;\n const submenu = this.#findOwnedDropdown(target);\n if (!submenu) return;\n event.preventDefault();\n event.stopPropagation();\n submenu.showPopover({ source: trigger });\n }\n\n #findOwnedDropdown(target: unknown): Dropdown | undefined {\n return this.dropdowns.find(dropdown => dropdown === target);\n }\n\n #onOpen(event: CustomEvent<{ trigger?: HTMLElement }>) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown) {\n if (!this.#rootDropdown?.matches(':popover-open')) {\n this.#rootDropdown = dropdown;\n }\n this.#openingTriggers.delete(dropdown);\n if (event.detail?.trigger instanceof HTMLElement) {\n this.#openingTriggers.set(dropdown, event.detail.trigger);\n }\n getFlattenedFocusableItems(dropdown)[0]?.focus();\n }\n }\n\n #onBeforeToggle(event: ToggleEvent) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown && event.newState === 'closed' && !dropdown.matches(':focus-within')) {\n this.#openingTriggers.delete(dropdown);\n }\n }\n\n #onClose(event: CustomEvent) {\n const dropdown = this.#findOwnedDropdown(event.composedPath()[0]);\n if (dropdown) {\n const trigger = this.#openingTriggers.get(dropdown);\n if (dropdown === this.#rootDropdown) {\n this.#rootDropdown = undefined;\n }\n this.#openingTriggers.delete(dropdown);\n const activeElement = this.ownerDocument.activeElement;\n const focusLost = !activeElement || activeElement === this.ownerDocument.body;\n const restoreFocus = focusLost || dropdown.matches(':focus-within');\n if (restoreFocus && trigger?.isConnected) {\n trigger.focus();\n }\n }\n }\n\n /** Closes every descendant dropdown in the group. */\n close() {\n const trigger = this.#rootDropdown ? this.#openingTriggers.get(this.#rootDropdown) : undefined;\n this.#rootDropdown = undefined;\n this.#openingTriggers = new WeakMap();\n const dropdowns = Array.from(this.querySelectorAll('nve-dropdown'));\n dropdowns.forEach(dropdown => dropdown.hidePopover());\n const activeElement = this.ownerDocument.activeElement;\n const focusLost = !activeElement || activeElement === this.ownerDocument.body;\n const restoreFocus = focusLost || dropdowns.some(item => item.matches(':focus-within'));\n if (restoreFocus && trigger?.isConnected) {\n trigger.focus();\n }\n }\n}\n"],"mappings":"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"}
|