@nvidia-elements/core 0.0.10 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/accordion/accordion.examples.json +11 -11
  3. package/dist/accordion/accordion2.js +4 -4
  4. package/dist/alert/alert-group2.js +1 -1
  5. package/dist/alert/alert.examples.json +12 -12
  6. package/dist/alert/alert2.js +1 -1
  7. package/dist/avatar/avatar-group2.js +1 -1
  8. package/dist/avatar/avatar.examples.json +6 -6
  9. package/dist/avatar/avatar2.js +1 -1
  10. package/dist/badge/badge.examples.json +12 -12
  11. package/dist/badge/badge2.js +1 -1
  12. package/dist/breadcrumb/breadcrumb.examples.json +3 -3
  13. package/dist/breadcrumb/breadcrumb2.js +1 -1
  14. package/dist/bundles/index.js +3 -3
  15. package/dist/button/button.examples.json +24 -24
  16. package/dist/button/button2.js +1 -1
  17. package/dist/button-group/button-group.examples.json +11 -11
  18. package/dist/button-group/button-group2.js +1 -1
  19. package/dist/card/card.examples.json +10 -10
  20. package/dist/card/card2.js +4 -4
  21. package/dist/chat-message/chat-message.examples.json +7 -7
  22. package/dist/chat-message/chat-message2.js +1 -1
  23. package/dist/checkbox/checkbox-group2.js +1 -1
  24. package/dist/checkbox/checkbox.examples.json +7 -7
  25. package/dist/checkbox/checkbox2.js +1 -1
  26. package/dist/color/color.examples.json +4 -4
  27. package/dist/color/color2.js +1 -1
  28. package/dist/combobox/combobox.examples.json +24 -24
  29. package/dist/combobox/combobox2.js +1 -1
  30. package/dist/copy-button/copy-button.examples.json +9 -9
  31. package/dist/copy-button/copy-button2.js +1 -1
  32. package/dist/custom-elements.json +13 -71
  33. package/dist/date/date.examples.json +7 -7
  34. package/dist/date/date2.js +1 -1
  35. package/dist/datetime/datetime.examples.json +4 -4
  36. package/dist/datetime/datetime2.js +1 -1
  37. package/dist/dialog/dialog-footer2.js +1 -1
  38. package/dist/dialog/dialog-header2.js +1 -1
  39. package/dist/dialog/dialog.examples.json +21 -21
  40. package/dist/dialog/dialog2.js +1 -1
  41. package/dist/divider/divider.examples.json +5 -5
  42. package/dist/divider/divider2.js +1 -1
  43. package/dist/dot/dot.examples.json +5 -5
  44. package/dist/dot/dot2.js +1 -1
  45. package/dist/drawer/drawer-content2.js +1 -1
  46. package/dist/drawer/drawer-footer2.js +1 -1
  47. package/dist/drawer/drawer-header2.js +1 -1
  48. package/dist/drawer/drawer.examples.json +13 -13
  49. package/dist/drawer/drawer2.js +1 -1
  50. package/dist/dropdown/dropdown-footer2.js +1 -1
  51. package/dist/dropdown/dropdown-header2.js +1 -1
  52. package/dist/dropdown/dropdown.examples.json +14 -14
  53. package/dist/dropdown/dropdown2.js +1 -1
  54. package/dist/dropdown-group/dropdown-group.examples.json +4 -4
  55. package/dist/dropdown-group/dropdown-group.js +1 -1
  56. package/dist/dropzone/dropzone.examples.json +3 -3
  57. package/dist/dropzone/dropzone2.js +1 -1
  58. package/dist/file/file.examples.json +3 -3
  59. package/dist/file/file2.js +1 -1
  60. package/dist/format-datetime/format-datetime.examples.json +9 -9
  61. package/dist/format-datetime/format-datetime2.js +1 -1
  62. package/dist/format-relative-time/format-relative-time.examples.json +7 -7
  63. package/dist/format-relative-time/format-relative-time2.js +1 -1
  64. package/dist/forms/actions.examples.json +3 -3
  65. package/dist/forms/control/control.examples.json +11 -11
  66. package/dist/forms/control/control2.js +1 -1
  67. package/dist/forms/control-group/control-group2.js +1 -1
  68. package/dist/forms/control-message/control-message2.js +1 -1
  69. package/dist/forms/forms.examples.json +8 -8
  70. package/dist/forms/validation.examples.json +5 -5
  71. package/dist/grid/cell/cell2.js +1 -1
  72. package/dist/grid/column/column2.js +1 -1
  73. package/dist/grid/footer/footer2.js +1 -1
  74. package/dist/grid/grid.examples.json +43 -43
  75. package/dist/grid/grid2.js +1 -1
  76. package/dist/grid/header/header2.js +2 -2
  77. package/dist/grid/header/header2.js.map +1 -1
  78. package/dist/grid/placeholder/placeholder2.js +1 -1
  79. package/dist/grid/row/row2.js +1 -1
  80. package/dist/icon/icon.examples.json +8 -8
  81. package/dist/icon/icon2.js +2 -2
  82. package/dist/icon-button/icon-button.examples.json +13 -13
  83. package/dist/icon-button/icon-button2.js +1 -1
  84. package/dist/index.js +1 -1
  85. package/dist/input/input-group.examples.json +2 -2
  86. package/dist/input/input-group2.js +1 -1
  87. package/dist/input/input.examples.json +8 -8
  88. package/dist/input/input2.js +1 -1
  89. package/dist/internal/controllers/i18n.controller.examples.json +1 -1
  90. package/dist/internal/controllers/keynav-grid.controller.examples.json +2 -2
  91. package/dist/internal/controllers/keynav-grid.controller.js +15 -7
  92. package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
  93. package/dist/internal/controllers/keynav-list.controller.examples.json +4 -4
  94. package/dist/internal/controllers/keynav-list.controller.js +11 -5
  95. package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
  96. package/dist/internal/controllers/popover.examples.json +8 -8
  97. package/dist/internal/controllers/type-button.controller.examples.json +1 -1
  98. package/dist/internal/controllers/type-popover.controller.examples.json +2 -2
  99. package/dist/internal/controllers/type-touch.controller.examples.json +1 -1
  100. package/dist/internal/services/global.service.js +1 -1
  101. package/dist/logo/logo.examples.json +6 -6
  102. package/dist/logo/logo2.js +1 -1
  103. package/dist/menu/menu-item2.js +1 -1
  104. package/dist/menu/menu.examples.json +15 -15
  105. package/dist/menu/menu2.js +1 -1
  106. package/dist/month/month.examples.json +4 -4
  107. package/dist/month/month2.js +1 -1
  108. package/dist/notification/notification-group2.js +1 -1
  109. package/dist/notification/notification.examples.json +15 -15
  110. package/dist/notification/notification2.js +1 -1
  111. package/dist/page/page-panel/page-panel-content2.js +1 -1
  112. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  113. package/dist/page/page-panel/page-panel-header2.js +1 -1
  114. package/dist/page/page-panel/page-panel2.js +1 -1
  115. package/dist/page/page.examples.js.map +1 -1
  116. package/dist/page/page.examples.json +36 -34
  117. package/dist/page/page2.js +1 -1
  118. package/dist/page-header/page-header.examples.json +9 -9
  119. package/dist/page-header/page-header2.js +1 -1
  120. package/dist/page-loader/page-loader.examples.json +2 -2
  121. package/dist/page-loader/page-loader2.js +1 -1
  122. package/dist/pagination/pagination.examples.json +16 -16
  123. package/dist/pagination/pagination2.js +1 -1
  124. package/dist/panel/panel.examples.json +7 -7
  125. package/dist/panel/panel2.js +4 -4
  126. package/dist/password/password.examples.json +3 -3
  127. package/dist/password/password2.js +1 -1
  128. package/dist/preferences-input/preferences-input.examples.json +3 -3
  129. package/dist/preferences-input/preferences-input2.js +1 -1
  130. package/dist/progress-bar/progress-bar.examples.json +8 -8
  131. package/dist/progress-bar/progress-bar2.js +1 -1
  132. package/dist/progress-ring/progress-ring.examples.json +8 -8
  133. package/dist/progress-ring/progress-ring2.js +1 -1
  134. package/dist/progressive-filter-chip/progressive-filter-chip.examples.json +7 -7
  135. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  136. package/dist/pulse/pulse.examples.json +4 -4
  137. package/dist/pulse/pulse2.js +1 -1
  138. package/dist/radio/radio-group2.js +1 -1
  139. package/dist/radio/radio.examples.json +5 -5
  140. package/dist/radio/radio2.js +1 -1
  141. package/dist/range/range.examples.json +9 -9
  142. package/dist/range/range2.js +1 -1
  143. package/dist/resize-handle/resize-handle.examples.json +7 -7
  144. package/dist/resize-handle/resize-handle2.js +1 -1
  145. package/dist/search/search.examples.json +5 -5
  146. package/dist/search/search2.js +1 -1
  147. package/dist/select/select.examples.json +18 -18
  148. package/dist/select/select2.js +1 -1
  149. package/dist/skeleton/skeleton.examples.json +4 -4
  150. package/dist/skeleton/skeleton2.js +1 -1
  151. package/dist/sort-button/sort-button.examples.json +3 -3
  152. package/dist/sort-button/sort-button2.js +1 -1
  153. package/dist/sparkline/sparkline.examples.json +13 -13
  154. package/dist/sparkline/sparkline.utils.d.ts +26 -5
  155. package/dist/sparkline/sparkline.utils.js +30 -30
  156. package/dist/sparkline/sparkline.utils.js.map +1 -1
  157. package/dist/sparkline/sparkline2.js +21 -6
  158. package/dist/sparkline/sparkline2.js.map +1 -1
  159. package/dist/star-rating/star-rating.examples.json +4 -4
  160. package/dist/star-rating/star-rating2.js +1 -1
  161. package/dist/steps/steps.examples.json +5 -5
  162. package/dist/steps/steps2.js +2 -2
  163. package/dist/switch/switch-group2.js +1 -1
  164. package/dist/switch/switch.examples.json +7 -7
  165. package/dist/switch/switch2.js +1 -1
  166. package/dist/tabs/tabs-group2.js +9 -6
  167. package/dist/tabs/tabs-group2.js.map +1 -1
  168. package/dist/tabs/tabs.examples.json +14 -14
  169. package/dist/tabs/tabs2.js +2 -2
  170. package/dist/tag/tag.examples.json +8 -8
  171. package/dist/tag/tag2.js +1 -1
  172. package/dist/textarea/textarea.examples.json +5 -5
  173. package/dist/textarea/textarea2.js +1 -1
  174. package/dist/time/time.examples.json +4 -4
  175. package/dist/time/time2.js +1 -1
  176. package/dist/toast/toast.examples.json +11 -11
  177. package/dist/toast/toast2.js +1 -1
  178. package/dist/toggletip/toggletip-footer2.js +1 -1
  179. package/dist/toggletip/toggletip-header2.js +1 -1
  180. package/dist/toggletip/toggletip.examples.json +12 -12
  181. package/dist/toggletip/toggletip2.js +1 -1
  182. package/dist/toolbar/toolbar.examples.json +8 -8
  183. package/dist/toolbar/toolbar2.js +1 -1
  184. package/dist/tooltip/tooltip.examples.json +22 -22
  185. package/dist/tooltip/tooltip2.js +1 -1
  186. package/dist/tree/tree-node2.js +1 -1
  187. package/dist/tree/tree.examples.json +13 -13
  188. package/dist/tree/tree2.js +1 -1
  189. package/dist/week/week.examples.json +5 -5
  190. package/dist/week/week2.js +1 -1
  191. package/package.json +3 -3
