@nova-design-system/nova-webcomponents 3.3.0 → 3.5.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 (260) hide show
  1. package/dist/cjs/index-c56424e5.js +8 -8
  2. package/dist/cjs/index.cjs.js +3 -0
  3. package/dist/cjs/index.cjs.js.map +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/native.cjs.js +1 -1
  6. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  7. package/dist/cjs/nv-calendar.cjs.entry.js +20 -4
  8. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nv-datagrid.cjs.entry.js +44 -11
  10. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-fielddaterange.cjs.entry.js +30 -7
  12. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  14. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  16. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  18. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  19. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  20. package/dist/cjs/nv-fieldslider.cjs.entry.js +7 -7
  21. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  24. package/dist/cjs/nv-fieldtime.cjs.entry.js +9 -9
  25. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  30. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  34. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  35. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  37. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +20 -4
  38. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  39. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +88 -2
  40. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  41. package/dist/collection/components/nv-datagrid/nv-datagrid.js +89 -10
  42. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  43. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +0 -1
  44. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
  45. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +32 -5
  46. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  47. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +18 -2
  48. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  49. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  50. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  51. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
  52. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  53. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -3
  54. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  55. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  56. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  57. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  58. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  59. package/dist/collection/components/nv-fieldslider/partials/field-input.js +1 -1
  60. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
  61. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +9 -1
  62. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  63. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  64. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  65. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  66. package/dist/collection/components/nv-icon/nv-icons.js +3 -0
  67. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  68. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  69. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  70. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  71. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  72. package/dist/collection/components/nv-popover/nv-popover.js +3 -3
  73. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  74. package/dist/collection/components/nv-row/nv-row.js +1 -1
  75. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  76. package/dist/collection/components/nv-table/nv-table.js +2 -2
  77. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  78. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  79. package/dist/collection/templates/navigation.docs.js +1 -1
  80. package/dist/collection/templates/navigation.docs.js.map +1 -1
  81. package/dist/components/index.js +3 -0
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/nv-alert.js +1 -1
  84. package/dist/components/nv-avatar.js +1 -1
  85. package/dist/components/nv-badge.js +1 -1
  86. package/dist/components/nv-breadcrumb.js +2 -2
  87. package/dist/components/nv-button.js +1 -1
  88. package/dist/components/nv-calendar.js +1 -1
  89. package/dist/components/nv-datagrid.js +53 -18
  90. package/dist/components/nv-datagrid.js.map +1 -1
  91. package/dist/components/nv-dialog.js +4 -4
  92. package/dist/components/nv-dialogfooter.js +1 -1
  93. package/dist/components/nv-fielddate.js +6 -6
  94. package/dist/components/nv-fielddaterange.js +38 -14
  95. package/dist/components/nv-fielddaterange.js.map +1 -1
  96. package/dist/components/nv-fielddropdown.js +8 -8
  97. package/dist/components/nv-fielddropdownitem.js +1 -1
  98. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  99. package/dist/components/nv-fieldmultiselect.js +6 -6
  100. package/dist/components/nv-fieldnumber.js +1 -180
  101. package/dist/components/nv-fieldnumber.js.map +1 -1
  102. package/dist/components/nv-fieldpassword.js +6 -6
  103. package/dist/components/nv-fieldradio.js +3 -3
  104. package/dist/components/nv-fieldselect.js +8 -8
  105. package/dist/components/nv-fieldslider.js +27 -9
  106. package/dist/components/nv-fieldslider.js.map +1 -1
  107. package/dist/components/nv-fieldtext.js +1 -1
  108. package/dist/components/nv-fieldtextarea.js +3 -3
  109. package/dist/components/nv-fieldtime.js +13 -13
  110. package/dist/components/nv-icon.js +1 -1
  111. package/dist/components/nv-iconbutton.js +1 -1
  112. package/dist/components/nv-loader.js +1 -1
  113. package/dist/components/nv-menu.js +4 -4
  114. package/dist/components/nv-menuitem.js +1 -1
  115. package/dist/components/nv-popover.js +1 -1
  116. package/dist/components/nv-row.js +1 -1
  117. package/dist/components/nv-stack.js +1 -1
  118. package/dist/components/nv-table.js +2 -2
  119. package/dist/components/nv-toggle.js +2 -2
  120. package/dist/components/nv-tooltip.js +1 -1
  121. package/dist/components/{p-eabbc885.js → p-001c888b.js} +3 -3
  122. package/dist/components/{p-eabbc885.js.map → p-001c888b.js.map} +1 -1
  123. package/dist/components/{p-e28c4707.js → p-00ac701f.js} +2 -2
  124. package/dist/components/{p-e28c4707.js.map → p-00ac701f.js.map} +1 -1
  125. package/dist/components/{p-c9006520.js → p-05c19c9a.js} +4 -4
  126. package/dist/components/{p-c9006520.js.map → p-05c19c9a.js.map} +1 -1
  127. package/dist/components/{p-c07c32d2.js → p-44f0039b.js} +2 -2
  128. package/dist/components/{p-c07c32d2.js.map → p-44f0039b.js.map} +1 -1
  129. package/dist/components/p-4badc1d2.js +184 -0
  130. package/dist/components/p-4badc1d2.js.map +1 -0
  131. package/dist/components/{p-3e32b5a1.js → p-5bee0141.js} +3 -3
  132. package/dist/components/{p-3e32b5a1.js.map → p-5bee0141.js.map} +1 -1
  133. package/dist/components/{p-bb6d1e4e.js → p-918bb719.js} +2 -2
  134. package/dist/components/{p-bb6d1e4e.js.map → p-918bb719.js.map} +1 -1
  135. package/dist/components/{p-7935c1cb.js → p-919b5237.js} +5 -5
  136. package/dist/components/{p-7935c1cb.js.map → p-919b5237.js.map} +1 -1
  137. package/dist/components/{p-95a7581c.js → p-970cd9b1.js} +4 -4
  138. package/dist/components/{p-95a7581c.js.map → p-970cd9b1.js.map} +1 -1
  139. package/dist/components/{p-b6d858b2.js → p-9f1e8ef3.js} +2 -2
  140. package/dist/components/{p-b6d858b2.js.map → p-9f1e8ef3.js.map} +1 -1
  141. package/dist/components/{p-5e90b9b8.js → p-a0d7e0cd.js} +21 -5
  142. package/dist/components/p-a0d7e0cd.js.map +1 -0
  143. package/dist/components/{p-5ee4015d.js → p-cebdbb40.js} +2 -2
  144. package/dist/components/{p-5ee4015d.js.map → p-cebdbb40.js.map} +1 -1
  145. package/dist/components/{p-2ae214d2.js → p-d56b30ab.js} +3 -3
  146. package/dist/components/{p-2ae214d2.js.map → p-d56b30ab.js.map} +1 -1
  147. package/dist/components/p-e072f051.js +88 -0
  148. package/dist/components/p-e072f051.js.map +1 -0
  149. package/dist/components/{p-8d92f0e1.js → p-e8c083e3.js} +3 -3
  150. package/dist/components/{p-8d92f0e1.js.map → p-e8c083e3.js.map} +1 -1
  151. package/dist/esm/index-a1936cd0.js +8 -8
  152. package/dist/esm/index.js +3 -0
  153. package/dist/esm/index.js.map +1 -1
  154. package/dist/esm/loader.js +1 -1
  155. package/dist/esm/native.js +1 -1
  156. package/dist/esm/nv-badge_2.entry.js +1 -1
  157. package/dist/esm/nv-calendar.entry.js +20 -4
  158. package/dist/esm/nv-calendar.entry.js.map +1 -1
  159. package/dist/esm/nv-datagrid.entry.js +44 -11
  160. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  161. package/dist/esm/nv-fielddaterange.entry.js +30 -7
  162. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  163. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  164. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  165. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  166. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  167. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  168. package/dist/esm/nv-fieldradio.entry.js +3 -3
  169. package/dist/esm/nv-fieldselect.entry.js +5 -5
  170. package/dist/esm/nv-fieldslider.entry.js +7 -7
  171. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  172. package/dist/esm/nv-fieldtext.entry.js +3 -3
  173. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  174. package/dist/esm/nv-fieldtime.entry.js +9 -9
  175. package/dist/esm/nv-icon.entry.js +2 -2
  176. package/dist/esm/nv-icon.entry.js.map +1 -1
  177. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  178. package/dist/esm/nv-menu.entry.js +1 -1
  179. package/dist/esm/nv-menuitem.entry.js +1 -1
  180. package/dist/esm/nv-popover.entry.js +2 -2
  181. package/dist/esm/nv-popover.entry.js.map +1 -1
  182. package/dist/esm/nv-row.entry.js +1 -1
  183. package/dist/esm/nv-stack.entry.js +1 -1
  184. package/dist/esm/nv-table.entry.js +2 -2
  185. package/dist/esm/nv-toggle.entry.js +2 -2
  186. package/dist/esm/nv-tooltip.entry.js +1 -1
  187. package/dist/native/index.esm.js +1 -1
  188. package/dist/native/index.esm.js.map +1 -1
  189. package/dist/native/native.css +1 -1
  190. package/dist/native/native.esm.js +1 -1
  191. package/dist/native/native.esm.js.map +1 -1
  192. package/dist/native/{p-dc7dd7f3.entry.js → p-003b6377.entry.js} +2 -2
  193. package/dist/native/p-003b6377.entry.js.map +1 -0
  194. package/dist/native/{p-e2c1992e.entry.js → p-0493c51a.entry.js} +2 -2
  195. package/dist/native/{p-d040bd61.entry.js → p-19f484a0.entry.js} +2 -2
  196. package/dist/native/{p-5b6c59e0.entry.js → p-1e0df2d3.entry.js} +2 -2
  197. package/dist/native/{p-60c64f2b.entry.js → p-2d98d4f0.entry.js} +2 -2
  198. package/dist/native/{p-f94d7054.entry.js → p-54198779.entry.js} +2 -2
  199. package/dist/native/{p-ed6019fe.entry.js → p-58f4dc0e.entry.js} +2 -2
  200. package/dist/native/p-58f4dc0e.entry.js.map +1 -0
  201. package/dist/native/{p-d53e8795.entry.js → p-5b06f4b5.entry.js} +2 -2
  202. package/dist/native/{p-45459dbb.entry.js → p-6ea1c78b.entry.js} +2 -2
  203. package/dist/native/{p-2006f5d4.entry.js → p-82568ec7.entry.js} +2 -2
  204. package/dist/native/p-82c4bf56.entry.js +2 -0
  205. package/dist/native/p-82c4bf56.entry.js.map +1 -0
  206. package/dist/native/{p-b8f2c1e7.entry.js → p-a0505695.entry.js} +2 -2
  207. package/dist/native/p-a0505695.entry.js.map +1 -0
  208. package/dist/native/{p-fdea17ce.entry.js → p-a5c72bd3.entry.js} +2 -2
  209. package/dist/native/{p-8fb4e5c0.entry.js → p-a983e6a0.entry.js} +2 -2
  210. package/dist/native/{p-abbe5d69.entry.js → p-af1e6035.entry.js} +2 -2
  211. package/dist/native/{p-050d6c6c.entry.js → p-b9c7b644.entry.js} +2 -2
  212. package/dist/native/p-be9aeed4.entry.js +2 -0
  213. package/dist/native/p-be9aeed4.entry.js.map +1 -0
  214. package/dist/native/{p-4f9cdf0b.entry.js → p-bee972c7.entry.js} +2 -2
  215. package/dist/native/{p-58bb90ad.entry.js → p-d4bf2587.entry.js} +2 -2
  216. package/dist/native/{p-58bb90ad.entry.js.map → p-d4bf2587.entry.js.map} +1 -1
  217. package/dist/native/p-dd256ea3.entry.js +2 -0
  218. package/dist/native/p-dd256ea3.entry.js.map +1 -0
  219. package/dist/native/{p-3817efb2.entry.js → p-dd6b1d79.entry.js} +2 -2
  220. package/dist/native/{p-83288db0.entry.js → p-e293b3fe.entry.js} +2 -2
  221. package/dist/native/{p-1c1ecd38.entry.js → p-e9962dac.entry.js} +2 -2
  222. package/dist/native/{p-838f7842.entry.js → p-eaf51f2c.entry.js} +2 -2
  223. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +106 -2
  224. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +2 -0
  225. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +1 -0
  226. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  227. package/dist/types/components.d.ts +138 -0
  228. package/dist/vscode-data.json +9 -0
  229. package/hydrate/index.js +153 -79
  230. package/hydrate/index.mjs +153 -79
  231. package/package.json +16 -4
  232. package/dist/components/p-5e90b9b8.js.map +0 -1
  233. package/dist/components/p-9fa0de38.js +0 -88
  234. package/dist/components/p-9fa0de38.js.map +0 -1
  235. package/dist/native/p-26cf4938.entry.js +0 -2
  236. package/dist/native/p-26cf4938.entry.js.map +0 -1
  237. package/dist/native/p-64a76565.entry.js +0 -2
  238. package/dist/native/p-64a76565.entry.js.map +0 -1
  239. package/dist/native/p-abc251aa.entry.js +0 -2
  240. package/dist/native/p-abc251aa.entry.js.map +0 -1
  241. package/dist/native/p-b8f2c1e7.entry.js.map +0 -1
  242. package/dist/native/p-dc7dd7f3.entry.js.map +0 -1
  243. package/dist/native/p-ed6019fe.entry.js.map +0 -1
  244. /package/dist/native/{p-e2c1992e.entry.js.map → p-0493c51a.entry.js.map} +0 -0
  245. /package/dist/native/{p-d040bd61.entry.js.map → p-19f484a0.entry.js.map} +0 -0
  246. /package/dist/native/{p-5b6c59e0.entry.js.map → p-1e0df2d3.entry.js.map} +0 -0
  247. /package/dist/native/{p-60c64f2b.entry.js.map → p-2d98d4f0.entry.js.map} +0 -0
  248. /package/dist/native/{p-f94d7054.entry.js.map → p-54198779.entry.js.map} +0 -0
  249. /package/dist/native/{p-d53e8795.entry.js.map → p-5b06f4b5.entry.js.map} +0 -0
  250. /package/dist/native/{p-45459dbb.entry.js.map → p-6ea1c78b.entry.js.map} +0 -0
  251. /package/dist/native/{p-2006f5d4.entry.js.map → p-82568ec7.entry.js.map} +0 -0
  252. /package/dist/native/{p-fdea17ce.entry.js.map → p-a5c72bd3.entry.js.map} +0 -0
  253. /package/dist/native/{p-8fb4e5c0.entry.js.map → p-a983e6a0.entry.js.map} +0 -0
  254. /package/dist/native/{p-abbe5d69.entry.js.map → p-af1e6035.entry.js.map} +0 -0
  255. /package/dist/native/{p-050d6c6c.entry.js.map → p-b9c7b644.entry.js.map} +0 -0
  256. /package/dist/native/{p-4f9cdf0b.entry.js.map → p-bee972c7.entry.js.map} +0 -0
  257. /package/dist/native/{p-3817efb2.entry.js.map → p-dd6b1d79.entry.js.map} +0 -0
  258. /package/dist/native/{p-83288db0.entry.js.map → p-e293b3fe.entry.js.map} +0 -0
  259. /package/dist/native/{p-1c1ecd38.entry.js.map → p-e9962dac.entry.js.map} +0 -0
  260. /package/dist/native/{p-838f7842.entry.js.map → p-eaf51f2c.entry.js.map} +0 -0
