persian-data-grid 0.6.0 → 0.7.1

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 (137) hide show
  1. package/README.md +1 -1
  2. package/dist/{ERPTableGroupRow-PSAPAHGL.js → ERPTableGroupRow-E5Q6FYDS.js} +4 -4
  3. package/dist/{ERPTableGroupRow-PSAPAHGL.js.map → ERPTableGroupRow-E5Q6FYDS.js.map} +1 -1
  4. package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs → ERPTableGroupRow-F2IPDYL5.cjs} +9 -9
  5. package/dist/{ERPTableGroupRow-J5Z2LRC5.cjs.map → ERPTableGroupRow-F2IPDYL5.cjs.map} +1 -1
  6. package/dist/{GridPlugin-CJCaYnlw.d.ts → GridPlugin-Bewn0X51.d.ts} +1 -1
  7. package/dist/{GridPlugin-oxhq8AsM.d.cts → GridPlugin-DewWufGZ.d.cts} +1 -1
  8. package/dist/{GridSession-Bc7UIawO.d.ts → GridSession-CeIfVFck.d.ts} +142 -9
  9. package/dist/{GridSession-B-9lLcoB.d.cts → GridSession-CmQn2RnL.d.cts} +142 -9
  10. package/dist/GridSyncService-3JQLEY65.cjs +12 -0
  11. package/dist/{GridSyncService-TAPAHABV.cjs.map → GridSyncService-3JQLEY65.cjs.map} +1 -1
  12. package/dist/GridSyncService-GECXGEKL.js +3 -0
  13. package/dist/{GridSyncService-KTLB4KP3.js.map → GridSyncService-GECXGEKL.js.map} +1 -1
  14. package/dist/{PdfRenderer-CBg7hWNS.d.cts → PdfRenderer-B9FJaCo_.d.cts} +1 -1
  15. package/dist/{PdfRenderer-1HFh6UeR.d.ts → PdfRenderer-bN7ca_Aj.d.ts} +1 -1
  16. package/dist/{UITableController-DU8RopUM.d.ts → UITableController-C71LXBiX.d.ts} +48 -2
  17. package/dist/{UITableController-Cuwq481K.d.cts → UITableController-CIwnHIw8.d.cts} +48 -2
  18. package/dist/{VazirmatnPdfRenderer-BCMpC1zy.d.cts → VazirmatnPdfRenderer-CpCqA-Wh.d.cts} +2 -2
  19. package/dist/{VazirmatnPdfRenderer-Dz_G-m3c.d.ts → VazirmatnPdfRenderer-D46smncn.d.ts} +2 -2
  20. package/dist/adapters/arian-erp.cjs +16 -4
  21. package/dist/adapters/arian-erp.cjs.map +1 -1
  22. package/dist/adapters/arian-erp.d.cts +3 -1
  23. package/dist/adapters/arian-erp.d.ts +3 -1
  24. package/dist/adapters/arian-erp.js +11 -3
  25. package/dist/adapters/arian-erp.js.map +1 -1
  26. package/dist/{applyImportedRows-BO6yxoAN.d.cts → applyImportedRows-C2fWYoPy.d.cts} +3 -3
  27. package/dist/{applyImportedRows-D4zVY8uD.d.ts → applyImportedRows-Cqh_N_0k.d.ts} +3 -3
  28. package/dist/{applyRowVisibilityHandler-LXCOGESZ.cjs → applyRowVisibilityHandler-Q64ZFC7A.cjs} +7 -6
  29. package/dist/applyRowVisibilityHandler-Q64ZFC7A.cjs.map +1 -0
  30. package/dist/{applyRowVisibilityHandler-KS6TMCBN.js → applyRowVisibilityHandler-ZLZXQEGY.js} +6 -5
  31. package/dist/applyRowVisibilityHandler-ZLZXQEGY.js.map +1 -0
  32. package/dist/callbackRemoteApi-BYLjmSI6.d.ts +51 -0
  33. package/dist/callbackRemoteApi-Cv26MmSD.d.cts +51 -0
  34. package/dist/{cellRenderContext-DB7V_mlu.d.ts → cellRenderContext-BaNh4qn_.d.ts} +2 -2
  35. package/dist/{cellRenderContext-DG5BOlxK.d.cts → cellRenderContext-DvngkptV.d.cts} +2 -2
  36. package/dist/{chunk-HTNJT2QU.js → chunk-27ALJSZP.js} +617 -104
  37. package/dist/chunk-27ALJSZP.js.map +1 -0
  38. package/dist/{chunk-KUBVDIF7.cjs → chunk-3HP3HQCW.cjs} +52 -17
  39. package/dist/chunk-3HP3HQCW.cjs.map +1 -0
  40. package/dist/{chunk-DXRCYW42.cjs → chunk-52LFOPXD.cjs} +43 -23
  41. package/dist/chunk-52LFOPXD.cjs.map +1 -0
  42. package/dist/{chunk-VVGYRZ7S.cjs → chunk-72IVAOTK.cjs} +4 -4
  43. package/dist/{chunk-VVGYRZ7S.cjs.map → chunk-72IVAOTK.cjs.map} +1 -1
  44. package/dist/{chunk-LJ7LMEXO.js → chunk-7GWV5HGO.js} +3 -3
  45. package/dist/{chunk-LJ7LMEXO.js.map → chunk-7GWV5HGO.js.map} +1 -1
  46. package/dist/{chunk-RM6ZWNT3.js → chunk-7T6AWRPU.js} +43 -23
  47. package/dist/chunk-7T6AWRPU.js.map +1 -0
  48. package/dist/{chunk-PXCHPZTP.cjs → chunk-CMQ4VLCW.cjs} +8 -7
  49. package/dist/{chunk-EHHHC5JV.js.map → chunk-CMQ4VLCW.cjs.map} +1 -1
  50. package/dist/chunk-E2J533UH.cjs +53 -0
  51. package/dist/chunk-E2J533UH.cjs.map +1 -0
  52. package/dist/chunk-F6EMC75A.cjs +34 -0
  53. package/dist/chunk-F6EMC75A.cjs.map +1 -0
  54. package/dist/chunk-GKE33FOJ.js +32 -0
  55. package/dist/chunk-GKE33FOJ.js.map +1 -0
  56. package/dist/{chunk-QQMU44KJ.js → chunk-HLOHWFOA.js} +52 -19
  57. package/dist/chunk-HLOHWFOA.js.map +1 -0
  58. package/dist/{chunk-633KP74Z.js → chunk-KCNTKYUY.js} +19 -2
  59. package/dist/chunk-KCNTKYUY.js.map +1 -0
  60. package/dist/{chunk-BLYVOV3G.cjs → chunk-LY27YAXE.cjs} +19 -2
  61. package/dist/chunk-LY27YAXE.cjs.map +1 -0
  62. package/dist/{chunk-EHHHC5JV.js → chunk-NB5GCGHL.js} +5 -4
  63. package/dist/chunk-NB5GCGHL.js.map +1 -0
  64. package/dist/{chunk-6XBXZPBW.js → chunk-NQUVAJQA.js} +3 -3
  65. package/dist/{chunk-6XBXZPBW.js.map → chunk-NQUVAJQA.js.map} +1 -1
  66. package/dist/chunk-SVO62ZV2.js +50 -0
  67. package/dist/chunk-SVO62ZV2.js.map +1 -0
  68. package/dist/{chunk-MU3RY46O.js → chunk-VBAZ77Q4.js} +3 -3
  69. package/dist/{chunk-MU3RY46O.js.map → chunk-VBAZ77Q4.js.map} +1 -1
  70. package/dist/{chunk-H2LESGMX.cjs → chunk-VSAFQTW5.cjs} +4 -4
  71. package/dist/{chunk-H2LESGMX.cjs.map → chunk-VSAFQTW5.cjs.map} +1 -1
  72. package/dist/{chunk-2BJCRYOS.cjs → chunk-VYJQ2HTA.cjs} +5 -5
  73. package/dist/{chunk-2BJCRYOS.cjs.map → chunk-VYJQ2HTA.cjs.map} +1 -1
  74. package/dist/{chunk-IIISFUW4.cjs → chunk-WTHTVKVI.cjs} +621 -108
  75. package/dist/chunk-WTHTVKVI.cjs.map +1 -0
  76. package/dist/{createEngineGridQuery-Mt1hc33m.d.ts → createEngineGridQuery-BBkud5oE.d.ts} +61 -6
  77. package/dist/{createEngineGridQuery-Dmq3i5v3.d.cts → createEngineGridQuery-D-fgO_jg.d.cts} +61 -6
  78. package/dist/date-picker-jalali.cjs +17 -17
  79. package/dist/date-picker-jalali.d.cts +3 -3
  80. package/dist/date-picker-jalali.d.ts +3 -3
  81. package/dist/date-picker-jalali.js +1 -1
  82. package/dist/headless.cjs +102 -102
  83. package/dist/headless.d.cts +13 -9
  84. package/dist/headless.d.ts +13 -9
  85. package/dist/headless.js +4 -4
  86. package/dist/index.cjs +440 -382
  87. package/dist/index.cjs.map +1 -1
  88. package/dist/index.d.cts +34 -14
  89. package/dist/index.d.ts +34 -14
  90. package/dist/index.js +200 -143
  91. package/dist/index.js.map +1 -1
  92. package/dist/plugins/csv.cjs +3 -3
  93. package/dist/plugins/csv.d.cts +2 -2
  94. package/dist/plugins/csv.d.ts +2 -2
  95. package/dist/plugins/csv.js +2 -2
  96. package/dist/plugins/excel.cjs +11 -11
  97. package/dist/plugins/excel.d.cts +4 -4
  98. package/dist/plugins/excel.d.ts +4 -4
  99. package/dist/plugins/excel.js +3 -3
  100. package/dist/plugins/pdf/fonts/vazirmatn.cjs +6 -6
  101. package/dist/plugins/pdf/fonts/vazirmatn.d.cts +4 -4
  102. package/dist/plugins/pdf/fonts/vazirmatn.d.ts +4 -4
  103. package/dist/plugins/pdf/fonts/vazirmatn.js +3 -3
  104. package/dist/plugins/pdf.cjs +5 -5
  105. package/dist/plugins/pdf.d.cts +5 -5
  106. package/dist/plugins/pdf.d.ts +5 -5
  107. package/dist/plugins/pdf.js +2 -2
  108. package/dist/presence.d.cts +3 -3
  109. package/dist/presence.d.ts +3 -3
  110. package/dist/sync.cjs +2 -2
  111. package/dist/sync.d.cts +3 -3
  112. package/dist/sync.d.ts +3 -3
  113. package/dist/sync.js +1 -1
  114. package/package.json +3 -3
  115. package/dist/GridSyncService-KTLB4KP3.js +0 -3
  116. package/dist/GridSyncService-TAPAHABV.cjs +0 -12
  117. package/dist/applyRowVisibilityHandler-KS6TMCBN.js.map +0 -1
  118. package/dist/applyRowVisibilityHandler-LXCOGESZ.cjs.map +0 -1
  119. package/dist/callbackRemoteApi-BlXO5NJz.d.ts +0 -30
  120. package/dist/callbackRemoteApi-DgnXH-i0.d.cts +0 -30
  121. package/dist/chunk-633KP74Z.js.map +0 -1
  122. package/dist/chunk-ASPTRYRD.cjs +0 -21
  123. package/dist/chunk-ASPTRYRD.cjs.map +0 -1
  124. package/dist/chunk-BHDRUZH5.cjs +0 -33
  125. package/dist/chunk-BHDRUZH5.cjs.map +0 -1
  126. package/dist/chunk-BLYVOV3G.cjs.map +0 -1
  127. package/dist/chunk-DXRCYW42.cjs.map +0 -1
  128. package/dist/chunk-HTNJT2QU.js.map +0 -1
  129. package/dist/chunk-IIISFUW4.cjs.map +0 -1
  130. package/dist/chunk-KUBVDIF7.cjs.map +0 -1
  131. package/dist/chunk-KYAOSBQN.js +0 -31
  132. package/dist/chunk-KYAOSBQN.js.map +0 -1
  133. package/dist/chunk-PXCHPZTP.cjs.map +0 -1
  134. package/dist/chunk-QQMU44KJ.js.map +0 -1
  135. package/dist/chunk-RM6ZWNT3.js.map +0 -1
  136. package/dist/chunk-Y6W5V2CI.js +0 -19
  137. package/dist/chunk-Y6W5V2CI.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var chunkH2LESGMX_cjs = require('./chunk-H2LESGMX.cjs');
4
- var chunkIIISFUW4_cjs = require('./chunk-IIISFUW4.cjs');
3
+ var chunkVSAFQTW5_cjs = require('./chunk-VSAFQTW5.cjs');
4
+ var chunkWTHTVKVI_cjs = require('./chunk-WTHTVKVI.cjs');
5
5
  require('./chunk-MT3KLB2Q.cjs');
6
6
  var chunkUC7PHDM6_cjs = require('./chunk-UC7PHDM6.cjs');
7
- require('./chunk-DXRCYW42.cjs');
7
+ require('./chunk-52LFOPXD.cjs');
8
8
  require('./chunk-KMRURD5J.cjs');
9
9
  require('./chunk-JOICD47Q.cjs');
10
- var chunkKUBVDIF7_cjs = require('./chunk-KUBVDIF7.cjs');
10
+ var chunk3HP3HQCW_cjs = require('./chunk-3HP3HQCW.cjs');
11
11
  var chunkCILNIWYW_cjs = require('./chunk-CILNIWYW.cjs');
12
12
  require('./chunk-SX4VQXAA.cjs');
13
13
  require('./chunk-QZN7R2WP.cjs');
@@ -15,13 +15,13 @@ require('./chunk-Z4QPZ3Z3.cjs');
15
15
  var chunkKRJG3KMP_cjs = require('./chunk-KRJG3KMP.cjs');
16
16
  var chunkJ7CPPFXT_cjs = require('./chunk-J7CPPFXT.cjs');
17
17
  var chunkDFFP7SJ6_cjs = require('./chunk-DFFP7SJ6.cjs');
18
- var chunkPXCHPZTP_cjs = require('./chunk-PXCHPZTP.cjs');
18
+ var chunkCMQ4VLCW_cjs = require('./chunk-CMQ4VLCW.cjs');
19
19
  var chunkNTV2UUAJ_cjs = require('./chunk-NTV2UUAJ.cjs');
20
- var chunkVVGYRZ7S_cjs = require('./chunk-VVGYRZ7S.cjs');
20
+ var chunk72IVAOTK_cjs = require('./chunk-72IVAOTK.cjs');
21
21
  require('./chunk-N7SJTINL.cjs');
22
- var chunk2BJCRYOS_cjs = require('./chunk-2BJCRYOS.cjs');
22
+ var chunkVYJQ2HTA_cjs = require('./chunk-VYJQ2HTA.cjs');
23
23
  var chunkIMPCRWYP_cjs = require('./chunk-IMPCRWYP.cjs');
24
- require('./chunk-BHDRUZH5.cjs');
24
+ require('./chunk-F6EMC75A.cjs');
25
25
  var React7 = require('react');
26
26
  var jsxRuntime = require('react/jsx-runtime');
27
27
  var reactDom = require('react-dom');
@@ -265,7 +265,7 @@ function filterFingerprint(filterModel, quickFilterText) {
265
265
  return `${JSON.stringify(filterModel)}|${quickFilterText}`;
266
266
  }
