@nova-design-system/nova-webcomponents 3.0.0-beta.25 → 3.0.0-beta.28

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 (400) hide show
  1. package/LICENSE.MD +61 -108
  2. package/dist/blazor-docs.json +1283 -172
  3. package/dist/cjs/app-globals-d8cbb987.js.map +1 -1
  4. package/dist/cjs/index-c50face0.js +48 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/native.cjs.js +1 -1
  7. package/dist/cjs/nv-datagrid.cjs.entry.js +3226 -0
  8. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -0
  9. package/dist/cjs/nv-datagridbody.cjs.entry.js +24 -0
  10. package/dist/cjs/nv-datagridbody.cjs.entry.js.map +1 -0
  11. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +27 -0
  12. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -0
  13. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +26 -0
  14. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -0
  15. package/dist/cjs/nv-datagridhead.cjs.entry.js +24 -0
  16. package/dist/cjs/nv-datagridhead.cjs.entry.js.map +1 -0
  17. package/dist/cjs/nv-datagridrow.cjs.entry.js +24 -0
  18. package/dist/cjs/nv-datagridrow.cjs.entry.js.map +1 -0
  19. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  20. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  21. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  27. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  29. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  31. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  32. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +8 -4
  33. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-iconbutton.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-loader.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  42. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  44. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  46. package/dist/cjs/nv-row.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  48. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-table.cjs.entry.js +134 -0
  50. package/dist/cjs/nv-table.cjs.entry.js.map +1 -0
  51. package/dist/cjs/nv-tablebody.cjs.entry.js +24 -0
  52. package/dist/cjs/nv-tablebody.cjs.entry.js.map +1 -0
  53. package/dist/cjs/nv-tablecolumn.cjs.entry.js +30 -0
  54. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -0
  55. package/dist/cjs/nv-tabledatacell.cjs.entry.js +28 -0
  56. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -0
  57. package/dist/cjs/nv-tablehead.cjs.entry.js +24 -0
  58. package/dist/cjs/nv-tablehead.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-tablerow.cjs.entry.js +24 -0
  60. package/dist/cjs/nv-tablerow.cjs.entry.js.map +1 -0
  61. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  62. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  63. package/dist/collection/collection-manifest.json +12 -0
  64. package/dist/collection/components/nv-datagrid/nv-datagrid.css +5 -0
  65. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +225 -0
  66. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -0
  67. package/dist/collection/components/nv-datagrid/nv-datagrid.js +441 -0
  68. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -0
  69. package/dist/collection/components/nv-datagridbody/nv-datagridbody.css +0 -0
  70. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js +8 -0
  71. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js.map +1 -0
  72. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +23 -0
  73. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js.map +1 -0
  74. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.css +0 -0
  75. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +6 -0
  76. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +1 -0
  77. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +66 -0
  78. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -0
  79. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.css +0 -0
  80. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js +6 -0
  81. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js.map +1 -0
  82. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +51 -0
  83. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -0
  84. package/dist/collection/components/nv-datagridhead/nv-datagridhead.css +0 -0
  85. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js +8 -0
  86. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js.map +1 -0
  87. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +23 -0
  88. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js.map +1 -0
  89. package/dist/collection/components/nv-datagridrow/nv-datagridrow.css +0 -0
  90. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js +8 -0
  91. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js.map +1 -0
  92. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +23 -0
  93. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js.map +1 -0
  94. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  95. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  96. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +1 -1
  97. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  98. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  99. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  100. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  101. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  102. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  103. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  104. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  105. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  106. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  107. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  108. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +8 -4
  109. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  110. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  111. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  112. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  113. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  114. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  115. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  116. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  117. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  118. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  119. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  120. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  121. package/dist/collection/components/nv-row/nv-row.js +1 -1
  122. package/dist/collection/components/nv-row/nv-row.js.map +1 -1
  123. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  124. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  125. package/dist/collection/components/nv-table/nv-table.css +5 -0
  126. package/dist/collection/components/nv-table/nv-table.docs.js +178 -0
  127. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -0
  128. package/dist/collection/components/nv-table/nv-table.js +287 -0
  129. package/dist/collection/components/nv-table/nv-table.js.map +1 -0
  130. package/dist/collection/components/nv-tablebody/nv-tablebody.css +0 -0
  131. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js +8 -0
  132. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js.map +1 -0
  133. package/dist/collection/components/nv-tablebody/nv-tablebody.js +23 -0
  134. package/dist/collection/components/nv-tablebody/nv-tablebody.js.map +1 -0
  135. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.css +0 -0
  136. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +6 -0
  137. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +1 -0
  138. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +131 -0
  139. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -0
  140. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.css +0 -0
  141. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js +6 -0
  142. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js.map +1 -0
  143. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +95 -0
  144. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -0
  145. package/dist/collection/components/nv-tablehead/nv-tablehead.css +0 -0
  146. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js +8 -0
  147. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js.map +1 -0
  148. package/dist/collection/components/nv-tablehead/nv-tablehead.js +23 -0
  149. package/dist/collection/components/nv-tablehead/nv-tablehead.js.map +1 -0
  150. package/dist/collection/components/nv-tablerow/nv-tablerow.css +0 -0
  151. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js +8 -0
  152. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js.map +1 -0
  153. package/dist/collection/components/nv-tablerow/nv-tablerow.js +23 -0
  154. package/dist/collection/components/nv-tablerow/nv-tablerow.js.map +1 -0
  155. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  156. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  157. package/dist/collection/interfaces/Column.js +2 -0
  158. package/dist/collection/interfaces/Column.js.map +1 -0
  159. package/dist/components/nv-alert.js +1 -1
  160. package/dist/components/nv-avatar.js +1 -1
  161. package/dist/components/nv-badge.js +1 -1
  162. package/dist/components/nv-button.js +1 -1
  163. package/dist/components/nv-datagrid.d.ts +11 -0
  164. package/dist/components/nv-datagrid.js +3259 -0
  165. package/dist/components/nv-datagrid.js.map +1 -0
  166. package/dist/components/nv-datagridbody.d.ts +11 -0
  167. package/dist/components/nv-datagridbody.js +38 -0
  168. package/dist/components/nv-datagridbody.js.map +1 -0
  169. package/dist/components/nv-datagridcolumn.d.ts +11 -0
  170. package/dist/components/nv-datagridcolumn.js +44 -0
  171. package/dist/components/nv-datagridcolumn.js.map +1 -0
  172. package/dist/components/nv-datagriddatacell.d.ts +11 -0
  173. package/dist/components/nv-datagriddatacell.js +42 -0
  174. package/dist/components/nv-datagriddatacell.js.map +1 -0
  175. package/dist/components/nv-datagridhead.d.ts +11 -0
  176. package/dist/components/nv-datagridhead.js +38 -0
  177. package/dist/components/nv-datagridhead.js.map +1 -0
  178. package/dist/components/nv-datagridrow.d.ts +11 -0
  179. package/dist/components/nv-datagridrow.js +38 -0
  180. package/dist/components/nv-datagridrow.js.map +1 -0
  181. package/dist/components/nv-fieldcheckbox.js +4 -4
  182. package/dist/components/nv-fielddropdown.js +8 -8
  183. package/dist/components/nv-fielddropdownitem.js +1 -1
  184. package/dist/components/nv-fieldnumber.js +4 -4
  185. package/dist/components/nv-fieldnumber.js.map +1 -1
  186. package/dist/components/nv-fieldpassword.js +6 -6
  187. package/dist/components/nv-fieldpassword.js.map +1 -1
  188. package/dist/components/nv-fieldradio.js +3 -3
  189. package/dist/components/nv-fieldradio.js.map +1 -1
  190. package/dist/components/nv-fieldselect.js +6 -6
  191. package/dist/components/nv-fieldselect.js.map +1 -1
  192. package/dist/components/nv-fieldtext.js +4 -4
  193. package/dist/components/nv-fieldtextarea.js +3 -3
  194. package/dist/components/nv-fieldtoggle.js +8 -4
  195. package/dist/components/nv-fieldtoggle.js.map +1 -1
  196. package/dist/components/nv-icon.js +1 -1
  197. package/dist/components/nv-iconbutton.js +1 -1
  198. package/dist/components/nv-loader.js +1 -1
  199. package/dist/components/nv-menu.js +2 -2
  200. package/dist/components/nv-menuitem.js +2 -2
  201. package/dist/components/nv-menuitem.js.map +1 -1
  202. package/dist/components/nv-popover.js +1 -1
  203. package/dist/components/nv-row.js +1 -1
  204. package/dist/components/nv-row.js.map +1 -1
  205. package/dist/components/nv-stack.js +1 -1
  206. package/dist/components/nv-stack.js.map +1 -1
  207. package/dist/components/nv-table.d.ts +11 -0
  208. package/dist/components/nv-table.js +164 -0
  209. package/dist/components/nv-table.js.map +1 -0
  210. package/dist/components/nv-tablebody.d.ts +11 -0
  211. package/dist/components/nv-tablebody.js +38 -0
  212. package/dist/components/nv-tablebody.js.map +1 -0
  213. package/dist/components/nv-tablecolumn.d.ts +11 -0
  214. package/dist/components/nv-tablecolumn.js +50 -0
  215. package/dist/components/nv-tablecolumn.js.map +1 -0
  216. package/dist/components/nv-tabledatacell.d.ts +11 -0
  217. package/dist/components/nv-tabledatacell.js +46 -0
  218. package/dist/components/nv-tabledatacell.js.map +1 -0
  219. package/dist/components/nv-tablehead.d.ts +11 -0
  220. package/dist/components/nv-tablehead.js +38 -0
  221. package/dist/components/nv-tablehead.js.map +1 -0
  222. package/dist/components/nv-tablerow.d.ts +11 -0
  223. package/dist/components/nv-tablerow.js +38 -0
  224. package/dist/components/nv-tablerow.js.map +1 -0
  225. package/dist/components/nv-tooltip.js +2 -2
  226. package/dist/components/nv-tooltip.js.map +1 -1
  227. package/dist/components/{p-76eb28db.js → p-45405075.js} +3 -3
  228. package/dist/components/{p-76eb28db.js.map → p-45405075.js.map} +1 -1
  229. package/dist/components/{p-9647924f.js → p-45c63143.js} +4 -4
  230. package/dist/components/{p-9647924f.js.map → p-45c63143.js.map} +1 -1
  231. package/dist/components/{p-9be1ebd4.js → p-689a7b38.js} +2 -2
  232. package/dist/components/{p-9be1ebd4.js.map → p-689a7b38.js.map} +1 -1
  233. package/dist/components/{p-ff97f99e.js → p-89fb6636.js} +2 -2
  234. package/dist/components/{p-ff97f99e.js.map → p-89fb6636.js.map} +1 -1
  235. package/dist/components/{p-69cc7819.js → p-8c8cf8ea.js} +2 -2
  236. package/dist/components/{p-69cc7819.js.map → p-8c8cf8ea.js.map} +1 -1
  237. package/dist/docs.json +1300 -256
  238. package/dist/esm/app-globals-eea8674a.js.map +1 -1
  239. package/dist/esm/index-e7b35c14.js +48 -0
  240. package/dist/esm/loader.js +1 -1
  241. package/dist/esm/native.js +1 -1
  242. package/dist/esm/nv-datagrid.entry.js +3222 -0
  243. package/dist/esm/nv-datagrid.entry.js.map +1 -0
  244. package/dist/esm/nv-datagridbody.entry.js +20 -0
  245. package/dist/esm/nv-datagridbody.entry.js.map +1 -0
  246. package/dist/esm/nv-datagridcolumn.entry.js +23 -0
  247. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -0
  248. package/dist/esm/nv-datagriddatacell.entry.js +22 -0
  249. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -0
  250. package/dist/esm/nv-datagridhead.entry.js +20 -0
  251. package/dist/esm/nv-datagridhead.entry.js.map +1 -0
  252. package/dist/esm/nv-datagridrow.entry.js +20 -0
  253. package/dist/esm/nv-datagridrow.entry.js.map +1 -0
  254. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  255. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  256. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  257. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  258. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  259. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  260. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  261. package/dist/esm/nv-fieldradio.entry.js +3 -3
  262. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  263. package/dist/esm/nv-fieldselect.entry.js +5 -5
  264. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  265. package/dist/esm/nv-fieldtext.entry.js +3 -3
  266. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  267. package/dist/esm/nv-fieldtoggle.entry.js +8 -4
  268. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  269. package/dist/esm/nv-icon.entry.js +1 -1
  270. package/dist/esm/nv-icon.entry.js.map +1 -1
  271. package/dist/esm/nv-iconbutton.entry.js +1 -1
  272. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  273. package/dist/esm/nv-loader.entry.js +1 -1
  274. package/dist/esm/nv-loader.entry.js.map +1 -1
  275. package/dist/esm/nv-menu.entry.js +1 -1
  276. package/dist/esm/nv-menuitem.entry.js +1 -1
  277. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  278. package/dist/esm/nv-popover.entry.js +1 -1
  279. package/dist/esm/nv-popover.entry.js.map +1 -1
  280. package/dist/esm/nv-row.entry.js +1 -1
  281. package/dist/esm/nv-row.entry.js.map +1 -1
  282. package/dist/esm/nv-stack.entry.js +1 -1
  283. package/dist/esm/nv-stack.entry.js.map +1 -1
  284. package/dist/esm/nv-table.entry.js +130 -0
  285. package/dist/esm/nv-table.entry.js.map +1 -0
  286. package/dist/esm/nv-tablebody.entry.js +20 -0
  287. package/dist/esm/nv-tablebody.entry.js.map +1 -0
  288. package/dist/esm/nv-tablecolumn.entry.js +26 -0
  289. package/dist/esm/nv-tablecolumn.entry.js.map +1 -0
  290. package/dist/esm/nv-tabledatacell.entry.js +24 -0
  291. package/dist/esm/nv-tabledatacell.entry.js.map +1 -0
  292. package/dist/esm/nv-tablehead.entry.js +20 -0
  293. package/dist/esm/nv-tablehead.entry.js.map +1 -0
  294. package/dist/esm/nv-tablerow.entry.js +20 -0
  295. package/dist/esm/nv-tablerow.entry.js.map +1 -0
  296. package/dist/esm/nv-tooltip.entry.js +1 -1
  297. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  298. package/dist/native/native.css +1 -1
  299. package/dist/native/native.esm.js +1 -1
  300. package/dist/native/native.esm.js.map +1 -1
  301. package/dist/native/p-01be802d.entry.js +2 -0
  302. package/dist/native/p-01be802d.entry.js.map +1 -0
  303. package/dist/native/{p-71fbdb92.entry.js → p-0cfe2048.entry.js} +2 -2
  304. package/dist/native/{p-71fbdb92.entry.js.map → p-0cfe2048.entry.js.map} +1 -1
  305. package/dist/native/{p-4a43953f.entry.js → p-13070761.entry.js} +2 -2
  306. package/dist/native/{p-000749ae.entry.js → p-1edb76e1.entry.js} +2 -2
  307. package/dist/native/{p-000749ae.entry.js.map → p-1edb76e1.entry.js.map} +1 -1
  308. package/dist/native/{p-c16a4fbe.entry.js → p-20c7fc4d.entry.js} +2 -2
  309. package/dist/native/p-20c7fc4d.entry.js.map +1 -0
  310. package/dist/native/p-28cf537b.entry.js +2 -0
  311. package/dist/native/{p-4b550f95.entry.js.map → p-28cf537b.entry.js.map} +1 -1
  312. package/dist/native/p-36d5158c.entry.js +13 -0
  313. package/dist/native/p-36d5158c.entry.js.map +1 -0
  314. package/dist/native/{p-396b65bb.entry.js → p-38817aa3.entry.js} +2 -2
  315. package/dist/native/{p-396b65bb.entry.js.map → p-38817aa3.entry.js.map} +1 -1
  316. package/dist/native/{p-bb243eaf.entry.js → p-39dbb15b.entry.js} +2 -2
  317. package/dist/native/p-4b926563.entry.js +2 -0
  318. package/dist/native/p-4b926563.entry.js.map +1 -0
  319. package/dist/native/{p-d5c24d8f.entry.js → p-4e351d8e.entry.js} +2 -2
  320. package/dist/native/p-671699bf.entry.js +2 -0
  321. package/dist/native/p-671699bf.entry.js.map +1 -0
  322. package/dist/native/{p-25e1bc94.entry.js → p-75b5fdce.entry.js} +2 -2
  323. package/dist/native/{p-25e1bc94.entry.js.map → p-75b5fdce.entry.js.map} +1 -1
  324. package/dist/native/p-7a7b9b95.entry.js +2 -0
  325. package/dist/native/p-7a7b9b95.entry.js.map +1 -0
  326. package/dist/native/{p-5172aa15.entry.js → p-808cf007.entry.js} +2 -2
  327. package/dist/native/{p-23b20b80.entry.js → p-81256924.entry.js} +2 -2
  328. package/dist/native/{p-23b20b80.entry.js.map → p-81256924.entry.js.map} +1 -1
  329. package/dist/native/{p-8de6396f.entry.js → p-844f4878.entry.js} +2 -2
  330. package/dist/native/{p-8de6396f.entry.js.map → p-844f4878.entry.js.map} +1 -1
  331. package/dist/native/p-861f91d3.entry.js +2 -0
  332. package/dist/native/p-861f91d3.entry.js.map +1 -0
  333. package/dist/native/p-9221f72a.entry.js +2 -0
  334. package/dist/native/p-9221f72a.entry.js.map +1 -0
  335. package/dist/native/p-982e474f.entry.js +2 -0
  336. package/dist/native/p-982e474f.entry.js.map +1 -0
  337. package/dist/native/p-99850272.entry.js +2 -0
  338. package/dist/native/p-99850272.entry.js.map +1 -0
  339. package/dist/native/{p-d4e0b6e1.entry.js → p-bdab3562.entry.js} +2 -2
  340. package/dist/native/{p-4cba27be.entry.js → p-c1c661a0.entry.js} +2 -2
  341. package/dist/native/{p-89468485.entry.js → p-c4f7e36d.entry.js} +2 -2
  342. package/dist/native/{p-89468485.entry.js.map → p-c4f7e36d.entry.js.map} +1 -1
  343. package/dist/native/{p-20ea1b61.entry.js → p-dba9c57c.entry.js} +2 -2
  344. package/dist/native/{p-20ea1b61.entry.js.map → p-dba9c57c.entry.js.map} +1 -1
  345. package/dist/native/p-dbae3920.entry.js +2 -0
  346. package/dist/native/{p-0d335326.entry.js.map → p-dbae3920.entry.js.map} +1 -1
  347. package/dist/native/p-de6e0e1f.entry.js +2 -0
  348. package/dist/native/p-de6e0e1f.entry.js.map +1 -0
  349. package/dist/native/{p-aeaa326f.entry.js → p-e2df46e2.entry.js} +2 -2
  350. package/dist/native/{p-aeaa326f.entry.js.map → p-e2df46e2.entry.js.map} +1 -1
  351. package/dist/native/p-e842220b.entry.js +2 -0
  352. package/dist/native/p-e842220b.entry.js.map +1 -0
  353. package/dist/native/{p-a016e4b6.entry.js → p-ea4092a7.entry.js} +2 -2
  354. package/dist/native/{p-a016e4b6.entry.js.map → p-ea4092a7.entry.js.map} +1 -1
  355. package/dist/native/p-eeb6a3dc.js.map +1 -1
  356. package/dist/native/p-f7b96c42.entry.js +2 -0
  357. package/dist/native/p-f7b96c42.entry.js.map +1 -0
  358. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +87 -0
  359. package/dist/types/components/nv-datagrid/nv-datagrid.docs.d.ts +4 -0
  360. package/dist/types/components/nv-datagridbody/nv-datagridbody.d.ts +7 -0
  361. package/dist/types/components/nv-datagridbody/nv-datagridbody.docs.d.ts +4 -0
  362. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +16 -0
  363. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.docs.d.ts +4 -0
  364. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.d.ts +14 -0
  365. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.docs.d.ts +4 -0
  366. package/dist/types/components/nv-datagridhead/nv-datagridhead.d.ts +7 -0
  367. package/dist/types/components/nv-datagridhead/nv-datagridhead.docs.d.ts +4 -0
  368. package/dist/types/components/nv-datagridrow/nv-datagridrow.d.ts +7 -0
  369. package/dist/types/components/nv-datagridrow/nv-datagridrow.docs.d.ts +4 -0
  370. package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +12 -0
  371. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +4 -4
  372. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +3 -0
  373. package/dist/types/components/nv-table/nv-table.d.ts +72 -0
  374. package/dist/types/components/nv-table/nv-table.docs.d.ts +4 -0
  375. package/dist/types/components/nv-tablebody/nv-tablebody.d.ts +7 -0
  376. package/dist/types/components/nv-tablebody/nv-tablebody.docs.d.ts +4 -0
  377. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +51 -0
  378. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +4 -0
  379. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.d.ts +30 -0
  380. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.docs.d.ts +4 -0
  381. package/dist/types/components/nv-tablehead/nv-tablehead.d.ts +7 -0
  382. package/dist/types/components/nv-tablehead/nv-tablehead.docs.d.ts +4 -0
  383. package/dist/types/components/nv-tablerow/nv-tablerow.d.ts +7 -0
  384. package/dist/types/components/nv-tablerow/nv-tablerow.docs.d.ts +4 -0
  385. package/dist/types/components.d.ts +400 -0
  386. package/dist/types/interfaces/Column.d.ts +13 -0
  387. package/dist/types/nova-docs.d.ts +18 -0
  388. package/dist/vscode-data.json +192 -0
  389. package/hydrate/index.js +3743 -41
  390. package/hydrate/index.mjs +3743 -41
  391. package/package.json +57 -1
  392. package/dist/native/p-0d335326.entry.js +0 -2
  393. package/dist/native/p-4b550f95.entry.js +0 -2
  394. package/dist/native/p-c16a4fbe.entry.js.map +0 -1
  395. /package/dist/native/{p-4a43953f.entry.js.map → p-13070761.entry.js.map} +0 -0
  396. /package/dist/native/{p-bb243eaf.entry.js.map → p-39dbb15b.entry.js.map} +0 -0
  397. /package/dist/native/{p-d5c24d8f.entry.js.map → p-4e351d8e.entry.js.map} +0 -0
  398. /package/dist/native/{p-5172aa15.entry.js.map → p-808cf007.entry.js.map} +0 -0
  399. /package/dist/native/{p-d4e0b6e1.entry.js.map → p-bdab3562.entry.js.map} +0 -0
  400. /package/dist/native/{p-4cba27be.entry.js.map → p-c1c661a0.entry.js.map} +0 -0