@@ -23,7 +23,7 @@ export class NvDatagrid {
23
23
  this.globalFilterSearchTerm = '';
24
24
  this.columnData = [];
25
25
  this.paginationState = null;
26
- this.sorting = [];
26
+ this.sortingState = [];
27
27
  this.rowSelectionState = {};
28
28
  //#endregion STATES
29
29
  /****************************************************************************/
@@ -103,6 +103,10 @@ export class NvDatagrid {
103
103
  * Whether to enable row selection for the data grid.
104
104
  */
105
105
  this.enableRowSelection = false;
106
+ /**
107
+ * The overall state
108
+ */
109
+ this.state = null;
106
110
  this.debouncedFilter = debounce((value) => {
107
111
  var _a;
108
112
  (_a = this.table) === null || _a === void 0 ? void 0 : _a.setGlobalFilter(value);
@@ -382,10 +386,10 @@ export class NvDatagrid {
382
386
  if (this.enableSorting) {
383
387
  tableOptions.getSortedRowModel = getSortedRowModel();
384
388
  tableOptions.enableSorting = this.enableSorting;
385
- tableOptions.state.sorting = this.sorting;
389
+ tableOptions.state.sorting = this.sortingState;
386
390
  tableOptions.onSortingChange = updater => {
387
- const newSorting = typeof updater === 'function' ? updater(this.sorting) : updater;
388
- this.sorting = newSorting; // Will automatically trigger the searchTerm watcher and update the table
391
+ const newSorting = typeof updater === 'function' ? updater(this.sortingState) : updater;
392
+ this.sortingState = newSorting; // Will automatically trigger the searchTerm watcher and update the table
389
393
  };
390
394
  }
391
395
  if (this.enableRowSelection) {
@@ -923,7 +927,7 @@ export class NvDatagrid {
923
927
  this.table.options.state.pagination = newValue;
924
928
  }
925
929
  }
926
- handleSorting(newValue) {
930
+ handleSortingState(newValue) {
927
931
  if (!this.table) {
928
932
  console.warn('Table is not initialized yet.');
929
933
  return;
@@ -956,6 +960,33 @@ export class NvDatagrid {
956
960
  this.table.options.state.rowSelection = newValue;
957
961
  }
958
962
  }
963
+ handleStateChange(newValue) {
964
+ if (newValue) {
965
+ // Only update internal state if values are different to avoid loops
966
+ if (this.globalFilterSearchTerm !== newValue.globalFilterSearchTerm) {
967
+ this.globalFilterSearchTerm = newValue.globalFilterSearchTerm;
968
+ }
969
+ if (JSON.stringify(this.paginationState) !==
970
+ JSON.stringify(newValue.paginationState)) {
971
+ this.paginationState = newValue.paginationState;
972
+ }
973
+ if (JSON.stringify(this.sortingState) !==
974
+ JSON.stringify(newValue.sortingState)) {
975
+ this.sortingState = newValue.sortingState;
976
+ }
977
+ }
978
+ }
979
+ // Add watchers for internal state to emit changes
980
+ handleInternalStateChange() {
981
+ // Only emit if the state has actually changed
982
+ const newState = {
983
+ globalFilterSearchTerm: this.globalFilterSearchTerm,
984
+ paginationState: this.paginationState,
985
+ sortingState: this.sortingState,
986
+ };
987
+ // Emit the new state and let the parent component update the prop
988
+ this.stateChanged.emit(newState);
989
+ }
959
990
  //#endregion WATCHERS
960
991
  /****************************************************************************/
961
992
  //#region LIFECYCLE
@@ -986,7 +1017,7 @@ export class NvDatagrid {
986
1017
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
987
1018
  ? []
988
1019
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
989
- return (h(Host, { key: '90be657fa9c7f8755391f8d91418399de742ae1f' }, h("div", { key: 'f28596438b7c9c22b34789236c5faa644938d1dc', class: "hidden" }, h("slot", { key: 'fdc1670cc6bafb5f1efa8c63d41acbfd15659de6' })), h("slot", { key: '65afa2282af4842bcb23f8baa592545fe3b74fa3', name: "before" }), this.enableGlobalFilter && this.table && (h("div", { key: '8628a23712471690b6a6239a289dd8263aed423c', class: `search-container justify-${this.globalFilterPosition}` }, h("nv-fieldtext", { key: '42c56dd6ba426e2045c02b3754fae3562632c49f', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("div", null, h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
1020
+ return (h(Host, { key: '95d3cea67d17f1aab33e7bc054161760e6d6df54' }, h("div", { key: 'b6cbdf841ab4ba64d2ccbf49fc6caf9ef082c7ee', class: "hidden" }, h("slot", { key: '18dde7efeec5c1bc38a044a683910db41f70e22d' })), h("slot", { key: 'd3ffb496e938ee3c91c5a7422357cbee90100d84', name: "before" }), this.enableGlobalFilter && this.table && (h("div", { key: '0ab19e6c1c585d4e77004ec9238dba3baff83614', class: `search-container justify-${this.globalFilterPosition}` }, h("nv-fieldtext", { key: '76722d31da818102347278c7b62a93deaa9c29a1', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("div", null, h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
990
1021
  ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
991
1022
  return this.getHeaderCell(header);
992
1023
  }))))
@@ -997,7 +1028,7 @@ export class NvDatagrid {
997
1028
  return (h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
998
1029
  })));
999
1030
  }))), this.table && this.enableRowSelection ? (h("tfoot", null, h("tr", null, h("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (h("div", null, this.rowSelectionState &&
1000
- Object.keys(this.rowSelectionState).length > 0 ? (h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), h("slot", { key: 'e1641d8fd103b0802e1df4f0848f0de921260065', name: "after" })));
1031
+ Object.keys(this.rowSelectionState).length > 0 ? (h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), h("slot", { key: 'ee4cdbb4683a3da20154fd60580d694d8f78feb8', name: "after" })));
1001
1032
  }
1002
1033
  static get is() { return "nv-datagrid"; }
1003
1034
  static get originalStyleUrls() {
@@ -1316,6 +1347,24 @@ export class NvDatagrid {
1316
1347
  "attribute": "enable-row-selection",
1317
1348
  "reflect": true,
1318
1349
  "defaultValue": "false"
1350
+ },
1351
+ "state": {
1352
+ "type": "unknown",
1353
+ "mutable": false,
1354
+ "complexType": {
1355
+ "original": "{\n /**\n * Global filter search term\n */\n globalFilterSearchTerm: string;\n /**\n * Pagination State\n */\n paginationState: {\n /**\n * Page Index\n */\n pageIndex: number;\n /**\n * Page Size\n */\n pageSize: number;\n };\n /**\n * Sorting the columns\n */\n sortingState: {\n /**\n * Descending\n */\n desc: boolean;\n /**\n * Column Id\n */\n id: string;\n }[];\n }",
1356
+ "resolved": "{ globalFilterSearchTerm: string; paginationState: { pageIndex: number; pageSize: number; }; sortingState: { desc: boolean; id: string; }[]; }",
1357
+ "references": {}
1358
+ },
1359
+ "required": false,
1360
+ "optional": false,
1361
+ "docs": {
1362
+ "tags": [],
1363
+ "text": "The overall state"
1364
+ },
1365
+ "getter": false,
1366
+ "setter": false,
1367
+ "defaultValue": "null"
1319
1368
  }
1320
1369
  };
1321
1370
  }
@@ -1327,7 +1376,7 @@ export class NvDatagrid {
1327
1376
  "globalFilterSearchTerm": {},
1328
1377
  "columnData": {},
1329
1378
  "paginationState": {},
1330
- "sorting": {},
1379
+ "sortingState": {},
1331
1380
  "rowSelectionState": {}
1332
1381
  };
1333
1382
  }
@@ -1362,6 +1411,24 @@ export class NvDatagrid {
1362
1411
  "resolved": "any[]",
1363
1412
  "references": {}
1364
1413
  }
1414
+ }, {
1415
+ "method": "stateChanged",
1416
+ "name": "stateChanged",
1417
+ "bubbles": true,
1418
+ "cancelable": true,
1419
+ "composed": true,
1420
+ "docs": {
1421
+ "tags": [{
1422
+ "name": "bind",
1423
+ "text": "state"
1424
+ }],
1425
+ "text": "Emitted when the state is changed"
1426
+ },
1427
+ "complexType": {
1428
+ "original": "{\n /**\n * Global filter search term\n */\n globalFilterSearchTerm: string;\n /**\n * Pagination State\n */\n paginationState: {\n /**\n * Page Index\n */\n pageIndex: number;\n /**\n * Page Size\n */\n pageSize: number;\n };\n /**\n * Sorting the columns\n */\n sortingState: {\n /**\n * Descending\n */\n desc: boolean;\n /**\n * Column Id\n */\n id: string;\n }[];\n }",
1429
+ "resolved": "{ globalFilterSearchTerm: string; paginationState: { pageIndex: number; pageSize: number; }; sortingState: { desc: boolean; id: string; }[]; }",
1430
+ "references": {}
1431
+ }
1365
1432
  }];
1366
1433
  }
1367
1434
  static get elementRef() { return "el"; }
@@ -1385,14 +1452,26 @@ export class NvDatagrid {
1385
1452
  "propName": "paginationState",
1386
1453
  "methodName": "handlePaginationState"
1387
1454
  }, {
1388
- "propName": "sorting",
1389
- "methodName": "handleSorting"
1455
+ "propName": "sortingState",
1456
+ "methodName": "handleSortingState"
1390
1457
  }, {
1391
1458
  "propName": "pageSize",
1392
1459
  "methodName": "handlePageSize"
1393
1460
  }, {
1394
1461
  "propName": "rowSelectionState",
1395
1462
  "methodName": "handleRowSelectionState"
1463
+ }, {
1464
+ "propName": "state",
1465
+ "methodName": "handleStateChange"
1466
+ }, {
1467
+ "propName": "globalFilterSearchTerm",
1468
+ "methodName": "handleInternalStateChange"
1469
+ }, {
1470
+ "propName": "paginationState",
1471
+ "methodName": "handleInternalStateChange"
1472
+ }, {
1473
+ "propName": "sortingState",
1474
+ "methodName": "handleInternalStateChange"
1396
1475
  }];
1397
1476
  }
1398
1477
  }