@nvidia-elements/core 0.0.10 → 0.0.12
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 +33 -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.js +4 -4
- package/dist/button/button.examples.json +24 -24
- package/dist/button/button2.js +1 -1
- package/dist/button-group/button-group.d.ts +1 -1
- package/dist/button-group/button-group.examples.json +11 -11
- package/dist/button-group/button-group2.js +1 -1
- package/dist/button-group/button-group2.js.map +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 +1 -1
- package/dist/custom-elements-vue.d.ts +1 -1
- package/dist/custom-elements.json +15 -73
- package/dist/data.html.json +2 -2
- 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 +73 -53
- package/dist/format-relative-time/format-relative-time2.js.map +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.js.map +1 -1
- 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.json +43 -43
- 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-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/internal/utils/objects.js +17 -9
- package/dist/internal/utils/objects.js.map +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 +37 -35
- 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.json +8 -8
- 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 +5 -5
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/dot/dot.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "dot",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-dot status=\"starting\"></nve-dot>\n",
|
|
9
9
|
"summary": "Basic dot component with status indicator, providing a simple visual cue for process states and system status.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "dot-size",
|
|
16
16
|
"name": "Size",
|
|
17
17
|
"template": "<div nve-layout=\"row gap:sm\">\n <nve-dot size=\"sm\">10</nve-dot>\n <nve-dot>10</nve-dot>\n <nve-dot size=\"lg\">10</nve-dot>\n</div>\n<br />\n<div nve-layout=\"row gap:lg\">\n <nve-dot size=\"sm\"></nve-dot>\n <nve-dot></nve-dot>\n <nve-dot size=\"lg\"></nve-dot>\n</div>\n",
|
|
18
18
|
"summary": "Different dot sizes to accommodate layout contexts from compact indicators to prominent status displays.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "dot-support-status",
|
|
27
27
|
"name": "SupportStatus",
|
|
28
28
|
"template": "<div nve-layout=\"row gap:md\">\n <nve-dot></nve-dot>\n <nve-dot status=\"accent\"></nve-dot>\n <nve-dot status=\"warning\"></nve-dot>\n <nve-dot status=\"success\"></nve-dot>\n <nve-dot status=\"danger\"></nve-dot>\n</div>\n",
|
|
29
29
|
"summary": "Semantic color variations for general status communication, enabling clear visual distinction of different states and priorities.",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"tags": []
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "dot-number",
|
|
36
36
|
"name": "Number",
|
|
37
37
|
"template": "<div nve-layout=\"row gap:md\">\n <nve-dot>10</nve-dot>\n <nve-dot status=\"accent\" aria-label=\"10 notifications\">10</nve-dot>\n <nve-dot status=\"warning\" aria-label=\"10 notifications\">10</nve-dot>\n <nve-dot status=\"success\" aria-label=\"10 notifications\">10</nve-dot>\n <nve-dot status=\"danger\" aria-label=\"10 notifications\">10</nve-dot>\n</div>\n",
|
|
38
38
|
"summary": "Dot with numeric content for notification badges and counters, providing clear visual indicators of quantity or alerts.",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"tags": []
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"id": "
|
|
44
|
+
"id": "dot-status",
|
|
45
45
|
"name": "Status",
|
|
46
46
|
"template": "<div nve-layout=\"row gap:md\">\n <nve-dot status=\"scheduled\"></nve-dot>\n <nve-dot status=\"queued\"></nve-dot>\n <nve-dot status=\"pending\"></nve-dot>\n <nve-dot status=\"starting\"></nve-dot>\n <nve-dot status=\"running\"></nve-dot>\n <nve-dot status=\"restarting\"></nve-dot>\n <nve-dot status=\"stopping\"></nve-dot>\n <nve-dot status=\"finished\"></nve-dot>\n <nve-dot status=\"failed\"></nve-dot>\n <nve-dot status=\"unknown\"></nve-dot>\n</div>\n",
|
|
47
47
|
"summary": "Comprehensive process status indicators for system operations, providing clear visual feedback on job states and workflow progress.",
|
package/dist/dot/dot2.js
CHANGED
|
@@ -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.",
|