@nova-design-system/nova-webcomponents 3.0.0-beta.27 → 3.0.0-beta.29

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 (533) hide show
  1. package/LICENSE.MD +61 -108
  2. package/dist/blazor-docs.json +2102 -485
  3. package/dist/cjs/{app-globals-d8cbb987.js → app-globals-69764290.js} +2 -2
  4. package/dist/cjs/{app-globals-d8cbb987.js.map → app-globals-69764290.js.map} +1 -1
  5. package/dist/cjs/{index-c50face0.js → index-72b8a9ad.js} +886 -479
  6. package/dist/cjs/index-72b8a9ad.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +3 -3
  8. package/dist/cjs/native.cjs.js +4 -4
  9. package/dist/cjs/native.cjs.js.map +1 -1
  10. package/dist/cjs/nv-alert.cjs.entry.js +22 -9
  11. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/nv-avatar.cjs.entry.js +8 -11
  13. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-badge.cjs.entry.js +40 -14
  15. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  17. package/dist/cjs/nv-button.cjs.entry.js +40 -8
  18. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-col.cjs.entry.js +1 -2
  20. package/dist/cjs/nv-col.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-datagrid.cjs.entry.js +3252 -0
  22. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -0
  23. package/dist/cjs/nv-datagridbody.cjs.entry.js +24 -0
  24. package/dist/cjs/nv-datagridbody.cjs.entry.js.map +1 -0
  25. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +25 -0
  26. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -0
  27. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +25 -0
  28. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -0
  29. package/dist/cjs/nv-datagridhead.cjs.entry.js +24 -0
  30. package/dist/cjs/nv-datagridhead.cjs.entry.js.map +1 -0
  31. package/dist/cjs/nv-datagridrow.cjs.entry.js +24 -0
  32. package/dist/cjs/nv-datagridrow.cjs.entry.js.map +1 -0
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +44 -13
  34. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddropdown.cjs.entry.js +61 -22
  36. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +12 -6
  38. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldnumber.cjs.entry.js +47 -21
  40. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldpassword.cjs.entry.js +65 -24
  42. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldradio.cjs.entry.js +29 -11
  44. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldselect.cjs.entry.js +64 -23
  46. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-fieldtext.cjs.entry.js +55 -25
  48. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +61 -23
  50. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +27 -10
  52. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-icon.cjs.entry.js +5 -10
  54. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-iconbutton.cjs.entry.js +43 -10
  56. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-loader.cjs.entry.js +9 -3
  58. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nv-menu.cjs.entry.js +21 -2
  60. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nv-menuitem.cjs.entry.js +8 -4
  62. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nv-popover.cjs.entry.js +49 -13
  64. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-row.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nv-stack.cjs.entry.js +8 -6
  68. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-table.cjs.entry.js +155 -0
  70. package/dist/cjs/nv-table.cjs.entry.js.map +1 -0
  71. package/dist/cjs/nv-tablebody.cjs.entry.js +24 -0
  72. package/dist/cjs/nv-tablebody.cjs.entry.js.map +1 -0
  73. package/dist/cjs/nv-tablecolumn.cjs.entry.js +41 -0
  74. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -0
  75. package/dist/cjs/nv-tabledatacell.cjs.entry.js +43 -0
  76. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -0
  77. package/dist/cjs/nv-tablehead.cjs.entry.js +24 -0
  78. package/dist/cjs/nv-tablehead.cjs.entry.js.map +1 -0
  79. package/dist/cjs/nv-tablerow.cjs.entry.js +24 -0
  80. package/dist/cjs/nv-tablerow.cjs.entry.js.map +1 -0
  81. package/dist/cjs/nv-tooltip.cjs.entry.js +12 -3
  82. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/collection/collection-manifest.json +13 -1
  84. package/dist/collection/components/nv-alert/nv-alert.js +37 -8
  85. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  86. package/dist/collection/components/nv-avatar/nv-avatar.js +31 -10
  87. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -1
  88. package/dist/collection/components/nv-badge/nv-badge.css +70 -0
  89. package/dist/collection/components/nv-badge/nv-badge.docs.js +1 -1
  90. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
  91. package/dist/collection/components/nv-badge/nv-badge.js +57 -13
  92. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  93. package/dist/collection/components/nv-button/nv-button.js +53 -7
  94. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  95. package/dist/collection/components/nv-col/nv-col.js +2 -3
  96. package/dist/collection/components/nv-col/nv-col.js.map +1 -1
  97. package/dist/collection/components/nv-datagrid/nv-datagrid.css +5 -0
  98. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +225 -0
  99. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -0
  100. package/dist/collection/components/nv-datagrid/nv-datagrid.js +479 -0
  101. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -0
  102. package/dist/collection/components/nv-datagridbody/nv-datagridbody.css +0 -0
  103. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js +8 -0
  104. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js.map +1 -0
  105. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +23 -0
  106. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js.map +1 -0
  107. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.css +0 -0
  108. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +6 -0
  109. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +1 -0
  110. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +66 -0
  111. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -0
  112. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.css +0 -0
  113. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js +6 -0
  114. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js.map +1 -0
  115. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +50 -0
  116. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -0
  117. package/dist/collection/components/nv-datagridhead/nv-datagridhead.css +0 -0
  118. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js +8 -0
  119. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js.map +1 -0
  120. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +23 -0
  121. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js.map +1 -0
  122. package/dist/collection/components/nv-datagridrow/nv-datagridrow.css +0 -0
  123. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js +8 -0
  124. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js.map +1 -0
  125. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +23 -0
  126. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js.map +1 -0
  127. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +77 -12
  128. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  129. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +90 -21
  130. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  131. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +1 -1
  132. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +19 -5
  133. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  134. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +80 -20
  135. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  136. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +102 -23
  137. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  138. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +52 -10
  139. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  140. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +93 -22
  141. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +96 -24
  143. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +101 -25
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  146. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +46 -9
  147. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  148. package/dist/collection/components/nv-icon/nv-icon.js +20 -9
  149. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  150. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +58 -9
  151. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  152. package/dist/collection/components/nv-loader/nv-loader.js +12 -2
  153. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  154. package/dist/collection/components/nv-menu/nv-menu.js +28 -1
  155. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  156. package/dist/collection/components/nv-menuitem/nv-menuitem.js +15 -3
  157. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  158. package/dist/collection/components/nv-popover/nv-popover.js +71 -13
  159. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  160. package/dist/collection/components/nv-row/nv-row.js +1 -1
  161. package/dist/collection/components/nv-row/nv-row.js.map +1 -1
  162. package/dist/collection/components/nv-stack/nv-stack.js +17 -5
  163. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  164. package/dist/collection/components/nv-table/nv-table.css +5 -0
  165. package/dist/collection/components/nv-table/nv-table.docs.js +178 -0
  166. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -0
  167. package/dist/collection/components/nv-table/nv-table.js +320 -0
  168. package/dist/collection/components/nv-table/nv-table.js.map +1 -0
  169. package/dist/collection/components/nv-tablebody/nv-tablebody.css +0 -0
  170. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js +8 -0
  171. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js.map +1 -0
  172. package/dist/collection/components/nv-tablebody/nv-tablebody.js +23 -0
  173. package/dist/collection/components/nv-tablebody/nv-tablebody.js.map +1 -0
  174. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.css +0 -0
  175. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +6 -0
  176. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +1 -0
  177. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +152 -0
  178. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -0
  179. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.css +0 -0
  180. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js +6 -0
  181. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js.map +1 -0
  182. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +116 -0
  183. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -0
  184. package/dist/collection/components/nv-tablehead/nv-tablehead.css +0 -0
  185. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js +8 -0
  186. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js.map +1 -0
  187. package/dist/collection/components/nv-tablehead/nv-tablehead.js +23 -0
  188. package/dist/collection/components/nv-tablehead/nv-tablehead.js.map +1 -0
  189. package/dist/collection/components/nv-tablerow/nv-tablerow.css +0 -0
  190. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js +8 -0
  191. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js.map +1 -0
  192. package/dist/collection/components/nv-tablerow/nv-tablerow.js +23 -0
  193. package/dist/collection/components/nv-tablerow/nv-tablerow.js.map +1 -0
  194. package/dist/collection/components/nv-tooltip/nv-tooltip.js +17 -2
  195. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  196. package/dist/collection/dev/dev-components.js +1 -1
  197. package/dist/collection/dev/dev-components.js.map +1 -1
  198. package/dist/collection/interfaces/Column.js +2 -0
  199. package/dist/collection/interfaces/Column.js.map +1 -0
  200. package/dist/components/index.js +3 -3
  201. package/dist/components/nv-alert.js +23 -10
  202. package/dist/components/nv-alert.js.map +1 -1
  203. package/dist/components/nv-avatar.js +9 -12
  204. package/dist/components/nv-avatar.js.map +1 -1
  205. package/dist/components/nv-badge.js +41 -15
  206. package/dist/components/nv-badge.js.map +1 -1
  207. package/dist/components/nv-base.js +1 -1
  208. package/dist/components/nv-button.js +41 -9
  209. package/dist/components/nv-button.js.map +1 -1
  210. package/dist/components/nv-col.js +1 -2
  211. package/dist/components/nv-col.js.map +1 -1
  212. package/dist/components/nv-datagrid.d.ts +11 -0
  213. package/dist/components/nv-datagrid.js +3285 -0
  214. package/dist/components/nv-datagrid.js.map +1 -0
  215. package/dist/components/nv-datagridbody.d.ts +11 -0
  216. package/dist/components/nv-datagridbody.js +38 -0
  217. package/dist/components/nv-datagridbody.js.map +1 -0
  218. package/dist/components/nv-datagridcolumn.d.ts +11 -0
  219. package/dist/components/nv-datagridcolumn.js +42 -0
  220. package/dist/components/nv-datagridcolumn.js.map +1 -0
  221. package/dist/components/nv-datagriddatacell.d.ts +11 -0
  222. package/dist/components/nv-datagriddatacell.js +41 -0
  223. package/dist/components/nv-datagriddatacell.js.map +1 -0
  224. package/dist/components/nv-datagridhead.d.ts +11 -0
  225. package/dist/components/nv-datagridhead.js +38 -0
  226. package/dist/components/nv-datagridhead.js.map +1 -0
  227. package/dist/components/nv-datagridrow.d.ts +11 -0
  228. package/dist/components/nv-datagridrow.js +38 -0
  229. package/dist/components/nv-datagridrow.js.map +1 -0
  230. package/dist/components/nv-fieldcheckbox.js +44 -13
  231. package/dist/components/nv-fieldcheckbox.js.map +1 -1
  232. package/dist/components/nv-fielddropdown.js +66 -27
  233. package/dist/components/nv-fielddropdown.js.map +1 -1
  234. package/dist/components/nv-fielddropdownitem.js +1 -1
  235. package/dist/components/nv-fieldnumber.js +48 -22
  236. package/dist/components/nv-fieldnumber.js.map +1 -1
  237. package/dist/components/nv-fieldpassword.js +68 -27
  238. package/dist/components/nv-fieldpassword.js.map +1 -1
  239. package/dist/components/nv-fieldradio.js +29 -11
  240. package/dist/components/nv-fieldradio.js.map +1 -1
  241. package/dist/components/nv-fieldselect.js +65 -24
  242. package/dist/components/nv-fieldselect.js.map +1 -1
  243. package/dist/components/nv-fieldtext.js +56 -26
  244. package/dist/components/nv-fieldtext.js.map +1 -1
  245. package/dist/components/nv-fieldtextarea.js +62 -24
  246. package/dist/components/nv-fieldtextarea.js.map +1 -1
  247. package/dist/components/nv-fieldtoggle.js +27 -10
  248. package/dist/components/nv-fieldtoggle.js.map +1 -1
  249. package/dist/components/nv-icon.js +1 -1
  250. package/dist/components/nv-iconbutton.js +1 -1
  251. package/dist/components/nv-loader.js +1 -1
  252. package/dist/components/nv-menu.js +22 -3
  253. package/dist/components/nv-menu.js.map +1 -1
  254. package/dist/components/nv-menuitem.js +9 -5
  255. package/dist/components/nv-menuitem.js.map +1 -1
  256. package/dist/components/nv-popover.js +1 -1
  257. package/dist/components/nv-row.js +2 -2
  258. package/dist/components/nv-row.js.map +1 -1
  259. package/dist/components/nv-stack.js +8 -6
  260. package/dist/components/nv-stack.js.map +1 -1
  261. package/dist/components/nv-table.d.ts +11 -0
  262. package/dist/components/nv-table.js +185 -0
  263. package/dist/components/nv-table.js.map +1 -0
  264. package/dist/components/nv-tablebody.d.ts +11 -0
  265. package/dist/components/nv-tablebody.js +38 -0
  266. package/dist/components/nv-tablebody.js.map +1 -0
  267. package/dist/components/nv-tablecolumn.d.ts +11 -0
  268. package/dist/components/nv-tablecolumn.js +61 -0
  269. package/dist/components/nv-tablecolumn.js.map +1 -0
  270. package/dist/components/nv-tabledatacell.d.ts +11 -0
  271. package/dist/components/nv-tabledatacell.js +61 -0
  272. package/dist/components/nv-tabledatacell.js.map +1 -0
  273. package/dist/components/nv-tablehead.d.ts +11 -0
  274. package/dist/components/nv-tablehead.js +38 -0
  275. package/dist/components/nv-tablehead.js.map +1 -0
  276. package/dist/components/nv-tablerow.d.ts +11 -0
  277. package/dist/components/nv-tablerow.js +38 -0
  278. package/dist/components/nv-tablerow.js.map +1 -0
  279. package/dist/components/nv-tooltip.js +13 -4
  280. package/dist/components/nv-tooltip.js.map +1 -1
  281. package/dist/components/{p-d506ae63.js → p-0caa4741.js} +836 -491
  282. package/dist/components/p-0caa4741.js.map +1 -0
  283. package/dist/components/{p-9be1ebd4.js → p-39e93e5b.js} +6 -11
  284. package/dist/components/p-39e93e5b.js.map +1 -0
  285. package/dist/components/{p-69cc7819.js → p-3ef4ded9.js} +10 -4
  286. package/dist/components/p-3ef4ded9.js.map +1 -0
  287. package/dist/components/{p-ff97f99e.js → p-54ea8e62.js} +51 -15
  288. package/dist/components/p-54ea8e62.js.map +1 -0
  289. package/dist/components/{p-76eb28db.js → p-6c1b9782.js} +14 -8
  290. package/dist/components/p-6c1b9782.js.map +1 -0
  291. package/dist/components/{p-ae6a0d80.js → p-c08a278d.js} +207 -172
  292. package/dist/components/p-c08a278d.js.map +1 -0
  293. package/dist/components/{p-9647924f.js → p-f0d5586a.js} +46 -13
  294. package/dist/components/p-f0d5586a.js.map +1 -0
  295. package/dist/docs.d.ts +8 -0
  296. package/dist/docs.json +2068 -518
  297. package/dist/esm/{app-globals-eea8674a.js → app-globals-c5484a00.js} +2 -2
  298. package/dist/esm/{app-globals-eea8674a.js.map → app-globals-c5484a00.js.map} +1 -1
  299. package/dist/esm/{index-e7b35c14.js → index-b6f70e4a.js} +886 -479
  300. package/dist/esm/index-b6f70e4a.js.map +1 -0
  301. package/dist/esm/loader.js +4 -4
  302. package/dist/esm/native.js +5 -5
  303. package/dist/esm/native.js.map +1 -1
  304. package/dist/esm/nv-alert.entry.js +22 -9
  305. package/dist/esm/nv-alert.entry.js.map +1 -1
  306. package/dist/esm/nv-avatar.entry.js +8 -11
  307. package/dist/esm/nv-avatar.entry.js.map +1 -1
  308. package/dist/esm/nv-badge.entry.js +40 -14
  309. package/dist/esm/nv-badge.entry.js.map +1 -1
  310. package/dist/esm/nv-base.entry.js +1 -1
  311. package/dist/esm/nv-button.entry.js +40 -8
  312. package/dist/esm/nv-button.entry.js.map +1 -1
  313. package/dist/esm/nv-col.entry.js +1 -2
  314. package/dist/esm/nv-col.entry.js.map +1 -1
  315. package/dist/esm/nv-datagrid.entry.js +3248 -0
  316. package/dist/esm/nv-datagrid.entry.js.map +1 -0
  317. package/dist/esm/nv-datagridbody.entry.js +20 -0
  318. package/dist/esm/nv-datagridbody.entry.js.map +1 -0
  319. package/dist/esm/nv-datagridcolumn.entry.js +21 -0
  320. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -0
  321. package/dist/esm/nv-datagriddatacell.entry.js +21 -0
  322. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -0
  323. package/dist/esm/nv-datagridhead.entry.js +20 -0
  324. package/dist/esm/nv-datagridhead.entry.js.map +1 -0
  325. package/dist/esm/nv-datagridrow.entry.js +20 -0
  326. package/dist/esm/nv-datagridrow.entry.js.map +1 -0
  327. package/dist/esm/nv-fieldcheckbox.entry.js +44 -13
  328. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  329. package/dist/esm/nv-fielddropdown.entry.js +61 -22
  330. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  331. package/dist/esm/nv-fielddropdownitem.entry.js +12 -6
  332. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  333. package/dist/esm/nv-fieldnumber.entry.js +47 -21
  334. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  335. package/dist/esm/nv-fieldpassword.entry.js +65 -24
  336. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  337. package/dist/esm/nv-fieldradio.entry.js +29 -11
  338. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  339. package/dist/esm/nv-fieldselect.entry.js +64 -23
  340. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  341. package/dist/esm/nv-fieldtext.entry.js +55 -25
  342. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  343. package/dist/esm/nv-fieldtextarea.entry.js +61 -23
  344. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  345. package/dist/esm/nv-fieldtoggle.entry.js +27 -10
  346. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  347. package/dist/esm/nv-icon.entry.js +5 -10
  348. package/dist/esm/nv-icon.entry.js.map +1 -1
  349. package/dist/esm/nv-iconbutton.entry.js +43 -10
  350. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  351. package/dist/esm/nv-loader.entry.js +9 -3
  352. package/dist/esm/nv-loader.entry.js.map +1 -1
  353. package/dist/esm/nv-menu.entry.js +21 -2
  354. package/dist/esm/nv-menu.entry.js.map +1 -1
  355. package/dist/esm/nv-menuitem.entry.js +8 -4
  356. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  357. package/dist/esm/nv-popover.entry.js +49 -13
  358. package/dist/esm/nv-popover.entry.js.map +1 -1
  359. package/dist/esm/nv-row.entry.js +2 -2
  360. package/dist/esm/nv-row.entry.js.map +1 -1
  361. package/dist/esm/nv-stack.entry.js +8 -6
  362. package/dist/esm/nv-stack.entry.js.map +1 -1
  363. package/dist/esm/nv-table.entry.js +151 -0
  364. package/dist/esm/nv-table.entry.js.map +1 -0
  365. package/dist/esm/nv-tablebody.entry.js +20 -0
  366. package/dist/esm/nv-tablebody.entry.js.map +1 -0
  367. package/dist/esm/nv-tablecolumn.entry.js +37 -0
  368. package/dist/esm/nv-tablecolumn.entry.js.map +1 -0
  369. package/dist/esm/nv-tabledatacell.entry.js +39 -0
  370. package/dist/esm/nv-tabledatacell.entry.js.map +1 -0
  371. package/dist/esm/nv-tablehead.entry.js +20 -0
  372. package/dist/esm/nv-tablehead.entry.js.map +1 -0
  373. package/dist/esm/nv-tablerow.entry.js +20 -0
  374. package/dist/esm/nv-tablerow.entry.js.map +1 -0
  375. package/dist/esm/nv-tooltip.entry.js +12 -3
  376. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  377. package/dist/native/native.css +1 -1
  378. package/dist/native/native.esm.js +1 -1
  379. package/dist/native/native.esm.js.map +1 -1
  380. package/dist/native/{p-20ea1b61.entry.js → p-01262eaf.entry.js} +2 -2
  381. package/dist/native/p-01262eaf.entry.js.map +1 -0
  382. package/dist/native/p-0bf2007c.entry.js +2 -0
  383. package/dist/native/p-0bf2007c.entry.js.map +1 -0
  384. package/dist/native/{p-69ca8c88.entry.js → p-11faaf31.entry.js} +2 -2
  385. package/dist/native/p-11faaf31.entry.js.map +1 -0
  386. package/dist/native/p-17dba26d.entry.js +2 -0
  387. package/dist/native/p-17dba26d.entry.js.map +1 -0
  388. package/dist/native/{p-bb243eaf.entry.js → p-25e410c1.entry.js} +2 -2
  389. package/dist/native/p-25e410c1.entry.js.map +1 -0
  390. package/dist/native/{p-5172aa15.entry.js → p-2a6ca749.entry.js} +2 -2
  391. package/dist/native/p-2a6ca749.entry.js.map +1 -0
  392. package/dist/native/p-327fa1a0.entry.js +2 -0
  393. package/dist/native/p-327fa1a0.entry.js.map +1 -0
  394. package/dist/native/p-3bc5875e.entry.js +2 -0
  395. package/dist/native/p-3bc5875e.entry.js.map +1 -0
  396. package/dist/native/p-47c78fe4.entry.js +2 -0
  397. package/dist/native/p-47c78fe4.entry.js.map +1 -0
  398. package/dist/native/{p-d4e0b6e1.entry.js → p-4a64f5b0.entry.js} +2 -2
  399. package/dist/native/p-4a64f5b0.entry.js.map +1 -0
  400. package/dist/native/{p-4a43953f.entry.js → p-50c31094.entry.js} +2 -2
  401. package/dist/native/p-50c31094.entry.js.map +1 -0
  402. package/dist/native/{p-a59ec107.entry.js → p-605f8b3d.entry.js} +2 -2
  403. package/dist/native/p-605f8b3d.entry.js.map +1 -0
  404. package/dist/native/p-64ae9a21.entry.js +2 -0
  405. package/dist/native/p-64ae9a21.entry.js.map +1 -0
  406. package/dist/native/{p-c16a4fbe.entry.js → p-6e8bcd5b.entry.js} +2 -2
  407. package/dist/native/p-6e8bcd5b.entry.js.map +1 -0
  408. package/dist/native/{p-89468485.entry.js → p-6eb50254.entry.js} +2 -2
  409. package/dist/native/p-6eb50254.entry.js.map +1 -0
  410. package/dist/native/p-6ef216c4.js +3 -0
  411. package/dist/native/p-6ef216c4.js.map +1 -0
  412. package/dist/native/{p-1aaee302.entry.js → p-7701e4cc.entry.js} +2 -2
  413. package/dist/native/p-7701e4cc.entry.js.map +1 -0
  414. package/dist/native/p-86947929.entry.js +2 -0
  415. package/dist/native/p-86947929.entry.js.map +1 -0
  416. package/dist/native/p-8bfdda07.entry.js +2 -0
  417. package/dist/native/p-8bfdda07.entry.js.map +1 -0
  418. package/dist/native/p-8f95f4fa.entry.js +2 -0
  419. package/dist/native/p-8f95f4fa.entry.js.map +1 -0
  420. package/dist/native/{p-23b20b80.entry.js → p-919cf3ec.entry.js} +2 -2
  421. package/dist/native/p-919cf3ec.entry.js.map +1 -0
  422. package/dist/native/p-93eea6e1.entry.js +2 -0
  423. package/dist/native/p-93eea6e1.entry.js.map +1 -0
  424. package/dist/native/p-95714583.js +2 -0
  425. package/dist/native/p-9f89229b.entry.js +2 -0
  426. package/dist/native/{p-2fca31c0.entry.js.map → p-9f89229b.entry.js.map} +1 -1
  427. package/dist/native/{p-8de6396f.entry.js → p-a64baca2.entry.js} +2 -2
  428. package/dist/native/p-a64baca2.entry.js.map +1 -0
  429. package/dist/native/{p-a016e4b6.entry.js → p-a89f5542.entry.js} +2 -2
  430. package/dist/native/p-a89f5542.entry.js.map +1 -0
  431. package/dist/native/p-b3ec71c9.entry.js +2 -0
  432. package/dist/native/p-b3ec71c9.entry.js.map +1 -0
  433. package/dist/native/p-bbe9a373.entry.js +2 -0
  434. package/dist/native/p-bbe9a373.entry.js.map +1 -0
  435. package/dist/native/p-c2dfee1a.entry.js +2 -0
  436. package/dist/native/{p-4b550f95.entry.js.map → p-c2dfee1a.entry.js.map} +1 -1
  437. package/dist/native/{p-71fbdb92.entry.js → p-c5e3e234.entry.js} +2 -2
  438. package/dist/native/p-c5e3e234.entry.js.map +1 -0
  439. package/dist/native/{p-4fae1b2c.entry.js → p-c5e7ecc8.entry.js} +2 -2
  440. package/dist/native/p-c5e7ecc8.entry.js.map +1 -0
  441. package/dist/native/p-c85d031d.entry.js +13 -0
  442. package/dist/native/p-c85d031d.entry.js.map +1 -0
  443. package/dist/native/{p-396b65bb.entry.js → p-cd75ee63.entry.js} +2 -2
  444. package/dist/native/p-cd75ee63.entry.js.map +1 -0
  445. package/dist/native/{p-aeaa326f.entry.js → p-d4277c50.entry.js} +2 -2
  446. package/dist/native/p-d4277c50.entry.js.map +1 -0
  447. package/dist/native/{p-25e1bc94.entry.js → p-df6c9137.entry.js} +2 -2
  448. package/dist/native/p-df6c9137.entry.js.map +1 -0
  449. package/dist/native/{p-330c929d.entry.js → p-e71fc762.entry.js} +2 -2
  450. package/dist/native/p-ef7f605a.entry.js +2 -0
  451. package/dist/native/p-ef7f605a.entry.js.map +1 -0
  452. package/dist/native/p-f2e31579.entry.js +2 -0
  453. package/dist/native/p-f2e31579.entry.js.map +1 -0
  454. package/dist/native/{p-000749ae.entry.js → p-fa8a8b21.entry.js} +2 -2
  455. package/dist/native/p-fa8a8b21.entry.js.map +1 -0
  456. package/dist/types/components/nv-badge/nv-badge.d.ts +1 -1
  457. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +87 -0
  458. package/dist/types/components/nv-datagrid/nv-datagrid.docs.d.ts +4 -0
  459. package/dist/types/components/nv-datagridbody/nv-datagridbody.d.ts +7 -0
  460. package/dist/types/components/nv-datagridbody/nv-datagridbody.docs.d.ts +4 -0
  461. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +16 -0
  462. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.docs.d.ts +4 -0
  463. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.d.ts +14 -0
  464. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.docs.d.ts +4 -0
  465. package/dist/types/components/nv-datagridhead/nv-datagridhead.d.ts +7 -0
  466. package/dist/types/components/nv-datagridhead/nv-datagridhead.docs.d.ts +4 -0
  467. package/dist/types/components/nv-datagridrow/nv-datagridrow.d.ts +7 -0
  468. package/dist/types/components/nv-datagridrow/nv-datagridrow.docs.d.ts +4 -0
  469. package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +12 -0
  470. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +2 -2
  471. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +4 -4
  472. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +3 -0
  473. package/dist/types/components/nv-table/nv-table.d.ts +72 -0
  474. package/dist/types/components/nv-table/nv-table.docs.d.ts +4 -0
  475. package/dist/types/components/nv-tablebody/nv-tablebody.d.ts +7 -0
  476. package/dist/types/components/nv-tablebody/nv-tablebody.docs.d.ts +4 -0
  477. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +51 -0
  478. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +4 -0
  479. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.d.ts +30 -0
  480. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.docs.d.ts +4 -0
  481. package/dist/types/components/nv-tablehead/nv-tablehead.d.ts +7 -0
  482. package/dist/types/components/nv-tablehead/nv-tablehead.docs.d.ts +4 -0
  483. package/dist/types/components/nv-tablerow/nv-tablerow.d.ts +7 -0
  484. package/dist/types/components/nv-tablerow/nv-tablerow.docs.d.ts +4 -0
  485. package/dist/types/components.d.ts +410 -10
  486. package/dist/types/interfaces/Column.d.ts +13 -0
  487. package/dist/types/nova-docs.d.ts +18 -0
  488. package/dist/vscode-data.json +3659 -0
  489. package/hydrate/index.js +5731 -1255
  490. package/hydrate/index.mjs +5731 -1255
  491. package/package.json +7 -2
  492. package/readme.md +5 -1
  493. package/dist/cjs/index-c50face0.js.map +0 -1
  494. package/dist/components/p-69cc7819.js.map +0 -1
  495. package/dist/components/p-76eb28db.js.map +0 -1
  496. package/dist/components/p-9647924f.js.map +0 -1
  497. package/dist/components/p-9be1ebd4.js.map +0 -1
  498. package/dist/components/p-ae6a0d80.js.map +0 -1
  499. package/dist/components/p-d506ae63.js.map +0 -1
  500. package/dist/components/p-ff97f99e.js.map +0 -1
  501. package/dist/esm/index-e7b35c14.js.map +0 -1
  502. package/dist/native/p-000749ae.entry.js.map +0 -1
  503. package/dist/native/p-0d335326.entry.js +0 -2
  504. package/dist/native/p-0d335326.entry.js.map +0 -1
  505. package/dist/native/p-1aaee302.entry.js.map +0 -1
  506. package/dist/native/p-20ea1b61.entry.js.map +0 -1
  507. package/dist/native/p-23b20b80.entry.js.map +0 -1
  508. package/dist/native/p-25e1bc94.entry.js.map +0 -1
  509. package/dist/native/p-2fca31c0.entry.js +0 -2
  510. package/dist/native/p-396b65bb.entry.js.map +0 -1
  511. package/dist/native/p-4a43953f.entry.js.map +0 -1
  512. package/dist/native/p-4b550f95.entry.js +0 -2
  513. package/dist/native/p-4fae1b2c.entry.js.map +0 -1
  514. package/dist/native/p-5172aa15.entry.js.map +0 -1
  515. package/dist/native/p-69ca8c88.entry.js.map +0 -1
  516. package/dist/native/p-71fbdb92.entry.js.map +0 -1
  517. package/dist/native/p-89468485.entry.js.map +0 -1
  518. package/dist/native/p-8de6396f.entry.js.map +0 -1
  519. package/dist/native/p-a016e4b6.entry.js.map +0 -1
  520. package/dist/native/p-a59ec107.entry.js.map +0 -1
  521. package/dist/native/p-aeaa326f.entry.js.map +0 -1
  522. package/dist/native/p-b4aea326.js +0 -3
  523. package/dist/native/p-b4aea326.js.map +0 -1
  524. package/dist/native/p-bb243eaf.entry.js.map +0 -1
  525. package/dist/native/p-c16a4fbe.entry.js.map +0 -1
  526. package/dist/native/p-d4e0b6e1.entry.js.map +0 -1
  527. package/dist/native/p-d5c24d8f.entry.js +0 -2
  528. package/dist/native/p-d5c24d8f.entry.js.map +0 -1
  529. package/dist/native/p-ed893068.entry.js +0 -2
  530. package/dist/native/p-ed893068.entry.js.map +0 -1
  531. package/dist/native/p-eeb6a3dc.js +0 -2
  532. /package/dist/native/{p-eeb6a3dc.js.map → p-95714583.js.map} +0 -0
  533. /package/dist/native/{p-330c929d.entry.js.map → p-e71fc762.entry.js.map} +0 -0
