@nvidia-elements/core 0.2.2 → 0.2.4

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 (287) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/NOTICE.md +4 -4
  3. package/dist/_virtual/{_@oxc-project_runtime@0.130.0 → _@oxc-project_runtime@0.132.0}/helpers/decorate.js +1 -1
  4. package/dist/accordion/accordion-header.js +1 -1
  5. package/dist/accordion/accordion-header.js.map +1 -1
  6. package/dist/accordion/accordion.d.ts +4 -7
  7. package/dist/accordion/accordion.examples.js.map +1 -1
  8. package/dist/accordion/accordion.examples.json +1 -12
  9. package/dist/accordion/accordion.js +1 -1
  10. package/dist/accordion/accordion.js.map +1 -1
  11. package/dist/accordion/accordion2.js +41 -44
  12. package/dist/accordion/accordion2.js.map +1 -1
  13. package/dist/alert/alert-group.d.ts +1 -1
  14. package/dist/alert/alert-group2.js +14 -14
  15. package/dist/alert/alert.d.ts +1 -1
  16. package/dist/alert/alert.js +1 -1
  17. package/dist/alert/alert.js.map +1 -1
  18. package/dist/alert/alert2.js +20 -20
  19. package/dist/avatar/avatar-group.d.ts +1 -1
  20. package/dist/avatar/avatar-group2.js +1 -1
  21. package/dist/avatar/avatar.d.ts +1 -1
  22. package/dist/avatar/avatar2.js +6 -6
  23. package/dist/badge/badge.d.ts +3 -3
  24. package/dist/badge/badge.js +1 -1
  25. package/dist/badge/badge.js.map +1 -1
  26. package/dist/badge/badge2.js +22 -23
  27. package/dist/badge/badge2.js.map +1 -1
  28. package/dist/breadcrumb/breadcrumb.d.ts +1 -6
  29. package/dist/breadcrumb/breadcrumb.js +1 -1
  30. package/dist/breadcrumb/breadcrumb.js.map +1 -1
  31. package/dist/breadcrumb/breadcrumb2.js +12 -12
  32. package/dist/breadcrumb/breadcrumb2.js.map +1 -1
  33. package/dist/bundle.d.ts +14 -0
  34. package/dist/bundles/index.d.ts +1229 -1877
  35. package/dist/bundles/index.js +6 -6
  36. package/dist/button/button.d.ts +7 -4
  37. package/dist/button/button.js +1 -1
  38. package/dist/button/button.js.map +1 -1
  39. package/dist/button/button2.js +13 -13
  40. package/dist/button/button2.js.map +1 -1
  41. package/dist/button-group/button-group.d.ts +1 -1
  42. package/dist/button-group/button-group2.js +15 -15
  43. package/dist/card/card-header.js +1 -1
  44. package/dist/card/card-header.js.map +1 -1
  45. package/dist/card/card.d.ts +4 -7
  46. package/dist/card/card2.js +18 -18
  47. package/dist/card/card2.js.map +1 -1
  48. package/dist/chat-message/chat-message.d.ts +1 -1
  49. package/dist/chat-message/chat-message2.js +7 -7
  50. package/dist/checkbox/checkbox-group2.js +7 -7
  51. package/dist/checkbox/checkbox2.js +7 -7
  52. package/dist/color/color.d.ts +1 -1
  53. package/dist/color/color2.js +7 -7
  54. package/dist/combobox/combobox.d.ts +2 -8
  55. package/dist/combobox/combobox.examples.js.map +1 -1
  56. package/dist/combobox/combobox2.js +10 -13
  57. package/dist/combobox/combobox2.js.map +1 -1
  58. package/dist/copy-button/copy-button.d.ts +1 -1
  59. package/dist/copy-button/copy-button2.js +11 -11
  60. package/dist/copy-button/copy-button2.js.map +1 -1
  61. package/dist/custom-elements-jsx.d.ts +374 -646
  62. package/dist/custom-elements-vue.d.ts +374 -646
  63. package/dist/custom-elements.json +5999 -15468
  64. package/dist/data.html.json +322 -191
  65. package/dist/data.snippets.json +30 -30
  66. package/dist/date/date.d.ts +1 -1
  67. package/dist/date/date2.js +7 -7
  68. package/dist/datetime/datetime.d.ts +1 -1
  69. package/dist/datetime/datetime2.js +7 -7
  70. package/dist/dialog/dialog-footer.d.ts +1 -1
  71. package/dist/dialog/dialog-footer2.js +6 -6
  72. package/dist/dialog/dialog-header.d.ts +1 -1
  73. package/dist/dialog/dialog-header2.js +6 -6
  74. package/dist/dialog/dialog.d.ts +1 -1
  75. package/dist/dialog/dialog.examples.js.map +1 -1
  76. package/dist/dialog/dialog2.js +19 -19
  77. package/dist/divider/divider.d.ts +1 -1
  78. package/dist/divider/divider2.js +5 -5
  79. package/dist/dot/dot.d.ts +1 -1
  80. package/dist/dot/dot2.js +8 -8
  81. package/dist/drawer/drawer-content.d.ts +1 -1
  82. package/dist/drawer/drawer-content2.js +6 -6
  83. package/dist/drawer/drawer-footer.d.ts +1 -1
  84. package/dist/drawer/drawer-footer2.js +6 -6
  85. package/dist/drawer/drawer-header.d.ts +1 -1
  86. package/dist/drawer/drawer-header2.js +6 -6
  87. package/dist/drawer/drawer.d.ts +1 -1
  88. package/dist/drawer/drawer2.js +19 -19
  89. package/dist/dropdown/dropdown-footer.d.ts +1 -1
  90. package/dist/dropdown/dropdown-footer2.js +6 -6
  91. package/dist/dropdown/dropdown-header.d.ts +1 -1
  92. package/dist/dropdown/dropdown-header2.js +6 -6
  93. package/dist/dropdown/dropdown.d.ts +1 -1
  94. package/dist/dropdown/dropdown2.js +16 -16
  95. package/dist/dropdown-group/dropdown-group.d.ts +1 -1
  96. package/dist/dropdown-group/dropdown-group.js +16 -16
  97. package/dist/dropzone/dropzone.d.ts +2 -405
  98. package/dist/dropzone/dropzone2.js +14 -14
  99. package/dist/dropzone/dropzone2.js.map +1 -1
  100. package/dist/file/file2.js +1 -1
  101. package/dist/format-datetime/format-datetime.d.ts +1 -1
  102. package/dist/format-datetime/format-datetime2.js +10 -10
  103. package/dist/format-number/format-number.d.ts +1 -1
  104. package/dist/format-number/format-number2.js +16 -16
  105. package/dist/format-relative-time/format-relative-time.d.ts +1 -1
  106. package/dist/format-relative-time/format-relative-time2.js +7 -7
  107. package/dist/forms/control/control2.js +19 -19
  108. package/dist/forms/control-group/control-group.d.ts +1 -1
  109. package/dist/forms/control-group/control-group.js +1 -1
  110. package/dist/forms/control-group/control-group.js.map +1 -1
  111. package/dist/forms/control-group/control-group2.js +6 -6
  112. package/dist/forms/control-message/control-message.d.ts +1 -1
  113. package/dist/forms/control-message/control-message2.js +9 -9
  114. package/dist/grid/cell/cell.d.ts +1 -1
  115. package/dist/grid/cell/cell2.js +1 -1
  116. package/dist/grid/column/column.d.ts +1 -1
  117. package/dist/grid/column/column2.js +10 -10
  118. package/dist/grid/footer/footer.d.ts +1 -1
  119. package/dist/grid/footer/footer2.js +6 -6
  120. package/dist/grid/grid.d.ts +3 -2
  121. package/dist/grid/grid.examples.js.map +1 -1
  122. package/dist/grid/grid2.js +38 -30
  123. package/dist/grid/grid2.js.map +1 -1
  124. package/dist/grid/header/header.d.ts +1 -1
  125. package/dist/grid/header/header2.js +9 -9
  126. package/dist/grid/placeholder/placeholder.d.ts +1 -1
  127. package/dist/grid/placeholder/placeholder2.js +1 -1
  128. package/dist/grid/row/row.d.ts +1 -1
  129. package/dist/grid/row/row2.js +9 -9
  130. package/dist/icon/icon.d.ts +1 -1
  131. package/dist/icon/icon2.js +29 -21
  132. package/dist/icon/icon2.js.map +1 -1
  133. package/dist/icon/icons.d.ts +0 -2
  134. package/dist/icon/icons.js.map +1 -1
  135. package/dist/icon-button/icon-button.d.ts +1 -1
  136. package/dist/icon-button/icon-button.js +1 -1
  137. package/dist/icon-button/icon-button.js.map +1 -1
  138. package/dist/icon-button/icon-button2.js +9 -9
  139. package/dist/index.js +4 -4
  140. package/dist/input/input-group.examples.js.map +1 -1
  141. package/dist/input/input-group.examples.json +11 -0
  142. package/dist/input/input-group.js +1 -1
  143. package/dist/input/input-group.js.map +1 -1
  144. package/dist/input/input-group2.js +1 -1
  145. package/dist/input/input2.js +6 -6
  146. package/dist/internal/controllers/keynav-grid.controller.js +39 -39
  147. package/dist/internal/controllers/state-scroll.controller.d.ts +1 -0
  148. package/dist/internal/controllers/state-scroll.controller.js +25 -8
  149. package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
  150. package/dist/internal/controllers/type-button.controller.examples.js.map +1 -1
  151. package/dist/internal/controllers/type-button.controller.examples.json +1 -1
  152. package/dist/internal/controllers/type-command.controller.d.ts +6 -1
  153. package/dist/internal/controllers/type-command.controller.js +20 -14
  154. package/dist/internal/controllers/type-command.controller.js.map +1 -1
  155. package/dist/internal/controllers/type-native-popover.controller.js +28 -21
  156. package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
  157. package/dist/internal/controllers/type-native-popover.utils.js +7 -7
  158. package/dist/internal/index.d.ts +0 -1
  159. package/dist/internal/index.js +40 -41
  160. package/dist/internal/services/global.service.js +1 -1
  161. package/dist/internal/types/index.d.ts +0 -10
  162. package/dist/internal/types/index.js +0 -3
  163. package/dist/internal/types/index.js.map +1 -1
  164. package/dist/logo/logo.d.ts +1 -1
  165. package/dist/logo/logo2.js +6 -6
  166. package/dist/menu/menu-item.d.ts +5 -3
  167. package/dist/menu/menu-item2.js +12 -12
  168. package/dist/menu/menu-item2.js.map +1 -1
  169. package/dist/menu/menu.d.ts +1 -1
  170. package/dist/menu/menu.examples.js.map +1 -1
  171. package/dist/menu/menu.examples.json +1 -1
  172. package/dist/menu/menu2.js +10 -10
  173. package/dist/month/month.d.ts +1 -1
  174. package/dist/month/month2.js +7 -7
  175. package/dist/notification/notification-group.d.ts +1 -1
  176. package/dist/notification/notification-group2.js +11 -11
  177. package/dist/notification/notification.d.ts +2 -1
  178. package/dist/notification/notification.examples.js.map +1 -1
  179. package/dist/notification/notification.examples.json +0 -11
  180. package/dist/notification/notification2.js +36 -28
  181. package/dist/notification/notification2.js.map +1 -1
  182. package/dist/page/page-panel/page-panel-content.d.ts +1 -1
  183. package/dist/page/page-panel/page-panel-content2.js +1 -1
  184. package/dist/page/page-panel/page-panel-footer.d.ts +1 -1
  185. package/dist/page/page-panel/page-panel-footer2.js +6 -6
  186. package/dist/page/page-panel/page-panel-header.d.ts +1 -1
  187. package/dist/page/page-panel/page-panel-header2.js +6 -6
  188. package/dist/page/page-panel/page-panel.d.ts +2 -17
  189. package/dist/page/page-panel/page-panel.global.js +1 -1
  190. package/dist/page/page-panel/page-panel.global.js.map +1 -1
  191. package/dist/page/page-panel/page-panel2.js +21 -44
  192. package/dist/page/page-panel/page-panel2.js.map +1 -1
  193. package/dist/page/page.d.ts +1 -1
  194. package/dist/page/page.examples.js.map +1 -1
  195. package/dist/page/page.examples.json +0 -32
  196. package/dist/page/page2.js +9 -9
  197. package/dist/page-header/page-header.d.ts +1 -1
  198. package/dist/page-header/page-header2.js +1 -1
  199. package/dist/page-loader/page-loader.d.ts +1 -1
  200. package/dist/page-loader/page-loader2.js +10 -10
  201. package/dist/pagination/pagination.d.ts +2 -405
  202. package/dist/pagination/pagination2.js +17 -17
  203. package/dist/pagination/pagination2.js.map +1 -1
  204. package/dist/panel/panel.d.ts +8 -5
  205. package/dist/panel/panel.examples.js.map +1 -1
  206. package/dist/panel/panel2.js +21 -21
  207. package/dist/panel/panel2.js.map +1 -1
  208. package/dist/password/password.d.ts +1 -1
  209. package/dist/password/password2.js +7 -7
  210. package/dist/preferences-input/preferences-input.d.ts +2 -405
  211. package/dist/preferences-input/preferences-input2.js +9 -9
  212. package/dist/preferences-input/preferences-input2.js.map +1 -1
  213. package/dist/progress-bar/progress-bar.d.ts +1 -1
  214. package/dist/progress-bar/progress-bar2.js +8 -8
  215. package/dist/progress-ring/progress-ring.d.ts +1 -3
  216. package/dist/progress-ring/progress-ring2.js +17 -22
  217. package/dist/progress-ring/progress-ring2.js.map +1 -1
  218. package/dist/progressive-filter-chip/progressive-filter-chip.d.ts +1 -1
  219. package/dist/progressive-filter-chip/progressive-filter-chip2.js +15 -15
  220. package/dist/pulse/pulse.d.ts +1 -1
  221. package/dist/pulse/pulse2.js +6 -6
  222. package/dist/radio/radio-group2.js +7 -7
  223. package/dist/radio/radio2.js +7 -7
  224. package/dist/range/range.d.ts +1 -1
  225. package/dist/range/range2.js +5 -5
  226. package/dist/resize-handle/resize-handle.d.ts +2 -405
  227. package/dist/resize-handle/resize-handle2.js +16 -16
  228. package/dist/resize-handle/resize-handle2.js.map +1 -1
  229. package/dist/search/search.d.ts +1 -1
  230. package/dist/search/search2.js +8 -8
  231. package/dist/select/select.d.ts +2 -2
  232. package/dist/select/select2.js +18 -18
  233. package/dist/skeleton/skeleton.d.ts +1 -1
  234. package/dist/skeleton/skeleton2.js +7 -7
  235. package/dist/sort-button/sort-button.d.ts +5 -3
  236. package/dist/sort-button/sort-button2.js +19 -19
  237. package/dist/sort-button/sort-button2.js.map +1 -1
  238. package/dist/sparkline/sparkline.d.ts +1 -1
  239. package/dist/sparkline/sparkline2.js +14 -14
  240. package/dist/star-rating/star-rating.d.ts +1 -1
  241. package/dist/star-rating/star-rating2.js +6 -6
  242. package/dist/steps/steps.d.ts +6 -4
  243. package/dist/steps/steps2.js +36 -36
  244. package/dist/steps/steps2.js.map +1 -1
  245. package/dist/switch/switch-group2.js +6 -6
  246. package/dist/switch/switch2.js +7 -7
  247. package/dist/tabs/tabs-group.d.ts +1 -1
  248. package/dist/tabs/tabs-group2.js +21 -21
  249. package/dist/tabs/tabs-item.js +1 -1
  250. package/dist/tabs/tabs-item.js.map +1 -1
  251. package/dist/tabs/tabs.d.ts +6 -8
  252. package/dist/tabs/tabs.global.js +1 -1
  253. package/dist/tabs/tabs.global.js.map +1 -1
  254. package/dist/tabs/tabs.js +1 -1
  255. package/dist/tabs/tabs.js.map +1 -1
  256. package/dist/tabs/tabs2.js +30 -30
  257. package/dist/tabs/tabs2.js.map +1 -1
  258. package/dist/tag/tag.d.ts +6 -3
  259. package/dist/tag/tag2.js +20 -20
  260. package/dist/tag/tag2.js.map +1 -1
  261. package/dist/textarea/textarea2.js +1 -1
  262. package/dist/time/time.d.ts +1 -1
  263. package/dist/time/time2.js +7 -7
  264. package/dist/toast/toast.d.ts +3 -4
  265. package/dist/toast/toast2.js +21 -21
  266. package/dist/toast/toast2.js.map +1 -1
  267. package/dist/toggletip/toggletip-footer.d.ts +1 -1
  268. package/dist/toggletip/toggletip-footer2.js +6 -6
  269. package/dist/toggletip/toggletip-header.d.ts +1 -1
  270. package/dist/toggletip/toggletip-header2.js +6 -6
  271. package/dist/toggletip/toggletip.d.ts +1 -1
  272. package/dist/toggletip/toggletip.examples.js.map +1 -1
  273. package/dist/toggletip/toggletip2.js +17 -17
  274. package/dist/toolbar/toolbar.d.ts +1 -1
  275. package/dist/toolbar/toolbar2.js +11 -11
  276. package/dist/tooltip/tooltip.d.ts +1 -1
  277. package/dist/tooltip/tooltip2.js +16 -16
  278. package/dist/tree/tree-node.d.ts +1 -1
  279. package/dist/tree/tree-node2.js +30 -30
  280. package/dist/tree/tree.d.ts +1 -1
  281. package/dist/tree/tree2.js +14 -14
  282. package/dist/week/week.d.ts +1 -1
  283. package/dist/week/week2.js +7 -7
  284. package/package.json +15 -15
  285. package/dist/internal/base/button.d.ts +0 -114
  286. package/dist/internal/base/button.js +0 -117
  287. package/dist/internal/base/button.js.map +0 -1
