@dmsi/wedgekit-react 0.0.643 → 0.0.644

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 (66) hide show
  1. package/dist/{chunk-FIOXWZWU.js → chunk-ECYXZZWC.js} +1 -1
  2. package/dist/{chunk-QJZ3XHNH.js → chunk-HCHKYUNQ.js} +19 -5
  3. package/dist/{chunk-SJ3SULQB.js → chunk-J2QD64F2.js} +7 -7
  4. package/dist/{chunk-YR4ZO2XL.js → chunk-K22B4L3G.js} +28 -22
  5. package/dist/{chunk-3R3AY5MT.js → chunk-LN3HVXH5.js} +1 -1
  6. package/dist/{chunk-IATOG76G.js → chunk-NUFBAJ6L.js} +1 -1
  7. package/dist/{chunk-MQB6BSRX.js → chunk-OXOMO76M.js} +1 -1
  8. package/dist/{chunk-UB3GEENN.js → chunk-OZEKRO4L.js} +1 -1
  9. package/dist/{chunk-LGX34HML.js → chunk-Q4AANHJY.js} +1 -1
  10. package/dist/{chunk-5JHKFK73.js → chunk-V2GSI3ZX.js} +2 -2
  11. package/dist/{chunk-RQMOWYB7.js → chunk-VAARSN7U.js} +3 -3
  12. package/dist/{chunk-ARWHCWG7.js → chunk-XT4BQXSX.js} +1 -1
  13. package/dist/{chunk-XX5GVIPZ.js → chunk-XVWCVBVF.js} +2 -2
  14. package/dist/{chunk-PS7MBNUT.js → chunk-YXZRGZ2I.js} +1 -1
  15. package/dist/{chunk-V7GPM6Z3.js → chunk-Z3Q7PLVD.js} +1 -1
  16. package/dist/components/CalendarRange.cjs +45 -26
  17. package/dist/components/CalendarRange.js +15 -15
  18. package/dist/components/CompactImagesPreview.js +3 -3
  19. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +45 -26
  20. package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +15 -15
  21. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +45 -26
  22. package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +15 -15
  23. package/dist/components/DataGrid/PinnedColumns.cjs +45 -26
  24. package/dist/components/DataGrid/PinnedColumns.js +15 -15
  25. package/dist/components/DataGrid/TableBody/LoadingCell.cjs +45 -26
  26. package/dist/components/DataGrid/TableBody/LoadingCell.js +15 -15
  27. package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +45 -26
  28. package/dist/components/DataGrid/TableBody/TableBodyRow.js +15 -15
  29. package/dist/components/DataGrid/TableBody/index.cjs +45 -26
  30. package/dist/components/DataGrid/TableBody/index.js +15 -15
  31. package/dist/components/DataGrid/index.cjs +45 -26
  32. package/dist/components/DataGrid/index.js +15 -15
  33. package/dist/components/DataGrid/utils.cjs +45 -26
  34. package/dist/components/DataGrid/utils.js +15 -15
  35. package/dist/components/DataGridCell.js +6 -6
  36. package/dist/components/DateInput.cjs +45 -26
  37. package/dist/components/DateInput.js +15 -15
  38. package/dist/components/DateRangeInput.cjs +45 -26
  39. package/dist/components/DateRangeInput.js +15 -15
  40. package/dist/components/Menu.js +4 -4
  41. package/dist/components/MenuOption.js +3 -3
  42. package/dist/components/MobileDataGrid/ColumnList.js +4 -4
  43. package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +45 -26
  44. package/dist/components/MobileDataGrid/ColumnSelector/index.js +15 -15
  45. package/dist/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.js +2 -2
  46. package/dist/components/MobileDataGrid/MobileDataGridCard/index.js +3 -3
  47. package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +45 -26
  48. package/dist/components/MobileDataGrid/MobileDataGridHeader.js +15 -15
  49. package/dist/components/MobileDataGrid/RowDetailModalProvider/ModalContent.js +3 -3
  50. package/dist/components/MobileDataGrid/RowDetailModalProvider/index.js +6 -6
  51. package/dist/components/MobileDataGrid/index.cjs +45 -26
  52. package/dist/components/MobileDataGrid/index.js +15 -15
  53. package/dist/components/Modal.js +3 -3
  54. package/dist/components/NestedMenu.js +3 -3
  55. package/dist/components/PDFViewer/index.js +3 -3
  56. package/dist/components/ProductImagePreview/index.js +3 -3
  57. package/dist/components/ProjectBar.js +2 -2
  58. package/dist/components/Time.js +1 -1
  59. package/dist/components/index.cjs +45 -26
  60. package/dist/components/index.js +15 -15
  61. package/dist/components/useMenuSystem.js +3 -3
  62. package/dist/hooks/index.cjs +48 -26
  63. package/dist/hooks/index.js +2 -2
  64. package/dist/utils/index.cjs +21 -5
  65. package/dist/utils/index.js +1 -1
  66. package/package.json +1 -1
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  ColumnSelectorMenuOption
3
- } from "../../../chunk-SJ3SULQB.js";
4
- import "../../../chunk-XX5GVIPZ.js";
3
+ } from "../../../chunk-J2QD64F2.js";
4
+ import "../../../chunk-XVWCVBVF.js";
5
5
  import "../../../chunk-M7INAUAJ.js";
