@ai-matrx/design-system 0.43.0 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/content-transfer.cjs +39 -0
- package/dist/content-transfer.cjs.map +1 -1
- package/dist/content-transfer.js +39 -0
- package/dist/content-transfer.js.map +1 -1
- package/dist/data-table/data-row-inspector.cjs +39 -0
- package/dist/data-table/data-row-inspector.cjs.map +1 -1
- package/dist/data-table/data-row-inspector.js +41 -2
- package/dist/data-table/data-row-inspector.js.map +1 -1
- package/dist/data-table/data-row-window.cjs +39 -0
- package/dist/data-table/data-row-window.cjs.map +1 -1
- package/dist/data-table/data-row-window.js +43 -4
- package/dist/data-table/data-row-window.js.map +1 -1
- package/dist/data-table/index.cjs +39 -0
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.js +76 -37
- package/dist/data-table/index.js.map +1 -1
- package/dist/index.cjs +43 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -1
- package/dist/index.d.ts +28 -1
- package/dist/index.js +48 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/data-table/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Fragment as Fragment7,
|
|
7
7
|
isValidElement as isValidElement2,
|
|
8
8
|
useCallback as useCallback8,
|
|
9
|
-
useEffect as
|
|
9
|
+
useEffect as useEffect17,
|
|
10
10
|
useId as useId2,
|
|
11
11
|
useLayoutEffect as useLayoutEffect2,
|
|
12
12
|
useMemo as useMemo9,
|
|
@@ -1529,6 +1529,15 @@ function useIsMobile() {
|
|
|
1529
1529
|
return isMobile;
|
|
1530
1530
|
}
|
|
1531
1531
|
|
|
1532
|
+
// src/layer-front.ts
|
|
1533
|
+
var LAYER_FRONT_EVENT = "matrx:layer-front";
|
|
1534
|
+
function announceLayerFront(element) {
|
|
1535
|
+
if (typeof document === "undefined") return;
|
|
1536
|
+
document.dispatchEvent(
|
|
1537
|
+
new CustomEvent(LAYER_FRONT_EVENT, { detail: { element } })
|
|
1538
|
+
);
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1532
1541
|
// src/dialog.tsx
|
|
1533
1542
|
import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
1534
1543
|
var DialogWindowedByDefaultContext = React11.createContext(false);
|
|
@@ -1599,6 +1608,8 @@ var DialogContent = React11.forwardRef(
|
|
|
1599
1608
|
dismissOnOutsideClick = false,
|
|
1600
1609
|
onInteractOutside,
|
|
1601
1610
|
onEscapeKeyDown,
|
|
1611
|
+
onPointerDownCapture,
|
|
1612
|
+
onFocusCapture,
|
|
1602
1613
|
style,
|
|
1603
1614
|
...props
|
|
1604
1615
|
}, ref) => {
|
|
@@ -1611,6 +1622,24 @@ var DialogContent = React11.forwardRef(
|
|
|
1611
1622
|
const [containerEl, setContainerEl] = React11.useState(
|
|
1612
1623
|
null
|
|
1613
1624
|
);
|
|
1625
|
+
const stacks = windowed && windowedByDefault;
|
|
1626
|
+
const [behind, setBehind] = React11.useState(false);
|
|
1627
|
+
React11.useEffect(() => {
|
|
1628
|
+
if (!stacks || !containerEl) return;
|
|
1629
|
+
const onFront = (event) => {
|
|
1630
|
+
const element = event.detail?.element ?? null;
|
|
1631
|
+
if (element && (element === containerEl || containerEl.contains(element))) return;
|
|
1632
|
+
setBehind(true);
|
|
1633
|
+
};
|
|
1634
|
+
document.addEventListener(LAYER_FRONT_EVENT, onFront);
|
|
1635
|
+
announceLayerFront(containerEl);
|
|
1636
|
+
return () => document.removeEventListener(LAYER_FRONT_EVENT, onFront);
|
|
1637
|
+
}, [stacks, containerEl]);
|
|
1638
|
+
const bringToFront = () => {
|
|
1639
|
+
if (!stacks || !containerEl) return;
|
|
1640
|
+
setBehind(false);
|
|
1641
|
+
announceLayerFront(containerEl);
|
|
1642
|
+
};
|
|
1614
1643
|
const [offset, setOffset] = React11.useState({ x: 0, y: 0 });
|
|
1615
1644
|
const dragRef = React11.useRef(null);
|
|
1616
1645
|
const handle = React11.useMemo(() => {
|
|
@@ -1669,10 +1698,20 @@ var DialogContent = React11.forwardRef(
|
|
|
1669
1698
|
// z=1000); staying below that boundary makes a newly focused window
|
|
1670
1699
|
// usable without coupling the two systems.
|
|
1671
1700
|
!isModal && !windowedByDefault && "z-[900]",
|
|
1701
|
+
// Another layer came to the front after this window (layer-front.ts).
|
|
1702
|
+
stacks && behind && "z-[999]",
|
|
1672
1703
|
// Without an overlay the card needs its own separation from the page.
|
|
1673
1704
|
windowed && "shadow-2xl ring-1 ring-border/60"
|
|
1674
1705
|
),
|
|
1675
1706
|
style: windowed && (offset.x !== 0 || offset.y !== 0) ? { ...style, translate: `${offset.x}px ${offset.y}px` } : style,
|
|
1707
|
+
onPointerDownCapture: (event) => {
|
|
1708
|
+
onPointerDownCapture?.(event);
|
|
1709
|
+
if (behind) bringToFront();
|
|
1710
|
+
},
|
|
1711
|
+
onFocusCapture: (event) => {
|
|
1712
|
+
onFocusCapture?.(event);
|
|
1713
|
+
if (behind) bringToFront();
|
|
1714
|
+
},
|
|
1676
1715
|
onInteractOutside: (event) => {
|
|
1677
1716
|
onInteractOutside?.(event);
|
|
1678
1717
|
if (windowed && !dismissOnOutsideClick) event.preventDefault();
|
|
@@ -5710,9 +5749,9 @@ function useCopySubsetVariant() {
|
|
|
5710
5749
|
}
|
|
5711
5750
|
|
|
5712
5751
|
// src/data-table/clipping.ts
|
|
5713
|
-
import { useEffect as
|
|
5752
|
+
import { useEffect as useEffect7 } from "react";
|
|
5714
5753
|
function useClippedContentGuard(ref, options) {
|
|
5715
|
-
|
|
5754
|
+
useEffect7(() => {
|
|
5716
5755
|
if (!options.enabled || !ref.current) return;
|
|
5717
5756
|
const node = ref.current;
|
|
5718
5757
|
const check = () => {
|
|
@@ -5726,7 +5765,7 @@ function useClippedContentGuard(ref, options) {
|
|
|
5726
5765
|
}
|
|
5727
5766
|
|
|
5728
5767
|
// src/data-table/url-state.ts
|
|
5729
|
-
import { useCallback as useCallback4, useEffect as
|
|
5768
|
+
import { useCallback as useCallback4, useEffect as useEffect8, useMemo as useMemo5, useRef as useRef9, useState as useState12 } from "react";
|
|
5730
5769
|
import {
|
|
5731
5770
|
commitUrlParams,
|
|
5732
5771
|
useUrlSearchParams
|
|
@@ -5808,7 +5847,7 @@ function useTableUrlState(options) {
|
|
|
5808
5847
|
const state = readState(searchParams);
|
|
5809
5848
|
const lastTextWriteAt = useRef9(0);
|
|
5810
5849
|
const [debouncedSearch, setDebouncedSearch] = useState12(state.search);
|
|
5811
|
-
|
|
5850
|
+
useEffect8(() => {
|
|
5812
5851
|
if (state.search === debouncedSearch) return;
|
|
5813
5852
|
const timer = window.setTimeout(
|
|
5814
5853
|
() => setDebouncedSearch(state.search),
|
|
@@ -5916,14 +5955,14 @@ import {
|
|
|
5916
5955
|
} from "@ai-matrx/kit/url-state";
|
|
5917
5956
|
|
|
5918
5957
|
// src/data-table/RowAlchemyLauncher.tsx
|
|
5919
|
-
import { useCallback as useCallback5, useEffect as
|
|
5958
|
+
import { useCallback as useCallback5, useEffect as useEffect9, useRef as useRef10, useState as useState13 } from "react";
|
|
5920
5959
|
import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
5921
5960
|
function MatrxTableRowAlchemyProvider({ copy, placement, controls, children }) {
|
|
5922
5961
|
const controller = useRef10(null);
|
|
5923
5962
|
const { CopyControls } = useMatrxDataTableHost();
|
|
5924
5963
|
const [active, setActive] = useState13(false);
|
|
5925
5964
|
const [fallback, setFallback] = useState13(false);
|
|
5926
|
-
|
|
5965
|
+
useEffect9(() => {
|
|
5927
5966
|
if (placement !== "menu" || active) return;
|
|
5928
5967
|
const timer = window.setTimeout(() => {
|
|
5929
5968
|
if (!active) {
|
|
@@ -5960,7 +5999,7 @@ function MatrxTableRowAlchemyProvider({ copy, placement, controls, children }) {
|
|
|
5960
5999
|
// src/data-table/ColumnHeaderCell.tsx
|
|
5961
6000
|
import {
|
|
5962
6001
|
forwardRef as forwardRef13,
|
|
5963
|
-
useEffect as
|
|
6002
|
+
useEffect as useEffect10,
|
|
5964
6003
|
useMemo as useMemo6,
|
|
5965
6004
|
useRef as useRef11,
|
|
5966
6005
|
useState as useState14
|
|
@@ -6347,7 +6386,7 @@ function ColumnHeaderCell({
|
|
|
6347
6386
|
const [filterOpen, setFilterOpen] = useState14(false);
|
|
6348
6387
|
const [pendingNegation, setPendingNegation] = useState14(false);
|
|
6349
6388
|
const [draftFilter, setDraftFilter] = useState14(filterValue);
|
|
6350
|
-
|
|
6389
|
+
useEffect10(() => {
|
|
6351
6390
|
if (!filterOpen) {
|
|
6352
6391
|
setDraftFilter(filterValue);
|
|
6353
6392
|
setPendingNegation(filterValue?.negated ?? false);
|
|
@@ -6355,7 +6394,7 @@ function ColumnHeaderCell({
|
|
|
6355
6394
|
}, [filterOpen, filterValue]);
|
|
6356
6395
|
const notifyOpen = useRef11(onFilterOpen);
|
|
6357
6396
|
notifyOpen.current = onFilterOpen;
|
|
6358
|
-
|
|
6397
|
+
useEffect10(() => {
|
|
6359
6398
|
if (filterOpen) notifyOpen.current?.();
|
|
6360
6399
|
}, [filterOpen]);
|
|
6361
6400
|
const applyFilter = () => {
|
|
@@ -7203,7 +7242,7 @@ function parseOptionalNumber(raw) {
|
|
|
7203
7242
|
// src/data-table/ColumnResizeHandle.tsx
|
|
7204
7243
|
import {
|
|
7205
7244
|
useCallback as useCallback6,
|
|
7206
|
-
useEffect as
|
|
7245
|
+
useEffect as useEffect11,
|
|
7207
7246
|
useRef as useRef12,
|
|
7208
7247
|
useState as useState15
|
|
7209
7248
|
} from "react";
|
|
@@ -7300,7 +7339,7 @@ function ColumnResizeHandle({
|
|
|
7300
7339
|
handleRef.current.releasePointerCapture(active.pointerId);
|
|
7301
7340
|
}
|
|
7302
7341
|
}, [clearQueuedPreview, columnId2, cssVar, onResizeCancel, onResizeCommit, tableRef, writePreview]);
|
|
7303
|
-
|
|
7342
|
+
useEffect11(() => () => clearQueuedPreview(), [clearQueuedPreview]);
|
|
7304
7343
|
const onPointerDown = (event) => {
|
|
7305
7344
|
if (disabled || event.button !== 0 || !event.isPrimary) return;
|
|
7306
7345
|
event.preventDefault();
|
|
@@ -7841,7 +7880,7 @@ function scrollOffsetForIndex(input) {
|
|
|
7841
7880
|
}
|
|
7842
7881
|
|
|
7843
7882
|
// src/data-table/useSpreadsheetGrid.ts
|
|
7844
|
-
import { useCallback as useCallback7, useEffect as
|
|
7883
|
+
import { useCallback as useCallback7, useEffect as useEffect12, useMemo as useMemo7, useRef as useRef13, useState as useState16 } from "react";
|
|
7845
7884
|
|
|
7846
7885
|
// src/data-table/grid-selection.ts
|
|
7847
7886
|
function rangeBounds(range, rowIds, fieldNames) {
|
|
@@ -8578,7 +8617,7 @@ function useSpreadsheetGrid(options) {
|
|
|
8578
8617
|
() => options ? options.columnIds.filter((id) => id !== "") : [],
|
|
8579
8618
|
[options]
|
|
8580
8619
|
);
|
|
8581
|
-
|
|
8620
|
+
useEffect12(() => {
|
|
8582
8621
|
if (!range) return;
|
|
8583
8622
|
const rowSet = new Set(rowIds);
|
|
8584
8623
|
const colSet = new Set(columnIds);
|
|
@@ -8997,7 +9036,7 @@ function useSpreadsheetGrid(options) {
|
|
|
8997
9036
|
fillTargetRef.current = fillTarget;
|
|
8998
9037
|
const boundsRef = useRef13(null);
|
|
8999
9038
|
boundsRef.current = bounds;
|
|
9000
|
-
|
|
9039
|
+
useEffect12(() => {
|
|
9001
9040
|
if (!options) return;
|
|
9002
9041
|
const commit = () => {
|
|
9003
9042
|
const wasDragging = draggingRef.current;
|
|
@@ -9238,7 +9277,7 @@ function rankTableSearchRows(rows, columns, query, options = {}, extraText) {
|
|
|
9238
9277
|
}
|
|
9239
9278
|
|
|
9240
9279
|
// src/data-table/ColumnManager.tsx
|
|
9241
|
-
import { useEffect as
|
|
9280
|
+
import { useEffect as useEffect13, useMemo as useMemo8, useState as useState17 } from "react";
|
|
9242
9281
|
import { useDndMonitor, useDraggable as useDraggable2, useDroppable } from "@dnd-kit/core";
|
|
9243
9282
|
import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
9244
9283
|
function ColumnManager({
|
|
@@ -9257,7 +9296,7 @@ function ColumnManager({
|
|
|
9257
9296
|
const [draftHidden, setDraftHidden] = useState17(() => new Set(hidden));
|
|
9258
9297
|
const [draggedColumnId, setDraggedColumnId] = useState17(null);
|
|
9259
9298
|
const [dropTarget, setDropTarget] = useState17(null);
|
|
9260
|
-
|
|
9299
|
+
useEffect13(() => {
|
|
9261
9300
|
if (!open) return;
|
|
9262
9301
|
setDraftOrder(order);
|
|
9263
9302
|
setDraftHidden(new Set(hidden));
|
|
@@ -9790,7 +9829,7 @@ function parseTableViewSnapshot(raw) {
|
|
|
9790
9829
|
|
|
9791
9830
|
// src/data-table/MatrxUuidCell.tsx
|
|
9792
9831
|
import {
|
|
9793
|
-
useEffect as
|
|
9832
|
+
useEffect as useEffect14,
|
|
9794
9833
|
useRef as useRef14,
|
|
9795
9834
|
useState as useState18
|
|
9796
9835
|
} from "react";
|
|
@@ -9837,7 +9876,7 @@ function MatrxUuidCell({
|
|
|
9837
9876
|
const [opening, setOpening] = useState18(false);
|
|
9838
9877
|
const [peekOpen, setPeekOpen] = useState18(false);
|
|
9839
9878
|
const timer = useRef14(null);
|
|
9840
|
-
|
|
9879
|
+
useEffect14(
|
|
9841
9880
|
() => () => {
|
|
9842
9881
|
if (timer.current) clearTimeout(timer.current);
|
|
9843
9882
|
},
|
|
@@ -10132,7 +10171,7 @@ function DataRowInspector({
|
|
|
10132
10171
|
}
|
|
10133
10172
|
|
|
10134
10173
|
// src/data-table/DataRowWindow.tsx
|
|
10135
|
-
import { useEffect as
|
|
10174
|
+
import { useEffect as useEffect15, useState as useState19 } from "react";
|
|
10136
10175
|
import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
10137
10176
|
function DataRowWindow({
|
|
10138
10177
|
isOpen,
|
|
@@ -10154,7 +10193,7 @@ function DataRowWindow({
|
|
|
10154
10193
|
const hasTabs = hasEdit && children == null;
|
|
10155
10194
|
const initialTab = defaultTab ?? (hasEdit ? "edit" : "view");
|
|
10156
10195
|
const [tab, setTab] = useState19(initialTab);
|
|
10157
|
-
|
|
10196
|
+
useEffect15(() => {
|
|
10158
10197
|
if (!isOpen) return;
|
|
10159
10198
|
setTab(defaultTab ?? (hasEdit ? "edit" : "view"));
|
|
10160
10199
|
}, [isOpen, windowId, hasEdit, defaultTab]);
|
|
@@ -11368,7 +11407,7 @@ function DirtySavePill({
|
|
|
11368
11407
|
}
|
|
11369
11408
|
|
|
11370
11409
|
// src/data-table/EditableTableCell.tsx
|
|
11371
|
-
import { useEffect as
|
|
11410
|
+
import { useEffect as useEffect16, useRef as useRef15, useState as useState20 } from "react";
|
|
11372
11411
|
import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
11373
11412
|
function CellRefusal({ reason }) {
|
|
11374
11413
|
return /* @__PURE__ */ jsx40(
|
|
@@ -11432,10 +11471,10 @@ function EditableTableCell({
|
|
|
11432
11471
|
}) {
|
|
11433
11472
|
const [open, setOpen] = useState20(false);
|
|
11434
11473
|
const [refusal, setRefusal] = useState20(null);
|
|
11435
|
-
|
|
11474
|
+
useEffect16(() => {
|
|
11436
11475
|
if (editRequest !== void 0) setOpen(true);
|
|
11437
11476
|
}, [editRequest]);
|
|
11438
|
-
|
|
11477
|
+
useEffect16(() => {
|
|
11439
11478
|
if (!open) setRefusal(null);
|
|
11440
11479
|
}, [open]);
|
|
11441
11480
|
const usePencil = Boolean(href) || editTrigger === "pencil";
|
|
@@ -11545,7 +11584,7 @@ function InlineStringEditor({
|
|
|
11545
11584
|
const handledEditRequest = useRef15(void 0);
|
|
11546
11585
|
const seedRef = useRef15(editSeed);
|
|
11547
11586
|
seedRef.current = editSeed;
|
|
11548
|
-
|
|
11587
|
+
useEffect16(() => {
|
|
11549
11588
|
if (editRequest === void 0 || handledEditRequest.current === editRequest) return;
|
|
11550
11589
|
handledEditRequest.current = editRequest;
|
|
11551
11590
|
setDraft(seedRef.current ?? value);
|
|
@@ -12536,7 +12575,7 @@ function MatrxDataTableWithUrlState({
|
|
|
12536
12575
|
...urlState.history === void 0 ? {} : { history: urlState.history },
|
|
12537
12576
|
...urlState.textHistory === void 0 ? {} : { textHistory: urlState.textHistory }
|
|
12538
12577
|
});
|
|
12539
|
-
|
|
12578
|
+
useEffect17(() => {
|
|
12540
12579
|
if (activeUrlTableIds.has(urlState.id)) {
|
|
12541
12580
|
throw new Error(
|
|
12542
12581
|
`Duplicate MatrxDataTable urlState.id "${urlState.id}" on one page. Give every table a unique stable id.`
|
|
@@ -12936,7 +12975,7 @@ function MatrxDataTableCore({
|
|
|
12936
12975
|
rows: Object.entries(draft.values).map(([rowId, columns2]) => ({ rowId, columns: columns2 }))
|
|
12937
12976
|
}));
|
|
12938
12977
|
const selection = appendSourceChanged && selectionConfig ? { ...selectionConfig, selectedIds: [] } : selectionConfig;
|
|
12939
|
-
|
|
12978
|
+
useEffect17(() => {
|
|
12940
12979
|
const previous = committedAppendQueryKey.current;
|
|
12941
12980
|
committedAppendQueryKey.current = appendQueryKey;
|
|
12942
12981
|
if (previous === null || appendQueryKey === null || previous === appendQueryKey) {
|
|
@@ -13006,7 +13045,7 @@ function MatrxDataTableCore({
|
|
|
13006
13045
|
behavior: "smooth"
|
|
13007
13046
|
});
|
|
13008
13047
|
};
|
|
13009
|
-
|
|
13048
|
+
useEffect17(() => {
|
|
13010
13049
|
updateScrollHint();
|
|
13011
13050
|
window.addEventListener("resize", updateScrollHint);
|
|
13012
13051
|
const el = scrollRef.current;
|
|
@@ -13099,7 +13138,7 @@ function MatrxDataTableCore({
|
|
|
13099
13138
|
columnDragRaf.current = null;
|
|
13100
13139
|
columnDragScrollDirection.current = 0;
|
|
13101
13140
|
}, []);
|
|
13102
|
-
|
|
13141
|
+
useEffect17(() => () => {
|
|
13103
13142
|
columnDragActive.current = false;
|
|
13104
13143
|
stopColumnDragScroll();
|
|
13105
13144
|
}, [stopColumnDragScroll]);
|
|
@@ -13225,7 +13264,7 @@ function MatrxDataTableCore({
|
|
|
13225
13264
|
}
|
|
13226
13265
|
setColumnWidths(normalized);
|
|
13227
13266
|
}, [columnIds, columnState, columns, measureFixedTableGeometry, measureVisibleColumnWidths]);
|
|
13228
|
-
|
|
13267
|
+
useEffect17(() => {
|
|
13229
13268
|
const ids = columns.map(columnId);
|
|
13230
13269
|
if (columnState) return;
|
|
13231
13270
|
const previousIds = knownColumnIds.current;
|
|
@@ -13456,7 +13495,7 @@ function MatrxDataTableCore({
|
|
|
13456
13495
|
searchScope
|
|
13457
13496
|
]);
|
|
13458
13497
|
const lastNotifiedViewRows = useRef16(null);
|
|
13459
|
-
|
|
13498
|
+
useEffect17(() => {
|
|
13460
13499
|
if (!onViewChange) {
|
|
13461
13500
|
lastNotifiedViewRows.current = null;
|
|
13462
13501
|
return;
|
|
@@ -13465,7 +13504,7 @@ function MatrxDataTableCore({
|
|
|
13465
13504
|
lastNotifiedViewRows.current = processed;
|
|
13466
13505
|
if (changed) onViewChange(processed);
|
|
13467
13506
|
}, [processed, onViewChange]);
|
|
13468
|
-
|
|
13507
|
+
useEffect17(() => {
|
|
13469
13508
|
if (controlledQuery) return;
|
|
13470
13509
|
setInternalPage(1);
|
|
13471
13510
|
}, [
|
|
@@ -13647,7 +13686,7 @@ function MatrxDataTableCore({
|
|
|
13647
13686
|
frozenRunLength
|
|
13648
13687
|
]);
|
|
13649
13688
|
const metricsWanted = virtualizeActive || columnVirtualizeActive;
|
|
13650
|
-
|
|
13689
|
+
useEffect17(() => {
|
|
13651
13690
|
recomputeWindows();
|
|
13652
13691
|
}, [
|
|
13653
13692
|
recomputeWindows,
|
|
@@ -13659,7 +13698,7 @@ function MatrxDataTableCore({
|
|
|
13659
13698
|
columnWindowWidth,
|
|
13660
13699
|
frozenRunLength
|
|
13661
13700
|
]);
|
|
13662
|
-
|
|
13701
|
+
useEffect17(() => {
|
|
13663
13702
|
if (!metricsWanted) return;
|
|
13664
13703
|
const el = scrollRef.current;
|
|
13665
13704
|
if (!el) return;
|
|
@@ -13852,12 +13891,12 @@ function MatrxDataTableCore({
|
|
|
13852
13891
|
}));
|
|
13853
13892
|
});
|
|
13854
13893
|
}, []);
|
|
13855
|
-
|
|
13894
|
+
useEffect17(() => {
|
|
13856
13895
|
if (!facetsEnabled) return;
|
|
13857
13896
|
setFacetState({});
|
|
13858
13897
|
facetRequestRef.current = /* @__PURE__ */ new Map();
|
|
13859
13898
|
}, [facetsEnabled, data, searchValue]);
|
|
13860
|
-
|
|
13899
|
+
useEffect17(() => {
|
|
13861
13900
|
if (!controlledQuery || controlledQuery.state.page === safePage) return;
|
|
13862
13901
|
emitControlledQueryChange({ page: safePage });
|
|
13863
13902
|
}, [controlledQuery, emitControlledQueryChange, safePage]);
|
|
@@ -14443,7 +14482,7 @@ function MatrxDataTableCore({
|
|
|
14443
14482
|
);
|
|
14444
14483
|
const resolveMenuLevelRef = useRef16(resolveMenuLevel);
|
|
14445
14484
|
resolveMenuLevelRef.current = resolveMenuLevel;
|
|
14446
|
-
|
|
14485
|
+
useEffect17(() => {
|
|
14447
14486
|
if (!host.rowContextRegistry) return;
|
|
14448
14487
|
return host.rowContextRegistry.register(
|
|
14449
14488
|
tableContextMenuInstanceId,
|