@@ -0,0 +1,479 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { h, Host } from "@stencil/core";
3
+ import { createTable, getCoreRowModel, createColumnHelper, } from "@tanstack/table-core";
4
+ /**
5
+ * A flexible data grid component powered by `@tanstack/table-core`.
6
+ * @slot default - Use this slot to insert HTML into the data grid content.
7
+ * @slot head - Use this slot to insert HTML into the data grid header.
8
+ * @slot before - Use this slot to insert HTML before the data grid.
9
+ * @slot after - Use this slot to insert HTML after the data grid.
10
+ * @slot body - Use this slot to insert HTML into the data grid body.
11
+ */
12
+ export class NvDatagrid {
13
+ constructor() {
14
+ /****************************************************************************/
15
+ //#region STATES
16
+ this.table = null;
17
+ this.parsedColumns = []; // Parsed array
18
+ this.parsedData = []; // Parsed array
19
+ this.hasSlotHead = false;
20
+ this.hasSlotBody = false;
21
+ //#endregion STATES
22
+ /****************************************************************************/
23
+ //#region PROPERTIES
24
+ /**
25
+ * The columns to display in the data grid.
26
+ * @example
27
+ * [
28
+ * {"header":"Name","accessor":"name"},
29
+ * {"header":"Age","accessor":"age"},
30
+ * {"header":"Email","accessor":"email"}
31
+ * ]
32
+ * @default []
33
+ */
34
+ this.columns = [];
35
+ /**
36
+ * The data to display in the data grid.
37
+ * @example [{ "name": "Alice", "age": 25 }, { "name": "Bob", "age": 30 }]
38
+ * @default []
39
+ */
40
+ this.data = [];
41
+ /**
42
+ * The message to display when there is no data available.
43
+ * @default 'No data available'
44
+ */
45
+ this.noDataMessage = 'No data available';
46
+ /**
47
+ * The message to display when there are no columns or data available.
48
+ * @default 'No data or columns available to display.'
49
+ */
50
+ this.noColumnsNoDataMessage = 'No data or columns available to display.';
51
+ }
52
+ //#endregion PROPERTIES
53
+ /****************************************************************************/
54
+ //#region WATCHERS
55
+ parseColumns(newValue, oldValue) {
56
+ this.parseColumnsArray(newValue, oldValue);
57
+ }
58
+ parseJsonColumns(newValue) {
59
+ try {
60
+ const newItems = newValue ? JSON.parse(newValue) : [];
61
+ this.parseColumnsArray(newItems, this.parsedColumns);
62
+ }
63
+ catch (e) {
64
+ console.error('Invalid JSON format for columnsJson:', e.message);
65
+ this.parsedColumns = [];
66
+ }
67
+ }
68
+ parseData(newValue, oldValue) {
69
+ this.parseDataArray(newValue, oldValue);
70
+ }
71
+ parseJsonData(newValue) {
72
+ try {
73
+ const newItems = newValue ? JSON.parse(newValue) : [];
74
+ this.parseDataArray(newItems, this.parsedData);
75
+ }
76
+ catch (e) {
77
+ console.error('Invalid JSON format for dataJson:', e.message);
78
+ this.parsedData = [];
79
+ }
80
+ }
81
+ handleParsedChange() {
82
+ this.initializeTable();
83
+ }
84
+ //#endregion WATCHERS
85
+ /****************************************************************************/
86
+ //#region METHODS
87
+ initializeTable() {
88
+ // Clear the previous table instance (if any)
89
+ this.table = null;
90
+ // Set default options for the table
91
+ const tableOptions = {
92
+ columns: [],
93
+ data: [],
94
+ getCoreRowModel: getCoreRowModel(),
95
+ debugAll: true,
96
+ onStateChange: state => console.log('Table state changed:', state),
97
+ renderFallbackValue: 'No rows to display',
98
+ state: {
99
+ sorting: [], // Default: no active sorting
100
+ columnVisibility: {}, // Default: all columns visible
101
+ columnFilters: [], // Default: no column filters
102
+ columnPinning: {}, // Default: no column pinning
103
+ columnSizing: {}, // Default: no column sizing
104
+ columnOrder: [], // Default: as defined in the `columns`
105
+ pagination: null, // Default: no pagination
106
+ grouping: [], // Default: no active grouping
107
+ expanded: {}, // Default: no expanded rows
108
+ rowPinning: {}, // Default: no row pinning
109
+ rowSelection: {}, // Default: no row selection
110
+ globalFilter: null, // Default: no global filter
111
+ columnSizingInfo: {
112
+ columnSizingStart: null,
113
+ deltaOffset: null,
114
+ deltaPercentage: null,
115
+ isResizingColumn: false,
116
+ startOffset: null,
117
+ startSize: null,
118
+ }, // Default: no column sizing info
119
+ },
120
+ };
121
+ // Validate and generate column definitions
122
+ const validColumns = this.parsedColumns.filter(column => (column === null || column === void 0 ? void 0 : column.accessor) && (column === null || column === void 0 ? void 0 : column.header));
123
+ // Helper function to generate column definitions
124
+ const generateColumns = () => {
125
+ const columnHelper = createColumnHelper();
126
+ if (validColumns.length > 0) {
127
+ // Use defined columns
128
+ return validColumns.map(column => columnHelper.accessor(column.accessor, {
129
+ header: column.header,
130
+ cell: info => info.getValue(),
131
+ }));
132
+ }
133
+ else if (tableOptions.data && tableOptions.data.length > 0) {
134
+ // Generate columns from data keys
135
+ const sampleRow = tableOptions.data[0];
136
+ return Object.keys(sampleRow).map(key => columnHelper.accessor(key, {
137
+ header: key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header
138
+ cell: info => info.getValue(),
139
+ }));
140
+ }
141
+ else {
142
+ // No columns and no data
143
+ return [];
144
+ }
145
+ };
146
+ const setTableData = () => {
147
+ if (this.parsedData &&
148
+ Array.isArray(this.parsedData) &&
149
+ this.parsedData.length > 0) {
150
+ return [...this.parsedData];
151
+ }
152
+ else {
153
+ return [];
154
+ }
155
+ };
156
+ // Update tableOptions based on parsed data and columns
157
+ const hasColumns = validColumns && Array.isArray(validColumns) && validColumns.length > 0;
158
+ const hasData = (this.parsedData &&
159
+ Array.isArray(this.parsedData) &&
160
+ this.parsedData.length > 0) ||
161
+ this.hasSlotBody;
162
+ if (!hasColumns && !hasData) {
163
+ // No columns and no data
164
+ }
165
+ else if (hasColumns && !hasData) {
166
+ tableOptions.columns = generateColumns();
167
+ }
168
+ else {
169
+ // Both columns and data are available
170
+ // No columns and data is available
171
+ tableOptions.data = setTableData();
172
+ tableOptions.columns = generateColumns();
173
+ }
174
+ // Initialize the table
175
+ this.table = createTable(tableOptions);
176
+ }
177
+ /**
178
+ * Parses the columns array.
179
+ * @param {Column[]} newValue - The new value of the columns array.
180
+ * @param {Column[]} oldValue - The old value of the columns array.
181
+ */
182
+ parseColumnsArray(newValue, oldValue) {
183
+ if (JSON.stringify(newValue) === JSON.stringify(oldValue))
184
+ return; // Deep comparison
185
+ this.parsedColumns = Array.isArray(newValue) ? newValue : [];
186
+ }
187
+ /**
188
+ * Parses the data array.
189
+ * @param {any[]} newValue - The new value of the data array.
190
+ * @param {any[]} oldValue - The old value of the data array.
191
+ */
192
+ parseDataArray(newValue, oldValue) {
193
+ if (JSON.stringify(newValue) === JSON.stringify(oldValue))
194
+ return; // Deep comparison
195
+ this.parsedData = Array.isArray(newValue) ? newValue : [];
196
+ }
197
+ //#endregion METHODS
198
+ /****************************************************************************/
199
+ //#region LIFECYCLE
200
+ componentWillLoad() {
201
+ this.hasSlotHead = !!this.el.querySelector('[slot="head"]');
202
+ if (this.hasSlotHead) {
203
+ const headSlot = this.el.querySelector('[slot="head"]');
204
+ const headSlotRows = this.hasSlotHead
205
+ ? Array.from(headSlot.querySelectorAll('nv-datagridrow'))
206
+ : [];
207
+ const mappedRows = headSlotRows.map(row => {
208
+ const cells = Array.from(row.querySelectorAll('nv-datagridcolumn'));
209
+ return cells.map(cell => ({
210
+ header: cell.getAttribute('header') || '',
211
+ accessor: cell.getAttribute('accessor') || '',
212
+ }));
213
+ });
214
+ // Flatten the nested arrays into a single array of columns
215
+ const flatMappedColumns = mappedRows.flat();
216
+ this.parsedColumns = flatMappedColumns;
217
+ }
218
+ this.hasSlotBody = !!this.el.querySelector('[slot="body"]');
219
+ if (this.hasSlotBody) {
220
+ const bodySlot = this.el.querySelector('[slot="body"]');
221
+ const bodySlotRows = this.hasSlotBody
222
+ ? Array.from(bodySlot.querySelectorAll('nv-datagridrow'))
223
+ : [];
224
+ const mappedRows = bodySlotRows.map(row => {
225
+ const cells = Array.from(row.querySelectorAll('nv-datagriddatacell'));
226
+ return cells.map(cell => {
227
+ return {
228
+ accessor: cell.accessor,
229
+ value: cell.innerHTML,
230
+ };
231
+ });
232
+ });
233
+ // Flatten the nested arrays into a single array of data
234
+ const flatMappedData = mappedRows.map(row => row.reduce((acc, cell) => {
235
+ acc[cell.accessor] = cell.value;
236
+ return acc;
237
+ }, {}));
238
+ this.parsedData = flatMappedData;
239
+ }
240
+ if (this.columnsJson) {
241
+ this.parseJsonColumns(this.columnsJson);
242
+ }
243
+ else if (this.columns && this.columns.length > 0) {
244
+ this.parseColumns(this.columns, this.parsedColumns);
245
+ }
246
+ if (this.dataJson) {
247
+ this.parseJsonData(this.dataJson);
248
+ }
249
+ else if (this.data && this.data.length > 0) {
250
+ this.parseData(this.data, this.parsedData);
251
+ }
252
+ }
253
+ componentDidLoad() {
254
+ this.initializeTable();
255
+ }
256
+ //#endregion LIFECYCLE
257
+ /****************************************************************************/
258
+ //#region RENDER
259
+ render() {
260
+ var _a, _b, _c;
261
+ const headerGroups = !this.table ||
262
+ this.table === undefined ||
263
+ (this.parsedColumns.length === 0 && !this.hasSlotHead)
264
+ ? []
265
+ : (_a = this.table) === null || _a === void 0 ? void 0 : _a.getHeaderGroups();
266
+ const rows = !this.table ||
267
+ this.table === undefined ||
268
+ (this.parsedData.length === 0 && !this.hasSlotBody)
269
+ ? []
270
+ : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
271
+ return (h(Host, { key: '7f3244baba5487f57ba32b6f5e68cbb5794efce9' }, h("div", { key: '35cbeed33a37393ee16dbd06a43fd75e8affb0d6', class: "hidden" }, h("slot", { key: '03458f585639fb906e74c3124f74c38fb2d9d96f' }), h("slot", { key: 'e4862ff4ba814bd34c1d39081be83d11e3884b4a', name: "head" }), h("slot", { key: 'd0d77e8d159590531760052d842b4e461c6e0652', name: "body" })), h("slot", { key: '57150feaf6ac865d838e31edeae0af6d92a9dedb', name: "before" }), this.parsedColumns.length === 0 &&
272
+ this.parsedData.length === 0 &&
273
+ !this.hasSlotHead &&
274
+ !this.hasSlotBody ? (h("p", null, this.noColumnsNoDataMessage)) : (h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
275
+ ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => (h("th", { key: header.id }, header.isPlaceholder
276
+ ? null
277
+ : header.column.columnDef.header))))))
278
+ : null)), h("tbody", null, !rows || rows.length === 0 ? (h("tr", null, h("td", { colSpan: this.parsedColumns.length || 12 }, this.noDataMessage))) : (rows.map(row => {
279
+ const rowId = row.id;
280
+ const visibleCells = row === null || row === void 0 ? void 0 : row.getVisibleCells();
281
+ const cells = visibleCells === null || visibleCells === void 0 ? void 0 : visibleCells.map(cell => {
282
+ const cellValue = cell.getValue();
283
+ return `<td key="${cell.id}" data-row-id="${rowId}">${cellValue}</td>`;
284
+ }).join('');
285
+ return h("tr", { key: rowId, innerHTML: cells });
286
+ }))))), h("slot", { key: '35b4438cfaa83c045d49da21aeb4dc13356242ad', name: "after" })));
287
+ }
288
+ static get is() { return "nv-datagrid"; }
289
+ static get originalStyleUrls() {
290
+ return {
291
+ "$": ["./nv-datagrid.scss"]
292
+ };
293
+ }
294
+ static get styleUrls() {
295
+ return {
296
+ "$": ["nv-datagrid.css"]
297
+ };
298
+ }
299
+ static get properties() {
300
+ return {
301
+ "columns": {
302
+ "type": "unknown",
303
+ "mutable": false,
304
+ "complexType": {
305
+ "original": "Column[]",
306
+ "resolved": "Column[]",
307
+ "references": {
308
+ "Column": {
309
+ "location": "import",
310
+ "path": "../../interfaces/Column",
311
+ "id": "src/interfaces/Column.tsx::Column"
312
+ }
313
+ }
314
+ },
315
+ "required": false,
316
+ "optional": false,
317
+ "docs": {
318
+ "tags": [{
319
+ "name": "example",
320
+ "text": "[\n {\"header\":\"Name\",\"accessor\":\"name\"},\n {\"header\":\"Age\",\"accessor\":\"age\"},\n {\"header\":\"Email\",\"accessor\":\"email\"}\n]"
321
+ }, {
322
+ "name": "default",
323
+ "text": "[]"
324
+ }],
325
+ "text": "The columns to display in the data grid."
326
+ },
327
+ "getter": false,
328
+ "setter": false,
329
+ "defaultValue": "[]"
330
+ },
331
+ "columnsJson": {
332
+ "type": "string",
333
+ "mutable": false,
334
+ "complexType": {
335
+ "original": "string",
336
+ "resolved": "string",
337
+ "references": {}
338
+ },
339
+ "required": false,
340
+ "optional": true,
341
+ "docs": {
342
+ "tags": [{
343
+ "name": "example",
344
+ "text": "`[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`"
345
+ }],
346
+ "text": "The columns to display in the data grid.\nIt can be passed directly as an array of objects or as a JSON string\n(e.g., `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`).\nIf both `columns` and `columnsJson` are provided, `columns` takes precedence."
347
+ },
348
+ "getter": false,
349
+ "setter": false,
350
+ "attribute": "columns-json",
351
+ "reflect": true
352
+ },
353
+ "data": {
354
+ "type": "unknown",
355
+ "mutable": false,
356
+ "complexType": {
357
+ "original": "any[]",
358
+ "resolved": "any[]",
359
+ "references": {}
360
+ },
361
+ "required": false,
362
+ "optional": false,
363
+ "docs": {
364
+ "tags": [{
365
+ "name": "example",
366
+ "text": "[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]"
367
+ }, {
368
+ "name": "default",
369
+ "text": "[]"
370
+ }],
371
+ "text": "The data to display in the data grid."
372
+ },
373
+ "getter": false,
374
+ "setter": false,
375
+ "defaultValue": "[]"
376
+ },
377
+ "dataJson": {
378
+ "type": "string",
379
+ "mutable": false,
380
+ "complexType": {
381
+ "original": "string",
382
+ "resolved": "string",
383
+ "references": {}
384
+ },
385
+ "required": false,
386
+ "optional": true,
387
+ "docs": {
388
+ "tags": [{
389
+ "name": "example",
390
+ "text": "`[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`"
391
+ }],
392
+ "text": "The data to display in the data grid.\nIt can be passed directly as an array of objects or as a JSON string\n(e.g., `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`).\nIf both `data` and `dataJson` are provided, `data` takes precedence."
393
+ },
394
+ "getter": false,
395
+ "setter": false,
396
+ "attribute": "data-json",
397
+ "reflect": true
398
+ },
399
+ "noDataMessage": {
400
+ "type": "string",
401
+ "mutable": false,
402
+ "complexType": {
403
+ "original": "string",
404
+ "resolved": "string",
405
+ "references": {}
406
+ },
407
+ "required": false,
408
+ "optional": false,
409
+ "docs": {
410
+ "tags": [{
411
+ "name": "default",
412
+ "text": "'No data available'"
413
+ }],
414
+ "text": "The message to display when there is no data available."
415
+ },
416
+ "getter": false,
417
+ "setter": false,
418
+ "attribute": "no-data-message",
419
+ "reflect": false,
420
+ "defaultValue": "'No data available'"
421
+ },
422
+ "noColumnsNoDataMessage": {
423
+ "type": "string",
424
+ "mutable": false,
425
+ "complexType": {
426
+ "original": "string",
427
+ "resolved": "string",
428
+ "references": {}
429
+ },
430
+ "required": false,
431
+ "optional": false,
432
+ "docs": {
433
+ "tags": [{
434
+ "name": "default",
435
+ "text": "'No data or columns available to display.'"
436
+ }],
437
+ "text": "The message to display when there are no columns or data available."
438
+ },
439
+ "getter": false,
440
+ "setter": false,
441
+ "attribute": "no-columns-no-data-message",
442
+ "reflect": false,
443
+ "defaultValue": "'No data or columns available to display.'"
444
+ }
445
+ };
446
+ }
447
+ static get states() {
448
+ return {
449
+ "table": {},
450
+ "parsedColumns": {},
451
+ "parsedData": {},
452
+ "hasSlotHead": {},
453
+ "hasSlotBody": {}
454
+ };
455
+ }
456
+ static get elementRef() { return "el"; }
457
+ static get watchers() {
458
+ return [{
459
+ "propName": "columns",
460
+ "methodName": "parseColumns"
461
+ }, {
462
+ "propName": "columnsJson",
463
+ "methodName": "parseJsonColumns"
464
+ }, {
465
+ "propName": "data",
466
+ "methodName": "parseData"
467
+ }, {
468
+ "propName": "dataJson",
469
+ "methodName": "parseJsonData"
470
+ }, {
471
+ "propName": "parsedColumns",
472
+ "methodName": "handleParsedChange"
473
+ }, {
474
+ "propName": "parsedData",
475
+ "methodName": "handleParsedChange"
476
+ }];
477
+ }
478
+ }
479
+ //# sourceMappingURL=nv-datagrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-datagrid.js","sourceRoot":"","sources":["../../../src/components/nv-datagrid/nv-datagrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Prop, h, State, Host, Watch, Element } from '@stencil/core';\nimport {\n createTable,\n Table,\n TableOptionsResolved,\n getCoreRowModel,\n createColumnHelper,\n} from '@tanstack/table-core';\nimport { Column } from '../../interfaces/Column';\n\n/**\n * A flexible data grid component powered by `@tanstack/table-core`.\n * @slot default - Use this slot to insert HTML into the data grid content.\n * @slot head - Use this slot to insert HTML into the data grid header.\n * @slot before - Use this slot to insert HTML before the data grid.\n * @slot after - Use this slot to insert HTML after the data grid.\n * @slot body - Use this slot to insert HTML into the data grid body.\n */\n@Component({\n tag: 'nv-datagrid',\n styleUrl: './nv-datagrid.scss',\n shadow: false,\n})\nexport class NvDatagrid {\n @Element() el: HTMLNvDatagridElement;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n private table: Table<any> | null = null;\n\n @State()\n parsedColumns: Column[] = []; // Parsed array\n\n @State()\n parsedData: any[] = []; // Parsed array\n\n @State()\n hasSlotHead: boolean = false;\n\n @State()\n hasSlotBody: boolean = false;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The columns to display in the data grid.\n * @example\n * [\n * {\"header\":\"Name\",\"accessor\":\"name\"},\n * {\"header\":\"Age\",\"accessor\":\"age\"},\n * {\"header\":\"Email\",\"accessor\":\"email\"}\n * ]\n * @default []\n */\n @Prop()\n readonly columns: Column[] = [];\n\n /**\n * The columns to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`).\n * If both `columns` and `columnsJson` are provided, `columns` takes precedence.\n * @example `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`\n */\n @Prop({ reflect: true })\n readonly columnsJson?: string;\n\n /**\n * The data to display in the data grid.\n * @example [{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]\n * @default []\n */\n @Prop()\n readonly data: any[] = [];\n\n /**\n * The data to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`).\n * If both `data` and `dataJson` are provided, `data` takes precedence.\n * @example `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * The message to display when there is no data available.\n * @default 'No data available'\n */\n @Prop()\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop()\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columns')\n parseColumns(newValue: Column[], oldValue: Column[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsJson')\n parseJsonColumns(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, this.parsedColumns);\n } catch (e) {\n console.error('Invalid JSON format for columnsJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private initializeTable(): void {\n // Clear the previous table instance (if any)\n this.table = null;\n\n // Set default options for the table\n const tableOptions: TableOptionsResolved<any> = {\n columns: [],\n data: [],\n getCoreRowModel: getCoreRowModel(),\n debugAll: true,\n onStateChange: state => console.log('Table state changed:', state),\n renderFallbackValue: 'No rows to display',\n state: {\n sorting: [], // Default: no active sorting\n columnVisibility: {}, // Default: all columns visible\n columnFilters: [], // Default: no column filters\n columnPinning: {}, // Default: no column pinning\n columnSizing: {}, // Default: no column sizing\n columnOrder: [], // Default: as defined in the `columns`\n pagination: null, // Default: no pagination\n grouping: [], // Default: no active grouping\n expanded: {}, // Default: no expanded rows\n rowPinning: {}, // Default: no row pinning\n rowSelection: {}, // Default: no row selection\n globalFilter: null, // Default: no global filter\n columnSizingInfo: {\n columnSizingStart: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n }, // Default: no column sizing info\n },\n };\n\n // Validate and generate column definitions\n const validColumns = this.parsedColumns.filter(\n column => column?.accessor && column?.header,\n );\n\n // Helper function to generate column definitions\n const generateColumns = (): any[] => {\n const columnHelper = createColumnHelper<any>();\n\n if (validColumns.length > 0) {\n // Use defined columns\n return validColumns.map(column =>\n columnHelper.accessor(column.accessor, {\n header: column.header,\n cell: info => info.getValue(),\n }),\n );\n } else if (tableOptions.data && tableOptions.data.length > 0) {\n // Generate columns from data keys\n const sampleRow = tableOptions.data[0];\n return Object.keys(sampleRow).map(key =>\n columnHelper.accessor(key, {\n header: key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header\n cell: info => info.getValue(),\n }),\n );\n } else {\n // No columns and no data\n return [];\n }\n };\n\n const setTableData = (): any[] => {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n };\n\n // Update tableOptions based on parsed data and columns\n const hasColumns =\n validColumns && Array.isArray(validColumns) && validColumns.length > 0;\n const hasData =\n (this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0) ||\n this.hasSlotBody;\n\n if (!hasColumns && !hasData) {\n // No columns and no data\n } else if (hasColumns && !hasData) {\n tableOptions.columns = generateColumns();\n } else {\n // Both columns and data are available\n // No columns and data is available\n tableOptions.data = setTableData();\n tableOptions.columns = generateColumns();\n }\n\n // Initialize the table\n this.table = createTable(tableOptions);\n }\n\n /**\n * Parses the columns array.\n * @param {Column[]} newValue - The new value of the columns array.\n * @param {Column[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: Column[], oldValue: Column[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedColumns = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the data array.\n * @param {any[]} newValue - The new value of the data array.\n * @param {any[]} oldValue - The old value of the data array.\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.hasSlotHead = !!this.el.querySelector('[slot=\"head\"]');\n\n if (this.hasSlotHead) {\n const headSlot = this.el.querySelector('[slot=\"head\"]');\n const headSlotRows = this.hasSlotHead\n ? Array.from(headSlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = headSlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagridcolumn'));\n\n return cells.map(cell => ({\n header: cell.getAttribute('header') || '',\n accessor: cell.getAttribute('accessor') || '',\n }));\n });\n\n // Flatten the nested arrays into a single array of columns\n const flatMappedColumns = mappedRows.flat();\n\n this.parsedColumns = flatMappedColumns;\n }\n\n this.hasSlotBody = !!this.el.querySelector('[slot=\"body\"]');\n\n if (this.hasSlotBody) {\n const bodySlot = this.el.querySelector('[slot=\"body\"]');\n const bodySlotRows = this.hasSlotBody\n ? Array.from(bodySlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = bodySlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagriddatacell'));\n\n return cells.map(cell => {\n return {\n accessor: cell.accessor,\n value: cell.innerHTML,\n };\n });\n });\n\n // Flatten the nested arrays into a single array of data\n const flatMappedData = mappedRows.map(row =>\n row.reduce((acc, cell) => {\n acc[cell.accessor] = cell.value;\n return acc;\n }, {}),\n );\n\n this.parsedData = flatMappedData;\n }\n\n if (this.columnsJson) {\n this.parseJsonColumns(this.columnsJson);\n } else if (this.columns && this.columns.length > 0) {\n this.parseColumns(this.columns, this.parsedColumns);\n }\n\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseData(this.data, this.parsedData);\n }\n }\n\n componentDidLoad() {\n this.initializeTable();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table ||\n this.table === undefined ||\n (this.parsedColumns.length === 0 && !this.hasSlotHead)\n ? []\n : this.table?.getHeaderGroups();\n\n const rows =\n !this.table ||\n this.table === undefined ||\n (this.parsedData.length === 0 && !this.hasSlotBody)\n ? []\n : this.table?.getRowModel()?.rows;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n <slot name=\"head\"></slot>\n <slot name=\"body\"></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 &&\n this.parsedData.length === 0 &&\n !this.hasSlotHead &&\n !this.hasSlotBody ? (\n <p>{this.noColumnsNoDataMessage}</p>\n ) : (\n <table>\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead>\n {this.parsedColumns.length > 0 && headerGroups\n ? headerGroups?.map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => (\n <th key={header.id}>\n {header.isPlaceholder\n ? null\n : header.column.columnDef.header}\n </th>\n ))}\n </tr>\n ))\n : null}\n </thead>\n )}\n <tbody>\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={this.parsedColumns.length || 12}>\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => {\n const rowId = row.id;\n const visibleCells = row?.getVisibleCells();\n\n const cells = visibleCells\n ?.map(cell => {\n const cellValue = cell.getValue();\n return `<td key=\"${cell.id}\" data-row-id=\"${rowId}\">${cellValue}</td>`;\n })\n .join('');\n\n return <tr key={rowId} innerHTML={cells}></tr>;\n })\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
@@ -0,0 +1,8 @@
1
+ const NvDatagridbodyDocs = {
2
+ component: 'nv-datagridbody',
3
+ subcomponents: ['nv-datagridrow', 'nv-datagriddatacell'],
4
+ composedComponents: ['nv-datagridrow', 'nv-datagriddatacell'],
5
+ skip: true,
6
+ };
7
+ export default NvDatagridbodyDocs;
8
+ //# sourceMappingURL=nv-datagridbody.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-datagridbody.docs.js","sourceRoot":"","sources":["../../../src/components/nv-datagridbody/nv-datagridbody.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAwC;IAC9D,SAAS,EAAE,iBAAiB;IAC5B,aAAa,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IACxD,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;IAC7D,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvDatagridbodyDocs: NovaDocs<Components.NvDatagridbody> = {\n component: 'nv-datagridbody',\n subcomponents: ['nv-datagridrow', 'nv-datagriddatacell'],\n composedComponents: ['nv-datagridrow', 'nv-datagriddatacell'],\n skip: true,\n};\n\nexport default NvDatagridbodyDocs;\n"]}
@@ -0,0 +1,23 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * @slot default - Use this slot to insert HTML into the data grid body.
4
+ */
5
+ export class NvDatagridbody {
6
+ /****************************************************************************/
7
+ //#region RENDER
8
+ render() {
9
+ return (h(Host, { key: 'c24bf0e6d18d00b39b6e0382b0268ee24e6e7567' }, h("tbody", { key: '1fae4b6126134317bd2dc7d4819ed861e8915761' }, h("slot", { key: 'a6a537e6ed6c8b831da5294c1bce7010038b6291' }))));
10
+ }
11
+ static get is() { return "nv-datagridbody"; }
12
+ static get originalStyleUrls() {
13
+ return {
14
+ "$": ["nv-datagridbody.scss"]
15
+ };
16
+ }
17
+ static get styleUrls() {
18
+ return {
19
+ "$": ["nv-datagridbody.css"]
20
+ };
21
+ }
22
+ }
23
+ //# sourceMappingURL=nv-datagridbody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-datagridbody.js","sourceRoot":"","sources":["../../../src/components/nv-datagridbody/nv-datagridbody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,cAAc;IACzB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH;gBACE,8DAAa,CACP,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;CAIF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the data grid body.\n */\n@Component({\n tag: 'nv-datagridbody',\n styleUrl: 'nv-datagridbody.scss',\n shadow: false,\n})\nexport class NvDatagridbody {\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <tbody>\n <slot></slot>\n </tbody>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
@@ -0,0 +1,6 @@
1
+ const NvDatagridcolumnDocs = {
2
+ component: 'nv-datagridcolumn',
3
+ skip: true,
4
+ };
5
+ export default NvDatagridcolumnDocs;
6
+ //# sourceMappingURL=nv-datagridcolumn.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-datagridcolumn.docs.js","sourceRoot":"","sources":["../../../src/components/nv-datagridcolumn/nv-datagridcolumn.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAA0C;IAClE,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvDatagridcolumnDocs: NovaDocs<Components.NvDatagridcolumn> = {\n component: 'nv-datagridcolumn',\n skip: true,\n};\n\nexport default NvDatagridcolumnDocs;\n"]}