@@ -3,7 +3,7 @@
3
3
  "entrypoint": "@nvidia-elements/core/format-relative-time/format-relative-time.examples.json",
4
4
  "items": [
5
5
  {
6
- "id": "core-format-relative-time_default",
6
+ "id": "format-relative-time",
7
7
  "name": "Default",
8
8
  "template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time>2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time>2024-06-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time>2025-12-01T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
9
9
  "summary": "Basic relative time formatting with auto unit selection. Use for displaying human-readable relative timestamps in content areas, feeds, or metadata.",
@@ -12,7 +12,7 @@
12
12
  "tags": []
13
13
  },
14
14
  {
15
- "id": "core-format-relative-time_numeric",
15
+ "id": "format-relative-time-numeric",
16
16
  "name": "Numeric",
17
17
  "template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time numeric=\"always\" unit=\"year\">2025-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time numeric=\"auto\" unit=\"year\">2025-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
18
18
  "summary": "Numeric formatting control for natural language output. Use 'auto' to display natural forms such as 'yesterday' instead of '1 day ago'.",
@@ -21,7 +21,7 @@
21
21
  "tags": []
22
22
  },
23
23
  {
24
- "id": "core-format-relative-time_format-style",
24
+ "id": "format-relative-time-format-style",
25
25
  "name": "FormatStyle",
26
26
  "template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time format-style=\"long\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time format-style=\"short\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time format-style=\"narrow\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
27
27
  "summary": "Format style presets for controlling output verbosity. Use 'short' or 'narrow' for compact layouts such as data tables or timelines.",
@@ -30,7 +30,7 @@
30
30
  "tags": []
31
31
  },
32
32
  {
33
- "id": "core-format-relative-time_unit",
33
+ "id": "format-relative-time-unit",
34
34
  "name": "Unit",
35
35
  "template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time unit=\"day\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time unit=\"month\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time unit=\"year\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
36
36
  "summary": "Explicit time unit selection for keeping relative time in a fixed unit. Use when you always want output in days, months, or years instead of letting the component auto-select the unit.",
@@ -39,7 +39,7 @@
39
39
  "tags": []
40
40
  },
41
41
  {
42
- "id": "core-format-relative-time_locale",
42
+ "id": "format-relative-time-locale",
43
43
  "name": "Locale",
44
44
  "template": "<div nve-layout=\"column gap:sm\">\n <nve-format-relative-time locale=\"de-DE\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time locale=\"ja\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n <nve-format-relative-time locale=\"fr-FR\">2020-01-15T12:00:00.000Z</nve-format-relative-time>\n</div>\n",
45
45
  "summary": "Explicit locale settings for internationalized relative time output. Use when the target audience locale differs from the document language or browser default.",
@@ -48,7 +48,7 @@
48
48
  "tags": []
49
49
  },
50
50
  {
51
- "id": "core-format-relative-time_date-attribute",
51
+ "id": "format-relative-time-date-attribute",
52
52
  "name": "DateAttribute",
53
53
  "template": "<nve-format-relative-time date=\"2020-01-15T12:00:00.000Z\"></nve-format-relative-time>\n",
54
54
  "summary": "Date attribute input for values supplied by JavaScript or bound data. By default, the component formats text content, which also serves as the SSR fallback, and `date` wins when both are present.",
@@ -57,7 +57,7 @@
57
57
  "tags": []
58
58
  },
59
59
  {
60
- "id": "core-format-relative-time_sync",
60
+ "id": "format-relative-time-sync",
61
61
  "name": "Sync",
62
62
  "template": "<nve-format-relative-time sync>2020-01-15T12:00:00.000Z</nve-format-relative-time>\n",
63
63
  "summary": "Auto-updating relative time with the sync attribute. Use for live feeds, notifications, or dashboards where freshness matters.",
@@ -16,7 +16,7 @@ var c = class extends a {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-format-relative-time",
19
- version: "0.0.10"
19
+ version: "0.0.11"
20
20
  };
21
21
  }
22
22
  #e;
@@ -3,7 +3,7 @@
3
3
  "entrypoint": "@nvidia-elements/core/forms/actions.examples.json",
4
4
  "items": [
5
5
  {
6
- "id": "core-forms-actions_search-clear",
6
+ "id": "forms-actions-search-clear",
7
7
  "name": "SearchClear",
8
8
  "template": "<nve-input>\n <label>label</label>\n <nve-icon-button icon-name=\"search\" container=\"flat\" readonly></nve-icon-button>\n <input type=\"text\" />\n <nve-icon-button icon-name=\"cancel\" container=\"flat\" aria-label=\"clear\"></nve-icon-button>\n <nve-control-message>message</nve-control-message>\n</nve-input>\n",
9
9
  "summary": "Input with action buttons for search and clear, providing quick access to common operations.",
@@ -12,7 +12,7 @@
12
12
  "tags": []
13
13
  },
14
14
  {
15
- "id": "core-forms-actions_label-action",
15
+ "id": "forms-actions-label-action",
16
16
  "name": "LabelAction",
17
17
  "template": "<nve-input>\n <label>label</label>\n <nve-icon-button\n icon-name=\"information-circle-stroke\"\n container=\"flat\"\n aria-label=\"more details\"\n slot=\"label\"\n ></nve-icon-button>\n <input type=\"text\" />\n <nve-control-message>message</nve-control-message>\n</nve-input>\n",
18
18
  "summary": "Label with an information button to provide contextual help or more details about the field.",
@@ -21,7 +21,7 @@
21
21
  "tags": []
22
22
  },
23
23
  {
24
- "id": "core-forms-actions_prefix-suffix",
24
+ "id": "forms-actions-prefix-suffix",
25
25
  "name": "PrefixSuffix",
26
26
  "template": "<nve-input>\n <label>label</label>\n <nve-button container=\"flat\" readonly>https://</nve-button>\n <input type=\"text\" />\n <nve-button container=\"flat\" readonly>.com</nve-button>\n <nve-control-message>message</nve-control-message>\n</nve-input>\n",
27
27
  "summary": "Input with prefix and suffix buttons to show fixed text elements like URL protocols and domains.",
@@ -3,7 +3,7 @@
3
3
  "entrypoint": "@nvidia-elements/core/forms/control/control.examples.json",
4
4
  "items": [
5
5
  {
6
- "id": "core-forms-control_default",
6
+ "id": "forms-control",
7
7
  "name": "Default",
8
8
  "template": "<nve-control>\n <label>label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n</nve-control>\n",
9
9
  "summary": "Basic form control wrapper with label, input, and validation message structure.",
@@ -14,7 +14,7 @@
14
14
  ]
15
15
  },
16
16
  {
17
- "id": "core-forms-control_responsive",
17
+ "id": "forms-control-responsive",
18
18
  "name": "Responsive",
19
19
  "template": "<div\n nve-layout=\"column gap:lg\"\n style=\"padding: 12px; border: 1px solid #ccc; overflow-y: auto; resize: horizontal; max-width: 600px\"\n>\n <nve-input layout=\"horizontal\">\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-select layout=\"horizontal\">\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-search layout=\"horizontal-inline\">\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n </nve-search>\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>checkbox label</label>\n <nve-checkbox>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-range layout=\"horizontal-inline\">\n <label>label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-textarea layout=\"horizontal-inline\">\n <label>label</label>\n <textarea></textarea>\n </nve-textarea>\n</div>\n",
20
20
  "summary": "Responsive form controls with layout adaptation in resizable containers.",
@@ -25,7 +25,7 @@
25
25
  ]
26
26
  },
27
27
  {
28
- "id": "core-forms-control_layout",
28
+ "id": "forms-control-layout",
29
29
  "name": "Layout",
30
30
  "template": "<style>\n #control-layout {\n display: flex;\n gap: 48px;\n flex-direction: column;\n min-width: 300px;\n nve-control {\n outline: 1px solid red;\n }\n nve-control-group {\n outline: 1px solid blue;\n }\n }\n</style>\n<div id=\"control-layout\">\n <nve-control>\n <label>vertical</label>\n <input />\n </nve-control>\n <nve-control>\n <label>vertical</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-control>\n <nve-control layout=\"horizontal\">\n <label>horizontal</label>\n <input />\n </nve-control>\n <nve-control layout=\"horizontal\">\n <label>horizontal</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-control>\n <nve-control-group layout=\"vertical\">\n <label>vertical</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n </nve-control-group>\n <nve-control-group layout=\"vertical\">\n <label>vertical</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n </nve-control-group>\n <nve-control-group layout=\"vertical-inline\">\n <label>vertical-inline</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n </nve-control-group>\n <nve-control-group layout=\"vertical-inline\">\n <label>vertical-inline</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n </nve-control-group>\n <nve-control-group layout=\"horizontal\">\n <label>horizontal</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n </nve-control-group>\n <nve-control-group layout=\"horizontal\">\n <label>horizontal</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n </nve-control-group>\n <nve-control-group layout=\"horizontal-inline\">\n <label>horizontal-inline</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n </nve-control-group>\n <nve-control-group layout=\"horizontal-inline\">\n <label>horizontal-inline</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n </nve-control-group>\n</div>\n",
31
31
  "summary": "All control and control-group layout variations (vertical, horizontal, inline) with visual debugging.",
@@ -36,7 +36,7 @@
36
36
  ]
37
37
  },
38
38
  {
39
- "id": "core-forms-control_required-field",
39
+ "id": "forms-control-required-field",
40
40
  "name": "RequiredField",
41
41
  "template": "<nve-control>\n <label>validation</label>\n <input required />\n <nve-control-message>message</nve-control-message>\n <nve-control-message error=\"valueMissing\">required</nve-control-message>\n</nve-control>\n",
42
42
  "summary": "Form control with HTML5 validation showing required field error messaging.",
@@ -47,7 +47,7 @@
47
47
  ]
48
48
  },
