@nova-design-system/nova-webcomponents 3.0.0-beta.39 → 3.0.0-beta.41

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 (510) hide show
  1. package/dist/cjs/{constants-2ae3d9eb.js → constants-79d2cdfc.js} +4 -4
  2. package/dist/cjs/constants-79d2cdfc.js.map +1 -0
  3. package/dist/cjs/dom.utils-4d43f69a.js +170 -0
  4. package/dist/cjs/dom.utils-4d43f69a.js.map +1 -0
  5. package/dist/cjs/index-5910ba06.js +0 -32
  6. package/dist/cjs/index.cjs.js +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/native.cjs.js +1 -1
  9. package/dist/cjs/nv-alert.cjs.entry.js +32 -9
  10. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
  12. package/dist/cjs/nv-badge_2.cjs.entry.js +3 -3
  13. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  14. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-button.cjs.entry.js +34 -12
  17. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-calendar.cjs.entry.js +2 -2
  19. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  20. package/dist/cjs/nv-datagrid.cjs.entry.js +325 -165
  21. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -5
  23. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-dialog.cjs.entry.js +20 -9
  25. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +17 -12
  27. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  29. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  30. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  32. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  33. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  34. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  35. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  36. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  37. package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
  38. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  39. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-iconbutton.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-loader.cjs.entry.js +1 -1
  42. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  43. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  45. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  46. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  47. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  48. package/dist/cjs/nv-table.cjs.entry.js +267 -81
  49. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -21
  51. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  54. package/dist/collection/collection-manifest.json +1 -9
  55. package/dist/collection/components/nv-alert/nv-alert.docs.js +5 -0
  56. package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -1
  57. package/dist/collection/components/nv-alert/nv-alert.js +51 -8
  58. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  59. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  60. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  61. package/dist/collection/components/nv-base/nv-base.js +1 -1
  62. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  63. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  64. package/dist/collection/components/nv-button/nv-button.docs.js +4 -0
  65. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  66. package/dist/collection/components/nv-button/nv-button.js +54 -13
  67. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  68. package/dist/collection/components/nv-calendar/nv-calendar.js +1 -1
  69. package/dist/collection/components/nv-col/nv-col.js +1 -1
  70. package/dist/collection/components/nv-datagrid/nv-datagrid.css +30 -0
  71. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +25 -77
  72. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  73. package/dist/collection/components/nv-datagrid/nv-datagrid.js +396 -194
  74. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  75. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +7 -16
  76. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  77. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +6 -9
  78. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  79. package/dist/collection/components/nv-dialog/nv-dialog.js +20 -29
  80. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  81. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +71 -21
  82. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -1
  83. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  84. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  85. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -4
  86. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  87. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  88. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  89. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  90. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  91. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  92. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  93. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  94. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  95. package/dist/collection/components/nv-icon/nv-icon.js +3 -3
  96. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  97. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  98. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  99. package/dist/collection/components/nv-menu/nv-menu.docs.js +1 -1
  100. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  101. package/dist/collection/components/nv-menu/nv-menu.js +3 -3
  102. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  103. package/dist/collection/components/nv-menuitem/nv-menuitem.js +3 -3
  104. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  105. package/dist/collection/components/nv-row/nv-row.js +1 -1
  106. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  107. package/dist/collection/components/nv-table/nv-table.css +30 -0
  108. package/dist/collection/components/nv-table/nv-table.docs.js +69 -74
  109. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  110. package/dist/collection/components/nv-table/nv-table.js +349 -137
  111. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  112. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +11 -111
  113. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -1
  114. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  115. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  116. package/dist/collection/interfaces/ColumnConfig.js +2 -0
  117. package/dist/collection/interfaces/ColumnConfig.js.map +1 -0
  118. package/dist/collection/interfaces/actionEvent.js +2 -0
  119. package/dist/collection/interfaces/actionEvent.js.map +1 -0
  120. package/dist/collection/utils/dom.utils.js +164 -0
  121. package/dist/collection/utils/dom.utils.js.map +1 -0
  122. package/dist/collection/utils/test/class.utils.test.js +25 -0
  123. package/dist/collection/utils/test/class.utils.test.js.map +1 -0
  124. package/dist/collection/utils/test/dom.utils.test.js +102 -0
  125. package/dist/collection/utils/test/dom.utils.test.js.map +1 -0
  126. package/dist/components/index.js +1 -1
  127. package/dist/components/nv-alert.js +35 -11
  128. package/dist/components/nv-alert.js.map +1 -1
  129. package/dist/components/nv-avatar.js +3 -3
  130. package/dist/components/nv-badge.js +1 -1
  131. package/dist/components/nv-base.js +1 -1
  132. package/dist/components/nv-breadcrumb.js +3 -3
  133. package/dist/components/nv-breadcrumbs.js +1 -1
  134. package/dist/components/nv-button.js +1 -1
  135. package/dist/components/nv-calendar.js +6 -6
  136. package/dist/components/nv-col.js +1 -1
  137. package/dist/components/nv-datagrid.js +332 -173
  138. package/dist/components/nv-datagrid.js.map +1 -1
  139. package/dist/components/nv-datagridcolumn.js +3 -7
  140. package/dist/components/nv-datagridcolumn.js.map +1 -1
  141. package/dist/components/nv-dialog.js +25 -15
  142. package/dist/components/nv-dialog.js.map +1 -1
  143. package/dist/components/nv-dialogfooter.js +1 -1
  144. package/dist/components/nv-dialogheader.js +1 -1
  145. package/dist/components/nv-fieldcheckbox.js +1 -1
  146. package/dist/components/nv-fielddropdown.js +8 -8
  147. package/dist/components/nv-fielddropdownitem.js +1 -1
  148. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  149. package/dist/components/nv-fieldmultiselect.js +7 -7
  150. package/dist/components/nv-fieldnumber.js +4 -4
  151. package/dist/components/nv-fieldpassword.js +6 -6
  152. package/dist/components/nv-fieldradio.js +3 -3
  153. package/dist/components/nv-fieldselect.js +6 -6
  154. package/dist/components/nv-fieldtext.js +4 -4
  155. package/dist/components/nv-fieldtextarea.js +3 -3
  156. package/dist/components/nv-fieldtime.js +14 -14
  157. package/dist/components/nv-icon.js +1 -1
  158. package/dist/components/nv-iconbutton.js +1 -1
  159. package/dist/components/nv-loader.js +1 -1
  160. package/dist/components/nv-menu.js +5 -5
  161. package/dist/components/nv-menu.js.map +1 -1
  162. package/dist/components/nv-menuitem.js +1 -1
  163. package/dist/components/nv-popover.js +1 -1
  164. package/dist/components/nv-row.js +1 -1
  165. package/dist/components/nv-stack.js +1 -1
  166. package/dist/components/nv-table.js +279 -91
  167. package/dist/components/nv-table.js.map +1 -1
  168. package/dist/components/nv-tablecolumn.js +5 -28
  169. package/dist/components/nv-tablecolumn.js.map +1 -1
  170. package/dist/components/nv-toggle.js +2 -2
  171. package/dist/components/nv-tooltip.js +1 -1
  172. package/dist/components/{p-659a5ae4.js → p-11cc38e0.js} +4 -4
  173. package/dist/components/{p-659a5ae4.js.map → p-11cc38e0.js.map} +1 -1
  174. package/dist/components/{p-17b6705f.js → p-1657eba4.js} +23 -16
  175. package/dist/components/p-1657eba4.js.map +1 -0
  176. package/dist/components/{p-88165c0e.js → p-33f9bdb1.js} +4 -4
  177. package/dist/components/{p-88165c0e.js.map → p-33f9bdb1.js.map} +1 -1
  178. package/dist/components/{p-f40a7e2f.js → p-4b184820.js} +3 -3
  179. package/dist/components/{p-f40a7e2f.js.map → p-4b184820.js.map} +1 -1
  180. package/dist/components/{p-48317c2c.js → p-4bb5eb79.js} +3 -3
  181. package/dist/components/{p-48317c2c.js.map → p-4bb5eb79.js.map} +1 -1
  182. package/dist/components/{p-842afd9a.js → p-69543282.js} +3 -3
  183. package/dist/components/{p-842afd9a.js.map → p-69543282.js.map} +1 -1
  184. package/dist/components/{p-fdf57d25.js → p-96605453.js} +5 -5
  185. package/dist/components/{p-fdf57d25.js.map → p-96605453.js.map} +1 -1
  186. package/dist/components/{p-33e07c91.js → p-a633892a.js} +2 -2
  187. package/dist/components/{p-33e07c91.js.map → p-a633892a.js.map} +1 -1
  188. package/dist/components/{p-fd65c51f.js → p-b316c35d.js} +2 -2
  189. package/dist/components/p-b316c35d.js.map +1 -0
  190. package/dist/components/{p-8d7a57d1.js → p-ba145f46.js} +38 -15
  191. package/dist/components/p-ba145f46.js.map +1 -0
  192. package/dist/components/p-cb34aa4f.js +167 -0
  193. package/dist/components/p-cb34aa4f.js.map +1 -0
  194. package/dist/components/{p-492ad81d.js → p-d17558a8.js} +2 -2
  195. package/dist/components/{p-492ad81d.js.map → p-d17558a8.js.map} +1 -1
  196. package/dist/components/{p-73e703a1.js → p-f201db34.js} +2 -2
  197. package/dist/components/{p-73e703a1.js.map → p-f201db34.js.map} +1 -1
  198. package/dist/components/{p-5f5e2bf2.js → p-f77c3072.js} +4 -4
  199. package/dist/components/p-f77c3072.js.map +1 -0
  200. package/dist/components/{p-83e1177b.js → p-fad78896.js} +3 -3
  201. package/dist/components/{p-83e1177b.js.map → p-fad78896.js.map} +1 -1
  202. package/dist/docs.json +352 -679
  203. package/dist/esm/{constants-8243d2ea.js → constants-75e6d7f0.js} +2 -2
  204. package/dist/esm/constants-75e6d7f0.js.map +1 -0
  205. package/dist/esm/dom.utils-ac71e0ef.js +167 -0
  206. package/dist/esm/dom.utils-ac71e0ef.js.map +1 -0
  207. package/dist/esm/index-fac2d5d2.js +0 -32
  208. package/dist/esm/index.js +1 -1
  209. package/dist/esm/loader.js +1 -1
  210. package/dist/esm/native.js +1 -1
  211. package/dist/esm/nv-alert.entry.js +32 -9
  212. package/dist/esm/nv-alert.entry.js.map +1 -1
  213. package/dist/esm/nv-avatar.entry.js +2 -2
  214. package/dist/esm/nv-badge_2.entry.js +3 -3
  215. package/dist/esm/nv-base.entry.js +1 -1
  216. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  217. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  218. package/dist/esm/nv-button.entry.js +34 -12
  219. package/dist/esm/nv-button.entry.js.map +1 -1
  220. package/dist/esm/nv-calendar.entry.js +2 -2
  221. package/dist/esm/nv-col.entry.js +1 -1
  222. package/dist/esm/nv-datagrid.entry.js +326 -166
  223. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  224. package/dist/esm/nv-datagridcolumn.entry.js +1 -5
  225. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  226. package/dist/esm/nv-dialog.entry.js +20 -9
  227. package/dist/esm/nv-dialog.entry.js.map +1 -1
  228. package/dist/esm/nv-dialogfooter_2.entry.js +17 -12
  229. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  230. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  231. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  232. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  233. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  234. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  235. package/dist/esm/nv-fieldradio.entry.js +3 -3
  236. package/dist/esm/nv-fieldselect.entry.js +5 -5
  237. package/dist/esm/nv-fieldtext.entry.js +3 -3
  238. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  239. package/dist/esm/nv-fieldtime.entry.js +10 -10
  240. package/dist/esm/nv-icon.entry.js +3 -3
  241. package/dist/esm/nv-icon.entry.js.map +1 -1
  242. package/dist/esm/nv-iconbutton.entry.js +1 -1
  243. package/dist/esm/nv-loader.entry.js +1 -1
  244. package/dist/esm/nv-menu.entry.js +2 -2
  245. package/dist/esm/nv-menu.entry.js.map +1 -1
  246. package/dist/esm/nv-menuitem.entry.js +1 -1
  247. package/dist/esm/nv-popover.entry.js +1 -1
  248. package/dist/esm/nv-row.entry.js +1 -1
  249. package/dist/esm/nv-stack.entry.js +1 -1
  250. package/dist/esm/nv-table.entry.js +268 -82
  251. package/dist/esm/nv-table.entry.js.map +1 -1
  252. package/dist/esm/nv-tablecolumn.entry.js +2 -22
  253. package/dist/esm/nv-tablecolumn.entry.js.map +1 -1
  254. package/dist/esm/nv-toggle.entry.js +2 -2
  255. package/dist/esm/nv-tooltip.entry.js +1 -1
  256. package/dist/native/index.esm.js +1 -1
  257. package/dist/native/native.css +1 -1
  258. package/dist/native/native.esm.js +1 -1
  259. package/dist/native/native.esm.js.map +1 -1
  260. package/dist/native/{p-e1b22ca7.entry.js → p-0a2a9f8b.entry.js} +2 -2
  261. package/dist/native/{p-46c9aa04.entry.js → p-12d08abc.entry.js} +2 -2
  262. package/dist/native/{p-63c894f0.entry.js → p-15be3d96.entry.js} +2 -2
  263. package/dist/native/{p-943a19a5.entry.js → p-184cd119.entry.js} +2 -2
  264. package/dist/native/{p-2b99e720.entry.js → p-1a3d2a74.entry.js} +2 -2
  265. package/dist/native/{p-bac62e20.entry.js → p-27ad7af2.entry.js} +2 -2
  266. package/dist/native/p-27ad7af2.entry.js.map +1 -0
  267. package/dist/native/p-2b2a10f9.entry.js +2 -0
  268. package/dist/native/p-2b2a10f9.entry.js.map +1 -0
  269. package/dist/native/{p-3b2c7871.entry.js → p-359f0f53.entry.js} +2 -2
  270. package/dist/native/p-3b65037c.entry.js +2 -0
  271. package/dist/native/p-3b65037c.entry.js.map +1 -0
  272. package/dist/native/p-3be2c9a1.entry.js +2 -0
  273. package/dist/native/p-4283f375.entry.js +2 -0
  274. package/dist/native/p-4283f375.entry.js.map +1 -0
  275. package/dist/native/p-487b81bd.entry.js +2 -0
  276. package/dist/native/p-487b81bd.entry.js.map +1 -0
  277. package/dist/native/{p-fa33ec18.entry.js → p-491f4605.entry.js} +2 -2
  278. package/dist/native/{p-39b4ec02.entry.js → p-554f7b44.entry.js} +2 -2
  279. package/dist/native/{p-44e7e3e8.entry.js → p-69fb1c9d.entry.js} +2 -2
  280. package/dist/native/{p-cba14168.entry.js → p-729c9d45.entry.js} +2 -2
  281. package/dist/native/{p-6acbf729.entry.js → p-78f08578.entry.js} +2 -2
  282. package/dist/native/p-8664ab16.entry.js +7 -0
  283. package/dist/native/p-8664ab16.entry.js.map +1 -0
  284. package/dist/native/p-8d6516a3.entry.js +2 -0
  285. package/dist/native/{p-4a7fa613.entry.js.map → p-8d6516a3.entry.js.map} +1 -1
  286. package/dist/native/p-951baf95.entry.js +2 -0
  287. package/dist/native/{p-b2ace8e9.entry.js → p-9795090f.entry.js} +2 -2
  288. package/dist/native/{p-b2ace8e9.entry.js.map → p-9795090f.entry.js.map} +1 -1
  289. package/dist/native/p-af60740c.entry.js +2 -0
  290. package/dist/native/{p-3bfd5a30.entry.js.map → p-af60740c.entry.js.map} +1 -1
  291. package/dist/native/{p-fd65c51f.js → p-b316c35d.js} +2 -2
  292. package/dist/native/{p-fd65c51f.js.map → p-b316c35d.js.map} +1 -1
  293. package/dist/native/p-b58c661b.entry.js +2 -0
  294. package/dist/native/p-b58c661b.entry.js.map +1 -0
  295. package/dist/native/p-b7bc918b.entry.js +2 -0
  296. package/dist/native/p-b7bc918b.entry.js.map +1 -0
  297. package/dist/native/p-cb34aa4f.js +2 -0
  298. package/dist/native/p-cb34aa4f.js.map +1 -0
  299. package/dist/native/{p-4eacd598.entry.js → p-cda56476.entry.js} +2 -2
  300. package/dist/native/{p-dbb89408.entry.js → p-d1bf4d77.entry.js} +2 -2
  301. package/dist/native/{p-b13b2663.entry.js → p-d7665a07.entry.js} +2 -2
  302. package/dist/native/{p-833af1bf.entry.js → p-daeb7e22.entry.js} +2 -2
  303. package/dist/native/{p-634b49fe.entry.js → p-e36e956b.entry.js} +2 -2
  304. package/dist/native/{p-afc16010.entry.js → p-e9e77494.entry.js} +2 -2
  305. package/dist/native/{p-0bf35abc.entry.js → p-edee1c1f.entry.js} +2 -2
  306. package/dist/native/{p-4db7add6.entry.js → p-f1585fc2.entry.js} +2 -2
  307. package/dist/native/{p-ac81e143.entry.js → p-f3579407.entry.js} +2 -2
  308. package/dist/native/p-fca807b4.entry.js +13 -0
  309. package/dist/native/p-fca807b4.entry.js.map +1 -0
  310. package/dist/native/{p-2151f564.entry.js → p-fde56f9c.entry.js} +2 -2
  311. package/dist/types/components/nv-alert/nv-alert.d.ts +14 -0
  312. package/dist/types/components/nv-base/nv-base.docs.d.ts +1 -1
  313. package/dist/types/components/nv-button/nv-button.d.ts +16 -5
  314. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +48 -31
  315. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +3 -2
  316. package/dist/types/components/nv-dialog/nv-dialog.d.ts +1 -7
  317. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +19 -10
  318. package/dist/types/components/nv-table/nv-table.d.ts +51 -39
  319. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +4 -42
  320. package/dist/types/components.d.ts +136 -256
  321. package/dist/types/interfaces/ColumnConfig.d.ts +13 -0
  322. package/dist/types/interfaces/actionEvent.d.ts +13 -0
  323. package/dist/types/utils/dom.utils.d.ts +12 -0
  324. package/dist/types/utils/test/class.utils.test.d.ts +1 -0
  325. package/dist/types/utils/test/dom.utils.test.d.ts +1 -0
  326. package/hydrate/index.js +958 -667
  327. package/hydrate/index.mjs +958 -667
  328. package/package.json +15 -27
  329. package/dist/blazor-docs.json +0 -15543
  330. package/dist/cjs/constants-2ae3d9eb.js.map +0 -1
  331. package/dist/cjs/nv-datagridbody.cjs.entry.js +0 -24
  332. package/dist/cjs/nv-datagridbody.cjs.entry.js.map +0 -1
  333. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +0 -25
  334. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +0 -1
  335. package/dist/cjs/nv-datagridhead.cjs.entry.js +0 -24
  336. package/dist/cjs/nv-datagridhead.cjs.entry.js.map +0 -1
  337. package/dist/cjs/nv-datagridrow.cjs.entry.js +0 -24
  338. package/dist/cjs/nv-datagridrow.cjs.entry.js.map +0 -1
  339. package/dist/cjs/nv-tablebody.cjs.entry.js +0 -24
  340. package/dist/cjs/nv-tablebody.cjs.entry.js.map +0 -1
  341. package/dist/cjs/nv-tabledatacell.cjs.entry.js +0 -43
  342. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +0 -1
  343. package/dist/cjs/nv-tablehead.cjs.entry.js +0 -24
  344. package/dist/cjs/nv-tablehead.cjs.entry.js.map +0 -1
  345. package/dist/cjs/nv-tablerow.cjs.entry.js +0 -24
  346. package/dist/cjs/nv-tablerow.cjs.entry.js.map +0 -1
  347. package/dist/collection/components/nv-datagridbody/nv-datagridbody.css +0 -0
  348. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js +0 -8
  349. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js.map +0 -1
  350. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +0 -23
  351. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js.map +0 -1
  352. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.css +0 -0
  353. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.css +0 -0
  354. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js +0 -6
  355. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js.map +0 -1
  356. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +0 -50
  357. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +0 -1
  358. package/dist/collection/components/nv-datagridhead/nv-datagridhead.css +0 -0
  359. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js +0 -8
  360. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js.map +0 -1
  361. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +0 -23
  362. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js.map +0 -1
  363. package/dist/collection/components/nv-datagridrow/nv-datagridrow.css +0 -0
  364. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js +0 -8
  365. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js.map +0 -1
  366. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +0 -23
  367. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js.map +0 -1
  368. package/dist/collection/components/nv-tablebody/nv-tablebody.css +0 -0
  369. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js +0 -8
  370. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js.map +0 -1
  371. package/dist/collection/components/nv-tablebody/nv-tablebody.js +0 -23
  372. package/dist/collection/components/nv-tablebody/nv-tablebody.js.map +0 -1
  373. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.css +0 -0
  374. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.css +0 -0
  375. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js +0 -6
  376. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js.map +0 -1
  377. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +0 -116
  378. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +0 -1
  379. package/dist/collection/components/nv-tablehead/nv-tablehead.css +0 -0
  380. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js +0 -8
  381. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js.map +0 -1
  382. package/dist/collection/components/nv-tablehead/nv-tablehead.js +0 -23
  383. package/dist/collection/components/nv-tablehead/nv-tablehead.js.map +0 -1
  384. package/dist/collection/components/nv-tablerow/nv-tablerow.css +0 -0
  385. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js +0 -8
  386. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js.map +0 -1
  387. package/dist/collection/components/nv-tablerow/nv-tablerow.js +0 -23
  388. package/dist/collection/components/nv-tablerow/nv-tablerow.js.map +0 -1
  389. package/dist/components/nv-datagridbody.d.ts +0 -11
  390. package/dist/components/nv-datagridbody.js +0 -38
  391. package/dist/components/nv-datagridbody.js.map +0 -1
  392. package/dist/components/nv-datagriddatacell.d.ts +0 -11
  393. package/dist/components/nv-datagriddatacell.js +0 -41
  394. package/dist/components/nv-datagriddatacell.js.map +0 -1
  395. package/dist/components/nv-datagridhead.d.ts +0 -11
  396. package/dist/components/nv-datagridhead.js +0 -38
  397. package/dist/components/nv-datagridhead.js.map +0 -1
  398. package/dist/components/nv-datagridrow.d.ts +0 -11
  399. package/dist/components/nv-datagridrow.js +0 -38
  400. package/dist/components/nv-datagridrow.js.map +0 -1
  401. package/dist/components/nv-tablebody.d.ts +0 -11
  402. package/dist/components/nv-tablebody.js +0 -38
  403. package/dist/components/nv-tablebody.js.map +0 -1
  404. package/dist/components/nv-tabledatacell.d.ts +0 -11
  405. package/dist/components/nv-tabledatacell.js +0 -61
  406. package/dist/components/nv-tabledatacell.js.map +0 -1
  407. package/dist/components/nv-tablehead.d.ts +0 -11
  408. package/dist/components/nv-tablehead.js +0 -38
  409. package/dist/components/nv-tablehead.js.map +0 -1
  410. package/dist/components/nv-tablerow.d.ts +0 -11
  411. package/dist/components/nv-tablerow.js +0 -38
  412. package/dist/components/nv-tablerow.js.map +0 -1
  413. package/dist/components/p-17b6705f.js.map +0 -1
  414. package/dist/components/p-5f5e2bf2.js.map +0 -1
  415. package/dist/components/p-8d7a57d1.js.map +0 -1
  416. package/dist/components/p-fd65c51f.js.map +0 -1
  417. package/dist/esm/constants-8243d2ea.js.map +0 -1
  418. package/dist/esm/nv-datagridbody.entry.js +0 -20
  419. package/dist/esm/nv-datagridbody.entry.js.map +0 -1
  420. package/dist/esm/nv-datagriddatacell.entry.js +0 -21
  421. package/dist/esm/nv-datagriddatacell.entry.js.map +0 -1
  422. package/dist/esm/nv-datagridhead.entry.js +0 -20
  423. package/dist/esm/nv-datagridhead.entry.js.map +0 -1
  424. package/dist/esm/nv-datagridrow.entry.js +0 -20
  425. package/dist/esm/nv-datagridrow.entry.js.map +0 -1
  426. package/dist/esm/nv-tablebody.entry.js +0 -20
  427. package/dist/esm/nv-tablebody.entry.js.map +0 -1
  428. package/dist/esm/nv-tabledatacell.entry.js +0 -39
  429. package/dist/esm/nv-tabledatacell.entry.js.map +0 -1
  430. package/dist/esm/nv-tablehead.entry.js +0 -20
  431. package/dist/esm/nv-tablehead.entry.js.map +0 -1
  432. package/dist/esm/nv-tablerow.entry.js +0 -20
  433. package/dist/esm/nv-tablerow.entry.js.map +0 -1
  434. package/dist/native/p-1bae8cdd.entry.js +0 -13
  435. package/dist/native/p-1bae8cdd.entry.js.map +0 -1
  436. package/dist/native/p-1ca72f74.entry.js +0 -2
  437. package/dist/native/p-1ca72f74.entry.js.map +0 -1
  438. package/dist/native/p-3422397d.entry.js +0 -2
  439. package/dist/native/p-3422397d.entry.js.map +0 -1
  440. package/dist/native/p-3bfd5a30.entry.js +0 -2
  441. package/dist/native/p-4a7fa613.entry.js +0 -2
  442. package/dist/native/p-51e0c5d3.entry.js +0 -2
  443. package/dist/native/p-51e0c5d3.entry.js.map +0 -1
  444. package/dist/native/p-57513eb0.entry.js +0 -2
  445. package/dist/native/p-57513eb0.entry.js.map +0 -1
  446. package/dist/native/p-5851fbed.entry.js +0 -2
  447. package/dist/native/p-5851fbed.entry.js.map +0 -1
  448. package/dist/native/p-5f1a7e6e.entry.js +0 -2
  449. package/dist/native/p-7211a3cb.entry.js +0 -7
  450. package/dist/native/p-7211a3cb.entry.js.map +0 -1
  451. package/dist/native/p-79765c7d.entry.js +0 -2
  452. package/dist/native/p-79765c7d.entry.js.map +0 -1
  453. package/dist/native/p-8b323a15.entry.js +0 -2
  454. package/dist/native/p-8b323a15.entry.js.map +0 -1
  455. package/dist/native/p-9c8eadde.entry.js +0 -2
  456. package/dist/native/p-9c8eadde.entry.js.map +0 -1
  457. package/dist/native/p-bac62e20.entry.js.map +0 -1
  458. package/dist/native/p-beab7cbd.entry.js +0 -2
  459. package/dist/native/p-bfb6e22c.entry.js +0 -2
  460. package/dist/native/p-bfb6e22c.entry.js.map +0 -1
  461. package/dist/native/p-c29be15d.entry.js +0 -2
  462. package/dist/native/p-c29be15d.entry.js.map +0 -1
  463. package/dist/native/p-ef9b66d4.entry.js +0 -2
  464. package/dist/native/p-ef9b66d4.entry.js.map +0 -1
  465. package/dist/native/p-f867541d.entry.js +0 -2
  466. package/dist/native/p-f867541d.entry.js.map +0 -1
  467. package/dist/native/p-f954a077.entry.js +0 -2
  468. package/dist/native/p-f954a077.entry.js.map +0 -1
  469. package/dist/native/p-ff7eea0e.entry.js +0 -2
  470. package/dist/native/p-ff7eea0e.entry.js.map +0 -1
  471. package/dist/types/components/nv-datagridbody/nv-datagridbody.d.ts +0 -7
  472. package/dist/types/components/nv-datagridbody/nv-datagridbody.docs.d.ts +0 -4
  473. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.d.ts +0 -14
  474. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.docs.d.ts +0 -4
  475. package/dist/types/components/nv-datagridhead/nv-datagridhead.d.ts +0 -7
  476. package/dist/types/components/nv-datagridhead/nv-datagridhead.docs.d.ts +0 -4
  477. package/dist/types/components/nv-datagridrow/nv-datagridrow.d.ts +0 -7
  478. package/dist/types/components/nv-datagridrow/nv-datagridrow.docs.d.ts +0 -4
  479. package/dist/types/components/nv-tablebody/nv-tablebody.d.ts +0 -7
  480. package/dist/types/components/nv-tablebody/nv-tablebody.docs.d.ts +0 -4
  481. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.d.ts +0 -30
  482. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.docs.d.ts +0 -4
  483. package/dist/types/components/nv-tablehead/nv-tablehead.d.ts +0 -7
  484. package/dist/types/components/nv-tablehead/nv-tablehead.docs.d.ts +0 -4
  485. package/dist/types/components/nv-tablerow/nv-tablerow.d.ts +0 -7
  486. package/dist/types/components/nv-tablerow/nv-tablerow.docs.d.ts +0 -4
  487. package/dist/vscode-data.json +0 -4407
  488. /package/dist/native/{p-e1b22ca7.entry.js.map → p-0a2a9f8b.entry.js.map} +0 -0
  489. /package/dist/native/{p-46c9aa04.entry.js.map → p-12d08abc.entry.js.map} +0 -0
  490. /package/dist/native/{p-63c894f0.entry.js.map → p-15be3d96.entry.js.map} +0 -0
  491. /package/dist/native/{p-943a19a5.entry.js.map → p-184cd119.entry.js.map} +0 -0
  492. /package/dist/native/{p-2b99e720.entry.js.map → p-1a3d2a74.entry.js.map} +0 -0
  493. /package/dist/native/{p-3b2c7871.entry.js.map → p-359f0f53.entry.js.map} +0 -0
  494. /package/dist/native/{p-beab7cbd.entry.js.map → p-3be2c9a1.entry.js.map} +0 -0
  495. /package/dist/native/{p-fa33ec18.entry.js.map → p-491f4605.entry.js.map} +0 -0
  496. /package/dist/native/{p-39b4ec02.entry.js.map → p-554f7b44.entry.js.map} +0 -0
  497. /package/dist/native/{p-44e7e3e8.entry.js.map → p-69fb1c9d.entry.js.map} +0 -0
  498. /package/dist/native/{p-cba14168.entry.js.map → p-729c9d45.entry.js.map} +0 -0
  499. /package/dist/native/{p-6acbf729.entry.js.map → p-78f08578.entry.js.map} +0 -0
  500. /package/dist/native/{p-5f1a7e6e.entry.js.map → p-951baf95.entry.js.map} +0 -0
  501. /package/dist/native/{p-4eacd598.entry.js.map → p-cda56476.entry.js.map} +0 -0
  502. /package/dist/native/{p-dbb89408.entry.js.map → p-d1bf4d77.entry.js.map} +0 -0
  503. /package/dist/native/{p-b13b2663.entry.js.map → p-d7665a07.entry.js.map} +0 -0
  504. /package/dist/native/{p-833af1bf.entry.js.map → p-daeb7e22.entry.js.map} +0 -0
  505. /package/dist/native/{p-634b49fe.entry.js.map → p-e36e956b.entry.js.map} +0 -0
  506. /package/dist/native/{p-afc16010.entry.js.map → p-e9e77494.entry.js.map} +0 -0
  507. /package/dist/native/{p-0bf35abc.entry.js.map → p-edee1c1f.entry.js.map} +0 -0
  508. /package/dist/native/{p-4db7add6.entry.js.map → p-f1585fc2.entry.js.map} +0 -0
  509. /package/dist/native/{p-ac81e143.entry.js.map → p-f3579407.entry.js.map} +0 -0
  510. /package/dist/native/{p-2151f564.entry.js.map → p-fde56f9c.entry.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Host, h, } from "@stencil/core";