6
- import "../../../chunk-ARWHCWG7.js";
7
- import "../../../chunk-MQB6BSRX.js";
6
+ import "../../../chunk-XT4BQXSX.js";
7
+ import "../../../chunk-OXOMO76M.js";
8
8
  import "../../../chunk-YCDDBSVU.js";
9
9
  import "../../../chunk-3X3Y4TMS.js";
10
10
  import "../../../chunk-BQNPOGD5.js";
11
11
  import "../../../chunk-Y5GD2FJA.js";
12
12
  import "../../../chunk-MBZ55T2D.js";
13
13
  import "../../../chunk-2IKT6IHB.js";
14
- import "../../../chunk-FIOXWZWU.js";
15
- import "../../../chunk-LGX34HML.js";
14
+ import "../../../chunk-ECYXZZWC.js";
15
+ import "../../../chunk-Q4AANHJY.js";
16
16
  import "../../../chunk-5IFPG6TS.js";
17
+ import "../../../chunk-OZEKRO4L.js";
17
18
  import "../../../chunk-AJ5M6MVX.js";
18
- import "../../../chunk-UB3GEENN.js";
19
19
  import "../../../chunk-AT4AWD6B.js";
20
20
  import "../../../chunk-EWGHVZL5.js";
21
21
  import "../../../chunk-UF5XGCSF.js";
@@ -24,7 +24,7 @@ import "../../../chunk-L3BXRDLP.js";
24
24
  import "../../../chunk-34VEVX5H.js";
25
25
  import "../../../chunk-LB7UT6F3.js";
26
26
  import "../../../chunk-AS57Y2D3.js";
27
- import "../../../chunk-V7GPM6Z3.js";
27
+ import "../../../chunk-Z3Q7PLVD.js";
28
28
  import "../../../chunk-4RJKB7LC.js";
29
29
  import "../../../chunk-UUKHQUSF.js";
30
30
  import "../../../chunk-WVVEOCEH.js";
@@ -35,19 +35,19 @@ import "../../../chunk-UAMI54FE.js";
35
35
  import "../../../chunk-SJZNVG4N.js";
36
36
  import "../../../chunk-75USUR3I.js";
37
37
  import "../../../chunk-BWPNXY7T.js";
38
- import "../../../chunk-RQMOWYB7.js";
39
- import "../../../chunk-5JHKFK73.js";
40
- import "../../../chunk-IATOG76G.js";
41
- import "../../../chunk-PS7MBNUT.js";
38
+ import "../../../chunk-VAARSN7U.js";
39
+ import "../../../chunk-V2GSI3ZX.js";
40
+ import "../../../chunk-NUFBAJ6L.js";
41
+ import "../../../chunk-YXZRGZ2I.js";
42
42
  import "../../../chunk-FHXCCVOG.js";
43
43
  import "../../../chunk-7T5RGDCN.js";
44
44
  import "../../../chunk-HXGJVYGQ.js";
45
45
  import "../../../chunk-WVUIIBRR.js";
46
46
  import "../../../chunk-M7WHWZ2J.js";
47
- import "../../../chunk-3R3AY5MT.js";
48
- import "../../../chunk-YR4ZO2XL.js";
47
+ import "../../../chunk-LN3HVXH5.js";
48
+ import "../../../chunk-K22B4L3G.js";
49
49
  import "../../../chunk-VXWSAIB5.js";