49
49
  {
50
- "id": "core-forms-control_no-label-control",
50
+ "id": "forms-control-no-label-control",
51
51
  "name": "NoLabelControl",
52
52
  "template": "<nve-control>\n <input type=\"search\" aria-label=\"search\" placeholder=\"search\" />\n</nve-control>\n",
53
53
  "summary": "Form control without visible label using aria-label for accessibility in compact layouts.",
@@ -58,7 +58,7 @@
58
58
  ]
59
59
  },
60
60
  {
61
- "id": "core-forms-control_inline-control",
61
+ "id": "forms-control-inline-control",
62
62
  "name": "InlineControl",
63
63
  "template": "<nve-control>\n <label>enable logging</label>\n <input type=\"checkbox\" checked />\n</nve-control>\n",
64
64
  "summary": "Inline control layout with checkbox positioned before its label for toggle-style inputs.",
@@ -69,7 +69,7 @@
69
69
  ]
70
70
  },
71
71
  {
72
- "id": "core-forms-control_group",
72
+ "id": "forms-control-group",
73
73
  "name": "Group",
74
74
  "template": "<nve-control-group>\n <label>environment</label>\n <nve-control>\n <label>local</label>\n <input type=\"radio\" name=\"radio-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"radio\" name=\"radio-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"radio\" name=\"radio-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n</nve-control-group>\n<br />\n<nve-control-group>\n <label>environment</label>\n <nve-control>\n <label>local</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"1\" checked />\n </nve-control>\n <nve-control>\n <label>staging</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"2\" />\n </nve-control>\n <nve-control>\n <label>production</label>\n <input type=\"checkbox\" name=\"checkbox-group\" value=\"3\" />\n </nve-control>\n <nve-control-message>message</nve-control-message>\n</nve-control-group>\n",
75
75
  "summary": "Control group organizing related radio buttons and checkboxes with shared label and messaging.",
@@ -80,7 +80,7 @@
80
80
  ]
