@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
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-aff3ed68.js';
2
2
  import { d as deepCopyElement, e as excludedProps } from './p-cb34aa4f.js';
3
3
  import { d as SortingPossibility } from './p-1f505531.js';
4
- import { d as defineCustomElement$3 } from './p-7935c1cb.js';
5
- import { d as defineCustomElement$2 } from './p-9fa0de38.js';
4
+ import { d as defineCustomElement$3 } from './p-919b5237.js';
5
+ import { d as defineCustomElement$2 } from './p-e072f051.js';
6
6
 
7
7
  /**
8
8
  * table-core
@@ -3317,6 +3317,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
3317
3317
  this.__registerHost();
3318
3318
  this.action = createEvent(this, "action", 7);
3319
3319
  this.selectedRows = createEvent(this, "selectedRows", 7);
3320
+ this.stateChanged = createEvent(this, "stateChanged", 7);
3320
3321
  this.templateCache = new Map();
3321
3322
  this.headerTemplateCache = new Map();
3322
3323
  this.minPageIndex = 1;
@@ -3328,7 +3329,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
3328
3329
  this.globalFilterSearchTerm = '';
3329
3330
  this.columnData = [];
3330
3331
  this.paginationState = null;
3331
- this.sorting = [];
3332
+ this.sortingState = [];
3332
3333
  this.rowSelectionState = {};
3333
3334
  //#endregion STATES
3334
3335
  /****************************************************************************/
@@ -3408,6 +3409,10 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
3408
3409
  * Whether to enable row selection for the data grid.
3409
3410
  */
3410
3411
  this.enableRowSelection = false;
3412
+ /**
3413
+ * The overall state
3414
+ */
3415
+ this.state = null;
3411
3416
  this.debouncedFilter = debounce((value) => {
3412
3417
  var _a;
3413
3418
  (_a = this.table) === null || _a === void 0 ? void 0 : _a.setGlobalFilter(value);
@@ -3685,10 +3690,10 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
3685
3690
  if (this.enableSorting) {
3686
3691
  tableOptions.getSortedRowModel = getSortedRowModel();
3687
3692
  tableOptions.enableSorting = this.enableSorting;
3688
- tableOptions.state.sorting = this.sorting;
3693
+ tableOptions.state.sorting = this.sortingState;
3689
3694
  tableOptions.onSortingChange = updater => {
3690
- const newSorting = typeof updater === 'function' ? updater(this.sorting) : updater;
3691
- this.sorting = newSorting; // Will automatically trigger the searchTerm watcher and update the table
3695
+ const newSorting = typeof updater === 'function' ? updater(this.sortingState) : updater;
3696
+ this.sortingState = newSorting; // Will automatically trigger the searchTerm watcher and update the table
3692
3697
  };
3693
3698
  }
3694
3699
  if (this.enableRowSelection) {
@@ -4226,7 +4231,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4226
4231
  this.table.options.state.pagination = newValue;
4227
4232
  }
4228
4233
  }
4229
- handleSorting(newValue) {
4234
+ handleSortingState(newValue) {
4230
4235
  if (!this.table) {
4231
4236
  console.warn('Table is not initialized yet.');
4232
4237
  return;
@@ -4259,6 +4264,33 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4259
4264
  this.table.options.state.rowSelection = newValue;
4260
4265
  }
4261
4266
  }
4267
+ handleStateChange(newValue) {
4268
+ if (newValue) {
4269
+ // Only update internal state if values are different to avoid loops
4270
+ if (this.globalFilterSearchTerm !== newValue.globalFilterSearchTerm) {
4271
+ this.globalFilterSearchTerm = newValue.globalFilterSearchTerm;
4272
+ }
4273
+ if (JSON.stringify(this.paginationState) !==
4274
+ JSON.stringify(newValue.paginationState)) {
4275
+ this.paginationState = newValue.paginationState;
4276
+ }
4277
+ if (JSON.stringify(this.sortingState) !==
4278
+ JSON.stringify(newValue.sortingState)) {
4279
+ this.sortingState = newValue.sortingState;
4280
+ }
4281
+ }
4282
+ }
4283
+ // Add watchers for internal state to emit changes
4284
+ handleInternalStateChange() {
4285
+ // Only emit if the state has actually changed
4286
+ const newState = {
4287
+ globalFilterSearchTerm: this.globalFilterSearchTerm,
4288
+ paginationState: this.paginationState,
4289
+ sortingState: this.sortingState,
4290
+ };
4291
+ // Emit the new state and let the parent component update the prop
4292
+ this.stateChanged.emit(newState);
4293
+ }
4262
4294
  //#endregion WATCHERS
4263
4295
  /****************************************************************************/
4264
4296
  //#region LIFECYCLE
@@ -4289,7 +4321,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4289
4321
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
4290
4322
  ? []
4291
4323
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
4292
- 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
4324
+ 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
4293
4325
  ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
4294
4326
  return this.getHeaderCell(header);
4295
4327
  }))))
