@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/button/button.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "button",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-button>standard</nve-button>\n",
|
|
9
9
|
"summary": "Basic button component with standard appearance and behavior for primary user actions.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "button-group-states",
|
|
16
16
|
"name": "GroupStates",
|
|
17
17
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button>standard</nve-button>\n <nve-button selected>selected</nve-button>\n <nve-button pressed>pressed</nve-button>\n <nve-button disabled>disabled</nve-button>\n</div>\n",
|
|
18
18
|
"summary": "Button interaction states including hover, focus, pressed, selected, and disabled.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "button-interaction",
|
|
27
27
|
"name": "Interaction",
|
|
28
28
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button>standard</nve-button>\n <nve-button interaction=\"emphasis\">emphasis</nve-button>\n <nve-button interaction=\"destructive\">destructive</nve-button>\n</div>\n",
|
|
29
29
|
"summary": "Interaction states that communicate button hierarchy, importance, and availability to users.",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"tags": []
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "button-container",
|
|
36
36
|
"name": "Container",
|
|
37
37
|
"template": "<div nve-layout=\"row gap:xs align:vertical-center\">\n <nve-button container=\"inline\">inline</nve-button>\n <nve-button container=\"flat\">flat</nve-button>\n <nve-button>default</nve-button>\n</div>\n",
|
|
38
38
|
"summary": "Container style variants for buttons to accommodate different visual weight and context.",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"tags": []
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"id": "
|
|
44
|
+
"id": "button-size",
|
|
45
45
|
"name": "Size",
|
|
46
46
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button size=\"sm\">small button</nve-button>\n <nve-button>standard button</nve-button>\n <nve-button size=\"lg\">large button</nve-button>\n</div>\n",
|
|
47
47
|
"summary": "Button size variants to accommodate layout densities and touch target requirements.",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"tags": []
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
"id": "
|
|
53
|
+
"id": "button-pressed",
|
|
54
54
|
"name": "Pressed",
|
|
55
55
|
"template": "<div nve-layout=\"row gap:xs align:vertical-center\">\n <nve-button pressed container=\"inline\">pressed inline</nve-button>\n <nve-button pressed container=\"flat\">pressed flat</nve-button>\n <nve-button pressed>pressed</nve-button>\n</div>\n",
|
|
56
56
|
"summary": "Pressed state for toggle buttons marking active/selected state with clear visual feedback.",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"tags": []
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
|
-
"id": "
|
|
62
|
+
"id": "button-selected",
|
|
63
63
|
"name": "Selected",
|
|
64
64
|
"template": "<div nve-layout=\"row gap:xs align:vertical-center\">\n <nve-button selected container=\"inline\">selected inline</nve-button>\n <nve-button selected container=\"flat\">selected flat</nve-button>\n <nve-button selected>selected</nve-button>\n</div>\n",
|
|
65
65
|
"summary": "Button selection states to accommodate different visual weight and context.",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"tags": []
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
|
-
"id": "
|
|
71
|
+
"id": "button-disabled",
|
|
72
72
|
"name": "Disabled",
|
|
73
73
|
"template": "<div nve-layout=\"row gap:xs align:vertical-center\">\n <nve-button disabled container=\"inline\">disabled inline</nve-button>\n <nve-button disabled container=\"flat\">disabled flat</nve-button>\n <nve-button disabled>disabled</nve-button>\n</div>\n",
|
|
74
74
|
"summary": "Button disabled states to accommodate different visual weight and context.",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"tags": []
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
|
-
"id": "
|
|
80
|
+
"id": "button-invoker-command",
|
|
81
81
|
"name": "InvokerCommand",
|
|
82
82
|
"template": "<img id=\"logo\" src=\"${__ELEMENTS_REPO_BASE_URL__}/favicon.svg\" alt=\"logo\" style=\"width: 100px; height: 100px\" />\n<section>\n <nve-button commandfor=\"logo\" command=\"--rotate-left\">Rotate left</nve-button>\n <nve-button commandfor=\"logo\" command=\"--rotate-right\">Rotate right</nve-button>\n <nve-button commandfor=\"popover\" command=\"toggle-popover\">toggle-popover</nve-button>\n</section>\n<nve-toggletip id=\"popover\">popover</nve-toggletip>\n<script type=\"module\">\n const logo = document.getElementById(\"logo\");\n logo.addEventListener(\"command\", (event) => {\n if (event.command == \"--rotate-left\") {\n logo.style.rotate = \"-90deg\";\n } else if (event.command == \"--rotate-right\") {\n logo.style.rotate = \"90deg\";\n }\n });\n</script>\n",
|
|
83
83
|
"summary": "Use the `commandfor` and `command` attributes to trigger custom Invoker Commands, such as rotating an image.",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"tags": []
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"id": "
|
|
89
|
+
"id": "button-with-icon",
|
|
90
90
|
"name": "WithIcon",
|
|
91
91
|
"template": "<nve-button><nve-icon name=\"person\"></nve-icon> button</nve-button>\n<nve-button>button <nve-icon name=\"person\"></nve-icon></nve-button>\n",
|
|
92
92
|
"summary": "Button with icons positioned before or after text to enhance visual clarity and user understanding.",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"tags": []
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
|
-
"id": "
|
|
98
|
+
"id": "button-flat",
|
|
99
99
|
"name": "Flat",
|
|
100
100
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button container=\"flat\">standard</nve-button>\n <nve-button container=\"flat\" interaction=\"emphasis\">emphasis</nve-button>\n <nve-button container=\"flat\" interaction=\"destructive\">destructive</nve-button>\n <nve-button container=\"flat\" disabled>disabled</nve-button>\n</div>\n",
|
|
101
101
|
"summary": "Flat button style for secondary actions with minimal visual weight, maintaining clear interaction states.",
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
"tags": []
|
|
105
105
|
},
|
|
106
106
|
{
|
|
107
|
-
"id": "
|
|
107
|
+
"id": "button-inline",
|
|
108
108
|
"name": "Inline",
|
|
109
109
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button container=\"inline\">standard</nve-button>\n <nve-button container=\"inline\" interaction=\"emphasis\">emphasis</nve-button>\n <nve-button container=\"inline\" interaction=\"destructive\">destructive</nve-button>\n <nve-button container=\"inline\" disabled>disabled</nve-button>\n</div>\n",
|
|
110
110
|
"summary": "Inline button style for text-like actions that blend with content while maintaining button functionality.",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"tags": []
|
|
114
114
|
},
|
|
115
115
|
{
|
|
116
|
-
"id": "
|
|
116
|
+
"id": "button-link",
|
|
117
117
|
"name": "Link",
|
|
118
118
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button><a href=\"#\">standard</a></nve-button>\n <nve-button interaction=\"emphasis\"><a href=\"#\">emphasis</a></nve-button>\n <nve-button interaction=\"destructive\"><a href=\"#\">destructive</a></nve-button>\n <nve-button disabled><a href=\"#\">disabled</a></nve-button>\n</div>\n",
|
|
119
119
|
"summary": "Button styling applied to links for consistent visual treatment while maintaining semantic navigation behavior.",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"tags": []
|
|
123
123
|
},
|
|
124
124
|
{
|
|
125
|
-
"id": "
|
|
125
|
+
"id": "button-selected-flat",
|
|
126
126
|
"name": "SelectedFlat",
|
|
127
127
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button selected container=\"flat\">selected</nve-button>\n <nve-button container=\"flat\">unselected</nve-button>\n</div>\n",
|
|
128
128
|
"summary": "Flat button selection state for choice groups where one option is active, providing clear selection feedback.",
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"tags": []
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
|
-
"id": "
|
|
134
|
+
"id": "button-link-flat",
|
|
135
135
|
"name": "LinkFlat",
|
|
136
136
|
"template": "<div nve-layout=\"row gap:xs\">\n <nve-button container=\"flat\"><a href=\"#\">flat</a></nve-button>\n <nve-button container=\"flat\" interaction=\"emphasis\"><a href=\"#\">flat emphasis</a></nve-button>\n <nve-button container=\"flat\" interaction=\"destructive\"><a href=\"#\">flat destructive</a></nve-button>\n</div>\n",
|
|
137
137
|
"summary": "Flat button styling for navigation links, providing subtle visual treatment for secondary navigation actions.",
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"tags": []
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
|
-
"id": "
|
|
143
|
+
"id": "button-no-wrap",
|
|
144
144
|
"name": "NoWrap",
|
|
145
145
|
"template": "<nve-button style=\"--width: 100px\">item item item</nve-button>\n<nve-button style=\"--width: 100px\"> <span>item</span><span>item</span><span>item</span> </nve-button>\n",
|
|
146
146
|
"summary": "Text wrapping behavior in constrained widths, where content adapts to available space.",
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
]
|
|
152
152
|
},
|
|
153
153
|
{
|
|
154
|
-
"id": "
|
|
154
|
+
"id": "button-form-submit",
|
|
155
155
|
"name": "FormSubmit",
|
|
156
156
|
"template": "<form id=\"test-form\">\n <nve-button name=\"test-button\" value=\"test-value\">submit</nve-button>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"#test-form\");\n const button = document.querySelector('[name=\"test-button\"]');\n button.addEventListener(\"click\", (e) => console.log(e));\n form.addEventListener(\"submit\", (e) => {\n e.preventDefault();\n console.log(Object.fromEntries(new FormData(form, e.submitter)));\n });\n</script>\n",
|
|
157
157
|
"summary": "Form submission button with proper form integration and data handling for user input processing.",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"tags": []
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
|
-
"id": "
|
|
163
|
+
"id": "button-form-control",
|
|
164
164
|
"name": "FormControl",
|
|
165
165
|
"template": "<div nve-layout=\"row gap:xs\" style=\"max-width: 400px\">\n <nve-search>\n <input type=\"search\" placeholder=\"search\" aria-label=\"search\" />\n </nve-search>\n <nve-button nve-control>filter option <nve-icon name=\"caret\" direction=\"down\" size=\"sm\"></nve-icon></nve-button>\n</div>\n",
|
|
166
166
|
"summary": "Use the form control option for buttons that open custom controls such as dropdowns, filter menus, or pickers within a form layout. This pattern keeps the UI cohesive and helps users recognize the button as part of the form.",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"tags": []
|
|
170
170
|
},
|
|
171
171
|
{
|
|
172
|
-
"id": "
|
|
172
|
+
"id": "button-popover",
|
|
173
173
|
"name": "Popover",
|
|
174
174
|
"template": "<div popover id=\"popover-example\">popover</div>\n<nve-button popovertarget=\"popover-example\">toggle</nve-button>\n",
|
|
175
175
|
"summary": "Button integrated with popover API to trigger contextual overlays, providing extra information or controls.",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
]
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
|
-
"id": "
|
|
183
|
+
"id": "button-background-override",
|
|
184
184
|
"name": "BackgroundOverride",
|
|
185
185
|
"template": "<style>\n nve-button.custom {\n --color: var(--nve-sys-text-black-color);\n --background-image: linear-gradient(340deg, rgb(255 234 177) 0%, var(--nve-ref-color-yellow-amber-900) 60%);\n &:hover {\n --background-image: linear-gradient(\n 340deg,\n rgb(255 234 177) 0%,\n color-mix(in oklab, var(--nve-ref-color-yellow-amber-900) 100%, #000 4%) 60%\n );\n }\n }\n</style>\n<nve-button class=\"custom\">Create Account</nve-button>\n<nve-button>Create Account</nve-button>\n",
|
|
186
186
|
"summary": "Override button appearance with custom CSS properties for brand-specific designs while maintaining functionality.",
|
|
@@ -191,7 +191,7 @@
|
|
|
191
191
|
]
|
|
192
192
|
},
|
|
193
193
|
{
|
|
194
|
-
"id": "
|
|
194
|
+
"id": "button-valid-link-button",
|
|
195
195
|
"name": "ValidLinkButton",
|
|
196
196
|
"template": "<nve-button><a href=\"#\">default</a></nve-button>\n",
|
|
197
197
|
"summary": "Button styled as a link by slotting an anchor tag inside. Use when an action needs button visual treatment while maintaining semantic link navigation and accessibility.",
|
|
@@ -200,7 +200,7 @@
|
|
|
200
200
|
"tags": []
|
|
201
201
|
},
|
|
202
202
|
{
|
|
203
|
-
"id": "
|
|
203
|
+
"id": "button-invalid-link-button",
|
|
204
204
|
"name": "InvalidLinkButton",
|
|
205
205
|
"template": "<a href=\"#\"><nve-button>default</nve-button></a>\n",
|
|
206
206
|
"summary": "Do not wrap buttons in anchor tags.",
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
]
|
|
212
212
|
},
|
|
213
213
|
{
|
|
214
|
-
"id": "
|
|
214
|
+
"id": "button-progress-disclosure",
|
|
215
215
|
"name": "ProgressDisclosure",
|
|
216
216
|
"template": "<nve-button>\n <nve-progress-ring status=\"neutral\" size=\"xxs\"></nve-progress-ring>\n Submitting\n</nve-button>\n",
|
|
217
217
|
"summary": "Use a progress ring within a button to communicate that an action is processing and prevent repeated submissions. Limit this pattern to short, indeterminate actions (about five seconds or less); for longer or determinate tasks, use a progress bar or ring outside the button.",
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
"tags": []
|
|
221
221
|
},
|
|
222
222
|
{
|
|
223
|
-
"id": "
|
|
223
|
+
"id": "button-contrast-colored-backgrounds",
|
|
224
224
|
"name": "ContrastColoredBackgrounds",
|
|
225
225
|
"template": "<div nve-layout=\"column gap:lg\" style=\"width: 280px\">\n <nve-toolbar status=\"accent\">\n <div nve-text=\"label medium sm\">10 Selected</div>\n <nve-button slot=\"suffix\">Edit</nve-button>\n </nve-toolbar>\n <nve-alert-group status=\"danger\">\n <nve-alert> Error Detected <nve-button slot=\"actions\" container=\"flat\">Review</nve-button> </nve-alert>\n </nve-alert-group>\n <nve-card style=\"width: 280px\">\n <nve-card-content\n style=\"\n width: 100%;\n height: 100%;\n aspect-ratio: 16/9;\n object-fit: cover;\n background: repeating-conic-gradient(var(--nve-sys-layer-overlay-background) 0% 25%, transparent 0% 50%) 50% /\n 40px 40px;\n background-position: center;\n border-style: hidden;\n \"\n >\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"row gap:xs\">\n <nve-button container=\"flat\" style=\"margin-left: auto\">Cancel</nve-button>\n <nve-button>action</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n</div>\n",
|
|
226
226
|
"summary": "Use standard interaction styling to keep buttons readable on contrasting backgrounds in light and dark themes. This pattern verifies the static button colors that deliver the intended contrast for each theme.",
|
package/dist/button/button2.js
CHANGED
|
@@ -2,7 +2,7 @@ import { PropertyValues, LitElement } from 'lit';
|
|
|
2
2
|
import { KeynavListConfig, Interaction, Size } from '../internal';
|
|
3
3
|
/**
|
|
4
4
|
* @element nve-button-group
|
|
5
|
-
* @description A button group
|
|
5
|
+
* @description A button group organizes related buttons and can support either mutually exclusive single or multi selection. Prefer usage within toolbars.
|
|
6
6
|
* @since 0.16.0
|
|
7
7
|
* @entrypoint \@nvidia-elements/core/button-group
|
|
8
8
|
* @slot - default slot for `nve-button` or `nve-icon-button`
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/button-group/button-group.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "button-group",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-button-group>\n <nve-icon-button selected icon-name=\"copy\"></nve-icon-button>\n <nve-icon-button icon-name=\"add-comment\"></nve-icon-button>\n <nve-icon-button icon-name=\"download\"></nve-icon-button>\n</nve-button-group>\n",
|
|
9
9
|
"summary": "Basic button group for organizing related actions into a unified control with connected visual appearance.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "button-group-single-select",
|
|
16
16
|
"name": "SingleSelect",
|
|
17
17
|
"template": "<nve-button-group behavior-select=\"single\">\n <nve-icon-button pressed container=\"flat\" icon-name=\"bars-3-bottom-left\"></nve-icon-button>\n <nve-icon-button container=\"flat\" icon-name=\"bars-3-bottom-right\"></nve-icon-button>\n <nve-icon-button container=\"flat\" icon-name=\"bars-4\"></nve-icon-button>\n</nve-button-group>\n",
|
|
18
18
|
"summary": "Button group with single selection behavior for mutually exclusive options like view modes or formatting.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "button-group-multi-select",
|
|
25
25
|
"name": "MultiSelect",
|
|
26
26
|
"template": "<nve-button-group behavior-select=\"multi\">\n <nve-icon-button pressed container=\"flat\" icon-name=\"bold\" size=\"sm\"></nve-icon-button>\n <nve-icon-button container=\"flat\" icon-name=\"italic\" size=\"sm\"></nve-icon-button>\n <nve-icon-button pressed container=\"flat\" icon-name=\"strikethrough\" size=\"sm\"></nve-icon-button>\n</nve-button-group>\n",
|
|
27
27
|
"summary": "Button group with multi-selection behavior for toggling many options simultaneously like text formatting.",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tags": []
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"id": "
|
|
33
|
+
"id": "button-group-disabled",
|
|
34
34
|
"name": "Disabled",
|
|
35
35
|
"template": "<nve-button-group container=\"rounded\">\n <nve-button disabled>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\" disabled></nve-icon-button>\n</nve-button-group>\n",
|
|
36
36
|
"summary": "Button group in disabled state for indicating unavailable actions or read-only contexts.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"tags": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
"id": "
|
|
42
|
+
"id": "button-group-flat",
|
|
43
43
|
"name": "Flat",
|
|
44
44
|
"template": "<nve-button-group container=\"flat\">\n <nve-icon-button pressed icon-name=\"split-vertical\"></nve-icon-button>\n <nve-icon-button icon-name=\"split-horizontal\"></nve-icon-button>\n <nve-icon-button icon-name=\"split-none\"></nve-icon-button>\n</nve-button-group>\n",
|
|
45
45
|
"summary": "Button group with flat container styling for minimal visual appearance and reduced emphasis.",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"tags": []
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
"id": "
|
|
51
|
+
"id": "button-group-action",
|
|
52
52
|
"name": "Action",
|
|
53
53
|
"template": "<nve-button-group>\n <nve-icon-button icon-name=\"copy\"></nve-icon-button>\n <nve-icon-button icon-name=\"add-comment\"></nve-icon-button>\n <nve-icon-button icon-name=\"download\"></nve-icon-button>\n</nve-button-group>\n",
|
|
54
54
|
"summary": "Button group for clustering related action buttons with cohesive visual treatment.",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tags": []
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "button-group-action-split",
|
|
61
61
|
"name": "ActionSplit",
|
|
62
62
|
"template": "<div nve-layout=\"row gap:sm\">\n <nve-button-group>\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n\n <nve-button-group interaction=\"emphasis\">\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n\n <nve-button-group interaction=\"destructive\">\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n</div>\n",
|
|
63
63
|
"summary": "Split button groups with different interaction styles for primary actions with dropdown alternatives.",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"tags": []
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"id": "
|
|
69
|
+
"id": "button-group-action-split-rounded",
|
|
70
70
|
"name": "ActionSplitRounded",
|
|
71
71
|
"template": "<div nve-layout=\"row gap:sm\">\n <nve-button-group container=\"rounded\">\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n\n <nve-button-group container=\"rounded\" interaction=\"emphasis\">\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n\n <nve-button-group container=\"rounded\" interaction=\"destructive\">\n <nve-button>button</nve-button>\n <nve-divider orientation=\"vertical\"></nve-divider>\n <nve-icon-button icon-name=\"caret\" size=\"sm\" direction=\"down\"></nve-icon-button>\n </nve-button-group>\n</div>\n",
|
|
72
72
|
"summary": "Split button groups with rounded container styling for softer visual appearance and modern aesthetics.",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"tags": []
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"id": "
|
|
78
|
+
"id": "button-group-rounded",
|
|
79
79
|
"name": "Rounded",
|
|
80
80
|
"template": "<nve-button-group container=\"rounded\" behavior-select=\"single\">\n <nve-button pressed>All Time</nve-button>\n <nve-button>30 Days</nve-button>\n <nve-button>90 Days</nve-button>\n</nve-button-group>\n",
|
|
81
81
|
"summary": "Rounded button group with single selection for segmented controls and filter options with pill-style buttons.",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"tags": []
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
|
-
"id": "
|
|
87
|
+
"id": "button-group-rounded-icon",
|
|
88
88
|
"name": "RoundedIcon",
|
|
89
89
|
"template": "<nve-button-group container=\"rounded\" behavior-select=\"single\">\n <nve-icon-button icon-name=\"table\"></nve-icon-button>\n <nve-icon-button icon-name=\"image\"></nve-icon-button>\n</nve-button-group>\n",
|
|
90
90
|
"summary": "Rounded button group with icon buttons for compact view switchers and mode toggles.",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"tags": []
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
|
-
"id": "
|
|
96
|
+
"id": "button-group-orientation-vertical",
|
|
97
97
|
"name": "OrientationVertical",
|
|
98
98
|
"template": "<nve-button-group orientation=\"vertical\">\n <nve-icon-button icon-name=\"copy\"></nve-icon-button>\n <nve-icon-button icon-name=\"add-comment\"></nve-icon-button>\n <nve-icon-button icon-name=\"download\"></nve-icon-button>\n</nve-button-group>\n",
|
|
99
99
|
"summary": "Button group with vertical orientation for sidebars, toolbars, or vertical navigation contexts.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group2.js","names":["#buttons","#syncStyleStates","#onClick","#selectButton"],"sources":["../../src/button-group/button-group.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig, Interaction, Size } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n keyNavigationList,\n useStyles,\n audit,\n appendRootNodeStyle\n} from '@nvidia-elements/core/internal';\nimport type { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { Button } from '@nvidia-elements/core/button';\nimport type { Divider } from '@nvidia-elements/core/divider';\nimport styles from './button-group.css?inline';\nimport globalStyles from './button-group.global.css?inline';\n\n/**\n * @element nve-button-group\n * @description A button group
|
|
1
|
+
{"version":3,"file":"button-group2.js","names":["#buttons","#syncStyleStates","#onClick","#selectButton"],"sources":["../../src/button-group/button-group.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport type { KeynavListConfig, Interaction, Size } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n keyNavigationList,\n useStyles,\n audit,\n appendRootNodeStyle\n} from '@nvidia-elements/core/internal';\nimport type { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { Button } from '@nvidia-elements/core/button';\nimport type { Divider } from '@nvidia-elements/core/divider';\nimport styles from './button-group.css?inline';\nimport globalStyles from './button-group.global.css?inline';\n\n/**\n * @element nve-button-group\n * @description A button group organizes related buttons and can support either mutually exclusive single or multi selection. Prefer usage within toolbars.\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/button-group\n * @slot - default slot for `nve-button` or `nve-icon-button`\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --padding\n * @cssprop --gap\n * @cssprop --width\n * @cssprop --height\n * @cssprop --color\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/group_role\n */\n@audit()\n@keyNavigationList<ButtonGroup>()\nexport class ButtonGroup extends LitElement {\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.#buttons,\n layout: this.orientation\n };\n }\n\n /** By default the button group is stateless. Add the `behavior-select` attribute and set to `single` or `multi` to enable stateful selction handling. */\n @property({ type: String, attribute: 'behavior-select' }) behaviorSelect: 'single' | 'multi';\n\n /** Set the style of the button group using the `container` property. Options are the default display when omitting the attribute, `flat` or `rounded`. */\n @property({ type: String, reflect: true }) container?: 'flat' | 'rounded';\n\n /** Determines the orientation direction of the group. Vertical groups support icon buttons only. */\n @property({ type: String, reflect: true }) orientation?: 'horizontal' | 'vertical' = 'horizontal';\n\n /** Use the `interaction` property on `button-group` in combination with `divider` for color-coded split buttons */\n @property({ type: String, reflect: true }) interaction: Interaction;\n\n /** Determines size of button */\n @property({ type: String, reflect: true }) size?: Size;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-button-group',\n version: '0.0.0',\n children: ['nve-button', 'nve-icon-button', 'nve-divider']\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n @queryAssignedElements({ selector: 'nve-divider' }) private dividers!: Divider[];\n\n @queryAssignedElements({ selector: 'nve-icon-button' }) private iconButtons!: IconButton[];\n\n @queryAssignedElements({ selector: 'nve-button' }) private buttons!: Button[];\n\n get #buttons() {\n return [...this.iconButtons, ...this.buttons];\n }\n\n render() {\n return html`\n <div internal-host>\n <slot @slotchange=${this.#syncStyleStates}></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n appendRootNodeStyle(this, globalStyles);\n this._internals.role = 'group';\n this.addEventListener('click', this.#onClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.#onClick);\n }\n\n #onClick = (e: Event) => this.#selectButton(e.target as HTMLElement & { pressed?: boolean });\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n this.#syncStyleStates();\n }\n\n #syncStyleStates() {\n if (this.container === 'flat') {\n this.#buttons.forEach(btn => (btn.container = 'flat'));\n }\n\n if (this.interaction) {\n this.#buttons.forEach(btn => (btn.interaction = this.interaction));\n }\n\n this.dividers.length ? this._internals.states.add('split') : this._internals.states.delete('split');\n }\n\n #selectButton(button: HTMLElement & { pressed?: boolean }) {\n if (!button.matches?.('nve-button, nve-icon-button')) {\n return;\n }\n\n if (this.behaviorSelect === 'single') {\n this.#buttons.forEach(i => (i.pressed = false));\n button.pressed = true;\n } else if (this.behaviorSelect === 'multi') {\n button.pressed = !button.pressed;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;AAsCO,IAAA,IAAA,cAA0B,EAAW;;kCAgB2C;;CAdrF,IAAI,mBAAqC;AACvC,SAAO;GACL,OAAO,MAAA;GACP,QAAQ,KAAK;GACd;;;gBAkBa,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACT,UAAU;IAAC;IAAc;IAAmB;;GAC7C;;CAWD,KAAA,IAAe;AACb,SAAO,CAAC,GAAG,KAAK,aAAa,GAAG,KAAK,QAAQ;;CAG/C,SAAS;AACP,SAAO,CAAI,yCAEa,MAAA,EAAsB;;CAKhD,oBAAoB;AAKlB,EAJA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,EAAoB,MAAM,EAAa,EACvC,KAAK,WAAW,OAAO,SACvB,KAAK,iBAAiB,SAAS,MAAA,EAAc;;CAG/C,uBAAuB;AAErB,EADA,MAAM,sBAAsB,EAC5B,KAAK,oBAAoB,SAAS,MAAA,EAAc;;CAGlD,MAAY,MAAa,MAAA,EAAmB,EAAE,OAA8C;CAE5F,QAAQ,GAA6B;AAEnC,EADA,MAAM,QAAQ,EAAM,EACpB,MAAA,GAAuB;;CAGzB,KAAmB;AASjB,EARI,KAAK,cAAc,UACrB,MAAA,EAAc,SAAQ,MAAQ,EAAI,YAAY,OAAQ,EAGpD,KAAK,eACP,MAAA,EAAc,SAAQ,MAAQ,EAAI,cAAc,KAAK,YAAa,EAGpE,KAAK,SAAS,SAAS,KAAK,WAAW,OAAO,IAAI,QAAQ,GAAG,KAAK,WAAW,OAAO,OAAO,QAAQ;;CAGrG,GAAc,GAA6C;AACpD,IAAO,UAAU,8BAA8B,KAIhD,KAAK,mBAAmB,YAC1B,MAAA,EAAc,SAAQ,MAAM,EAAE,UAAU,GAAO,EAC/C,EAAO,UAAU,MACR,KAAK,mBAAmB,YACjC,EAAO,UAAU,CAAC,EAAO;;;GApF5B,EAAS;CAAE,MAAM;CAAQ,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAGxD,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAGzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA,KAGzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA,KAGzC,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAazC,EAAsB,EAAE,UAAU,eAAe,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAElD,EAAsB,EAAE,UAAU,mBAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,eAAA,KAAA,EAAA,KAEtD,EAAsB,EAAE,UAAU,cAAc,CAAC,CAAA,EAAA,EAAA,WAAA,WAAA,KAAA,EAAA,SAzCnD,GAAO,EACP,GAAgC,CAAA,EAAA,EAAA"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/card/card.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "card",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-card>\n <nve-card-header>\n <h2 nve-text=\"heading sm medium\">Heading</h2>\n </nve-card-header>\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 64px\">card content</p>\n </nve-card-content>\n <nve-card-footer>\n <p nve-text=\"body\">card footer</p>\n </nve-card-footer>\n</nve-card>\n",
|
|
9
9
|
"summary": "Basic card component with header, content, and footer sections. Use this as a starting point for simple content containers.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "card-actions",
|
|
16
16
|
"name": "Actions",
|
|
17
17
|
"template": "<nve-card>\n <nve-card-header>\n <div nve-layout=\"column gap:xs\">\n <h2 nve-text=\"heading sm bold\">Heading</h2>\n <h3 nve-text=\"body sm muted\">Sub Heading</h3>\n </div>\n </nve-card-header>\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 64px\">card content</p>\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"row gap:xs\">\n <nve-button container=\"flat\" style=\"margin-left: auto\">cancel</nve-button>\n <nve-button>action</nve-button>\n </div>\n </nve-card-footer>\n</nve-card>\n",
|
|
18
18
|
"summary": "Card with action buttons in the footer, including primary and secondary actions for interactive card layouts.",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"tags": []
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
|
-
"id": "
|
|
24
|
+
"id": "card-media-card",
|
|
25
25
|
"name": "MediaCard",
|
|
26
26
|
"template": "<div nve-layout=\"grid gap:md span-items:6 align:stretch\" style=\"max-width: 900px\">\n <nve-card style=\"height: 100%; width: 100%\">\n <img\n src=\"static/images/test-image-1.svg\"\n alt=\"example visualization for media card demo\"\n loading=\"lazy\"\n style=\"width: 100%; object-fit: cover\"\n />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 100%; width: 100%\">\n <img\n src=\"static/images/test-image-1.svg\"\n alt=\"example visualization for media card demo\"\n loading=\"lazy\"\n style=\"width: 100%; object-fit: cover\"\n />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n</div>\n",
|
|
27
27
|
"summary": "Cards with media content (images) displayed in a grid layout, ideal for photo galleries, product catalogs, or visual content showcases.",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"tags": []
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
|
-
"id": "
|
|
33
|
+
"id": "card-with-divider",
|
|
34
34
|
"name": "WithDivider",
|
|
35
35
|
"template": "<nve-card style=\"width: 400px; height: 300px\">\n <nve-card-header>\n <h2 nve-text=\"heading sm bold\">Heading</h2>\n </nve-card-header>\n <nve-card-content>\n <p nve-text=\"body\">card content</p>\n </nve-card-content>\n <nve-divider></nve-divider>\n <nve-card-content>\n <p nve-text=\"body\">card content</p>\n </nve-card-content>\n</nve-card>\n",
|
|
36
36
|
"summary": "Card with a divider separating different content sections, useful for organizing related but distinct information within a single card.",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"tags": []
|
|
40
40
|
},
|
|
41
41
|
{
|
|
42
|
-
"id": "
|
|
42
|
+
"id": "card-description-list",
|
|
43
43
|
"name": "DescriptionList",
|
|
44
44
|
"template": "<nve-card style=\"width: 650px\">\n <nve-card-header>\n <h2 nve-text=\"heading sm bold\">Nautical Terms</h2>\n </nve-card-header>\n <nve-card-content>\n <dl nve-layout=\"grid gap:lg\">\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Knot</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Knot is a unit of speed equaling 1 nautical mile per hour.</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Port</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">\n Port is the nautical term that refers to the left side of a ship, as perceived by a person facing towards the\n bow (the front of the vessel).\n </dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Starboard</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">\n Starboard is the nautical term that refers to the right side of a vessel, as perceived by a person facing\n towards the bow (the front of the vessel).\n </dd>\n </dl>\n </nve-card-content>\n</nve-card>\n",
|
|
45
45
|
"summary": "Card containing a description list layout, perfect for displaying key-value pairs, definitions, or structured data in a readable format.",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"tags": []
|
|
49
49
|
},
|
|
50
50
|
{
|
|
51
|
-
"id": "
|
|
51
|
+
"id": "card-with-tabs",
|
|
52
52
|
"name": "WithTabs",
|
|
53
53
|
"template": "<nve-card style=\"width: 400px; height: 200px\">\n <nve-card-header>\n <h2 nve-text=\"heading sm bold\">Heading</h2>\n <nve-tabs>\n <nve-tabs-item selected>tab 1</nve-tabs-item>\n <nve-tabs-item>tab 2</nve-tabs-item>\n <nve-tabs-item>tab 3</nve-tabs-item>\n </nve-tabs>\n </nve-card-header>\n <nve-card-content>\n <p nve-text=\"body\">card content</p>\n </nve-card-content>\n</nve-card>\n",
|
|
54
54
|
"summary": "Card with integrated tabs in the header for multi-panel content within a single card interface.",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tags": []
|
|
58
58
|
},
|
|
59
59
|
{
|
|
60
|
-
"id": "
|
|
60
|
+
"id": "card-container-full",
|
|
61
61
|
"name": "ContainerFull",
|
|
62
62
|
"template": "<nve-card container=\"full\">\n <nve-card-content>\n <p nve-text=\"body\">container full</p>\n </nve-card-content>\n</nve-card>\n",
|
|
63
63
|
"summary": "Card with full container styling that extends to the edges, suitable for full-width layouts or when you want the card to blend with its container.",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"tags": []
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
|
-
"id": "
|
|
69
|
+
"id": "card-container-flat",
|
|
70
70
|
"name": "ContainerFlat",
|
|
71
71
|
"template": "<nve-card container=\"flat\">\n <nve-card-content>\n <p nve-text=\"body\">container flat</p>\n </nve-card-content>\n</nve-card>\n",
|
|
72
72
|
"summary": "Card with flat container styling that removes the default card elevation, ideal for subtle content containers or when you want a more minimal appearance.",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"tags": []
|
|
76
76
|
},
|
|
77
77
|
{
|
|
78
|
-
"id": "
|
|
78
|
+
"id": "card-audit",
|
|
79
79
|
"name": "Audit",
|
|
80
80
|
"template": "<!-- invalid padding usage -->\n<nve-card nve-layout=\"pad:md\"></nve-card>\n<!-- invalid parent element -->\n<nve-card-header> card header </nve-card-header>\n<nve-card-content> card content </nve-card-content>\n<nve-card-footer> card footer </nve-card-footer>\n",
|
|
81
81
|
"summary": "Examples of invalid card usage patterns for testing and documentation purposes, showing what not to do when implementing cards.",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
]
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
|
-
"id": "
|
|
89
|
+
"id": "card-overflow-content",
|
|
90
90
|
"name": "OverflowContent",
|
|
91
91
|
"template": "<nve-card style=\"height: 250px; width: 400px\">\n <nve-card-header>\n <h2 nve-text=\"heading sm medium\">Heading</h2>\n </nve-card-header>\n <nve-card-content>\n <p nve-text=\"body\" style=\"margin-bottom: 300px\">card content</p>\n <p nve-text=\"body\">card content</p>\n </nve-card-content>\n <nve-card-footer>\n <p nve-text=\"body\">card footer</p>\n </nve-card-footer>\n</nve-card>\n",
|
|
92
92
|
"summary": "Card with overflow content, where the card body scrolls when content exceeds the card height.",
|
package/dist/card/card2.js
CHANGED
|
@@ -16,7 +16,7 @@ var d = class extends c {
|
|
|
16
16
|
static {
|
|
17
17
|
this.metadata = {
|
|
18
18
|
tag: "nve-card",
|
|
19
|
-
version: "0.0.
|
|
19
|
+
version: "0.0.12"
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
render() {
|
|
@@ -37,7 +37,7 @@ var f = class extends c {
|
|
|
37
37
|
static {
|
|
38
38
|
this.metadata = {
|
|
39
39
|
tag: "nve-card-header",
|
|
40
|
-
version: "0.0.
|
|
40
|
+
version: "0.0.12",
|
|
41
41
|
parents: ["nve-card"]
|
|
42
42
|
};
|
|
43
43
|
}
|
|
@@ -53,7 +53,7 @@ var p = class extends c {
|
|
|
53
53
|
static {
|
|
54
54
|
this.metadata = {
|
|
55
55
|
tag: "nve-card-content",
|
|
56
|
-
version: "0.0.
|
|
56
|
+
version: "0.0.12",
|
|
57
57
|
parents: ["nve-card"]
|
|
58
58
|
};
|
|
59
59
|
}
|
|
@@ -72,7 +72,7 @@ var m = class extends c {
|
|
|
72
72
|
static {
|
|
73
73
|
this.metadata = {
|
|
74
74
|
tag: "nve-card-footer",
|
|
75
|
-
version: "0.0.
|
|
75
|
+
version: "0.0.12",
|
|
76
76
|
parents: ["nve-card"]
|
|
77
77
|
};
|
|
78
78
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"entrypoint": "@nvidia-elements/core/chat-message/chat-message.examples.json",
|
|
4
4
|
"items": [
|
|
5
5
|
{
|
|
6
|
-
"id": "
|
|
6
|
+
"id": "chat-message",
|
|
7
7
|
"name": "Default",
|
|
8
8
|
"template": "<nve-chat-message> Your deployment completed successfully. All services are running as expected. </nve-chat-message>\n",
|
|
9
9
|
"summary": "Basic chat message with default styling and behavior. Use this for simple text-based chat interactions.",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"tags": []
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
|
-
"id": "
|
|
15
|
+
"id": "chat-message-arrow-position",
|
|
16
16
|
"name": "ArrowPosition",
|
|
17
17
|
"template": "<section nve-layout=\"column gap:lg\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"top-start\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"top-end\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"bottom-start\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"bottom-end\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n</section>\n",
|
|
18
18
|
"summary": "Different arrow positions for chat messages. Useful for creating chat bubbles that point to specific elements or users.",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
]
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
|
-
"id": "
|
|
26
|
+
"id": "chat-message-flat",
|
|
27
27
|
"name": "Flat",
|
|
28
28
|
"template": "<section nve-layout=\"column gap:lg full\">\n <nve-chat-message container=\"flat\">\n <nve-avatar slot=\"prefix\" color=\"green-grass\">AI</nve-avatar>\n Your deployment completed successfully. All services are running as expected.\n </nve-chat-message>\n <nve-chat-message container=\"flat\" style=\"width: 300px\">\n <nve-avatar slot=\"prefix\" color=\"green-grass\">AI</nve-avatar>\n The build pipeline finished processing all stages. Tests passed with 98% coverage, and the deployment to staging was\n successful. Review the detailed logs in the CI dashboard for more information.\n </nve-chat-message>\n</section>\n",
|
|
29
29
|
"summary": "Flat container style with avatar integration. Perfect for modern chat interfaces where messages have a cleaner, flatter appearance.",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"tags": []
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
"id": "
|
|
35
|
+
"id": "chat-message-prefix-suffix",
|
|
36
36
|
"name": "PrefixSuffix",
|
|
37
37
|
"template": "<section nve-layout=\"column gap:lg full\" style=\"max-width: 600px\">\n <nve-chat-message style=\"max-width: 70%\">\n <nve-avatar slot=\"prefix\" color=\"gray-denim\">AI</nve-avatar>\n Hello, how may I assist you today?\n </nve-chat-message>\n <nve-chat-message style=\"max-width: 70%; margin-left: auto\">\n How do I use the chat message component?\n <nve-avatar slot=\"suffix\" color=\"green-grass\">NV</nve-avatar>\n </nve-chat-message>\n <nve-chat-message style=\"max-width: 70%\">\n <nve-avatar slot=\"prefix\" color=\"gray-denim\">AI</nve-avatar>\n <p nve-text=\"body\">To use the <code nve-text=\"code\">nve-chat-message</code> first import the element.</p>\n <nve-codeblock language=\"typescript\"> import '@nvidia-elements/code/codeblock/define.js'; </nve-codeblock>\n </nve-chat-message>\n</section>\n",
|
|
38
38
|
"summary": "Chat conversation with prefix and suffix avatars. Ideal for multi-user chat applications where you need to distinguish between different participants.",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"tags": []
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
"id": "
|
|
44
|
+
"id": "chat-message-codeblock",
|
|
45
45
|
"name": "Codeblock",
|
|
46
46
|
"template": "<section nve-layout=\"column gap:lg full\">\n <nve-chat-message container=\"flat\" style=\"margin-left: auto\">\n How do I use the chat message component?\n </nve-chat-message>\n <nve-chat-message container=\"flat\">\n Here's the steps you need to do follow to use the chat message component\n <nve-codeblock language=\"typescript\">\n import '@nvidia-elements/core/chat-message/define.js';\n <code nve-text=\"code\"><nve-chat-message></nve-chat-message></code>\n </nve-codeblock>\n </nve-chat-message>\n</section>\n",
|
|
47
47
|
"summary": "Chat messages with code blocks for technical discussions. Perfect for developer chat interfaces or documentation systems.",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"tags": []
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
|
-
"id": "
|
|
53
|
+
"id": "chat-message-top-offset",
|
|
54
54
|
"name": "TopOffset",
|
|
55
55
|
"template": "<nve-chat-message arrow-position=\"top-start\" style=\"--top-offset: var(--nve-ref-space-sm)\">\n <nve-avatar slot=\"prefix\" color=\"gray-denim\">AI</nve-avatar>\n Hello, how may I assist you today?\n</nve-chat-message>\n",
|
|
56
56
|
"summary": "Custom top offset positioning for precise arrow placement. Useful when you need fine-tuned control over the chat bubble positioning.",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"id": "
|
|
64
|
+
"id": "chat-message-color",
|
|
65
65
|
"name": "Color",
|
|
66
66
|
"template": "<section nve-layout=\"column gap:md\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"red-cardinal\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"gray-slate\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"gray-denim\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-indigo\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-cobalt\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-sky\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"teal-cyan\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-mint\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"teal-seafoam\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-grass\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"yellow-amber\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"orange-pumpkin\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"red-tomato\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"pink-magenta\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-plum\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-violet\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-lavender\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"pink-rose\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-jade\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"lime-pear\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"yellow-nova\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"brand-green\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n</section>\n",
|
|
67
67
|
"summary": "All available color variants for chat messages. Use these to create themed chat interfaces or to differentiate message types and priorities.",
|