@nvidia-elements/core 2.11.2 → 2.12.1

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 (181) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/accordion/accordion.examples.json +1 -1
  3. package/dist/accordion/accordion2.js +4 -4
  4. package/dist/alert/alert-group2.js +1 -1
  5. package/dist/alert/alert.examples.json +6 -6
  6. package/dist/alert/alert2.js +1 -1
  7. package/dist/avatar/avatar-group2.js +1 -1
  8. package/dist/avatar/avatar2.js +1 -1
  9. package/dist/badge/badge2.js +1 -1
  10. package/dist/breadcrumb/breadcrumb2.js +1 -1
  11. package/dist/bundles/index.d.ts +473 -469
  12. package/dist/bundles/index.js +6 -6
  13. package/dist/button/button.examples.json +3 -3
  14. package/dist/button/button2.js +1 -1
  15. package/dist/button-group/button-group2.js +1 -1
  16. package/dist/card/card.examples.json +2 -2
  17. package/dist/card/card2.js +4 -4
  18. package/dist/chat-message/chat-message.examples.json +1 -1
  19. package/dist/chat-message/chat-message2.js +1 -1
  20. package/dist/checkbox/checkbox-group2.js +1 -1
  21. package/dist/checkbox/checkbox.examples.json +5 -5
  22. package/dist/checkbox/checkbox2.js +1 -1
  23. package/dist/color/color.examples.json +2 -2
  24. package/dist/color/color2.js +1 -1
  25. package/dist/combobox/combobox.examples.json +7 -7
  26. package/dist/combobox/combobox2.js +1 -1
  27. package/dist/copy-button/copy-button.examples.json +1 -1
  28. package/dist/copy-button/copy-button2.js +1 -1
  29. package/dist/custom-elements-jsx.d.ts +6 -2
  30. package/dist/custom-elements-vue.d.ts +6 -2
  31. package/dist/custom-elements.json +89 -17
  32. package/dist/data.html.json +10 -1
  33. package/dist/date/date.examples.json +3 -3
  34. package/dist/date/date2.js +1 -1
  35. package/dist/datetime/datetime.examples.json +2 -2
  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 +7 -7
  40. package/dist/dialog/dialog2.js +1 -1
  41. package/dist/divider/divider2.js +1 -1
  42. package/dist/dot/dot2.js +1 -1
  43. package/dist/drawer/drawer-content2.js +1 -1
  44. package/dist/drawer/drawer-footer2.js +1 -1
  45. package/dist/drawer/drawer-header2.js +1 -1
  46. package/dist/drawer/drawer.examples.json +5 -5
  47. package/dist/drawer/drawer2.js +1 -1
  48. package/dist/dropdown/dropdown-footer2.js +1 -1
  49. package/dist/dropdown/dropdown-header2.js +1 -1
  50. package/dist/dropdown/dropdown.examples.json +3 -3
  51. package/dist/dropdown/dropdown2.js +1 -1
  52. package/dist/dropdown-group/dropdown-group.js +1 -1
  53. package/dist/dropzone/dropzone.examples.json +2 -2
  54. package/dist/dropzone/dropzone2.js +1 -1
  55. package/dist/file/file.examples.json +2 -2
  56. package/dist/file/file2.js +1 -1
  57. package/dist/format-bytes/format-bytes2.js +1 -1
  58. package/dist/format-datetime/format-datetime2.js +1 -1
  59. package/dist/format-number/format-number2.js +1 -1
  60. package/dist/format-relative-time/format-relative-time2.js +1 -1
  61. package/dist/format-truncate/format-truncate2.js +1 -1
  62. package/dist/forms/control/control.examples.json +3 -3
  63. package/dist/forms/control/control2.js +1 -1
  64. package/dist/forms/control-group/control-group2.js +1 -1
  65. package/dist/forms/control-message/control-message2.js +1 -1
  66. package/dist/forms/forms.examples.json +7 -7
  67. package/dist/forms/validation.examples.json +4 -4
  68. package/dist/gauge/gauge.examples.json +2 -2
  69. package/dist/gauge/gauge2.js +1 -1
  70. package/dist/grid/cell/cell2.js +1 -1
  71. package/dist/grid/column/column2.js +1 -1
  72. package/dist/grid/footer/footer2.js +1 -1
  73. package/dist/grid/grid.examples.json +6 -6
  74. package/dist/grid/grid2.js +1 -1
  75. package/dist/grid/header/header2.js +1 -1
  76. package/dist/grid/placeholder/placeholder2.js +1 -1
  77. package/dist/grid/row/row2.js +1 -1
  78. package/dist/icon/icon.examples.json +1 -1
  79. package/dist/icon/icon2.js +2 -2
  80. package/dist/icon/icons.d.ts +2 -1
  81. package/dist/icon/icons.js.map +1 -1
  82. package/dist/icon-button/icon-button2.js +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/input/input-group.examples.json +3 -3
  85. package/dist/input/input-group2.js +1 -1
  86. package/dist/input/input.examples.json +2 -2
  87. package/dist/input/input2.js +1 -1
  88. package/dist/internal/controllers/gesture.controller.examples.json +1 -1
  89. package/dist/internal/controllers/popover.examples.json +5 -5
  90. package/dist/internal/controllers/type-popover.controller.examples.json +1 -1
  91. package/dist/internal/services/global.service.js +1 -1
  92. package/dist/internal/types/icons.d.ts +1 -0
  93. package/dist/internal/types/index.d.ts +1 -1
  94. package/dist/internal/types/index.js.map +1 -1
  95. package/dist/internal/utils/dom.js +18 -10
  96. package/dist/internal/utils/dom.js.map +1 -1
  97. package/dist/logo/logo2.js +1 -1
  98. package/dist/menu/menu-group2.js +1 -1
  99. package/dist/menu/menu-item2.js +1 -1
  100. package/dist/menu/menu.examples.json +1 -1
  101. package/dist/menu/menu2.js +1 -1
  102. package/dist/month/month.examples.json +2 -2
  103. package/dist/month/month2.js +1 -1
  104. package/dist/notification/notification-group2.js +1 -1
  105. package/dist/notification/notification.examples.json +5 -5
  106. package/dist/notification/notification2.js +1 -1
  107. package/dist/page/page-panel/page-panel-content2.js +1 -1
  108. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  109. package/dist/page/page-panel/page-panel-header2.js +1 -1
  110. package/dist/page/page-panel/page-panel2.js +1 -1
  111. package/dist/page/page.examples.json +25 -25
  112. package/dist/page/page2.js +1 -1
  113. package/dist/page-header/page-header2.js +1 -1
  114. package/dist/page-loader/page-loader.examples.json +1 -1
  115. package/dist/page-loader/page-loader2.js +1 -1
  116. package/dist/pagination/pagination.examples.json +2 -2
  117. package/dist/pagination/pagination2.js +1 -1
  118. package/dist/panel/panel.examples.json +7 -7
  119. package/dist/panel/panel2.js +4 -4
  120. package/dist/password/password.examples.json +2 -2
  121. package/dist/password/password2.js +1 -1
  122. package/dist/preferences-input/preferences-input.examples.json +1 -1
  123. package/dist/preferences-input/preferences-input2.js +1 -1
  124. package/dist/progress-bar/progress-bar2.js +1 -1
  125. package/dist/progress-ring/progress-ring.examples.json +5 -5
  126. package/dist/progress-ring/progress-ring2.js +1 -1
  127. package/dist/progressive-filter-chip/progressive-filter-chip.examples.json +1 -1
  128. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  129. package/dist/pulse/pulse2.js +1 -1
  130. package/dist/radio/radio-group2.js +1 -1
  131. package/dist/radio/radio.examples.json +5 -5
  132. package/dist/radio/radio2.js +1 -1
  133. package/dist/range/range.examples.json +2 -2
  134. package/dist/range/range2.js +1 -1
  135. package/dist/resize-handle/resize-handle.examples.json +2 -2
  136. package/dist/resize-handle/resize-handle2.js +1 -1
  137. package/dist/search/search.examples.json +2 -2
  138. package/dist/search/search2.js +1 -1
  139. package/dist/select/select.examples.json +8 -8
  140. package/dist/select/select2.js +1 -1
  141. package/dist/skeleton/skeleton2.js +1 -1
  142. package/dist/sort-button/sort-button2.js +1 -1
  143. package/dist/sparkline/sparkline2.js +1 -1
  144. package/dist/star-rating/star-rating2.js +1 -1
  145. package/dist/steps/steps2.js +2 -2
  146. package/dist/switch/switch-group2.js +1 -1
  147. package/dist/switch/switch.examples.json +5 -5
  148. package/dist/switch/switch2.js +1 -1
  149. package/dist/tabs/tabs-group2.js +1 -1
  150. package/dist/tabs/tabs.examples.json +1 -1
  151. package/dist/tabs/tabs2.js +2 -2
  152. package/dist/tag/tag2.js +1 -1
  153. package/dist/textarea/textarea.examples.json +2 -2
  154. package/dist/textarea/textarea2.js +1 -1
  155. package/dist/time/time.examples.json +2 -2
  156. package/dist/time/time2.js +1 -1
  157. package/dist/toast/toast.examples.json +1 -1
  158. package/dist/toast/toast2.js +1 -1
  159. package/dist/toggletip/toggletip-footer2.js +1 -1
  160. package/dist/toggletip/toggletip-header2.js +1 -1
  161. package/dist/toggletip/toggletip.examples.json +5 -5
  162. package/dist/toggletip/toggletip2.js +1 -1
  163. package/dist/toolbar/toolbar.examples.json +4 -4
  164. package/dist/toolbar/toolbar2.js +1 -1
  165. package/dist/tooltip/tooltip.examples.json +6 -6
  166. package/dist/tooltip/tooltip2.js +1 -1
  167. package/dist/tree/tree-node2.js +1 -1
  168. package/dist/tree/tree.examples.json +2 -2
  169. package/dist/tree/tree2.js +1 -1
  170. package/dist/viewport/viewport-gridlines.d.ts +6 -2
  171. package/dist/viewport/viewport-gridlines.js +1 -1
  172. package/dist/viewport/viewport-gridlines.js.map +1 -1
  173. package/dist/viewport/viewport-gridlines2.js +39 -29
  174. package/dist/viewport/viewport-gridlines2.js.map +1 -1
  175. package/dist/viewport/viewport-minimap2.js +1 -1
  176. package/dist/viewport/viewport.examples.js.map +1 -1
  177. package/dist/viewport/viewport.examples.json +34 -16
  178. package/dist/viewport/viewport2.js +1 -1
  179. package/dist/week/week.examples.json +3 -3
  180. package/dist/week/week2.js +1 -1
  181. package/package.json +2 -1