@@ -4300,7 +4332,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4300
4332
  return (h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
4301
4333
  })));
4302
4334
  }))), this.table && this.enableRowSelection ? (h("tfoot", null, h("tr", null, h("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (h("div", null, this.rowSelectionState &&
4303
- 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" })));
4335
+ 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" })));
4304
4336
  }
4305
4337
  get el() { return this; }
4306
4338
  static get watchers() { return {
@@ -4308,11 +4340,12 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4308
4340
  "data": ["parseData"],
4309
4341
  "parsedColumns": ["handleParsedChange"],
4310
4342
  "parsedData": ["handleParsedChange"],
4311
- "globalFilterSearchTerm": ["handleGlobalFilterSearchTerm"],
4312
- "paginationState": ["handlePaginationState"],
4313
- "sorting": ["handleSorting"],
4343
+ "globalFilterSearchTerm": ["handleGlobalFilterSearchTerm", "handleInternalStateChange"],
4344
+ "paginationState": ["handlePaginationState", "handleInternalStateChange"],
4345
+ "sortingState": ["handleSortingState", "handleInternalStateChange"],
4314
4346
  "pageSize": ["handlePageSize"],
4315
- "rowSelectionState": ["handleRowSelectionState"]
4347
+ "rowSelectionState": ["handleRowSelectionState"],
4348
+ "state": ["handleStateChange"]
4316
4349
  }; }
4317
4350
  static get style() { return NvDatagridStyle0; }
4318
4351
  }, [4, "nv-datagrid", {
@@ -4329,24 +4362,26 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4329
4362
  "pageSizes": [16],
4330
4363
  "enableSorting": [516, "enable-sorting"],
4331
4364
  "enableRowSelection": [516, "enable-row-selection"],
4365
+ "state": [16],
4332
4366
  "table": [32],
4333
4367
  "parsedColumns": [32],
4334
4368
  "parsedData": [32],
4335
4369
  "globalFilterSearchTerm": [32],
4336
4370
  "columnData": [32],
4337
4371
  "paginationState": [32],
4338
- "sorting": [32],
4372
+ "sortingState": [32],
4339
4373
  "rowSelectionState": [32]
4340
4374
  }, undefined, {
4341
4375
  "columns": ["parseColumns"],
4342
4376
  "data": ["parseData"],
4343
4377
  "parsedColumns": ["handleParsedChange"],
4344
4378
  "parsedData": ["handleParsedChange"],
4345
- "globalFilterSearchTerm": ["handleGlobalFilterSearchTerm"],
4346
- "paginationState": ["handlePaginationState"],
4347
- "sorting": ["handleSorting"],
4379
+ "globalFilterSearchTerm": ["handleGlobalFilterSearchTerm", "handleInternalStateChange"],
4380
+ "paginationState": ["handlePaginationState", "handleInternalStateChange"],
4381
+ "sortingState": ["handleSortingState", "handleInternalStateChange"],
4348
4382
  "pageSize": ["handlePageSize"],
4349
- "rowSelectionState": ["handleRowSelectionState"]
4383
+ "rowSelectionState": ["handleRowSelectionState"],
4384
+ "state": ["handleStateChange"]
4350
4385
  }]);
4351
4386
  function defineCustomElement$1() {
4352
4387
  if (typeof customElements === "undefined") {