2
- import { ButtonSize } from "../../utils/constants";
2
+ import { ButtonSize, ButtonType } from "../../utils/constants";
3
3
  /**
4
4
  * @slot default - Content of the button.
5
5
  * @slot leading-icon - Icon before the label.
@@ -48,29 +48,51 @@ export class NvButton {
48
48
  /**
49
49
  * Sets the button type to control its function in forms. Use 'submit' to send
50
50
  * form data, 'reset' to clear the form, or 'button' for a standard button
51
- * that doesnt interact with form submission by default.
51
+ * that doesn't interact with form submission by default.
52
52
  */
53
53
  this.type = 'button';
54
54
  //#endregion PROPERTIES
55
55
  /****************************************************************************/
56
56
  //#region METHODS
57
57
  /**
58
- * Handles form-related actions when the button is clicked.
59
- * - Submits the form if the button type is 'submit'.
60
- * - Resets the form if the button type is 'reset'.
58
+ * Handles button click events, managing form actions and disabled states.
59
+ * Prevents default behavior when button is disabled or loading, and
60
+ * processes form submissions/resets when appropriate.
61
61
  * @param {Event} event - The click event.
62
62
  */
63
- this.handleClick = (event) => {
64
- var _a, _b, _c, _d;
63
+ this.handleButtonClick = (event) => {
65
64
  if (this.loading || this.disabled) {
66
65
  event.preventDefault();
67
66
  return;
68
67
  }
69
- if (this.type === 'submit') {
70
- (_b = (_a = this.internals) === null || _a === void 0 ? void 0 : _a.form) === null || _b === void 0 ? void 0 : _b.requestSubmit();
68
+ if (this.form && this.type !== ButtonType.Button) {
69
+ this.processFormAction();
71
70
  }
72
- if (this.type === 'reset') {
73
- (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
71
+ else if (this.form) {
72
+ console.warn('Button has a form id but is not of type submit or reset so no form action will be processed.', `Button:`, this.el);
73
+ }
74
+ };
75
+ /**
76
+ * Processes form-related actions by finding the associated form element
77
+ * and triggering the appropriate action (submit/reset) based on button type.
78
+ * Falls back to ElementInternals form if no explicit form ID is provided.
79
+ */
80
+ this.processFormAction = () => {
81
+ var _a, _b;
82
+ const formElement = this.form
83
+ ? document.getElementById(this.form)
84
+ : (_a = this.internals) === null || _a === void 0 ? void 0 : _a.form;
85
+ if (!formElement) {
86
+ console.warn('No form element found.', `Form ID: ${this.form || 'Not provided'}`, `Internals form:`, (_b = this.internals) === null || _b === void 0 ? void 0 : _b.form);
87
+ return;
88
+ }
89
+ switch (this.type) {
90
+ case ButtonType.Submit:
91
+ formElement.requestSubmit();
92
+ break;
93
+ case ButtonType.Reset:
94
+ formElement.reset();
95
+ break;
74
96
  }
75
97
  };
76
98
  }
@@ -116,7 +138,7 @@ export class NvButton {
116
138
  /****************************************************************************/
117
139
  //#region RENDER
118
140
  render() {
119
- return (h(Host, { key: '76ec47961a6e4443b3d6027345f94ada45d6c13f', role: "button", tabindex: "0", onClick: this.handleClick }, this.loading && (h("nv-loader", { key: '4d9f1ff4ccaf3060e65b68101a2e5672c79ad2b5', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: '7a4e08881daf71fb3fb8aaa65625b767252ffb72', name: "leading-icon" }), h("slot", { key: 'a8d577da8439889ba517fc305ac75a50d3c121f0' }), h("slot", { key: '0278d86b2479950e480cc8bbd0f67438591d606f', name: "trailing-icon" })));
141
+ return (h(Host, { key: 'bd4fa51791ea88aeffba33f5be108807d0d31dc3', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (h("nv-loader", { key: '4a48de90f85da844af2114737751619181ddbddd', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: 'c48a34e20a792ff7d139488a0dc5e373f7e67c23', name: "leading-icon" }), h("slot", { key: '5d151e40abf25f0089d4980e85eabfff944d3b99' }), h("slot", { key: 'e0029a972441daa1abfee3a3bca5c62abf284586', name: "trailing-icon" })));
120
142
  }
121
143
  static get is() { return "nv-button"; }
122
144
  static get formAssociated() { return true; }
@@ -302,13 +324,32 @@ export class NvButton {
302
324
  "optional": false,
303
325
  "docs": {
304
326
  "tags": [],
305
- "text": "Sets the button type to control its function in forms. Use 'submit' to send\nform data, 'reset' to clear the form, or 'button' for a standard button\nthat doesn\u2019t interact with form submission by default."
327
+ "text": "Sets the button type to control its function in forms. Use 'submit' to send\nform data, 'reset' to clear the form, or 'button' for a standard button\nthat doesn't interact with form submission by default."
306
328
  },
307
329
  "getter": false,
308
330
  "setter": false,
309
331
  "attribute": "type",
310
332
  "reflect": true,
311
333
  "defaultValue": "'button'"
334
+ },
335
+ "form": {
336
+ "type": "string",
337
+ "mutable": false,
338
+ "complexType": {
339
+ "original": "string",
340
+ "resolved": "string",
341
+ "references": {}
342
+ },
343
+ "required": false,
344
+ "optional": false,
345
+ "docs": {
346
+ "tags": [],
347
+ "text": "Sets the form associated with the button in case the (submit) button is not a child of a form.\nMatches the native HTML button 'form' attribute behavior."
348
+ },
349
+ "getter": false,
350
+ "setter": false,
351
+ "attribute": "form",
352
+ "reflect": true
312
353
  }
313
354
  };
314
355
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-button.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Listen,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'styles/nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button's emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Use this prop to highlight the button when it represents the current page\n * or active selection. This helps users understand their navigation context.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesnt interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n @Listen('touchstart', { passive: false })\n handleTouchStart(event: TouchEvent) {\n if (event.touches.length > 1) return;\n event.preventDefault();\n this.el.click();\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"button\" tabindex=\"0\" onClick={this.handleClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-button.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Listen,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'styles/nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button's emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Use this prop to highlight the button when it represents the current page\n * or active selection. This helps users understand their navigation context.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesn't interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n /**\n * Sets the form associated with the button in case the (submit) button is not a child of a form.\n * Matches the native HTML button 'form' attribute behavior.\n */\n @Prop({ reflect: true })\n readonly form: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles button click events, managing form actions and disabled states.\n * Prevents default behavior when button is disabled or loading, and\n * processes form submissions/resets when appropriate.\n * @param {Event} event - The click event.\n */\n private handleButtonClick = (event: Event): void => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.form && this.type !== ButtonType.Button) {\n this.processFormAction();\n } else if (this.form) {\n console.warn(\n 'Button has a form id but is not of type submit or reset so no form action will be processed.',\n `Button:`,\n this.el,\n );\n }\n };\n\n /**\n * Processes form-related actions by finding the associated form element\n * and triggering the appropriate action (submit/reset) based on button type.\n * Falls back to ElementInternals form if no explicit form ID is provided.\n */\n private processFormAction = (): void => {\n const formElement = this.form\n ? (document.getElementById(this.form) as HTMLFormElement)\n : this.internals?.form;\n\n if (!formElement) {\n console.warn(\n 'No form element found.',\n `Form ID: ${this.form || 'Not provided'}`,\n `Internals form:`,\n this.internals?.form,\n );\n return;\n }\n\n switch (this.type) {\n case ButtonType.Submit:\n formElement.requestSubmit();\n break;\n case ButtonType.Reset:\n formElement.reset();\n break;\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n @Listen('touchstart', { passive: false })\n handleTouchStart(event: TouchEvent) {\n if (event.touches.length > 1) return;\n event.preventDefault();\n this.el.click();\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"button\" tabindex=\"0\" onClick={this.handleButtonClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -931,7 +931,7 @@ export class NvCalendar {
931
931
  * @slot default - Child content of the component.
932
932
  */
933
933
  render() {
934
- return (h(Host, { key: 'fd0e3e0d88dd281cdfcc6557d822f137fe8da38e' }, h("div", { key: '04f15a9e7404b5c39dfdaa0f143b0c659a1a9cb3', class: "datepicker-root" }, h("div", { key: 'c42882624dfdb116faae2af1b3b6a1aa05192d18', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, h("div", { key: 'd0b1d476b3362e9f9073f02586a77e21b4370f32', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), (this.hasShortcuts || this.hasActions) && (h("div", { key: 'f61fb6827fcaee0920998e75f6bfb767d3cb4fc6', class: "datepicker-controls" }, this.hasShortcuts && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: '436d448bf9e5ec0aa153b3452ef9435d36957ce6' })));
934
+ return (h(Host, { key: '0d9b8c85ed51f8a82b8d2159b064e480cec49df6' }, h("div", { key: '558f698edfe33c50af19ac7466279185bbf5b87a', class: "datepicker-root" }, h("div", { key: '9cc0b7ad17f438afb292c729af826a00501a44c5', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, h("div", { key: '14d17b4e73525537060dea627ebfe6c3e84387ab', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), (this.hasShortcuts || this.hasActions) && (h("div", { key: '7fe8a36601d434da834bc934bafa11c3fdbd40f8', class: "datepicker-controls" }, this.hasShortcuts && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: 'bebf0f034ee70b5abfd99b692a60ca3b4cbe09a0' })));
935
935
  }
936
936
  static get is() { return "nv-calendar"; }
937
937
  static get originalStyleUrls() {
@@ -22,7 +22,7 @@ export class NvCol {
22
22
  /****************************************************************************/
23
23
  //#region RENDER
24
24
  render() {
25
- return (h(Host, { key: 'f9a8dd28d7675648ecb3b9cf4d1e196040f4237f', class: clsx(this.getColSize()) }, h("slot", { key: '94c16b6e2df73cb21263423d378ab5fe285a7859' })));
25
+ return (h(Host, { key: '416e432e3f8947b2b2040e8226da1acf03a6f965', class: clsx(this.getColSize()) }, h("slot", { key: 'e860ae915f148333f471a48705677512853c6970' })));
26
26
  }
27
27
  static get is() { return "nv-col"; }
28
28
  static get originalStyleUrls() {
@@ -1,5 +1,35 @@
1
+ nv-datagrid {
2
+ display: block;
3
+ }
4
+ nv-datagrid .hidden {
5
+ display: none;
6
+ }
1
7
  nv-datagrid table {
2
8
  border-collapse: collapse;
3
9
  border-color: inherit;
4
10
  text-indent: 0;
11
+ width: 100%;
12
+ }
13
+ nv-datagrid th {
14
+ text-align: left;
15
+ border-bottom: 1px solid var(--components-datagrid-border-header);
16
+ height: var(--spacing-12);
17
+ padding: var(--spacing-3) var(--spacing-4);
18
+ font-size: var(--font-size-md);
19
+ font-weight: 700;
20
+ color: var(--components-datagrid-content-header);
21
+ }
22
+ nv-datagrid td {
23
+ border-bottom: 1px solid var(--components-datagrid-border-body);
24
+ height: var(--spacing-12);
25
+ max-height: var(--spacing-14);
26
+ padding: var(--spacing-2) var(--spacing-4);
27
+ font-size: var(--font-size-md);
28
+ font-weight: 400;
29
+ color: var(--components-datagrid-content-text);
30
+ white-space: nowrap;
31
+ text-overflow: ellipsis;
32
+ }
33
+ nv-datagrid tbody > tr:hover {
34
+ background: var(--color-interaction-container-neutral-background-hover);
5
35
  }
@@ -1,39 +1,24 @@
1
1
  import { h } from "@stencil/core";
2
+ import { nameof } from "../../utils/class.utils";
2
3
  const NvDatagridDocs = {
3
4
  component: 'nv-datagrid',
4
5
  badge: 'beta',
5
- subcomponents: [
6
- 'nv-datagridhead',
7
- 'nv-datagridbody',
8
- 'nv-datagridrow',
9
- 'nv-datagridcolumn',
10
- 'nv-datagriddatacell',
11
- 'nv-icon',
12
- 'nv-iconbutton',
13
- ],
14
- composedComponents: [
15
- 'nv-datagridhead',
16
- 'nv-datagridbody',
17
- 'nv-datagridrow',
18
- 'nv-datagridcolumn',
19
- 'nv-datagriddatacell',
20
- 'nv-icon',
21
- 'nv-iconbutton',
22
- ],
6
+ subcomponents: ['nv-datagridcolumn', 'nv-iconbutton', 'nv-badge'],
7
+ composedComponents: ['nv-datagridcolumn'],
23
8
  stories: [
24
9
  {
25
10
  name: 'Default',
26
11
  template: h("nv-datagrid", { "data-storybook-args": true }),
27
12
  },
28
13
  {
29
- name: 'No Columns No Data Message',
14
+ name: nameof(x => x.noColumnsNoDataMessage),
30
15
  args: {
31
16
  noColumnsNoDataMessage: 'Nothing to display.',
32
17
  },
33
18
  template: h("nv-datagrid", { "data-storybook-args": true }),
34
19
  },
35
20
  {
36
- name: 'No Data Message',
21
+ name: nameof(x => x.noDataMessage),
37
22
  args: {
38
23
  noDataMessage: 'No element available to display.',
39
24
  columnsJson: `[
@@ -45,7 +30,7 @@ const NvDatagridDocs = {
45
30
  template: h("nv-datagrid", { "data-storybook-args": true }),
46
31
  },
47
32
  {
48
- name: 'Columns Array And Empty Data',
33
+ name: nameof(x => x.columns),
49
34
  args: {
50
35
  columns: [
51
36
  { header: 'Name', accessor: 'name' },
@@ -56,7 +41,7 @@ const NvDatagridDocs = {
56
41
  template: h("nv-datagrid", { "data-storybook-args": true }),
57
42
  },
58
43
  {
59
- name: 'Columns JSON And Empty Data',
44
+ name: nameof(x => x.columnsJson),
60
45
  args: {
61
46
  columnsJson: `[
62
47
  {"header":"Name","accessor":"name"},
@@ -67,13 +52,8 @@ const NvDatagridDocs = {
67
52
  template: h("nv-datagrid", { "data-storybook-args": true }),
68
53
  },
69
54
  {
70
- name: 'Data Array And Empty Columns',
55
+ name: nameof(x => x.data),
71
56
  args: {
72
- columns: [
73
- { header: 'Product', accessor: 'product' },
74
- { header: 'Price', accessor: 'price' },
75
- { header: 'Quantity', accessor: 'quantity' },
76
- ],
77
57
  data: [
78
58
  { name: 'Alice', age: '25', email: 'alice@mail.com' },
79
59
  { name: 'Bob', age: '30', email: 'bob@mail.com' },
@@ -82,7 +62,7 @@ const NvDatagridDocs = {
82
62
  template: h("nv-datagrid", { "data-storybook-args": true }),
83
63
  },
84
64
  {
85
- name: 'Data JSON And Empty Columns',
65
+ name: nameof(x => x.dataJson),
86
66
  args: {
87
67
  dataJson: `[
88
68
  { "name": "Alice", "age": "25", "email": "alice@mail.com" },
@@ -92,7 +72,7 @@ const NvDatagridDocs = {
92
72
  template: h("nv-datagrid", { "data-storybook-args": true }),
93
73
  },
94
74
  {
95
- name: 'Columns Array And Data Array',
75
+ name: 'ColumnsArrayAndDataArray',
96
76
  args: {
97
77
  columns: [
98
78
  { header: 'Name', accessor: 'name' },
@@ -107,7 +87,7 @@ const NvDatagridDocs = {
107
87
  template: h("nv-datagrid", { "data-storybook-args": true }),
108
88
  },
109
89
  {
110
- name: 'Columns JSON And Data JSON',
90
+ name: 'ColumnsJSONAndDataJSON',
111
91
  args: {
112
92
  columnsJson: `[
113
93
  {"header":"Name","accessor":"name"},
@@ -122,61 +102,29 @@ const NvDatagridDocs = {
122
102
  template: h("nv-datagrid", { "data-storybook-args": true }),
123
103
  },
124
104
  {
125
- name: 'Columns Decomposed And Empty Data',
126
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridhead", { slot: "head" }, h("nv-datagridrow", null, h("nv-datagridcolumn", { header: "Name", accessor: "name" }), h("nv-datagridcolumn", { header: "Age", accessor: "age" }), h("nv-datagridcolumn", { header: "Email", accessor: "email" }))))),
127
- },
128
- {
129
- name: 'Columns Decomposed And Data Array',
130
- args: {
131
- data: [
132
- { name: 'Alice', age: '25', email: 'alice@mail.com' },
133
- { name: 'Bob', age: '30', email: 'bob@mail.com' },
134
- ],
135
- },
136
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridhead", { slot: "head" }, h("nv-datagridrow", null, h("nv-datagridcolumn", { header: "Name", accessor: "name" }), h("nv-datagridcolumn", { header: "Age", accessor: "age" }), h("nv-datagridcolumn", { header: "Email", accessor: "email" }))))),
137
- },
138
- {
139
- name: 'Columns Decomposed And Data JSON',
105
+ name: 'WithDataAndTemplate',
140
106
  args: {
141
107
  dataJson: `[
142
- { "name": "Alice", "age": "25", "email": "alice@mail.com" },
143
- { "name": "Bob", "age": "30", "email": "bob@mail.com" }
108
+ {"id":1,"name":"John Doe","age":25,"email":"john.doe@mail.com"},
109
+ {"id":2,"name":"Jane Doe","age":30,"email":"jane.doe@mail.com"}
144
110
  ]`,
145
111
  },
146
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridhead", { slot: "head" }, h("nv-datagridrow", null, h("nv-datagridcolumn", { header: "Name", accessor: "name" }), h("nv-datagridcolumn", { header: "Age", accessor: "age" }), h("nv-datagridcolumn", { header: "Email", accessor: "email" }))))),
147
- },
148
- {
149
- name: 'Data Decomposed And Empty Columns',
150
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridbody", { slot: "body" }, h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Alice"), h("nv-datagriddatacell", { accessor: "age" }, "25"), h("nv-datagriddatacell", { accessor: "email" }, "alice@mail.com")), h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Bob"), h("nv-datagriddatacell", { accessor: "age" }, "30"), h("nv-datagriddatacell", { accessor: "email" }, "bob@mail.com"))))),
151
- },
152
- {
153
- name: 'Data Decomposed And Columns Array',
154
- args: {
155
- columns: [
156
- { header: 'Name', accessor: 'name' },
157
- { header: 'Age', accessor: 'age' },
158
- { header: 'Email', accessor: 'email' },
159
- ],
160
- },
161
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridbody", { slot: "body" }, h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Alice"), h("nv-datagriddatacell", { accessor: "age" }, "25"), h("nv-datagriddatacell", { accessor: "email" }, "alice@mail.com")), h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Bob"), h("nv-datagriddatacell", { accessor: "age" }, "30"), h("nv-datagriddatacell", { accessor: "email" }, "bob@mail.com"))))),
112
+ template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridcolumn", { accessor: "name", header: "Name" }, h("div", { slot: "header" }, h("strong", null, "Name")), h("div", { slot: "cell" }, h("strong", null, "__name__"))), h("nv-datagridcolumn", { accessor: "age", header: "Age" }, h("div", { slot: "header" }, h("em", null, "Age")), h("div", { slot: "cell" }, h("span", null, "__age__ years old"))), h("nv-datagridcolumn", { accessor: "email", header: "Mail Address" }, h("div", { slot: "cell" }, h("a", { href: "mailto:__email__" }, "__email__"))), h("nv-datagridcolumn", { accessor: "actions" }, h("div", { slot: "header" }), h("div", { slot: "cell" }, h("nv-iconbutton", { size: "xs", name: "pencil", "data-bind-event": "click:edit:id" }), h("nv-iconbutton", { size: "xs", name: "trash", "data-bind-event": "click:delete:id" }), h("nv-iconbutton", { size: "xs", name: "mail", "data-bind-event": "click:sendEmail:id,email" }))))),
162
113
  },
163
114
  {
164
- name: 'Data Decomposed And Columns JSON',
115
+ name: 'WithDataAndTemplateComplexData',
165
116
  args: {
166
- columnsJson: `[
167
- {"header":"Name","accessor":"name"},
168
- {"header":"Age","accessor":"age"},
169
- {"header":"Email","accessor":"email"}
117
+ dataJson: `[
118
+ {"id":1,"name":"John Doe","age":25,"email":"john.doe@mail.com", "address": {"city": "New York", "country": "USA"}, "status": {"label": "success", "color": "1", "icon": "check"}},
119
+ {"id":2,"name":"Jane Doe","age":30,"email":"jane.doe@mail.com", "address": {"city": "Los Angeles", "country": "USA"}, "status": {"label": "warning", "color": "2", "icon": "alert-circle"}},
120
+ {"id":3,"name":"John Smith","age":35,"email":"john.smith@mail.com", "address": {"city": "London", "country": "UK"}, "status": {"label": "error", "color": "3", "icon": "loader"}},
121
+ {"id":4,"name":"Jane Smith","age":40,"email":"jane.smith@mail.com", "address": {"city": "Paris", "country": "France"}, "status": {"label": "info", "color": "5", "icon": "info-circle"}}
170
122
  ]`,
171
123
  },
172
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridbody", { slot: "body" }, h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Alice"), h("nv-datagriddatacell", { accessor: "age" }, "25"), h("nv-datagriddatacell", { accessor: "email" }, "alice@mail.com")), h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Bob"), h("nv-datagriddatacell", { accessor: "age" }, "30"), h("nv-datagriddatacell", { accessor: "email" }, "bob@mail.com"))))),
173
- },
174
- {
175
- name: 'Columns Decomposed And Data Decomposed',
176
- template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridhead", { slot: "head" }, h("nv-datagridrow", null, h("nv-datagridcolumn", { header: "Name", accessor: "name" }), h("nv-datagridcolumn", { header: "Age", accessor: "age" }), h("nv-datagridcolumn", { header: "Email", accessor: "email" }))), h("nv-datagridbody", { slot: "body" }, h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Alice"), h("nv-datagriddatacell", { accessor: "age" }, "25"), h("nv-datagriddatacell", { accessor: "email" }, h("nv-icon", { name: "mail" }), h("a", { href: "mailto:alice@mail.com", class: "text-amber-500" }, "alice@mail.com"))), h("nv-datagridrow", null, h("nv-datagriddatacell", { accessor: "name" }, "Bob"), h("nv-datagriddatacell", { accessor: "age" }, "30"), h("nv-datagriddatacell", { accessor: "email" }, h("nv-iconbutton", { name: "mail" }, "bob@mail.com")))))),
124
+ template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridcolumn", { accessor: "name", header: "Name" }, h("div", { slot: "header" }, h("strong", null, "Name")), h("div", { slot: "cell" }, h("strong", null, "__name__"))), h("nv-datagridcolumn", { accessor: "age", header: "Age" }, h("div", { slot: "header" }, h("em", null, "Age")), h("div", { slot: "cell" }, h("span", null, "__age__ years old"))), h("nv-datagridcolumn", { accessor: "email", header: "Mail Address" }, h("div", { slot: "cell" }, h("a", { href: "mailto:__email__" }, "__email__"))), h("nv-datagridcolumn", { accessor: "address", header: "Address" }, h("div", { slot: "cell" }, h("span", null, "__address.city__, __address.country__"))), h("nv-datagridcolumn", { accessor: "status", header: "Status" }, h("div", { slot: "header" }, h("span", { class: "text-md font-bold text-low" }, "Status")), h("div", { slot: "cell" }, h("nv-badge", { color: "__status.color__", "lead-icon": "__status.icon__" }, "__status.label__"))), h("nv-datagridcolumn", { accessor: "actions" }, h("div", { slot: "header" }), h("div", { slot: "cell" }, h("nv-iconbutton", { size: "xs", name: "pencil", "data-bind-event": "click:edit:id" }), h("nv-iconbutton", { size: "xs", name: "trash", "data-bind-event": "click:delete:id" }), h("nv-iconbutton", { size: "xs", name: "mail", "data-bind-event": "click:sendEmail:id,email" }))))),
177
125
  },
178
126
  {
179
- name: 'Slot Before',
127
+ name: 'SlotBefore',
180
128
  args: {
181
129
  columnsJson: `[
182
130
  {"header":"Name","accessor":"name"},
@@ -191,7 +139,7 @@ const NvDatagridDocs = {
191
139
  template: (h("nv-datagrid", { "data-storybook-args": true }, h("div", { slot: "before" }, "Before"))),
192
140
  },
193
141
  {
194
- name: 'Slot After',
142
+ name: 'SlotAfter',
195
143
  args: {
196
144
  columnsJson: `[
197
145
  {"header":"Name","accessor":"name"},
@@ -206,7 +154,7 @@ const NvDatagridDocs = {
206
154
  template: (h("nv-datagrid", { "data-storybook-args": true }, h("div", { slot: "after" }, "After"))),
207
155
  },
208
156
  {
209
- name: 'Slot Before And After',
157
+ name: 'SlotBeforeAndAfter',
210
158
  args: {
211
159
  columnsJson: `[
212
160
  {"header":"Name","accessor":"name"},
@@ -1 +1 @@
1
- {"version":3,"file":"nv-datagrid.docs.js","sourceRoot":"","sources":["../../../src/components/nv-datagrid/nv-datagrid.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvDatagridDocs: NovaDocs<Components.NvDatagrid> = {\n component: 'nv-datagrid',\n badge: 'beta',\n subcomponents: [\n 'nv-datagridhead',\n 'nv-datagridbody',\n 'nv-datagridrow',\n 'nv-datagridcolumn',\n 'nv-datagriddatacell',\n 'nv-icon',\n 'nv-iconbutton',\n ],\n composedComponents: [\n 'nv-datagridhead',\n 'nv-datagridbody',\n 'nv-datagridrow',\n 'nv-datagridcolumn',\n 'nv-datagriddatacell',\n 'nv-icon',\n 'nv-iconbutton',\n ],\n stories: [\n {\n name: 'Default',\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'No Columns No Data Message',\n args: {\n noColumnsNoDataMessage: 'Nothing to display.',\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'No Data Message',\n args: {\n noDataMessage: 'No element available to display.',\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Columns Array And Empty Data',\n args: {\n columns: [\n { header: 'Name', accessor: 'name' },\n { header: 'Age', accessor: 'age' },\n { header: 'Email', accessor: 'email' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Columns JSON And Empty Data',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Data Array And Empty Columns',\n args: {\n columns: [\n { header: 'Product', accessor: 'product' },\n { header: 'Price', accessor: 'price' },\n { header: 'Quantity', accessor: 'quantity' },\n ],\n data: [\n { name: 'Alice', age: '25', email: 'alice@mail.com' },\n { name: 'Bob', age: '30', email: 'bob@mail.com' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Data JSON And Empty Columns',\n args: {\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Columns Array And Data Array',\n args: {\n columns: [\n { header: 'Name', accessor: 'name' },\n { header: 'Age', accessor: 'age' },\n { header: 'Email', accessor: 'email' },\n ],\n data: [\n { name: 'Alice', age: '25', email: 'alice@mail.com' },\n { name: 'Bob', age: '30', email: 'bob@mail.com' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Columns JSON And Data JSON',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'Columns Decomposed And Empty Data',\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridhead slot=\"head\">\n <nv-datagridrow>\n <nv-datagridcolumn\n header=\"Name\"\n accessor=\"name\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Age\"\n accessor=\"age\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Email\"\n accessor=\"email\"\n ></nv-datagridcolumn>\n </nv-datagridrow>\n </nv-datagridhead>\n </nv-datagrid>\n ),\n },\n {\n name: 'Columns Decomposed And Data Array',\n args: {\n data: [\n { name: 'Alice', age: '25', email: 'alice@mail.com' },\n { name: 'Bob', age: '30', email: 'bob@mail.com' },\n ],\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridhead slot=\"head\">\n <nv-datagridrow>\n <nv-datagridcolumn\n header=\"Name\"\n accessor=\"name\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Age\"\n accessor=\"age\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Email\"\n accessor=\"email\"\n ></nv-datagridcolumn>\n </nv-datagridrow>\n </nv-datagridhead>\n </nv-datagrid>\n ),\n },\n {\n name: 'Columns Decomposed And Data JSON',\n args: {\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridhead slot=\"head\">\n <nv-datagridrow>\n <nv-datagridcolumn\n header=\"Name\"\n accessor=\"name\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Age\"\n accessor=\"age\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Email\"\n accessor=\"email\"\n ></nv-datagridcolumn>\n </nv-datagridrow>\n </nv-datagridhead>\n </nv-datagrid>\n ),\n },\n {\n name: 'Data Decomposed And Empty Columns',\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridbody slot=\"body\">\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Alice</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">25</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n alice@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Bob</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">30</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n bob@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n </nv-datagridbody>\n </nv-datagrid>\n ),\n },\n {\n name: 'Data Decomposed And Columns Array',\n args: {\n columns: [\n { header: 'Name', accessor: 'name' },\n { header: 'Age', accessor: 'age' },\n { header: 'Email', accessor: 'email' },\n ],\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridbody slot=\"body\">\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Alice</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">25</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n alice@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Bob</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">30</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n bob@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n </nv-datagridbody>\n </nv-datagrid>\n ),\n },\n {\n name: 'Data Decomposed And Columns JSON',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridbody slot=\"body\">\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Alice</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">25</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n alice@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Bob</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">30</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n bob@mail.com\n </nv-datagriddatacell>\n </nv-datagridrow>\n </nv-datagridbody>\n </nv-datagrid>\n ),\n },\n {\n name: 'Columns Decomposed And Data Decomposed',\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridhead slot=\"head\">\n <nv-datagridrow>\n <nv-datagridcolumn\n header=\"Name\"\n accessor=\"name\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Age\"\n accessor=\"age\"\n ></nv-datagridcolumn>\n <nv-datagridcolumn\n header=\"Email\"\n accessor=\"email\"\n ></nv-datagridcolumn>\n </nv-datagridrow>\n </nv-datagridhead>\n <nv-datagridbody slot=\"body\">\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Alice</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">25</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n <nv-icon name=\"mail\"></nv-icon>\n <a href=\"mailto:alice@mail.com\" class=\"text-amber-500\">\n alice@mail.com\n </a>\n </nv-datagriddatacell>\n </nv-datagridrow>\n <nv-datagridrow>\n <nv-datagriddatacell accessor=\"name\">Bob</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"age\">30</nv-datagriddatacell>\n <nv-datagriddatacell accessor=\"email\">\n <nv-iconbutton name=\"mail\">bob@mail.com</nv-iconbutton>\n </nv-datagriddatacell>\n </nv-datagridrow>\n </nv-datagridbody>\n </nv-datagrid>\n ),\n },\n {\n name: 'Slot Before',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"before\">Before</div>\n </nv-datagrid>\n ),\n },\n {\n name: 'Slot After',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"after\">After</div>\n </nv-datagrid>\n ),\n },\n {\n name: 'Slot Before And After',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"before\">Before</div>\n <div slot=\"after\">After</div>\n </nv-datagrid>\n ),\n },\n ],\n};\n\nexport default NvDatagridDocs;\n"]}
1
+ {"version":3,"file":"nv-datagrid.docs.js","sourceRoot":"","sources":["../../../src/components/nv-datagrid/nv-datagrid.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvDatagridDocs: NovaDocs<Components.NvDatagrid> = {\n component: 'nv-datagrid',\n badge: 'beta',\n subcomponents: ['nv-datagridcolumn', 'nv-iconbutton', 'nv-badge'],\n composedComponents: ['nv-datagridcolumn'],\n stories: [\n {\n name: 'Default',\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.noColumnsNoDataMessage),\n args: {\n noColumnsNoDataMessage: 'Nothing to display.',\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.noDataMessage),\n args: {\n noDataMessage: 'No element available to display.',\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.columns),\n args: {\n columns: [\n { header: 'Name', accessor: 'name' },\n { header: 'Age', accessor: 'age' },\n { header: 'Email', accessor: 'email' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.columnsJson),\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.data),\n args: {\n data: [\n { name: 'Alice', age: '25', email: 'alice@mail.com' },\n { name: 'Bob', age: '30', email: 'bob@mail.com' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: nameof<Components.NvDatagrid>(x => x.dataJson),\n args: {\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'ColumnsArrayAndDataArray',\n args: {\n columns: [\n { header: 'Name', accessor: 'name' },\n { header: 'Age', accessor: 'age' },\n { header: 'Email', accessor: 'email' },\n ],\n data: [\n { name: 'Alice', age: '25', email: 'alice@mail.com' },\n { name: 'Bob', age: '30', email: 'bob@mail.com' },\n ],\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'ColumnsJSONAndDataJSON',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: <nv-datagrid data-storybook-args></nv-datagrid>,\n },\n {\n name: 'WithDataAndTemplate',\n args: {\n dataJson: `[\n {\"id\":1,\"name\":\"John Doe\",\"age\":25,\"email\":\"john.doe@mail.com\"},\n {\"id\":2,\"name\":\"Jane Doe\",\"age\":30,\"email\":\"jane.doe@mail.com\"}\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridcolumn accessor=\"name\" header=\"Name\">\n <div slot=\"header\">\n <strong>Name</strong>\n </div>\n <div slot=\"cell\">\n <strong>__name__</strong>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"age\" header=\"Age\">\n <div slot=\"header\">\n <em>Age</em>\n </div>\n <div slot=\"cell\">\n <span>__age__ years old</span>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"email\" header=\"Mail Address\">\n <div slot=\"cell\">\n <a href=\"mailto:__email__\">__email__</a>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"actions\">\n <div slot=\"header\"></div>\n <div slot=\"cell\">\n <nv-iconbutton\n size=\"xs\"\n name=\"pencil\"\n data-bind-event=\"click:edit:id\"\n ></nv-iconbutton>\n <nv-iconbutton\n size=\"xs\"\n name=\"trash\"\n data-bind-event=\"click:delete:id\"\n ></nv-iconbutton>\n <nv-iconbutton\n size=\"xs\"\n name=\"mail\"\n data-bind-event=\"click:sendEmail:id,email\"\n ></nv-iconbutton>\n </div>\n </nv-datagridcolumn>\n </nv-datagrid>\n ),\n },\n {\n name: 'WithDataAndTemplateComplexData',\n args: {\n dataJson: `[\n {\"id\":1,\"name\":\"John Doe\",\"age\":25,\"email\":\"john.doe@mail.com\", \"address\": {\"city\": \"New York\", \"country\": \"USA\"}, \"status\": {\"label\": \"success\", \"color\": \"1\", \"icon\": \"check\"}},\n {\"id\":2,\"name\":\"Jane Doe\",\"age\":30,\"email\":\"jane.doe@mail.com\", \"address\": {\"city\": \"Los Angeles\", \"country\": \"USA\"}, \"status\": {\"label\": \"warning\", \"color\": \"2\", \"icon\": \"alert-circle\"}},\n {\"id\":3,\"name\":\"John Smith\",\"age\":35,\"email\":\"john.smith@mail.com\", \"address\": {\"city\": \"London\", \"country\": \"UK\"}, \"status\": {\"label\": \"error\", \"color\": \"3\", \"icon\": \"loader\"}},\n {\"id\":4,\"name\":\"Jane Smith\",\"age\":40,\"email\":\"jane.smith@mail.com\", \"address\": {\"city\": \"Paris\", \"country\": \"France\"}, \"status\": {\"label\": \"info\", \"color\": \"5\", \"icon\": \"info-circle\"}}\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <nv-datagridcolumn accessor=\"name\" header=\"Name\">\n <div slot=\"header\">\n <strong>Name</strong>\n </div>\n <div slot=\"cell\">\n <strong>__name__</strong>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"age\" header=\"Age\">\n <div slot=\"header\">\n <em>Age</em>\n </div>\n <div slot=\"cell\">\n <span>__age__ years old</span>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"email\" header=\"Mail Address\">\n <div slot=\"cell\">\n <a href=\"mailto:__email__\">__email__</a>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"address\" header=\"Address\">\n <div slot=\"cell\">\n <span>__address.city__, __address.country__</span>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"status\" header=\"Status\">\n <div slot=\"header\">\n <span class=\"text-md font-bold text-low\">Status</span>\n </div>\n <div slot=\"cell\">\n <nv-badge color=\"__status.color__\" lead-icon=\"__status.icon__\">\n __status.label__\n </nv-badge>\n </div>\n </nv-datagridcolumn>\n\n <nv-datagridcolumn accessor=\"actions\">\n <div slot=\"header\"></div>\n <div slot=\"cell\">\n <nv-iconbutton\n size=\"xs\"\n name=\"pencil\"\n data-bind-event=\"click:edit:id\"\n ></nv-iconbutton>\n <nv-iconbutton\n size=\"xs\"\n name=\"trash\"\n data-bind-event=\"click:delete:id\"\n ></nv-iconbutton>\n <nv-iconbutton\n size=\"xs\"\n name=\"mail\"\n data-bind-event=\"click:sendEmail:id,email\"\n ></nv-iconbutton>\n </div>\n </nv-datagridcolumn>\n </nv-datagrid>\n ),\n },\n {\n name: 'SlotBefore',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"before\">Before</div>\n </nv-datagrid>\n ),\n },\n {\n name: 'SlotAfter',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"after\">After</div>\n </nv-datagrid>\n ),\n },\n {\n name: 'SlotBeforeAndAfter',\n args: {\n columnsJson: `[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n ]`,\n dataJson: `[\n { \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },\n { \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }\n ]`,\n },\n template: (\n <nv-datagrid data-storybook-args>\n <div slot=\"before\">Before</div>\n <div slot=\"after\">After</div>\n </nv-datagrid>\n ),\n },\n ],\n};\n\nexport default NvDatagridDocs;\n"]}