@nova-design-system/nova-webcomponents 3.0.0-beta.46 → 3.0.0

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 (322) hide show
  1. package/dist/cjs/index-9bda5507.js +0 -4
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/native.cjs.js +1 -1
  4. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  5. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  6. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  7. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  8. package/dist/cjs/nv-calendar.cjs.entry.js +48 -19
  9. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  11. package/dist/cjs/nv-datagrid.cjs.entry.js +351 -91
  12. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  14. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  16. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  17. package/dist/cjs/nv-fielddate.cjs.entry.js +5 -5
  18. package/dist/cjs/nv-fielddaterange.cjs.entry.js +4 -4
  19. package/dist/cjs/nv-fielddropdown.cjs.entry.js +15 -29
  20. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +28 -71
  23. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  27. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  28. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  29. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  30. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  31. package/dist/cjs/nv-fieldtime.cjs.entry.js +9 -9
  32. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-menu.cjs.entry.js +16 -42
  35. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  40. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  42. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  43. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  44. package/dist/collection/collection-manifest.json +0 -1
  45. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  46. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  47. package/dist/collection/components/nv-button/nv-button.js +1 -1
  48. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +0 -9
  49. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
  50. package/dist/collection/components/nv-calendar/nv-calendar.js +48 -19
  51. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  52. package/dist/collection/components/nv-col/nv-col.js +1 -1
  53. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +542 -75
  54. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  55. package/dist/collection/components/nv-datagrid/nv-datagrid.js +366 -95
  56. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  57. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  58. package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
  59. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  60. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  61. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  62. package/dist/collection/components/nv-fielddate/nv-fielddate.js +5 -5
  63. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +4 -4
  64. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -8
  65. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  66. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +22 -39
  67. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  68. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  69. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  70. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +6 -6
  71. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  72. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +35 -85
  73. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  74. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  75. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  76. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  77. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  78. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  79. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  80. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  81. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  82. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  83. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  84. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  85. package/dist/collection/components/nv-menu/nv-menu.docs.js +3 -3
  86. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  87. package/dist/collection/components/nv-menu/nv-menu.js +31 -59
  88. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  89. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  90. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  91. package/dist/collection/components/nv-row/nv-row.js +1 -1
  92. package/dist/collection/components/nv-stack/nv-stack.docs.js +7 -6
  93. package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -1
  94. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  95. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  96. package/dist/collection/components/nv-table/nv-table.js +2 -2
  97. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  98. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  99. package/dist/components/nv-alert.js +1 -1
  100. package/dist/components/nv-avatar.js +1 -1
  101. package/dist/components/nv-badge.js +1 -1
  102. package/dist/components/nv-breadcrumb.js +3 -3
  103. package/dist/components/nv-breadcrumbs.js +1 -1
  104. package/dist/components/nv-button.js +1 -1
  105. package/dist/components/nv-calendar.js +1 -1
  106. package/dist/components/nv-col.js +1 -1
  107. package/dist/components/nv-datagrid.js +359 -94
  108. package/dist/components/nv-datagrid.js.map +1 -1
  109. package/dist/components/nv-datagridcolumn.js +1 -1
  110. package/dist/components/nv-dialog.js +6 -6
  111. package/dist/components/nv-dialogfooter.js +1 -1
  112. package/dist/components/nv-dialogheader.js +1 -1
  113. package/dist/components/nv-fieldcheckbox.js +1 -1
  114. package/dist/components/nv-fielddate.js +12 -12
  115. package/dist/components/nv-fielddaterange.js +11 -11
  116. package/dist/components/nv-fielddropdown.js +21 -36
  117. package/dist/components/nv-fielddropdown.js.map +1 -1
  118. package/dist/components/nv-fielddropdownitem.js +1 -1
  119. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  120. package/dist/components/nv-fieldmultiselect.js +36 -81
  121. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  122. package/dist/components/nv-fieldnumber.js +6 -6
  123. package/dist/components/nv-fieldnumber.js.map +1 -1
  124. package/dist/components/nv-fieldpassword.js +6 -6
  125. package/dist/components/nv-fieldradio.js +3 -3
  126. package/dist/components/nv-fieldselect.js +8 -8
  127. package/dist/components/nv-fieldtext.js +4 -4
  128. package/dist/components/nv-fieldtextarea.js +3 -3
  129. package/dist/components/nv-fieldtime.js +13 -13
  130. package/dist/components/nv-icon.js +1 -1
  131. package/dist/components/nv-iconbutton.js +1 -1
  132. package/dist/components/nv-loader.js +1 -1
  133. package/dist/components/nv-menu.js +21 -50
  134. package/dist/components/nv-menu.js.map +1 -1
  135. package/dist/components/nv-menuitem.js +1 -1
  136. package/dist/components/nv-popover.js +1 -1
  137. package/dist/components/nv-row.js +1 -1
  138. package/dist/components/nv-stack.js +1 -1
  139. package/dist/components/nv-stack.js.map +1 -1
  140. package/dist/components/nv-table.js +2 -2
  141. package/dist/components/nv-toggle.js +2 -2
  142. package/dist/components/nv-tooltip.js +1 -1
  143. package/dist/components/{p-d88ced51.js → p-02752770.js} +2 -2
  144. package/dist/components/{p-d88ced51.js.map → p-02752770.js.map} +1 -1
  145. package/dist/components/{p-7b89fb48.js → p-150daf68.js} +2 -2
  146. package/dist/components/{p-7b89fb48.js.map → p-150daf68.js.map} +1 -1
  147. package/dist/components/{p-56ef8131.js → p-2012b8ba.js} +3 -3
  148. package/dist/components/{p-56ef8131.js.map → p-2012b8ba.js.map} +1 -1
  149. package/dist/components/{p-8674c7af.js → p-2d9ba7d3.js} +3 -3
  150. package/dist/components/{p-8674c7af.js.map → p-2d9ba7d3.js.map} +1 -1
  151. package/dist/components/{p-5a5f11c2.js → p-373926aa.js} +2 -2
  152. package/dist/components/{p-5a5f11c2.js.map → p-373926aa.js.map} +1 -1
  153. package/dist/components/{p-dcabc6fa.js → p-4d3ec142.js} +3 -3
  154. package/dist/components/{p-dcabc6fa.js.map → p-4d3ec142.js.map} +1 -1
  155. package/dist/components/{p-91b58443.js → p-591730e7.js} +2 -2
  156. package/dist/components/{p-91b58443.js.map → p-591730e7.js.map} +1 -1
  157. package/dist/components/{p-b4768da6.js → p-6c364a23.js} +5 -5
  158. package/dist/components/{p-b4768da6.js.map → p-6c364a23.js.map} +1 -1
  159. package/dist/components/{p-f469df15.js → p-a30b55fc.js} +2 -2
  160. package/dist/components/{p-f469df15.js.map → p-a30b55fc.js.map} +1 -1
  161. package/dist/components/{p-664c5a14.js → p-b7b78e64.js} +2 -2
  162. package/dist/components/{p-664c5a14.js.map → p-b7b78e64.js.map} +1 -1
  163. package/dist/components/{p-8c5a861b.js → p-c14f6b8e.js} +3 -3
  164. package/dist/components/{p-8c5a861b.js.map → p-c14f6b8e.js.map} +1 -1
  165. package/dist/components/{p-a9e1bf70.js → p-dc3faba3.js} +4 -4
  166. package/dist/components/{p-a9e1bf70.js.map → p-dc3faba3.js.map} +1 -1
  167. package/dist/components/{p-9d6aaf76.js → p-e00cbb8a.js} +5 -5
  168. package/dist/components/{p-9d6aaf76.js.map → p-e00cbb8a.js.map} +1 -1
  169. package/dist/components/{p-a9f162a8.js → p-f331117c.js} +53 -24
  170. package/dist/components/p-f331117c.js.map +1 -0
  171. package/dist/components/{p-18bc0291.js → p-f4d86795.js} +3 -3
  172. package/dist/components/{p-18bc0291.js.map → p-f4d86795.js.map} +1 -1
  173. package/dist/esm/index-1fb7a9a6.js +0 -4
  174. package/dist/esm/loader.js +1 -1
  175. package/dist/esm/native.js +1 -1
  176. package/dist/esm/nv-badge_2.entry.js +1 -1
  177. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  178. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  179. package/dist/esm/nv-button.entry.js +1 -1
  180. package/dist/esm/nv-calendar.entry.js +48 -19
  181. package/dist/esm/nv-calendar.entry.js.map +1 -1
  182. package/dist/esm/nv-col.entry.js +1 -1
  183. package/dist/esm/nv-datagrid.entry.js +351 -91
  184. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  185. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  186. package/dist/esm/nv-dialog.entry.js +1 -1
  187. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  188. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  189. package/dist/esm/nv-fielddate.entry.js +5 -5
  190. package/dist/esm/nv-fielddaterange.entry.js +4 -4
  191. package/dist/esm/nv-fielddropdown.entry.js +15 -29
  192. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  193. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  194. package/dist/esm/nv-fieldmultiselect.entry.js +28 -71
  195. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  196. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  197. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  198. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  199. package/dist/esm/nv-fieldradio.entry.js +3 -3
  200. package/dist/esm/nv-fieldselect.entry.js +5 -5
  201. package/dist/esm/nv-fieldtext.entry.js +3 -3
  202. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  203. package/dist/esm/nv-fieldtime.entry.js +9 -9
  204. package/dist/esm/nv-icon.entry.js +1 -1
  205. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  206. package/dist/esm/nv-menu.entry.js +16 -42
  207. package/dist/esm/nv-menu.entry.js.map +1 -1
  208. package/dist/esm/nv-menuitem.entry.js +1 -1
  209. package/dist/esm/nv-popover.entry.js +1 -1
  210. package/dist/esm/nv-row.entry.js +1 -1
  211. package/dist/esm/nv-stack.entry.js +1 -1
  212. package/dist/esm/nv-stack.entry.js.map +1 -1
  213. package/dist/esm/nv-table.entry.js +2 -2
  214. package/dist/esm/nv-toggle.entry.js +2 -2
  215. package/dist/esm/nv-tooltip.entry.js +1 -1
  216. package/dist/native/native.esm.js +1 -1
  217. package/dist/native/native.esm.js.map +1 -1
  218. package/dist/native/p-0245863d.entry.js +2 -0
  219. package/dist/native/{p-8946883b.entry.js → p-0ee428d5.entry.js} +2 -2
  220. package/dist/native/{p-8f7c1bb8.entry.js → p-244f56ac.entry.js} +2 -2
  221. package/dist/native/p-2691e02d.entry.js +2 -0
  222. package/dist/native/{p-aeac63ea.entry.js → p-37f0210e.entry.js} +2 -2
  223. package/dist/native/{p-000ef9c9.entry.js → p-39bb95ff.entry.js} +2 -2
  224. package/dist/native/{p-76cd466a.entry.js → p-4ae26462.entry.js} +2 -2
  225. package/dist/native/{p-75f4bfe8.entry.js → p-4d9c4618.entry.js} +2 -2
  226. package/dist/native/p-4d9c4618.entry.js.map +1 -0
  227. package/dist/native/{p-d4e48d08.entry.js → p-59e0bd2b.entry.js} +2 -2
  228. package/dist/native/{p-d4e48d08.entry.js.map → p-59e0bd2b.entry.js.map} +1 -1
  229. package/dist/native/{p-626a1372.entry.js → p-5c00f092.entry.js} +2 -2
  230. package/dist/native/p-63e6aed3.entry.js +2 -0
  231. package/dist/native/p-63e6aed3.entry.js.map +1 -0
  232. package/dist/native/{p-4fe5ebe9.entry.js → p-6b348684.entry.js} +2 -2
  233. package/dist/native/{p-aa957898.entry.js → p-6ff228da.entry.js} +2 -2
  234. package/dist/native/{p-aa957898.entry.js.map → p-6ff228da.entry.js.map} +1 -1
  235. package/dist/native/{p-74f7f404.entry.js → p-701b5557.entry.js} +2 -2
  236. package/dist/native/{p-002e7bf1.entry.js → p-7f5eb2ac.entry.js} +2 -2
  237. package/dist/native/{p-e4f84faa.entry.js → p-84a73e2a.entry.js} +2 -2
  238. package/dist/native/p-9135fdf5.entry.js +2 -0
  239. package/dist/native/p-93dc2f47.entry.js +2 -0
  240. package/dist/native/{p-7e1fa44c.entry.js.map → p-93dc2f47.entry.js.map} +1 -1
  241. package/dist/native/{p-be5f62e5.entry.js → p-9a267f16.entry.js} +2 -2
  242. package/dist/native/p-9a267f16.entry.js.map +1 -0
  243. package/dist/native/{p-60d6ffa3.entry.js → p-9d6431c7.entry.js} +2 -2
  244. package/dist/native/{p-b11fdaed.entry.js → p-b094296d.entry.js} +2 -2
  245. package/dist/native/{p-43cc98dc.entry.js → p-b2ce83ad.entry.js} +2 -2
  246. package/dist/native/{p-115ad66c.entry.js → p-bad11367.entry.js} +2 -2
  247. package/dist/native/{p-6603d939.entry.js → p-c7b201cd.entry.js} +2 -2
  248. package/dist/native/{p-4c859a14.entry.js → p-d7a76400.entry.js} +2 -2
  249. package/dist/native/p-e1a4f776.entry.js +2 -0
  250. package/dist/native/p-e1a4f776.entry.js.map +1 -0
  251. package/dist/native/p-e49bbd02.entry.js +2 -0
  252. package/dist/native/p-e49bbd02.entry.js.map +1 -0
  253. package/dist/native/{p-98030346.entry.js → p-e5de64d5.entry.js} +2 -2
  254. package/dist/native/p-eee01062.entry.js +2 -0
  255. package/dist/native/{p-3df6febe.entry.js.map → p-eee01062.entry.js.map} +1 -1
  256. package/dist/native/{p-b6164ebc.entry.js → p-f6bdc270.entry.js} +2 -2
  257. package/dist/native/{p-50dcce07.entry.js → p-f85aca27.entry.js} +2 -2
  258. package/dist/native/{p-1e5453be.entry.js → p-fa77a591.entry.js} +2 -2
  259. package/dist/native/{p-d5158e27.entry.js → p-fb5bddba.entry.js} +2 -2
  260. package/dist/types/components/nv-calendar/nv-calendar.d.ts +10 -7
  261. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +37 -2
  262. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +16 -20
  263. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +16 -34
  264. package/dist/types/components/nv-menu/nv-menu.d.ts +46 -12
  265. package/dist/types/components.d.ts +174 -43
  266. package/dist/vscode-data.json +8 -20
  267. package/hydrate/index.js +535 -407
  268. package/hydrate/index.mjs +535 -407
  269. package/package.json +3 -2
  270. package/dist/cjs/nv-base.cjs.entry.js +0 -74
  271. package/dist/cjs/nv-base.cjs.entry.js.map +0 -1
  272. package/dist/collection/components/nv-base/nv-base.docs.js +0 -5
  273. package/dist/collection/components/nv-base/nv-base.docs.js.map +0 -1
  274. package/dist/collection/components/nv-base/nv-base.js +0 -68
  275. package/dist/collection/components/nv-base/nv-base.js.map +0 -1
  276. package/dist/components/nv-base.d.ts +0 -11
  277. package/dist/components/nv-base.js +0 -88
  278. package/dist/components/nv-base.js.map +0 -1
  279. package/dist/components/p-a9f162a8.js.map +0 -1
  280. package/dist/esm/nv-base.entry.js +0 -70
  281. package/dist/esm/nv-base.entry.js.map +0 -1
  282. package/dist/native/p-2ed9934a.entry.js +0 -2
  283. package/dist/native/p-2ed9934a.entry.js.map +0 -1
  284. package/dist/native/p-3df6febe.entry.js +0 -2
  285. package/dist/native/p-4977fcd0.entry.js +0 -2
  286. package/dist/native/p-75f4bfe8.entry.js.map +0 -1
  287. package/dist/native/p-7e1fa44c.entry.js +0 -2
  288. package/dist/native/p-b8b58064.entry.js +0 -2
  289. package/dist/native/p-be5f62e5.entry.js.map +0 -1
  290. package/dist/native/p-c6fe73a9.entry.js +0 -2
  291. package/dist/native/p-c6fe73a9.entry.js.map +0 -1
  292. package/dist/native/p-ce64d562.entry.js +0 -2
  293. package/dist/native/p-d352a8b3.entry.js +0 -2
  294. package/dist/native/p-d352a8b3.entry.js.map +0 -1
  295. package/dist/native/p-e200185a.entry.js +0 -2
  296. package/dist/native/p-e200185a.entry.js.map +0 -1
  297. package/dist/types/components/nv-base/nv-base.d.ts +0 -17
  298. package/dist/types/components/nv-base/nv-base.docs.d.ts +0 -5
  299. /package/dist/native/{p-ce64d562.entry.js.map → p-0245863d.entry.js.map} +0 -0
  300. /package/dist/native/{p-8946883b.entry.js.map → p-0ee428d5.entry.js.map} +0 -0
  301. /package/dist/native/{p-8f7c1bb8.entry.js.map → p-244f56ac.entry.js.map} +0 -0
  302. /package/dist/native/{p-4977fcd0.entry.js.map → p-2691e02d.entry.js.map} +0 -0
  303. /package/dist/native/{p-aeac63ea.entry.js.map → p-37f0210e.entry.js.map} +0 -0
  304. /package/dist/native/{p-000ef9c9.entry.js.map → p-39bb95ff.entry.js.map} +0 -0
  305. /package/dist/native/{p-76cd466a.entry.js.map → p-4ae26462.entry.js.map} +0 -0
  306. /package/dist/native/{p-626a1372.entry.js.map → p-5c00f092.entry.js.map} +0 -0
  307. /package/dist/native/{p-4fe5ebe9.entry.js.map → p-6b348684.entry.js.map} +0 -0
  308. /package/dist/native/{p-74f7f404.entry.js.map → p-701b5557.entry.js.map} +0 -0
  309. /package/dist/native/{p-002e7bf1.entry.js.map → p-7f5eb2ac.entry.js.map} +0 -0
  310. /package/dist/native/{p-e4f84faa.entry.js.map → p-84a73e2a.entry.js.map} +0 -0
  311. /package/dist/native/{p-b8b58064.entry.js.map → p-9135fdf5.entry.js.map} +0 -0
  312. /package/dist/native/{p-60d6ffa3.entry.js.map → p-9d6431c7.entry.js.map} +0 -0
  313. /package/dist/native/{p-b11fdaed.entry.js.map → p-b094296d.entry.js.map} +0 -0
  314. /package/dist/native/{p-43cc98dc.entry.js.map → p-b2ce83ad.entry.js.map} +0 -0
  315. /package/dist/native/{p-115ad66c.entry.js.map → p-bad11367.entry.js.map} +0 -0
  316. /package/dist/native/{p-6603d939.entry.js.map → p-c7b201cd.entry.js.map} +0 -0
  317. /package/dist/native/{p-4c859a14.entry.js.map → p-d7a76400.entry.js.map} +0 -0
  318. /package/dist/native/{p-98030346.entry.js.map → p-e5de64d5.entry.js.map} +0 -0
  319. /package/dist/native/{p-b6164ebc.entry.js.map → p-f6bdc270.entry.js.map} +0 -0
  320. /package/dist/native/{p-50dcce07.entry.js.map → p-f85aca27.entry.js.map} +0 -0
  321. /package/dist/native/{p-1e5453be.entry.js.map → p-fa77a591.entry.js.map} +0 -0
  322. /package/dist/native/{p-d5158e27.entry.js.map → p-fb5bddba.entry.js.map} +0 -0