267
267
  function GridLiveRegion({ controller }) {
268
- const t = chunkKUBVDIF7_cjs.useTranslations();
268
+ const t = chunk3HP3HQCW_cjs.useTranslations();
269
269
  const [message, setMessage] = React7.useState("");
270
270
  const primed = React7.useRef(false);
271
271
  const prevSort = React7.useRef("");
@@ -361,7 +361,7 @@ function GridLiveRegion({ controller }) {
361
361
  }
362
362
  function CustomTooltip({ title, children }) {
363
363
  const [pos, setPos] = React7.useState(null);
364
- const portalStyle = chunkKUBVDIF7_cjs.useThemePortalStyle({
364
+ const portalStyle = chunk3HP3HQCW_cjs.useThemePortalStyle({
365
365
  position: "fixed",
366
366
  left: pos?.x,
367
367
  top: pos?.y,
@@ -406,7 +406,7 @@ function CustomModal({
406
406
  width = 720,
407
407
  contentClassName
408
408
  }) {
409
- const overlayStyle = chunkKUBVDIF7_cjs.useThemePortalStyle();
409
+ const overlayStyle = chunk3HP3HQCW_cjs.useThemePortalStyle();
410
410
  const dialogRef = React7.useRef(null);
411
411
  React7.useEffect(() => {
412
412
  if (!isModalOpen) return;
@@ -424,7 +424,7 @@ function CustomModal({
424
424
  closeModal?.();
425
425
  return;
426
426
  }
427
- chunkIIISFUW4_cjs.trapTabKey(dialogRef.current, e);
427
+ chunkWTHTVKVI_cjs.trapTabKey(dialogRef.current, e);
428
428
  };
429
429
  document.addEventListener("keydown", onKey);
430
430
  return () => {
@@ -550,7 +550,7 @@ function CustomDropdownButton({
550
550
  const [open, setOpen] = React7.useState(false);
551
551
  const [pos, setPos] = React7.useState({ top: 0, left: 0 });
552
552
  const triggerRef = React7.useRef(null);
553
- const menuStyle = chunkKUBVDIF7_cjs.useThemePortalStyle({
553
+ const menuStyle = chunk3HP3HQCW_cjs.useThemePortalStyle({
554
554
  position: "fixed",
555
555
  top: pos.top,
556
556
  left: pos.left
@@ -1559,9 +1559,9 @@ function NewDatePicker({
1559
1559
  showMask,
1560
1560
  adapter: adapterProp
1561
1561
  }) {
1562
- const hostAdapter = chunkKUBVDIF7_cjs.useDateAdapter();
1562
+ const hostAdapter = chunk3HP3HQCW_cjs.useDateAdapter();
1563
1563
  const adapter = adapterProp ?? hostAdapter;
1564
- const theme = chunkKUBVDIF7_cjs.useERPTableTheme();
1564
+ const theme = chunk3HP3HQCW_cjs.useERPTableTheme();
1565
1565
  const dark = isDarkBackground(theme.params.backgroundColor);
1566
1566
  return /* @__PURE__ */ jsxRuntime.jsx(
1567
1567
  reactPersianRangePicker.DatePicker,
@@ -1590,7 +1590,7 @@ function FillHandle({ controller }) {
1590
1590
  handle.releasePointerCapture(ev.pointerId);
1591
1591
  }
1592
1592
  window.removeEventListener("pointerup", onPointerUp);
1593
- const cell = chunkIIISFUW4_cjs.resolveCellAddressFromPoint(ev.clientX, ev.clientY);
1593
+ const cell = chunkWTHTVKVI_cjs.resolveCellAddressFromPoint(ev.clientX, ev.clientY);
1594
1594
  if (!cell) return;
1595
1595
  await controller.applyFillHandleDrag(
1596
1596
  { rowIndex: cell.rowIndex, colIndex: cell.colIndex },
@@ -1660,7 +1660,7 @@ function formatJalaliDate(val, options) {
1660
1660
  }
1661
1661
  var valueParser = (val, type, locale = "fa", numberingSystem, dateAdapter) => {
1662
1662
  if (val == null) {
1663
- return type === "selectOption" ? chunkKUBVDIF7_cjs.translate("general.selectPlaceholder", locale) : "";
1663
+ return type === "selectOption" ? chunk3HP3HQCW_cjs.translate("general.selectPlaceholder", locale) : "";
1664
1664
  }
1665
1665
  switch (type) {
1666
1666
  case "text":
@@ -1773,7 +1773,7 @@ function resolveBoundCellNode(meta, components, ctx) {
1773
1773
  );
1774
1774
  }
1775
1775
  var DescriptionComponent = React7.forwardRef((props, ref) => {
1776
- const locale = chunkKUBVDIF7_cjs.useLocale();
1776
+ const locale = chunk3HP3HQCW_cjs.useLocale();
1777
1777
  const {
1778
1778
  meta,
1779
1779
  controller,
@@ -1793,12 +1793,18 @@ var DescriptionComponent = React7.forwardRef((props, ref) => {
1793
1793
  } = props;
1794
1794
  const showSearchHit = !!(isCurrentSearchMatch && searchQuery?.trim());
1795
1795
  const { endpoint, dependOn } = meta.dynamicSource ?? {};
1796
- const isReady = chunkKUBVDIF7_cjs.hasDependValue(dependOn);
1797
- const dependencyBody = chunkKUBVDIF7_cjs.buildDependencyBody(dependOn);
1798
- const { data: menuData } = chunkKUBVDIF7_cjs.useRemoteQuery({
1796
+ const { dependencyBody: hostValues } = chunk3HP3HQCW_cjs.useHostDependOn(dependOn, {
1797
+ enabled: true
1798
+ });
1799
+ const resolveDepend = (item) => chunk3HP3HQCW_cjs.getStaticDependValue(item) ?? hostValues[chunk3HP3HQCW_cjs.getDependFieldName(item)];
1800
+ const isReady = chunk3HP3HQCW_cjs.hasDependValue(dependOn, resolveDepend);
1801
+ const dependencyBody = chunk3HP3HQCW_cjs.buildDependencyBody(dependOn, resolveDepend);
1802
+ const { data: menuData } = chunk3HP3HQCW_cjs.useRemoteQuery({
1799
1803
  url: endpoint,
1800
1804
  body: {
1801
1805
  ...dependencyBody,
1806
+ RepoViewId: 0,
1807
+ RepoId: 0,
1802
1808
  PagingInfo: {
1803
1809
  PageNumber: 1,
1804
1810
  PageRecordCount: 1e4
@@ -1934,13 +1940,15 @@ var ERPTableDynamicSelect = ({
1934
1940
  allowClear,
1935
1941
  onSearch
1936
1942
  }) => {
1937
- const t = chunkKUBVDIF7_cjs.useTranslations();
1943
+ const t = chunk3HP3HQCW_cjs.useTranslations();
1938
1944
  const [options, setOptions] = React7.useState([]);
1939
1945
  const [searchPhrase, setSearchPhrase] = React7.useState(null);
1940
1946
  const [pageNumber, setPageNumber] = React7.useState(1);
1941
1947
  const {
1942
1948
  endpoint,
1943
1949
  repoViewId,
1950
+ // UI-only flag of the host's select config; never part of the request body.
1951
+ addButton: _addButton,
1944
1952
  dependOn,
1945
1953
  ...bodyRequest
1946
1954
  } = dynamicValue ?? {};
@@ -1948,8 +1956,8 @@ var ERPTableDynamicSelect = ({
1948
1956
  if (displayFormatter) return displayFormatter(option);
1949
1957
  return option._SelectDisplay;
1950
1958
  };
1951
- const [getData, { data, isFetching }] = chunkKUBVDIF7_cjs.useLazyRemote();
1952
- const { dependencyBody, dependencyKey, isReady } = chunkKUBVDIF7_cjs.useHostDependOn(dependOn, {
1959
+ const [getData, { data, isFetching }] = chunk3HP3HQCW_cjs.useLazyRemote();
1960
+ const { dependencyBody, dependencyKey, isReady } = chunk3HP3HQCW_cjs.useHostDependOn(dependOn, {
1953
1961
  enabled: false,
1954
1962
  unwrapObjectValue: true
1955
1963
  });
@@ -2120,7 +2128,8 @@ var ERPTableDynamicSelect = ({
2120
2128
  )
2121
2129
  ] });
2122
2130
  };
2123
- var CellRenderer = ({
2131
+ var CellRenderer = (props) => props.meta ? /* @__PURE__ */ jsxRuntime.jsx(CellRendererBody, { ...props, meta: props.meta }) : null;
2132
+ var CellRendererBody = ({
2124
2133
  tableKey,
2125
2134
  row,
2126
2135
  columnId,
@@ -2131,11 +2140,10 @@ var CellRenderer = ({
2131
2140
  mode = "cell"
2132
2141
  }) => {
2133
2142
  const dateHostRef = React7__default.default.useRef(null);
2134
- const { locale, components } = chunkKUBVDIF7_cjs.useERPTableHost();
2135
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
2136
- const dateAdapter = chunkKUBVDIF7_cjs.useDateAdapter();
2143
+ const { locale, components } = chunk3HP3HQCW_cjs.useERPTableHost();
2144
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
2145
+ const dateAdapter = chunk3HP3HQCW_cjs.useDateAdapter();
2137
2146
  const searchState = useGridSearchState(controller);
2138
- if (!meta) return null;
2139
2147
  const disable = typeof row.visibilityCondition[columnId] === "boolean" && row.visibilityCondition[columnId] === false;
2140
2148
  const viewCell = controller.getCell(row.id, columnId);
2141
2149
  const draft = controller.getEditDraft(row.id, columnId);
@@ -2463,6 +2471,7 @@ var CellRenderer = ({
2463
2471
  popupRender: (menu) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: menu }),
2464
2472
  disabled: isDeleted || !isEditable,
2465
2473
  value: selectValue,
2474
+ valueLabel: display != null && display !== "" ? String(display) : void 0,
2466
2475
  dynamicValue: meta?.dynamicSource,
2467
2476
  filterOption: (input, option) => {
2468
2477
  if (meta?.dynamicSelectFilterOption) {
@@ -2573,9 +2582,9 @@ var IndexCol = ({
2573
2582
  controller,
2574
2583
  meta
2575
2584
  }) => {
2576
- const t = chunkKUBVDIF7_cjs.useTranslations();
2577
- const locale = chunkKUBVDIF7_cjs.useLocale();
2578
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
2585
+ const t = chunk3HP3HQCW_cjs.useTranslations();
2586
+ const locale = chunk3HP3HQCW_cjs.useLocale();
2587
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
2579
2588
  const handleDeleteRow = () => {
2580
2589
  controller.dispatch({ type: "ROW_DELETED", rowId: row.id });
2581
2590
  };
@@ -2692,8 +2701,8 @@ function ERPTableRowComponent({
2692
2701
  isActive: isActiveRow,
2693
2702
  isCut
2694
2703
  }) {
2695
- const t = chunkKUBVDIF7_cjs.useTranslations();
2696
- const colWindow = chunkH2LESGMX_cjs.useColumnWindowOrAll(
2704
+ const t = chunk3HP3HQCW_cjs.useTranslations();
2705
+ const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(
2697
2706
  table.columns ?? [],
2698
2707
  table.columnWidths
2699
2708
  );
@@ -2702,15 +2711,15 @@ function ERPTableRowComponent({
2702
2711
  const isDeleted = row.rowState === "Delete" /* Deleted */;
2703
2712
  const cellRanges = controller.getViewState()?.cellRanges ?? [];
2704
2713
  const columnOrder = (table.columns ?? []).filter((c) => !c.hidden).map((c) => c.fieldName);
2705
- const fillCorner = chunkIIISFUW4_cjs.resolveFillCorner(cellRanges, columnOrder);
2714
+ const fillCorner = chunkWTHTVKVI_cjs.resolveFillCorner(cellRanges, columnOrder);
2706
2715
  const rangeCellProps = (colId) => {
2707
- const flags = chunkIIISFUW4_cjs.resolveCellRangePresentation(
2716
+ const flags = chunkWTHTVKVI_cjs.resolveCellRangePresentation(
2708
2717
  { rowIndex: index, colId },
2709
2718
  cellRanges
2710
2719
  );
2711
- const edge = chunkIIISFUW4_cjs.cellRangeEdgeAttr(flags);
2720
+ const edge = chunkWTHTVKVI_cjs.cellRangeEdgeAttr(flags);
2712
2721
  return {
2713
- className: chunkIIISFUW4_cjs.cellRangeClassName(flags),
2722
+ className: chunkWTHTVKVI_cjs.cellRangeClassName(flags),
2714
2723
  "data-pdg-cell-range": flags.inRange ? "true" : void 0,
2715
2724
  "data-pdg-range-edge": edge
2716
2725
  };
@@ -2770,7 +2779,7 @@ function ERPTableRowComponent({
2770
2779
  "tr",
2771
2780
  {
2772
2781
  role: "row",
2773
- "aria-rowindex": chunkH2LESGMX_cjs.ariaDataRowIndex(index, pinnedTopCount),
2782
+ "aria-rowindex": chunkVSAFQTW5_cjs.ariaDataRowIndex(index, pinnedTopCount),
2774
2783
  className: rowClass,
2775
2784
  "data-rowid": row.id,
2776
2785
  "data-pdg-row-loading": row.loading ? "true" : void 0,
@@ -2783,13 +2792,13 @@ function ERPTableRowComponent({
2783
2792
  onClick: handleRowClick,
2784
2793
  onDoubleClick: handleSelectRow,
2785
2794
  children: /* @__PURE__ */ jsxRuntime.jsx(
2786
- chunkH2LESGMX_cjs.ColumnWindowCells,
2795
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
2787
2796
  {
2788
2797
  window: colWindow,
2789
2798
  spacerElement: "td",
2790
2799
  spacerRole: "presentation",
2791
2800
  renderColumn: (c, absoluteColIndex) => {
2792
- const pin = chunkH2LESGMX_cjs.columnPinCellProps(
2801
+ const pin = chunkVSAFQTW5_cjs.columnPinCellProps(
2793
2802
  c,
2794
2803
  colWindow.startPinOffsets,
2795
2804
  colWindow.endPinOffsets
@@ -2807,7 +2816,7 @@ function ERPTableRowComponent({
2807
2816
  "td",
2808
2817
  {
2809
2818
  role: "gridcell",
2810
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(absoluteColIndex),
2819
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(absoluteColIndex),
2811
2820
  className: `p-0 h-full overflow-hidden border ${pin.className} ${rangeProps2.className}`.trim(),
2812
2821
  "data-columnid": c.fieldName,
2813
2822
  "data-pdg-row-index": index,
@@ -2827,8 +2836,8 @@ function ERPTableRowComponent({
2827
2836
  "td",
2828
2837
  {
2829
2838
  role: "gridcell",
2830
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(absoluteColIndex),
2831
- ...chunkH2LESGMX_cjs.gridCellA11y(tableKey, row.id, c.fieldName, table.activeCell),
2839
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(absoluteColIndex),
2840
+ ...chunkVSAFQTW5_cjs.gridCellA11y(tableKey, row.id, c.fieldName, table.activeCell),
2832
2841
  className: `p-0 h-full overflow-hidden border ${pin.className} ${rangeProps2.className}`.trim(),
2833
2842
  key: c.fieldName,
2834
2843
  "data-columnid": c.fieldName,
@@ -2857,8 +2866,8 @@ function ERPTableRowComponent({
2857
2866
  "td",
2858
2867
  {
2859
2868
  role: "gridcell",
2860
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(absoluteColIndex),
2861
- ...chunkH2LESGMX_cjs.gridCellA11y(tableKey, row.id, c.fieldName, table.activeCell),
2869
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(absoluteColIndex),
2870
+ ...chunkVSAFQTW5_cjs.gridCellA11y(tableKey, row.id, c.fieldName, table.activeCell),
2862
2871
  className: `p-0 h-full overflow-hidden border relative ${pin.className} ${rangeProps.className}`.trim(),
2863
2872
  "data-columnid": c.fieldName,
2864
2873
  "data-pdg-row-index": index,
@@ -2910,7 +2919,7 @@ var ERPTableRow = React7__default.default.memo(ERPTableRowComponent, (prev, next
2910
2919
  return prev.row === next.row && prev.index === next.index && prev.stripeIndex === next.stripeIndex && prev.controller === next.controller && prev.tableKey === next.tableKey && prev.isSelected === next.isSelected && prev.isActive === next.isActive && prev.isCut === next.isCut && prev.table.columns === next.table.columns && prev.table.columnWidths === next.table.columnWidths && prev.table.activeCell?.rowId === next.table.activeCell?.rowId && prev.table.activeCell?.columnId === next.table.activeCell?.columnId && prev.table.cellRanges === next.table.cellRanges && prev.moreDetailComponent === next.moreDetailComponent;
2911
2920
  });
2912
2921
  var ERPTableGroupRow = React7__default.default.lazy(
2913
- () => import('./ERPTableGroupRow-J5Z2LRC5.cjs').then((m) => ({ default: m.ERPTableGroupRow }))
2922
+ () => import('./ERPTableGroupRow-F2IPDYL5.cjs').then((m) => ({ default: m.ERPTableGroupRow }))
2914
2923
  );
2915
2924
  function ERPTableBody({
2916
2925
  controller,
@@ -2978,8 +2987,8 @@ function ERPTableFooter({
2978
2987
  pinnedTopCount = 0,
2979
2988
  pinnedBottomCount = 0
2980
2989
  }) {
2981
- const locale = chunkKUBVDIF7_cjs.useLocale();
2982
- const t = chunkKUBVDIF7_cjs.useTranslations();
2990
+ const locale = chunk3HP3HQCW_cjs.useLocale();
2991
+ const t = chunk3HP3HQCW_cjs.useTranslations();
2983
2992
  const [aggs, setAggs] = React7.useState({});
2984
2993
  const table = controller.getViewState();
2985
2994
  const rows = React7.useMemo(
@@ -3006,7 +3015,7 @@ function ERPTableFooter({
3006
3015
  unsubscribe?.();
3007
3016
  };
3008
3017
  }, [controller, rows]);
3009
- const colWindow = chunkH2LESGMX_cjs.useColumnWindowOrAll(
3018
+ const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(
3010
3019
  table?.columns ?? [],
3011
3020
  table?.columnWidths
3012
3021
  );
@@ -3015,7 +3024,7 @@ function ERPTableFooter({
3015
3024
  if (!footer) return null;
3016
3025
  const visibleColumns = table.columns.filter((c) => !c.hidden);
3017
3026
  const cols = visibleColumns.length;
3018
- const footerRowIndex = chunkH2LESGMX_cjs.ariaFooterRowIndex(
3027
+ const footerRowIndex = chunkVSAFQTW5_cjs.ariaFooterRowIndex(
3019
3028
  dataRowCount ?? table.pagination.totalRows,
3020
3029
  pinnedTopCount,
3021
3030
  pinnedBottomCount
@@ -3040,7 +3049,7 @@ function ERPTableFooter({
3040
3049
  ) });
3041
3050
  }
3042
3051
  if (!rows) return null;
3043
- const baseRowIndex = chunkH2LESGMX_cjs.ariaFooterRowIndex(
3052
+ const baseRowIndex = chunkVSAFQTW5_cjs.ariaFooterRowIndex(
3044
3053
  dataRowCount ?? table.pagination.totalRows,
3045
3054
  pinnedTopCount,
3046
3055
  pinnedBottomCount
@@ -3053,13 +3062,13 @@ function ERPTableFooter({
3053
3062
  "data-pdg-footer-row": rowDef.id,
3054
3063
  className: `w-full border border-gray-gray5 bg-main-white !h-9 rounded `,
3055
3064
  children: /* @__PURE__ */ jsxRuntime.jsx(
3056
- chunkH2LESGMX_cjs.ColumnWindowCells,
3065
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
3057
3066
  {
3058
3067
  window: colWindow,
3059
3068
  spacerElement: "td",
3060
3069
  spacerRole: "presentation",
3061
3070
  renderColumn: (c, index) => {
3062
- const pin = chunkH2LESGMX_cjs.columnPinCellProps(
3071
+ const pin = chunkVSAFQTW5_cjs.columnPinCellProps(
3063
3072
  c,
3064
3073
  colWindow.startPinOffsets,
3065
3074
  colWindow.endPinOffsets
@@ -3081,7 +3090,7 @@ function ERPTableFooter({
3081
3090
  "td",
3082
3091
  {
3083
3092
  role: "gridcell",
3084
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
3093
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
3085
3094
  className: pin.className,
3086
3095
  "data-erp-col-pin": pin["data-erp-col-pin"],
3087
3096
  style: {
@@ -3117,6 +3126,83 @@ function resolveColumnReorder(columns, sourceField, destField) {
3117
3126
  if (chunkUC7PHDM6_cjs.isIndexColumn(source) || chunkUC7PHDM6_cjs.isIndexColumn(dest)) return null;
3118
3127
  return { sourceIndex, destIndex };
3119
3128
  }
3129
+
3130
+ // engine/dataOps/columnMenu.ts
3131
+ function isColumnMenuCustomItem(item) {
3132
+ return typeof item === "object" && item !== null && "name" in item;
3133
+ }
3134
+ function isColumnFilterable(column) {
3135
+ const ui = chunkWTHTVKVI_cjs.resolveFilterUi(column);
3136
+ return ui != null;
3137
+ }
3138
+ function isColumnSortableInGrid(column, pagedWindow) {
3139
+ if (!chunkDFFP7SJ6_cjs.isHeaderColumnSortable(column)) return false;
3140
+ return !pagedWindow || column.columnDef?.sortable === true;
3141
+ }
3142
+ function isColumnFilterableInGrid(column, pagedWindow) {
3143
+ if (!isColumnFilterable(column)) return false;
3144
+ if (!pagedWindow) return true;
3145
+ const def = column.columnDef?.filter;
3146
+ return def != null && def !== false;
3147
+ }
3148
+ function buildDefaultColumnMenuItems(ctx) {
3149
+ const items = [];
3150
+ if (ctx.sortable) {
3151
+ items.push("sortAsc", "sortDesc", "sortNone", "separator");
3152
+ }
3153
+ if (ctx.filterable) items.push("filter");
3154
+ if (ctx.hideable) items.push("hideColumn");
3155
+ if (ctx.pinnable) {
3156
+ items.push("pinStart", "pinEnd", "pinNone", "separator");
3157
+ }
3158
+ items.push("autoSize", "columnsPanel");
3159
+ return items;
3160
+ }
3161
+ function resolveColumnMenuItems(column, config, options) {
3162
+ const pagedWindow = options?.pagedWindow === true;
3163
+ const ctx = {
3164
+ sortable: isColumnSortableInGrid(column, pagedWindow),
3165
+ filterable: isColumnFilterableInGrid(column, pagedWindow),
3166
+ hideable: !chunkUC7PHDM6_cjs.isIndexColumn(column),
3167
+ pinnable: !chunkUC7PHDM6_cjs.isIndexColumn(column)
3168
+ };
3169
+ const defaults = buildDefaultColumnMenuItems(ctx);
3170
+ if (!config) return defaults;
3171
+ if (typeof config === "function") return config(defaults);
3172
+ return config;
3173
+ }
3174
+ function columnMenuItemLabelKey(id) {
3175
+ switch (id) {
3176
+ case "sortAsc":
3177
+ return "columnMenu.sortAsc";
3178
+ case "sortDesc":
3179
+ return "columnMenu.sortDesc";
3180
+ case "sortNone":
3181
+ return "columnMenu.sortNone";
3182
+ case "filter":
3183
+ return "columnMenu.filter";
3184
+ case "hideColumn":
3185
+ return "columnMenu.hideColumn";
3186
+ case "pinStart":
3187
+ return "columnMenu.pinStart";
3188
+ case "pinEnd":
3189
+ return "columnMenu.pinEnd";
3190
+ case "pinNone":
3191
+ return "columnMenu.pinNone";
3192
+ case "autoSize":
3193
+ return "columnMenu.autoSize";
3194
+ case "columnsPanel":
3195
+ return "columnMenu.columnsPanel";
3196
+ default:
3197
+ return id;
3198
+ }
3199
+ }
3200
+ function sortModelForMenuAction(current, colId, action) {
3201
+ if (action === "none") {
3202
+ return current.filter((entry) => entry.colId !== colId);
3203
+ }
3204
+ return [{ colId, sort: action }];
3205
+ }
3120
3206
  var GRID_REVALIDATE_EVENT = "pdg-grid:revalidate";
3121
3207
  var LEGACY_GRID_REVALIDATE_EVENT = "erp-table:revalidate";
3122
3208
  function useRevalidateRevision() {
@@ -3256,11 +3342,11 @@ function ColumnFilterPopover({
3256
3342
  onOpenChange,
3257
3343
  anchorRef
3258
3344
  }) {
3259
- const t = chunkKUBVDIF7_cjs.useTranslations();
3345
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3260
3346
  const [pos, setPos] = React7.useState({ top: 0, left: 0 });
3261
3347
  const panelRef = React7.useRef(null);
3262
3348
  const current = filterModel[column.fieldName];
3263
- const menuStyle = chunkKUBVDIF7_cjs.useThemePortalStyle({
3349
+ const menuStyle = chunk3HP3HQCW_cjs.useThemePortalStyle({
3264
3350
  position: "fixed",
3265
3351
  top: pos.top,
3266
3352
  left: pos.left,
@@ -3286,7 +3372,7 @@ function ColumnFilterPopover({
3286
3372
  if (!open || kind !== "set") return [];
3287
3373
  const rows = controller.getAllRows() ?? [];
3288
3374
  const ids = rows.map((r) => r.id.value);
3289
- return chunkIIISFUW4_cjs.collectUniqueFilterValues(ids, column.fieldName, {
3375
+ return chunkWTHTVKVI_cjs.collectUniqueFilterValues(ids, column.fieldName, {
3290
3376
  getValue: (rowId, colId) => controller.getCell(rowId, colId)?.getValue() ?? null
3291
3377
  });
3292
3378
  }, [open, kind, controller, column.fieldName]);
@@ -3402,7 +3488,7 @@ function TextFilterForm({
3402
3488
  onApply,
3403
3489
  onClear
3404
3490
  }) {
3405
- const t = chunkKUBVDIF7_cjs.useTranslations();
3491
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3406
3492
  const initial = current && "filterType" in current && current.filterType === "text" ? current : null;
3407
3493
  const [type, setType] = React7.useState(initial?.type ?? "contains");
3408
3494
  const [filter, setFilter] = React7.useState(String(initial?.filter ?? ""));
@@ -3452,7 +3538,7 @@ function NumberFilterForm({
3452
3538
  onApply,
3453
3539
  onClear
3454
3540
  }) {
3455
- const t = chunkKUBVDIF7_cjs.useTranslations();
3541
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3456
3542
  const initial = current && "filterType" in current && current.filterType === "number" ? current : null;
3457
3543
  const [type, setType] = React7.useState(initial?.type ?? "equals");
3458
3544
  const [filter, setFilter] = React7.useState(String(initial?.filter ?? ""));
@@ -3513,7 +3599,7 @@ function DateFilterForm({
3513
3599
  onApply,
3514
3600
  onClear
3515
3601
  }) {
3516
- const t = chunkKUBVDIF7_cjs.useTranslations();
3602
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3517
3603
  const initial = current && "filterType" in current && current.filterType === "date" ? current : null;
3518
3604
  const [type, setType] = React7.useState(initial?.type ?? "equals");
3519
3605
  const [dateFrom, setDateFrom] = React7.useState(
@@ -3580,7 +3666,7 @@ function BooleanFilterForm({
3580
3666
  onApply,
3581
3667
  onClear
3582
3668
  }) {
3583
- const t = chunkKUBVDIF7_cjs.useTranslations();
3669
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3584
3670
  const initial = current && "filterType" in current && current.filterType === "boolean" ? current.type : "any";
3585
3671
  const [type, setType] = React7.useState(initial);
3586
3672
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3619,7 +3705,7 @@ function SetFilterForm({
3619
3705
  onApply,
3620
3706
  onClear
3621
3707
  }) {
3622
- const t = chunkKUBVDIF7_cjs.useTranslations();
3708
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3623
3709
  const initial = current && "filterType" in current && current.filterType === "set" ? new Set(current.values.map((v) => String(v ?? ""))) : new Set(values.map((v) => String(v ?? "")));
3624
3710
  const [selected, setSelected] = React7.useState(initial);
3625
3711
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3772,7 +3858,7 @@ function ColumnGroupHeaderRows({
3772
3858
  onGroupDragStart
3773
3859
  }) {
3774
3860
  const visible = allVisible.filter((c) => !c.hidden);
3775
- const model = chunkIIISFUW4_cjs.buildColumnGroupHeaderModel(visible, collapsedGroups);
3861
+ const model = chunkWTHTVKVI_cjs.buildColumnGroupHeaderModel(visible, collapsedGroups);
3776
3862
  if (model.maxDepth === 0) return null;
3777
3863
  const layoutWidths = colWindow.layoutWidths;
3778
3864
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: model.rows.map((rowCells, level) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3831,72 +3917,6 @@ function ColumnGroupHeaderRows({
3831
3917
  `group-row-${level}`
3832
3918
  )) });
3833
3919
  }
3834
-
3835
- // engine/dataOps/columnMenu.ts
3836
- function isColumnMenuCustomItem(item) {
3837
- return typeof item === "object" && item !== null && "name" in item;
3838
- }
3839
- function isColumnFilterable(column) {
3840
- const ui = chunkIIISFUW4_cjs.resolveFilterUi(column);
3841
- return ui != null;
3842
- }
3843
- function buildDefaultColumnMenuItems(ctx) {
3844
- const items = [];
3845
- if (ctx.sortable) {
3846
- items.push("sortAsc", "sortDesc", "sortNone", "separator");
3847
- }
3848
- if (ctx.filterable) items.push("filter");
3849
- if (ctx.hideable) items.push("hideColumn");
3850
- if (ctx.pinnable) {
3851
- items.push("pinStart", "pinEnd", "pinNone", "separator");
3852
- }
3853
- items.push("autoSize", "columnsPanel");
3854
- return items;
3855
- }
3856
- function resolveColumnMenuItems(column, config) {
3857
- const ctx = {
3858
- sortable: chunkDFFP7SJ6_cjs.isHeaderColumnSortable(column),
3859
- filterable: isColumnFilterable(column),
3860
- hideable: !chunkUC7PHDM6_cjs.isIndexColumn(column),
3861
- pinnable: !chunkUC7PHDM6_cjs.isIndexColumn(column)
3862
- };
3863
- const defaults = buildDefaultColumnMenuItems(ctx);
3864
- if (!config) return defaults;
3865
- if (typeof config === "function") return config(defaults);
3866
- return config;
3867
- }
3868
- function columnMenuItemLabelKey(id) {
3869
- switch (id) {
3870
- case "sortAsc":
3871
- return "columnMenu.sortAsc";
3872
- case "sortDesc":
3873
- return "columnMenu.sortDesc";
3874
- case "sortNone":
3875
- return "columnMenu.sortNone";
3876
- case "filter":
3877
- return "columnMenu.filter";
3878
- case "hideColumn":
3879
- return "columnMenu.hideColumn";
3880
- case "pinStart":
3881
- return "columnMenu.pinStart";
3882
- case "pinEnd":
3883
- return "columnMenu.pinEnd";
3884
- case "pinNone":
3885
- return "columnMenu.pinNone";
3886
- case "autoSize":
3887
- return "columnMenu.autoSize";
3888
- case "columnsPanel":
3889
- return "columnMenu.columnsPanel";
3890
- default:
3891
- return id;
3892
- }
3893
- }
3894
- function sortModelForMenuAction(current, colId, action) {
3895
- if (action === "none") {
3896
- return current.filter((entry) => entry.colId !== colId);
3897
- }
3898
- return [{ colId, sort: action }];
3899
- }
3900
3920
  function buildRows(items, column, controller, sortModel, onCustomAction, onOpenFilter, onOpenColumnsPanel, t) {
3901
3921
  const colId = column.fieldName;
3902
3922
  const rows = [];
@@ -3971,19 +3991,20 @@ function ColumnMenuPopover({
3971
3991
  onOpenFilter,
3972
3992
  onOpenColumnsPanel
3973
3993
  }) {
3974
- const t = chunkKUBVDIF7_cjs.useTranslations();
3994
+ const t = chunk3HP3HQCW_cjs.useTranslations();
3975
3995
  const menuRef = React7.useRef(null);
3976
3996
  const [pos, setPos] = React7.useState({ top: 0, left: 0 });
3977
3997
  const [focusIndex, setFocusIndex] = React7.useState(0);
3978
- const portalStyle = chunkKUBVDIF7_cjs.useThemePortalStyle({
3998
+ const portalStyle = chunk3HP3HQCW_cjs.useThemePortalStyle({
3979
3999
  position: "fixed",
3980
4000
  top: pos.top,
3981
4001
  left: pos.left,
3982
4002
  zIndex: 1200
3983
4003
  });
4004
+ const pagedWindow = controller.isPagedWindow();
3984
4005
  const items = React7.useMemo(
3985
- () => resolveColumnMenuItems(column, itemsConfig),
3986
- [column, itemsConfig]
4006
+ () => resolveColumnMenuItems(column, itemsConfig, { pagedWindow }),
4007
+ [column, itemsConfig, pagedWindow]
3987
4008
  );
3988
4009
  const rows = React7.useMemo(
3989
4010
  () => buildRows(
@@ -4017,7 +4038,7 @@ function ColumnMenuPopover({
4017
4038
  React7.useEffect(() => {
4018
4039
  if (!open) return;
4019
4040
  const onKey = (e) => {
4020
- if (menuRef.current && chunkIIISFUW4_cjs.trapTabKey(menuRef.current, e)) {
4041
+ if (menuRef.current && chunkWTHTVKVI_cjs.trapTabKey(menuRef.current, e)) {
4021
4042
  return;
4022
4043
  }
4023
4044
  if (e.key === "Escape") {
@@ -4123,10 +4144,10 @@ function ColumnsPanelPopover({
4123
4144
  onOpenChange,
4124
4145
  anchorRef
4125
4146
  }) {
4126
- const t = chunkKUBVDIF7_cjs.useTranslations();
4147
+ const t = chunk3HP3HQCW_cjs.useTranslations();
4127
4148
  const panelRef = React7.useRef(null);
4128
4149
  const [pos, setPos] = React7.useState({ top: 0, left: 0 });
4129
- const portalStyle = chunkKUBVDIF7_cjs.useThemePortalStyle({
4150
+ const portalStyle = chunk3HP3HQCW_cjs.useThemePortalStyle({
4130
4151
  position: "fixed",
4131
4152
  top: pos.top,
4132
4153
  left: pos.left,
@@ -4142,7 +4163,7 @@ function ColumnsPanelPopover({
4142
4163
  React7.useEffect(() => {
4143
4164
  if (!open) return;
4144
4165
  const onKey = (e) => {
4145
- if (panelRef.current && chunkIIISFUW4_cjs.trapTabKey(panelRef.current, e)) {
4166
+ if (panelRef.current && chunkWTHTVKVI_cjs.trapTabKey(panelRef.current, e)) {
4146
4167
  return;
4147
4168
  }
4148
4169
  if (e.key === "Escape") {
@@ -4179,7 +4200,7 @@ function ColumnsPanelPopover({
4179
4200
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "erp-col-columns-panel__title", children: t("columnMenu.columnsPanel") }),
4180
4201
  /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "erp-col-columns-panel__list", role: "listbox", children: togglable.map((col) => {
4181
4202
  const visible = !col.hidden;
4182
- const locked = chunkIIISFUW4_cjs.canSetColumnVisible(col, true).ok === false && !visible;
4203
+ const locked = chunkWTHTVKVI_cjs.canSetColumnVisible(col, true).ok === false && !visible;
4183
4204
  return /* @__PURE__ */ jsxRuntime.jsx("li", { role: "option", "aria-selected": visible, children: /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "erp-col-columns-panel__row", children: [
4184
4205
  /* @__PURE__ */ jsxRuntime.jsx(
4185
4206
  "input",
@@ -4280,7 +4301,7 @@ function floatingFilterValue(model, colId) {
4280
4301
  return "";
4281
4302
  }
4282
4303
  function applyFloatingFilter(model, col, raw) {
4283
- const ui = chunkIIISFUW4_cjs.resolveFilterUi(col);
4304
+ const ui = chunkWTHTVKVI_cjs.resolveFilterUi(col);
4284
4305
  const next = { ...model };
4285
4306
  if (!ui || ui.mode !== "builtin" || raw.trim() === "") {
4286
4307
  delete next[col.fieldName];
@@ -4321,13 +4342,14 @@ function ERPTableHeader({
4321
4342
  floatingFilter = false,
4322
4343
  filterComponents
4323
4344
  }) {
4324
- const direction = chunkKUBVDIF7_cjs.useDirection();
4325
- const t = chunkKUBVDIF7_cjs.useTranslations();
4326
- const host = chunkKUBVDIF7_cjs.useERPTableHost();
4345
+ const direction = chunk3HP3HQCW_cjs.useDirection();
4346
+ const t = chunk3HP3HQCW_cjs.useTranslations();
4347
+ const host = chunk3HP3HQCW_cjs.useERPTableHost();
4327
4348
  const filters = filterComponents ?? host.filterComponents;
4328
4349
  const columnMenuItems = host.columnMenuItems;
4329
4350
  const onColumnMenuAction = host.onColumnMenuAction;
4330
4351
  const table = controller.getViewState();
4352
+ const pagedWindow = controller.isPagedWindow();
4331
4353
  const draggedFieldRef = React7.useRef(null);
4332
4354
  const draggedGroupRef = React7.useRef(null);
4333
4355
  const pointerOriginRef = React7.useRef(null);
@@ -4358,8 +4380,8 @@ function ERPTableHeader({
4358
4380
  ]);
4359
4381
  const displayColumns = table?.columns ?? [];
4360
4382
  const collapsedGroups = table?.collapsedColumnGroups ?? {};
4361
- const colWindow = chunkH2LESGMX_cjs.useColumnWindowOrAll(displayColumns, table?.columnWidths);
4362
- const groupDepth = chunkIIISFUW4_cjs.maxColumnGroupDepth(displayColumns);
4383
+ const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(displayColumns, table?.columnWidths);
4384
+ const groupDepth = chunkWTHTVKVI_cjs.maxColumnGroupDepth(displayColumns);
4363
4385
  if (!table || !table.columns) return null;
4364
4386
  const visibleColumns = displayColumns.filter((c) => !c.hidden);
4365
4387
  const sortModel = table.sortModel ?? [];
@@ -4412,13 +4434,13 @@ function ERPTableHeader({
4412
4434
  onAutoSize: () => controller.autoSizeColumns([col.fieldName])
4413
4435
  }
4414
4436
  );
4415
- const pin = chunkH2LESGMX_cjs.columnPinCellProps(col, colWindow.startPinOffsets, colWindow.endPinOffsets);
4437
+ const pin = chunkVSAFQTW5_cjs.columnPinCellProps(col, colWindow.startPinOffsets, colWindow.endPinOffsets);
4416
4438
  if (chunkUC7PHDM6_cjs.isIndexColumn(col)) {
4417
4439
  return /* @__PURE__ */ jsxRuntime.jsxs(
4418
4440
  "th",
4419
4441
  {
4420
4442
  role: "columnheader",
4421
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
4443
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
4422
4444
  style: { ...col.style, ...size, ...pin.style },
4423
4445
  className: `relative px-2 text-xs border text-start whitespace-nowrap ${pin.className} ${col.className || ""}`,
4424
4446
  "data-erp-col-pin": pin["data-erp-col-pin"],
@@ -4440,11 +4462,11 @@ function ERPTableHeader({
4440
4462
  col.fieldName
4441
4463
  );
4442
4464
  }
4443
- const sortable = chunkDFFP7SJ6_cjs.isHeaderColumnSortable(col);
4444
- const filterUi = chunkIIISFUW4_cjs.resolveFilterUi(col);
4465
+ const sortable = isColumnSortableInGrid(col, pagedWindow);
4466
+ const filterUi = isColumnFilterableInGrid(col, pagedWindow) ? chunkWTHTVKVI_cjs.resolveFilterUi(col) : null;
4445
4467
  const customFilter = filterUi?.mode === "custom" ? resolveFilterComponent(filterUi.name, filters) : void 0;
4446
4468
  const filterable = filterUi != null && (filterUi.mode === "builtin" || customFilter != null);
4447
- const filterActive = chunkIIISFUW4_cjs.isColumnFilterActive(filterModel, col.fieldName);
4469
+ const filterActive = chunkWTHTVKVI_cjs.isColumnFilterActive(filterModel, col.fieldName);
4448
4470
  const ariaSort = sortable ? chunkDFFP7SJ6_cjs.ariaSortForColumn(sortModel, col.fieldName) : void 0;
4449
4471
  const priority = chunkDFFP7SJ6_cjs.sortPriorityForColumn(sortModel, col.fieldName);
4450
4472
  const showPriority = priority != null && sortModel.length > 1;
@@ -4452,7 +4474,7 @@ function ERPTableHeader({
4452
4474
  "th",
4453
4475
  {
4454
4476
  role: "columnheader",
4455
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
4477
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
4456
4478
  "aria-sort": ariaSort,
4457
4479
  style: { ...col.style, ...size, ...pin.style },
4458
4480
  className: `relative px-2 text-xs border text-start min-w-36 ${pin.className} ${col.className || ""}`,
@@ -4604,15 +4626,15 @@ function ERPTableHeader({
4604
4626
  };
4605
4627
  const renderFloatingFilterColumn = (col, index) => {
4606
4628
  const size = chunkUC7PHDM6_cjs.columnSizeStyle(col, table.columnWidths, colWindow.layoutWidths);
4607
- const ui = chunkIIISFUW4_cjs.resolveFilterUi(col);
4629
+ const ui = isColumnFilterableInGrid(col, pagedWindow) ? chunkWTHTVKVI_cjs.resolveFilterUi(col) : null;
4608
4630
  if (chunkUC7PHDM6_cjs.isIndexColumn(col) || !ui || ui.mode !== "builtin") {
4609
4631
  return /* @__PURE__ */ jsxRuntime.jsx(
4610
4632
  "th",
4611
4633
  {
4612
4634
  role: "columnheader",
4613
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
4635
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
4614
4636
  style: size,
4615
- className: `pdg-floating-filter-cell ${chunkH2LESGMX_cjs.columnPinClassName(col)}`
4637
+ className: `pdg-floating-filter-cell ${chunkVSAFQTW5_cjs.columnPinClassName(col)}`
4616
4638
  },
4617
4639
  `ff-${col.fieldName}`
4618
4640
  );
@@ -4621,9 +4643,9 @@ function ERPTableHeader({
4621
4643
  "th",
4622
4644
  {
4623
4645
  role: "columnheader",
4624
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
4646
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
4625
4647
  style: size,
4626
- className: `pdg-floating-filter-cell ${chunkH2LESGMX_cjs.columnPinClassName(col)}`,
4648
+ className: `pdg-floating-filter-cell ${chunkVSAFQTW5_cjs.columnPinClassName(col)}`,
4627
4649
  children: /* @__PURE__ */ jsxRuntime.jsx(
4628
4650
  "input",
4629
4651
  {
@@ -4665,7 +4687,7 @@ function ERPTableHeader({
4665
4687
  draggedGroupRef.current = null;
4666
4688
  setDropField(null);
4667
4689
  if (sourceGroup) {
4668
- const move2 = chunkIIISFUW4_cjs.resolveGroupBlockReorder(displayColumns, sourceGroup, destField);
4690
+ const move2 = chunkWTHTVKVI_cjs.resolveGroupBlockReorder(displayColumns, sourceGroup, destField);
4669
4691
  if (!move2) return;
4670
4692
  void controller.dispatch({
4671
4693
  type: "COLUMN_REORDERED",
@@ -4741,12 +4763,12 @@ function ERPTableHeader({
4741
4763
  "tr",
4742
4764
  {
4743
4765
  role: "row",
4744
- "aria-rowindex": chunkH2LESGMX_cjs.ARIA_HEADER_ROW_INDEX + groupDepth,
4766
+ "aria-rowindex": chunkVSAFQTW5_cjs.ARIA_HEADER_ROW_INDEX + groupDepth,
4745
4767
  style: { gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))` },
4746
4768
  className: `relative h-10 bg-gray-gray3 rounded-t-lg w-full `,
4747
4769
  "data-pdg-header-cols": colWindow.pinnedStart.length + colWindow.mountedScrollableCount + colWindow.pinnedEnd.length,
4748
4770
  children: /* @__PURE__ */ jsxRuntime.jsx(
4749
- chunkH2LESGMX_cjs.ColumnWindowCells,
4771
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
4750
4772
  {
4751
4773
  window: colWindow,
4752
4774
  spacerElement: "th",
@@ -4773,7 +4795,7 @@ function ERPTableHeader({
4773
4795
  className: "pdg-floating-filter-row",
4774
4796
  "data-pdg-floating-filter": "true",
4775
4797
  children: /* @__PURE__ */ jsxRuntime.jsx(
4776
- chunkH2LESGMX_cjs.ColumnWindowCells,
4798
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
4777
4799
  {
4778
4800
  window: colWindow,
4779
4801
  spacerElement: "th",
@@ -4802,15 +4824,15 @@ function PinnedRowCells({
4802
4824
  columnWidths,
4803
4825
  locale
4804
4826
  }) {
4805
- const colWindow = chunkH2LESGMX_cjs.useColumnWindowOrAll(columns, columnWidths);
4827
+ const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(columns, columnWidths);
4806
4828
  return /* @__PURE__ */ jsxRuntime.jsx(
4807
- chunkH2LESGMX_cjs.ColumnWindowCells,
4829
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
4808
4830
  {
4809
4831
  window: colWindow,
4810
4832
  spacerElement: "td",
4811
4833
  spacerRole: "presentation",
4812
4834
  renderColumn: (c, index) => {
4813
- const pin = chunkH2LESGMX_cjs.columnPinCellProps(
4835
+ const pin = chunkVSAFQTW5_cjs.columnPinCellProps(
4814
4836
  c,
4815
4837
  colWindow.startPinOffsets,
4816
4838
  colWindow.endPinOffsets
@@ -4820,7 +4842,7 @@ function PinnedRowCells({
4820
4842
  "td",
4821
4843
  {
4822
4844
  role: "gridcell",
4823
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
4845
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
4824
4846
  className: pin.className,
4825
4847
  "data-erp-col-pin": pin["data-erp-col-pin"],
4826
4848
  style: {
@@ -4842,7 +4864,7 @@ function ERPTablePinnedRows({
4842
4864
  dataRowCount,
4843
4865
  pinnedTopCount
4844
4866
  }) {
4845
- const locale = chunkKUBVDIF7_cjs.useLocale();
4867
+ const locale = chunk3HP3HQCW_cjs.useLocale();
4846
4868
  const view = controller.getViewState();
4847
4869
  if (!view || rows.length === 0) return null;
4848
4870
  const columns = view.columns ?? [];
@@ -4856,7 +4878,7 @@ function ERPTablePinnedRows({
4856
4878
  "data-erp-pinned-top": isTop ? "" : void 0,
4857
4879
  "data-erp-pinned-bottom": isTop ? void 0 : "",
4858
4880
  children: rows.map((row, index) => {
4859
- const ariaRowindex = side === "top" ? chunkH2LESGMX_cjs.ariaPinnedTopRowIndex(index) : chunkH2LESGMX_cjs.ariaPinnedBottomRowIndex(index, dataRowCount, pinnedTopCount);
4881
+ const ariaRowindex = side === "top" ? chunkVSAFQTW5_cjs.ariaPinnedTopRowIndex(index) : chunkVSAFQTW5_cjs.ariaPinnedBottomRowIndex(index, dataRowCount, pinnedTopCount);
4860
4882
  return /* @__PURE__ */ jsxRuntime.jsx(
4861
4883
  "tr",
4862
4884
  {
@@ -4921,7 +4943,7 @@ function buildVirtualWindowFromSparse(index, viewport) {
4921
4943
  };
4922
4944
  }
4923
4945
  function isSparseRowIndex(value) {
4924
- return value instanceof chunkIIISFUW4_cjs.SparseRowIndex;
4946
+ return value instanceof chunkWTHTVKVI_cjs.SparseRowIndex;
4925
4947
  }
4926
4948
  function buildVirtualWindowFromSource(items, viewport) {
4927
4949
  return isSparseRowIndex(items) ? buildVirtualWindowFromSparse(items, viewport) : buildVirtualWindow(items, viewport);
@@ -4962,12 +4984,14 @@ function useVirtualWindow(session, items, options) {
4962
4984
  () => {
4963
4985
  const vp = session.getViewport();
4964
4986
  const itemCount = isSparseRowIndex(items) ? session.getUiRowCount() : items.length;
4987
+ const indexRevision = isSparseRowIndex(items) ? items.revision : 0;
4965
4988
  return {
4966
4989
  scrollOffset: vp.scrollOffset,
4967
4990
  viewportSize: vp.viewportSize,
4968
4991
  rowHeight: vp.rowHeight,
4969
4992
  overscan: vp.overscan,
4970
- itemCount
4993
+ itemCount,
4994
+ indexRevision
4971
4995
  };
4972
4996
  },
4973
4997
  sync,
@@ -4990,7 +5014,7 @@ function useVirtualWindow(session, items, options) {
4990
5014
  };
4991
5015
  }
4992
5016
  var ERPTableGroupRow2 = React7__default.default.lazy(
4993
- () => import('./ERPTableGroupRow-J5Z2LRC5.cjs').then((m) => ({ default: m.ERPTableGroupRow }))
5017
+ () => import('./ERPTableGroupRow-F2IPDYL5.cjs').then((m) => ({ default: m.ERPTableGroupRow }))
4994
5018
  );
4995
5019
  var DEFAULT_ROW_HEIGHT = 40;
4996
5020
  function ERPTableVirtualBody({
@@ -5037,7 +5061,7 @@ function ERPTableVirtualBody({
5037
5061
  el.addEventListener("scroll", handleScroll, { passive: true });
5038
5062
  return () => el.removeEventListener("scroll", handleScroll);
5039
5063
  }, [scrollParentRef, onScroll]);
5040
- const colWindow = chunkH2LESGMX_cjs.useColumnWindowOrAll(
5064
+ const colWindow = chunkVSAFQTW5_cjs.useColumnWindowOrAll(
5041
5065
  table?.columns ?? [],
5042
5066
  table?.columnWidths
5043
5067
  );
@@ -5051,14 +5075,14 @@ function ERPTableVirtualBody({
5051
5075
  const renderSpacer = (kind, height) => {
5052
5076
  if (height <= 0) return null;
5053
5077
  return /* @__PURE__ */ jsxRuntime.jsx("tr", { "aria-hidden": true, role: "presentation", "data-erp-virtual-spacer": kind, children: /* @__PURE__ */ jsxRuntime.jsx(
5054
- chunkH2LESGMX_cjs.ColumnWindowCells,
5078
+ chunkVSAFQTW5_cjs.ColumnWindowCells,
5055
5079
  {
5056
5080
  window: colWindow,
5057
5081
  spacerElement: "td",
5058
5082
  spacerRole: "presentation",
5059
5083
  spacerStyle: { ...spacerStyle, height },
5060
5084
  renderColumn: (c) => {
5061
- const pin = chunkH2LESGMX_cjs.columnPinCellProps(
5085
+ const pin = chunkVSAFQTW5_cjs.columnPinCellProps(
5062
5086
  c,
5063
5087
  colWindow.startPinOffsets,
5064
5088
  colWindow.endPinOffsets
@@ -5147,9 +5171,9 @@ function ToolbarIconButton({
5147
5171
  }
5148
5172
  var PDF_EXPORT_PLUGIN = "pdf-export";
5149
5173
  function PdfExportToolbarButton({ pluginHost }) {
5150
- const t = chunkKUBVDIF7_cjs.useTranslations();
5151
- const direction = chunkKUBVDIF7_cjs.useDirection();
5152
- const { success, error } = chunkKUBVDIF7_cjs.useHostToast();
5174
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5175
+ const direction = chunk3HP3HQCW_cjs.useDirection();
5176
+ const { success, error } = chunk3HP3HQCW_cjs.useHostToast();
5153
5177
  const [busy, setBusy] = React7.useState(false);
5154
5178
  if (!pluginHost?.has(PDF_EXPORT_PLUGIN)) return null;
5155
5179
  const handleExport = async () => {
@@ -5191,8 +5215,8 @@ function PdfExportToolbarButton({ pluginHost }) {
5191
5215
  var EXCEL_IMPORT_PLUGIN = "excel-import";
5192
5216
  var XLSX_ACCEPT = ".xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
5193
5217
  function ExcelImportToolbarButton({ pluginHost }) {
5194
- const t = chunkKUBVDIF7_cjs.useTranslations();
5195
- const { success, error } = chunkKUBVDIF7_cjs.useHostToast();
5218
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5219
+ const { success, error } = chunk3HP3HQCW_cjs.useHostToast();
5196
5220
  const [busy, setBusy] = React7.useState(false);
5197
5221
  const inputRef = React7.useRef(null);
5198
5222
  if (!pluginHost?.has(EXCEL_IMPORT_PLUGIN)) return null;
@@ -5252,8 +5276,8 @@ function GridSearchPanel({
5252
5276
  onClose,
5253
5277
  anchorRef
5254
5278
  }) {
5255
- const t = chunkKUBVDIF7_cjs.useTranslations();
5256
- const { match: viewportMatch } = chunkKUBVDIF7_cjs.useMediaQuery("XLUP");
5279
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5280
+ const { match: viewportMatch } = chunk3HP3HQCW_cjs.useMediaQuery("XLUP");
5257
5281
  const isMobile = viewportMatch === false;
5258
5282
  const searchState = useGridSearchState(controller);
5259
5283
  const [columnId, setColumnId] = React7.useState("");
@@ -5262,7 +5286,7 @@ function GridSearchPanel({
5262
5286
  const [position, setPosition] = React7.useState({ top: 0, left: 0 });
5263
5287
  const panelRef = React7.useRef(null);
5264
5288
  const inputRef = React7.useRef(null);
5265
- const themeVars = chunkKUBVDIF7_cjs.useThemePortalStyle();
5289
+ const themeVars = chunk3HP3HQCW_cjs.useThemePortalStyle();
5266
5290
  const table = controller.getViewState();
5267
5291
  const columns = React7.useMemo(
5268
5292
  () => (table?.columns ?? []).filter((col) => !col.hidden && col.fieldName !== "index"),
@@ -5474,7 +5498,7 @@ function GridSearchPanel({
5474
5498
  );
5475
5499
  }
5476
5500
  function GridSearchControl({ controller }) {
5477
- const t = chunkKUBVDIF7_cjs.useTranslations();
5501
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5478
5502
  const [searchOpen, setSearchOpen] = React7.useState(false);
5479
5503
  const searchAnchorRef = React7.useRef(null);
5480
5504
  const toggleSearch = (event) => {
@@ -5518,8 +5542,8 @@ function MultiSelectListBody({
5518
5542
  fieldKey,
5519
5543
  onToggleRow
5520
5544
  }) {
5521
- chunkKUBVDIF7_cjs.useLocale();
5522
- chunkKUBVDIF7_cjs.useTranslations();
5545
+ chunk3HP3HQCW_cjs.useLocale();
5546
+ chunk3HP3HQCW_cjs.useTranslations();
5523
5547
  return /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: rows.map((row) => {
5524
5548
  const rawId = row[fieldKey];
5525
5549
  const id = typeof rawId === "string" || typeof rawId === "number" ? rawId : String(rawId);
@@ -5558,16 +5582,16 @@ function MultiselectList({
5558
5582
  handleCloseModal
5559
5583
  }) {
5560
5584
  const { dynamicValue, fieldKey, detailFieldKey, onAdd, ListConfig } = multiSelectConfig;
5561
- chunkKUBVDIF7_cjs.useLocale();
5562
- const direction = chunkKUBVDIF7_cjs.useDirection();
5563
- const t = chunkKUBVDIF7_cjs.useTranslations();
5585
+ chunk3HP3HQCW_cjs.useLocale();
5586
+ const direction = chunk3HP3HQCW_cjs.useDirection();
5587
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5564
5588
  const [pageNumber, setPageNumber] = React7.useState(1);
5565
5589
  const [pageRecordCount, setPageRecordCount] = React7.useState(8);
5566
5590
  const [selectedRows, setSelectedRows] = React7.useState(/* @__PURE__ */ new Map());
5567
5591
  const [searchInput, setSearchInput] = React7.useState("");
5568
5592
  const [quickSearch, setQuickSearch] = React7.useState("");
5569
5593
  const { endpoint, repoViewId, dependOn, ...bodyRequest } = dynamicValue;
5570
- const { dependencyBody, isReady } = chunkKUBVDIF7_cjs.useHostDependOn(dependOn, {
5594
+ const { dependencyBody, isReady } = chunk3HP3HQCW_cjs.useHostDependOn(dependOn, {
5571
5595
  enabled: Boolean(multiSelectConfig.dependOnFromHost)
5572
5596
  });
5573
5597
  const body = {
@@ -5583,7 +5607,7 @@ function MultiselectList({
5583
5607
  const existBody = Object.fromEntries(
5584
5608
  Object.entries(body).filter(([, value]) => value !== null)
5585
5609
  );
5586
- const { data } = chunkKUBVDIF7_cjs.useRemoteQuery({
5610
+ const { data } = chunk3HP3HQCW_cjs.useRemoteQuery({
5587
5611
  url: endpoint,
5588
5612
  body: existBody,
5589
5613
  skip: !isReady
@@ -5729,10 +5753,10 @@ function MultiselectList({
5729
5753
  ] });
5730
5754
  }
5731
5755
  function ThemeToggleButton() {
5732
- const t = chunkKUBVDIF7_cjs.useTranslations();
5733
- const { themeToggle, themeLocked, theme, onToggleTheme } = chunkKUBVDIF7_cjs.useERPTableHost();
5756
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5757
+ const { themeToggle, themeLocked, theme, onToggleTheme } = chunk3HP3HQCW_cjs.useERPTableHost();
5734
5758
  if (!themeToggle || themeLocked || !onToggleTheme || !theme) return null;
5735
- const isDark = chunkKUBVDIF7_cjs.isStockDarkTheme(theme);
5759
+ const isDark = chunk3HP3HQCW_cjs.isStockDarkTheme(theme);
5736
5760
  const label = isDark ? t("general.themeLight") : t("general.themeDark");
5737
5761
  return /* @__PURE__ */ jsxRuntime.jsx(
5738
5762
  ToolbarIconButton,
@@ -5750,11 +5774,11 @@ var GroupActionButtons = ({
5750
5774
  multiSelectConfig,
5751
5775
  pluginHost
5752
5776
  }) => {
5753
- const t = chunkKUBVDIF7_cjs.useTranslations();
5754
- const direction = chunkKUBVDIF7_cjs.useDirection();
5755
- const locale = chunkKUBVDIF7_cjs.useLocale();
5756
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
5757
- const { success, error } = chunkKUBVDIF7_cjs.useHostToast();
5777
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5778
+ const direction = chunk3HP3HQCW_cjs.useDirection();
5779
+ const locale = chunk3HP3HQCW_cjs.useLocale();
5780
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
5781
+ const { success, error } = chunk3HP3HQCW_cjs.useHostToast();
5758
5782
  const [modalIsOpen, setModalIsOpen] = React7.useState(false);
5759
5783
  const [isExporting, setIsExporting] = React7.useState(false);
5760
5784
  const selectedRows = controller.getSelectedRows();
@@ -5768,7 +5792,7 @@ var GroupActionButtons = ({
5768
5792
  if (isExporting) return;
5769
5793
  setIsExporting(true);
5770
5794
  try {
5771
- await chunkPXCHPZTP_cjs.exportActiveCollectionToExcel(controller, {
5795
+ await chunkCMQ4VLCW_cjs.exportActiveCollectionToExcel(controller, {
5772
5796
  direction,
5773
5797
  rowHeaderLabel: t("general.row")
5774
5798
  });
@@ -5917,10 +5941,10 @@ function ERPTablePagination({
5917
5941
  tableKey
5918
5942
  }) {
5919
5943
  const table = controller.getViewState();
5920
- const locale = chunkKUBVDIF7_cjs.useLocale();
5921
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
5922
- const direction = chunkKUBVDIF7_cjs.useDirection();
5923
- const t = chunkKUBVDIF7_cjs.useTranslations();
5944
+ const locale = chunk3HP3HQCW_cjs.useLocale();
5945
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
5946
+ const direction = chunk3HP3HQCW_cjs.useDirection();
5947
+ const t = chunk3HP3HQCW_cjs.useTranslations();
5924
5948
  if (!table) return null;
5925
5949
  const { page, pageSize, totalPages, totalRows } = table.pagination;
5926
5950
  const handlePageChange = (e) => {
@@ -6037,14 +6061,14 @@ function resolveGridOverlay(loading, rowCount) {
6037
6061
  return null;
6038
6062
  }
6039
6063
  function DefaultLoadingOverlay() {
6040
- const t = chunkKUBVDIF7_cjs.useTranslations();
6064
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6041
6065
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pdg-overlay__panel", "data-pdg-overlay-default": "loading", children: [
6042
6066
  /* @__PURE__ */ jsxRuntime.jsx(SpinIcon, { config: { width: 28, height: 28 } }),
6043
6067
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("general.loading") })
6044
6068
  ] });
6045
6069
  }
6046
6070
  function DefaultNoRowsOverlay() {
6047
- const t = chunkKUBVDIF7_cjs.useTranslations();
6071
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6048
6072
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pdg-overlay__panel", "data-pdg-overlay-default": "noRows", children: [
6049
6073
  /* @__PURE__ */ jsxRuntime.jsx(NoData, { config: { width: 56, height: 56 } }),
6050
6074
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: t("general.noData") })
@@ -6106,7 +6130,7 @@ function DesktopTable({
6106
6130
  const rootRef = React7.useRef(null);
6107
6131
  const bodyRef = React7.useRef(null);
6108
6132
  const useVirtual = !controller.isPagedWindow() && resolveDesktopVirtualization(virtualization, session);
6109
- const rowHeight = chunkKUBVDIF7_cjs.useERPTableTheme().params.rowHeight;
6133
+ const rowHeight = chunk3HP3HQCW_cjs.useERPTableTheme().params.rowHeight;
6110
6134
  const { bodyHeight } = useERPTableLayout({
6111
6135
  rootRef,
6112
6136
  bodyRef,
@@ -6125,7 +6149,7 @@ function DesktopTable({
6125
6149
  const pinnedBottomCount = pinnedBottomRowData?.length ?? 0;
6126
6150
  const hasFooter = Boolean(footer);
6127
6151
  const footerRowCount = typeof footer === "boolean" && footer ? Math.max(1, footerRows?.length ?? 1) : hasFooter ? 1 : 0;
6128
- const activeDescendant = view?.activeCell ? chunkH2LESGMX_cjs.gridCellDomId(tableKey, view.activeCell.rowId, view.activeCell.columnId) : void 0;
6152
+ const activeDescendant = view?.activeCell ? chunkVSAFQTW5_cjs.gridCellDomId(tableKey, view.activeCell.rowId, view.activeCell.columnId) : void 0;
6129
6153
  const isTreeGrid = Boolean(
6130
6154
  view?.rows?.some((r) => r.rowKind === "group")
6131
6155
  );
@@ -6187,7 +6211,7 @@ function DesktopTable({
6187
6211
  role: isTreeGrid ? "treegrid" : "grid",
6188
6212
  tabIndex: 0,
6189
6213
  "aria-colcount": colCount || void 0,
6190
- "aria-rowcount": chunkH2LESGMX_cjs.ariaGridRowCount(
6214
+ "aria-rowcount": chunkVSAFQTW5_cjs.ariaGridRowCount(
6191
6215
  dataRowCount,
6192
6216
  footerRowCount,
6193
6217
  pinnedTopCount,
@@ -6212,7 +6236,7 @@ function DesktopTable({
6212
6236
  }
6213
6237
  },
6214
6238
  children: /* @__PURE__ */ jsxRuntime.jsxs(
6215
- chunkH2LESGMX_cjs.ColumnWindowProvider,
6239
+ chunkVSAFQTW5_cjs.ColumnWindowProvider,
6216
6240
  {
6217
6241
  scrollRef: bodyRef,
6218
6242
  columns: view?.columns ?? [],
@@ -6325,7 +6349,7 @@ function MobileActionButtons({
6325
6349
  multiSelectConfig,
6326
6350
  pluginHost
6327
6351
  }) {
6328
- const t = chunkKUBVDIF7_cjs.useTranslations();
6352
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6329
6353
  const [modalIsOpen, setModalIsOpen] = React7.useState(false);
6330
6354
  const selectedRows = controller.getSelectedRows();
6331
6355
  const count = selectedRows ? Object.keys(selectedRows).length : 0;
@@ -6399,9 +6423,9 @@ function MobileLoadMoreButton({
6399
6423
  visibleCount,
6400
6424
  totalRows
6401
6425
  }) {
6402
- const t = chunkKUBVDIF7_cjs.useTranslations();
6403
- const locale = chunkKUBVDIF7_cjs.useLocale();
6404
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
6426
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6427
+ const locale = chunk3HP3HQCW_cjs.useLocale();
6428
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
6405
6429
  const visible = chunkCILNIWYW_cjs.formatLocaleNumber(visibleCount, {
6406
6430
  locale,
6407
6431
  numberingSystem
@@ -6452,7 +6476,7 @@ function MobileRowFormModal({
6452
6476
  editor,
6453
6477
  onClose
6454
6478
  }) {
6455
- const t = chunkKUBVDIF7_cjs.useTranslations();
6479
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6456
6480
  const getRowById = () => {
6457
6481
  return controller.getRowView(editor.rowId);
6458
6482
  };
@@ -6533,9 +6557,9 @@ function MobileIndexCol({
6533
6557
  controller,
6534
6558
  meta
6535
6559
  }) {
6536
- const t = chunkKUBVDIF7_cjs.useTranslations();
6537
- const locale = chunkKUBVDIF7_cjs.useLocale();
6538
- const numberingSystem = chunkKUBVDIF7_cjs.useNumberingSystem();
6560
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6561
+ const locale = chunk3HP3HQCW_cjs.useLocale();
6562
+ const numberingSystem = chunk3HP3HQCW_cjs.useNumberingSystem();
6539
6563
  const handleDeleteRow = () => {
6540
6564
  controller.dispatch({ type: "ROW_DELETED", rowId: row.id });
6541
6565
  };
@@ -6629,7 +6653,7 @@ function MobileTableRowComponent({
6629
6653
  "tr",
6630
6654
  {
6631
6655
  role: "row",
6632
- "aria-rowindex": chunkH2LESGMX_cjs.ariaDataRowIndex(index),
6656
+ "aria-rowindex": chunkVSAFQTW5_cjs.ariaDataRowIndex(index),
6633
6657
  className: rowClass,
6634
6658
  "data-rowid": row.id,
6635
6659
  onClick: handleRowClick,
@@ -6645,12 +6669,12 @@ function MobileTableRowComponent({
6645
6669
  return /* @__PURE__ */ jsxRuntime.jsx(
6646
6670
  "td",
6647
6671
  {
6648
- className: `p-0 h-full ${chunkH2LESGMX_cjs.indexPinClassName(c)}`,
6672
+ className: `p-0 h-full ${chunkVSAFQTW5_cjs.indexPinClassName(c)}`,
6649
6673
  role: "gridcell",
6650
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(idx),
6651
- ...chunkH2LESGMX_cjs.gridCellA11y(tableKey, row.id, c.fieldName, activeCell),
6674
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(idx),
6675
+ ...chunkVSAFQTW5_cjs.gridCellA11y(tableKey, row.id, c.fieldName, activeCell),
6652
6676
  "data-columnid": c.fieldName,
6653
- "data-erp-col-pin": chunkH2LESGMX_cjs.indexPinDataAttr(c),
6677
+ "data-erp-col-pin": chunkVSAFQTW5_cjs.indexPinDataAttr(c),
6654
6678
  style: chunkUC7PHDM6_cjs.overlayStoredColumnWidth(c, columnWidths, {}),
6655
6679
  children: /* @__PURE__ */ jsxRuntime.jsx(
6656
6680
  MobileIndexCol,
@@ -6669,8 +6693,8 @@ function MobileTableRowComponent({
6669
6693
  "td",
6670
6694
  {
6671
6695
  role: "gridcell",
6672
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(idx),
6673
- ...chunkH2LESGMX_cjs.gridCellA11y(tableKey, row.id, c.fieldName, activeCell),
6696
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(idx),
6697
+ ...chunkVSAFQTW5_cjs.gridCellA11y(tableKey, row.id, c.fieldName, activeCell),
6674
6698
  className: "p-0 h-full",
6675
6699
  "data-columnid": c.fieldName,
6676
6700
  style: chunkUC7PHDM6_cjs.overlayStoredColumnWidth(c, columnWidths, {}),
@@ -6727,7 +6751,7 @@ function MobileTableHeader({
6727
6751
  controller,
6728
6752
  header
6729
6753
  }) {
6730
- const t = chunkKUBVDIF7_cjs.useTranslations();
6754
+ const t = chunk3HP3HQCW_cjs.useTranslations();
6731
6755
  const table = controller.getViewState();
6732
6756
  const [validationResult, setValidationResult] = React7.useState({
6733
6757
  valid: true,
@@ -6791,7 +6815,7 @@ function MobileTableHeader({
6791
6815
  "tr",
6792
6816
  {
6793
6817
  role: "row",
6794
- "aria-rowindex": chunkH2LESGMX_cjs.ARIA_HEADER_ROW_INDEX,
6818
+ "aria-rowindex": chunkVSAFQTW5_cjs.ARIA_HEADER_ROW_INDEX,
6795
6819
  className: "relative h-10 bg-gray-gray3 rounded-t-lg w-full",
6796
6820
  children: visibleColumns.map((col, index) => {
6797
6821
  if (col.fieldType === "index") {
@@ -6799,13 +6823,13 @@ function MobileTableHeader({
6799
6823
  "th",
6800
6824
  {
6801
6825
  role: "columnheader",
6802
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
6826
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
6803
6827
  style: {
6804
6828
  ...col.style,
6805
6829
  ...chunkUC7PHDM6_cjs.overlayStoredColumnWidth(col, table.columnWidths, { width: 120 })
6806
6830
  },
6807
- className: `px-2 text-xs border text-start whitespace-nowrap ${chunkH2LESGMX_cjs.indexPinClassName(col)} ${col.className || ""}`,
6808
- "data-erp-col-pin": chunkH2LESGMX_cjs.indexPinDataAttr(col),
6831
+ className: `px-2 text-xs border text-start whitespace-nowrap ${chunkVSAFQTW5_cjs.indexPinClassName(col)} ${col.className || ""}`,
6832
+ "data-erp-col-pin": chunkVSAFQTW5_cjs.indexPinDataAttr(col),
6809
6833
  children: [
6810
6834
  /* @__PURE__ */ jsxRuntime.jsx(
6811
6835
  CustomCheckbox,
@@ -6825,7 +6849,7 @@ function MobileTableHeader({
6825
6849
  "th",
6826
6850
  {
6827
6851
  role: "columnheader",
6828
- "aria-colindex": chunkH2LESGMX_cjs.ariaColIndex(index),
6852
+ "aria-colindex": chunkVSAFQTW5_cjs.ariaColIndex(index),
6829
6853
  style: {
6830
6854
  ...col.style,
6831
6855
  ...chunkUC7PHDM6_cjs.overlayStoredColumnWidth(col, table.columnWidths, {
@@ -6900,7 +6924,7 @@ function MobileTable({
6900
6924
  );
6901
6925
  if (!mobileView) return null;
6902
6926
  const viewState = controller.getViewState();
6903
- const activeDescendant = viewState?.activeCell ? chunkH2LESGMX_cjs.gridCellDomId(
6927
+ const activeDescendant = viewState?.activeCell ? chunkVSAFQTW5_cjs.gridCellDomId(
6904
6928
  tableKey,
6905
6929
  viewState.activeCell.rowId,
6906
6930
  viewState.activeCell.columnId
@@ -6943,7 +6967,7 @@ function MobileTable({
6943
6967
  role: "grid",
6944
6968
  tabIndex: 0,
6945
6969
  "aria-colcount": mobileView.columns.filter((c) => !c.hidden).length || void 0,
6946
- "aria-rowcount": chunkH2LESGMX_cjs.ariaGridRowCount(mobileView.totalRows, Boolean(footer)) || void 0,
6970
+ "aria-rowcount": chunkVSAFQTW5_cjs.ariaGridRowCount(mobileView.totalRows, Boolean(footer)) || void 0,
6947
6971
  "aria-activedescendant": activeDescendant,
6948
6972
  "data-pdg-grid-focus": "",
6949
6973
  onFocus: (e) => {
@@ -7039,6 +7063,9 @@ function isInsideSelect(el) {
7039
7063
  );
7040
7064
  }
7041
7065
  function isGridShortcutKey(e) {
7066
+ if (typeof e.getModifierState === "function" && e.getModifierState("AltGraph")) {
7067
+ return false;
7068
+ }
7042
7069
  if (e.altKey) return true;
7043
7070
  return e.ctrlKey && (e.code === "Space" || e.code === "ArrowUp" || e.code === "ArrowDown" || e.code === "End");
7044
7071
  }
@@ -7053,18 +7080,33 @@ function shouldSkipGridNavigation(target, code) {
7053
7080
  }
7054
7081
  return false;
7055
7082
  }
7083
+ function resolveGridKeyScope(target, root) {
7084
+ if (!root) return "cell";
7085
+ if (typeof Element === "undefined" || !(target instanceof Element)) return "page";
7086
+ if (typeof document !== "undefined" && (target === document.body || target === document.documentElement)) {
7087
+ return "page";
7088
+ }
7089
+ const owner = target.closest("[data-pdg-grid]");
7090
+ if (owner && owner !== root) return "other-grid";
7091
+ if (!root.contains(target)) return "outside";
7092
+ if (target.closest('[role="menu"], [role="dialog"], .erp-table-modal')) return "outside";
7093
+ if (target.closest('[role="gridcell"], [data-erp-cell-textarea]')) return "cell";
7094
+ if (target.closest('[role="grid"], [role="treegrid"]') === target) return "cell";
7095
+ return "outside";
7096
+ }
7056
7097
  function useGrid(config) {
7057
7098
  const generatedKeyRef = React7.useRef(void 0);
7058
7099
  if (config.tableKey) {
7059
7100
  generatedKeyRef.current = config.tableKey;
7060
7101
  } else if (!generatedKeyRef.current) {
7061
- generatedKeyRef.current = chunkIIISFUW4_cjs.createGridTableKey();
7102
+ generatedKeyRef.current = chunkWTHTVKVI_cjs.createGridTableKey();
7062
7103
  }
7063
7104
  const tableKey = generatedKeyRef.current;
7064
7105
  const [controller, setController] = React7.useState(null);
7065
7106
  const [api, setApi] = React7.useState(null);
7066
7107
  const [session, setSession] = React7.useState(null);
7067
7108
  const [pluginHost, setPluginHost] = React7.useState(null);
7109
+ const [eventStore, setEventStore] = React7.useState(null);
7068
7110
  const [rows, setRows] = React7.useState(null);
7069
7111
  const [, setViewVersion] = React7.useState(0);
7070
7112
  const [undoFlags, setUndoFlags] = React7.useState({ canUndo: false, canRedo: false });
@@ -7072,45 +7114,56 @@ function useGrid(config) {
7072
7114
  const [changelog, setChangelog] = React7.useState([]);
7073
7115
  const pagedIdb = config.persistence === "paged-idb";
7074
7116
  const disabled = pagedIdb && !config.tableKey;
7075
- const [generation, setGeneration] = React7.useState(0);
7076
- const grid = React7.useMemo(
7077
- () => disabled ? null : chunkIIISFUW4_cjs.createGrid({ ...config, tableKey }),
7078
- [tableKey, disabled, generation, config.columns, config.columnDefs, config.store]
7079
- );
7117
+ const configRef = React7.useRef(config);
7118
+ configRef.current = config;
7119
+ const teardownRef = React7.useRef(Promise.resolve());
7080
7120
  React7.useEffect(() => {
7081
7121
  let cancelled = false;
7122
+ let built = null;
7082
7123
  setController(null);
7083
7124
  setApi(null);
7084
7125
  setSession(null);
7085
7126
  setPluginHost(null);
7127
+ setEventStore(null);
7086
7128
  setRows(null);
7087
- if (!grid) return void 0;
7088
- void grid.ready.then((result) => {
7129
+ if (disabled) return void 0;
7130
+ const previous = teardownRef.current;
7131
+ void previous.then(() => {
7089
7132
  if (cancelled) return;
7090
- setController(result.controller);
7091
- setApi(result.api);
7092
- setSession(result.session);
7093
- setPluginHost(result.pluginHost);
7133
+ const grid = chunkWTHTVKVI_cjs.createGrid({ ...configRef.current, tableKey });
7134
+ built = grid;
7135
+ void grid.ready.then((result) => {
7136
+ if (cancelled) return;
7137
+ setController(result.controller);
7138
+ setApi(result.api);
7139
+ setSession(result.session);
7140
+ setPluginHost(result.pluginHost);
7141
+ setEventStore(result.eventStore);
7142
+ });
7094
7143
  });
7095
7144
  return () => {
7096
7145
  cancelled = true;
7097
- if (pagedIdb) {
7098
- void grid.ready.then((result) => result.controller.dispose());
7099
- setGeneration((g) => g + 1);
7146
+ const grid = built;
7147
+ if (!grid) {
7148
+ teardownRef.current = previous;
7149
+ return;
7100
7150
  }
7151
+ teardownRef.current = previous.then(
7152
+ () => grid.ready.then(
7153
+ (result) => pagedIdb ? result.controller.dispose() : result.controller.releaseResources(),
7154
+ () => void 0
7155
+ )
7156
+ );
7101
7157
  };
7102
- }, [grid, pagedIdb]);
7158
+ }, [tableKey, disabled, pagedIdb, config.columns, config.columnDefs, config.store]);
7103
7159
  React7.useEffect(() => {
7104
7160
  if (!controller || config.rowData === void 0) return;
7105
- controller.applyHostRowData(
7106
- config.rowData,
7107
- config.columnDefs,
7108
- config.getRowId
7109
- );
7110
- }, [controller, config.rowData, config.columnDefs, config.getRowId]);
7161
+ const { columnDefs, getRowId } = configRef.current;
7162
+ controller.applyHostRowData(config.rowData, columnDefs, getRowId);
7163
+ }, [controller, config.rowData]);
7111
7164
  React7.useEffect(() => {
7112
7165
  if (!controller || !config.columnDefs) return;
7113
- for (const def of chunkIIISFUW4_cjs.flattenColDefOrGroup(config.columnDefs)) {
7166
+ for (const def of chunkWTHTVKVI_cjs.flattenColDefOrGroup(config.columnDefs)) {
7114
7167
  if (def.hide === void 0) continue;
7115
7168
  const colId = typeof def.colId === "string" && def.colId.length > 0 ? def.colId : typeof def.field === "string" ? def.field : null;
7116
7169
  if (!colId) continue;
@@ -7179,7 +7232,7 @@ function useGrid(config) {
7179
7232
  unsubChangelog();
7180
7233
  };
7181
7234
  }, [controller]);
7182
- if (!grid || !controller || !api || !session || !pluginHost || !controller.getViewState()) {
7235
+ if (!eventStore || !controller || !api || !session || !pluginHost || !controller.getViewState()) {
7183
7236
  return { ready: false };
7184
7237
  }
7185
7238
  return {
@@ -7188,8 +7241,8 @@ function useGrid(config) {
7188
7241
  api,
7189
7242
  session,
7190
7243
  pluginHost,
7191
- eventStore: grid.eventStore,
7192
- store: chunkIIISFUW4_cjs.isPersistentStore(config.store) ? config.store : chunkIIISFUW4_cjs.DEFAULT_MEMORY_STORE,
7244
+ eventStore,
7245
+ store: chunkWTHTVKVI_cjs.isPersistentStore(config.store) ? config.store : chunkWTHTVKVI_cjs.DEFAULT_MEMORY_STORE,
7193
7246
  tableKey,
7194
7247
  rows: rows ?? controller.getSnapShot("active"),
7195
7248
  changelog,
@@ -7226,12 +7279,6 @@ function assignRef(ref, value) {
7226
7279
  }
7227
7280
  function DataGrid(props) {
7228
7281
  const {
7229
- columns,
7230
- rowAccess,
7231
- rows,
7232
- actor,
7233
- store,
7234
- tableKey,
7235
7282
  apiRef,
7236
7283
  onReady,
7237
7284
  onGridReady,
@@ -7245,8 +7292,6 @@ function DataGrid(props) {
7245
7292
  footer,
7246
7293
  footerRows,
7247
7294
  tableHeight,
7248
- activeCollection,
7249
- recordPerPage,
7250
7295
  multiSelectConfig,
7251
7296
  moreDetailComponent,
7252
7297
  virtualization,
@@ -7261,10 +7306,7 @@ function DataGrid(props) {
7261
7306
  themeToggle = true,
7262
7307
  components,
7263
7308
  filterComponents,
7264
- plugins,
7265
7309
  rowData,
7266
- columnDefs,
7267
- getRowId,
7268
7310
  floatingFilter = false,
7269
7311
  loading = false,
7270
7312
  loadingOverlayComponent,
@@ -7278,17 +7320,22 @@ function DataGrid(props) {
7278
7320
  onClipboardPaste,
7279
7321
  columnMenuItems,
7280
7322
  onColumnMenuAction,
7281
- stateKey,
7323
+ useDependOn,
7282
7324
  pinnedTopRowData,
7283
7325
  pinnedBottomRowData
7284
7326
  } = props;
7285
- const requestedTheme = themeProp ?? chunkKUBVDIF7_cjs.themeDefault;
7327
+ const rootRef = React7.useRef(null);
7328
+ const insideEventRef = React7.useRef(null);
7329
+ const markInsideEvent = React7.useCallback((e) => {
7330
+ insideEventRef.current = e.nativeEvent;
7331
+ }, []);
7332
+ const requestedTheme = themeProp ?? chunk3HP3HQCW_cjs.themeDefault;
7286
7333
  const requestedKey = JSON.stringify(requestedTheme.params);
7287
7334
  const [preferDark, setPreferDark] = React7.useState(
7288
- () => chunkKUBVDIF7_cjs.isStockDarkTheme(requestedTheme)
7335
+ () => chunk3HP3HQCW_cjs.isStockDarkTheme(requestedTheme)
7289
7336
  );
7290
7337
  const { theme: resolvedTheme, locked: themeLocked } = React7.useMemo(
7291
- () => chunkKUBVDIF7_cjs.resolveActiveTheme({
7338
+ () => chunk3HP3HQCW_cjs.resolveActiveTheme({
7292
7339
  requested: requestedTheme,
7293
7340
  preferDark
7294
7341
  }),
@@ -7296,28 +7343,14 @@ function DataGrid(props) {
7296
7343
  );
7297
7344
  React7.useEffect(() => {
7298
7345
  if (themeLocked) return;
7299
- setPreferDark(chunkKUBVDIF7_cjs.isStockDarkTheme(requestedTheme));
7346
+ setPreferDark(chunk3HP3HQCW_cjs.isStockDarkTheme(requestedTheme));
7300
7347
  }, [requestedKey, themeLocked, requestedTheme]);
7301
7348
  const onToggleTheme = React7.useCallback(() => {
7302
7349
  setPreferDark((value) => !value);
7303
7350
  }, []);
7304
7351
  const result = useGrid({
7305
- store,
7306
- tableKey,
7307
- activeCollection,
7308
- columns,
7309
- rows,
7310
- actor,
7311
- rowAccess,
7312
- tableHeight,
7313
- recordPerPage,
7314
- rowHeight: resolvedTheme.params.rowHeight,
7315
- remoteApi,
7316
- plugins,
7317
- rowData,
7318
- columnDefs,
7319
- getRowId,
7320
- stateKey
7352
+ ...props,
7353
+ rowHeight: resolvedTheme.params.rowHeight
7321
7354
  });
7322
7355
  React7.useEffect(() => {
7323
7356
  if (!result.ready) return;
@@ -7355,7 +7388,11 @@ function DataGrid(props) {
7355
7388
  }
7356
7389
  };
7357
7390
  const handler = (e) => {
7358
- if (isGridShortcutKey(e)) {
7391
+ const scope = resolveGridKeyScope(e.target, rootRef.current);
7392
+ if (scope === "other-grid") return;
7393
+ const shortcut = isGridShortcutKey(e);
7394
+ if (scope === "outside" && !shortcut) return;
7395
+ if (shortcut) {
7359
7396
  e.preventDefault();
7360
7397
  e.stopPropagation();
7361
7398
  } else if (shouldSkipGridNavigation(e.target, e.code)) {
@@ -7380,7 +7417,23 @@ function DataGrid(props) {
7380
7417
  window.removeEventListener("keydown", handler, true);
7381
7418
  };
7382
7419
  }, [result.ready, result]);
7383
- chunkKUBVDIF7_cjs.useGridHostEvents({
7420
+ const readyController = result.ready ? result.controller : null;
7421
+ React7.useEffect(() => {
7422
+ if (!readyController || typeof document === "undefined") return;
7423
+ const onDocument = (event) => {
7424
+ window.setTimeout(() => {
7425
+ if (insideEventRef.current === event) return;
7426
+ void readyController.leaveGridFocus();
7427
+ }, 0);
7428
+ };
7429
+ document.addEventListener("focusin", onDocument, true);
7430
+ document.addEventListener("pointerdown", onDocument, true);
7431
+ return () => {
7432
+ document.removeEventListener("focusin", onDocument, true);
7433
+ document.removeEventListener("pointerdown", onDocument, true);
7434
+ };
7435
+ }, [readyController]);
7436
+ chunk3HP3HQCW_cjs.useGridHostEvents({
7384
7437
  ready: result.ready,
7385
7438
  controller: result.ready ? result.controller : null,
7386
7439
  eventStore: result.ready ? result.eventStore : null,
@@ -7415,7 +7468,7 @@ function DataGrid(props) {
7415
7468
  onGridReady?.({ api });
7416
7469
  return () => assignRef(apiRef, null);
7417
7470
  }, [result, apiRef, onReady, onGridReady]);
7418
- const { match: viewportMatch } = chunkKUBVDIF7_cjs.useMediaQuery("XLUP");
7471
+ const { match: viewportMatch } = chunk3HP3HQCW_cjs.useMediaQuery("XLUP");
7419
7472
  const isMobile = viewportMatch === false;
7420
7473
  if (!result.ready) return null;
7421
7474
  const sharedProps = {
@@ -7447,9 +7500,9 @@ function DataGrid(props) {
7447
7500
  }
7448
7501
  );
7449
7502
  const dir = chunkCILNIWYW_cjs.resolveDirection(locale, direction);
7450
- const themeMode = chunkKUBVDIF7_cjs.isStockDarkTheme(resolvedTheme) ? "dark" : "light";
7503
+ const themeMode = chunk3HP3HQCW_cjs.isStockDarkTheme(resolvedTheme) ? "dark" : "light";
7451
7504
  return /* @__PURE__ */ jsxRuntime.jsx(
7452
- chunkKUBVDIF7_cjs.ERPTableHostProvider,
7505
+ chunk3HP3HQCW_cjs.ERPTableHostProvider,
7453
7506
  {
7454
7507
  locale,
7455
7508
  direction: dir,
@@ -7466,16 +7519,20 @@ function DataGrid(props) {
7466
7519
  filterComponents,
7467
7520
  columnMenuItems,
7468
7521
  onColumnMenuAction,
7522
+ useDependOn,
7469
7523
  children: /* @__PURE__ */ jsxRuntime.jsx(
7470
7524
  "div",
7471
7525
  {
7526
+ ref: rootRef,
7472
7527
  className: "pdg-grid erp-table",
7473
7528
  dir,
7529
+ onFocusCapture: markInsideEvent,
7530
+ onPointerDownCapture: markInsideEvent,
7474
7531
  "data-pdg-grid": true,
7475
7532
  "data-erp-table": true,
7476
7533
  "data-erp-theme": themeMode,
7477
7534
  "data-erp-theme-locked": themeLocked ? "true" : "false",
7478
- style: chunkKUBVDIF7_cjs.themeToStyle(resolvedTheme),
7535
+ style: chunk3HP3HQCW_cjs.themeToStyle(resolvedTheme),
7479
7536
  children: table
7480
7537
  }
7481
7538
  )
@@ -8982,7 +9039,7 @@ function GridHistoryPanel({
8982
9039
  className,
8983
9040
  onNavigate
8984
9041
  }) {
8985
- const t = chunkKUBVDIF7_cjs.useTranslations();
9042
+ const t = chunk3HP3HQCW_cjs.useTranslations();
8986
9043
  const [items, setItems] = React7.useState([]);
8987
9044
  const [severity, setSeverity] = React7.useState("");
8988
9045
  const [category, setCategory] = React7.useState("");
@@ -9113,7 +9170,7 @@ function GridOfflineStatus({
9113
9170
  className,
9114
9171
  showQueue = true
9115
9172
  }) {
9116
- const t = chunkKUBVDIF7_cjs.useTranslations();
9173
+ const t = chunk3HP3HQCW_cjs.useTranslations();
9117
9174
  const [connectivity, setConnectivity] = React7.useState(
9118
9175
  () => controller.getConnectivity()
9119
9176
  );
@@ -9312,255 +9369,255 @@ function VirtualList({
9312
9369
 
9313
9370
  Object.defineProperty(exports, "ColumnAggIndex", {
9314
9371
  enumerable: true,
9315
- get: function () { return chunkIIISFUW4_cjs.ColumnAggIndex; }
9372
+ get: function () { return chunkWTHTVKVI_cjs.ColumnAggIndex; }
9316
9373
  });
9317
9374
  Object.defineProperty(exports, "DEFAULT_EVENT_STORE_PREFIX", {
9318
9375
  enumerable: true,
9319
- get: function () { return chunkIIISFUW4_cjs.DEFAULT_EVENT_STORE_PREFIX; }
9376
+ get: function () { return chunkWTHTVKVI_cjs.DEFAULT_EVENT_STORE_PREFIX; }
9320
9377
  });
9321
9378
  Object.defineProperty(exports, "DEFAULT_GRID_ACTOR", {
9322
9379
  enumerable: true,
9323
- get: function () { return chunkIIISFUW4_cjs.DEFAULT_GRID_ACTOR; }
9380
+ get: function () { return chunkWTHTVKVI_cjs.DEFAULT_GRID_ACTOR; }
9324
9381
  });
9325
9382
  Object.defineProperty(exports, "DEFAULT_MEMORY_STORE", {
9326
9383
  enumerable: true,
9327
- get: function () { return chunkIIISFUW4_cjs.DEFAULT_MEMORY_STORE; }
9384
+ get: function () { return chunkWTHTVKVI_cjs.DEFAULT_MEMORY_STORE; }
9328
9385
  });
9329
9386
  Object.defineProperty(exports, "EVENT_CATALOG", {
9330
9387
  enumerable: true,
9331
- get: function () { return chunkIIISFUW4_cjs.EVENT_CATALOG; }
9388
+ get: function () { return chunkWTHTVKVI_cjs.EVENT_CATALOG; }
9332
9389
  });
9333
9390
  Object.defineProperty(exports, "InMemoryEventStore", {
9334
9391
  enumerable: true,
9335
- get: function () { return chunkIIISFUW4_cjs.InMemoryEventStore; }
9392
+ get: function () { return chunkWTHTVKVI_cjs.InMemoryEventStore; }
9336
9393
  });
9337
9394
  Object.defineProperty(exports, "InMemorySnapshotStore", {
9338
9395
  enumerable: true,
9339
- get: function () { return chunkIIISFUW4_cjs.InMemorySnapshotStore; }
9396
+ get: function () { return chunkWTHTVKVI_cjs.InMemorySnapshotStore; }
9340
9397
  });
9341
9398
  Object.defineProperty(exports, "IndexedDbEventStore", {
9342
9399
  enumerable: true,
9343
- get: function () { return chunkIIISFUW4_cjs.IndexedDbEventStore; }
9400
+ get: function () { return chunkWTHTVKVI_cjs.IndexedDbEventStore; }
9344
9401
  });
9345
9402
  Object.defineProperty(exports, "LEGACY_EVENT_STORE_PREFIX", {
9346
9403
  enumerable: true,
9347
- get: function () { return chunkIIISFUW4_cjs.LEGACY_EVENT_STORE_PREFIX; }
9404
+ get: function () { return chunkWTHTVKVI_cjs.LEGACY_EVENT_STORE_PREFIX; }
9348
9405
  });
9349
9406
  Object.defineProperty(exports, "MemoryKvDatabase", {
9350
9407
  enumerable: true,
9351
- get: function () { return chunkIIISFUW4_cjs.MemoryKvDatabase; }
9408
+ get: function () { return chunkWTHTVKVI_cjs.MemoryKvDatabase; }
9352
9409
  });
9353
9410
  Object.defineProperty(exports, "NoopRemoteApi", {
9354
9411
  enumerable: true,
9355
- get: function () { return chunkIIISFUW4_cjs.NoopRemoteApi; }
9412
+ get: function () { return chunkWTHTVKVI_cjs.NoopRemoteApi; }
9356
9413
  });
9357
9414
  Object.defineProperty(exports, "OfflineStatus", {
9358
9415
  enumerable: true,
9359
- get: function () { return chunkIIISFUW4_cjs.OfflineStatus; }
9416
+ get: function () { return chunkWTHTVKVI_cjs.OfflineStatus; }
9360
9417
  });
9361
9418
  Object.defineProperty(exports, "PluginHost", {
9362
9419
  enumerable: true,
9363
- get: function () { return chunkIIISFUW4_cjs.PluginHost; }
9420
+ get: function () { return chunkWTHTVKVI_cjs.PluginHost; }
9364
9421
  });
9365
9422
  Object.defineProperty(exports, "QuickFilterIndex", {
9366
9423
  enumerable: true,
9367
- get: function () { return chunkIIISFUW4_cjs.QuickFilterIndex; }
9424
+ get: function () { return chunkWTHTVKVI_cjs.QuickFilterIndex; }
9368
9425
  });
9369
9426
  Object.defineProperty(exports, "SnapshotStrategy", {
9370
9427
  enumerable: true,
9371
- get: function () { return chunkIIISFUW4_cjs.SnapshotStrategy; }
9428
+ get: function () { return chunkWTHTVKVI_cjs.SnapshotStrategy; }
9372
9429
  });
9373
9430
  Object.defineProperty(exports, "SparseRowIndex", {
9374
9431
  enumerable: true,
9375
- get: function () { return chunkIIISFUW4_cjs.SparseRowIndex; }
9432
+ get: function () { return chunkWTHTVKVI_cjs.SparseRowIndex; }
9376
9433
  });
9377
9434
  Object.defineProperty(exports, "TableEngine", {
9378
9435
  enumerable: true,
9379
- get: function () { return chunkIIISFUW4_cjs.TableEngine; }
9436
+ get: function () { return chunkWTHTVKVI_cjs.TableEngine; }
9380
9437
  });
9381
9438
  Object.defineProperty(exports, "accumulateAdd", {
9382
9439
  enumerable: true,
9383
- get: function () { return chunkIIISFUW4_cjs.accumulateAdd; }
9440
+ get: function () { return chunkWTHTVKVI_cjs.accumulateAdd; }
9384
9441
  });
9385
9442
  Object.defineProperty(exports, "accumulateRemove", {
9386
9443
  enumerable: true,
9387
- get: function () { return chunkIIISFUW4_cjs.accumulateRemove; }
9444
+ get: function () { return chunkWTHTVKVI_cjs.accumulateRemove; }
9388
9445
  });
9389
9446
  Object.defineProperty(exports, "alwaysOnlineConnectivity", {
9390
9447
  enumerable: true,
9391
- get: function () { return chunkIIISFUW4_cjs.alwaysOnlineConnectivity; }
9448
+ get: function () { return chunkWTHTVKVI_cjs.alwaysOnlineConnectivity; }
9392
9449
  });
9393
9450
  Object.defineProperty(exports, "applyAgg", {
9394
9451
  enumerable: true,
9395
- get: function () { return chunkIIISFUW4_cjs.applyAgg; }
9452
+ get: function () { return chunkWTHTVKVI_cjs.applyAgg; }
9396
9453
  });
9397
9454
  Object.defineProperty(exports, "applyFilter", {
9398
9455
  enumerable: true,
9399
- get: function () { return chunkIIISFUW4_cjs.applyFilter; }
9456
+ get: function () { return chunkWTHTVKVI_cjs.applyFilter; }
9400
9457
  });
9401
9458
  Object.defineProperty(exports, "applyHostRowDataToTable", {
9402
9459
  enumerable: true,
9403
- get: function () { return chunkIIISFUW4_cjs.applyHostRowDataToTable; }
9460
+ get: function () { return chunkWTHTVKVI_cjs.applyHostRowDataToTable; }
9404
9461
  });
9405
9462
  Object.defineProperty(exports, "applyQuickFilter", {
9406
9463
  enumerable: true,
9407
- get: function () { return chunkIIISFUW4_cjs.applyQuickFilter; }
9464
+ get: function () { return chunkWTHTVKVI_cjs.applyQuickFilter; }
9408
9465
  });
9409
9466
  Object.defineProperty(exports, "buildQuickFilterBlob", {
9410
9467
  enumerable: true,
9411
- get: function () { return chunkIIISFUW4_cjs.buildQuickFilterBlob; }
9468
+ get: function () { return chunkWTHTVKVI_cjs.buildQuickFilterBlob; }
9412
9469
  });
9413
9470
  Object.defineProperty(exports, "collectUniqueFilterValues", {
9414
9471
  enumerable: true,
9415
- get: function () { return chunkIIISFUW4_cjs.collectUniqueFilterValues; }
9472
+ get: function () { return chunkWTHTVKVI_cjs.collectUniqueFilterValues; }
9416
9473
  });
9417
9474
  Object.defineProperty(exports, "columnDefFieldName", {
9418
9475
  enumerable: true,
9419
- get: function () { return chunkIIISFUW4_cjs.columnDefFieldName; }
9476
+ get: function () { return chunkWTHTVKVI_cjs.columnDefFieldName; }
9420
9477
  });
9421
9478
  Object.defineProperty(exports, "createAccumulator", {
9422
9479
  enumerable: true,
9423
- get: function () { return chunkIIISFUW4_cjs.createAccumulator; }
9480
+ get: function () { return chunkWTHTVKVI_cjs.createAccumulator; }
9424
9481
  });
9425
9482
  Object.defineProperty(exports, "createBrowserConnectivity", {
9426
9483
  enumerable: true,
9427
- get: function () { return chunkIIISFUW4_cjs.createBrowserConnectivity; }
9484
+ get: function () { return chunkWTHTVKVI_cjs.createBrowserConnectivity; }
9428
9485
  });
9429
9486
  Object.defineProperty(exports, "createERPTable", {
9430
9487
  enumerable: true,
9431
- get: function () { return chunkIIISFUW4_cjs.createERPTable; }
9488
+ get: function () { return chunkWTHTVKVI_cjs.createERPTable; }
9432
9489
  });
9433
9490
  Object.defineProperty(exports, "createEngineGridQuery", {
9434
9491
  enumerable: true,
9435
- get: function () { return chunkIIISFUW4_cjs.createEngineGridQuery; }
9492
+ get: function () { return chunkWTHTVKVI_cjs.createEngineGridQuery; }
9436
9493
  });
9437
9494
  Object.defineProperty(exports, "createGrid", {
9438
9495
  enumerable: true,
9439
- get: function () { return chunkIIISFUW4_cjs.createGrid; }
9496
+ get: function () { return chunkWTHTVKVI_cjs.createGrid; }
9440
9497
  });
9441
9498
  Object.defineProperty(exports, "createGridApi", {
9442
9499
  enumerable: true,
9443
- get: function () { return chunkIIISFUW4_cjs.createGridApi; }
9500
+ get: function () { return chunkWTHTVKVI_cjs.createGridApi; }
9444
9501
  });
9445
9502
  Object.defineProperty(exports, "createGridTableKey", {
9446
9503
  enumerable: true,
9447
- get: function () { return chunkIIISFUW4_cjs.createGridTableKey; }
9504
+ get: function () { return chunkWTHTVKVI_cjs.createGridTableKey; }
9448
9505
  });
9449
9506
  Object.defineProperty(exports, "createLocalStorageWatermark", {
9450
9507
  enumerable: true,
9451
- get: function () { return chunkIIISFUW4_cjs.createLocalStorageWatermark; }
9508
+ get: function () { return chunkWTHTVKVI_cjs.createLocalStorageWatermark; }
9452
9509
  });
9453
9510
  Object.defineProperty(exports, "defaultGetRowId", {
9454
9511
  enumerable: true,
9455
- get: function () { return chunkIIISFUW4_cjs.defaultGetRowId; }
9512
+ get: function () { return chunkWTHTVKVI_cjs.defaultGetRowId; }
9456
9513
  });
9457
9514
  Object.defineProperty(exports, "ensureIndexColumnDef", {
9458
9515
  enumerable: true,
9459
- get: function () { return chunkIIISFUW4_cjs.ensureIndexColumnDef; }
9516
+ get: function () { return chunkWTHTVKVI_cjs.ensureIndexColumnDef; }
9460
9517
  });
9461
9518
  Object.defineProperty(exports, "eventStoreDbName", {
9462
9519
  enumerable: true,
9463
- get: function () { return chunkIIISFUW4_cjs.eventStoreDbName; }
9520
+ get: function () { return chunkWTHTVKVI_cjs.eventStoreDbName; }
9464
9521
  });
9465
9522
  Object.defineProperty(exports, "getEventCatalogEntry", {
9466
9523
  enumerable: true,
9467
- get: function () { return chunkIIISFUW4_cjs.getEventCatalogEntry; }
9524
+ get: function () { return chunkWTHTVKVI_cjs.getEventCatalogEntry; }
9468
9525
  });
9469
9526
  Object.defineProperty(exports, "isAggFuncName", {
9470
9527
  enumerable: true,
9471
- get: function () { return chunkIIISFUW4_cjs.isAggFuncName; }
9528
+ get: function () { return chunkWTHTVKVI_cjs.isAggFuncName; }
9472
9529
  });
9473
9530
  Object.defineProperty(exports, "isColumnFilterActive", {
9474
9531
  enumerable: true,
9475
- get: function () { return chunkIIISFUW4_cjs.isColumnFilterActive; }
9532
+ get: function () { return chunkWTHTVKVI_cjs.isColumnFilterActive; }
9476
9533
  });
9477
9534
  Object.defineProperty(exports, "isColumnGroupDef", {
9478
9535
  enumerable: true,
9479
- get: function () { return chunkIIISFUW4_cjs.isColumnGroupDef; }
9536
+ get: function () { return chunkWTHTVKVI_cjs.isColumnGroupDef; }
9480
9537
  });
9481
9538
  Object.defineProperty(exports, "isCustomAggFunc", {
9482
9539
  enumerable: true,
9483
- get: function () { return chunkIIISFUW4_cjs.isCustomAggFunc; }
9540
+ get: function () { return chunkWTHTVKVI_cjs.isCustomAggFunc; }
9484
9541
  });
9485
9542
  Object.defineProperty(exports, "isServerRowModel", {
9486
9543
  enumerable: true,
9487
- get: function () { return chunkIIISFUW4_cjs.isServerRowModel; }
9544
+ get: function () { return chunkWTHTVKVI_cjs.isServerRowModel; }
9488
9545
  });
9489
9546
  Object.defineProperty(exports, "listUndoableEventTypes", {
9490
9547
  enumerable: true,
9491
- get: function () { return chunkIIISFUW4_cjs.listUndoableEventTypes; }
9548
+ get: function () { return chunkWTHTVKVI_cjs.listUndoableEventTypes; }
9492
9549
  });
9493
9550
  Object.defineProperty(exports, "mapColDefOrGroups", {
9494
9551
  enumerable: true,
9495
- get: function () { return chunkIIISFUW4_cjs.mapColDefOrGroups; }
9552
+ get: function () { return chunkWTHTVKVI_cjs.mapColDefOrGroups; }
9496
9553
  });
9497
9554
  Object.defineProperty(exports, "mapColumnDefs", {
9498
9555
  enumerable: true,
9499
- get: function () { return chunkIIISFUW4_cjs.mapColumnDefs; }
9556
+ get: function () { return chunkWTHTVKVI_cjs.mapColumnDefs; }
9500
9557
  });
9501
9558
  Object.defineProperty(exports, "mapColumnSchemas", {
9502
9559
  enumerable: true,
9503
- get: function () { return chunkIIISFUW4_cjs.mapColumnSchemas; }
9560
+ get: function () { return chunkWTHTVKVI_cjs.mapColumnSchemas; }
9504
9561
  });
9505
9562
  Object.defineProperty(exports, "mapColumnSchemasToDefs", {
9506
9563
  enumerable: true,
9507
- get: function () { return chunkIIISFUW4_cjs.mapColumnSchemasToDefs; }
9564
+ get: function () { return chunkWTHTVKVI_cjs.mapColumnSchemasToDefs; }
9508
9565
  });
9509
9566
  Object.defineProperty(exports, "mapRowDataToRowInputs", {
9510
9567
  enumerable: true,
9511
- get: function () { return chunkIIISFUW4_cjs.mapRowDataToRowInputs; }
9568
+ get: function () { return chunkWTHTVKVI_cjs.mapRowDataToRowInputs; }
9512
9569
  });
9513
9570
  Object.defineProperty(exports, "normalizeFilterText", {
9514
9571
  enumerable: true,
9515
- get: function () { return chunkIIISFUW4_cjs.normalizeFilterText; }
9572
+ get: function () { return chunkWTHTVKVI_cjs.normalizeFilterText; }
9516
9573
  });
9517
9574
  Object.defineProperty(exports, "normalizeQuickFilterText", {
9518
9575
  enumerable: true,
9519
- get: function () { return chunkIIISFUW4_cjs.normalizeQuickFilterText; }
9576
+ get: function () { return chunkWTHTVKVI_cjs.normalizeQuickFilterText; }
9520
9577
  });
9521
9578
  Object.defineProperty(exports, "openIndexedDbDatabase", {
9522
9579
  enumerable: true,
9523
- get: function () { return chunkIIISFUW4_cjs.openIndexedDbDatabase; }
9580
+ get: function () { return chunkWTHTVKVI_cjs.openIndexedDbDatabase; }
9524
9581
  });
9525
9582
  Object.defineProperty(exports, "pageWindow", {
9526
9583
  enumerable: true,
9527
- get: function () { return chunkIIISFUW4_cjs.pageWindow; }
9584
+ get: function () { return chunkWTHTVKVI_cjs.pageWindow; }
9528
9585
  });
9529
9586
  Object.defineProperty(exports, "readAccumulator", {
9530
9587
  enumerable: true,
9531
- get: function () { return chunkIIISFUW4_cjs.readAccumulator; }
9588
+ get: function () { return chunkWTHTVKVI_cjs.readAccumulator; }
9532
9589
  });
9533
9590
  Object.defineProperty(exports, "resolveBuiltinFilterKind", {
9534
9591
  enumerable: true,
9535
- get: function () { return chunkIIISFUW4_cjs.resolveBuiltinFilterKind; }
9592
+ get: function () { return chunkWTHTVKVI_cjs.resolveBuiltinFilterKind; }
9536
9593
  });
9537
9594
  Object.defineProperty(exports, "resolveColumnAggSpecs", {
9538
9595
  enumerable: true,
9539
- get: function () { return chunkIIISFUW4_cjs.resolveColumnAggSpecs; }
9596
+ get: function () { return chunkWTHTVKVI_cjs.resolveColumnAggSpecs; }
9540
9597
  });
9541
9598
  Object.defineProperty(exports, "resolveCreateGridDefaults", {
9542
9599
  enumerable: true,
9543
- get: function () { return chunkIIISFUW4_cjs.resolveCreateGridDefaults; }
9600
+ get: function () { return chunkWTHTVKVI_cjs.resolveCreateGridDefaults; }
9544
9601
  });
9545
9602
  Object.defineProperty(exports, "toColumnDef", {
9546
9603
  enumerable: true,
9547
- get: function () { return chunkIIISFUW4_cjs.toColumnDef; }
9604
+ get: function () { return chunkWTHTVKVI_cjs.toColumnDef; }
9548
9605
  });
9549
9606
  Object.defineProperty(exports, "toColumnDefinition", {
9550
9607
  enumerable: true,
9551
- get: function () { return chunkIIISFUW4_cjs.toColumnDefinition; }
9608
+ get: function () { return chunkWTHTVKVI_cjs.toColumnDefinition; }
9552
9609
  });
9553
9610
  Object.defineProperty(exports, "toColumnSchema", {
9554
9611
  enumerable: true,
9555
- get: function () { return chunkIIISFUW4_cjs.toColumnSchema; }
9612
+ get: function () { return chunkWTHTVKVI_cjs.toColumnSchema; }
9556
9613
  });
9557
9614
  Object.defineProperty(exports, "toColumnViewBinding", {
9558
9615
  enumerable: true,
9559
- get: function () { return chunkIIISFUW4_cjs.toColumnViewBinding; }
9616
+ get: function () { return chunkWTHTVKVI_cjs.toColumnViewBinding; }
9560
9617
  });
9561
9618
  Object.defineProperty(exports, "toMinorUnits", {
9562
9619
  enumerable: true,
9563
- get: function () { return chunkIIISFUW4_cjs.toMinorUnits; }
9620
+ get: function () { return chunkWTHTVKVI_cjs.toMinorUnits; }
9564
9621
  });
9565
9622
  Object.defineProperty(exports, "ViewportCalculator", {
9566
9623
  enumerable: true,
@@ -9576,55 +9633,55 @@ Object.defineProperty(exports, "calculateColumnViewport", {
9576
9633
  });
9577
9634
  Object.defineProperty(exports, "AR_MESSAGES", {
9578
9635
  enumerable: true,
9579
- get: function () { return chunkKUBVDIF7_cjs.AR_MESSAGES; }
9636
+ get: function () { return chunk3HP3HQCW_cjs.AR_MESSAGES; }
9580
9637
  });
9581
9638
  Object.defineProperty(exports, "EN_MESSAGES", {
9582
9639
  enumerable: true,
9583
- get: function () { return chunkKUBVDIF7_cjs.EN_MESSAGES; }
9640
+ get: function () { return chunk3HP3HQCW_cjs.EN_MESSAGES; }
9584
9641
  });
9585
9642
  Object.defineProperty(exports, "ERPTableHostProvider", {
9586
9643
  enumerable: true,
9587
- get: function () { return chunkKUBVDIF7_cjs.ERPTableHostProvider; }
9644
+ get: function () { return chunk3HP3HQCW_cjs.ERPTableHostProvider; }
9588
9645
  });
9589
9646
  Object.defineProperty(exports, "FA_MESSAGES", {
9590
9647
  enumerable: true,
9591
- get: function () { return chunkKUBVDIF7_cjs.FA_MESSAGES; }
9648
+ get: function () { return chunk3HP3HQCW_cjs.FA_MESSAGES; }
9592
9649
  });
9593
9650
  Object.defineProperty(exports, "GridTheme", {
9594
9651
  enumerable: true,
9595
- get: function () { return chunkKUBVDIF7_cjs.GridTheme; }
9652
+ get: function () { return chunk3HP3HQCW_cjs.GridTheme; }
9596
9653
  });
9597
9654
  Object.defineProperty(exports, "bindGridHostEvents", {
9598
9655
  enumerable: true,
9599
- get: function () { return chunkKUBVDIF7_cjs.bindGridHostEvents; }
9656
+ get: function () { return chunk3HP3HQCW_cjs.bindGridHostEvents; }
9600
9657
  });
9601
9658
  Object.defineProperty(exports, "gregorianAdapter", {
9602
9659
  enumerable: true,
9603
- get: function () { return chunkKUBVDIF7_cjs.gregorianAdapter; }
9660
+ get: function () { return chunk3HP3HQCW_cjs.gregorianAdapter; }
9604
9661
  });
9605
9662
  Object.defineProperty(exports, "themeDark", {
9606
9663
  enumerable: true,
9607
- get: function () { return chunkKUBVDIF7_cjs.themeDark; }
9664
+ get: function () { return chunk3HP3HQCW_cjs.themeDark; }
9608
9665
  });
9609
9666
  Object.defineProperty(exports, "themeDefault", {
9610
9667
  enumerable: true,
9611
- get: function () { return chunkKUBVDIF7_cjs.themeDefault; }
9668
+ get: function () { return chunk3HP3HQCW_cjs.themeDefault; }
9612
9669
  });
9613
9670
  Object.defineProperty(exports, "themeErp", {
9614
9671
  enumerable: true,
9615
- get: function () { return chunkKUBVDIF7_cjs.themeErp; }
9672
+ get: function () { return chunk3HP3HQCW_cjs.themeErp; }
9616
9673
  });
9617
9674
  Object.defineProperty(exports, "themeErpDark", {
9618
9675
  enumerable: true,
9619
- get: function () { return chunkKUBVDIF7_cjs.themeErpDark; }
9676
+ get: function () { return chunk3HP3HQCW_cjs.themeErpDark; }
9620
9677
  });
9621
9678
  Object.defineProperty(exports, "useERPTableTheme", {
9622
9679
  enumerable: true,
9623
- get: function () { return chunkKUBVDIF7_cjs.useERPTableTheme; }
9680
+ get: function () { return chunk3HP3HQCW_cjs.useERPTableTheme; }
9624
9681
  });
9625
9682
  Object.defineProperty(exports, "useStaticDependOn", {
9626
9683
  enumerable: true,
9627
- get: function () { return chunkKUBVDIF7_cjs.useStaticDependOn; }
9684
+ get: function () { return chunk3HP3HQCW_cjs.useStaticDependOn; }
9628
9685
  });
9629
9686
  Object.defineProperty(exports, "formatLocaleDate", {
9630
9687
  enumerable: true,
@@ -9712,27 +9769,27 @@ Object.defineProperty(exports, "sortPriorityForColumn", {
9712
9769
  });
9713
9770
  Object.defineProperty(exports, "ExcelExportPlugin", {
9714
9771
  enumerable: true,
9715
- get: function () { return chunkPXCHPZTP_cjs.ExcelExportPlugin; }
9772
+ get: function () { return chunkCMQ4VLCW_cjs.ExcelExportPlugin; }
9716
9773
  });
9717
9774
  Object.defineProperty(exports, "ExcelImportPlugin", {
9718
9775
  enumerable: true,
9719
- get: function () { return chunkPXCHPZTP_cjs.ExcelImportPlugin; }
9776
+ get: function () { return chunkCMQ4VLCW_cjs.ExcelImportPlugin; }
9720
9777
  });
9721
9778
  Object.defineProperty(exports, "applyImportedRows", {
9722
9779
  enumerable: true,
9723
- get: function () { return chunkPXCHPZTP_cjs.applyImportedRows; }
9780
+ get: function () { return chunkCMQ4VLCW_cjs.applyImportedRows; }
9724
9781
  });
9725
9782
  Object.defineProperty(exports, "exportActiveCollectionToExcel", {
9726
9783
  enumerable: true,
9727
- get: function () { return chunkPXCHPZTP_cjs.exportActiveCollectionToExcel; }
9784
+ get: function () { return chunkCMQ4VLCW_cjs.exportActiveCollectionToExcel; }
9728
9785
  });
9729
9786
  Object.defineProperty(exports, "mapImportedSheet", {
9730
9787
  enumerable: true,
9731
- get: function () { return chunkPXCHPZTP_cjs.mapImportedSheet; }
9788
+ get: function () { return chunkCMQ4VLCW_cjs.mapImportedSheet; }
9732
9789
  });
9733
9790
  Object.defineProperty(exports, "parseXlsxBlob", {
9734
9791
  enumerable: true,
9735
- get: function () { return chunkPXCHPZTP_cjs.parseXlsxBlob; }
9792
+ get: function () { return chunkCMQ4VLCW_cjs.parseXlsxBlob; }
9736
9793
  });
9737
9794
  Object.defineProperty(exports, "RowStateEnum", {
9738
9795
  enumerable: true,
@@ -9744,19 +9801,19 @@ Object.defineProperty(exports, "Viewport", {
9744
9801
  });
9745
9802
  Object.defineProperty(exports, "buildExportTable", {
9746
9803
  enumerable: true,
9747
- get: function () { return chunkVVGYRZ7S_cjs.buildExportTable; }
9804
+ get: function () { return chunk72IVAOTK_cjs.buildExportTable; }
9748
9805
  });
9749
9806
  Object.defineProperty(exports, "PdfExportPlugin", {
9750
9807
  enumerable: true,
9751
- get: function () { return chunk2BJCRYOS_cjs.PdfExportPlugin; }
9808
+ get: function () { return chunkVYJQ2HTA_cjs.PdfExportPlugin; }
9752
9809
  });
9753
9810
  Object.defineProperty(exports, "TextPdfRenderer", {
9754
9811
  enumerable: true,
9755
- get: function () { return chunk2BJCRYOS_cjs.TextPdfRenderer; }
9812
+ get: function () { return chunkVYJQ2HTA_cjs.TextPdfRenderer; }
9756
9813
  });
9757
9814
  Object.defineProperty(exports, "VazirmatnPdfRenderer", {
9758
9815
  enumerable: true,
9759
- get: function () { return chunk2BJCRYOS_cjs.VazirmatnPdfRenderer; }
9816
+ get: function () { return chunkVYJQ2HTA_cjs.VazirmatnPdfRenderer; }
9760
9817
  });
9761
9818
  Object.defineProperty(exports, "buildXlsxBlob", {
9762
9819
  enumerable: true,
@@ -9785,6 +9842,7 @@ exports.mergeCellComponents = mergeCellComponents;
9785
9842
  exports.resolveBoundCellNode = resolveBoundCellNode;
9786
9843
  exports.resolveCustomCellNode = resolveCustomCellNode;
9787
9844
  exports.resolveFilterComponent = resolveFilterComponent;
9845
+ exports.resolveGridKeyScope = resolveGridKeyScope;
9788
9846
  exports.resolveGridOverlay = resolveGridOverlay;
9789
9847
  exports.resolveRegisteredCellNode = resolveRegisteredCellNode;
9790
9848
  exports.runBenchmark = runBenchmark;