@nvidia-elements/core 2.8.0 → 2.8.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 (156) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/accordion/accordion.examples.json +9 -9
  3. package/dist/accordion/accordion2.js +4 -4
  4. package/dist/alert/alert-group2.js +1 -1
  5. package/dist/alert/alert.examples.json +3 -3
  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/badge.examples.json +2 -2
  10. package/dist/badge/badge2.js +1 -1
  11. package/dist/breadcrumb/breadcrumb.examples.json +1 -1
  12. package/dist/breadcrumb/breadcrumb2.js +1 -1
  13. package/dist/bundles/index.d.ts +6 -0
  14. package/dist/bundles/index.js +1 -1
  15. package/dist/button/button.examples.json +3 -3
  16. package/dist/button/button2.js +1 -1
  17. package/dist/button-group/button-group2.js +1 -1
  18. package/dist/card/card.examples.json +2 -2
  19. package/dist/card/card2.js +4 -4
  20. package/dist/chat-message/chat-message.examples.json +4 -4
  21. package/dist/chat-message/chat-message2.js +1 -1
  22. package/dist/checkbox/checkbox-group2.js +1 -1
  23. package/dist/checkbox/checkbox2.js +1 -1
  24. package/dist/color/color2.js +1 -1
  25. package/dist/combobox/combobox.examples.json +5 -5
  26. package/dist/combobox/combobox2.js +1 -1
  27. package/dist/copy-button/copy-button.examples.json +2 -2
  28. package/dist/copy-button/copy-button2.js +1 -1
  29. package/dist/custom-elements-jsx.d.ts +3 -1
  30. package/dist/custom-elements-vue.d.ts +3 -1
  31. package/dist/custom-elements.json +41 -33
  32. package/dist/data.html.json +1 -1
  33. package/dist/date/date2.js +1 -1
  34. package/dist/datetime/datetime2.js +1 -1
  35. package/dist/dialog/dialog-footer2.js +1 -1
  36. package/dist/dialog/dialog-header2.js +1 -1
  37. package/dist/dialog/dialog.examples.json +3 -3
  38. package/dist/dialog/dialog2.js +1 -1
  39. package/dist/divider/divider.examples.json +1 -1
  40. package/dist/divider/divider2.js +1 -1
  41. package/dist/dot/dot2.js +1 -1
  42. package/dist/drawer/drawer-content2.js +1 -1
  43. package/dist/drawer/drawer-footer2.js +1 -1
  44. package/dist/drawer/drawer-header2.js +1 -1
  45. package/dist/drawer/drawer2.js +1 -1
  46. package/dist/dropdown/dropdown-footer2.js +1 -1
  47. package/dist/dropdown/dropdown-header2.js +1 -1
  48. package/dist/dropdown/dropdown2.js +1 -1
  49. package/dist/dropdown-group/dropdown-group.examples.json +4 -4
  50. package/dist/dropdown-group/dropdown-group.js +1 -1
  51. package/dist/dropzone/dropzone.examples.json +1 -1
  52. package/dist/dropzone/dropzone2.js +1 -1
  53. package/dist/file/file2.js +1 -1
  54. package/dist/format-bytes/format-bytes2.js +1 -1
  55. package/dist/format-datetime/format-datetime.examples.json +3 -3
  56. package/dist/format-datetime/format-datetime2.js +1 -1
  57. package/dist/format-number/format-number2.js +1 -1
  58. package/dist/format-relative-time/format-relative-time2.js +1 -1
  59. package/dist/format-truncate/format-truncate.examples.json +4 -4
  60. package/dist/format-truncate/format-truncate2.js +1 -1
  61. package/dist/forms/actions.examples.json +1 -1
  62. package/dist/forms/control/control.examples.json +1 -1
  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/gauge/gauge.examples.json +2 -2
  67. package/dist/gauge/gauge2.js +1 -1
  68. package/dist/grid/cell/cell2.js +1 -1
  69. package/dist/grid/column/column2.js +1 -1
  70. package/dist/grid/footer/footer2.js +1 -1
  71. package/dist/grid/grid.examples.js.map +1 -1
  72. package/dist/grid/grid.examples.json +34 -34
  73. package/dist/grid/grid2.js +1 -1
  74. package/dist/grid/header/header2.js +1 -1
  75. package/dist/grid/placeholder/placeholder2.js +1 -1
  76. package/dist/grid/row/row2.js +1 -1
  77. package/dist/icon/icon2.js +2 -2
  78. package/dist/icon-button/icon-button2.js +1 -1
  79. package/dist/index.js +1 -1
  80. package/dist/input/input-group2.js +1 -1
  81. package/dist/input/input2.js +1 -1
  82. package/dist/internal/controllers/keynav-grid.controller.examples.json +1 -1
  83. package/dist/internal/controllers/keynav-list.controller.examples.json +1 -1
  84. package/dist/internal/controllers/popover.examples.json +2 -2
  85. package/dist/internal/services/global.service.js +1 -1
  86. package/dist/logo/logo.examples.json +1 -1
  87. package/dist/logo/logo2.js +1 -1
  88. package/dist/menu/menu-item2.js +1 -1
  89. package/dist/menu/menu.examples.js.map +1 -1
  90. package/dist/menu/menu.examples.json +4 -4
  91. package/dist/menu/menu2.js +1 -1
  92. package/dist/month/month2.js +1 -1
  93. package/dist/notification/notification-group2.js +1 -1
  94. package/dist/notification/notification.examples.json +3 -3
  95. package/dist/notification/notification2.js +1 -1
  96. package/dist/page/page-panel/page-panel-content2.js +1 -1
  97. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  98. package/dist/page/page-panel/page-panel-header2.js +1 -1
  99. package/dist/page/page-panel/page-panel2.js +1 -1
  100. package/dist/page/page.examples.json +10 -10
  101. package/dist/page/page2.js +1 -1
  102. package/dist/page-header/page-header.examples.json +1 -1
  103. package/dist/page-header/page-header2.js +1 -1
  104. package/dist/page-loader/page-loader2.js +1 -1
  105. package/dist/pagination/pagination.examples.json +6 -6
  106. package/dist/pagination/pagination2.js +1 -1
  107. package/dist/panel/panel2.js +4 -4
  108. package/dist/password/password2.js +1 -1
  109. package/dist/preferences-input/preferences-input.examples.json +1 -1
  110. package/dist/preferences-input/preferences-input2.js +1 -1
  111. package/dist/progress-bar/progress-bar.examples.json +1 -1
  112. package/dist/progress-bar/progress-bar2.js +1 -1
  113. package/dist/progress-ring/progress-ring2.js +1 -1
  114. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  115. package/dist/pulse/pulse2.js +1 -1
  116. package/dist/radio/radio-group2.js +1 -1
  117. package/dist/radio/radio2.js +1 -1
  118. package/dist/range/range.examples.json +1 -1
  119. package/dist/range/range2.js +1 -1
  120. package/dist/resize-handle/resize-handle.examples.json +4 -4
  121. package/dist/resize-handle/resize-handle2.js +1 -1
  122. package/dist/search/search2.js +1 -1
  123. package/dist/select/select2.js +1 -1
  124. package/dist/skeleton/skeleton2.js +1 -1
  125. package/dist/sort-button/sort-button2.js +1 -1
  126. package/dist/sparkline/sparkline.examples.json +2 -2
  127. package/dist/sparkline/sparkline2.js +1 -1
  128. package/dist/star-rating/star-rating2.js +1 -1
  129. package/dist/steps/steps2.js +2 -2
  130. package/dist/switch/switch-group2.js +1 -1
  131. package/dist/switch/switch2.js +1 -1
  132. package/dist/tabs/tabs-group2.js +1 -1
  133. package/dist/tabs/tabs.examples.json +4 -4
  134. package/dist/tabs/tabs2.js +2 -2
  135. package/dist/tag/tag.examples.json +1 -1
  136. package/dist/tag/tag2.js +1 -1
  137. package/dist/textarea/textarea.d.ts +7 -1
  138. package/dist/textarea/textarea.examples.js.map +1 -1
  139. package/dist/textarea/textarea.examples.json +22 -0
  140. package/dist/textarea/textarea.js +1 -1
  141. package/dist/textarea/textarea.js.map +1 -1
  142. package/dist/textarea/textarea2.js +10 -3
  143. package/dist/textarea/textarea2.js.map +1 -1
  144. package/dist/time/time2.js +1 -1
  145. package/dist/toast/toast.examples.json +1 -1
  146. package/dist/toast/toast2.js +1 -1
  147. package/dist/toggletip/toggletip-footer2.js +1 -1
  148. package/dist/toggletip/toggletip-header2.js +1 -1
  149. package/dist/toggletip/toggletip2.js +1 -1
  150. package/dist/toolbar/toolbar2.js +1 -1
  151. package/dist/tooltip/tooltip.examples.json +2 -2
  152. package/dist/tooltip/tooltip2.js +1 -1
  153. package/dist/tree/tree-node2.js +1 -1
  154. package/dist/tree/tree2.js +1 -1
  155. package/dist/week/week2.js +1 -1
  156. package/package.json +2 -2