@@ -0,0 +1,178 @@
1
+ import { h } from "@stencil/core";
2
+ const NvTableDocs = {
3
+ component: 'nv-table',
4
+ subcomponents: [
5
+ 'nv-tablehead',
6
+ 'nv-tablebody',
7
+ 'nv-tablerow',
8
+ 'nv-tablecolumn',
9
+ 'nv-tabledatacell',
10
+ 'nv-icon',
11
+ ],
12
+ composedComponents: [
13
+ 'nv-tablehead',
14
+ 'nv-tablebody',
15
+ 'nv-tablerow',
16
+ 'nv-tablecolumn',
17
+ 'nv-tabledatacell',
18
+ 'nv-icon',
19
+ ],
20
+ stories: [
21
+ {
22
+ name: 'Default',
23
+ template: h("nv-table", { "data-storybook-args": true }),
24
+ },
25
+ {
26
+ name: 'No Columns No Data Message',
27
+ args: {
28
+ noColumnsNoDataMessage: 'Nothing to display.',
29
+ },
30
+ template: h("nv-table", { "data-storybook-args": true }),
31
+ },
32
+ {
33
+ name: 'No Data Message',
34
+ args: {
35
+ noDataMessage: 'No element available to display.',
36
+ columnsJson: `["Name", "Age", "Email"]`,
37
+ },
38
+ template: h("nv-table", { "data-storybook-args": true }),
39
+ },
40
+ {
41
+ name: 'Columns Array And Empty Data',
42
+ args: {
43
+ columns: ['Name', 'Age', 'Email'],
44
+ },
45
+ template: h("nv-table", { "data-storybook-args": true }),
46
+ },
47
+ {
48
+ name: 'Columns JSON And Empty Data',
49
+ args: {
50
+ columnsJson: `["Name", "Age", "Email"]`,
51
+ },
52
+ template: h("nv-table", { "data-storybook-args": true }),
53
+ },
54
+ {
55
+ name: 'Data Array And Empty Columns',
56
+ args: {
57
+ data: [
58
+ { name: 'Alice', age: '25', email: 'alice@mail.com' },
59
+ { name: 'Bob', age: '30', email: 'bob@mail.com' },
60
+ ],
61
+ },
62
+ template: h("nv-table", { "data-storybook-args": true }),
63
+ },
64
+ {
65
+ name: 'Data JSON And Empty Columns',
66
+ args: {
67
+ dataJson: `[
68
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
69
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
70
+ ]`,
71
+ },
72
+ template: h("nv-table", { "data-storybook-args": true }),
73
+ },
74
+ {
75
+ name: 'Columns Array And Data Array',
76
+ args: {
77
+ columns: ['Name', 'Age', 'Email'],
78
+ data: [
79
+ { name: 'Alice', age: '25', email: 'alice@mail.com' },
80
+ { name: 'Bob', age: '30', email: 'bob@mail.com' },
81
+ ],
82
+ },
83
+ template: h("nv-table", { "data-storybook-args": true }),
84
+ },
85
+ {
86
+ name: 'Columns JSON And Data JSON',
87
+ args: {
88
+ columnsJson: `["Name", "Age", "Email"]`,
89
+ dataJson: `[
90
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
91
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
92
+ ]`,
93
+ },
94
+ template: h("nv-table", { "data-storybook-args": true }),
95
+ },
96
+ {
97
+ name: 'Columns Decomposed And Empty Data',
98
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablehead", { slot: "head" }, h("nv-tablerow", null, h("nv-tablecolumn", null, "Name"), h("nv-tablecolumn", null, "Age"), h("nv-tablecolumn", null, "Email"))))),
99
+ },
100
+ {
101
+ name: 'Columns Decomposed And Data Array',
102
+ args: {
103
+ data: [
104
+ { name: 'Alice', age: '25', email: 'alice@mail.com' },
105
+ { name: 'Bob', age: '30', email: 'bob@mail.com' },
106
+ ],
107
+ },
108
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablehead", { slot: "head" }, h("nv-tablerow", null, h("nv-tablecolumn", null, "Name"), h("nv-tablecolumn", null, "Age"), h("nv-tablecolumn", null, "Email"))))),
109
+ },
110
+ {
111
+ name: 'Columns Decomposed And Data JSON',
112
+ args: {
113
+ dataJson: `[
114
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
115
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
116
+ ]`,
117
+ },
118
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablehead", { slot: "head" }, h("nv-tablerow", null, h("nv-tablecolumn", null, "Name"), h("nv-tablecolumn", null, "Age"), h("nv-tablecolumn", null, "Email"))))),
119
+ },
120
+ {
121
+ name: 'Data Decomposed And Empty Columns',
122
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablebody", { slot: "body" }, h("nv-tablerow", null, h("nv-tabledatacell", null, "Alice"), h("nv-tabledatacell", null, "25"), h("nv-tabledatacell", null, "alice@mail.com")), h("nv-tablerow", null, h("nv-tabledatacell", null, "Bob"), h("nv-tabledatacell", null, "30"), h("nv-tabledatacell", null, "bob@mail.com"))))),
123
+ },
124
+ {
125
+ name: 'Data Decomposed And Columns Array',
126
+ args: {
127
+ columns: ['Name', 'Age', 'Email'],
128
+ },
129
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablebody", { slot: "body" }, h("nv-tablerow", null, h("nv-tabledatacell", null, "Alice"), h("nv-tabledatacell", null, "25"), h("nv-tabledatacell", null, "alice@mail.com")), h("nv-tablerow", null, h("nv-tabledatacell", null, "Bob"), h("nv-tabledatacell", null, "30"), h("nv-tabledatacell", null, "bob@mail.com"))))),
130
+ },
131
+ {
132
+ name: 'Data Decomposed And Columns JSON',
133
+ args: {
134
+ columnsJson: `["Name", "Age", "Email"]`,
135
+ },
136
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablebody", { slot: "body" }, h("nv-tablerow", null, h("nv-tabledatacell", null, "Alice"), h("nv-tabledatacell", null, "25"), h("nv-tabledatacell", null, "alice@mail.com")), h("nv-tablerow", null, h("nv-tabledatacell", null, "Bob"), h("nv-tabledatacell", null, "30"), h("nv-tabledatacell", null, "bob@mail.com"))))),
137
+ },
138
+ {
139
+ name: 'Columns Decomposed And Data Decomposed',
140
+ template: (h("nv-table", { "data-storybook-args": true }, h("nv-tablehead", { slot: "head" }, h("nv-tablerow", null, h("nv-tablecolumn", null, "Name"), h("nv-tablecolumn", null, "Age"), h("nv-tablecolumn", null, "Email"))), h("nv-tablebody", { slot: "body" }, h("nv-tablerow", null, h("nv-tabledatacell", null, "Alice"), h("nv-tabledatacell", null, "25"), h("nv-tabledatacell", null, h("nv-icon", { name: "mail" }), h("a", { href: "mailto:alice@mail.com", class: "text-amber-500" }, "alice@mail.com"))), h("nv-tablerow", null, h("nv-tabledatacell", null, "Bob"), h("nv-tabledatacell", null, "30"), h("nv-tabledatacell", null, "bob@mail.com"))))),
141
+ },
142
+ {
143
+ name: 'Slot Before',
144
+ args: {
145
+ columnsJson: `["Name", "Age", "Email"]`,
146
+ dataJson: `[
147
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
148
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
149
+ ]`,
150
+ },
151
+ template: (h("nv-table", { "data-storybook-args": true }, h("div", { slot: "before" }, "Before"))),
152
+ },
153
+ {
154
+ name: 'Slot After',
155
+ args: {
156
+ columnsJson: `["Name", "Age", "Email"]`,
157
+ dataJson: `[
158
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
159
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
160
+ ]`,
161
+ },
162
+ template: (h("nv-table", { "data-storybook-args": true }, h("div", { slot: "after" }, "After"))),
163
+ },
164
+ {
165
+ name: 'Slot Before And After',
166
+ args: {
167
+ columnsJson: `["Name", "Age", "Email"]`,
168
+ dataJson: `[
169
+ { "name": "Alice", "age": "25", "email": "alice@mail.com" },
170
+ { "name": "Bob", "age": "30", "email": "bob@mail.com" }
171
+ ]`,
172
+ },
173
+ template: (h("nv-table", { "data-storybook-args": true }, h("div", { slot: "before" }, "Before"), h("div", { slot: "after" }, "After"))),
174
+ },
175
+ ],
176
+ };
177
+ export default NvTableDocs;
178
+ //# sourceMappingURL=nv-table.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-table.docs.js","sourceRoot":"","sources":["../../../src/components/nv-table/nv-table.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 NvTableDocs: NovaDocs<Components.NvTable> = {\n component: 'nv-table',\n subcomponents: [\n 'nv-tablehead',\n 'nv-tablebody',\n 'nv-tablerow',\n 'nv-tablecolumn',\n 'nv-tabledatacell',\n 'nv-icon',\n ],\n composedComponents: [\n 'nv-tablehead',\n 'nv-tablebody',\n 'nv-tablerow',\n 'nv-tablecolumn',\n 'nv-tabledatacell',\n 'nv-icon',\n ],\n stories: [\n {\n name: 'Default',\n template: <nv-table data-storybook-args></nv-table>,\n },\n {\n name: 'No Columns No Data Message',\n args: {\n noColumnsNoDataMessage: 'Nothing to display.',\n },\n template: <nv-table data-storybook-args></nv-table>,\n },\n {\n name: 'No Data Message',\n args: {\n noDataMessage: 'No element available to display.',\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\n },\n template: <nv-table data-storybook-args></nv-table>,\n },\n {\n name: 'Columns Array And Empty Data',\n args: {\n columns: ['Name', 'Age', 'Email'],\n },\n template: <nv-table data-storybook-args></nv-table>,\n },\n {\n name: 'Columns JSON And Empty Data',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\n },\n template: <nv-table data-storybook-args></nv-table>,\n },\n {\n name: 'Data Array And Empty Columns',\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-table data-storybook-args></nv-table>,\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-table data-storybook-args></nv-table>,\n },\n {\n name: 'Columns Array And Data Array',\n args: {\n columns: ['Name', 'Age', 'Email'],\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-table data-storybook-args></nv-table>,\n },\n {\n name: 'Columns JSON And Data JSON',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\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-table data-storybook-args></nv-table>,\n },\n {\n name: 'Columns Decomposed And Empty Data',\n template: (\n <nv-table data-storybook-args>\n <nv-tablehead slot=\"head\">\n <nv-tablerow>\n <nv-tablecolumn>Name</nv-tablecolumn>\n <nv-tablecolumn>Age</nv-tablecolumn>\n <nv-tablecolumn>Email</nv-tablecolumn>\n </nv-tablerow>\n </nv-tablehead>\n </nv-table>\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-table data-storybook-args>\n <nv-tablehead slot=\"head\">\n <nv-tablerow>\n <nv-tablecolumn>Name</nv-tablecolumn>\n <nv-tablecolumn>Age</nv-tablecolumn>\n <nv-tablecolumn>Email</nv-tablecolumn>\n </nv-tablerow>\n </nv-tablehead>\n </nv-table>\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-table data-storybook-args>\n <nv-tablehead slot=\"head\">\n <nv-tablerow>\n <nv-tablecolumn>Name</nv-tablecolumn>\n <nv-tablecolumn>Age</nv-tablecolumn>\n <nv-tablecolumn>Email</nv-tablecolumn>\n </nv-tablerow>\n </nv-tablehead>\n </nv-table>\n ),\n },\n {\n name: 'Data Decomposed And Empty Columns',\n template: (\n <nv-table data-storybook-args>\n <nv-tablebody slot=\"body\">\n <nv-tablerow>\n <nv-tabledatacell>Alice</nv-tabledatacell>\n <nv-tabledatacell>25</nv-tabledatacell>\n <nv-tabledatacell>alice@mail.com</nv-tabledatacell>\n </nv-tablerow>\n <nv-tablerow>\n <nv-tabledatacell>Bob</nv-tabledatacell>\n <nv-tabledatacell>30</nv-tabledatacell>\n <nv-tabledatacell>bob@mail.com</nv-tabledatacell>\n </nv-tablerow>\n </nv-tablebody>\n </nv-table>\n ),\n },\n {\n name: 'Data Decomposed And Columns Array',\n args: {\n columns: ['Name', 'Age', 'Email'],\n },\n template: (\n <nv-table data-storybook-args>\n <nv-tablebody slot=\"body\">\n <nv-tablerow>\n <nv-tabledatacell>Alice</nv-tabledatacell>\n <nv-tabledatacell>25</nv-tabledatacell>\n <nv-tabledatacell>alice@mail.com</nv-tabledatacell>\n </nv-tablerow>\n <nv-tablerow>\n <nv-tabledatacell>Bob</nv-tabledatacell>\n <nv-tabledatacell>30</nv-tabledatacell>\n <nv-tabledatacell>bob@mail.com</nv-tabledatacell>\n </nv-tablerow>\n </nv-tablebody>\n </nv-table>\n ),\n },\n {\n name: 'Data Decomposed And Columns JSON',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\n },\n template: (\n <nv-table data-storybook-args>\n <nv-tablebody slot=\"body\">\n <nv-tablerow>\n <nv-tabledatacell>Alice</nv-tabledatacell>\n <nv-tabledatacell>25</nv-tabledatacell>\n <nv-tabledatacell>alice@mail.com</nv-tabledatacell>\n </nv-tablerow>\n <nv-tablerow>\n <nv-tabledatacell>Bob</nv-tabledatacell>\n <nv-tabledatacell>30</nv-tabledatacell>\n <nv-tabledatacell>bob@mail.com</nv-tabledatacell>\n </nv-tablerow>\n </nv-tablebody>\n </nv-table>\n ),\n },\n {\n name: 'Columns Decomposed And Data Decomposed',\n template: (\n <nv-table data-storybook-args>\n <nv-tablehead slot=\"head\">\n <nv-tablerow>\n <nv-tablecolumn>Name</nv-tablecolumn>\n <nv-tablecolumn>Age</nv-tablecolumn>\n <nv-tablecolumn>Email</nv-tablecolumn>\n </nv-tablerow>\n </nv-tablehead>\n <nv-tablebody slot=\"body\">\n <nv-tablerow>\n <nv-tabledatacell>Alice</nv-tabledatacell>\n <nv-tabledatacell>25</nv-tabledatacell>\n <nv-tabledatacell>\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-tabledatacell>\n </nv-tablerow>\n <nv-tablerow>\n <nv-tabledatacell>Bob</nv-tabledatacell>\n <nv-tabledatacell>30</nv-tabledatacell>\n <nv-tabledatacell>bob@mail.com</nv-tabledatacell>\n </nv-tablerow>\n </nv-tablebody>\n </nv-table>\n ),\n },\n {\n name: 'Slot Before',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\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-table data-storybook-args>\n <div slot=\"before\">Before</div>\n </nv-table>\n ),\n },\n {\n name: 'Slot After',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\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-table data-storybook-args>\n <div slot=\"after\">After</div>\n </nv-table>\n ),\n },\n {\n name: 'Slot Before And After',\n args: {\n columnsJson: `[\"Name\", \"Age\", \"Email\"]`,\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-table data-storybook-args>\n <div slot=\"before\">Before</div>\n <div slot=\"after\">After</div>\n </nv-table>\n ),\n },\n ],\n};\n\nexport default NvTableDocs;\n"]}
@@ -0,0 +1,287 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { Host, h } from "@stencil/core";
3
+ /**
4
+ * @slot default - Use this slot to insert HTML into the table content.
5
+ * @slot head - Use this slot to insert HTML into the table header.
6
+ * @slot before - Use this slot to insert HTML before the table.
7
+ * @slot after - Use this slot to insert HTML after the table.
8
+ * @slot body - Use this slot to insert HTML into the table body.
9
+ */
10
+ export class NvTable {
11
+ constructor() {
12
+ this.parsedColumns = [];
13
+ this.parsedData = [];
14
+ this.hasSlotHead = false;
15
+ this.hasSlotBody = false;
16
+ this.columns = [];
17
+ this.columnsJson = undefined;
18
+ this.data = [];
19
+ this.dataJson = undefined;
20
+ this.noDataMessage = 'No data available';
21
+ this.noColumnsNoDataMessage = 'No data or columns available to display.';
22
+ }
23
+ //#endregion PROPERTIES
24
+ /****************************************************************************/
25
+ //#region WATCHERS
26
+ parseColumns(newValue, oldValue) {
27
+ this.parseColumnsArray(newValue, oldValue);
28
+ }
29
+ parseJsonColumns(newValue) {
30
+ try {
31
+ const newItems = newValue ? JSON.parse(newValue) : [];
32
+ this.parseColumnsArray(newItems, this.parsedColumns);
33
+ }
34
+ catch (e) {
35
+ console.error('Invalid JSON format for columnsJson:', e.message);
36
+ this.parsedColumns = [];
37
+ }
38
+ }
39
+ parseData(newValue, oldValue) {
40
+ this.parseDataArray(newValue, oldValue);
41
+ }
42
+ parseJsonData(newValue) {
43
+ try {
44
+ const newItems = newValue ? JSON.parse(newValue) : [];
45
+ this.parseDataArray(newItems, this.parsedData);
46
+ }
47
+ catch (e) {
48
+ console.error('Invalid JSON format for dataJson:', e.message);
49
+ this.parsedData = [];
50
+ }
51
+ }
52
+ //#endregion WATCHERS
53
+ /****************************************************************************/
54
+ //#region METHODS
55
+ /**
56
+ * Parses the columns array.
57
+ * @param {string[]} newValue - The new value of the columns array.
58
+ * @param {string[]} oldValue - The old value of the columns array.
59
+ */
60
+ parseColumnsArray(newValue, oldValue) {
61
+ if (JSON.stringify(newValue) === JSON.stringify(oldValue))
62
+ return; // Deep comparison
63
+ this.parsedColumns = Array.isArray(newValue) ? newValue : [];
64
+ }
65
+ /**
66
+ * Parses the data array.
67
+ * @param {any[]} newValue - The new value of the data array.
68
+ * @param {any[]} oldValue - The old value of the data array.
69
+ */
70
+ parseDataArray(newValue, oldValue) {
71
+ if (JSON.stringify(newValue) === JSON.stringify(oldValue))
72
+ return; // Deep comparison
73
+ this.parsedData = Array.isArray(newValue) ? newValue : [];
74
+ }
75
+ //#endregion METHODS
76
+ /****************************************************************************/
77
+ //#region LIFECYCLE
78
+ componentWillLoad() {
79
+ this.hasSlotHead = !!this.el.querySelector('[slot="head"]');
80
+ this.hasSlotBody = !!this.el.querySelector('[slot="body"]');
81
+ if (this.columnsJson) {
82
+ this.parseJsonColumns(this.columnsJson);
83
+ }
84
+ else {
85
+ this.parseColumns(this.columns, this.parsedColumns);
86
+ }
87
+ if (this.dataJson) {
88
+ this.parseJsonData(this.dataJson);
89
+ }
90
+ else {
91
+ this.parseData(this.data, this.parsedData);
92
+ }
93
+ }
94
+ //#endregion LIFECYCLE
95
+ /****************************************************************************/
96
+ //#region RENDER
97
+ render() {
98
+ const headerRows = this.hasSlotHead
99
+ ? Array.from(this.el
100
+ .querySelector('[slot="head"]')
101
+ .querySelectorAll('nv-tablerow'))
102
+ : [];
103
+ const bodyRows = this.hasSlotBody
104
+ ? Array.from(this.el
105
+ .querySelector('[slot="body"]')
106
+ .querySelectorAll('nv-tablerow'))
107
+ : [];
108
+ return (h(Host, { key: 'ab2f459ea80c9f134a537b62298ffd55ad7b719f' }, h("div", { key: '081211573d87749e8b133b89e9da2a201b9e8bf3', class: "hidden" }, h("slot", { key: '7dd2c168d379818e1456eb2117e14cf79e44f33e' }), h("slot", { key: '7c8e1b4cf0b223257148459d753c2eb325a7cd17', name: "head" }), h("slot", { key: 'd107814f31a82e3fd6e22dbccff319c5baf2b3db', name: "body" })), h("slot", { key: 'd704c43a322b073ed459947f23950bc719402656', name: "before" }), this.parsedColumns.length === 0 &&
109
+ this.parsedData.length === 0 &&
110
+ headerRows.length === 0 &&
111
+ bodyRows.length === 0 ? (h("p", null, this.noColumnsNoDataMessage)) : (h("table", null, this.parsedColumns.length > 0 ? (h("thead", null, h("tr", null, this.parsedColumns.map(column => (h("th", null, column)))))) : headerRows.length > 0 ? (h("thead", null, headerRows.map(row => {
112
+ const cells = Array.from(row.querySelectorAll('nv-tablecolumn'));
113
+ return (h("tr", null, cells.map(cell => (h("th", { colSpan: cell.colspan, rowSpan: cell.rowspan, headers: cell.headers, scope: cell.scope, innerHTML: cell.innerHTML })))));
114
+ }))) : null, h("tbody", null, this.parsedData.length === 0 && bodyRows.length === 0 ? (h("tr", null, h("td", { colSpan: this.parsedColumns.length || 12 }, this.noDataMessage))) : this.parsedData.length > 0 ? (this.parsedData.map(row => (h("tr", null, this.parsedColumns.length > 0
115
+ ? this.parsedColumns.map(column => (h("td", null, row[column.toLowerCase()] || '')))
116
+ : Object.values(row).map(value => h("td", null, value)))))) : bodyRows.length > 0 ? (bodyRows.map(row => {
117
+ const cells = Array.from(row.querySelectorAll('nv-tabledatacell'));
118
+ return (h("tr", null, cells.map(cell => (h("td", { colSpan: cell.colspan, rowSpan: cell.rowspan, headers: cell.headers, innerHTML: cell.innerHTML })))));
119
+ })) : null))), h("slot", { key: '727d2040bec14d6632d062637b86b3a79e30b88d', name: "after" })));
120
+ }
121
+ static get is() { return "nv-table"; }
122
+ static get originalStyleUrls() {
123
+ return {
124
+ "$": ["./nv-table.scss"]
125
+ };
126
+ }
127
+ static get styleUrls() {
128
+ return {
129
+ "$": ["nv-table.css"]
130
+ };
131
+ }
132
+ static get properties() {
133
+ return {
134
+ "columns": {
135
+ "type": "unknown",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "string[]",
139
+ "resolved": "string[]",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": false,
144
+ "docs": {
145
+ "tags": [{
146
+ "name": "example",
147
+ "text": "['Name', 'Age', 'Email']"
148
+ }, {
149
+ "name": "default",
150
+ "text": "[]"
151
+ }],
152
+ "text": "Defines the table columns."
153
+ },
154
+ "defaultValue": "[]"
155
+ },
156
+ "columnsJson": {
157
+ "type": "string",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "string",
161
+ "resolved": "string",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": true,
166
+ "docs": {
167
+ "tags": [{
168
+ "name": "example",
169
+ "text": "'[\"Name\", \"Age\", \"Email\"]'"
170
+ }],
171
+ "text": "Defines the table columns.\nIt can be passed directly as an array of strings or as a JSON string."
172
+ },
173
+ "attribute": "columns-json",
174
+ "reflect": true
175
+ },
176
+ "data": {
177
+ "type": "unknown",
178
+ "mutable": false,
179
+ "complexType": {
180
+ "original": "any[]",
181
+ "resolved": "any[]",
182
+ "references": {}
183
+ },
184
+ "required": false,
185
+ "optional": false,
186
+ "docs": {
187
+ "tags": [{
188
+ "name": "example",
189
+ "text": "[{ name: 'Alice', age: 25, email: 'alice@mail.com' }, { name: 'Bob', age: 30, email: 'bob@mail.com' }]"
190
+ }, {
191
+ "name": "default",
192
+ "text": "[]"
193
+ }],
194
+ "text": "Defines the table data."
195
+ },
196
+ "defaultValue": "[]"
197
+ },
198
+ "dataJson": {
199
+ "type": "string",
200
+ "mutable": false,
201
+ "complexType": {
202
+ "original": "string",
203
+ "resolved": "string",
204
+ "references": {}
205
+ },
206
+ "required": false,
207
+ "optional": true,
208
+ "docs": {
209
+ "tags": [{
210
+ "name": "example",
211
+ "text": "'[{ \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },{ \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }]'"
212
+ }],
213
+ "text": "Defines the table data.\nIt can be passed directly as an array of objects or as a JSON string."
214
+ },
215
+ "attribute": "data-json",
216
+ "reflect": true
217
+ },
218
+ "noDataMessage": {
219
+ "type": "string",
220
+ "mutable": false,
221
+ "complexType": {
222
+ "original": "string",
223
+ "resolved": "string",
224
+ "references": {}
225
+ },
226
+ "required": false,
227
+ "optional": false,
228
+ "docs": {
229
+ "tags": [{
230
+ "name": "default",
231
+ "text": "'No data available'"
232
+ }],
233
+ "text": "The message to display when there is no data available."
234
+ },
235
+ "attribute": "no-data-message",
236
+ "reflect": false,
237
+ "defaultValue": "'No data available'"
238
+ },
239
+ "noColumnsNoDataMessage": {
240
+ "type": "string",
241
+ "mutable": false,
242
+ "complexType": {
243
+ "original": "string",
244
+ "resolved": "string",
245
+ "references": {}
246
+ },
247
+ "required": false,
248
+ "optional": false,
249
+ "docs": {
250
+ "tags": [{
251
+ "name": "default",
252
+ "text": "'No data or columns available to display.'"
253
+ }],
254
+ "text": "The message to display when there are no columns or data available."
255
+ },
256
+ "attribute": "no-columns-no-data-message",
257
+ "reflect": false,
258
+ "defaultValue": "'No data or columns available to display.'"
259
+ }
260
+ };
261
+ }
262
+ static get states() {
263
+ return {
264
+ "parsedColumns": {},
265
+ "parsedData": {},
266
+ "hasSlotHead": {},
267
+ "hasSlotBody": {}
268
+ };
269
+ }
270
+ static get elementRef() { return "el"; }
271
+ static get watchers() {
272
+ return [{
273
+ "propName": "columns",
274
+ "methodName": "parseColumns"
275
+ }, {
276
+ "propName": "columnsJson",
277
+ "methodName": "parseJsonColumns"
278
+ }, {
279
+ "propName": "data",
280
+ "methodName": "parseData"
281
+ }, {
282
+ "propName": "dataJson",
283
+ "methodName": "parseJsonData"
284
+ }];
285
+ }
286
+ }
287
+ //# sourceMappingURL=nv-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-table.js","sourceRoot":"","sources":["../../../src/components/nv-table/nv-table.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Host, Prop, State, Watch, h, Element } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the table content.\n * @slot head - Use this slot to insert HTML into the table header.\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n * @slot body - Use this slot to insert HTML into the table body.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: './nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: string[] = []; // Parsed array of column headers\n\n @State()\n parsedData: any[] = []; // Parsed array of data rows\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 * Defines the table columns.\n * @example ['Name', 'Age', 'Email']\n * @default []\n */\n @Prop()\n readonly columns: string[] = [];\n\n /**\n * Defines the table columns.\n * It can be passed directly as an array of strings or as a JSON string.\n * @example '[\"Name\", \"Age\", \"Email\"]'\n */\n @Prop({ reflect: true })\n readonly columnsJson?: string;\n\n /**\n * Defines the table data.\n * @example [{ name: 'Alice', age: 25, email: 'alice@mail.com' }, { name: 'Bob', age: 30, email: 'bob@mail.com' }]\n * @default []\n */\n @Prop()\n readonly data: any[] = [];\n\n /**\n * Defines the table data.\n * It can be passed directly as an array of objects or as a JSON string.\n * @example '[{ \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },{ \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }]'\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: string[], oldValue: string[]) {\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 //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Parses the columns array.\n * @param {string[]} newValue - The new value of the columns array.\n * @param {string[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: string[], oldValue: string[]) {\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 this.hasSlotBody = !!this.el.querySelector('[slot=\"body\"]');\n\n if (this.columnsJson) {\n this.parseJsonColumns(this.columnsJson);\n } else {\n this.parseColumns(this.columns, this.parsedColumns);\n }\n\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else {\n this.parseData(this.data, this.parsedData);\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerRows = this.hasSlotHead\n ? Array.from(\n this.el\n .querySelector('[slot=\"head\"]')\n .querySelectorAll('nv-tablerow'),\n )\n : [];\n const bodyRows = this.hasSlotBody\n ? Array.from(\n this.el\n .querySelector('[slot=\"body\"]')\n .querySelectorAll('nv-tablerow'),\n )\n : [];\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 headerRows.length === 0 &&\n bodyRows.length === 0 ? (\n <p>{this.noColumnsNoDataMessage}</p>\n ) : (\n <table>\n {this.parsedColumns.length > 0 ? (\n <thead>\n <tr>\n {this.parsedColumns.map(column => (\n <th>{column}</th>\n ))}\n </tr>\n </thead>\n ) : headerRows.length > 0 ? (\n <thead>\n {headerRows.map(row => {\n const cells = Array.from(\n row.querySelectorAll('nv-tablecolumn'),\n );\n return (\n <tr>\n {cells.map(cell => (\n <th\n colSpan={cell.colspan}\n rowSpan={cell.rowspan}\n headers={cell.headers}\n scope={cell.scope}\n innerHTML={cell.innerHTML}\n ></th>\n ))}\n </tr>\n );\n })}\n </thead>\n ) : null}\n\n <tbody>\n {this.parsedData.length === 0 && bodyRows.length === 0 ? (\n <tr>\n <td colSpan={this.parsedColumns.length || 12}>\n {this.noDataMessage}\n </td>\n </tr>\n ) : this.parsedData.length > 0 ? (\n this.parsedData.map(row => (\n <tr>\n {this.parsedColumns.length > 0\n ? this.parsedColumns.map(column => (\n <td>{row[column.toLowerCase()] || ''}</td>\n ))\n : Object.values(row).map(value => <td>{value}</td>)}\n </tr>\n ))\n ) : bodyRows.length > 0 ? (\n bodyRows.map(row => {\n const cells = Array.from(\n row.querySelectorAll('nv-tabledatacell'),\n );\n return (\n <tr>\n {cells.map(cell => (\n <td\n colSpan={cell.colspan}\n rowSpan={cell.rowspan}\n headers={cell.headers}\n innerHTML={cell.innerHTML}\n ></td>\n ))}\n </tr>\n );\n })\n ) : null}\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 NvTablebodyDocs = {
2
+ component: 'nv-tablebody',
3
+ subcomponents: ['nv-tablerow', 'nv-tabledatacell'],
4
+ composedComponents: ['nv-tablerow', 'nv-tabledatacell'],
5
+ skip: true,
6
+ };
7
+ export default NvTablebodyDocs;
8
+ //# sourceMappingURL=nv-tablebody.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-tablebody.docs.js","sourceRoot":"","sources":["../../../src/components/nv-tablebody/nv-tablebody.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAqC;IACxD,SAAS,EAAE,cAAc;IACzB,aAAa,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;IAClD,kBAAkB,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC;IACvD,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvTablebodyDocs: NovaDocs<Components.NvTablebody> = {\n component: 'nv-tablebody',\n subcomponents: ['nv-tablerow', 'nv-tabledatacell'],\n composedComponents: ['nv-tablerow', 'nv-tabledatacell'],\n skip: true,\n};\n\nexport default NvTablebodyDocs;\n"]}
@@ -0,0 +1,23 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * @slot default - Use this slot to insert HTML into the table body.
4
+ */
5
+ export class NvTablebody {
6
+ /****************************************************************************/
7
+ //#region RENDER
8
+ render() {
9
+ return (h(Host, { key: '033046403a927a4e738ee0b17491436872845375' }, h("tbody", { key: 'e9dd64ba4c4463b64f7c48ea01aa8d577d1abddd' }, h("slot", { key: '3790e34a3f1c0c870e41f5259edf956253cf031d' }))));
10
+ }
11
+ static get is() { return "nv-tablebody"; }
12
+ static get originalStyleUrls() {
13
+ return {
14
+ "$": ["nv-tablebody.scss"]
15
+ };
16
+ }
17
+ static get styleUrls() {
18
+ return {
19
+ "$": ["nv-tablebody.css"]
20
+ };
21
+ }
22
+ }
23
+ //# sourceMappingURL=nv-tablebody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-tablebody.js","sourceRoot":"","sources":["../../../src/components/nv-tablebody/nv-tablebody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,WAAW;IACtB,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 table body.\n */\n@Component({\n tag: 'nv-tablebody',\n styleUrl: 'nv-tablebody.scss',\n shadow: false,\n})\nexport class NvTablebody {\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 NvTablecolumnDocs = {
2
+ component: 'nv-tablecolumn',
3
+ skip: true,
4
+ };
5
+ export default NvTablecolumnDocs;
6
+ //# sourceMappingURL=nv-tablecolumn.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-tablecolumn.docs.js","sourceRoot":"","sources":["../../../src/components/nv-tablecolumn/nv-tablecolumn.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAuC;IAC5D,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvTablecolumnDocs: NovaDocs<Components.NvTablecolumn> = {\n component: 'nv-tablecolumn',\n skip: true,\n};\n\nexport default NvTablecolumnDocs;\n"]}