@@ -188,6 +188,33 @@
188
188
  "description": "Dialog is a component that appears above main content. A modal dialog is used to display critical information that requires users attention.",
189
189
  "body": "<nve-dialog size=\"${6:md}\" closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">${1:Title}</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">${2:Content}</p>\n <nve-dialog-footer>\n <nve-button>${3:Cancel}</nve-button>\n <nve-button interaction=\"${4:emphasis}\">${5:OK}</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n$0\n"
190
190
  },
191
+ "Card": {
192
+ "srcFile": "card.snippets.html",
193
+ "prefix": [
194
+ "card"
195
+ ],
196
+ "type": "pattern",
197
+ "description": "Basic Card with header and footer",
198
+ "body": "<nve-card>\n <nve-card-header>\n <div>\n <h2>${1:Title}</h2>\n <p>${2:Sub Title}</p>\n </div>\n </nve-card-header>\n <nve-card-content>\n ${3:\n <p>card content</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <nve-button style=\"margin-left: auto\">Action</nve-button>\n </nve-card-footer>\n</nve-card>\n"
199
+ },
200
+ "Media Card": {
201
+ "srcFile": "card.snippets.html",
202
+ "prefix": [
203
+ "media-card"
204
+ ],
205
+ "type": "pattern",
206
+ "description": "Basic media Card with card content and card footer",
207
+ "body": "<nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card demo\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${1:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${2:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${3:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n</nve-card>\n"
208
+ },
209
+ "Media Card Grid": {
210
+ "srcFile": "card.snippets.html",
211
+ "prefix": [
212
+ "media-card-grid"
213
+ ],
214
+ "type": "pattern",
215
+ "description": "Grid layout with 3 media cards",
216
+ "body": "<section nve-layout=\"grid span-items:4 gap:md\">\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 1\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${1:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${2:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${3:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 2\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${4:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${5:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${6:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 3\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${7:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${8:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${9:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n</section>\n"
217
+ },
191
218
  "Button Group": {
192
219
  "srcFile": "button-group.snippets.html",
193
220
  "prefix": [
@@ -224,33 +251,6 @@
224
251
  "description": "Simple vertical button group with three icon buttons.",
225
252
  "body": "<nve-button-group orientation=\"vertical\">\n <nve-icon-button icon-name=\"${1:copy}\"></nve-icon-button>\n <nve-icon-button icon-name=\"${2:add-comment}\"></nve-icon-button>\n <nve-icon-button icon-name=\"${3:download}\"></nve-icon-button>\n</nve-button-group>\n"
226
253
  },
227
- "Card": {
228
- "srcFile": "card.snippets.html",
229
- "prefix": [
230
- "card"
231
- ],
232
- "type": "pattern",
233
- "description": "Basic Card with header and footer",
234
- "body": "<nve-card>\n <nve-card-header>\n <div slot=\"title\">${1:Title}</div>\n <div slot=\"subtitle\">${2:Sub Title}</div>\n </nve-card-header>\n <nve-card-content>\n ${3:\n <p>card content</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <nve-button style=\"margin-left: auto\">Action</nve-button>\n </nve-card-footer>\n</nve-card>\n"
235
- },
236
- "Media Card": {
237
- "srcFile": "card.snippets.html",
238
- "prefix": [
239
- "media-card"
240
- ],
241
- "type": "pattern",
242
- "description": "Basic media Card with card content and card footer",
243
- "body": "<nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card demo\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${1:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${2:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${3:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n</nve-card>\n"
244
- },
245
- "Media Card Grid": {
246
- "srcFile": "card.snippets.html",
247
- "prefix": [
248
- "media-card-grid"
249
- ],
250
- "type": "pattern",
251
- "description": "Grid layout with 3 media cards",
252
- "body": "<section nve-layout=\"grid span-items:4 gap:md\">\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 1\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${1:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${2:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${3:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 2\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${4:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${5:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${6:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n\n <nve-card style=\"height: 100%; width: 100%;\">\n <img alt=\"example visualization for media card 3\" loading=\"lazy\" style=\"width: 100%; height: 100%; object-fit: cover;\">\n <nve-card-content>\n ${7:\n <p>•︎•︎•︎ •︎•︎•︎ •︎•︎•︎</p>\n }\n </nve-card-content>\n <nve-card-footer>\n <div nve-layout=\"grid span-items:6 gap:xs\">\n <nve-button>${8:•︎•︎•︎•︎•︎•︎}</nve-button>\n <nve-button>${9:•︎•︎•︎•︎•︎•︎}</nve-button>\n </div>\n </nve-card-footer>\n </nve-card>\n</section>\n"
253
- },
254
254
  "Alert Group": {
255
255
  "srcFile": "alert.snippets.html",
256
256
  "prefix": [
@@ -285,7 +285,7 @@
285
285
  ],
286
286
  "type": "pattern",
287
287
  "description": "Basic accordion with title and content slot.",
288
- "body": "<nve-accordion behavior-expand container=\"${1:flat}\">\n <nve-accordion-header>\n <div slot=\"title\">${2:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${3:Content} </nve-accordion-content>\n</nve-accordion>\n$0\n"
288
+ "body": "<nve-accordion behavior-expand container=\"${1:flat}\">\n <nve-accordion-header>\n <div>${2:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${3:Content} </nve-accordion-content>\n</nve-accordion>\n$0\n"
289
289
  },
290
290
  "Accordion with Actions": {
291
291
  "srcFile": "accordion.snippets.html",
@@ -294,7 +294,7 @@
294
294
  ],
295
295
  "type": "pattern",
296
296
  "description": "Accordion with action buttons in header.",
297
- "body": "<nve-accordion behavior-expand container=\"${1:flat}\">\n <nve-accordion-header>\n <div slot=\"title\">${2:Title}</div>\n\n <nve-icon-button container=\"flat\" icon-name=\"${3:add}\" size=\"sm\" slot=\"actions\"></nve-icon-button>\n <nve-icon-button container=\"flat\" icon-name=\"${4:delete}\" size=\"sm\" slot=\"actions\"></nve-icon-button>\n </nve-accordion-header>\n\n <nve-accordion-content> ${5:Content} </nve-accordion-content>\n</nve-accordion>\n$0\n"
297
+ "body": "<nve-accordion behavior-expand container=\"${1:flat}\">\n <nve-accordion-header>\n <div>${2:Title}</div>\n\n <nve-icon-button container=\"flat\" icon-name=\"${3:add}\" size=\"sm\" slot=\"suffix\"></nve-icon-button>\n <nve-icon-button container=\"flat\" icon-name=\"${4:delete}\" size=\"sm\" slot=\"suffix\"></nve-icon-button>\n </nve-accordion-header>\n\n <nve-accordion-content> ${5:Content} </nve-accordion-content>\n</nve-accordion>\n$0\n"
298
298
  },