@@ -30,7 +30,7 @@ const NvCol = class {
30
30
  /****************************************************************************/
31
31
  //#region RENDER
32
32
  render() {
33
- return (index.h(index.Host, { key: '8c6efe159aa3b9d853d07897e17045adabf5716c', class: clsx.clsx(this.getColSize()) }, index.h("slot", { key: '5438e2dd941088fde68b17495a4d231cc56fba3c' })));
33
+ return (index.h(index.Host, { key: '8f7112dc8ce8896d9e7265741f06b7449dd508df', class: clsx.clsx(this.getColSize()) }, index.h("slot", { key: '3bedff11752d04db2615a5f26d4d910d95dee76c' })));
34
34
  }
35
35
  };
36
36
  NvCol.style = NvColStyle0;
@@ -2957,6 +2957,22 @@ function getCoreRowModel() {
2957
2957
  return rowModel;
2958
2958
  }, getMemoOptions(table.options, 'debugTable', 'getRowModel', () => table._autoResetPageIndex()));
2959
2959
  }
2960
+ function expandRows(rowModel) {
2961
+ const expandedRows = [];
2962
+ const handleRow = row => {
2963
+ var _row$subRows;
2964
+ expandedRows.push(row);
2965
+ if ((_row$subRows = row.subRows) != null && _row$subRows.length && row.getIsExpanded()) {
2966
+ row.subRows.forEach(handleRow);
2967
+ }
2968
+ };
2969
+ rowModel.rows.forEach(handleRow);
2970
+ return {
2971
+ rows: expandedRows,
2972
+ flatRows: rowModel.flatRows,
2973
+ rowsById: rowModel.rowsById
2974
+ };
2975
+ }
2960
2976
 