@@ -153,7 +153,7 @@
153
153
  {
154
154
  "id": "button-form-submit",
155
155
  "name": "FormSubmit",
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",
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\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.",
158
158
  "description": "",
159
159
  "composition": false,
@@ -182,7 +182,7 @@
182
182
  {
183
183
  "id": "button-background-override",
184
184
  "name": "BackgroundOverride",
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(340deg, rgb(255 234 177) 0%, color-mix(in oklab, var(--nve-ref-color-yellow-amber-900) 100%, #000 4%) 60%);\n }\n }\n</style>\n<nve-button class=\"custom\">Create Account</nve-button>\n<nve-button>Create Account</nve-button>\n",
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\n &:hover {\n --background-image: linear-gradient(340deg, rgb(255 234 177) 0%, color-mix(in oklab, var(--nve-ref-color-yellow-amber-900) 100%, #000 4%) 60%);\n }\n }\n</style>\n\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.",
187
187
  "description": "",
188
188
  "composition": false,
@@ -222,7 +222,7 @@
222
222
  {
223
223
  "id": "button-contrast-colored-backgrounds",
224
224
  "name": "ContrastColoredBackgrounds",
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% / 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",
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\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\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% / 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.",
227
227
  "description": "",
228
228
  "composition": true,
@@ -12,7 +12,7 @@ var s = class extends o(r) {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-button",
15
- version: "2.11.2"
15
+ version: "2.12.1"
16
16
  };
17
17
  }
18
18
  render() {
@@ -26,7 +26,7 @@ var f = class extends c {
26
26
  static {
27
27
  this.metadata = {
28
28
  tag: "nve-button-group",
29
- version: "2.11.2",
29
+ version: "2.12.1",
30
30
  children: [
31
31
  "nve-button",
32
32
  "nve-icon-button",
@@ -41,7 +41,7 @@
41
41
  {
42
42
  "id": "card-description-list",
43
43
  "name": "DescriptionList",
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\">Port is the nautical term that refers to the left side of a ship, as perceived by a person facing towards the bow (the front of the vessel).</dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Starboard</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Starboard is the nautical term that refers to the right side of a vessel, as perceived by a person facing towards the bow (the front of the vessel).</dd>\n </dl>\n </nve-card-content>\n</nve-card>\n",
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\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Port</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Port is the nautical term that refers to the left side of a ship, as perceived by a person facing towards the bow (the front of the vessel).</dd>\n\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Starboard</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">Starboard is the nautical term that refers to the right side of a vessel, as perceived by a person facing towards the bow (the front of the vessel).</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.",
46
46
  "description": "",
47
47
  "composition": false,
@@ -81,7 +81,7 @@
81
81
  {
82
82
  "id": "card-audit",
83
83
  "name": "Audit",
84
- "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",
84
+ "template": "<!-- invalid padding usage -->\n<nve-card nve-layout=\"pad:md\"></nve-card>\n\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",
85
85
  "summary": "Examples of invalid card usage patterns for testing and documentation purposes, showing what not to do when implementing cards.",
86
86
  "description": "",
87
87
  "composition": false,
@@ -16,7 +16,7 @@ var d = class extends c {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-card",
19
- version: "2.11.2"
19
+ version: "2.12.1"
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: "2.11.2",
40
+ version: "2.12.1",
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: "2.11.2",
56
+ version: "2.12.1",
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: "2.11.2",
75
+ version: "2.12.1",
76
76
  parents: ["nve-card"]
77
77
  };
78
78
  }
@@ -25,7 +25,7 @@
25
25
  {
26
26
  "id": "chat-message-flat",
27
27
  "name": "Flat",
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 successful. Review the detailed logs in the CI dashboard for more information.\n </nve-chat-message>\n</section>\n",
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\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 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.",
30
30
  "description": "",
31
31
  "composition": false,
@@ -13,7 +13,7 @@ var l = class extends o {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-chat-message",
16
- version: "2.11.2"
16
+ version: "2.12.1"
17
17
  };
18
18
  }
19
19
  render() {
@@ -12,7 +12,7 @@ var o = class extends i {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-checkbox-group",
15
- version: "2.11.2",
15
+ version: "2.12.1",
16
16
  children: [
17
17
  "label",
18
18
  "nve-control-message",
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "id": "checkbox-states",
16
16
  "name": "States",
17
- "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox>\n <label>label</label>\n <input type=\"checkbox\" />\n <nve-control-message>message</nve-control-message>\n </nve-checkbox>\n <nve-checkbox>\n <label>disabled</label>\n <input type=\"checkbox\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-checkbox>\n <nve-checkbox>\n <label>success</label>\n <input type=\"checkbox\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-checkbox>\n <nve-checkbox>\n <label>error</label>\n <input type=\"checkbox\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-checkbox>\n</div>\n",
17
+ "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox>\n <label>label</label>\n <input type=\"checkbox\" />\n <nve-control-message>message</nve-control-message>\n </nve-checkbox>\n\n <nve-checkbox>\n <label>disabled</label>\n <input type=\"checkbox\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-checkbox>\n\n <nve-checkbox>\n <label>success</label>\n <input type=\"checkbox\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-checkbox>\n\n <nve-checkbox>\n <label>error</label>\n <input type=\"checkbox\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-checkbox>\n</div>\n",
18
18
  "summary": "Checkbox states including default, disabled, success, and error with control messages for validation feedback.",
19
19
  "description": "",
20
20
  "composition": false,
@@ -23,7 +23,7 @@
23
23
  {
24
24
  "id": "checkbox-vertical-group",
25
25
  "name": "VerticalGroup",
26
- "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group>\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-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group>\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group>\n <label>success</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 status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group>\n <label>error</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 status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
26
+ "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group>\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\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\n <nve-checkbox-group>\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group>\n <label>success</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group>\n <label>error</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
27
27
  "summary": "Checkbox group with vertical layout for related options stacked in a column with validation states.",
28
28
  "description": "",
29
29
  "composition": false,
@@ -32,7 +32,7 @@
32
32
  {
33
33
  "id": "checkbox-vertical-inline-group",
34
34
  "name": "VerticalInlineGroup",
35
- "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"vertical-inline\">\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-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>success</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 status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>error</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 status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
35
+ "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\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\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>success</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"vertical-inline\">\n <label>error</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
36
36
  "summary": "Checkbox group with vertical inline layout for compact vertical stacking with inline label positioning.",
37
37
  "description": "",
38
38
  "composition": false,
@@ -43,7 +43,7 @@
43
43
  {
44
44
  "id": "checkbox-horizontal-group",
45
45
  "name": "HorizontalGroup",
46
- "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"horizontal\">\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-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal\">\n <label>success</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 status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal\">\n <label>error</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 status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
46
+ "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"horizontal\">\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\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\n <nve-checkbox-group layout=\"horizontal\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"horizontal\">\n <label>success</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"horizontal\">\n <label>error</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
47
47
  "summary": "Checkbox group with horizontal layout for related options arranged in a row, ideal for limited choices.",
48
48
  "description": "",
49
49
  "composition": false,
@@ -54,7 +54,7 @@
54
54
  {
55
55
  "id": "checkbox-horizontal-inline-group",
56
56
  "name": "HorizontalInlineGroup",
57
- "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"horizontal-inline\">\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-control-message>message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>success</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 status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>error</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 status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
57
+ "template": "<div nve-layout=\"column gap:lg align:stretch\">\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>label</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\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\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>disabled</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" disabled />\n </nve-checkbox>\n <nve-control-message>disabled message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>success</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"success\">success message</nve-control-message>\n </nve-checkbox-group>\n\n <nve-checkbox-group layout=\"horizontal-inline\">\n <label>error</label>\n <nve-checkbox>\n <label>checkbox 1</label>\n <input type=\"checkbox\" checked />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 2</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n\n <nve-checkbox>\n <label>checkbox 3</label>\n <input type=\"checkbox\" />\n </nve-checkbox>\n <nve-control-message status=\"error\">error message</nve-control-message>\n </nve-checkbox-group>\n</div>\n",
58
58
  "summary": "Checkbox group with horizontal inline layout for space-efficient horizontal arrangement with inline labels.",
59
59
  "description": "",
60
60
  "composition": false,
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-checkbox",
18
- version: "2.11.2",
18
+ version: "2.12.1",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -23,7 +23,7 @@
23
23
  {
24
24
  "id": "color-vertical",
25
25
  "name": "Vertical",
26
- "template": "<div nve-layout=\"column gap:lg full\">\n <nve-color>\n <label>label</label>\n <input type=\"color\" />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n <nve-color>\n <label>disabled</label>\n <input type=\"color\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n <nve-color>\n <label>success</label>\n <input type=\"color\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-color>\n <nve-color>\n <label>error</label>\n <input type=\"color\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-color>\n</div>\n",
26
+ "template": "<div nve-layout=\"column gap:lg full\">\n <nve-color>\n <label>label</label>\n <input type=\"color\" />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n\n <nve-color>\n <label>disabled</label>\n <input type=\"color\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n\n <nve-color>\n <label>success</label>\n <input type=\"color\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-color>\n\n <nve-color>\n <label>error</label>\n <input type=\"color\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-color>\n</div>\n",
27
27
  "summary": "Color pickers with vertical layout including validation states for disabled, success, and error.",
28
28
  "description": "",
29
29
  "composition": false,
@@ -34,7 +34,7 @@
34
34
  {
35
35
  "id": "color-horizontal",
36
36
  "name": "Horizontal",
37
- "template": "<div nve-layout=\"column gap:lg full\">\n <nve-color layout=\"horizontal\">\n <label>label</label>\n <input type=\"color\" />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n <nve-color layout=\"horizontal\">\n <label>disabled</label>\n <input type=\"color\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n <nve-color layout=\"horizontal\">\n <label>success</label>\n <input type=\"color\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-color>\n <nve-color layout=\"horizontal\">\n <label>error</label>\n <input type=\"color\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-color>\n</div>\n",
37
+ "template": "<div nve-layout=\"column gap:lg full\">\n <nve-color layout=\"horizontal\">\n <label>label</label>\n <input type=\"color\" />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n\n <nve-color layout=\"horizontal\">\n <label>disabled</label>\n <input type=\"color\" disabled />\n <nve-control-message>message</nve-control-message>\n </nve-color>\n\n <nve-color layout=\"horizontal\">\n <label>success</label>\n <input type=\"color\" />\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-color>\n\n <nve-color layout=\"horizontal\">\n <label>error</label>\n <input type=\"color\" />\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-color>\n</div>\n",
38
38
  "summary": "Color pickers with horizontal layout showing validation states for inline forms and compact layouts.",
39
39
  "description": "",
40
40
  "composition": false,
@@ -21,7 +21,7 @@ var f = class extends a {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-color",
24
- version: "2.11.2"
24
+ version: "2.12.1"
25
25
  };
26
26
  }
27
27
  static {
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "id": "combobox-vertical",
16
16
  "name": "Vertical",
17
- "template": "<div nve-layout=\"column gap:lg full\">\n <nve-combobox>\n <label>label</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n <nve-combobox>\n <label>disabled</label>\n <input type=\"search\" disabled />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n <nve-combobox>\n <label>success</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-combobox>\n <nve-combobox>\n <label>error</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-combobox>\n</div>\n",
17
+ "template": "<div nve-layout=\"column gap:lg full\">\n <nve-combobox>\n <label>label</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox>\n <label>disabled</label>\n <input type=\"search\" disabled />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox>\n <label>success</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox>\n <label>error</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-combobox>\n</div>\n",
18
18
  "summary": "Vertical layout showing different combobox states (normal, disabled, success, error) stacked for comparison.",
19
19
  "description": "",
20
20
  "composition": false,
@@ -25,7 +25,7 @@
25
25
  {
26
26
  "id": "combobox-horizontal",
27
27
  "name": "Horizontal",
28
- "template": "<div nve-layout=\"column gap:lg full\">\n <nve-combobox layout=\"horizontal\">\n <label>label</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n <nve-combobox layout=\"horizontal\">\n <label>disabled</label>\n <input type=\"search\" disabled />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n <nve-combobox layout=\"horizontal\">\n <label>success</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-combobox>\n <nve-combobox layout=\"horizontal\">\n <label>error</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-combobox>\n</div>\n",
28
+ "template": "<div nve-layout=\"column gap:lg full\">\n <nve-combobox layout=\"horizontal\">\n <label>label</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox layout=\"horizontal\">\n <label>disabled</label>\n <input type=\"search\" disabled />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox layout=\"horizontal\">\n <label>success</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"success\">message</nve-control-message>\n </nve-combobox>\n\n <nve-combobox layout=\"horizontal\">\n <label>error</label>\n <input type=\"search\" />\n <datalist>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </datalist>\n <nve-control-message status=\"error\">message</nve-control-message>\n </nve-combobox>\n</div>\n",
29
29
  "summary": "Horizontal layout showing different combobox states (normal, disabled, success, error) for inline form layouts.",
30
30
  "description": "",
31
31
  "composition": false,
@@ -148,7 +148,7 @@
148
148
  {
149
149
  "id": "combobox-select-all",
150
150
  "name": "SelectAll",
151
- "template": "<nve-combobox id=\"combobox-select-all\" style=\"width: 500px; --scroll-height: 200px\">\n <label>label</label>\n <input type=\"search\" />\n <select multiple>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n <option value=\"includes\"></option>\n <option value=\"user\"></option>\n <option value=\"progress\"></option>\n </select>\n <div slot=\"footer\" nve-layout=\"row align:stretch full\">\n <nve-button container=\"flat\">Select All</nve-button>\n <nve-button container=\"flat\">Deselect All</nve-button>\n </div>\n <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.querySelector(\"#combobox-select-all\");\n const [selectAll, deselectAll] = Array.from(combobox.querySelectorAll(\"nve-button\"));\n selectAll.addEventListener(\"click\", () => combobox.selectAll());\n deselectAll.addEventListener(\"click\", () => combobox.reset());\n combobox.addEventListener(\"change\", (e) => console.log(e.target.selectedOptions));\n</script>\n",
151
+ "template": "<nve-combobox id=\"combobox-select-all\" style=\"width: 500px; --scroll-height: 200px\">\n <label>label</label>\n <input type=\"search\" />\n <select multiple>\n <option value=\"status\"></option>\n <option value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n <option value=\"includes\"></option>\n <option value=\"user\"></option>\n <option value=\"progress\"></option>\n </select>\n <div slot=\"footer\" nve-layout=\"row align:stretch full\">\n <nve-button container=\"flat\">Select All</nve-button>\n <nve-button container=\"flat\">Deselect All</nve-button>\n </div>\n <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.querySelector(\"#combobox-select-all\");\n const [selectAll, deselectAll] = Array.from(combobox.querySelectorAll(\"nve-button\"));\n\n selectAll.addEventListener(\"click\", () => combobox.selectAll());\n deselectAll.addEventListener(\"click\", () => combobox.reset());\n combobox.addEventListener(\"change\", (e) => console.log(e.target.selectedOptions));\n</script>\n",
152
152
  "summary": "Multi-select with bulk selection controls (Select All/Deselect All) in footer for efficient mass operations.",
153
153
  "description": "",
154
154
  "composition": true,
@@ -175,7 +175,7 @@
175
175
  {
176
176
  "id": "combobox-create-options",
177
177
  "name": "CreateOptions",
178
- "template": "<nve-combobox id=\"creatable-combo\" behavior-create style=\"--scroll-height: 220px\">\n <label>Tags</label>\n <input type=\"search\" placeholder=\"Select or create a tag…\" />\n <select multiple>\n <option value=\"Go\">Go</option>\n <option value=\"Rust\">Rust</option>\n <option value=\"Python\">Python</option>\n <option value=\"JavaScript\">JavaScript</option>\n <option value=\"TypeScript\">TypeScript</option>\n <option value=\"Java\">Java</option>\n <option value=\"C#\">C#</option>\n <option value=\"C++\">C++</option>\n <option value=\"C\">C</option>\n <option value=\"PHP\">PHP</option>\n </select>\n <nve-control-message>Press Enter to create a tag that doesn't exist yet</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.getElementById(\"creatable-combo\");\n const select = combobox.querySelector(\"select\");\n combobox.addEventListener(\"create\", (e) => {\n const option = document.createElement(\"option\");\n option.value = e.detail.value;\n option.textContent = e.detail.value;\n option.selected = true;\n select.appendChild(option);\n });\n</script>\n",
178
+ "template": "<nve-combobox id=\"creatable-combo\" behavior-create style=\"--scroll-height: 220px\">\n <label>Tags</label>\n <input type=\"search\" placeholder=\"Select or create a tag…\" />\n <select multiple>\n <option value=\"Go\">Go</option>\n <option value=\"Rust\">Rust</option>\n <option value=\"Python\">Python</option>\n <option value=\"JavaScript\">JavaScript</option>\n <option value=\"TypeScript\">TypeScript</option>\n <option value=\"Java\">Java</option>\n <option value=\"C#\">C#</option>\n <option value=\"C++\">C++</option>\n <option value=\"C\">C</option>\n <option value=\"PHP\">PHP</option>\n </select>\n <nve-control-message>Press Enter to create a tag that doesn't exist yet</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.getElementById(\"creatable-combo\");\n const select = combobox.querySelector(\"select\");\n\n combobox.addEventListener(\"create\", (e) => {\n const option = document.createElement(\"option\");\n option.value = e.detail.value;\n option.textContent = e.detail.value;\n option.selected = true;\n select.appendChild(option);\n });\n</script>\n",
179
179
  "summary": "Combobox with create option behavior that allows users to add new options and tags on the fly. Use when the option list is not exhaustive and users need to enter values that don't yet exist.",
180
180
  "description": "",
181
181
  "composition": false,
@@ -186,7 +186,7 @@
186
186
  {
187
187
  "id": "combobox-form",
188
188
  "name": "Form",
189
- "template": "<form nve-layout=\"column gap:lg align:stretch\">\n <nve-combobox style=\"--scroll-height: 220px\">\n <label>label</label>\n <input type=\"search\" name=\"input\" />\n <select multiple name=\"select\" value=\"priority\">\n <option value=\"status\"></option>\n <option selected value=\"priority\"></option>\n <option selected value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n <div nve-layout=\"row gap:xs\">\n <nve-button type=\"button\">set</nve-button>\n <nve-button type=\"reset\">reset</nve-button>\n <nve-button type=\"submit\">submit</nve-button>\n </div>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"form\");\n const select = document.querySelector(\"select\");\n const input = document.querySelector(\"input\");\n const btn = document.querySelector(\"[type=button]\");\n form.addEventListener(\"submit\", (e) => {\n e.preventDefault();\n const formData = new FormData(form);\n console.log(\"input: \", formData.get(\"input\"));\n console.log(\"select: \", formData.get(\"select\"));\n console.log(\n \"selectedOptions: \",\n Array.from(select.selectedOptions).map((o) => o.value),\n );\n });\n btn.addEventListener(\"click\", () => {\n select.value = \"status\";\n select.options[0].selected = true;\n input.value = \"test\";\n });\n</script>\n",
189
+ "template": "<form nve-layout=\"column gap:lg align:stretch\">\n <nve-combobox style=\"--scroll-height: 220px\">\n <label>label</label>\n <input type=\"search\" name=\"input\" />\n <select multiple name=\"select\" value=\"priority\">\n <option value=\"status\"></option>\n <option selected value=\"priority\"></option>\n <option selected value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </select>\n <nve-control-message>message</nve-control-message>\n </nve-combobox>\n\n <div nve-layout=\"row gap:xs\">\n <nve-button type=\"button\">set</nve-button>\n <nve-button type=\"reset\">reset</nve-button>\n <nve-button type=\"submit\">submit</nve-button>\n </div>\n</form>\n\n<script type=\"module\">\n const form = document.querySelector(\"form\");\n const select = document.querySelector(\"select\");\n const input = document.querySelector(\"input\");\n const btn = document.querySelector(\"[type=button]\");\n\n form.addEventListener(\"submit\", (e) => {\n e.preventDefault();\n const formData = new FormData(form);\n console.log(\"input: \", formData.get(\"input\"));\n console.log(\"select: \", formData.get(\"select\"));\n console.log(\n \"selectedOptions: \",\n Array.from(select.selectedOptions).map((o) => o.value),\n );\n });\n\n btn.addEventListener(\"click\", () => {\n select.value = \"status\";\n select.options[0].selected = true;\n input.value = \"test\";\n });\n</script>\n",
190
190
  "summary": "Complete form integration showing combobox with form submission, reset, and programmatic value setting.",
191
191
  "description": "",
192
192
  "composition": true,
@@ -195,7 +195,7 @@
195
195
  {
196
196
  "id": "combobox-dynamic-typeahead-search",
197
197
  "name": "DynamicTypeaheadSearch",
198
- "template": "<nve-combobox id=\"combobox\">\n <label>GPU Search</label>\n <input type=\"search\" placeholder=\"Type to search…\" />\n <datalist>\n <option disabled selected></option>\n </datalist>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.getElementById(\"combobox\");\n const input = combobox.querySelector(\"input\");\n const datalist = combobox.querySelector(\"datalist\");\n let controller = null;\n input.addEventListener(\"input\", async () => {\n if (controller) controller.abort();\n controller = new AbortController();\n const query = input.value.trim();\n if (!query) {\n datalist.innerHTML = \"\";\n return;\n }\n try {\n const results = await mockFetch(query, controller.signal);\n datalist.innerHTML = results.map((v) => '<option value=\"' + v + '\">').join(\"\");\n } catch (err) {\n if (err.name !== \"AbortError\") datalist.innerHTML = \"\";\n }\n });\n function mockFetch(query, signal) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n resolve([\"A100 GPU\", \"H100 GPU\", \"H200 GPU\", \"DGX A100\", \"DGX H100\", \"CUDA Toolkit\"].filter((v) => v.toLowerCase().startsWith(query.toLowerCase())));\n }, 500);\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timer);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n });\n }\n</script>\n",
198
+ "template": "<nve-combobox id=\"combobox\">\n <label>GPU Search</label>\n <input type=\"search\" placeholder=\"Type to search…\" />\n <datalist>\n <option disabled selected></option>\n </datalist>\n</nve-combobox>\n\n<script type=\"module\">\n const combobox = document.getElementById(\"combobox\");\n const input = combobox.querySelector(\"input\");\n const datalist = combobox.querySelector(\"datalist\");\n\n let controller = null;\n input.addEventListener(\"input\", async () => {\n if (controller) controller.abort();\n controller = new AbortController();\n\n const query = input.value.trim();\n if (!query) {\n datalist.innerHTML = \"\";\n return;\n }\n try {\n const results = await mockFetch(query, controller.signal);\n datalist.innerHTML = results.map((v) => '<option value=\"' + v + '\">').join(\"\");\n } catch (err) {\n if (err.name !== \"AbortError\") datalist.innerHTML = \"\";\n }\n });\n\n function mockFetch(query, signal) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(() => {\n resolve([\"A100 GPU\", \"H100 GPU\", \"H200 GPU\", \"DGX A100\", \"DGX H100\", \"CUDA Toolkit\"].filter((v) => v.toLowerCase().startsWith(query.toLowerCase())));\n }, 500);\n signal.addEventListener(\"abort\", () => {\n clearTimeout(timer);\n reject(new DOMException(\"Aborted\", \"AbortError\"));\n });\n });\n }\n</script>\n",
199
199
  "summary": "Fetches options asynchronously as the user types, cancelling stale requests with AbortController. Use for server-backed search where the full option set is too large to load up front.",
200
200
  "description": "",
201
201
  "composition": false,
@@ -206,7 +206,7 @@
206
206
  {
207
207
  "id": "combobox-infinite-scroll",
208
208
  "name": "InfiniteScroll",
209
- "template": "<nve-combobox id=\"infinite-scroll-combo\" style=\"--scroll-height: 200px\">\n <label>GPU Models</label>\n <input type=\"search\" placeholder=\"Scroll to load more…\" />\n <datalist id=\"infinite-scroll-list\"></datalist>\n</nve-combobox>\n<script type=\"module\">\n const combo = document.getElementById(\"infinite-scroll-combo\");\n const datalist = document.getElementById(\"infinite-scroll-list\");\n let loading = false;\n async function loadBatch() {\n if (loading) return;\n loading = true;\n const items = await new Promise((resolve) => setTimeout(() => resolve(Array.from({ length: 100 }, (_, i) => \"GPU Model \" + (datalist.options.length + i + 1))), 300));\n datalist.append(...items.map((v) => new Option(v)));\n loading = false;\n }\n loadBatch();\n combo.addEventListener(\"scroll\", (e) => {\n if (e.detail.scrollHeight - e.detail.scrollTop - e.detail.clientHeight <= 128) {\n loadBatch();\n }\n });\n</script>\n",
209
+ "template": "<nve-combobox id=\"infinite-scroll-combo\" style=\"--scroll-height: 200px\">\n <label>GPU Models</label>\n <input type=\"search\" placeholder=\"Scroll to load more…\" />\n <datalist id=\"infinite-scroll-list\"></datalist>\n</nve-combobox>\n\n<script type=\"module\">\n const combo = document.getElementById(\"infinite-scroll-combo\");\n const datalist = document.getElementById(\"infinite-scroll-list\");\n let loading = false;\n\n async function loadBatch() {\n if (loading) return;\n loading = true;\n const items = await new Promise((resolve) => setTimeout(() => resolve(Array.from({ length: 100 }, (_, i) => \"GPU Model \" + (datalist.options.length + i + 1))), 300));\n datalist.append(...items.map((v) => new Option(v)));\n loading = false;\n }\n\n loadBatch();\n\n combo.addEventListener(\"scroll\", (e) => {\n if (e.detail.scrollHeight - e.detail.scrollTop - e.detail.clientHeight <= 128) {\n loadBatch();\n }\n });\n</script>\n",
210
210
  "summary": "Infinite scroll combobox loading, using the scroll event to append options as the user nears the end of the list. Use for server-backed datasets where loading all options up front is impractical.",
211
211
  "description": "",
212
212
  "composition": false,
@@ -31,7 +31,7 @@ var S = class extends l {
31
31
  static {
32
32
  this.metadata = {
33
33
  tag: "nve-combobox",
34
- version: "2.11.2"
34
+ version: "2.12.1"
35
35
  };
36
36
  }
37
37
  static {
@@ -74,7 +74,7 @@
74
74
  {
75
75
  "id": "copy-button-async-copy",
76
76
  "name": "AsyncCopy",
77
- "template": "<nve-copy-button id=\"async-copy-button\" value=\"initial value\" aria-label=\"copy value\" behavior-copy></nve-copy-button>\n<script type=\"module\">\n const button = document.querySelector(\"#async-copy-button\");\n button.addEventListener(\"pointerdown\", () => {\n button.disabled = true;\n // do an async operation\n new Promise((resolve) => setTimeout(resolve, 2000)).then(() => {\n button.value = \"async value\";\n button.disabled = false;\n button.dispatchEvent(new Event(\"click\"));\n });\n });\n</script>\n",
77
+ "template": "<nve-copy-button id=\"async-copy-button\" value=\"initial value\" aria-label=\"copy value\" behavior-copy></nve-copy-button>\n\n<script type=\"module\">\n const button = document.querySelector(\"#async-copy-button\");\n button.addEventListener(\"pointerdown\", () => {\n button.disabled = true;\n\n // do an async operation\n new Promise((resolve) => setTimeout(resolve, 2000)).then(() => {\n button.value = \"async value\";\n button.disabled = false;\n button.dispatchEvent(new Event(\"click\"));\n });\n });\n</script>\n",
78
78
  "summary": "Advanced pattern for handling long-running copy to clipboard operations.",
79
79
  "description": "",
80
80
  "composition": false,
@@ -32,7 +32,7 @@ var p = class extends a {
32
32
  static {
33
33
  this.metadata = {
34
34
  tag: "nve-copy-button",
35
- version: "2.11.2"
35
+ version: "2.12.1"
36
36
  };
37
37
  }
38
38
  static {
@@ -4039,6 +4039,8 @@ export type ViewportGridlinesProps = {
4039
4039
  "origin-y"?: number;
4040
4040
  /** Target on-screen separation used to choose the adaptive gridline interval, in CSS pixels. */
4041
4041
  "target-spacing"?: number;
4042
+ /** Grid pattern to render. */
4043
+ pattern?: "lines" | "dots" | "crosses";
4042
4044
  /** Smallest gridline interval in content-space units. */
4043
4045
  step?: number;
4044
4046
  /** Content-space x coordinate of the grid origin. */
@@ -6758,13 +6760,15 @@ export type CustomElements = {
6758
6760
  "nve-tree": Partial<TreeProps & BaseProps & BaseEvents>;
6759
6761
 
6760
6762
  /**
6761
- * Renders origin-stable, zoom-adaptive gridlines behind viewport content.
6763
+ * Renders origin-stable, zoom-adaptive gridline patterns behind viewport content.
6762
6764
  * ---
6763
6765
  *
6764
6766
  *
6765
6767
  * ### **CSS Properties:**
6766
- * - **--color** - Sets the gridline stroke color. _(default: undefined)_
6768
+ * - **--color** - Sets the gridline pattern color. _(default: undefined)_
6767
6769
  * - **--line-width** - Sets the approximate stroke width in CSS pixels. _(default: undefined)_
6770
+ * - **--dot-radius** - Sets the approximate dot radius in CSS pixels. _(default: undefined)_
6771
+ * - **--cross-size** - Sets the approximate full width and height of each cross in CSS pixels. _(default: undefined)_
6768
6772
  */
6769
6773
  "nve-viewport-gridlines": Partial<ViewportGridlinesProps & BaseProps & BaseEvents>;
6770
6774
 
@@ -3799,6 +3799,8 @@ type ViewportGridlinesProps = {
3799
3799
  "origin-y"?: number;
3800
3800
  /** Target on-screen separation used to choose the adaptive gridline interval, in CSS pixels. */
3801
3801
  "target-spacing"?: number;
3802
+ /** Grid pattern to render. */
3803
+ pattern?: "lines" | "dots" | "crosses";
3802
3804
  /** Smallest gridline interval in content-space units. */
3803
3805
  step?: number;
3804
3806
  /** Content-space x coordinate of the grid origin. */
@@ -6512,13 +6514,15 @@ export type CustomElements = {
6512
6514
  "nve-tree": DefineComponent<TreeProps>;
6513
6515
 
6514
6516
  /**
6515
- * Renders origin-stable, zoom-adaptive gridlines behind viewport content.
6517
+ * Renders origin-stable, zoom-adaptive gridline patterns behind viewport content.
6516
6518
  * ---
6517
6519
  *
6518
6520
  *
6519
6521
  * ### **CSS Properties:**
6520
- * - **--color** - Sets the gridline stroke color. _(default: undefined)_
6522
+ * - **--color** - Sets the gridline pattern color. _(default: undefined)_
6521
6523
  * - **--line-width** - Sets the approximate stroke width in CSS pixels. _(default: undefined)_
6524
+ * - **--dot-radius** - Sets the approximate dot radius in CSS pixels. _(default: undefined)_
6525
+ * - **--cross-size** - Sets the approximate full width and height of each cross in CSS pixels. _(default: undefined)_
6522
6526
  */
6523
6527
  "nve-viewport-gridlines": DefineComponent<ViewportGridlinesProps>;
6524
6528