81
81
  },
82
82
  {
83
- "id": "core-forms-control_date-control",
83
+ "id": "forms-control-date-control",
84
84
  "name": "DateControl",
85
85
  "template": "<nve-control>\n <label>date</label>\n <input type=\"date\" />\n <nve-control-message>message</nve-control-message>\n</nve-control>\n",
86
86
  "summary": "Form control wrapping a native date input with label and message support.",
@@ -91,7 +91,7 @@
91
91
  ]
92
92
  },
93
93
  {
94
- "id": "core-forms-control_textarea-control",
94
+ "id": "forms-control-textarea-control",
95
95
  "name": "TextareaControl",
96
96
  "template": "<nve-control>\n <label>about</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n</nve-control>\n",
97
97
  "summary": "Form control wrapping a textarea element for multi-line text input.",
@@ -102,7 +102,7 @@
102
102
  ]
103
103
  },
104
104
  {
105
- "id": "core-forms-control_datalist",
105
+ "id": "forms-control-datalist",
106
106
  "name": "Datalist",
107
107
  "template": "<nve-control>\n <label>search</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"option 1\"></option>\n <option value=\"option 2\"></option>\n <option value=\"option 3\"></option>\n </datalist>\n</nve-control>\n",
108
108
  "summary": "Form control with datalist providing autocomplete suggestions for search input.",
@@ -113,7 +113,7 @@
113
113
  ]