2961
2977
  function filterRows(rows, filterRowImpl, table) {
2962
2978
  if (table.options.filterFromLeafRows) {
@@ -3144,6 +3160,49 @@ function getFilteredRowModel() {
3144
3160
  }, getMemoOptions(table.options, 'debugTable', 'getFilteredRowModel', () => table._autoResetPageIndex()));
3145
3161
  }
3146
3162
 
3163
+ function getPaginationRowModel(opts) {
3164
+ return table => memo(() => [table.getState().pagination, table.getPrePaginationRowModel(), table.options.paginateExpandedRows ? undefined : table.getState().expanded], (pagination, rowModel) => {
3165
+ if (!rowModel.rows.length) {
3166
+ return rowModel;
3167
+ }
3168
+ const {
3169
+ pageSize,
3170
+ pageIndex
3171
+ } = pagination;
3172
+ let {
3173
+ rows,
3174
+ flatRows,
3175
+ rowsById
3176
+ } = rowModel;
3177
+ const pageStart = pageSize * pageIndex;
3178
+ const pageEnd = pageStart + pageSize;
3179
+ rows = rows.slice(pageStart, pageEnd);
3180
+ let paginatedRowModel;
3181
+ if (!table.options.paginateExpandedRows) {
3182
+ paginatedRowModel = expandRows({
3183
+ rows,
3184
+ flatRows,
3185
+ rowsById
3186
+ });
3187
+ } else {
3188
+ paginatedRowModel = {
3189
+ rows,
3190
+ flatRows,
3191
+ rowsById
3192
+ };
3193
+ }
3194
+ paginatedRowModel.flatRows = [];
3195
+ const handleRow = row => {
3196
+ paginatedRowModel.flatRows.push(row);
3197
+ if (row.subRows.length) {
3198
+ row.subRows.forEach(handleRow);
3199
+ }
3200
+ };
3201
+ paginatedRowModel.rows.forEach(handleRow);
3202
+ return paginatedRowModel;
3203
+ }, getMemoOptions(table.options, 'debugTable'));
3204
+ }
3205
+
3147
3206
  /* eslint-disable @typescript-eslint/no-explicit-any */