299
299
  "Accorion Group": {
300
300
  "srcFile": "accordion.snippets.html",
@@ -303,6 +303,6 @@
303
303
  ],
304
304
  "type": "pattern",
305
305
  "description": "Accordion group with two accordion children.",
306
- "body": "<nve-accordion-group behavior-expand-single container=\"${1:flat}\">\n <nve-accordion>\n <nve-accordion-header>\n <div slot=\"title\">${2:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${3:Content} </nve-accordion-content>\n </nve-accordion>\n\n <nve-accordion>\n <nve-accordion-header>\n <div slot=\"title\">${4:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${5:Content} </nve-accordion-content>\n </nve-accordion>\n\n <nve-accordion>\n <nve-accordion-header>\n <div slot=\"title\">${6:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${7:Content} </nve-accordion-content>\n </nve-accordion>\n</nve-accordion-group>\n$0\n"
306
+ "body": "<nve-accordion-group behavior-expand-single container=\"${1:flat}\">\n <nve-accordion>\n <nve-accordion-header>\n <div>${2:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${3:Content} </nve-accordion-content>\n </nve-accordion>\n\n <nve-accordion>\n <nve-accordion-header>\n <div>${4:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${5:Content} </nve-accordion-content>\n </nve-accordion>\n\n <nve-accordion>\n <nve-accordion-header>\n <div>${6:Title}</div>\n </nve-accordion-header>\n\n <nve-accordion-content> ${7:Content} </nve-accordion-content>\n </nve-accordion>\n</nve-accordion-group>\n$0\n"
307
307
  }