114
114
  },
115
115
  {
116
- "id": "core-forms-control_status",
116
+ "id": "forms-control-status",
117
117
  "name": "Status",
118
118
  "template": "<div nve-layout=\"column gap:md\">\n <nve-control>\n <label>label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-control>\n <nve-control>\n <label>disabled</label>\n <input disabled />\n <nve-control-message>message</nve-control-message>\n </nve-control>\n <nve-control>\n <label>success</label>\n <input />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-control>\n <nve-control>\n <label>error</label>\n <input />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-control>\n</div>\n",
119
119
  "summary": "Form controls showing all status states (default, disabled, success, error) for validation feedback.",
@@ -40,7 +40,7 @@ var C = class extends v {
40
40
  static {
41
41
  this.metadata = {
42
42
  tag: "nve-control",
43
- version: "0.0.10"
43
+ version: "0.0.11"
44
44
  };
45
45
  }
46
46
  render() {
@@ -24,7 +24,7 @@ var m = class extends d {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-control-group",
27
- version: "0.0.10"
27
+ version: "0.0.11"
28
28
  };
29
29
  }
30
30
  render() {
@@ -23,7 +23,7 @@ var l = {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-control-message",
26
- version: "0.0.10"
26
+ version: "0.0.11"
27
27
  };
28
28
  }
29
29
  static {
@@ -3,7 +3,7 @@
3
3
  "entrypoint": "@nvidia-elements/core/forms/forms.examples.json",
4
4
  "items": [
5
5
  {
6
- "id": "core-forms_kitchen-sink",
6
+ "id": "forms-kitchen-sink",
7
7
  "name": "KitchenSink",
8
8
  "template": "<div style=\"display: grid; gap: 36px 48px; grid-template-columns: 1fr 1fr; max-width: 1400px\">\n <nve-input layout=\"vertical-inline\">\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-search layout=\"vertical-inline\">\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n <nve-control-message>message</nve-control-message>\n </nve-search>\n <nve-password layout=\"vertical-inline\">\n <label>password label</label>\n <input type=\"password\" value=\"123456\" autocomplete=\"off\" />\n <nve-control-message>message</nve-control-message>\n </nve-password>\n <nve-select layout=\"vertical-inline\">\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-date layout=\"vertical-inline\">\n <label>date label</label>\n <input type=\"date\" />\n <nve-control-message>message</nve-control-message>\n </nve-date>\n <nve-datetime layout=\"vertical-inline\">\n <label>datetime label</label>\n <input type=\"datetime-local\" />\n <nve-control-message>message</nve-control-message>\n </nve-datetime>\n <nve-month layout=\"vertical-inline\">\n <label>month label</label>\n <input type=\"month\" />\n <nve-control-message>message</nve-control-message>\n </nve-month>\n <nve-week layout=\"vertical-inline\">\n <label>week label</label>\n <input type=\"week\" />\n <nve-control-message>message</nve-control-message>\n </nve-week>\n <nve-time layout=\"vertical-inline\">\n <label>time label</label>\n <input type=\"time\" />\n <nve-control-message>message</nve-control-message>\n </nve-time>\n <nve-color layout=\"vertical-inline\">\n <label>color label</label>\n <input type=\"color\" />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n <nve-input layout=\"vertical-inline\">\n <label>prefix/suffix label</label>\n <nve-button container=\"flat\" readonly>https://</nve-button>\n <input type=\"text\" />\n <nve-button container=\"flat\" readonly>.com</nve-button>\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-input layout=\"vertical-inline\">\n <label>actions label</label>\n <nve-icon-button icon-name=\"search\" container=\"flat\" readonly></nve-icon-button>\n <input type=\"text\" />\n <nve-icon-button icon-name=\"cancel\" container=\"flat\" aria-label=\"clear\"></nve-icon-button>\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-input-group layout=\"vertical-inline\">\n <label>date range</label>\n <nve-date>\n <input type=\"date\" aria-label=\"start date\" value=\"2018-07-22\" />\n </nve-date>\n <nve-date>\n <input type=\"date\" aria-label=\"end date\" value=\"2022-07-22\" />\n </nve-date>\n <nve-control-message>message</nve-control-message>\n </nve-input-group>\n <nve-input-group layout=\"vertical-inline\">\n <label>domain</label>\n <nve-select style=\"width: 120px\">\n <select aria-label=\"protocol\">\n <option>https://</option>\n <option>http://</option>\n </select>\n </nve-select>\n <nve-input>\n <input placeholder=\"example\" aria-label=\"host\" />\n <nve-button container=\"flat\" readonly>.com</nve-button>\n </nve-input>\n <nve-control-message>Host ID: 123456</nve-control-message>\n </nve-input-group>\n <nve-range layout=\"vertical-inline\">\n <label>range label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>checkbox group label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-radio-group layout=\"vertical-inline\">\n <label>radio group label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-control-message>message</nve-control-message>\n </nve-radio-group>\n <nve-switch-group layout=\"vertical-inline\">\n <label>switch group label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-control-message>message</nve-control-message>\n </nve-switch-group>\n <nve-select layout=\"vertical-inline\">\n <label>select multiple label</label>\n <select multiple>\n <option value=\"1\">Option 1</option>\n <option selected value=\"2\">Option 2</option>\n <option selected value=\"3\">Option 3</option>\n <option selected value=\"3\">Option 3</option>\n <option value=\"4\">Option 4</option>\n <option value=\"5\">Option 5</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-textarea layout=\"vertical-inline\">\n <label>textarea label</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n </nve-textarea>\n <nve-file>\n <label>file label</label>\n <input type=\"file\" />\n <nve-control-message>message</nve-control-message>\n </nve-file>\n <nve-search rounded>\n <input type=\"search\" aria-label=\"search\" placeholder=\"search\" />\n <datalist>\n <option value=\"search result 1\"></option>\n <option value=\"search result 2\"></option>\n <option value=\"search result 3\"></option>\n </datalist>\n </nve-search>\n <nve-input layout=\"vertical-inline\">\n <label>disabled</label>\n <input disabled />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-input layout=\"vertical-inline\">\n <label>success</label>\n <input />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-input>\n <nve-input layout=\"vertical-inline\">\n <label>error</label>\n <input />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-input>\n</div>\n",
9
9
  "summary": "Comprehensive showcase of all form controls in a grid layout, including input types, states, and advanced patterns use for a complete form design reference.",
@@ -14,7 +14,7 @@
14
14
  ]
15
15
  },
16
16
  {
17
- "id": "core-forms_vertical",
17
+ "id": "forms-vertical",
18
18
  "name": "Vertical",
19
19
  "template": "<div nve-layout=\"column gap:lg full\">\n <nve-input>\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-search>\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n <nve-control-message>message</nve-control-message>\n </nve-search>\n <nve-password>\n <label>password label</label>\n <input type=\"password\" value=\"123456\" autocomplete=\"off\" />\n <nve-control-message>message</nve-control-message>\n </nve-password>\n <nve-select>\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-range>\n <label>range label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-checkbox-group>\n <label>checkbox group label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-radio-group>\n <label>radio group label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-control-message>message</nve-control-message>\n </nve-radio-group>\n <nve-switch-group>\n <label>switch group label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-control-message>message</nve-control-message>\n </nve-switch-group>\n <nve-select>\n <label>select multiple label</label>\n <select multiple>\n <option value=\"1\">Option 1</option>\n <option selected value=\"2\">Option 2</option>\n <option selected value=\"3\">Option 3</option>\n <option selected value=\"3\">Option 3</option>\n <option value=\"4\">Option 4</option>\n <option value=\"5\">Option 5</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-textarea>\n <label>textarea label</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n </nve-textarea>\n</div>\n",
20
20
  "summary": "Traditional vertical form layout with labels above inputs, providing clear visual hierarchy and optimal readability for complex forms.",
@@ -23,7 +23,7 @@
23
23
  "tags": []
24
24
  },
25
25
  {
26
- "id": "core-forms_vertical-inline",
26
+ "id": "forms-vertical-inline",
27
27
  "name": "VerticalInline",
28
28
  "template": "<div nve-layout=\"column gap:lg full\">\n <nve-input layout=\"vertical-inline\">\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-search layout=\"vertical-inline\">\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n <nve-control-message>message</nve-control-message>\n </nve-search>\n <nve-password layout=\"vertical-inline\">\n <label>password label</label>\n <input type=\"password\" value=\"123456\" autocomplete=\"off\" />\n <nve-control-message>message</nve-control-message>\n </nve-password>\n <nve-select layout=\"vertical-inline\">\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-range layout=\"vertical-inline\">\n <label>range label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>checkbox group label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-radio-group layout=\"vertical-inline\">\n <label>radio group label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-control-message>message</nve-control-message>\n </nve-radio-group>\n <nve-switch-group layout=\"vertical-inline\">\n <label>switch group label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-control-message>message</nve-control-message>\n </nve-switch-group>\n <nve-select layout=\"vertical-inline\">\n <label>select multiple label</label>\n <select multiple>\n <option value=\"1\">Option 1</option>\n <option selected value=\"2\">Option 2</option>\n <option selected value=\"3\">Option 3</option>\n <option selected value=\"3\">Option 3</option>\n <option value=\"4\">Option 4</option>\n <option value=\"5\">Option 5</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-textarea layout=\"vertical-inline\">\n <label>textarea label</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n </nve-textarea>\n</div>\n",
29
29
  "summary": "Compact vertical layout with inline labels and controls, maximizing space efficiency while maintaining form clarity and accessibility.",
@@ -32,7 +32,7 @@
32
32
  "tags": []
33
33
  },
34
34
  {
35
- "id": "core-forms_horizontal",
35
+ "id": "forms-horizontal",
36
36
  "name": "Horizontal",
37
37
  "template": "<div nve-layout=\"column gap:lg full\">\n <nve-input layout=\"horizontal\">\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-search layout=\"horizontal\">\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n <nve-control-message>message</nve-control-message>\n </nve-search>\n <nve-password layout=\"horizontal\">\n <label>password label</label>\n <input type=\"password\" value=\"123456\" autocomplete=\"off\" />\n <nve-control-message>message</nve-control-message>\n </nve-password>\n <nve-select layout=\"horizontal\">\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-range layout=\"horizontal\">\n <label>range label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-checkbox-group layout=\"horizontal\">\n <label>checkbox group label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-radio-group layout=\"horizontal\">\n <label>radio group label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-control-message>message</nve-control-message>\n </nve-radio-group>\n <nve-switch-group layout=\"horizontal\">\n <label>switch group label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-control-message>message</nve-control-message>\n </nve-switch-group>\n <nve-select layout=\"horizontal\">\n <label>select multiple label</label>\n <select multiple>\n <option value=\"1\">Option 1</option>\n <option selected value=\"2\">Option 2</option>\n <option selected value=\"3\">Option 3</option>\n <option selected value=\"3\">Option 3</option>\n <option value=\"4\">Option 4</option>\n <option value=\"5\">Option 5</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-textarea layout=\"horizontal\">\n <label>textarea label</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n </nve-textarea>\n</div>\n",
38
38
  "summary": "Horizontal form layout with labels beside inputs, creating efficient use of horizontal space and familiar desktop form patterns.",
@@ -41,7 +41,7 @@
41
41
  "tags": []
42
42
  },
43
43
  {
44
- "id": "core-forms_horizontal-inline",
44
+ "id": "forms-horizontal-inline",
45
45
  "name": "HorizontalInline",
46
46
  "template": "<div nve-layout=\"column gap:lg full\">\n <nve-input layout=\"horizontal-inline\">\n <label>text label</label>\n <input />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-search layout=\"horizontal-inline\">\n <label>search label</label>\n <input type=\"search\" placeholder=\"search\" />\n <nve-control-message>message</nve-control-message>\n </nve-search>\n <nve-password layout=\"horizontal-inline\">\n <label>password label</label>\n <input type=\"password\" value=\"123456\" autocomplete=\"off\" />\n <nve-control-message>message</nve-control-message>\n </nve-password>\n <nve-select layout=\"horizontal-inline\">\n <label>select label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n <option value=\"3\">Option 3</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-range layout=\"horizontal-inline\">\n <label>range label</label>\n <input type=\"range\" />\n <nve-control-message>message</nve-control-message>\n </nve-range>\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>checkbox group label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-radio-group layout=\"horizontal-inline\">\n <label>radio group label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-control-message>message</nve-control-message>\n </nve-radio-group>\n <nve-switch-group layout=\"horizontal-inline\">\n <label>switch group label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-control-message>message</nve-control-message>\n </nve-switch-group>\n <nve-select layout=\"horizontal-inline\">\n <label>select multiple label</label>\n <select multiple>\n <option value=\"1\">Option 1</option>\n <option selected value=\"2\">Option 2</option>\n <option selected value=\"3\">Option 3</option>\n <option selected value=\"3\">Option 3</option>\n <option value=\"4\">Option 4</option>\n <option value=\"5\">Option 5</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n <nve-textarea layout=\"horizontal-inline\">\n <label>textarea label</label>\n <textarea></textarea>\n <nve-control-message>message</nve-control-message>\n </nve-textarea>\n</div>\n",
47
47
  "summary": "Space-efficient horizontal layout with inline labels, ideal for dense forms with tight vertical space where quick scanning matters.",
@@ -50,7 +50,7 @@
50
50
  "tags": []
51
51
  },
52
52
  {
53
- "id": "core-forms_fit-text",
53
+ "id": "forms-fit-text",
54
54
  "name": "FitText",
55
55
  "template": "<section nve-layout=\"column gap:md full\">\n <nve-date fit-text>\n <label>date</label>\n <input type=\"date\" value=\"2017-06-01\" />\n <nve-control-message>message</nve-control-message>\n </nve-date>\n <nve-input fit-text>\n <label>label</label>\n <input value=\"123456789012345678901234567890\" />\n <nve-control-message>message</nve-control-message>\n </nve-input>\n <nve-select fit-text>\n <label>label</label>\n <select>\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 1234</option>\n <option value=\"3\">Option 1234567809</option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-select>\n</section>\n",
56
56
  "summary": "Form controls that automatically adjust their width to fit content, optimizing space usage for dynamic or variable-length inputs.",
@@ -61,7 +61,7 @@
61
61
  ]
62
62
  },
63
63
  {
64
- "id": "core-forms_hidden-message-icon",
64
+ "id": "forms-hidden-message-icon",
65
65
  "name": "HiddenMessageIcon",
66
66
  "template": "<style>\n .hidden-icon::part(icon) {\n display: none;\n }\n</style>\n<nve-switch-group style=\"width: 200px\">\n <nve-switch>\n <label>default</label>\n <input type=\"checkbox\" />\n <nve-control-message class=\"hidden-icon\">hidden icon control message</nve-control-message>\n </nve-switch>\n <nve-switch>\n <label>success</label>\n <input type=\"checkbox\" />\n <nve-control-message class=\"hidden-icon\" status=\"success\">hidden icon control message</nve-control-message>\n </nve-switch>\n <nve-switch>\n <label>error</label>\n <input type=\"checkbox\" />\n <nve-control-message class=\"hidden-icon\" status=\"error\">hidden icon control message</nve-control-message>\n </nve-switch>\n <nve-switch>\n <label>warning</label>\n <input type=\"checkbox\" />\n <nve-control-message class=\"hidden-icon\" status=\"warning\">hidden icon control message</nve-control-message>\n </nve-switch>\n</nve-switch-group>\n",
67
67
  "summary": "Hidden status icon on the control message in form controls.",
@@ -72,7 +72,7 @@
72
72
  ]
73
73
  },
74
74
  {
75
- "id": "core-forms_prominence-muted",
75
+ "id": "forms-prominence-muted",
76
76
  "name": "ProminenceMuted",
77
77
  "template": "<div nve-layout=\"row gap:lg\">\n <div nve-layout=\"column gap:lg pad:lg\">\n <nve-radio-group prominence=\"muted\">\n <label>label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n </nve-radio-group>\n <nve-checkbox-group prominence=\"muted\">\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n </nve-checkbox-group>\n <nve-switch-group prominence=\"muted\">\n <label>label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 3</label>\n <input type=\"checkbox\" />\n </nve-switch>\n </nve-switch-group>\n <nve-range prominence=\"muted\">\n <label>label</label>\n <input type=\"range\" />\n </nve-range>\n </div>\n <nve-card>\n <nve-card-content>\n <div nve-layout=\"column gap:lg pad:lg\">\n <nve-radio-group prominence=\"muted\">\n <label>label</label>\n <nve-radio>\n <label>radio 1</label>\n <input type=\"radio\" checked />\n </nve-radio>\n <nve-radio>\n <label>radio 2</label>\n <input type=\"radio\" />\n </nve-radio>\n <nve-radio>\n <label>radio 3</label>\n <input type=\"radio\" />\n </nve-radio>\n </nve-radio-group>\n <nve-checkbox-group prominence=\"muted\">\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n </nve-checkbox-group>\n <nve-switch-group prominence=\"muted\">\n <label>label</label>\n <nve-switch>\n <label>switch 1</label>\n <input type=\"checkbox\" checked />\n </nve-switch>\n <nve-switch>\n <label>switch 2</label>\n <input type=\"checkbox\" />\n </nve-switch>\n <nve-switch>\n <label>switch 3</label>\n <input type=\"checkbox\" />\n </nve-switch>\n </nve-switch-group>\n <nve-range prominence=\"muted\">\n <label>label</label>\n <input type=\"range\" />\n </nve-range>\n </div>\n </nve-card-content>\n </nve-card>\n</div>\n",
78
78
  "summary": "Use the prominence muted state to lower visual weight of controls in forms.",
@@ -3,7 +3,7 @@
3
3
  "entrypoint": "@nvidia-elements/core/forms/validation.examples.json",
4
4
  "items": [
5
5
  {
6
- "id": "core-forms-validation_login-form",
6
+ "id": "forms-validation-login-form",
7
7
  "name": "LoginForm",
8
8
  "template": "<form id=\"validation\" nve-layout=\"column gap:md\" style=\"max-width: 350px\">\n <nve-input>\n <label>email</label>\n <input type=\"email\" name=\"email\" required pattern=\".+@nvidia.com\" autocomplete=\"off\" />\n <nve-control-message error=\"valueMissing\">required</nve-control-message>\n <nve-control-message error=\"patternMismatch\">invalid NVIDIA email</nve-control-message>\n </nve-input>\n <nve-password>\n <label>password</label>\n <input type=\"password\" name=\"password\" required minlength=\"6\" autocomplete=\"off\" />\n <nve-control-message error=\"valueMissing\">required</nve-control-message>\n <nve-control-message error=\"tooShort\">minimum length is 6 characters</nve-control-message>\n </nve-password>\n <nve-button disabled>login to account</nve-button>\n <nve-alert-group hidden status=\"success\">\n <nve-alert></nve-alert>\n </nve-alert-group>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"form#validation\");\n const alertGroup = document.querySelector(\"#validation nve-alert-group\");\n const alert = document.querySelector(\"#validation nve-alert\");\n form.addEventListener(\"submit\", (e) => {\n e.preventDefault();\n const { email, password } = Object.fromEntries(new FormData(form));\n alert.innerText = email + \" / \" + password;\n alertGroup.hidden = false;\n });\n form.addEventListener(\"input\", (e) => {\n form.querySelector(\"nve-button\").disabled = form.matches(\":invalid\");\n });\n</script>\n",
9
9
  "summary": "Use real-time validation with contextual error messages to disable submit until form is valid.",
@@ -14,7 +14,7 @@
14
14
  ]
15
15
  },
16
16
  {
17
- "id": "core-forms-validation_error-group",
17
+ "id": "forms-validation-error-group",
18
18
  "name": "ErrorGroup",
19
19
  "template": "<form nve-layout=\"column gap:md\" style=\"max-width: 350px\" novalidate>\n <nve-input>\n <label>email</label>\n <input type=\"email\" name=\"email\" required pattern=\".+@nvidia.com\" autocomplete=\"off\" />\n <nve-control-message status=\"error\">invalid email</nve-control-message>\n </nve-input>\n <nve-password>\n <label>password</label>\n <input type=\"password\" name=\"password\" required minlength=\"6\" autocomplete=\"off\" />\n <nve-control-message status=\"error\">minimum length is 6 characters</nve-control-message>\n </nve-password>\n <nve-button>login to account</nve-button>\n <nve-alert-group status=\"danger\">\n <nve-alert>invalid email</nve-alert>\n <nve-alert>password required</nve-alert>\n </nve-alert-group>\n</form>\n",
20
20
  "summary": "Login form with grouped error display showing all validation issues together after submission attempt.",
@@ -23,7 +23,7 @@
23
23
  "tags": []
24
24
  },
25
25
  {
26
- "id": "core-forms-validation_success-group",
26
+ "id": "forms-validation-success-group",
27
27
  "name": "SuccessGroup",
28
28
  "template": "<form nve-layout=\"column gap:md\" style=\"max-width: 350px\" novalidate>\n <nve-input>\n <label>username</label>\n <input type=\"email\" name=\"email\" required pattern=\".+@nvidia.com\" autocomplete=\"off\" />\n <nve-control-message status=\"success\">username available</nve-control-message>\n </nve-input>\n <nve-password>\n <label>password</label>\n <input type=\"password\" name=\"password\" required minlength=\"6\" autocomplete=\"off\" />\n </nve-password>\n <nve-button>login to account</nve-button>\n <nve-alert-group status=\"success\">\n <nve-alert closable>account created</nve-alert>\n </nve-alert-group>\n</form>\n",
29
29
  "summary": "Login form example of success feedback with positive confirmation messages for valid input and successful form submission.",
@@ -32,7 +32,7 @@
32
32
  "tags": []
33
33
  },
34
34
  {
35
- "id": "core-forms-validation_reset-form",
35
+ "id": "forms-validation-reset-form",
36
36
  "name": "ResetForm",
37
37
  "template": "<form nve-layout=\"column gap:md\" style=\"max-width: 350px\">\n <nve-input>\n <label>email</label>\n <input type=\"email\" name=\"email\" required pattern=\".+@nvidia.com\" autocomplete=\"off\" value=\"test@nvidia.com\" />\n <nve-icon-button aria-label=\"reset\" icon-name=\"cancel\" container=\"flat\" type=\"button\"></nve-icon-button>\n <nve-control-message error=\"valueMissing\">required</nve-control-message>\n <nve-control-message error=\"patternMismatch\">invalid NVIDIA email</nve-control-message>\n </nve-input>\n <nve-password>\n <label>password</label>\n <input type=\"password\" name=\"password\" required minlength=\"6\" autocomplete=\"off\" />\n <nve-control-message error=\"valueMissing\">required</nve-control-message>\n </nve-password>\n <nve-button type=\"button\">reset form</nve-button>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"form\");\n const input = form.querySelector(\"nve-input\");\n const resetInput = form.querySelector('nve-icon-button[icon-name=\"cancel\"]');\n const resetForm = form.querySelector(\"nve-button\");\n resetInput.addEventListener(\"click\", (e) => input.reset());\n resetForm.addEventListener(\"click\", (e) => form.reset());\n form.addEventListener(\"reset\", (e) => console.log(e));\n</script>\n",
38
38
  "summary": "Form reset functionality allowing users to clear individual fields or reset the entire form.",
@@ -41,7 +41,7 @@
41
41
  "tags": []
42
42
  },
43
43
  {
44
- "id": "core-forms-validation_lit-forms",
44
+ "id": "forms-validation-lit-forms",
45
45
  "name": "LitForms",
46
46
  "template": "<app-login></app-login>\n",
47
47
  "summary": "Forms work with LitElement",
@@ -10,7 +10,7 @@ var a = class extends r {
10
10
  static {
11
11
  this.metadata = {
12
12
  tag: "nve-grid-cell",
13
- version: "0.0.10"
13
+ version: "0.0.11"
14
14
  };
15
15
  }
16
16
  render() {
@@ -13,7 +13,7 @@ var c = class n extends a {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-grid-column",
16
- version: "0.0.10"
16
+ version: "0.0.11"
17
17
  };
18
18
  }
19
19
  get #e() {
@@ -15,7 +15,7 @@ var s = class extends a {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-grid-footer",
18
- version: "0.0.10"
18
+ version: "0.0.11"
19
19
  };
20
20
  }
21
21
  static {