@@ -79,7 +79,7 @@
79
79
  {
80
80
  "id": "button-invoker-command",
81
81
  "name": "InvokerCommand",
82
- "template": "<nve-icon\n id=\"rotation-target\"\n name=\"sparkles\"\n aria-label=\"sparkles icon\"\n style=\"inline-size: 100px; block-size: 100px\"\n></nve-icon>\n<section>\n <nve-button commandfor=\"rotation-target\" command=\"--rotate-left\">Rotate left</nve-button>\n <nve-button commandfor=\"rotation-target\" command=\"--rotate-right\">Rotate right</nve-button>\n <nve-button commandfor=\"popover\" command=\"toggle-popover\">toggle-popover</nve-button>\n</section>\n<nve-toggletip id=\"popover\">popover</nve-toggletip>\n<script type=\"module\">\n const target = document.getElementById(\"rotation-target\");\n target.addEventListener(\"command\", (event) => {\n if (event.command === \"--rotate-left\") {\n target.style.rotate = \"-90deg\";\n } else if (event.command === \"--rotate-right\") {\n target.style.rotate = \"90deg\";\n }\n });\n</script>\n",
82
+ "template": "<nve-icon id=\"rotation-target\" name=\"sparkles\" aria-label=\"sparkles icon\" style=\"inline-size: 100px; block-size: 100px\"></nve-icon>\n<section>\n <nve-button commandfor=\"rotation-target\" command=\"--rotate-left\">Rotate left</nve-button>\n <nve-button commandfor=\"rotation-target\" command=\"--rotate-right\">Rotate right</nve-button>\n <nve-button commandfor=\"popover\" command=\"toggle-popover\">toggle-popover</nve-button>\n</section>\n<nve-toggletip id=\"popover\">popover</nve-toggletip>\n<script type=\"module\">\n const target = document.getElementById(\"rotation-target\");\n target.addEventListener(\"command\", (event) => {\n if (event.command === \"--rotate-left\") {\n target.style.rotate = \"-90deg\";\n } else if (event.command === \"--rotate-right\") {\n target.style.rotate = \"90deg\";\n }\n });\n</script>\n",
83
83
  "summary": "Use the `commandfor` and `command` attributes to trigger custom Invoker Commands, such as rotating an image.",
84
84
  "description": "",
85
85
  "composition": true,
@@ -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(\n 340deg,\n rgb(255 234 177) 0%,\n color-mix(in oklab, var(--nve-ref-color-yellow-amber-900) 100%, #000 4%) 60%\n );\n }\n }\n</style>\n<nve-button class=\"custom\">Create Account</nve-button>\n<nve-button>Create Account</nve-button>\n",
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",
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% /\n 40px 40px;\n background-position: center;\n border-style: hidden;\n \"\n >\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"row gap:xs\">\n <nve-button container=\"flat\" style=\"margin-left: auto\">Cancel</nve-button>\n <nve-button>action</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n</div>\n",
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",
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.8.0"
15
+ version: "2.8.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.8.0",
29
+ version: "2.8.1",
30
30
  children: [
31
31
  "nve-button",
32
32
  "nve-icon-button",
@@ -23,7 +23,7 @@
23
23
  {
24
24
  "id": "card-media-card",
25
25
  "name": "MediaCard",
26
- "template": "<div nve-layout=\"grid gap:md span-items:6 align:stretch\" style=\"max-width: 900px\">\n <nve-card style=\"height: 100%; width: 100%\">\n <img\n src=\"/static/images/test-image-1.svg\"\n alt=\"example visualization for media card demo\"\n loading=\"lazy\"\n style=\"width: 100%; object-fit: cover\"\n />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 100%; width: 100%\">\n <img\n src=\"/static/images/test-image-1.svg\"\n alt=\"example visualization for media card demo\"\n loading=\"lazy\"\n style=\"width: 100%; object-fit: cover\"\n />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n</div>\n",
26
+ "template": "<div nve-layout=\"grid gap:md span-items:6 align:stretch\" style=\"max-width: 900px\">\n <nve-card style=\"height: 100%; width: 100%\">\n <img src=\"/static/images/test-image-1.svg\" alt=\"example visualization for media card demo\" loading=\"lazy\" style=\"width: 100%; object-fit: cover\" />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n <nve-card style=\"height: 100%; width: 100%\">\n <img src=\"/static/images/test-image-1.svg\" alt=\"example visualization for media card demo\" loading=\"lazy\" style=\"width: 100%; object-fit: cover\" />\n <nve-card-content>\n <p nve-text=\"body\" style=\"min-height: 24px\">card content</p>\n </nve-card-content>\n </nve-card>\n</div>\n",
27
27
  "summary": "Cards with media content (images) displayed in a grid layout, ideal for photo galleries, product catalogs, or visual content showcases.",
28
28
  "description": "",
29
29
  "composition": false,
@@ -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\">\n Port is the nautical term that refers to the left side of a ship, as perceived by a person facing towards the\n bow (the front of the vessel).\n </dd>\n <dt nve-layout=\"span:4\" nve-text=\"body muted medium\">Starboard</dt>\n <dd nve-layout=\"span:8\" nve-text=\"body\">\n Starboard is the nautical term that refers to the right side of a vessel, as perceived by a person facing\n towards the bow (the front of the vessel).\n </dd>\n </dl>\n </nve-card-content>\n</nve-card>\n",
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",
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,
@@ -16,7 +16,7 @@ var d = class extends c {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-card",
19
- version: "2.8.0"
19
+ version: "2.8.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.8.0",
40
+ version: "2.8.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.8.0",
56
+ version: "2.8.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.8.0",
75
+ version: "2.8.1",
76
76
  parents: ["nve-card"]
77
77
  };
78
78
  }
@@ -14,7 +14,7 @@
14
14
  {
15
15
  "id": "chat-message-arrow-position",
16
16
  "name": "ArrowPosition",
17
- "template": "<section nve-layout=\"column gap:lg\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"top-start\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"top-end\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"bottom-start\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message arrow-position=\"bottom-end\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n</section>\n",
17
+ "template": "<section nve-layout=\"column gap:lg\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"top-start\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"top-end\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"bottom-start\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message arrow-position=\"bottom-end\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n</section>\n",
18
18
  "summary": "Different arrow positions for chat messages. Useful for creating chat bubbles that point to specific elements or users.",
19
19
  "description": "",
20
20
  "composition": false,
@@ -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\n 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 <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,
@@ -43,7 +43,7 @@
43
43
  {
44
44
  "id": "chat-message-codeblock",
45
45
  "name": "Codeblock",
46
- "template": "<section nve-layout=\"column gap:lg full\">\n <nve-chat-message container=\"flat\" style=\"margin-left: auto\">\n How do I use the chat message component?\n </nve-chat-message>\n <nve-chat-message container=\"flat\">\n Here's the steps you need to do follow to use the chat message component\n <nve-codeblock language=\"typescript\">\n import '@nvidia-elements/core/chat-message/define.js';\n <code nve-text=\"code\"><nve-chat-message></nve-chat-message></code>\n </nve-codeblock>\n </nve-chat-message>\n</section>\n",
46
+ "template": "<section nve-layout=\"column gap:lg full\">\n <nve-chat-message container=\"flat\" style=\"margin-left: auto\"> How do I use the chat message component? </nve-chat-message>\n <nve-chat-message container=\"flat\">\n Here's the steps you need to do follow to use the chat message component\n <nve-codeblock language=\"typescript\">\n import '@nvidia-elements/core/chat-message/define.js';\n <code nve-text=\"code\"><nve-chat-message></nve-chat-message></code>\n </nve-codeblock>\n </nve-chat-message>\n</section>\n",
47
47
  "summary": "Chat messages with code blocks for technical discussions. Perfect for developer chat interfaces or documentation systems.",
48
48
  "description": "",
49
49
  "composition": false,
@@ -63,7 +63,7 @@
63
63
  {
64
64
  "id": "chat-message-color",
65
65
  "name": "Color",
66
- "template": "<section nve-layout=\"column gap:md\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"red-cardinal\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"gray-slate\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"gray-denim\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-indigo\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-cobalt\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"blue-sky\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"teal-cyan\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-mint\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"teal-seafoam\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-grass\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"yellow-amber\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"orange-pumpkin\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"red-tomato\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"pink-magenta\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-plum\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-violet\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"purple-lavender\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"pink-rose\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"green-jade\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"lime-pear\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"yellow-nova\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n <nve-chat-message color=\"brand-green\"\n >Your deployment completed successfully. All services are running as expected.</nve-chat-message\n >\n</section>\n",
66
+ "template": "<section nve-layout=\"column gap:md\">\n <nve-chat-message>Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"red-cardinal\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"gray-slate\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"gray-denim\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"blue-indigo\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"blue-cobalt\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"blue-sky\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"teal-cyan\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"green-mint\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"teal-seafoam\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"green-grass\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"yellow-amber\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"orange-pumpkin\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"red-tomato\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"pink-magenta\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"purple-plum\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"purple-violet\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"purple-lavender\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"pink-rose\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"green-jade\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"lime-pear\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"yellow-nova\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n <nve-chat-message color=\"brand-green\">Your deployment completed successfully. All services are running as expected.</nve-chat-message>\n</section>\n",
67
67
  "summary": "All available color variants for chat messages. Use these to create themed chat interfaces or to differentiate message types and priorities.",
68
68
  "description": "",
69
69
  "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.8.0"
16
+ version: "2.8.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.8.0",
15
+ version: "2.8.1",
16
16
  children: [
17
17
  "label",
18
18
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-checkbox",
18
- version: "2.8.0",
18
+ version: "2.8.1",
19
19
  children: [
20
20
  "label",
21
21
  "input",
@@ -21,7 +21,7 @@ var f = class extends a {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-color",
24
- version: "2.8.0"
24
+ version: "2.8.1"
25
25
  };
26
26
  }
27
27
  static {
@@ -61,7 +61,7 @@
61
61
  {
62
62
  "id": "combobox-selected-first",
63
63
  "name": "SelectedFirst",
64
- "template": "<nve-combobox id=\"combobox-selected-first\" style=\"width: 500px; --scroll-height: 220px\">\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 <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.querySelector(\"#combobox-selected-first\");\n const select = combobox.querySelector(\"select\");\n const optionOrder = new Map([...select.options].map((option, index) => [option, index]));\n combobox.addEventListener(\"open\", () => {\n const selectedOrder = new Map([...select.selectedOptions].map((option, index) => [option, index]));\n Array.from(select.options)\n .sort((a, b) =>\n Number(b.selected) - Number(a.selected) || (a.selected && b.selected)\n ? selectedOrder.get(a) - selectedOrder.get(b)\n : optionOrder.get(a) - optionOrder.get(b),\n )\n .forEach((option) => select.append(option));\n });\n</script>\n",
64
+ "template": "<nve-combobox id=\"combobox-selected-first\" style=\"width: 500px; --scroll-height: 220px\">\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 <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n const combobox = document.querySelector(\"#combobox-selected-first\");\n const select = combobox.querySelector(\"select\");\n const optionOrder = new Map([...select.options].map((option, index) => [option, index]));\n combobox.addEventListener(\"open\", () => {\n const selectedOrder = new Map([...select.selectedOptions].map((option, index) => [option, index]));\n Array.from(select.options)\n .sort((a, b) => (Number(b.selected) - Number(a.selected) || (a.selected && b.selected) ? selectedOrder.get(a) - selectedOrder.get(b) : optionOrder.get(a) - optionOrder.get(b)))\n .forEach((option) => select.append(option));\n });\n</script>\n",
65
65
  "summary": "Multi-select that reorders selected options before unselected options after the combobox closes. Use when long filter lists need selected values to stay easy to review.",
66
66
  "description": "",
67
67
  "composition": false,
@@ -130,7 +130,7 @@
130
130
  {
131
131
  "id": "combobox-reset",
132
132
  "name": "Reset",
133
- "template": "<nve-combobox id=\"combobox-reset\" style=\"width: 500px; --scroll-height: 220px\">\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 </select>\n <nve-icon-button aria-label=\"clear selection\" icon-name=\"cancel\" container=\"inline\"></nve-icon-button>\n <nve-button slot=\"footer\" aria-label=\"clear selection\" container=\"flat\">reset</nve-button>\n <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n document\n .querySelector(\"#combobox-reset nve-icon-button\")\n .addEventListener(\"click\", (e) => e.target.parentElement.reset());\n document.querySelector(\"#combobox-reset nve-button\").addEventListener(\"click\", (e) => e.target.parentElement.reset());\n</script>\n",
133
+ "template": "<nve-combobox id=\"combobox-reset\" style=\"width: 500px; --scroll-height: 220px\">\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 </select>\n <nve-icon-button aria-label=\"clear selection\" icon-name=\"cancel\" container=\"inline\"></nve-icon-button>\n <nve-button slot=\"footer\" aria-label=\"clear selection\" container=\"flat\">reset</nve-button>\n <nve-control-message>message</nve-control-message>\n</nve-combobox>\n<script type=\"module\">\n document.querySelector(\"#combobox-reset nve-icon-button\").addEventListener(\"click\", (e) => e.target.parentElement.reset());\n document.querySelector(\"#combobox-reset nve-button\").addEventListener(\"click\", (e) => e.target.parentElement.reset());\n</script>\n",
134
134
  "summary": "Multi-select with reset functionality via icon button and footer button to clear all selections.",
135
135
  "description": "",
136
136
  "composition": true,
@@ -166,7 +166,7 @@
166
166
  {
167
167
  "id": "combobox-no-tags",
168
168
  "name": "NoTags",
169
- "template": "<form id=\"hidden-tags\" nve-layout=\"column gap:lg align:stretch\">\n <nve-combobox tag-layout=\"hidden\">\n <label>label</label>\n <input type=\"search\" />\n <select multiple>\n <option selected value=\"status\"></option>\n <option selected value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </select>\n </nve-combobox>\n <div id=\"tags\" nve-layout=\"row gap:xs\"></div>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"#hidden-tags\");\n const select = form.querySelector(\"select\");\n const tags = form.querySelector(\"#tags\");\n updateTags();\n select.addEventListener(\"change\", (e) => updateTags());\n tags.addEventListener(\"close\", (e) => {\n Array.from(select.options).find((o) => o.value === e.target.value).selected = false;\n updateTags();\n });\n function updateTags() {\n tags.innerHTML = \"\";\n Array.from(select.selectedOptions).forEach(\n (o) => (tags.innerHTML += '<nve-tag closable value=\"' + o.value + '\">' + o.value + \"</nve-tag>\"),\n );\n }\n</script>\n",
169
+ "template": "<form id=\"hidden-tags\" nve-layout=\"column gap:lg align:stretch\">\n <nve-combobox tag-layout=\"hidden\">\n <label>label</label>\n <input type=\"search\" />\n <select multiple>\n <option selected value=\"status\"></option>\n <option selected value=\"priority\"></option>\n <option value=\"date\"></option>\n <option value=\"session\"></option>\n <option value=\"configuration\"></option>\n <option value=\"contains\"></option>\n </select>\n </nve-combobox>\n <div id=\"tags\" nve-layout=\"row gap:xs\"></div>\n</form>\n<script type=\"module\">\n const form = document.querySelector(\"#hidden-tags\");\n const select = form.querySelector(\"select\");\n const tags = form.querySelector(\"#tags\");\n updateTags();\n select.addEventListener(\"change\", (e) => updateTags());\n tags.addEventListener(\"close\", (e) => {\n Array.from(select.options).find((o) => o.value === e.target.value).selected = false;\n updateTags();\n });\n function updateTags() {\n tags.innerHTML = \"\";\n Array.from(select.selectedOptions).forEach((o) => (tags.innerHTML += '<nve-tag closable value=\"' + o.value + '\">' + o.value + \"</nve-tag>\"));\n }\n</script>\n",
170
170
  "summary": "Multi-select without built-in tags, using external tag management for custom selection display.",
171
171
  "description": "",
172
172
  "composition": false,
@@ -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(\n [\"A100 GPU\", \"H100 GPU\", \"H200 GPU\", \"DGX A100\", \"DGX H100\", \"CUDA Toolkit\"].filter((v) =>\n v.toLowerCase().startsWith(query.toLowerCase()),\n ),\n );\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<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",
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) =>\n setTimeout(\n () => resolve(Array.from({ length: 100 }, (_, i) => \"GPU Model \" + (datalist.options.length + i + 1))),\n 300,\n ),\n );\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<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",
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.8.0"
34
+ version: "2.8.1"
35
35
  };
36
36
  }
37
37
  static {
@@ -56,7 +56,7 @@
56
56
  {
57
57
  "id": "copy-button-hint",
58
58
  "name": "Hint",
59
- "template": "<h2 nve-text=\"body lg\" nve-layout=\"row align:vertical-center\">\n 2d628479c...\n <nve-copy-button\n container=\"flat\"\n value=\"2d628479cf2db27cbdebbfe41a42f1c9e07c46a8\"\n aria-label=\"2d628479cf2db27cbdebbfe41a42f1c9e07c46a8\"\n behavior-copy\n ></nve-copy-button>\n</h2>\n",
59
+ "template": "<h2 nve-text=\"body lg\" nve-layout=\"row align:vertical-center\">\n 2d628479c...\n <nve-copy-button container=\"flat\" value=\"2d628479cf2db27cbdebbfe41a42f1c9e07c46a8\" aria-label=\"2d628479cf2db27cbdebbfe41a42f1c9e07c46a8\" behavior-copy></nve-copy-button>\n</h2>\n",
60
60
  "summary": "Copy button integrated with text content, showing how to copy truncated values like commit hashes. Perfect for code snippets, IDs, or other long text that users copy while viewing a shortened version.",
61
61
  "description": "",
62
62
  "composition": false,
@@ -85,7 +85,7 @@
85
85
  {
86
86
  "id": "copy-button-tooltip-position-override",
87
87
  "name": "TooltipPositionOverride",
88
- "template": "<style>\n nve-copy-button.override-position-example {\n &::part(tooltip-arrow) {\n position-area: right center;\n translate: -50% 0%;\n transform: translate(-2px, 0) rotate(45deg);\n }\n }\n</style>\n<nve-copy-button\n class=\"override-position-example\"\n value=\"hello\"\n aria-label=\"copy value\"\n behavior-copy\n style=\"position: absolute; top: 12px; right: 12px\"\n></nve-copy-button>\n",
88
+ "template": "<style>\n nve-copy-button.override-position-example {\n &::part(tooltip-arrow) {\n position-area: right center;\n translate: -50% 0%;\n transform: translate(-2px, 0) rotate(45deg);\n }\n }\n</style>\n<nve-copy-button class=\"override-position-example\" value=\"hello\" aria-label=\"copy value\" behavior-copy style=\"position: absolute; top: 12px; right: 12px\"></nve-copy-button>\n",
89
89
  "summary": "Popover position override in a copy button.",
90
90
  "description": "",
91
91
  "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.8.0"
35
+ version: "2.8.1"
36
36
  };
37
37
  }
38
38
  static {
@@ -6363,7 +6363,9 @@ export type CustomElements = {
6363
6363
  * - **reset()** - Resets control value to initial attribute value and clears any active validation rules.
6364
6364
  *
6365
6365
  * ### **Slots:**
6366
- * - _default_ - Control input element
6366
+ * - **prefix** - Content to display before the textarea.
6367
+ * - **suffix** - Content to display after the textarea.
6368
+ * - _default_ - Control input element
6367
6369
  * - **label** - Label element
6368
6370
  *
6369
6371
  * ### **CSS Properties:**
@@ -6121,7 +6121,9 @@ export type CustomElements = {
6121
6121
  * - **reset()** - Resets control value to initial attribute value and clears any active validation rules.
6122
6122
  *
6123
6123
  * ### **Slots:**
6124
- * - _default_ - Control input element
6124
+ * - **prefix** - Content to display before the textarea.
6125
+ * - **suffix** - Content to display after the textarea.
6126
+ * - _default_ - Control input element
6125
6127
  * - **label** - Label element
6126
6128
  *
6127
6129
  * ### **CSS Properties:**