50
- import "../../../chunk-QJZ3XHNH.js";
50
+ import "../../../chunk-HCHKYUNQ.js";
51
51
  import "../../../chunk-5UH6QUFB.js";
52
52
  import "../../../chunk-XJF4S3RB.js";
53
53
  import "../../../chunk-ZCJWOHFN.js";
@@ -595,11 +595,24 @@ function formatDate(date) {
595
595
 
596
596
  // src/utils/mergeObjectArrays.ts
597
597
  function mergeObjectArrays(arr1, arr2) {
598
- const maxLength = Math.max(arr1.length, arr2.length);
599
- return Array.from(
600
- { length: maxLength },
601
- (_, i) => __spreadValues(__spreadValues({}, arr1[i] || {}), arr2[i] || {})
602
- );
598
+ const arr2Map = /* @__PURE__ */ new Map();
599
+ for (const item of arr2) {
600
+ const id = item.id;
601
+ if (id !== void 0) {
602
+ arr2Map.set(id, item);
603
+ }
604
+ }
605
+ return arr1.map((item1) => {
606
+ const id = item1.id;
607
+ if (id !== void 0 && arr2Map.has(id)) {
608
+ const item2 = arr2Map.get(id);
609
+ const meta1 = item1.meta;
610
+ const meta2 = item2.meta;
611
+ const mergedMeta = meta1 && meta2 && typeof meta1 === "object" && typeof meta2 === "object" ? __spreadValues(__spreadValues({}, meta1), meta2) : meta2 != null ? meta2 : meta1;
612
+ return __spreadProps(__spreadValues(__spreadValues({}, item1), item2), { meta: mergedMeta });
613
+ }
614
+ return item1;
615
+ });
603
616
  }
604
617
 
605
618
  // src/utils/index.ts
@@ -635,52 +648,58 @@ var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
635
648
  function useTableLayout(initialColumns, key, autosync = true) {
636
649
  const [columns, setColumns] = (0, import_react5.useState)(initialColumns);
637
650
  const [isReady, setIsReady] = (0, import_react5.useState)(false);
638
- const renderCountRef = (0, import_react5.useRef)(0);
651
+ const isReadyRef = (0, import_react5.useRef)(false);
652
+ const keyRef = (0, import_react5.useRef)(key);
653
+ (0, import_react5.useEffect)(() => {
654
+ isReadyRef.current = isReady;
655
+ keyRef.current = key;
656
+ }, [isReady, key]);
639
657
  const handleSaveLayout = (0, import_react5.useCallback)(
640
658
  (setter, _internal) => {
641
- if (!isReady && !_internal || !key) return;
659
+ if (!isReadyRef.current && !_internal || !keyRef.current) return;
642
660
  setColumns((prevColumns) => {
643
661
  const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
644
- if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
662
+ if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal) {
645
663
  return prevColumns;
664
+ }
646
665
  localStorage.setItem(
647
- getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
666
+ getLocalStorageKeyWithPrefix(`${keyRef.current}-tableLayout`),
648
667
  JSON.stringify(newColumns)
649
668
  );
650
669
  return newColumns;
651
670
  });
652
671
  },
653
- [isReady, key]
672
+ []
654
673
  );
655
674
  (0, import_react5.useEffect)(() => {
656
675
  if (!autosync) return;
657
- if (!key) return setIsReady(true);
658
- if (renderCountRef.current > 1) {
659
- throw new Error(
660
- `useTableLayout should only be called once per component render cycle.
661
- ${renderCountRef.current} Renders detected.
662
- Check dependency stability`
663
- );
676
+ if (!key) {
677
+ setIsReady(true);
678
+ return;
664
679
  }
665
- renderCountRef.current += 1;
666
680
  const savedLayout = localStorage.getItem(
667
681
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
668
682
  );
669
683
  if (savedLayout) {
670
- handleSaveLayout(
684
+ setColumns(
671
685
  mergeObjectArrays(
672
686
  initialColumns,
673
687
  JSON.parse(savedLayout)
674
- ),
675
- true
688
+ )
689
+ );
690
+ } else {
691
+ localStorage.setItem(
692
+ getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
693
+ JSON.stringify(initialColumns)
676
694
  );
695
+ setColumns((prev) => {
696
+ if (JSON.stringify(initialColumns) === JSON.stringify(prev))
697
+ return prev;
698
+ return initialColumns;
699
+ });
677
700
  }
678
- if (!savedLayout) handleSaveLayout(initialColumns, true);
679
701
  setIsReady(true);
680
- return () => {
681
- renderCountRef.current = 0;
682
- };
683
- }, [handleSaveLayout, initialColumns, key, autosync]);
702
+ }, [initialColumns, key, autosync]);
684
703
  const getSavedLayout = (0, import_react5.useCallback)(() => {
685
704
  const savedLayout = localStorage.getItem(
686
705
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  ColumnSelectorHeaderCell
3
- } from "../../../chunk-SJ3SULQB.js";
4
- import "../../../chunk-XX5GVIPZ.js";
3
+ } from "../../../chunk-J2QD64F2.js";
4
+ import "../../../chunk-XVWCVBVF.js";
5
5
  import "../../../chunk-M7INAUAJ.js";
6
- import "../../../chunk-ARWHCWG7.js";
7
- import "../../../chunk-MQB6BSRX.js";
6
+ import "../../../chunk-XT4BQXSX.js";
7
+ import "../../../chunk-OXOMO76M.js";
8
8
  import "../../../chunk-YCDDBSVU.js";
9
9
  import "../../../chunk-3X3Y4TMS.js";
10
10
  import "../../../chunk-BQNPOGD5.js";
11
11
  import "../../../chunk-Y5GD2FJA.js";
12
12
  import "../../../chunk-MBZ55T2D.js";
13
13
  import "../../../chunk-2IKT6IHB.js";
14
- import "../../../chunk-FIOXWZWU.js";
15
- import "../../../chunk-LGX34HML.js";
14
+ import "../../../chunk-ECYXZZWC.js";
15
+ import "../../../chunk-Q4AANHJY.js";
16
16
  import "../../../chunk-5IFPG6TS.js";
17
+ import "../../../chunk-OZEKRO4L.js";
17
18
  import "../../../chunk-AJ5M6MVX.js";
18
- import "../../../chunk-UB3GEENN.js";
19
19
  import "../../../chunk-AT4AWD6B.js";
20
20
  import "../../../chunk-EWGHVZL5.js";
21
21
  import "../../../chunk-UF5XGCSF.js";
@@ -24,7 +24,7 @@ import "../../../chunk-L3BXRDLP.js";
24
24
  import "../../../chunk-34VEVX5H.js";
25
25
  import "../../../chunk-LB7UT6F3.js";
26
26
  import "../../../chunk-AS57Y2D3.js";
27
- import "../../../chunk-V7GPM6Z3.js";
27
+ import "../../../chunk-Z3Q7PLVD.js";
28
28
  import "../../../chunk-4RJKB7LC.js";
29
29
  import "../../../chunk-UUKHQUSF.js";
30
30
  import "../../../chunk-WVVEOCEH.js";
@@ -35,19 +35,19 @@ import "../../../chunk-UAMI54FE.js";
35
35
  import "../../../chunk-SJZNVG4N.js";
36
36
  import "../../../chunk-75USUR3I.js";
37
37
  import "../../../chunk-BWPNXY7T.js";
38
- import "../../../chunk-RQMOWYB7.js";
39
- import "../../../chunk-5JHKFK73.js";
40
- import "../../../chunk-IATOG76G.js";
41
- import "../../../chunk-PS7MBNUT.js";
38
+ import "../../../chunk-VAARSN7U.js";
39
+ import "../../../chunk-V2GSI3ZX.js";
40
+ import "../../../chunk-NUFBAJ6L.js";
41
+ import "../../../chunk-YXZRGZ2I.js";
42
42
  import "../../../chunk-FHXCCVOG.js";
43
43
  import "../../../chunk-7T5RGDCN.js";
44
44
  import "../../../chunk-HXGJVYGQ.js";
45
45
  import "../../../chunk-WVUIIBRR.js";
46
46
  import "../../../chunk-M7WHWZ2J.js";
47
- import "../../../chunk-3R3AY5MT.js";
48
- import "../../../chunk-YR4ZO2XL.js";
47
+ import "../../../chunk-LN3HVXH5.js";
48
+ import "../../../chunk-K22B4L3G.js";
49
49
  import "../../../chunk-VXWSAIB5.js";
50
- import "../../../chunk-QJZ3XHNH.js";
50
+ import "../../../chunk-HCHKYUNQ.js";
51
51
  import "../../../chunk-5UH6QUFB.js";
52
52
  import "../../../chunk-XJF4S3RB.js";
53
53
  import "../../../chunk-ZCJWOHFN.js";
@@ -595,11 +595,24 @@ function formatDate(date) {
595
595
 
596
596
  // src/utils/mergeObjectArrays.ts
597
597
  function mergeObjectArrays(arr1, arr2) {
598
- const maxLength = Math.max(arr1.length, arr2.length);
599
- return Array.from(
600
- { length: maxLength },
601
- (_, i) => __spreadValues(__spreadValues({}, arr1[i] || {}), arr2[i] || {})
602
- );
598
+ const arr2Map = /* @__PURE__ */ new Map();
599
+ for (const item of arr2) {
600
+ const id = item.id;
601
+ if (id !== void 0) {
602
+ arr2Map.set(id, item);
603
+ }
604
+ }
605
+ return arr1.map((item1) => {
606
+ const id = item1.id;
607
+ if (id !== void 0 && arr2Map.has(id)) {
608
+ const item2 = arr2Map.get(id);
609
+ const meta1 = item1.meta;
610
+ const meta2 = item2.meta;
611
+ const mergedMeta = meta1 && meta2 && typeof meta1 === "object" && typeof meta2 === "object" ? __spreadValues(__spreadValues({}, meta1), meta2) : meta2 != null ? meta2 : meta1;
612
+ return __spreadProps(__spreadValues(__spreadValues({}, item1), item2), { meta: mergedMeta });
613
+ }
614
+ return item1;
615
+ });
603
616
  }
604
617
 
605
618
  // src/utils/index.ts
@@ -635,52 +648,58 @@ var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
635
648
  function useTableLayout(initialColumns, key, autosync = true) {
636
649
  const [columns, setColumns] = (0, import_react5.useState)(initialColumns);
637
650
  const [isReady, setIsReady] = (0, import_react5.useState)(false);
638
- const renderCountRef = (0, import_react5.useRef)(0);
651
+ const isReadyRef = (0, import_react5.useRef)(false);
652
+ const keyRef = (0, import_react5.useRef)(key);
653
+ (0, import_react5.useEffect)(() => {
654
+ isReadyRef.current = isReady;
655
+ keyRef.current = key;
656
+ }, [isReady, key]);
639
657
  const handleSaveLayout = (0, import_react5.useCallback)(
640
658
  (setter, _internal) => {
641
- if (!isReady && !_internal || !key) return;
659
+ if (!isReadyRef.current && !_internal || !keyRef.current) return;
642
660
  setColumns((prevColumns) => {
643
661
  const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
644
- if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
662
+ if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal) {
645
663
  return prevColumns;
664
+ }
646
665
  localStorage.setItem(
647
- getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
666
+ getLocalStorageKeyWithPrefix(`${keyRef.current}-tableLayout`),
648
667
  JSON.stringify(newColumns)
649
668
  );
650
669
  return newColumns;
651
670
  });
652
671
  },
653
- [isReady, key]
672
+ []
654
673
  );
655
674
  (0, import_react5.useEffect)(() => {
656
675
  if (!autosync) return;
657
- if (!key) return setIsReady(true);
658
- if (renderCountRef.current > 1) {
659
- throw new Error(
660
- `useTableLayout should only be called once per component render cycle.
661
- ${renderCountRef.current} Renders detected.
662
- Check dependency stability`
663
- );
676
+ if (!key) {
677
+ setIsReady(true);
678
+ return;
664
679
  }
665
- renderCountRef.current += 1;
666
680
  const savedLayout = localStorage.getItem(
667
681
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
668
682
  );
669
683
  if (savedLayout) {
670
- handleSaveLayout(
684
+ setColumns(
671
685
  mergeObjectArrays(
672
686
  initialColumns,
673
687
  JSON.parse(savedLayout)
674
- ),
675
- true
688
+ )
689
+ );
690
+ } else {
691
+ localStorage.setItem(
692
+ getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
693
+ JSON.stringify(initialColumns)
676
694
  );
695
+ setColumns((prev) => {
696
+ if (JSON.stringify(initialColumns) === JSON.stringify(prev))
697
+ return prev;
698
+ return initialColumns;
699
+ });
677
700
  }
678
- if (!savedLayout) handleSaveLayout(initialColumns, true);
679
701
  setIsReady(true);
680
- return () => {
681
- renderCountRef.current = 0;
682
- };
683
- }, [handleSaveLayout, initialColumns, key, autosync]);
702
+ }, [initialColumns, key, autosync]);
684
703
  const getSavedLayout = (0, import_react5.useCallback)(() => {
685
704
  const savedLayout = localStorage.getItem(
686
705
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  PinnedColumns
3
- } from "../../chunk-SJ3SULQB.js";
4
- import "../../chunk-XX5GVIPZ.js";
3
+ } from "../../chunk-J2QD64F2.js";
4
+ import "../../chunk-XVWCVBVF.js";
5
5
  import "../../chunk-M7INAUAJ.js";
6
- import "../../chunk-ARWHCWG7.js";
7
- import "../../chunk-MQB6BSRX.js";
6
+ import "../../chunk-XT4BQXSX.js";
7
+ import "../../chunk-OXOMO76M.js";
8
8
  import "../../chunk-YCDDBSVU.js";
9
9
  import "../../chunk-3X3Y4TMS.js";
10
10
  import "../../chunk-BQNPOGD5.js";
11
11
  import "../../chunk-Y5GD2FJA.js";
12
12
  import "../../chunk-MBZ55T2D.js";
13
13
  import "../../chunk-2IKT6IHB.js";
14
- import "../../chunk-FIOXWZWU.js";
15
- import "../../chunk-LGX34HML.js";
14
+ import "../../chunk-ECYXZZWC.js";
15
+ import "../../chunk-Q4AANHJY.js";
16
16
  import "../../chunk-5IFPG6TS.js";
17
+ import "../../chunk-OZEKRO4L.js";
17
18
  import "../../chunk-AJ5M6MVX.js";
18
- import "../../chunk-UB3GEENN.js";
19
19
  import "../../chunk-AT4AWD6B.js";
20
20
  import "../../chunk-EWGHVZL5.js";
21
21
  import "../../chunk-UF5XGCSF.js";
@@ -24,7 +24,7 @@ import "../../chunk-L3BXRDLP.js";
24
24
  import "../../chunk-34VEVX5H.js";
25
25
  import "../../chunk-LB7UT6F3.js";
26
26
  import "../../chunk-AS57Y2D3.js";
27
- import "../../chunk-V7GPM6Z3.js";
27
+ import "../../chunk-Z3Q7PLVD.js";
28
28
  import "../../chunk-4RJKB7LC.js";
29
29
  import "../../chunk-UUKHQUSF.js";
30
30
  import "../../chunk-WVVEOCEH.js";
@@ -35,19 +35,19 @@ import "../../chunk-UAMI54FE.js";
35
35
  import "../../chunk-SJZNVG4N.js";
36
36
  import "../../chunk-75USUR3I.js";
37
37
  import "../../chunk-BWPNXY7T.js";
38
- import "../../chunk-RQMOWYB7.js";
39
- import "../../chunk-5JHKFK73.js";
40
- import "../../chunk-IATOG76G.js";
41
- import "../../chunk-PS7MBNUT.js";
38
+ import "../../chunk-VAARSN7U.js";
39
+ import "../../chunk-V2GSI3ZX.js";
40
+ import "../../chunk-NUFBAJ6L.js";
41
+ import "../../chunk-YXZRGZ2I.js";
42
42
  import "../../chunk-FHXCCVOG.js";
43
43
  import "../../chunk-7T5RGDCN.js";
44
44
  import "../../chunk-HXGJVYGQ.js";
45
45
  import "../../chunk-WVUIIBRR.js";
46
46
  import "../../chunk-M7WHWZ2J.js";
47
- import "../../chunk-3R3AY5MT.js";
48
- import "../../chunk-YR4ZO2XL.js";
47
+ import "../../chunk-LN3HVXH5.js";
48
+ import "../../chunk-K22B4L3G.js";
49
49
  import "../../chunk-VXWSAIB5.js";
50
- import "../../chunk-QJZ3XHNH.js";
50
+ import "../../chunk-HCHKYUNQ.js";
51
51
  import "../../chunk-5UH6QUFB.js";
52
52
  import "../../chunk-XJF4S3RB.js";
53
53
  import "../../chunk-ZCJWOHFN.js";
@@ -594,11 +594,24 @@ function formatDate(date) {
594
594
 
595
595
  // src/utils/mergeObjectArrays.ts
596
596
  function mergeObjectArrays(arr1, arr2) {
597
- const maxLength = Math.max(arr1.length, arr2.length);
598
- return Array.from(
599
- { length: maxLength },
600
- (_, i) => __spreadValues(__spreadValues({}, arr1[i] || {}), arr2[i] || {})
601
- );
597
+ const arr2Map = /* @__PURE__ */ new Map();
598
+ for (const item of arr2) {
599
+ const id = item.id;
600
+ if (id !== void 0) {
601
+ arr2Map.set(id, item);
602
+ }
603
+ }
604
+ return arr1.map((item1) => {
605
+ const id = item1.id;
606
+ if (id !== void 0 && arr2Map.has(id)) {
607
+ const item2 = arr2Map.get(id);
608
+ const meta1 = item1.meta;
609
+ const meta2 = item2.meta;
610
+ const mergedMeta = meta1 && meta2 && typeof meta1 === "object" && typeof meta2 === "object" ? __spreadValues(__spreadValues({}, meta1), meta2) : meta2 != null ? meta2 : meta1;
611
+ return __spreadProps(__spreadValues(__spreadValues({}, item1), item2), { meta: mergedMeta });
612
+ }
613
+ return item1;
614
+ });
602
615
  }
603
616
 
604
617
  // src/utils/index.ts
@@ -634,52 +647,58 @@ var getLocalStorageKeyWithPrefix = (key) => `${LocalStoragePrefix}__${key}`;
634
647
  function useTableLayout(initialColumns, key, autosync = true) {
635
648
  const [columns, setColumns] = (0, import_react5.useState)(initialColumns);
636
649
  const [isReady, setIsReady] = (0, import_react5.useState)(false);
637
- const renderCountRef = (0, import_react5.useRef)(0);
650
+ const isReadyRef = (0, import_react5.useRef)(false);
651
+ const keyRef = (0, import_react5.useRef)(key);
652
+ (0, import_react5.useEffect)(() => {
653
+ isReadyRef.current = isReady;
654
+ keyRef.current = key;
655
+ }, [isReady, key]);
638
656
  const handleSaveLayout = (0, import_react5.useCallback)(
639
657
  (setter, _internal) => {
640
- if (!isReady && !_internal || !key) return;
658
+ if (!isReadyRef.current && !_internal || !keyRef.current) return;
641
659
  setColumns((prevColumns) => {
642
660
  const newColumns = typeof setter === "function" ? setter(prevColumns) : setter;
643
- if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal)
661
+ if (JSON.stringify(newColumns) === JSON.stringify(prevColumns) && !_internal) {
644
662
  return prevColumns;
663
+ }
645
664
  localStorage.setItem(
646
- getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
665
+ getLocalStorageKeyWithPrefix(`${keyRef.current}-tableLayout`),
647
666
  JSON.stringify(newColumns)
648
667
  );
649
668
  return newColumns;
650
669
  });
651
670
  },
652
- [isReady, key]
671
+ []
653
672
  );
654
673
  (0, import_react5.useEffect)(() => {
655
674
  if (!autosync) return;
656
- if (!key) return setIsReady(true);
657
- if (renderCountRef.current > 1) {
658
- throw new Error(
659
- `useTableLayout should only be called once per component render cycle.
660
- ${renderCountRef.current} Renders detected.
661
- Check dependency stability`
662
- );
675
+ if (!key) {
676
+ setIsReady(true);
677
+ return;
663
678
  }
664
- renderCountRef.current += 1;
665
679
  const savedLayout = localStorage.getItem(
666
680
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
667
681
  );
668
682
  if (savedLayout) {
669
- handleSaveLayout(
683
+ setColumns(
670
684
  mergeObjectArrays(
671
685
  initialColumns,
672
686
  JSON.parse(savedLayout)
673
- ),
674
- true
687
+ )
688
+ );
689
+ } else {
690
+ localStorage.setItem(
691
+ getLocalStorageKeyWithPrefix(`${key}-tableLayout`),
692
+ JSON.stringify(initialColumns)
675
693
  );
694
+ setColumns((prev) => {
695
+ if (JSON.stringify(initialColumns) === JSON.stringify(prev))
696
+ return prev;
697
+ return initialColumns;
698
+ });
676
699
  }
677
- if (!savedLayout) handleSaveLayout(initialColumns, true);
678
700
  setIsReady(true);
679
- return () => {
680
- renderCountRef.current = 0;
681
- };
682
- }, [handleSaveLayout, initialColumns, key, autosync]);
701
+ }, [initialColumns, key, autosync]);
683
702
  const getSavedLayout = (0, import_react5.useCallback)(() => {
684
703
  const savedLayout = localStorage.getItem(
685
704
  getLocalStorageKeyWithPrefix(`${key}-tableLayout`)
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  LoadingCell
3
- } from "../../../chunk-SJ3SULQB.js";
4
- import "../../../chunk-XX5GVIPZ.js";
3
+ } from "../../../chunk-J2QD64F2.js";
4
+ import "../../../chunk-XVWCVBVF.js";
5
5
  import "../../../chunk-M7INAUAJ.js";
6
- import "../../../chunk-ARWHCWG7.js";
7
- import "../../../chunk-MQB6BSRX.js";
6
+ import "../../../chunk-XT4BQXSX.js";
7
+ import "../../../chunk-OXOMO76M.js";
8
8
  import "../../../chunk-YCDDBSVU.js";
9
9
  import "../../../chunk-3X3Y4TMS.js";
10
10
  import "../../../chunk-BQNPOGD5.js";
11
11
  import "../../../chunk-Y5GD2FJA.js";
12
12
  import "../../../chunk-MBZ55T2D.js";
13
13
  import "../../../chunk-2IKT6IHB.js";
14
- import "../../../chunk-FIOXWZWU.js";
15
- import "../../../chunk-LGX34HML.js";
14
+ import "../../../chunk-ECYXZZWC.js";
15
+ import "../../../chunk-Q4AANHJY.js";
16
16
  import "../../../chunk-5IFPG6TS.js";
17
+ import "../../../chunk-OZEKRO4L.js";
17
18
  import "../../../chunk-AJ5M6MVX.js";
18
- import "../../../chunk-UB3GEENN.js";
19
19
  import "../../../chunk-AT4AWD6B.js";
20
20
  import "../../../chunk-EWGHVZL5.js";
21
21
  import "../../../chunk-UF5XGCSF.js";
@@ -24,7 +24,7 @@ import "../../../chunk-L3BXRDLP.js";
24
24
  import "../../../chunk-34VEVX5H.js";
25
25
  import "../../../chunk-LB7UT6F3.js";
26
26
  import "../../../chunk-AS57Y2D3.js";
27
- import "../../../chunk-V7GPM6Z3.js";
27
+ import "../../../chunk-Z3Q7PLVD.js";
28
28
  import "../../../chunk-4RJKB7LC.js";
29
29
  import "../../../chunk-UUKHQUSF.js";
30
30
  import "../../../chunk-WVVEOCEH.js";
@@ -35,19 +35,19 @@ import "../../../chunk-UAMI54FE.js";
35
35
  import "../../../chunk-SJZNVG4N.js";
36
36
  import "../../../chunk-75USUR3I.js";
37
37
  import "../../../chunk-BWPNXY7T.js";
38
- import "../../../chunk-RQMOWYB7.js";
39
- import "../../../chunk-5JHKFK73.js";
40
- import "../../../chunk-IATOG76G.js";
41
- import "../../../chunk-PS7MBNUT.js";
38
+ import "../../../chunk-VAARSN7U.js";
39
+ import "../../../chunk-V2GSI3ZX.js";
40
+ import "../../../chunk-NUFBAJ6L.js";
41
+ import "../../../chunk-YXZRGZ2I.js";
42
42
  import "../../../chunk-FHXCCVOG.js";
43
43
  import "../../../chunk-7T5RGDCN.js";
44
44
  import "../../../chunk-HXGJVYGQ.js";
45
45
  import "../../../chunk-WVUIIBRR.js";
46
46
  import "../../../chunk-M7WHWZ2J.js";
47
- import "../../../chunk-3R3AY5MT.js";
48
- import "../../../chunk-YR4ZO2XL.js";
47
+ import "../../../chunk-LN3HVXH5.js";
48
+ import "../../../chunk-K22B4L3G.js";
49
49
  import "../../../chunk-VXWSAIB5.js";
50
- import "../../../chunk-QJZ3XHNH.js";
50
+ import "../../../chunk-HCHKYUNQ.js";
51
51
  import "../../../chunk-5UH6QUFB.js";
52
52
  import "../../../chunk-XJF4S3RB.js";
53
53
  import "../../../chunk-ZCJWOHFN.js";