twico-ui 1.22.2 → 1.22.3

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.
package/dist/index.mjs CHANGED
@@ -9340,6 +9340,7 @@ function Datatable({
9340
9340
  }
9341
9341
  };
9342
9342
  const stateReadyRef = React51__default.useRef(false);
9343
+ const stateRestoredRef = React51__default.useRef(false);
9343
9344
  const onStateChangeRef = React51__default.useRef(onStateChange);
9344
9345
  onStateChangeRef.current = onStateChange;
9345
9346
  React51__default.useEffect(() => {
@@ -9355,7 +9356,7 @@ function Datatable({
9355
9356
  }
9356
9357
  return void 0;
9357
9358
  }, [filters, sort, quick, pageVal, sizeVal, order, widths, hidden, pins, density, fWidths, fPanelSize, stateKey]);
9358
- React51__default.useEffect(() => {
9359
+ const restoreState = () => {
9359
9360
  let saved = null;
9360
9361
  if (stateKey) {
9361
9362
  try {
@@ -9366,8 +9367,22 @@ function Datatable({
9366
9367
  }
9367
9368
  if (!saved && initialState) saved = initialState;
9368
9369
  if (saved) applyState(saved);
9369
- stateReadyRef.current = true;
9370
+ stateRestoredRef.current = true;
9371
+ };
9372
+ React51__default.useEffect(() => {
9373
+ if (columns.length) {
9374
+ restoreState();
9375
+ stateReadyRef.current = true;
9376
+ }
9377
+ return () => {
9378
+ stateReadyRef.current = false;
9379
+ };
9370
9380
  }, []);
9381
+ React51__default.useEffect(() => {
9382
+ if (stateRestoredRef.current || !columns.length) return;
9383
+ restoreState();
9384
+ stateReadyRef.current = true;
9385
+ }, [columns.length]);
9371
9386
  const rootRef = React51__default.useRef(null);
9372
9387
  const [compact, setCompact] = React51__default.useState(false);
9373
9388
  React51__default.useEffect(() => {
@@ -9440,20 +9455,19 @@ function Datatable({
9440
9455
  React51__default.useEffect(() => {
9441
9456
  setOrder((prev) => mergeColOrder(prev, columns.map((c) => c.field).filter(Boolean)));
9442
9457
  }, [columns]);
9443
- const densitySyncedRef = React51__default.useRef(false);
9458
+ const densityPropRef = React51__default.useRef(densityProp);
9444
9459
  React51__default.useEffect(() => {
9445
- if (densitySyncedRef.current) setDensity(densityProp);
9446
- else densitySyncedRef.current = true;
9460
+ if (densityPropRef.current === densityProp) return;
9461
+ densityPropRef.current = densityProp;
9462
+ setDensity(densityProp);
9447
9463
  }, [densityProp]);
9448
9464
  React51__default.useEffect(() => {
9449
9465
  setAggOn(showAggregation);
9450
9466
  }, [showAggregation]);
9451
- const pageSizeSyncedRef = React51__default.useRef(false);
9467
+ const pageSizePropRef = React51__default.useRef(pageSize);
9452
9468
  React51__default.useEffect(() => {
9453
- if (!pageSizeSyncedRef.current) {
9454
- pageSizeSyncedRef.current = true;
9455
- return;
9456
- }
9469
+ if (pageSizePropRef.current === pageSize) return;
9470
+ pageSizePropRef.current = pageSize;
9457
9471
  if (pageSizeControlled) return;
9458
9472
  setInternalRpp(pageSize > 0 ? pageSize : 10);
9459
9473
  setInternalPage(0);