3148
3207
  /**
3149
3208
  * Debounce function to prevent multiple calls in a short
@@ -3173,13 +3232,15 @@ const NvDatagrid = class {
3173
3232
  this.action = index.createEvent(this, "action", 7);
3174
3233
  this.templateCache = new Map();
3175
3234
  this.headerTemplateCache = new Map();
3235
+ this.minPageIndex = 1;
3176
3236
  /****************************************************************************/
3177
3237
  //#region STATES
3178
3238
  this.table = null;
3179
3239
  this.parsedColumns = []; // Parsed array
3180
3240
  this.parsedData = []; // Parsed array
3181
- this.globalFilter = '';
3241
+ this.globalFilterSearchTerm = '';
3182
3242
  this.columnData = [];
3243
+ this.paginationState = null;
3183
3244
  //#endregion STATES
3184
3245
  /****************************************************************************/
3185
3246
  //#region PROPERTIES
@@ -3229,8 +3290,24 @@ const NvDatagrid = class {
3229
3290
  * @default false
3230
3291
  */
3231
3292
  this.autoGenerateColumns = false;
3293
+ /**
3294
+ * Whether to enable pagination for the data grid.
3295
+ * @default false
3296
+ */
3297
+ this.enablePagination = false;
3298
+ /**
3299
+ * The number of rows to display per page.
3300
+ * @default 10
3301
+ */
3302
+ this.pageSize = 10;
3303
+ /**
3304
+ * The array of page sizes to display in the pagination dropdown.
3305
+ * @default [10, 20, 30, 40, 50]
3306
+ */
3307
+ this.pageSizes = [10, 20, 30, 40, 50];
3232
3308
  this.debouncedFilter = debounce((value) => {
3233
- this.globalFilter = value;
3309
+ var _a;
3310
+ (_a = this.table) === null || _a === void 0 ? void 0 : _a.setGlobalFilter(value);
3234
3311
  }, 300);
3235
3312
  /**
3236
3313
  * Handles global filtering on input event for the search input.
@@ -3246,6 +3323,23 @@ const NvDatagrid = class {
3246
3323
  this.debouncedFilter(value);
3247
3324
  }
3248
3325
  };
3326
+ this.flexRender = (comp, props) => {
3327
+ if (typeof comp === 'function') {
3328
+ return comp(props);
3329
+ }
3330
+ return comp;
3331
+ };
3332
+ this.handlePageIndexChange = (event) => {
3333
+ const target = event.target;
3334
+ const page = target.value ? Number(target.value) - 1 : 0;
3335
+ // Simply use `setPageIndex` to update the page index directly
3336
+ this.paginationState = Object.assign(Object.assign({}, this.paginationState), { pageIndex: page }); // This triggers the paginationState watcher
3337
+ };
3338
+ this.handlePageSizeChange = (event) => {
3339
+ const target = event.target;
3340
+ // Simply use `setPageSize` to update the page size directly
3341
+ this.paginationState = Object.assign(Object.assign({}, this.paginationState), { pageSize: Number(target.value) }); // This triggers the paginationState watcher
3342
+ };
3249
3343
  }
3250
3344
  //#endregion PROPERTIES
3251
3345
  /****************************************************************************/
@@ -3347,6 +3441,7 @@ const NvDatagrid = class {
3347
3441
  this.parsedColumns = safeNewValue;
3348
3442
  }
3349
3443
  initializeTable() {
3444
+ var _a, _b, _c, _d;
3350
3445
  // Clear the previous table instance (if any)
3351
3446
  this.table = null;
3352
3447
  // Set default options for the table
@@ -3380,26 +3475,9 @@ const NvDatagrid = class {
3380
3475
  }, // Default: no column sizing info
3381
3476
  },
3382
3477
  };