308
308
  }
@@ -36,5 +36,5 @@ export declare class Date extends Control implements ContainerElement {
36
36
  static elementDefinitions: {
37
37
  [IconButton.metadata.tag]: typeof IconButton;
38
38
  };
39
- protected get suffixContent(): import('lit-html').TemplateResult<1>;
39
+ protected get suffixContent(): import('lit').TemplateResult<1>;
40
40
  }
@@ -1,6 +1,6 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { scopedRegistry as t } from "../internal/decorators/scoped-registry.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
1
+ import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import { Control as r } from "../forms/control/control2.js";
5
5
  import { IconButton as i } from "../icon-button/icon-button2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
@@ -10,7 +10,7 @@ import { property as c } from "lit/decorators/property.js";
10
10
  //#region src/date/date.ts
11
11
  var l = class extends r {
12
12
  static {
13
- this.styles = n([
13
+ this.styles = t([
14
14
  ...r.styles,
15
15
  a,
16
16
  o
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-date",
22
- version: "0.2.2"
22
+ version: "0.2.4"
23
23
  };
24
24
  }
25
25
  static {
@@ -29,10 +29,10 @@ var l = class extends r {
29
29
  return s`<nve-icon-button part="icon-button" .ariaLabel="${this.i18n.expand}" icon-name="calendar" container="inline" @click="${this.showPicker}"></nve-icon-button>`;
30
30
  }
31
31
  };
32
- e([c({
32
+ n([c({
33
33
  type: String,
34
34
  reflect: !0
35
- })], l.prototype, "container", void 0), l = e([t()], l);
35
+ })], l.prototype, "container", void 0), l = n([e()], l);
36
36
  //#endregion
37
37
  export { l as Date };
38
38
 
@@ -36,5 +36,5 @@ export declare class Datetime extends Control implements ContainerElement {
36
36
  static elementDefinitions: {
37
37
  [IconButton.metadata.tag]: typeof IconButton;
38
38
  };
39
- protected get suffixContent(): import('lit-html').TemplateResult<1>;
39
+ protected get suffixContent(): import('lit').TemplateResult<1>;
40
40
  }
@@ -1,6 +1,6 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { scopedRegistry as t } from "../internal/decorators/scoped-registry.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
1
+ import { scopedRegistry as e } from "../internal/decorators/scoped-registry.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import { Control as r } from "../forms/control/control2.js";
5
5
  import { IconButton as i } from "../icon-button/icon-button2.js";
6
6
  import { inputStyles as a } from "../input/input2.js";
@@ -10,7 +10,7 @@ import { property as c } from "lit/decorators/property.js";
10
10
  //#region src/datetime/datetime.ts
11
11
  var l = class extends r {
12
12
  static {
13
- this.styles = n([
13
+ this.styles = t([
14
14
  ...r.styles,
15
15
  a,
16
16
  o
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-datetime",
22
- version: "0.2.2"
22
+ version: "0.2.4"
23
23
  };
24
24
  }
25
25
  static {
@@ -29,10 +29,10 @@ var l = class extends r {
29
29
  return s`<nve-icon-button part="icon-button" .ariaLabel="${this.i18n.expand}" icon-name="calendar" container="inline" @click="${this.showPicker}"></nve-icon-button>`;
30
30
  }
31
31
  };
32
- e([c({
32
+ n([c({
33
33
  type: String,
34
34
  reflect: !0
35
- })], l.prototype, "container", void 0), l = e([t()], l);
35
+ })], l.prototype, "container", void 0), l = n([e()], l);
36
36
  //#endregion
37
37
  export { l as Datetime };
38
38
 
@@ -17,6 +17,6 @@ export declare class DialogFooter extends LitElement {
17
17
  version: string;
18
18
  parents: string[];
19
19
  };
20
- render(): import('lit-html').TemplateResult<1>;
20
+ render(): import('lit').TemplateResult<1>;
21
21
  connectedCallback(): void;
22
22
  }
@@ -1,17 +1,17 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { audit as t } from "../internal/controllers/audit.controller.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import r from "./dialog-footer.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  //#region src/dialog/dialog-footer.ts
7
7
  var o = class extends i {
8
8
  static {
9
- this.styles = n([r]);
9
+ this.styles = t([r]);
10
10
  }
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dialog-footer",
14
- version: "0.2.2",
14
+ version: "0.2.4",
15
15
  parents: ["nve-dialog"]
16
16
  };
17
17
  }
@@ -22,7 +22,7 @@ var o = class extends i {
22
22
  super.connectedCallback(), this.slot = "footer";
23
23
  }
24
24
  };
25
- o = e([t()], o);
25
+ o = n([e()], o);
26
26
  //#endregion
27
27
  export { o as DialogFooter };
28
28
 
@@ -16,6 +16,6 @@ export declare class DialogHeader extends LitElement {
16
16
  version: string;
17
17
  parents: string[];
18
18
  };
19
- render(): import('lit-html').TemplateResult<1>;
19
+ render(): import('lit').TemplateResult<1>;
20
20
  connectedCallback(): void;
21
21
  }
@@ -1,17 +1,17 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
- import { audit as t } from "../internal/controllers/audit.controller.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import r from "./dialog-header.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  //#region src/dialog/dialog-header.ts
7
7
  var o = class extends i {
8
8
  static {
9
- this.styles = n([r]);
9
+ this.styles = t([r]);
10
10
  }
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-dialog-header",
14
- version: "0.2.2",
14
+ version: "0.2.4",
15
15
  parents: ["nve-dialog"]
16
16
  };
17
17
  }
@@ -22,7 +22,7 @@ var o = class extends i {
22
22
  super.connectedCallback(), this.slot = "header";
23
23
  }
24
24
  };
25
- o = e([t()], o);
25
+ o = n([e()], o);
26
26
  //#endregion
27
27
  export { o as DialogHeader };
28
28
 
@@ -88,6 +88,6 @@ export declare class Dialog extends LitElement {
88
88
  };
89
89
  /** @private */
90
90
  _internals: ElementInternals;
91
- render(): import('lit-html').TemplateResult<1>;
91
+ render(): import('lit').TemplateResult<1>;
92
92
  connectedCallback(): void;
93
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.examples.js","names":[],"sources":["../../src/dialog/dialog.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html } from 'lit';\nimport '@nvidia-elements/core/card/define.js';\nimport '@nvidia-elements/core/button/define.js';\nimport '@nvidia-elements/core/dialog/define.js';\nimport '@nvidia-elements/core/accordion/define.js';\nimport '@nvidia-elements/core/dropdown/define.js';\n\nexport default {\n title: 'Elements/Dialog',\n component: 'nve-dialog',\n parameters: {\n layout: 'centered'\n }\n};\n\n/* eslint-disable @nvidia-elements/lint/no-missing-popover-trigger */\n\n/**\n * @summary Basic modal dialog for focused user interactions. Use dialogs for confirmations, simple forms, or important information that requires user attention before continuing, creating a modal overlay that blocks interaction with the underlying page until dismissed.\n */\nexport const Default = {\n render: () => html`\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Use the `commandfor` and `command` attributes to trigger custom Invoker Commands, such as toggling a dialog.\n */\nexport const InvokerCommand = {\n render: () => html`\n<nve-button commandfor=\"dialog\" command=\"toggle-popover\">toggle popover</nve-button>\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with event listeners for state change tracking. Use dialog events (beforetoggle, toggle, open, close) to trigger side effects like loading data on open, cleaning up resources on close, or preventing closure based on validation state.\n * @tags test-case\n */\nexport const Events = {\n inline: false,\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<script type=\"module\">\n const dialog = document.querySelector('nve-dialog');\n dialog.addEventListener('beforetoggle', () => console.log('beforetoggle'));\n dialog.addEventListener('toggle', () => console.log('toggle'));\n dialog.addEventListener('open', () => console.log('open'));\n dialog.addEventListener('close', () => console.log('close'));\n</script>\n `\n};\n\n/**\n * @summary Dialog with header, content, and footer structure for complete user interactions. Use the footer for action buttons, organizing the dialog into clear sections that guide users through the information hierarchy and toward decision-making.\n */\nexport const Visual = {\n render: () => html`\n<nve-dialog closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with primary and secondary actions in footer. Use cancel + emphasized action pattern for confirmations or decisions where you need to present a choice, with emphasis on the primary action guiding users toward the preferred or expected path.\n * @tags test-case\n */\nexport const Content = {\n inline: false,\n render: () => html`\n<nve-dialog closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-dialog-footer>\n <nve-button>cancel</nve-button>\n <nve-button interaction=\"emphasis\">action</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Small dialog size for brief confirmations or single-field inputs. Use size=\"sm\" for simple yes/no confirmations, quick edits, or minimal interactions that don't require significant screen space, keeping the interface uncluttered.\n * @tags test-case\n */\nexport const Small = {\n render: () => html`\n<nve-dialog size=\"sm\" closable>\n <h3 nve-text=\"heading\">Small</h3>\n <p nve-text=\"body\">some text content in a small dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Medium dialog size (default) for standard forms and content. Use size=\"md\" for typical dialogs containing short forms (3-5 fields), moderate content, or standard user interactions that need balanced space without overwhelming the interface.\n * @tags test-case\n */\nexport const Medium = {\n render: () => html`\n<nve-dialog size=\"md\" closable>\n <h3 nve-text=\"heading\">Medium</h3>\n <p nve-text=\"body\">some text content in a medium dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Large dialog size for complex forms or extensive content. Use size=\"lg\" for multi-section forms, detailed settings panels, or content-rich interactions where users need more space to work comfortably, but consider using a drawer for large content areas.\n * @tags test-case\n */\nexport const Large = {\n render: () => html`\n<nve-dialog size=\"lg\" closable>\n <h3 nve-text=\"heading\">Large</h3>\n <p nve-text=\"body\">some text content in a large dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog with text wrapping behavior, where content adapts to dialog constraints and maintains readability in limited space.\n * @tags test-case\n */\nexport const TextWrap = {\n render: () => html`\n<nve-dialog closable>\n <h3 nve-text=\"heading\">Text Wrap</h3>\n <p nve-text=\"body\">\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n </p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Non-closable dialog requiring explicit action through buttons. Use non-closable dialogs sparingly for critical decisions (like irreversible deletions) or required acknowledgments where you must ensure users make a conscious choice rather than accidentally dismissing the dialog.\n * @tags test-case\n */\nexport const NonClosable = {\n render: () => html`\n<nve-button popovertarget=\"dialog\">open</nve-button>\n<nve-dialog id=\"dialog\" modal>\n <h3 nve-text=\"heading\">Non-Closable Dialog</h3>\n <p nve-text=\"body\">Clicking the background to dismiss will not work here</p>\n <nve-dialog-footer>\n <nve-button popovertarget=\"dialog\" popovertargetaction=\"hide\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog positioning and alignment options for contextual placement. While center positioning is standard, use edge positioning (top/bottom/left/right) for contextually relevant dialogs that relate to specific interface regions or when working with limited vertical space.\n * @tags test-case\n */\nexport const Alignment = {\n inline: false,\n render: () => html`\n <nve-dialog>center</nve-dialog>\n\n <nve-dialog position=\"top\">top center</nve-dialog>\n <nve-dialog position=\"top\" alignment=\"start\">top start</nve-dialog>\n <nve-dialog position=\"top\">top center</nve-dialog>\n <nve-dialog position=\"top\" alignment=\"end\">top end</nve-dialog>\n\n <nve-dialog position=\"right\" alignment=\"start\">right start</nve-dialog>\n <nve-dialog position=\"right\">right center</nve-dialog>\n <nve-dialog position=\"right\" alignment=\"end\">right end</nve-dialog>\n\n <nve-dialog position=\"bottom\" alignment=\"start\">bottom start</nve-dialog>\n <nve-dialog position=\"bottom\">bottom center</nve-dialog>\n <nve-dialog position=\"bottom\" alignment=\"end\">bottom end</nve-dialog>\n\n <nve-dialog position=\"left\" alignment=\"start\">left start</nve-dialog>\n <nve-dialog position=\"left\">left center</nve-dialog>\n <nve-dialog position=\"left\" alignment=\"end\">left end</nve-dialog>\n `\n};\n\n/**\n * @summary Specific dialog positioning example, with placement in optimal locations for user interaction and visual hierarchy.\n * @tags test-case\n */\nexport const Position = {\n render: () => html`\n <style>\n body {\n min-height: 200vh;\n }\n </style>\n<nve-dialog size=\"sm\" position=\"bottom\" alignment=\"end\" closable>\n <h3 nve-text=\"heading\">Position</h3>\n <p nve-text=\"body\">some text content in a small dialog</p>\n</nve-dialog>\n `\n};\n\n/* eslint-disable @nvidia-elements/lint/no-deprecated-popover-attributes */\n\n/**\n * @deprecated\n * @summary Legacy trigger mechanism for dialog opening, with backward compatibility and alternative interaction patterns for dialog activation.\n * @tags test-case\n */\nexport const LegacyTrigger = {\n inline: false,\n render: () => html`\n<nve-button id=\"dialog-btn\">open</nve-button>\n<nve-dialog trigger=\"dialog-btn\" closable modal hidden>\n <h3 nve-text=\"heading\">Title</h3>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n\n <nve-accordion behavior-expand>\n <nve-accordion-header>\n <h2 nve-text=\"heading xs medium\" slot=\"prefix\">Heading</h2>\n </nve-accordion-header>\n <nve-accordion-content>Adjust workspace preferences including theme, notification settings, and default project configurations to customize your experience.</nve-accordion-content>\n </nve-accordion>\n</nve-dialog>\n<script type=\"module\">\n const dialog = document.querySelector('nve-dialog');\n dialog.addEventListener('open', e => {\n console.log(e);\n dialog.hidden = false;\n });\n\n dialog.addEventListener('close', e => {\n console.log(e);\n dialog.hidden = true;\n });\n</script>\n `\n};\n\n/**\n * @deprecated\n * @summary Legacy behavior trigger for dialog management, showing traditional dialog control patterns and event handling for dialog lifecycle.\n * @tags test-case\n */\nexport const LegacyBehaviorTrigger = {\n inline: false,\n render: () => html`\n<nve-button id=\"dialog-btn\">open</nve-button>\n<nve-dialog trigger=\"dialog-btn\" behavior-trigger closable modal hidden>\n <h3 nve-text=\"heading\">Title</h3>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n\n <nve-accordion behavior-expand>\n <nve-accordion-header>\n <h2 nve-text=\"heading xs medium\" slot=\"prefix\">Heading</h2>\n </nve-accordion-header>\n <nve-accordion-content>Adjust workspace preferences including theme, notification settings, and default project configurations to customize your experience.</nve-accordion-content>\n </nve-accordion>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog functionality within shadow DOM, with proper dialog behavior in encapsulated component environments and custom elements.\n * @tags test-case\n */\nexport const ShadowRoot = {\n render: () => html`\n<dialog-test-shadow-root>\n <template shadowrootmode=\"open\">\n <style>:host { box-sizing: border-box; display: block; margin: 25vh auto; width: 400px; height: 400px; background: red; visibility: visible !important; }</style>\n <nve-dialog size=\"sm\">center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\">top center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\" alignment=\"start\">top start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\" alignment=\"end\">top end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\" alignment=\"start\">right start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\">right center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\" alignment=\"end\">right end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\" alignment=\"start\">bottom start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\">bottom center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\" alignment=\"end\">bottom end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\" alignment=\"start\">left start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\">left center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\" alignment=\"end\">left end</nve-dialog>\n </template>\n</dialog-test-shadow-root>\n `\n};\n\n/**\n * @summary Dialog with scrollable content while keeping header and footer fixed. Use scrollable content areas for dialogs with variable or lengthy content (like terms of service or detailed descriptions) while keeping action buttons always visible, ensuring users can complete the task without scrolling to find buttons.\n * @tags test-case\n */\nexport const ScrollContent = {\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable style=\"height: 400px\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\" style=\"height: 600px\">some tall content</p>\n <p nve-text=\"body\">some overflow content</p>\n <nve-dialog-footer>\n <nve-button id=\"cancel-btn\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Modal dialog with inert behavior, including proper focus management and accessibility compliance for modal overlays and user interaction.\n * @tags test-case\n */\nexport const InertModal = {\n render: () => html`\n<style>\n body {\n display: block !important;\n padding: 24px;\n }\n</style>\n<div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n <nve-dialog id=\"popover\" modal>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <button popovertarget=\"dropdown\">button</button>\n <nve-dropdown id=\"dropdown\">\n dropdown content\n <button>btn</button>\n </nve-dropdown>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <button>btn</button>\n <button>btn</button>\n </nve-dialog>\n </div>\n</div>\n\n<button popovertarget=\"popover\">btn</button><br>\n\n<button popovertarget=\"popover\">btn</button>\n<div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n </div>\n </div>\n</div>\n`\n};\n\n/**\n * @summary Dialog with different container styles, including custom padding and layout options.\n * @tags test-case\n */\nexport const ContainerStyles = {\n render: () => html`\n<nve-dialog id=\"slots-dialog\" closable popover=\"manual\" position=\"top\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">default</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">default dialog with header and footer components</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n\n<nve-dialog id=\"content-dialog\" closable popover=\"manual\" position=\"right\">\n <h3 nve-text=\"heading semibold\">title</h3>\n <p nve-text=\"body\">dialog with only content and no header or footer components</p>\n <nve-button>button</nve-button>\n</nve-dialog>\n\n<nve-dialog id=\"custom-dialog\" closable style=\"--padding: 0\" position=\"bottom\">\n <h3 nve-text=\"heading semibold\">title</h3>\n <p nve-text=\"body\">dialog with only content and no header or footer components and --padding set to 0</p>\n <nve-button>button</nve-button>\n</nve-dialog>\n\n<nve-dialog id=\"custom-slots\" closable style=\"--padding: 48px;\" position=\"left\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">dialog with header and footer components with --padding set to 48px</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with overflow content, including max-height constraints and a scrollable content area.\n * @tags test-case\n */\nexport const MaxHeight = {\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some overflow content</p>\n <p nve-text=\"body\" style=\"min-height: 1000px\">some overflow content</p>\n <nve-button>button</nve-button>\n <nve-dialog-footer>\n <nve-button id=\"cancel-btn\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n}\n\n/**\n * @summary Legacy DOM Creation\n * @deprecated\n * @tags test-case\n */\nexport const LegacyDOMCreation = {\n render: () => html`\n<nve-button id=\"dialog-btn\">button</nve-button>\n<script type=\"module\">\n import '@nvidia-elements/core/dialog/define.js';\n import '@nvidia-elements/core/button/define.js';\n\n document.querySelector('#dialog-btn').addEventListener('click', () => {\n const dialog = document.createElement('nve-dialog');\n dialog.id = 'dialog-dom-creation';\n dialog.modal = true;\n dialog.closable = true;\n \n dialog.addEventListener('close', () => {\n document.body.removeChild(dialog);\n }, { once: true });\n\n document.body.appendChild(dialog);\n });\n</script>\n`\n};\n\n\n/**\n * @summary Center alignment with anchor body\n * @tags test-case\n */\nexport const CenterAlignment = {\n render: () => html`\n<style>\n body {\n min-height: 200vh;\n }\n</style>\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<nve-dialog id=\"dialog\" closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-select>\n <select aria-label=\"select\">\n <option>one</option>\n <option>two</option>\n <option>three</option>\n </select>\n </nve-select>\n</nve-dialog>\n`\n};\n"],"mappings":";AAGA,IAAA,IAAS"}
1
+ {"version":3,"file":"dialog.examples.js","names":[],"sources":["../../src/dialog/dialog.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html } from 'lit';\nimport '@nvidia-elements/core/card/define.js';\nimport '@nvidia-elements/core/button/define.js';\nimport '@nvidia-elements/core/dialog/define.js';\nimport '@nvidia-elements/core/accordion/define.js';\nimport '@nvidia-elements/core/dropdown/define.js';\n\nexport default {\n title: 'Elements/Dialog',\n component: 'nve-dialog',\n parameters: {\n layout: 'centered'\n }\n};\n\n/* eslint-disable @nvidia-elements/lint/no-missing-popover-trigger */\n\n/**\n * @summary Basic modal dialog for focused user interactions. Use dialogs for confirmations, simple forms, or important information that requires user attention before continuing, creating a modal overlay that blocks interaction with the underlying page until dismissed.\n */\nexport const Default = {\n render: () => html`\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Use the `commandfor` and `command` attributes to trigger custom Invoker Commands, such as toggling a dialog.\n */\nexport const InvokerCommand = {\n render: () => html`\n<nve-button commandfor=\"dialog\" command=\"toggle-popover\">toggle popover</nve-button>\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with event listeners for state change tracking. Use dialog events (beforetoggle, toggle, open, close) to trigger side effects like loading data on open, cleaning up resources on close, or preventing closure based on validation state.\n * @tags test-case\n */\nexport const Events = {\n inline: false,\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n</nve-dialog>\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<script type=\"module\">\n const dialog = document.querySelector('nve-dialog');\n dialog.addEventListener('beforetoggle', () => console.log('beforetoggle'));\n dialog.addEventListener('toggle', () => console.log('toggle'));\n dialog.addEventListener('open', () => console.log('open'));\n dialog.addEventListener('close', () => console.log('close'));\n</script>\n `\n};\n\n/**\n * @summary Dialog with header, content, and footer structure for complete user interactions. Use the footer for action buttons, organizing the dialog into clear sections that guide users through the information hierarchy and toward decision-making.\n */\nexport const Visual = {\n render: () => html`\n<nve-dialog closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with primary and secondary actions in footer. Use cancel + emphasized action pattern for confirmations or decisions where you need to present a choice, with emphasis on the primary action guiding users toward the preferred or expected path.\n * @tags test-case\n */\nexport const Content = {\n inline: false,\n render: () => html`\n<nve-dialog closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-dialog-footer>\n <nve-button>cancel</nve-button>\n <nve-button interaction=\"emphasis\">action</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Small dialog size for brief confirmations or single-field inputs. Use size=\"sm\" for simple yes/no confirmations, quick edits, or minimal interactions that don't require significant screen space, keeping the interface uncluttered.\n * @tags test-case\n */\nexport const Small = {\n render: () => html`\n<nve-dialog size=\"sm\" closable>\n <h3 nve-text=\"heading\">Small</h3>\n <p nve-text=\"body\">some text content in a small dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Medium dialog size (default) for standard forms and content. Use size=\"md\" for typical dialogs containing short forms (3-5 fields), moderate content, or standard user interactions that need balanced space without overwhelming the interface.\n * @tags test-case\n */\nexport const Medium = {\n render: () => html`\n<nve-dialog size=\"md\" closable>\n <h3 nve-text=\"heading\">Medium</h3>\n <p nve-text=\"body\">some text content in a medium dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Large dialog size for complex forms or extensive content. Use size=\"lg\" for multi-section forms, detailed settings panels, or content-rich interactions where users need more space to work comfortably, but consider using a drawer for large content areas.\n * @tags test-case\n */\nexport const Large = {\n render: () => html`\n<nve-dialog size=\"lg\" closable>\n <h3 nve-text=\"heading\">Large</h3>\n <p nve-text=\"body\">some text content in a large dialog</p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog with text wrapping behavior, where content adapts to dialog constraints and maintains readability in limited space.\n * @tags test-case\n */\nexport const TextWrap = {\n render: () => html`\n<nve-dialog closable>\n <h3 nve-text=\"heading\">Text Wrap</h3>\n <p nve-text=\"body\">\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n Some text wrapped content in a small dialog. Some text wrapped content in a small dialog. Some text wrapped content in a small dialog.\n </p>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Non-closable dialog requiring explicit action through buttons. Use non-closable dialogs sparingly for critical decisions (like irreversible deletions) or required acknowledgments where you must ensure users make a conscious choice rather than accidentally dismissing the dialog.\n * @tags test-case\n */\nexport const NonClosable = {\n render: () => html`\n<nve-button popovertarget=\"dialog\">open</nve-button>\n<nve-dialog id=\"dialog\" modal>\n <h3 nve-text=\"heading\">Non-Closable Dialog</h3>\n <p nve-text=\"body\">Clicking the background to dismiss will not work here</p>\n <nve-dialog-footer>\n <nve-button popovertarget=\"dialog\" popovertargetaction=\"hide\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog positioning and alignment options for contextual placement. While center positioning is standard, use edge positioning (top/bottom/left/right) for contextually relevant dialogs that relate to specific interface regions or when working with limited vertical space.\n * @tags test-case\n */\nexport const Alignment = {\n inline: false,\n render: () => html`\n <nve-dialog>center</nve-dialog>\n\n <nve-dialog position=\"top\">top center</nve-dialog>\n <nve-dialog position=\"top\" alignment=\"start\">top start</nve-dialog>\n <nve-dialog position=\"top\">top center</nve-dialog>\n <nve-dialog position=\"top\" alignment=\"end\">top end</nve-dialog>\n\n <nve-dialog position=\"right\" alignment=\"start\">right start</nve-dialog>\n <nve-dialog position=\"right\">right center</nve-dialog>\n <nve-dialog position=\"right\" alignment=\"end\">right end</nve-dialog>\n\n <nve-dialog position=\"bottom\" alignment=\"start\">bottom start</nve-dialog>\n <nve-dialog position=\"bottom\">bottom center</nve-dialog>\n <nve-dialog position=\"bottom\" alignment=\"end\">bottom end</nve-dialog>\n\n <nve-dialog position=\"left\" alignment=\"start\">left start</nve-dialog>\n <nve-dialog position=\"left\">left center</nve-dialog>\n <nve-dialog position=\"left\" alignment=\"end\">left end</nve-dialog>\n `\n};\n\n/**\n * @summary Specific dialog positioning example, with placement in optimal locations for user interaction and visual hierarchy.\n * @tags test-case\n */\nexport const Position = {\n render: () => html`\n <style>\n body {\n min-height: 200vh;\n }\n </style>\n<nve-dialog size=\"sm\" position=\"bottom\" alignment=\"end\" closable>\n <h3 nve-text=\"heading\">Position</h3>\n <p nve-text=\"body\">some text content in a small dialog</p>\n</nve-dialog>\n `\n};\n\n/* eslint-disable @nvidia-elements/lint/no-deprecated-popover-attributes */\n\n/**\n * @deprecated\n * @summary Legacy trigger mechanism for dialog opening, with backward compatibility and alternative interaction patterns for dialog activation.\n * @tags test-case\n */\nexport const LegacyTrigger = {\n inline: false,\n render: () => html`\n<nve-button id=\"dialog-btn\">open</nve-button>\n<nve-dialog trigger=\"dialog-btn\" closable modal hidden>\n <h3 nve-text=\"heading\">Title</h3>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n\n <nve-accordion behavior-expand>\n <nve-accordion-header>\n <h2 nve-text=\"heading xs medium\" slot=\"prefix\">Heading</h2>\n </nve-accordion-header>\n <nve-accordion-content>Adjust workspace preferences including theme, notification settings, and default project configurations to customize your experience.</nve-accordion-content>\n </nve-accordion>\n</nve-dialog>\n<script type=\"module\">\n const dialog = document.querySelector('nve-dialog');\n dialog.addEventListener('open', e => {\n console.log(e);\n dialog.hidden = false;\n });\n\n dialog.addEventListener('close', e => {\n console.log(e);\n dialog.hidden = true;\n });\n</script>\n `\n};\n\n/**\n * @deprecated\n * @summary Legacy behavior trigger for dialog management, showing traditional dialog control patterns and event handling for dialog lifecycle.\n * @tags test-case\n */\nexport const LegacyBehaviorTrigger = {\n inline: false,\n render: () => html`\n<nve-button id=\"dialog-btn\">open</nve-button>\n<nve-dialog trigger=\"dialog-btn\" behavior-trigger closable modal hidden>\n <h3 nve-text=\"heading\">Title</h3>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n\n <nve-accordion behavior-expand>\n <nve-accordion-header>\n <h2 nve-text=\"heading xs medium\" slot=\"prefix\">Heading</h2>\n </nve-accordion-header>\n <nve-accordion-content>Adjust workspace preferences including theme, notification settings, and default project configurations to customize your experience.</nve-accordion-content>\n </nve-accordion>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Dialog functionality within shadow DOM, with proper dialog behavior in encapsulated component environments and custom elements.\n * @tags test-case\n */\nexport const ShadowRoot = {\n render: () => html`\n<dialog-test-shadow-root>\n <template shadowrootmode=\"open\">\n <style>:host { box-sizing: border-box; display: block; margin: 25vh auto; width: 400px; height: 400px; background: red; visibility: visible !important; }</style>\n <nve-dialog size=\"sm\">center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\">top center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\" alignment=\"start\">top start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"top\" alignment=\"end\">top end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\" alignment=\"start\">right start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\">right center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"right\" alignment=\"end\">right end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\" alignment=\"start\">bottom start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\">bottom center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"bottom\" alignment=\"end\">bottom end</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\" alignment=\"start\">left start</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\">left center</nve-dialog>\n <nve-dialog size=\"sm\" position=\"left\" alignment=\"end\">left end</nve-dialog>\n </template>\n</dialog-test-shadow-root>\n `\n};\n\n/**\n * @summary Dialog with scrollable content while keeping header and footer fixed. Use scrollable content areas for dialogs with variable or lengthy content (like terms of service or detailed descriptions) while keeping action buttons always visible, ensuring users can complete the task without scrolling to find buttons.\n * @tags test-case\n */\nexport const ScrollContent = {\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable style=\"height: 400px\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\" style=\"height: 600px\">some tall content</p>\n <p nve-text=\"body\">some overflow content</p>\n <nve-dialog-footer>\n <nve-button id=\"cancel-btn\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Modal dialog with inert behavior, including proper focus management and accessibility compliance for modal overlays and user interaction.\n * @tags test-case\n */\nexport const InertModal = {\n render: () => html`\n<style>\n body {\n display: block !important;\n padding: 24px;\n }\n</style>\n<div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n <nve-dialog id=\"popover\" modal>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <button popovertarget=\"dropdown\">button</button>\n <nve-dropdown id=\"dropdown\">\n dropdown content\n <button>btn</button>\n </nve-dropdown>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <button>btn</button>\n <button>btn</button>\n </nve-dialog>\n </div>\n</div>\n\n<button popovertarget=\"popover\">btn</button><br>\n\n<button popovertarget=\"popover\">btn</button>\n<div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n <div>\n <button popovertarget=\"popover\">btn</button>\n </div>\n </div>\n</div>\n`\n};\n\n/**\n * @summary Dialog with different container styles, including custom padding and layout options.\n * @tags test-case\n */\nexport const ContainerStyles = {\n render: () => html`\n<nve-dialog id=\"slots-dialog\" closable popover=\"manual\" position=\"top\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">default</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">default dialog with header and footer components</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n\n<nve-dialog id=\"content-dialog\" closable popover=\"manual\" position=\"right\">\n <h3 nve-text=\"heading semibold\">title</h3>\n <p nve-text=\"body\">dialog with only content and no header or footer components</p>\n <nve-button>button</nve-button>\n</nve-dialog>\n\n<nve-dialog id=\"custom-dialog\" closable style=\"--padding: 0\" position=\"bottom\">\n <h3 nve-text=\"heading semibold\">title</h3>\n <p nve-text=\"body\">dialog with only content and no header or footer components and --padding set to 0</p>\n <nve-button>button</nve-button>\n</nve-dialog>\n\n<nve-dialog id=\"custom-slots\" closable style=\"--padding: 48px;\" position=\"left\">\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">dialog with header and footer components with --padding set to 48px</p>\n <nve-dialog-footer>\n <nve-button>button</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n`\n};\n\n/**\n * @summary Dialog with overflow content, including max-height constraints and a scrollable content area.\n * @tags test-case\n */\nexport const MaxHeight = {\n render: () => html`\n<nve-dialog id=\"dialog\" modal closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some overflow content</p>\n <p nve-text=\"body\" style=\"min-height: 1000px\">some overflow content</p>\n <nve-button>button</nve-button>\n <nve-dialog-footer>\n <nve-button id=\"cancel-btn\">cancel</nve-button>\n </nve-dialog-footer>\n</nve-dialog>\n `\n};\n\n/**\n * @summary Legacy DOM Creation\n * @deprecated\n * @tags test-case\n */\nexport const LegacyDOMCreation = {\n render: () => html`\n<nve-button id=\"dialog-btn\">button</nve-button>\n<script type=\"module\">\n import '@nvidia-elements/core/dialog/define.js';\n import '@nvidia-elements/core/button/define.js';\n\n document.querySelector('#dialog-btn').addEventListener('click', () => {\n const dialog = document.createElement('nve-dialog');\n dialog.id = 'dialog-dom-creation';\n dialog.modal = true;\n dialog.closable = true;\n \n dialog.addEventListener('close', () => {\n document.body.removeChild(dialog);\n }, { once: true });\n\n document.body.appendChild(dialog);\n });\n</script>\n`\n};\n\n\n/**\n * @summary Center alignment with anchor body\n * @tags test-case\n */\nexport const CenterAlignment = {\n render: () => html`\n<style>\n body {\n min-height: 200vh;\n }\n</style>\n<nve-button popovertarget=\"dialog\">button</nve-button>\n<nve-dialog id=\"dialog\" closable>\n <nve-dialog-header>\n <h3 nve-text=\"heading semibold\">title</h3>\n </nve-dialog-header>\n <p nve-text=\"body\">some text content in a closable dialog</p>\n <nve-select>\n <select aria-label=\"select\">\n <option>one</option>\n <option>two</option>\n <option>three</option>\n </select>\n </nve-select>\n</nve-dialog>\n`\n};\n"],"mappings":";AAGA,IAAA,IAAS"}
@@ -1,12 +1,12 @@
1
- import { appendRootNodeStyle as e } from "../internal/utils/dom.js";
2
- import { attachInternals as t } from "../internal/utils/a11y.js";
3
- import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
4
- import { audit as r } from "../internal/controllers/audit.controller.js";
5
- import { I18nController as i } from "../internal/controllers/i18n.controller.js";
6
- import { TypeNativePopoverController as a } from "../internal/controllers/type-native-popover.controller.js";
7
- import { scopedRegistry as o } from "../internal/decorators/scoped-registry.js";
8
- import { useStyles as s } from "../internal/styles/index.js";
9
- import { popoverStyles as c } from "../internal/styles/popover2.js";
1
+ import { audit as e } from "../internal/controllers/audit.controller.js";
2
+ import { I18nController as t } from "../internal/controllers/i18n.controller.js";
3
+ import { appendRootNodeStyle as n } from "../internal/utils/dom.js";
4
+ import { attachInternals as r } from "../internal/utils/a11y.js";
5
+ import { TypeNativePopoverController as i } from "../internal/controllers/type-native-popover.controller.js";
6
+ import { scopedRegistry as a } from "../internal/decorators/scoped-registry.js";
7
+ import { useStyles as o } from "../internal/styles/index.js";
8
+ import { popoverStyles as s } from "../internal/styles/popover2.js";
9
+ import { __decorate as c } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
10
10
  import { IconButton as l } from "../icon-button/icon-button2.js";
11
11
  import u from "./dialog.global.js";
12
12
  import d from "./dialog.js";
@@ -15,7 +15,7 @@ import { property as m } from "lit/decorators/property.js";
15
15
  //#region src/dialog/dialog.ts
16
16
  var h = class extends f {
17
17
  constructor(...e) {
18
- super(...e), this.position = "center", this.alignment = "center", this.anchor = globalThis.document?.body, this.#e = new i(this), this.i18n = this.#e.i18n, this.typeNativePopoverController = new a(this);
18
+ super(...e), this.position = "center", this.alignment = "center", this.anchor = globalThis.document?.body, this.#e = new t(this), this.i18n = this.#e.i18n, this.typeNativePopoverController = new i(this);
19
19
  }
20
20
  #e;
21
21
  get popoverType() {
@@ -25,12 +25,12 @@ var h = class extends f {
25
25
  return !!this.closable;
26
26
  }
27
27
  static {
28
- this.styles = s([c, d]);
28
+ this.styles = o([s, d]);
29
29
  }
30
30
  static {
31
31
  this.metadata = {
32
32
  tag: "nve-dialog",
33
- version: "0.2.2"
33
+ version: "0.2.4"
34
34
  };
35
35
  }
36
36
  static {
@@ -40,26 +40,26 @@ var h = class extends f {
40
40
  return p`<div internal-host part="_host"><div class="header">${this.closable ? p`<nve-icon-button part="close-button icon-button" exportparts="icon:icon-button-icon" size="sm" @click="${this.hidePopover}" icon-name="cancel" .ariaLabel="${this.i18n.close}"></nve-icon-button>` : ""}<slot name="header"></slot></div><div class="content" part="_content"><slot></slot></div><slot name="footer"></slot></div>`;
41
41
  }
42
42
  connectedCallback() {
43
- super.connectedCallback(), t(this), this._internals.role = "dialog", e(this, u);
43
+ super.connectedCallback(), r(this), this._internals.role = "dialog", n(this, u);
44
44
  }
45
45
  };
46
- n([m({
46
+ c([m({
47
47
  type: String,
48
48
  reflect: !0
49
- })], h.prototype, "position", void 0), n([m({
49
+ })], h.prototype, "position", void 0), c([m({
50
50
  type: String,
51
51
  reflect: !0
52
- })], h.prototype, "alignment", void 0), n([m({
52
+ })], h.prototype, "alignment", void 0), c([m({
53
53
  type: String,
54
54
  reflect: !0
55
- })], h.prototype, "size", void 0), n([m({ type: Boolean })], h.prototype, "closable", void 0), n([m({
55
+ })], h.prototype, "size", void 0), c([m({ type: Boolean })], h.prototype, "closable", void 0), c([m({
56
56
  type: Boolean,
57
57
  reflect: !0
58
- })], h.prototype, "modal", void 0), n([m({ type: String })], h.prototype, "anchor", void 0), n([m({ type: String })], h.prototype, "trigger", void 0), n([m({
58
+ })], h.prototype, "modal", void 0), c([m({ type: String })], h.prototype, "anchor", void 0), c([m({ type: String })], h.prototype, "trigger", void 0), c([m({
59
59
  type: Boolean,
60
60
  reflect: !0,
61
61
  attribute: "behavior-trigger"
62
- })], h.prototype, "behaviorTrigger", void 0), n([m({ type: Object })], h.prototype, "i18n", void 0), h = n([r({ excessiveInstanceLimit: 50 }), o()], h);
62
+ })], h.prototype, "behaviorTrigger", void 0), c([m({ type: Object })], h.prototype, "i18n", void 0), h = c([e({ excessiveInstanceLimit: 50 }), a()], h);
63
63
  //#endregion
64
64
  export { h as Dialog };
65
65
 
@@ -22,7 +22,7 @@ export declare class Divider extends LitElement {
22
22
  };
23
23
  /** @private */
24
24
  _internals: ElementInternals;
25
- render(): import('lit-html').TemplateResult<1>;
25
+ render(): import('lit').TemplateResult<1>;
26
26
  connectedCallback(): void;
27
27
  updated(props: PropertyValues<this>): void;
28
28
  }
@@ -1,6 +1,6 @@
1
1
  import { attachInternals as e } from "../internal/utils/a11y.js";
2
- import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
3
- import { useStyles as n } from "../internal/styles/index.js";
2
+ import { useStyles as t } from "../internal/styles/index.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import r from "./divider.js";
5
5
  import { LitElement as i, html as a } from "lit";
6
6
  import { property as o } from "lit/decorators/property.js";
@@ -10,12 +10,12 @@ var s = class extends i {
10
10
  super(...e), this.orientation = "horizontal";
11
11
  }
12
12
  static {
13
- this.styles = n([r]);
13
+ this.styles = t([r]);
14
14
  }
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-divider",
18
- version: "0.2.2"
18
+ version: "0.2.4"
19
19
  };
20
20
  }
