@nvidia-elements/core 0.0.9 → 0.0.11
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 +20 -0
- package/dist/accordion/accordion.examples.json +11 -11
- package/dist/accordion/accordion2.js +4 -4
- package/dist/alert/alert-group2.js +1 -1
- package/dist/alert/alert.examples.json +12 -12
- package/dist/alert/alert2.js +1 -1
- package/dist/avatar/avatar-group2.js +1 -1
- package/dist/avatar/avatar.examples.json +6 -6
- package/dist/avatar/avatar2.js +1 -1
- package/dist/badge/badge.examples.json +12 -12
- package/dist/badge/badge2.js +1 -1
- package/dist/breadcrumb/breadcrumb.examples.json +3 -3
- package/dist/breadcrumb/breadcrumb2.js +1 -1
- package/dist/bundles/index.d.ts +1 -0
- package/dist/bundles/index.js +3 -3
- package/dist/button/button.examples.json +24 -24
- package/dist/button/button2.js +1 -1
- package/dist/button-group/button-group.examples.json +11 -11
- package/dist/button-group/button-group2.js +1 -1
- package/dist/card/card.examples.json +10 -10
- package/dist/card/card2.js +4 -4
- package/dist/chat-message/chat-message.examples.json +7 -7
- package/dist/chat-message/chat-message2.js +1 -1
- package/dist/checkbox/checkbox-group2.js +1 -1
- package/dist/checkbox/checkbox.examples.json +7 -7
- package/dist/checkbox/checkbox2.js +1 -1
- package/dist/color/color.examples.json +4 -4
- package/dist/color/color2.js +1 -1
- package/dist/combobox/combobox.examples.json +24 -24
- package/dist/combobox/combobox2.js +1 -1
- package/dist/copy-button/copy-button.examples.json +9 -9
- package/dist/copy-button/copy-button2.js +1 -1
- package/dist/custom-elements-jsx.d.ts +2 -0
- package/dist/custom-elements-vue.d.ts +2 -0
- package/dist/custom-elements.json +35 -77
- package/dist/data.html.json +3 -1
- package/dist/date/date.examples.json +7 -7
- package/dist/date/date2.js +1 -1
- package/dist/datetime/datetime.examples.json +4 -4
- package/dist/datetime/datetime2.js +1 -1
- package/dist/dialog/dialog-footer2.js +1 -1
- package/dist/dialog/dialog-header2.js +1 -1
- package/dist/dialog/dialog.examples.json +21 -21
- package/dist/dialog/dialog2.js +1 -1
- package/dist/divider/divider.examples.json +5 -5
- package/dist/divider/divider2.js +1 -1
- package/dist/dot/dot.examples.json +5 -5
- package/dist/dot/dot2.js +1 -1
- package/dist/drawer/drawer-content2.js +1 -1
- package/dist/drawer/drawer-footer2.js +1 -1
- package/dist/drawer/drawer-header2.js +1 -1
- package/dist/drawer/drawer.examples.json +13 -13
- package/dist/drawer/drawer2.js +1 -1
- package/dist/dropdown/dropdown-footer2.js +1 -1
- package/dist/dropdown/dropdown-header2.js +1 -1
- package/dist/dropdown/dropdown.examples.json +14 -14
- package/dist/dropdown/dropdown2.js +1 -1
- package/dist/dropdown-group/dropdown-group.examples.json +4 -4
- package/dist/dropdown-group/dropdown-group.js +1 -1
- package/dist/dropzone/dropzone.examples.json +3 -3
- package/dist/dropzone/dropzone2.js +1 -1
- package/dist/file/file.examples.json +3 -3
- package/dist/file/file2.js +1 -1
- package/dist/format-datetime/format-datetime.examples.json +9 -9
- package/dist/format-datetime/format-datetime2.js +1 -1
- package/dist/format-relative-time/format-relative-time.examples.json +7 -7
- package/dist/format-relative-time/format-relative-time2.js +1 -1
- package/dist/forms/actions.examples.json +3 -3
- package/dist/forms/control/control.examples.json +11 -11
- package/dist/forms/control/control2.js +1 -1
- package/dist/forms/control-group/control-group2.js +1 -1
- package/dist/forms/control-message/control-message2.js +1 -1
- package/dist/forms/forms.examples.json +8 -8
- package/dist/forms/validation.examples.json +5 -5
- package/dist/grid/cell/cell2.js +1 -1
- package/dist/grid/column/column2.js +1 -1
- package/dist/grid/footer/footer2.js +1 -1
- package/dist/grid/grid.examples.js.map +1 -1
- package/dist/grid/grid.examples.json +45 -45
- package/dist/grid/grid2.js +1 -1
- package/dist/grid/header/header2.js +2 -2
- package/dist/grid/header/header2.js.map +1 -1
- package/dist/grid/placeholder/placeholder2.js +1 -1
- package/dist/grid/row/row2.js +1 -1
- package/dist/icon/icon.examples.json +8 -8
- package/dist/icon/icon2.js +2 -2
- package/dist/icon/icons/stop.js +6 -0
- package/dist/icon/icons/stop.js.map +1 -0
- package/dist/icon/icons.d.ts +1 -0
- package/dist/icon/icons.js +1 -0
- package/dist/icon/icons.js.map +1 -1
- package/dist/icon/server.js +1 -0
- package/dist/icon/server.js.map +1 -1
- package/dist/icon-button/icon-button.examples.json +13 -13
- package/dist/icon-button/icon-button2.js +1 -1
- package/dist/index.js +1 -1
- package/dist/input/input-group.examples.json +2 -2
- package/dist/input/input-group2.js +1 -1
- package/dist/input/input.examples.json +8 -8
- package/dist/input/input2.js +1 -1
- package/dist/internal/controllers/i18n.controller.examples.json +1 -1
- package/dist/internal/controllers/keynav-grid.controller.examples.json +2 -2
- package/dist/internal/controllers/keynav-grid.controller.js +15 -7
- package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
- package/dist/internal/controllers/keynav-list.controller.examples.json +4 -4
- package/dist/internal/controllers/keynav-list.controller.js +11 -5
- package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
- package/dist/internal/controllers/popover.examples.json +8 -8
- package/dist/internal/controllers/type-button.controller.examples.json +1 -1
- package/dist/internal/controllers/type-popover.controller.examples.json +2 -2
- package/dist/internal/controllers/type-touch.controller.examples.json +1 -1
- package/dist/internal/services/global.service.js +1 -1
- package/dist/logo/logo.examples.json +6 -6
- package/dist/logo/logo2.js +1 -1
- package/dist/menu/menu-item2.js +1 -1
- package/dist/menu/menu.examples.json +15 -15
- package/dist/menu/menu2.js +1 -1
- package/dist/month/month.examples.json +4 -4
- package/dist/month/month2.js +1 -1
- package/dist/notification/notification-group2.js +1 -1
- package/dist/notification/notification.examples.json +15 -15
- package/dist/notification/notification2.js +1 -1
- package/dist/page/page-panel/page-panel-content2.js +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +1 -1
- package/dist/page/page-panel/page-panel-header2.js +1 -1
- package/dist/page/page-panel/page-panel2.js +1 -1
- package/dist/page/page.examples.js.map +1 -1
- package/dist/page/page.examples.json +36 -34
- package/dist/page/page2.js +1 -1
- package/dist/page-header/page-header.examples.json +9 -9
- package/dist/page-header/page-header2.js +1 -1
- package/dist/page-loader/page-loader.examples.json +2 -2
- package/dist/page-loader/page-loader2.js +1 -1
- package/dist/pagination/pagination.examples.json +16 -16
- package/dist/pagination/pagination2.js +1 -1
- package/dist/panel/panel.examples.json +7 -7
- package/dist/panel/panel2.js +4 -4
- package/dist/password/password.examples.json +3 -3
- package/dist/password/password2.js +1 -1
- package/dist/preferences-input/preferences-input.examples.json +3 -3
- package/dist/preferences-input/preferences-input2.js +1 -1
- package/dist/progress-bar/progress-bar.examples.js.map +1 -1
- package/dist/progress-bar/progress-bar.examples.json +9 -9
- package/dist/progress-bar/progress-bar2.js +1 -1
- package/dist/progress-ring/progress-ring.examples.json +8 -8
- package/dist/progress-ring/progress-ring2.js +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip.examples.json +7 -7
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
- package/dist/pulse/pulse.examples.json +4 -4
- package/dist/pulse/pulse2.js +1 -1
- package/dist/radio/radio-group2.js +1 -1
- package/dist/radio/radio.examples.json +5 -5
- package/dist/radio/radio2.js +1 -1
- package/dist/range/range.examples.json +9 -9
- package/dist/range/range2.js +1 -1
- package/dist/resize-handle/resize-handle.examples.json +7 -7
- package/dist/resize-handle/resize-handle2.js +1 -1
- package/dist/search/search.examples.json +5 -5
- package/dist/search/search2.js +1 -1
- package/dist/select/select.examples.json +18 -18
- package/dist/select/select2.js +1 -1
- package/dist/skeleton/skeleton.examples.json +4 -4
- package/dist/skeleton/skeleton2.js +1 -1
- package/dist/sort-button/sort-button.examples.json +3 -3
- package/dist/sort-button/sort-button2.js +1 -1
- package/dist/sparkline/sparkline.examples.json +13 -13
- package/dist/sparkline/sparkline.utils.d.ts +26 -5
- package/dist/sparkline/sparkline.utils.js +30 -30
- package/dist/sparkline/sparkline.utils.js.map +1 -1
- package/dist/sparkline/sparkline2.js +21 -6
- package/dist/sparkline/sparkline2.js.map +1 -1
- package/dist/star-rating/star-rating.examples.json +4 -4
- package/dist/star-rating/star-rating2.js +1 -1
- package/dist/steps/steps.examples.json +5 -5
- package/dist/steps/steps2.js +2 -2
- package/dist/switch/switch-group2.js +1 -1
- package/dist/switch/switch.examples.json +7 -7
- package/dist/switch/switch2.js +1 -1
- package/dist/tabs/tabs-group2.js +9 -6
- package/dist/tabs/tabs-group2.js.map +1 -1
- package/dist/tabs/tabs.examples.json +14 -14
- package/dist/tabs/tabs2.js +2 -2
- package/dist/tag/tag.examples.json +8 -8
- package/dist/tag/tag2.js +1 -1
- package/dist/textarea/textarea.examples.json +5 -5
- package/dist/textarea/textarea2.js +1 -1
- package/dist/time/time.examples.json +4 -4
- package/dist/time/time2.js +1 -1
- package/dist/toast/toast.examples.json +11 -11
- package/dist/toast/toast2.js +1 -1
- package/dist/toggletip/toggletip-footer2.js +1 -1
- package/dist/toggletip/toggletip-header2.js +1 -1
- package/dist/toggletip/toggletip.examples.json +12 -12
- package/dist/toggletip/toggletip2.js +1 -1
- package/dist/toolbar/toolbar.examples.json +8 -8
- package/dist/toolbar/toolbar2.js +1 -1
- package/dist/tooltip/tooltip.examples.json +22 -22
- package/dist/tooltip/tooltip2.js +1 -1
- package/dist/tree/tree-node2.js +1 -1
- package/dist/tree/tree.examples.json +13 -13
- package/dist/tree/tree2.js +1 -1
- package/dist/week/week.examples.json +5 -5
- package/dist/week/week2.js +1 -1
- package/package.json +3 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/drawer/drawer.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "drawer",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-drawer id=\"drawer\" closable modal>\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-button popovertarget=\"drawer\">button</nve-button>\n",
|
|
9
9
|
"summary": "Basic modal drawer with header, content, and footer sections. Use for displaying detailed information, forms, or settings that need more space than a dialog, typically sliding in from the side of the screen.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "drawer-visual",
|
|
16
16
|
"name": "Visual",
|
|
17
17
|
"template": "<nve-drawer closable>\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
18
18
|
"summary": "Complete drawer layout pattern with header, scrollable content, and footer sections for consistent drawer structure.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "drawer-scroll",
|
|
27
27
|
"name": "Scroll",
|
|
28
28
|
"template": "<nve-drawer closable>\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\" style=\"height: 2500px\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
29
29
|
"summary": "Drawer with scrollable content for overflow behavior. Use when drawer content exceeds viewport height, ensuring header and footer remain fixed while content scrolls independently.",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
]
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
"id": "
|
|
37
|
+
"id": "drawer-events",
|
|
38
38
|
"name": "Events",
|
|
39
39
|
"template": "<nve-drawer id=\"drawer\" closable modal position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n</nve-drawer>\n<nve-button popovertarget=\"drawer\">open</nve-button>\n<script type=\"module\">\n const drawer = document.querySelector(\"nve-drawer\");\n drawer.addEventListener(\"beforetoggle\", () => console.log(\"beforetoggle\"));\n drawer.addEventListener(\"toggle\", () => console.log(\"toggle\"));\n drawer.addEventListener(\"open\", () => console.log(\"open\"));\n drawer.addEventListener(\"close\", () => console.log(\"close\"));\n</script>\n",
|
|
40
40
|
"summary": "Event handling for drawer open, close, and toggle events. Useful for adding custom behavior when drawer state changes.",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
]
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
|
-
"id": "
|
|
48
|
+
"id": "drawer-small",
|
|
49
49
|
"name": "Small",
|
|
50
50
|
"template": "<nve-drawer size=\"sm\" closable>\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
51
51
|
"summary": "Small drawer size for compact side panels and quick actions. Ideal for navigation menus, filters, or supplementary information that shouldn't dominate the screen.",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
|
-
"id": "
|
|
59
|
+
"id": "drawer-large",
|
|
60
60
|
"name": "Large",
|
|
61
61
|
"template": "<nve-drawer size=\"lg\" closable>\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
62
62
|
"summary": "Large drawer size for comprehensive content like detailed forms or settings panels. Use when users need significant screen space for complex tasks without leaving the current page context.",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
|
-
"id": "
|
|
70
|
+
"id": "drawer-non-closable",
|
|
71
71
|
"name": "NonClosable",
|
|
72
72
|
"template": "<nve-button id=\"open-btn\">open</nve-button>\n<nve-drawer hidden modal>\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n<script type=\"module\">\n const drawer = document.querySelector(\"nve-drawer\");\n const open = document.querySelector(\"#open-btn\");\n const cancel = document.querySelector(\"#cancel-btn\");\n open.addEventListener(\"click\", () => (drawer.hidden = false));\n cancel.addEventListener(\"click\", () => (drawer.hidden = true));\n</script>\n",
|
|
73
73
|
"summary": "Non-closable drawer requiring explicit user action to close. Use for critical workflows or multi-step processes where users must complete or explicitly cancel actions, preventing accidental dismissal.",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
"id": "
|
|
81
|
+
"id": "drawer-position",
|
|
82
82
|
"name": "Position",
|
|
83
83
|
"template": "<div nve-layout=\"row align:center gap:md\">\n <nve-button popovertarget=\"popover-top\">open top</nve-button>\n <nve-button popovertarget=\"popover-left\">open left</nve-button>\n <nve-button popovertarget=\"popover-right\">open right</nve-button>\n <nve-button popovertarget=\"popover-bottom\">open bottom</nve-button>\n</div>\n<nve-drawer id=\"popover-top\" closable modal position=\"top\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Top</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\" style=\"height: 200px\">some text content in a top closable drawer</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">some text footer content</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-drawer id=\"popover-left\" closable modal position=\"left\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Left</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-drawer id=\"popover-right\" closable modal position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Right</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">some text content in a right closable drawer</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">some text footer content</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-drawer id=\"popover-bottom\" closable modal position=\"bottom\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Bottom</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\" style=\"height: 200px\">some text content in a bottom closable drawer</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">some text footer content</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
84
84
|
"summary": "Drawer positioning from all four screen edges. Use position based on content type and user workflow: right for details/settings, left for navigation, top/bottom for notifications or quick actions that span the width.",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
]
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
|
-
"id": "
|
|
92
|
+
"id": "drawer-legacy-position",
|
|
93
93
|
"name": "LegacyPosition",
|
|
94
94
|
"template": "<div nve-layout=\"row align:center gap:md\" style=\"height: 95vh\">\n <nve-button class=\"drawer-btn-left\">open left</nve-button>\n <nve-button class=\"drawer-btn-right\">open right</nve-button>\n <nve-button class=\"drawer-btn-bottom\">open bottom</nve-button>\n</div>\n<nve-drawer closable modal hidden position=\"left\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Left</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-drawer closable modal hidden position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Right</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">some text content in a right closable drawer</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">some text footer content</p>\n </nve-drawer-footer>\n</nve-drawer>\n<nve-drawer closable modal hidden position=\"bottom\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header Bottom</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">some text content in a bottom closable drawer</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">some text footer content</p>\n </nve-drawer-footer>\n</nve-drawer>\n<script type=\"module\">\n const leftDrawer = document.querySelector('nve-drawer[position=\"left\"]');\n document.querySelector(\".drawer-btn-left\").addEventListener(\"click\", () => {\n leftDrawer.position = \"left\";\n leftDrawer.hidden = false;\n });\n const rightDrawer = document.querySelector('nve-drawer[position=\"right\"]');\n document.querySelector(\".drawer-btn-right\").addEventListener(\"click\", () => {\n rightDrawer.position = \"right\";\n rightDrawer.hidden = false;\n });\n const bottomDrawer = document.querySelector('nve-drawer[position=\"bottom\"]');\n document.querySelector(\".drawer-btn-bottom\").addEventListener(\"click\", () => {\n bottomDrawer.position = \"bottom\";\n bottomDrawer.hidden = false;\n });\n leftDrawer.addEventListener(\"close\", () => (leftDrawer.hidden = true));\n rightDrawer.addEventListener(\"close\", () => (rightDrawer.hidden = true));\n bottomDrawer.addEventListener(\"close\", () => (bottomDrawer.hidden = true));\n</script>\n",
|
|
95
95
|
"summary": "Legacy drawer positioning with manual visibility management. Uses an older pattern with programmatic position control and event handling for backward compatibility.",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
]
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
|
-
"id": "
|
|
103
|
+
"id": "drawer-inline",
|
|
104
104
|
"name": "Inline",
|
|
105
105
|
"template": "<div nve-layout=\"row align:horizontal-stretch\">\n <div nve-layout=\"column gap:md align:stretch\">\n <nve-card style=\"height: 200px\">\n <nve-card-content>\n <nve-button popovertarget=\"drawer\">inline drawer</nve-button>\n </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 200px\"></nve-card>\n </div>\n <nve-drawer id=\"drawer\" closable modal inline position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n </nve-drawer>\n</div>\n",
|
|
106
106
|
"summary": "Inline drawer constrained within a parent container rather than full viewport. Perfect for detail panels within cards or sections, maintaining context without overlaying the entire application.",
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
]
|
|
112
112
|
},
|
|
113
113
|
{
|
|
114
|
-
"id": "
|
|
114
|
+
"id": "drawer-inline-visible",
|
|
115
115
|
"name": "InlineVisible",
|
|
116
116
|
"template": "<div nve-layout=\"row align:horizontal-stretch\">\n <div nve-layout=\"column gap:md align:stretch\">\n <nve-card style=\"height: 200px\">\n <nve-card-content> open inline drawer </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 200px\"></nve-card>\n </div>\n <nve-drawer id=\"drawer\" inline position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n </nve-drawer>\n</div>\n",
|
|
117
117
|
"summary": "Inline drawer in persistent open state for always-visible side panels. Use for navigation, filters, or contextual information that should remain accessible while users interact with main content.",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
]
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
|
-
"id": "
|
|
125
|
+
"id": "drawer-legacy-inline",
|
|
126
126
|
"name": "LegacyInline",
|
|
127
127
|
"template": "<div nve-layout=\"row align:stretch\">\n <div nve-layout=\"column gap:md align:horizontal-stretch\">\n <nve-card style=\"height: 200px\">\n <nve-card-content>\n <nve-button>open inline drawer</nve-button>\n </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 200px\"></nve-card>\n </div>\n <nve-drawer hidden closable modal inline position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading semibold sm\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n </nve-drawer>\n</div>\n<script type=\"module\">\n const drawer = document.querySelector(\"nve-drawer\");\n const open = document.querySelector(\"nve-button\");\n open.addEventListener(\"click\", () => (drawer.hidden = false));\n drawer.addEventListener(\"close\", () => (drawer.hidden = true));\n</script>\n",
|
|
128
128
|
"summary": "Legacy inline drawer pattern with manual visibility control. Uses an older implementation for inline drawer management; prefer the modern popovertarget API for new implementations.",
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
]
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
|
-
"id": "
|
|
136
|
+
"id": "drawer-legacy-behavior-trigger",
|
|
137
137
|
"name": "LegacyBehaviorTrigger",
|
|
138
138
|
"template": "<nve-button id=\"drawer-btn\">open</nve-button>\n<nve-drawer behavior-trigger trigger=\"drawer-btn\" closable modal hidden position=\"right\">\n <nve-drawer-header>\n <h3 nve-text=\"heading\">Drawer Header</h3>\n </nve-drawer-header>\n <nve-drawer-content>\n <p nve-text=\"body\">drawer content</p>\n </nve-drawer-content>\n <nve-drawer-footer>\n <p nve-text=\"body\">drawer footer</p>\n </nve-drawer-footer>\n</nve-drawer>\n",
|
|
139
139
|
"summary": "Legacy behavior-trigger pattern for automatic drawer lifecycle management. Deprecated approach that auto-manages visibility and state, prefer modern popovertarget API for new implementations.",
|
package/dist/drawer/drawer2.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/dropdown/dropdown.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "dropdown",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-button popovertarget=\"dropdown\">button</nve-button>\n<nve-dropdown id=\"dropdown\">dropdown content</nve-dropdown>\n",
|
|
9
9
|
"summary": "Basic dropdown implementation using popovertarget attribute to connect trigger and dropdown. Useful for simple dropdown menus.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "dropdown-menu",
|
|
16
16
|
"name": "Menu",
|
|
17
17
|
"template": "<nve-button popovertarget=\"dropdown-menu\">dropdown</nve-button>\n<nve-dropdown id=\"dropdown-menu\">\n <nve-menu>\n <nve-menu-item><nve-icon name=\"person\"></nve-icon> profile</nve-menu-item>\n <nve-menu-item><nve-icon name=\"gear\"></nve-icon> settings</nve-menu-item>\n <nve-menu-item><nve-icon name=\"star\"></nve-icon> favorites</nve-menu-item>\n <nve-divider></nve-divider>\n <nve-menu-item><nve-icon name=\"logout\"></nve-icon> logout</nve-menu-item>\n </nve-menu>\n</nve-dropdown>\n",
|
|
18
18
|
"summary": "Dropdown with popover-positioned menu for trigger-based actions. Use for context menus, settings, and user actions where content appears on demand relative to a trigger button.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "dropdown-visual",
|
|
25
25
|
"name": "Visual",
|
|
26
26
|
"template": "<nve-dropdown anchor=\"btn\">dropdown content</nve-dropdown>\n<nve-button id=\"btn\">button</nve-button>\n",
|
|
27
27
|
"summary": "Dropdown using anchor attribute to reference trigger element by ID. Alternative approach for connecting dropdowns to their triggers.",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
]
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "dropdown-events",
|
|
36
36
|
"name": "Events",
|
|
37
37
|
"template": "<nve-dropdown id=\"dropdown\">dropdown content</nve-dropdown>\n<nve-button popovertarget=\"dropdown\">button</nve-button>\n<script type=\"module\">\n const dropdown = document.querySelector(\"nve-dropdown\");\n dropdown.addEventListener(\"beforetoggle\", () => console.log(\"beforetoggle\"));\n dropdown.addEventListener(\"toggle\", () => console.log(\"toggle\"));\n dropdown.addEventListener(\"open\", () => console.log(\"open\"));\n dropdown.addEventListener(\"close\", () => console.log(\"close\"));\n</script>\n",
|
|
38
38
|
"summary": "Event handling for dropdown open and close events. Useful for adding custom behavior when dropdown state changes.",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
]
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
|
-
"id": "
|
|
46
|
+
"id": "dropdown-closable",
|
|
47
47
|
"name": "Closable",
|
|
48
48
|
"template": "<nve-dropdown anchor=\"btn\" closable>\n <h3 nve-text=\"label\">Title</h3>\n <p nve-text=\"body\">some text content in a closable dropdown</p>\n</nve-dropdown>\n<nve-button id=\"btn\">button</nve-button>\n",
|
|
49
49
|
"summary": "Dropdown with closable attribute that allows users to dismiss the dropdown by clicking close button.",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
]
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
"id": "
|
|
57
|
+
"id": "dropdown-layout",
|
|
58
58
|
"name": "Layout",
|
|
59
59
|
"template": "<nve-dropdown anchor=\"btn\">\n <nve-dropdown-header>\n <h3 nve-text=\"heading semibold sm\">heading</h3>\n </nve-dropdown-header>\n <p nve-text=\"body\">some text content in a closable dropdown</p>\n <nve-dropdown-footer>\n <p nve-text=\"body\">footer</p>\n </nve-dropdown-footer>\n</nve-dropdown>\n<nve-button id=\"btn\">button</nve-button>\n",
|
|
60
60
|
"summary": "Dropdown with structured content using header and footer sections. Perfect for complex dropdown content that needs clear visual hierarchy.",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
67
|
{
|
|
68
|
-
"id": "
|
|
68
|
+
"id": "dropdown-multiple-triggers",
|
|
69
69
|
"name": "MultipleTriggers",
|
|
70
70
|
"template": "<div nve-layout=\"row gap:sm align:center\">\n <nve-button popovertarget=\"dropdown\">button</nve-button>\n <nve-button popovertarget=\"dropdown\">button</nve-button>\n <nve-button popovertarget=\"dropdown\">button</nve-button>\n <nve-dropdown id=\"dropdown\">hello there</nve-dropdown>\n</div>\n",
|
|
71
71
|
"summary": "Dropdown with many triggers, showing how to use the popovertarget attribute to connect many triggers to the same dropdown.",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
]
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
|
-
"id": "
|
|
79
|
+
"id": "dropdown-position",
|
|
80
80
|
"name": "Position",
|
|
81
81
|
"template": "<nve-dropdown anchor=\"card\" position=\"top\" alignment=\"center\">\n <h3 nve-text=\"label\">Top</h3>\n <p nve-text=\"body\">dropdown positioned top</p>\n</nve-dropdown>\n<nve-dropdown anchor=\"card\" position=\"right\" alignment=\"center\">\n <h3 nve-text=\"label\">Right</h3>\n <p nve-text=\"body\">dropdown positioned right</p>\n</nve-dropdown>\n<nve-dropdown anchor=\"card\" position=\"bottom\" alignment=\"center\">\n <h3 nve-text=\"label\">Bottom</h3>\n <p nve-text=\"body\">dropdown positioned bottom</p>\n</nve-dropdown>\n<nve-dropdown anchor=\"card\" position=\"left\" alignment=\"center\">\n <h3 nve-text=\"label\">Left</h3>\n <p nve-text=\"body\">dropdown positioned left</p>\n</nve-dropdown>\n<nve-card id=\"card\" style=\"width: 250px; height: 200px\"></nve-card>\n",
|
|
82
82
|
"summary": "Dropdown position, with the position attribute controlling placement when the trigger is not visible.",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
]
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
|
-
"id": "
|
|
90
|
+
"id": "dropdown-alignment",
|
|
91
91
|
"name": "Alignment",
|
|
92
92
|
"template": "<div nve-theme nve-layout=\"row align:center\">\n <nve-dropdown open anchor=\"card\" position=\"top\" alignment=\"start\">top start</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"top\" alignment=\"center\">top center</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"top\" alignment=\"end\">top end</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"right\" alignment=\"start\">right start</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"right\" alignment=\"center\">right center</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"right\" alignment=\"end\">right end</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"bottom\" alignment=\"start\">bottom start</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"bottom\" alignment=\"center\">bottom center</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"bottom\" alignment=\"end\">bottom end</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"left\" alignment=\"start\">left start</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"left\" alignment=\"center\">left center</nve-dropdown>\n <nve-dropdown open anchor=\"card\" position=\"left\" alignment=\"end\">left end</nve-dropdown>\n <nve-card id=\"card\" style=\"width: 450px; height: 300px; margin-top: 50px\"></nve-card>\n</div>\n",
|
|
93
93
|
"summary": "Dropdown alignment, with the alignment attribute controlling horizontal placement relative to the trigger.",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
]
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
"id": "
|
|
101
|
+
"id": "dropdown-radio-group",
|
|
102
102
|
"name": "RadioGroup",
|
|
103
103
|
"template": "<nve-dropdown anchor=\"btn\">\n <nve-radio-group style=\"width: 250px\">\n <label>Sort By</label>\n <nve-radio>\n <label>Completed</label>\n <input type=\"radio\" checked />\n <nve-control-message>latest completed tasks</nve-control-message>\n </nve-radio>\n <nve-radio>\n <label>Failing</label>\n <input type=\"radio\" />\n <nve-control-message>latest failing tasks</nve-control-message>\n </nve-radio>\n <nve-radio>\n <label>Status</label>\n <input type=\"radio\" />\n <nve-control-message>task status priority</nve-control-message>\n </nve-radio>\n </nve-radio-group>\n</nve-dropdown>\n<nve-button id=\"btn\" nve-control>completed <nve-icon name=\"caret\" direction=\"down\" size=\"sm\"></nve-icon></nve-button>\n",
|
|
104
104
|
"summary": "Dropdown containing a radio group for single-selection options. Perfect for sort controls, filter selections, or preference settings.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
]
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
|
-
"id": "
|
|
112
|
+
"id": "dropdown-checkbox-group",
|
|
113
113
|
"name": "CheckboxGroup",
|
|
114
114
|
"template": "<nve-dropdown anchor=\"btn\">\n <nve-checkbox-group style=\"width: 250px\">\n <label>Test Suites</label>\n <nve-checkbox>\n <label>Local</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>Nightly</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>Remote</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n </nve-checkbox-group>\n</nve-dropdown>\n<nve-button id=\"btn\" nve-control>test suites <nve-icon name=\"caret\" direction=\"down\" size=\"sm\"></nve-icon></nve-button>\n",
|
|
115
115
|
"summary": "Dropdown containing a checkbox group for multi-selection options. Ideal for filter controls, feature toggles, or bulk action selections.",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
]
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
|
-
"id": "
|
|
123
|
+
"id": "dropdown-legacy-behavior-trigger",
|
|
124
124
|
"name": "LegacyBehaviorTrigger",
|
|
125
125
|
"template": "<nve-button id=\"dropdown-btn\">open</nve-button>\n<nve-dropdown anchor=\"dropdown-btn\" trigger=\"dropdown-btn\" behavior-trigger hidden>\n <p nve-text=\"body\">hello there</p>\n</nve-dropdown>\n",
|
|
126
126
|
"summary": "Legacy behavior trigger for dropdown, using the behavior-trigger attribute to open the dropdown on button click.",
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
]
|
|
133
133
|
},
|
|
134
134
|
{
|
|
135
|
-
"id": "
|
|
135
|
+
"id": "dropdown-hint",
|
|
136
136
|
"name": "Hint",
|
|
137
137
|
"template": "<nve-dropdown id=\"dropdown\"> dropdown content </nve-dropdown>\n<nve-tooltip id=\"tooltip\" hidden behavior-trigger trigger=\"btn\">dropdown content</nve-tooltip>\n<nve-icon-button id=\"btn\" popovertarget=\"dropdown\" icon-name=\"gear\" aria-label=\"settings\"></nve-icon-button>\n",
|
|
138
138
|
"summary": "Dropdown hint, using the tooltip element to display a hint when the dropdown opens.",
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
]
|
|
145
145
|
},
|
|
146
146
|
{
|
|
147
|
-
"id": "
|
|
147
|
+
"id": "dropdown-position-fallback",
|
|
148
148
|
"name": "PositionFallback",
|
|
149
149
|
"template": "<style>\n body {\n align-items: start !important;\n margin: 0;\n padding: 0 !important;\n }\n</style>\n<nve-dropdown anchor=\"btn\" position=\"bottom\" alignment=\"center\"> dropdown content </nve-dropdown>\n<nve-dropdown anchor=\"btn\" position=\"right\" alignment=\"center\"> dropdown content </nve-dropdown>\n<nve-icon-button id=\"btn\" icon-name=\"gear\" aria-label=\"settings\"></nve-icon-button>\n",
|
|
150
150
|
"summary": "Dropdown position fallback, using the position and alignment attributes to reposition the dropdown when the trigger is not visible.",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/dropdown-group/dropdown-group.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "dropdown-group",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-button popovertarget=\"menu-1\">menu</nve-button>\n<nve-dropdown-group>\n <nve-dropdown id=\"menu-1\">\n <nve-menu>\n <nve-menu-item popovertarget=\"menu-2\">\n item 1-1 <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item>item 1-2</nve-menu-item>\n <nve-menu-item>item 1-3</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"menu-2\" position=\"right\">\n <nve-menu>\n <nve-menu-item>item 2-1</nve-menu-item>\n <nve-menu-item popovertarget=\"menu-3\">\n item 2-2 <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item>item 2-3</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"menu-3\" position=\"right\">\n <nve-menu>\n <nve-menu-item>item 3-1</nve-menu-item>\n <nve-menu-item>item 3-2</nve-menu-item>\n <nve-menu-item>item 3-3</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n</nve-dropdown-group>\n",
|
|
9
9
|
"summary": "Cascading dropdown menu group with nested submenus for hierarchical navigation.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "dropdown-group-with-disabled-items",
|
|
16
16
|
"name": "WithDisabledItems",
|
|
17
17
|
"template": "<nve-button popovertarget=\"disabled-menu-1\">Disabled Items</nve-button>\n<nve-dropdown-group>\n <nve-dropdown id=\"disabled-menu-1\">\n <nve-menu>\n <nve-menu-item popovertarget=\"disabled-menu-2\">\n item 1-1 <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item disabled>item 1-2</nve-menu-item>\n <nve-menu-item>item 1-3</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"disabled-menu-2\" position=\"right\">\n <nve-menu>\n <nve-menu-item>item 2-1</nve-menu-item>\n <nve-menu-item disabled>item 2-2</nve-menu-item>\n <nve-menu-item popovertarget=\"disabled-menu-3\">\n item 2-3 <nve-icon name=\"caret\" direction=\"right\" size=\"sm\" slot=\"suffix\"></nve-icon>\n </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"disabled-menu-3\" position=\"right\">\n <nve-menu>\n <nve-menu-item>item 3-1</nve-menu-item>\n <nve-menu-item disabled>item 3-2</nve-menu-item>\n <nve-menu-item>item 3-3</nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n</nve-dropdown-group>\n",
|
|
18
18
|
"summary": "Cascading dropdown menu with disabled menu items in non-interactive states.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "dropdown-group-with-icons",
|
|
25
25
|
"name": "WithIcons",
|
|
26
26
|
"template": "<nve-button popovertarget=\"icon-menu-1\">Icons Menu</nve-button>\n<nve-dropdown-group>\n <nve-dropdown id=\"icon-menu-1\">\n <nve-menu>\n <nve-menu-item popovertarget=\"icon-menu-2\">\n <nve-icon name=\"folder\" size=\"sm\"></nve-icon> item 1-1\n <nve-icon name=\"caret\" direction=\"right\" size=\"sm\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"image\" size=\"sm\"></nve-icon> item 1-2 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"video-camera\" size=\"sm\"></nve-icon> item 1-3 </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"icon-menu-2\" position=\"right\">\n <nve-menu>\n <nve-menu-item> <nve-icon name=\"document\" size=\"sm\"></nve-icon> item 2-1 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"document\" size=\"sm\"></nve-icon> item 2-2 </nve-menu-item>\n <nve-menu-item popovertarget=\"icon-menu-3\">\n <nve-icon name=\"terminal\" size=\"sm\"></nve-icon> item 2-3\n <nve-icon name=\"caret\" direction=\"right\" size=\"sm\"></nve-icon>\n </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"icon-menu-3\" position=\"right\">\n <nve-menu>\n <nve-menu-item> <nve-icon name=\"terminal\" size=\"sm\"></nve-icon> item 3-1 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"terminal\" size=\"sm\"></nve-icon> item 3-2 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"terminal\" size=\"sm\"></nve-icon> item 3-3 </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n</nve-dropdown-group>\n",
|
|
27
27
|
"summary": "Cascading dropdown menu with leading icons for visual identification of menu item types.",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tags": []
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"id": "
|
|
33
|
+
"id": "dropdown-group-with-more-icons",
|
|
34
34
|
"name": "WithMoreIcons",
|
|
35
35
|
"template": "<nve-button popovertarget=\"more-icon-menu-1\">More Icons</nve-button>\n<nve-dropdown-group>\n <nve-dropdown id=\"more-icon-menu-1\">\n <nve-menu>\n <nve-menu-item popovertarget=\"more-icon-menu-2\">\n <nve-icon name=\"person\" size=\"sm\"></nve-icon> item 1-1\n <nve-icon name=\"caret\" direction=\"right\" size=\"sm\"></nve-icon>\n </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"arrow\" direction=\"right\" size=\"sm\"></nve-icon> item 1-2 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"star\" size=\"sm\"></nve-icon> item 1-3 </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"more-icon-menu-2\" position=\"right\">\n <nve-menu>\n <nve-menu-item> <nve-icon name=\"flag\" size=\"sm\"></nve-icon> item 2-1 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"home\" size=\"sm\"></nve-icon> item 2-2 </nve-menu-item>\n <nve-menu-item popovertarget=\"more-icon-menu-3\">\n <nve-icon name=\"gear\" size=\"sm\"></nve-icon> item 2-3\n <nve-icon name=\"chevron\" direction=\"right\" size=\"sm\"></nve-icon>\n </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n <nve-dropdown id=\"more-icon-menu-3\" position=\"right\">\n <nve-menu>\n <nve-menu-item> <nve-icon name=\"dot\" size=\"sm\"></nve-icon> item 3-1 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"exclamation-mark\" size=\"sm\"></nve-icon> item 3-2 </nve-menu-item>\n <nve-menu-item> <nve-icon name=\"edit\" size=\"sm\"></nve-icon> item 3-3 </nve-menu-item>\n </nve-menu>\n </nve-dropdown>\n</nve-dropdown-group>\n",
|
|
36
36
|
"summary": "Cascading dropdown menu showcasing extra icon varieties for diverse menu actions.",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/dropzone/dropzone.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "dropzone",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-dropzone name=\"files\" style=\"--min-height: 200px\"></nve-dropzone>\n",
|
|
9
9
|
"summary": "Basic file dropzone with drag-and-drop area for file upload interactions.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "dropzone-icon",
|
|
16
16
|
"name": "Icon",
|
|
17
17
|
"template": "<style>\n nve-dropzone nve-icon {\n --color: red;\n background: var(--nve-sys-layer-canvas-accent-background);\n }\n nve-dropzone[highlighted] nve-icon,\n nve-dropzone:hover nve-icon {\n --color: var(--nve-sys-text-white-color);\n background: var(--nve-sys-accent-primary-background);\n }\n</style>\n<nve-dropzone name=\"files\">\n <nve-icon slot=\"icon\" name=\"document\"></nve-icon>\n</nve-dropzone>\n",
|
|
18
18
|
"summary": "Dropzone with custom icon slot showing visual feedback on hover and highlight states.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "dropzone-form",
|
|
27
27
|
"name": "Form",
|
|
28
28
|
"template": "<form id=\"form-demo\" nve-layout=\"column gap:lg\">\n <section>\n <nve-control>\n <nve-dropzone name=\"files\" accept=\"image/gif, image/jpeg, image/png\" max-file-size=\"1048576\"></nve-dropzone>\n <nve-control-message error=\"typeMismatch\"\n >Unsupported file type — this upload only accepts images</nve-control-message\n >\n <nve-control-message error=\"rangeOverflow\">File too big - maximum 1.00 MB allowed</nve-control-message>\n </nve-control>\n </section>\n <nve-button type=\"submit\">submit</nve-button>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"#form-demo\");\n const dropzone = document.querySelector(\"#form-demo nve-dropzone\");\n dropzone.addEventListener(\"change\", (e) => {\n console.log(\"change\", e.target.value);\n const files = e.target.value;\n console.log(\"Validity:\", e.target.validity);\n console.log(\"Validation Message:\", e.target.validationMessage);\n });\n form.addEventListener(\"submit\", (e) => {\n e.preventDefault();\n const formData = new FormData(e.target);\n const files = formData.getAll(\"files\");\n if (form.checkValidity()) {\n console.log(\"Form submitted successfully!\");\n } else {\n console.log(\"Form validation failed\");\n }\n });\n</script>\n",
|
|
29
29
|
"summary": "Dropzone integrated with form validation showing file type and size constraint errors.",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/file/file.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "file",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-file>\n <label>file</label>\n <input type=\"file\" />\n <nve-control-message>message</nve-control-message>\n</nve-file>\n",
|
|
9
9
|
"summary": "Basic file input with label and validation message. Use for simple file upload fields in forms.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "file-vertical",
|
|
16
16
|
"name": "Vertical",
|
|
17
17
|
"template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-file>\n <label>label</label>\n <input type=\"file\" />\n <nve-control-message>message</nve-control-message>\n </nve-file>\n <nve-file>\n <label>disabled</label>\n <input type=\"file\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-file>\n <nve-file>\n <label>success</label>\n <input type=\"file\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-file>\n <nve-file>\n <label>error</label>\n <input type=\"file\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-file>\n</div>\n",
|
|
18
18
|
"summary": "Vertical layout file inputs showing all validation states including disabled, success, and error. Use for stacked form layouts where labels appear above inputs.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "file-horizontal",
|
|
27
27
|
"name": "Horizontal",
|
|
28
28
|
"template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-file layout=\"horizontal\">\n <label>label</label>\n <input type=\"file\" />\n <nve-control-message>message</nve-control-message>\n </nve-file>\n <nve-file layout=\"horizontal\">\n <label>disabled</label>\n <input type=\"file\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-file>\n <nve-file layout=\"horizontal\">\n <label>success</label>\n <input type=\"file\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-file>\n <nve-file layout=\"horizontal\">\n <label>error</label>\n <input type=\"file\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-file>\n</div>\n",
|
|
29
29
|
"summary": "Horizontal layout file inputs with side-by-side labels. Ideal for compact forms or when aligning labels with other horizontal form controls.",
|
package/dist/file/file2.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/format-datetime/format-datetime.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "format-datetime",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-format-datetime date-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n",
|
|
9
9
|
"summary": "Basic date formatting with the long date style preset. Use for displaying human-readable dates in content areas, tables, or metadata.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "format-datetime-date-style",
|
|
16
16
|
"name": "DateStyle",
|
|
17
17
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime date-style=\"full\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime date-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime date-style=\"medium\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime date-style=\"short\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n</div>\n",
|
|
18
18
|
"summary": "Date style presets for controlling output density. Use full or long for detail-rich contexts and medium or short for compact layouts like data tables or cards.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "format-datetime-time-style",
|
|
25
25
|
"name": "TimeStyle",
|
|
26
26
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime date-style=\"long\" time-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime date-style=\"short\" time-style=\"short\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n</div>\n",
|
|
27
27
|
"summary": "Combined date and time style presets for full timestamps. Use for audit logs, event schedules, or activity feeds that need both date and time. Preset styles take precedence over granular formatting options when both appear.",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tags": []
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"id": "
|
|
33
|
+
"id": "format-datetime-granular",
|
|
34
34
|
"name": "Granular",
|
|
35
35
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime weekday=\"long\" month=\"short\" day=\"numeric\" year=\"numeric\"\n >2023-07-28T04:20:17.434Z</nve-format-datetime\n >\n <nve-format-datetime month=\"long\" year=\"numeric\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n</div>\n",
|
|
36
36
|
"summary": "Granular date part options for precise formatting control. Use when presets don't match your layout, such as weekday and month only. Do not combine with date-style or time-style; style presets take priority if both appear.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"tags": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
"id": "
|
|
42
|
+
"id": "format-datetime-time-only",
|
|
43
43
|
"name": "TimeOnly",
|
|
44
44
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime hour=\"numeric\" minute=\"2-digit\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime hour=\"2-digit\" minute=\"2-digit\" second=\"2-digit\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n</div>\n",
|
|
45
45
|
"summary": "Time-only formatting with granular hour, minute, and second options. Use for clocks, time labels, or timestamps where the date is unnecessary.",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"tags": []
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
"id": "
|
|
51
|
+
"id": "format-datetime-locale",
|
|
52
52
|
"name": "Locale",
|
|
53
53
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime locale=\"de-DE\" date-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime locale=\"ja\" date-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n <nve-format-datetime locale=\"fr-FR\" date-style=\"long\">2023-07-28T04:20:17.434Z</nve-format-datetime>\n</div>\n",
|
|
54
54
|
"summary": "Explicit locale settings for internationalized date output. Use when the target audience locale differs from the browser default, such as multilingual dashboards or region-specific reports.",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tags": []
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "format-datetime-date-attribute",
|
|
61
61
|
"name": "DateAttribute",
|
|
62
62
|
"template": "<nve-format-datetime date=\"2023-07-28T04:20:17.434Z\" date-style=\"long\"></nve-format-datetime>\n",
|
|
63
63
|
"summary": "Date attribute input for values supplied by JavaScript or bound data. By default, the component formats text content, which also serves as the SSR fallback, and `date` wins when both are present.",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"tags": []
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"id": "
|
|
69
|
+
"id": "format-datetime-time-zone",
|
|
70
70
|
"name": "TimeZone",
|
|
71
71
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime date-style=\"long\" time-style=\"long\" time-zone=\"America/New_York\"\n >2023-07-28T04:20:17.434Z</nve-format-datetime\n >\n <nve-format-datetime date-style=\"long\" time-style=\"long\" time-zone=\"Asia/Tokyo\"\n >2023-07-28T04:20:17.434Z</nve-format-datetime\n >\n</div>\n",
|
|
72
72
|
"summary": "Time zone conversion for displaying dates in a specific region. Use for global teams, scheduling interfaces, or when UTC or server timestamps need a fixed time zone.",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"tags": []
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"id": "
|
|
78
|
+
"id": "format-datetime-time-zone-name",
|
|
79
79
|
"name": "TimeZoneName",
|
|
80
80
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-datetime\n locale=\"en-US\"\n month=\"long\"\n day=\"numeric\"\n year=\"numeric\"\n hour=\"numeric\"\n minute=\"2-digit\"\n time-zone=\"America/New_York\"\n time-zone-name=\"short\"\n >2023-07-28T04:20:17.434Z</nve-format-datetime\n >\n <nve-format-datetime\n locale=\"en-US\"\n month=\"long\"\n day=\"numeric\"\n year=\"numeric\"\n hour=\"numeric\"\n minute=\"2-digit\"\n time-zone=\"America/New_York\"\n time-zone-name=\"long\"\n >2023-07-28T04:20:17.434Z</nve-format-datetime\n >\n</div>\n",
|
|
81
81
|
"summary": "Time zone name labels in short and long form alongside the formatted date. Use with granular options when the viewer needs to know which time zone applies, such as meeting schedulers or cross-region dashboards.",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/format-relative-time/format-relative-time.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "format-relative-time",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time>2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time>2024-06-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time>2025-12-01T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
|
|
9
9
|
"summary": "Basic relative time formatting with auto unit selection. Use for displaying human-readable relative timestamps in content areas, feeds, or metadata.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "format-relative-time-numeric",
|
|
16
16
|
"name": "Numeric",
|
|
17
17
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time numeric=\"always\" unit=\"year\">2025-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time numeric=\"auto\" unit=\"year\">2025-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
|
|
18
18
|
"summary": "Numeric formatting control for natural language output. Use 'auto' to display natural forms such as 'yesterday' instead of '1 day ago'.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "format-relative-time-format-style",
|
|
25
25
|
"name": "FormatStyle",
|
|
26
26
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time format-style=\"long\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time format-style=\"short\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time format-style=\"narrow\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
|
|
27
27
|
"summary": "Format style presets for controlling output verbosity. Use 'short' or 'narrow' for compact layouts such as data tables or timelines.",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tags": []
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"id": "
|
|
33
|
+
"id": "format-relative-time-unit",
|
|
34
34
|
"name": "Unit",
|
|
35
35
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time unit=\"day\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time unit=\"month\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time unit=\"year\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
|
|
36
36
|
"summary": "Explicit time unit selection for keeping relative time in a fixed unit. Use when you always want output in days, months, or years instead of letting the component auto-select the unit.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"tags": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
"id": "
|
|
42
|
+
"id": "format-relative-time-locale",
|
|
43
43
|
"name": "Locale",
|
|
44
44
|
"template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time locale=\"de-DE\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time locale=\"ja\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time locale=\"fr-FR\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
|
|
45
45
|
"summary": "Explicit locale settings for internationalized relative time output. Use when the target audience locale differs from the document language or browser default.",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"tags": []
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
"id": "
|
|
51
|
+
"id": "format-relative-time-date-attribute",
|
|
52
52
|
"name": "DateAttribute",
|
|
53
53
|
"template": "<nve-format-relative-time date=\"2020-01-15T12:00:00.000Z\"></nve-format-relative-time>\n",
|
|
54
54
|
"summary": "Date attribute input for values supplied by JavaScript or bound data. By default, the component formats text content, which also serves as the SSR fallback, and `date` wins when both are present.",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tags": []
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "format-relative-time-sync",
|
|
61
61
|
"name": "Sync",
|
|
62
62
|
"template": "<nve-format-relative-time sync>2020-01-15T12:00:00.000Z</nve-format-relative-time>\n",
|
|
63
63
|
"summary": "Auto-updating relative time with the sync attribute. Use for live feeds, notifications, or dashboards where freshness matters.",
|