3383
- if (this.enableGlobalFilter) {
3384
- tableOptions.getFilteredRowModel = getFilteredRowModel();
3385
- // Set the initial global filter value
3386
- tableOptions.state.globalFilter = this.globalFilter;
3387
- // Define the callback for global filter changes
3388
- tableOptions.onGlobalFilterChange = value => {
3389
- this.globalFilter = value;
3390
- };
3391
- tableOptions.globalFilterFn = (row, columnId, filterValue) => {
3392
- const response = row
3393
- .getValue(columnId)
3394
- .toString()
3395
- .toLowerCase()
3396
- .includes(filterValue.toLowerCase());
3397
- return response;
3398
- };
3399
- }
3400
3478
  if (this.parsedColumns.length > 0) {
3401
3479
  // Validate and generate column definitions
3402
- const validColumns = this.parsedColumns.filter(column => (column === null || column === void 0 ? void 0 : column.accessor) && (column === null || column === void 0 ? void 0 : column.header));
3480
+ const validColumns = this.parsedColumns.filter(column => column === null || column === void 0 ? void 0 : column.accessor);
3403
3481
  // Update tableOptions based on parsed data and columns
3404
3482
  const hasColumns = validColumns && Array.isArray(validColumns) && validColumns.length > 0;
3405
3483
  const hasData = this.parsedData &&
@@ -3407,22 +3485,22 @@ const NvDatagrid = class {
3407
3485
  this.parsedData.length > 0;
3408
3486
  if (!hasColumns && !hasData) ;
3409
3487
  else if (hasColumns && !hasData) {
3488
+ // Has columns but no data
3410
3489
  tableOptions.columns = this.generateColumns(validColumns, tableOptions);
3411
3490
  }
3412
3491
  else {
3413
3492
  // Both columns and data are available
3414
- // No columns and data is available
3415
3493
  tableOptions.data = this.getTableData();
3416
3494
  tableOptions.columns = this.generateColumns(validColumns, tableOptions);
3417
3495
  }
3418
3496
  }
3419
3497
  else {
3420
- // No columns and data is available
3498
+ // No parsed columns and data is available
3421
3499
  const hasData = this.parsedData &&
3422
3500
  Array.isArray(this.parsedData) &&
3423
3501
  this.parsedData.length > 0;
3424
3502
  if (hasData) {
3425
- // No columns and data is available
3503
+ // No parsed columns and data is available
3426
3504
  const firstRow = this.parsedData[0];
3427
3505
  const arrayColumnsConfig = Object.keys(firstRow).map(key => ({
3428
3506
  accessor: key,
@@ -3435,26 +3513,116 @@ const NvDatagrid = class {
3435
3513
  tableOptions.columns = this.generateColumns(arrayColumnsConfig, tableOptions);
3436
3514
  }
3437
3515
  }
3516
+ if (this.enableGlobalFilter) {
3517
+ tableOptions.getFilteredRowModel = getFilteredRowModel();
3518
+ const globalFilter = this.globalFilterSearchTerm;
3519
+ // Set the initial global filter value
3520
+ tableOptions.state.globalFilter = globalFilter;
3521
+ // Define the callback for global filter changes
3522
+ tableOptions.onGlobalFilterChange = updater => {
3523
+ const newFilter = typeof updater === 'function'
3524
+ ? updater(this.globalFilterSearchTerm)
3525
+ : updater;
3526
+ this.globalFilterSearchTerm = newFilter; // Will automatically trigger the searchTerm watcher and update the table
3527
+ };
3528
+ tableOptions.globalFilterFn = this.globalFilterFn;
3529
+ }
3530
+ if (this.enablePagination) {
3531
+ tableOptions.getPaginationRowModel = getPaginationRowModel();
3532
+ const pagination = {
3533
+ pageIndex: (_b = (_a = this.paginationState) === null || _a === void 0 ? void 0 : _a.pageIndex) !== null && _b !== void 0 ? _b : 0,
3534
+ pageSize: (_d = (_c = this.paginationState) === null || _c === void 0 ? void 0 : _c.pageSize) !== null && _d !== void 0 ? _d : 10,
3535
+ };
3536
+ // Set the initial pagination value with safeguards
3537
+ tableOptions.state.pagination = pagination;
3538
+ tableOptions.onPaginationChange = updater => {
3539
+ const newPagination = typeof updater === 'function'
3540
+ ? updater(this.paginationState)
3541
+ : updater;
3542
+ this.paginationState = newPagination;
3543
+ };
3544
+ }
3438
3545
  // Initialize the table
3439
3546
  this.table = createTable(tableOptions);
3440
3547
  }
3548
+ /**
3549
+ * Global filter function for the table.
3550
+ * This function checks if the specified filter value is present in any of the row's original values,
3551
+ * including nested objects and arrays. It is used to filter the rows based on the global filter value,
3552
+ * allowing for case-insensitive matching.
3553
+ *
3554
+ * @param {Row<any>} row - The row object containing the data to be filtered.
3555
+ * @param {string} _columnId - The ID of the column being filtered (not used in this function).
3556
+ * @param {string} filterValue - The value to filter the rows by. This value is checked against the row's data.
3557
+ * @returns {boolean} - Returns true if the row should be included in the filtered results, false otherwise.
3558
+ * If the filter value is empty, all rows are included.
3559
+ */
3560
+ globalFilterFn(row, _columnId, filterValue) {
3561
+ const safeFilterValue = String(filterValue).toLowerCase().trim();
3562
+ // If no filter value, return true for all rows
3563
+ if (!safeFilterValue)
3564
+ return true;
3565
+ // More robust filtering across all columns
3566
+ const checkValue = (value) => {
3567
+ if (typeof value === 'object' && value !== null) {
3568
+ // If it's an array, check each item
3569
+ if (Array.isArray(value)) {
3570
+ return value.some(item => checkValue(item));
3571
+ }
3572
+ // If it's an object, check each property
3573
+ return Object.values(value).some(val => checkValue(val));
3574
+ }
3575
+ return String(value).toLowerCase().includes(safeFilterValue);
3576
+ };
3577
+ return checkValue(row.original);
3578
+ }
3441
3579
  // Helper function to generate column definitions
3442
3580
  generateColumns(validColumns, tableOptions) {
3443
3581
  const columnHelper = createColumnHelper();
3444
3582
  if (validColumns.length > 0) {
3445
3583
  // Use defined columns
3446
- return validColumns.map(column => columnHelper.accessor(column.accessor, {
3447
- header: column.header,
3448
- cell: info => info.getValue(),
3449
- enableGlobalFilter: this.enableGlobalFilter,
3450
- }));
3584
+ return validColumns.map(column => {
3585
+ var _a, _b;
3586
+ return columnHelper.accessor(column.accessor, {
3587
+ header: (_b = (this.renderTemplate(this.headerTemplateCache.get(column.accessor), (_a = column.header) !== null && _a !== void 0 ? _a : column.accessor, null) ||
3588
+ column.header)) !== null && _b !== void 0 ? _b : column.accessor,
3589
+ cell: (info) => {
3590
+ var _a, _b, _c;
3591
+ const value = info.getValue();
3592
+ const cellAccessors = column.accessor;
3593
+ const row = info.row;
3594
+ return ((_a = this.columnData.find(x => x.accessor === cellAccessors)) === null || _a === void 0 ? void 0 : _a.repeatTemplate) && Array.isArray(value)
3595
+ ? value.map((item) => {
3596
+ var _a, _b;
3597
+ return (_b = (_a = (this.renderTemplate(this.templateCache.get(cellAccessors), item, row) ||
3598
+ item)) !== null && _a !== void 0 ? _a : value) !== null && _b !== void 0 ? _b : this.fallbackValue;
3599
+ })
3600
+ : (_c = (_b = (this.renderTemplate(this.templateCache.get(cellAccessors), value, row) ||
3601
+ value)) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
3602
+ },
3603
+ enableGlobalFilter: this.enableGlobalFilter,
3604
+ });
3605
+ });
3451
3606
  }
3452
3607
  else if (tableOptions.data && tableOptions.data.length > 0) {
3453
3608
  // Generate columns from data keys
3454
3609
  const sampleRow = tableOptions.data[0];
3455
3610
  return Object.keys(sampleRow).map(key => columnHelper.accessor(key, {
3456
- header: key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header
3457
- cell: info => info.getValue(),
3611
+ header: this.renderTemplate(this.headerTemplateCache.get(key), key.charAt(0).toUpperCase() + key.slice(1), null) || key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header
3612
+ cell: (info) => {
3613
+ var _a, _b, _c;
3614
+ const value = info.getValue();
3615
+ const cellAccessors = key;
3616
+ const row = info.row;
3617
+ return ((_a = this.columnData.find(x => x.accessor === cellAccessors)) === null || _a === void 0 ? void 0 : _a.repeatTemplate) && Array.isArray(value)
3618
+ ? value.map((item) => {
3619
+ var _a, _b;
3620
+ return (_b = (_a = (this.renderTemplate(this.templateCache.get(cellAccessors), item, row) ||
3621
+ item)) !== null && _a !== void 0 ? _a : value) !== null && _b !== void 0 ? _b : this.fallbackValue;
3622
+ })
3623
+ : (_c = (_b = (this.renderTemplate(this.templateCache.get(cellAccessors), value, row) ||
3624
+ value)) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
3625
+ },
3458
3626
  enableGlobalFilter: this.enableGlobalFilter,
3459
3627
  }));
3460
3628
  }
@@ -3483,11 +3651,11 @@ const NvDatagrid = class {
3483
3651
  // Replace placeholders in text content, attributes, and properties
3484
3652
  element.querySelectorAll('*').forEach(el => {
3485
3653
  // Replace placeholders in text content
3486
- this.replacePlaceholdersTextContent(el, cellValue);
3654
+ this.replacePlaceholdersTextContent(el, cellValue, row);
3487
3655
  // Replace placeholders in attributes
3488
- this.replacePlaceholdersAttributes(el, cellValue);
3656
+ this.replacePlaceholdersAttributes(el, cellValue, row);
3489
3657
  // Replace placeholders in properties
3490
- this.replacePlaceholdersProperties(el, cellValue);
3658
+ this.replacePlaceholdersProperties(el, cellValue, row);
3491
3659
  });
3492
3660
  // Handle `data-bind-event`
3493
3661
  element.querySelectorAll('[data-bind-event]').forEach(el => {
@@ -3586,51 +3754,128 @@ const NvDatagrid = class {
3586
3754
  // If cellValue is a primitive (string, number, boolean, etc.), return it as a string
3587
3755
  return (_a = cellValue === null || cellValue === void 0 ? void 0 : cellValue.toString()) !== null && _a !== void 0 ? _a : this.fallbackValue;
3588
3756
  }
3589
- replacePlaceholdersTextContent(element, cellValue) {
3590
- // Replace placeholders in text content
3591
- element.childNodes.forEach(node => {
3592
- if (node.nodeType === Node.TEXT_NODE) {
3593
- node.textContent = node.textContent.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue));
3594
- }
3595
- });
3757
+ replacePlaceholdersTextContent(element, cellValue, row) {
3758
+ if (!cellValue) {
3759
+ // Replace placeholders in text content with the row original value
3760
+ // but first get the original value
3761
+ const originalValue = row.original;
3762
+ element.childNodes.forEach(node => {
3763
+ if (node.nodeType === Node.TEXT_NODE) {
3764
+ node.textContent = node.textContent.replace(/__([\w.]+)__/g, (_, key) => {
3765
+ if (key in originalValue) {
3766
+ return this.replaceKeyWithValue(key, originalValue[key]);
3767
+ }
3768
+ else {
3769
+ console.warn(`Key ${key} not found in originalValue`);
3770
+ return '';
3771
+ }
3772
+ });
3773
+ }
3774
+ });
3775
+ }
3776
+ else {
3777
+ // ✅ Replace placeholders in text content
3778
+ element.childNodes.forEach(node => {
3779
+ if (node.nodeType === Node.TEXT_NODE) {
3780
+ node.textContent = node.textContent.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue));
3781
+ }
3782
+ });
3783
+ }
3596
3784
  }
3597
- replacePlaceholdersAttributes(element, cellValue) {
3598
- // Replace placeholders in attributes
3599
- Array.from(element.attributes).forEach(attr => {
3600
- if (attr.value.includes('__')) {
3601
- attr.value = attr.value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue));
3602
- }
3603
- });
3785
+ replacePlaceholdersAttributes(element, cellValue, row) {
3786
+ if (!cellValue) {
3787
+ // ✅ Replace placeholders in attributes with the row original value
3788
+ // but first get the original value
3789
+ const originalValue = row.original;
3790
+ Array.from(element.attributes).forEach(attr => {
3791
+ if (attr.value.includes('__')) {
3792
+ attr.value = attr.value.replace(/__([\w.]+)__/g, (_, key) => {
3793
+ if (key in originalValue) {
3794
+ return this.replaceKeyWithValue(key, originalValue[key]);
3795
+ }
3796
+ else {
3797
+ console.warn(`Key ${key} not found in originalValue`);
3798
+ return '';
3799
+ }
3800
+ });
3801
+ }
3802
+ });
3803
+ }
3804
+ else {
3805
+ // ✅ Replace placeholders in attributes
3806
+ Array.from(element.attributes).forEach(attr => {
3807
+ if (attr.value.includes('__')) {
3808
+ attr.value = attr.value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue));
3809
+ }
3810
+ });
3811
+ }
3604
3812
  }
3605
- replacePlaceholdersProperties(element, cellValue) {
3606
- // Dynamically extract relevant properties
3607
- const properties = new Set();
3608
- // Collect only own enumerable properties
3609
- Object.keys(element).forEach(key => properties.add(key));
3610
- // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
3611
- let proto = Object.getPrototypeOf(element);
3612
- while (proto && proto !== HTMLElement.prototype) {
3613
- Object.keys(proto).forEach(key => properties.add(key));
3614
- proto = Object.getPrototypeOf(proto);
3615
- }
3616
- // Filter and copy only non-function properties and exclude irrelevant ones
3617
- properties.forEach(prop => {
3618
- if (typeof element[prop] !== 'function' && // Ignore methods
3619
- !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
3620
- !dom_utils.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
3621
- ) {
3622
- try {
3813
+ replacePlaceholdersProperties(element, cellValue, row) {
3814
+ if (!cellValue) {
3815
+ // ✅ Replace placeholders in properties with the row original value
3816
+ // but first get the original value
3817
+ const originalValue = row.original;
3818
+ // Dynamically extract relevant properties
3819
+ const properties = new Set();
3820
+ // Collect only own enumerable properties
3821
+ Object.keys(originalValue).forEach(key => properties.add(key));
3822
+ // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
3823
+ let proto = Object.getPrototypeOf(originalValue);
3824
+ while (proto && proto !== HTMLElement.prototype) {
3825
+ Object.keys(proto).forEach(key => properties.add(key));
3826
+ proto = Object.getPrototypeOf(proto);
3827
+ }
3828
+ // Filter and copy only non-function properties and exclude irrelevant ones
3829
+ properties.forEach(prop => {
3830
+ if (typeof element[prop] !== 'function' && // Ignore methods
3831
+ !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
3832
+ !dom_utils.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
3833
+ ) {
3623
3834
  const propValue = element[prop];
3624
- // ✅ Replace placeholders only if the value is a string
3625
3835
  if (typeof propValue === 'string' && propValue.includes('__')) {
3626
- element[prop] = propValue.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue)); // ✅ TypeScript safe
3836
+ element[prop] = propValue.replace(/__([\w.]+)__/g, (_, key) => {
3837
+ if (key in originalValue) {
3838
+ return this.replaceKeyWithValue(key, originalValue[key]);
3839
+ }
3840
+ else {
3841
+ console.warn(`Key ${key} not found in originalValue`);
3842
+ return '';
3843
+ }
3844
+ });
3627
3845
  }
3628
3846
  }
3629
- catch (error) {
3630
- console.warn(`Could not assign property ${prop}:`, error.message);
3631
- }
3847
+ });
3848
+ }
3849
+ else {
3850
+ // ✅ Dynamically extract relevant properties
3851
+ const properties = new Set();
3852
+ // Collect only own enumerable properties
3853
+ Object.keys(element).forEach(key => properties.add(key));
3854
+ // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
3855
+ let proto = Object.getPrototypeOf(element);
3856
+ while (proto && proto !== HTMLElement.prototype) {
3857
+ Object.keys(proto).forEach(key => properties.add(key));
3858
+ proto = Object.getPrototypeOf(proto);
3632
3859
  }
3633
- });
3860
+ // ✅ Filter and copy only non-function properties and exclude irrelevant ones
3861
+ properties.forEach(prop => {
3862
+ if (typeof element[prop] !== 'function' && // Ignore methods
3863
+ !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
3864
+ !dom_utils.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
3865
+ ) {
3866
+ try {
3867
+ const propValue = element[prop];
3868
+ // ✅ Replace placeholders only if the value is a string
3869
+ if (typeof propValue === 'string' && propValue.includes('__')) {
3870
+ element[prop] = propValue.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(key, cellValue)); // ✅ TypeScript safe
3871
+ }
3872
+ }
3873
+ catch (error) {
3874
+ console.warn(`Could not assign property ${prop}:`, error.message);
3875
+ }
3876
+ }
3877
+ });
3878
+ }
3634
3879
  }
3635
3880
  //#endregion METHODS
3636
3881
  /****************************************************************************/
@@ -3664,14 +3909,30 @@ const NvDatagrid = class {
3664
3909
  handleParsedChange() {
3665
3910
  this.initializeTable();
3666
3911
  }
3667
- handleGlobalFilter(newValue) {
3912
+ handleGlobalFilterSearchTerm(newValue) {
3913
+ if (!this.table) {
3914
+ console.warn('Table is not initialized yet.');
3915
+ return;
3916
+ }
3917
+ // Not working
3918
+ /*// Set the global filter for the table
3919
+ this.table.setGlobalFilter(newValue);*/
3920
+ // Manually update the globalFilter state
3921
+ this.table.options.state.globalFilter = newValue;
3922
+ }
3923
+ handlePaginationState(newValue, oldValue) {
3668
3924
  if (!this.table) {
3669
3925
  console.warn('Table is not initialized yet.');
3670
3926
  return;
3671
3927
  }
3672
- // 🚨 Manually update state before calling filter
3673
- this.table.options.state = Object.assign(Object.assign({}, this.table.options.state), { globalFilter: newValue });
3674
- this.table.setGlobalFilter(newValue);
3928
+ // Only update if there is a meaningful change
3929
+ if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
3930
+ // Not working
3931
+ /*// Set the pagination for the table
3932
+ this.table.setPagination(newValue);*/
3933
+ // Manually update the pagination state
3934
+ this.table.options.state.pagination = newValue;
3935
+ }
3675
3936
  }
3676
3937
  //#endregion WATCHERS
3677
3938
  /****************************************************************************/
@@ -3680,41 +3941,39 @@ const NvDatagrid = class {
3680
3941
  this.cacheTemplates();
3681
3942
  this.parseDataAndColumns();
3682
3943
  this.initializeTable();
3944
+ if (this.enablePagination) {
3945
+ // Ensure a valid page size
3946
+ const effectivePageSize = this.pageSize > 0 ? this.pageSize : 10;
3947
+ this.paginationState = {
3948
+ pageIndex: Math.max(0, this.minPageIndex - 1),
3949
+ pageSize: effectivePageSize,
3950
+ };
3951
+ }
3683
3952
  }
3684
3953
  //#endregion EVENTS
3685
3954
  /****************************************************************************/
3686
3955
  //#region RENDER
3687
3956
  render() {
3688
- var _a, _b, _c, _d;
3957
+ var _a, _b, _c, _d, _e;
3689
3958
  const headerGroups = !this.table || this.table === undefined || this.parsedColumns.length === 0
3690
3959
  ? []
3691
3960
  : (_a = this.table) === null || _a === void 0 ? void 0 : _a.getHeaderGroups();
3692
3961
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
3693
3962
  ? []
3694
3963
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
3695
- return (index.h(index.Host, { key: '94163c2c73d03dca35795bfb536c5743cb3aa0dc' }, index.h("div", { key: '022776844872a4a6fcf9d7bdc71651e946e83724', class: "hidden" }, index.h("slot", { key: 'a479cfc2b5ee53aa83450ec784451625e1ae7667' })), index.h("slot", { key: '9beeb16975a685d8ce05981923c999ab2ffa004e', name: "before" }), this.enableGlobalFilter && this.table && (index.h("div", { key: '57efcd1ee55fae941a0071000dc665ee76615f32', class: "search-container" }, index.h("input", { key: 'd7352618ce123a7c14d8ebcc0b228136ae2df66a', type: "text", value: (_d = this.globalFilter) !== null && _d !== void 0 ? _d : '', onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns...", class: "search-input", "aria-label": "Search all columns" }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", null, this.parsedColumns.length > 0 && headerGroups
3964
+ return (index.h(index.Host, { key: 'b3886397a5e6694611636d4da7d61ae5ccbe1903' }, index.h("div", { key: '8fa71d83f4cfa79cf7fb334bcf6115e4cf253c5d', class: "hidden" }, index.h("slot", { key: '9aad5956b5973cafc486f3a854a66ae86038ef4a' })), index.h("slot", { key: '7a1ca93223567faffabb3473df2176cd02654247', name: "before" }), this.enableGlobalFilter && this.table && (index.h("div", { key: '0020880c229d8ed9070c15182191e86b8b3fed1d', class: "search-container" }, index.h("input", { key: 'cefc47330a7d770c3668d1406930b9ac50992a10', type: "text", value: (_d = this.globalFilterSearchTerm) !== null && _d !== void 0 ? _d : '', onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns...", class: "search-input", "aria-label": "Search all columns" }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("div", null, index.h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", null, this.parsedColumns.length > 0 && headerGroups
3696
3965
  ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (index.h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
3697
3966
  return (index.h("th", { key: header.id }, header.isPlaceholder
3698
3967
  ? null
3699
- : this.renderTemplate(this.headerTemplateCache.get(header.id), {}) || header.column.columnDef.header));
3968
+ : this.flexRender(header.column.columnDef.header, header.getContext())));
3700
3969
  }))))
3701
3970
  : null)), index.h("tbody", null, !rows || rows.length === 0 || this.parsedData.length === 0 ? (index.h("tr", null, index.h("td", { colSpan: this.parsedColumns.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => {
3702
3971
  const rowId = row.id;
3703
3972
  const visibleCells = row === null || row === void 0 ? void 0 : row.getVisibleCells();
3704
3973
  return (index.h("tr", { key: rowId }, visibleCells.map(cell => {
3705
- var _a, _b;
3706
- const cellAccessors = cell.column.id;
3707
- const cellValue = cell.getValue();
3708
- return (index.h("td", { key: cell.id, "data-row-id": rowId }, ((_a = this.columnData.find(x => x.accessor === cellAccessors)) === null || _a === void 0 ? void 0 : _a.repeatTemplate) && Array.isArray(cellValue)
3709
- ? cellValue.map((item) => {
3710
- var _a;
3711
- return (_a = (this.renderTemplate(this.templateCache.get(cellAccessors), item, row) ||
3712
- item)) !== null && _a !== void 0 ? _a : this.fallbackValue;
3713
- })
3714
- : (_b = (this.renderTemplate(this.templateCache.get(cellAccessors), cellValue, row) ||
3715
- cellValue)) !== null && _b !== void 0 ? _b : this.fallbackValue));
3974
+ return (index.h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
3716
3975
  })));
3717
- }))))), index.h("slot", { key: '15815f259d3936559c89ff943dc349f99fda34fa', name: "after" })));
3976
+ })))), this.enablePagination && (index.h("div", { class: "flex items-center gap-2" }, index.h("button", { class: "border rounded p-1", disabled: !this.table.getCanPreviousPage(), onClick: this.table.firstPage }, "<<"), index.h("button", { class: "border rounded p-1", disabled: !this.table.getCanPreviousPage(), onClick: this.table.previousPage }, "<"), index.h("button", { class: "border rounded p-1", disabled: !this.table.getCanNextPage(), onClick: this.table.nextPage }, ">"), index.h("button", { class: "border rounded p-1", disabled: !this.table.getCanNextPage(), onClick: this.table.lastPage }, ">>"), index.h("span", { class: "flex items-center gap-1" }, index.h("div", null, "Page"), index.h("strong", null, this.table.getState().pagination.pageIndex + 1, " of", ' ', this.table.getPageCount().toLocaleString())), index.h("span", { class: "flex items-center gap-1" }, "| Go to page:", ' ', index.h("input", { type: "number", min: this.minPageIndex, max: this.table.getPageCount(), value: this.table.getState().pagination.pageIndex + 1, class: "border p-1 rounded w-16", "aria-label": "Go to page", onInput: this.handlePageIndexChange })), (_e = this.pageSizes) !== null && _e !== void 0 ? _e : (index.h("select", { "aria-label": "Rows per page", onChange: this.handlePageSizeChange }, this.pageSizes.map(pageSize => (index.h("option", { value: String(pageSize), selected: this.table.getState().pagination.pageSize === pageSize }, "Show ", pageSize))))))))), index.h("slot", { key: '2030fdc2b38a293e749f2ffd4645987e834fee76', name: "after" })));
3718
3977
  }
3719
3978
  get el() { return index.getElement(this); }
3720
3979
  static get watchers() { return {
@@ -3724,7 +3983,8 @@ const NvDatagrid = class {
3724
3983
  "dataJson": ["parseJsonData"],
3725
3984
  "parsedColumns": ["handleParsedChange"],
3726
3985
  "parsedData": ["handleParsedChange"],
3727
- "globalFilter": ["handleGlobalFilter"]
3986
+ "globalFilterSearchTerm": ["handleGlobalFilterSearchTerm"],
3987
+ "paginationState": ["handlePaginationState"]
3728
3988
  }; }
3729
3989
  };
3730
3990
  NvDatagrid.style = NvDatagridStyle0;