21
21
  render() {
@@ -28,7 +28,7 @@ var s = class extends i {
28
28
  super.updated(e), e.has("orientation") && (this._internals.ariaOrientation = this.orientation);
29
29
  }
30
30
  };
31
- t([o({
31
+ n([o({
32
32
  type: String,
33
33
  reflect: !0
34
34
  })], s.prototype, "orientation", void 0);
package/dist/dot/dot.d.ts CHANGED
@@ -30,6 +30,6 @@ export declare class Dot extends LitElement {
30
30
  version: string;
31
31
  };
32
32
  _internals: ElementInternals;
33
- render(): import('lit-html').TemplateResult<1>;
33
+ render(): import('lit').TemplateResult<1>;
34
34
  connectedCallback(): void;
35
35
  }
package/dist/dot/dot2.js CHANGED
@@ -1,22 +1,22 @@
1
1
  import { attachInternals as e } from "../internal/utils/a11y.js";
2
- import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
3
- import { statusStateStyles as n, supportStateStyles as r, useStyles as i } from "../internal/styles/index.js";
2
+ import { statusStateStyles as t, supportStateStyles as n, useStyles as r } from "../internal/styles/index.js";
3
+ import { __decorate as i } from "../_virtual/_@oxc-project_runtime@0.132.0/helpers/decorate.js";
4
4
  import a from "./dot.js";
5
5
  import { LitElement as o, html as s } from "lit";
6
6
  import { property as c } from "lit/decorators/property.js";
7
7
  //#region src/dot/dot.ts
8
8
  var l = class extends o {
9
9
  static {
10
- this.styles = i([
10
+ this.styles = r([
11
11
  a,
12
- n,
13
- r
12
+ t,
13
+ n
14
14
  ]);
15
15
  }
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-dot",
19
- version: "0.2.2"
19
+ version: "0.2.4"
20
20
  };
21
21
  }
22
22
  render() {
@@ -29,10 +29,10 @@ var l = class extends o {
29
29
  this.textContent.length ? this._internals.states.add("has-text") : this._internals.states.delete("has-text");
30
30
  }
31
31
  };
32
- t([c({
32
+ i([c({
33
33
  type: String,
34
34
  reflect: !0
35
- })], l.prototype, "status", void 0), t([c({
35
+ })], l.prototype, "status", void 0), i([c({
36
36
  type: String,
37
37
  reflect: !0
38
38
  })], l.prototype, "size", void 0);
@@ -17,5 +17,5 @@ export declare class DrawerContent extends LitElement {
17
17
  version: string;
18
18
  parents: string[];
19
19
  };
20
- render(): import('lit-html').TemplateResult<1>;
20
+ render(): import('lit').TemplateResult<1>;
21
21
  }