schummar-table 0.43.1 → 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/dist/{chunk-FTCKJOPQ.js → chunk-NTYYITKA.js} +4 -3
- package/dist/chunk-NTYYITKA.js.map +1 -0
- package/dist/index.cjs +335 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +301 -148
- package/dist/index.js.map +1 -1
- package/dist/mui4Theme.cjs +3 -2
- package/dist/mui4Theme.cjs.map +1 -1
- package/dist/mui4Theme.d.cts +1 -1
- package/dist/mui4Theme.d.ts +1 -1
- package/dist/mui4Theme.js +1 -1
- package/dist/mui5Theme.cjs +3 -2
- package/dist/mui5Theme.cjs.map +1 -1
- package/dist/mui5Theme.d.cts +1 -1
- package/dist/mui5Theme.d.ts +1 -1
- package/dist/mui5Theme.js +1 -1
- package/dist/{types-CkiMjwT9.d.cts → types-DKqBJ_4v.d.cts} +26 -4
- package/dist/{types-C_rP1nwr.d.ts → types-cAzUt-yT.d.ts} +26 -4
- package/package.json +1 -1
- package/dist/chunk-FTCKJOPQ.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -855,13 +855,14 @@ var import_react_dom = require("react-dom");
|
|
|
855
855
|
// src/theme/defaultTheme/defaultClasses.ts
|
|
856
856
|
var import_react4 = require("@emotion/react");
|
|
857
857
|
var cell = (0, import_react4.css)({
|
|
858
|
+
padding: `calc(var(--spacing) * 0.1) calc(2 * var(--spacing))`,
|
|
858
859
|
display: "flex",
|
|
859
860
|
alignItems: "center",
|
|
860
861
|
borderBottom: "1px solid var(--table-border-light-color)",
|
|
861
862
|
whiteSpace: "nowrap",
|
|
862
863
|
overflow: "hidden",
|
|
863
|
-
"&:
|
|
864
|
-
padding:
|
|
864
|
+
"&:empty": {
|
|
865
|
+
padding: 0
|
|
865
866
|
}
|
|
866
867
|
});
|
|
867
868
|
var defaultClasses = {
|
|
@@ -1690,13 +1691,13 @@ var FilterControlContext = (0, import_react14.createContext)({
|
|
|
1690
1691
|
isActive: false,
|
|
1691
1692
|
close: () => void 0
|
|
1692
1693
|
});
|
|
1693
|
-
function FilterControl(
|
|
1694
|
+
function FilterControl({
|
|
1695
|
+
component: Component = DefaultButton,
|
|
1696
|
+
onClose
|
|
1697
|
+
}) {
|
|
1694
1698
|
const table = useTableContext();
|
|
1695
1699
|
const columnId = useColumnContext();
|
|
1696
|
-
const IconButton2 = useTheme((t2) => t2.components.IconButton);
|
|
1697
1700
|
const Popover2 = useTheme((t2) => t2.components.Popover);
|
|
1698
|
-
const FilterList2 = useTheme((t2) => t2.icons.FilterList);
|
|
1699
|
-
const ArrowDropDown2 = useTheme((t2) => t2.icons.ArrowDropDown);
|
|
1700
1701
|
const classes = useTheme((t2) => t2.classes);
|
|
1701
1702
|
const cssVariables = useCssVariables();
|
|
1702
1703
|
const [anchor, setAnchor] = (0, import_react14.useState)(null);
|
|
@@ -1716,14 +1717,14 @@ function FilterControl() {
|
|
|
1716
1717
|
}
|
|
1717
1718
|
);
|
|
1718
1719
|
function reset() {
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1720
|
+
var _a;
|
|
1721
|
+
const impl = table.getState().filters.get(columnId);
|
|
1722
|
+
(_a = impl == null ? void 0 : impl.onChange) == null ? void 0 : _a.call(impl, void 0);
|
|
1723
|
+
if ((impl == null ? void 0 : impl.value) === void 0) {
|
|
1724
|
+
table.update((state) => {
|
|
1724
1725
|
state.filterValues.delete(columnId);
|
|
1725
|
-
}
|
|
1726
|
-
}
|
|
1726
|
+
});
|
|
1727
|
+
}
|
|
1727
1728
|
}
|
|
1728
1729
|
const context = (0, import_react14.useMemo)(
|
|
1729
1730
|
() => ({
|
|
@@ -1735,7 +1736,7 @@ function FilterControl() {
|
|
|
1735
1736
|
if (!filter) return null;
|
|
1736
1737
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(FilterControlContext.Provider, { value: context, children: [
|
|
1737
1738
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1738
|
-
|
|
1739
|
+
Component,
|
|
1739
1740
|
{
|
|
1740
1741
|
onClick: (event) => setAnchor(event.currentTarget),
|
|
1741
1742
|
onContextMenu: (event) => {
|
|
@@ -1743,18 +1744,7 @@ function FilterControl() {
|
|
|
1743
1744
|
event.preventDefault();
|
|
1744
1745
|
return false;
|
|
1745
1746
|
},
|
|
1746
|
-
|
|
1747
|
-
IconButton2,
|
|
1748
|
-
{
|
|
1749
|
-
css: [
|
|
1750
|
-
{ color: "#b0bac9" },
|
|
1751
|
-
isActive && {
|
|
1752
|
-
color: "var(--primaryMain) !important"
|
|
1753
|
-
}
|
|
1754
|
-
],
|
|
1755
|
-
children: isActive ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FilterList2, {}) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ArrowDropDown2, {})
|
|
1756
|
-
}
|
|
1757
|
-
)
|
|
1747
|
+
isActive
|
|
1758
1748
|
}
|
|
1759
1749
|
),
|
|
1760
1750
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
@@ -1771,7 +1761,10 @@ function FilterControl() {
|
|
|
1771
1761
|
{
|
|
1772
1762
|
open: true,
|
|
1773
1763
|
hidden: !anchor,
|
|
1774
|
-
onClose: () =>
|
|
1764
|
+
onClose: () => {
|
|
1765
|
+
setAnchor(null);
|
|
1766
|
+
onClose == null ? void 0 : onClose();
|
|
1767
|
+
},
|
|
1775
1768
|
anchorEl: anchor != null ? anchor : document.body,
|
|
1776
1769
|
css: cssVariables,
|
|
1777
1770
|
className: cx(classes == null ? void 0 : classes.popover, filterClassNames == null ? void 0 : filterClassNames.popover),
|
|
@@ -1783,6 +1776,24 @@ function FilterControl() {
|
|
|
1783
1776
|
)
|
|
1784
1777
|
] });
|
|
1785
1778
|
}
|
|
1779
|
+
function DefaultButton(_a) {
|
|
1780
|
+
var _b = _a, { isActive } = _b, props = __objRest(_b, ["isActive"]);
|
|
1781
|
+
const IconButton2 = useTheme((t2) => t2.components.IconButton);
|
|
1782
|
+
const FilterList2 = useTheme((t2) => t2.icons.FilterList);
|
|
1783
|
+
const ArrowDropDown2 = useTheme((t2) => t2.icons.ArrowDropDown);
|
|
1784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1785
|
+
IconButton2,
|
|
1786
|
+
__spreadProps(__spreadValues({}, props), {
|
|
1787
|
+
css: [
|
|
1788
|
+
{ color: "#b0bac9" },
|
|
1789
|
+
isActive && {
|
|
1790
|
+
color: "var(--primaryMain) !important"
|
|
1791
|
+
}
|
|
1792
|
+
],
|
|
1793
|
+
children: isActive ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FilterList2, {}) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ArrowDropDown2, {})
|
|
1794
|
+
})
|
|
1795
|
+
);
|
|
1796
|
+
}
|
|
1786
1797
|
|
|
1787
1798
|
// src/components/autoFocusTextField.tsx
|
|
1788
1799
|
var import_jsx_runtime12 = require("@emotion/react/jsx-runtime");
|
|
@@ -3043,6 +3054,7 @@ function SelectFilter(_a) {
|
|
|
3043
3054
|
css: {
|
|
3044
3055
|
padding: "calc(var(--spacing) * 2)",
|
|
3045
3056
|
display: "grid",
|
|
3057
|
+
gridTemplateColumns: "minmax(0, 1fr)",
|
|
3046
3058
|
gap: "var(--spacing)"
|
|
3047
3059
|
},
|
|
3048
3060
|
children: [
|
|
@@ -3076,7 +3088,11 @@ function SelectFilter(_a) {
|
|
|
3076
3088
|
items: ordered,
|
|
3077
3089
|
css: {
|
|
3078
3090
|
width: "20em",
|
|
3079
|
-
|
|
3091
|
+
maxWidth: "100%",
|
|
3092
|
+
maxHeight: "min(20em, 50vh)",
|
|
3093
|
+
overflow: "hidden auto",
|
|
3094
|
+
display: "grid",
|
|
3095
|
+
gridTemplateColumns: "minmax(0, 1fr)"
|
|
3080
3096
|
},
|
|
3081
3097
|
children: (option, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
3082
3098
|
FormControlLabel,
|
|
@@ -3101,7 +3117,7 @@ function SelectFilter(_a) {
|
|
|
3101
3117
|
}
|
|
3102
3118
|
|
|
3103
3119
|
// src/components/table.tsx
|
|
3104
|
-
var
|
|
3120
|
+
var import_react41 = require("react");
|
|
3105
3121
|
|
|
3106
3122
|
// src/internalState/tableStateStorage.ts
|
|
3107
3123
|
var import_react22 = require("react");
|
|
@@ -3310,8 +3326,8 @@ function useTableStateStorage(table) {
|
|
|
3310
3326
|
}
|
|
3311
3327
|
|
|
3312
3328
|
// src/internalState/useTableState.ts
|
|
3313
|
-
var
|
|
3314
|
-
var
|
|
3329
|
+
var import_immer6 = require("immer");
|
|
3330
|
+
var import_react30 = require("react");
|
|
3315
3331
|
|
|
3316
3332
|
// src/internalState/calcItems.ts
|
|
3317
3333
|
var import_immer4 = require("immer");
|
|
@@ -3447,104 +3463,149 @@ function defaultSerializer(x) {
|
|
|
3447
3463
|
return (_a = JSON.stringify(x)) != null ? _a : "";
|
|
3448
3464
|
}
|
|
3449
3465
|
|
|
3466
|
+
// src/misc/overrides.ts
|
|
3467
|
+
function overrides(first, ...overrides2) {
|
|
3468
|
+
return overrides2.reduce(
|
|
3469
|
+
(result, source) => {
|
|
3470
|
+
for (const [key, value] of Object.entries(source != null ? source : {})) {
|
|
3471
|
+
if (value !== void 0) {
|
|
3472
|
+
result[key] = value;
|
|
3473
|
+
}
|
|
3474
|
+
}
|
|
3475
|
+
return result;
|
|
3476
|
+
},
|
|
3477
|
+
__spreadValues({}, first)
|
|
3478
|
+
);
|
|
3479
|
+
}
|
|
3480
|
+
|
|
3450
3481
|
// src/internalState/calcProps.ts
|
|
3451
|
-
var
|
|
3482
|
+
var defaultProps = {
|
|
3483
|
+
id: () => "",
|
|
3484
|
+
columns: [],
|
|
3485
|
+
enableSelection: true,
|
|
3486
|
+
selectSyncChildren: true,
|
|
3487
|
+
stickyHeader: true,
|
|
3488
|
+
stickyFooter: true,
|
|
3489
|
+
enableColumnSelection: true,
|
|
3490
|
+
enableColumnResize: true,
|
|
3491
|
+
enableColumnReorder: true,
|
|
3492
|
+
displaySizeOverrides: {
|
|
3493
|
+
mobile: {
|
|
3494
|
+
enableSelection: false,
|
|
3495
|
+
enableColumnSelection: false,
|
|
3496
|
+
enableExport: false,
|
|
3497
|
+
enableColumnResize: false,
|
|
3498
|
+
enableColumnReorder: false
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3501
|
+
};
|
|
3452
3502
|
function calcProps(props) {
|
|
3453
3503
|
const cache = useTableMemo();
|
|
3454
|
-
return (0, import_react24.useMemo)(
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
}
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
|
|
3489
|
-
|
|
3504
|
+
return (0, import_react24.useMemo)(
|
|
3505
|
+
() => overrides(defaultProps, calc(props, cache)),
|
|
3506
|
+
[props]
|
|
3507
|
+
);
|
|
3508
|
+
}
|
|
3509
|
+
function calc(props, cache) {
|
|
3510
|
+
var _a;
|
|
3511
|
+
let id;
|
|
3512
|
+
if (props.id instanceof Function || Array.isArray(props.id)) {
|
|
3513
|
+
id = cache("id", props.id);
|
|
3514
|
+
} else if (props.id !== void 0) {
|
|
3515
|
+
id = cache("id", [(item) => item[props.id], props.id]);
|
|
3516
|
+
}
|
|
3517
|
+
let parentId;
|
|
3518
|
+
if (props.parentId instanceof Function || Array.isArray(props.parentId)) {
|
|
3519
|
+
parentId = cache("parentId", props.parentId);
|
|
3520
|
+
} else if (props.parentId !== void 0) {
|
|
3521
|
+
parentId = cache("parentId", [
|
|
3522
|
+
(item) => item[props.parentId],
|
|
3523
|
+
props.parentId
|
|
3524
|
+
]);
|
|
3525
|
+
}
|
|
3526
|
+
const columnProps = props.columnProps && cache("columnProps", props.columnProps);
|
|
3527
|
+
let inputColumns;
|
|
3528
|
+
if (props.columns instanceof Function) {
|
|
3529
|
+
inputColumns = props.columns((value, column) => __spreadProps(__spreadValues({}, column), { value }));
|
|
3530
|
+
} else if (props.columns !== void 0) {
|
|
3531
|
+
inputColumns = props.columns.map((column) => __spreadProps(__spreadValues({}, column), { dependecies: void 0 }));
|
|
3532
|
+
}
|
|
3533
|
+
const globalDefaults = props.defaultColumnProps;
|
|
3534
|
+
const mapColumn = ({
|
|
3535
|
+
id: _id,
|
|
3536
|
+
header,
|
|
3537
|
+
exportHeader,
|
|
3538
|
+
footer,
|
|
3539
|
+
value,
|
|
3540
|
+
renderCell,
|
|
3541
|
+
exportCell,
|
|
3542
|
+
sortBy,
|
|
3543
|
+
disableSort,
|
|
3544
|
+
hidden,
|
|
3545
|
+
classes,
|
|
3546
|
+
styles,
|
|
3547
|
+
filter,
|
|
3548
|
+
width,
|
|
3549
|
+
displaySize
|
|
3550
|
+
}, index) => {
|
|
3551
|
+
var _a2, _b, _c, _d, _e, _f;
|
|
3552
|
+
const id2 = _id != null ? _id : index;
|
|
3553
|
+
const cacheKey = typeof id2 === "string" ? `s${id2}` : `n${id2}`;
|
|
3554
|
+
const defaults2 = __spreadValues(__spreadValues({}, globalDefaults), columnProps == null ? void 0 : columnProps(id2));
|
|
3555
|
+
return {
|
|
3556
|
+
id: id2,
|
|
3557
|
+
header: (_a2 = header != null ? header : defaults2 == null ? void 0 : defaults2.header) != null ? _a2 : null,
|
|
3558
|
+
exportHeader: (_b = exportHeader != null ? exportHeader : defaults2 == null ? void 0 : defaults2.exportHeader) != null ? _b : id2,
|
|
3559
|
+
footer: (_c = footer != null ? footer : defaults2 == null ? void 0 : defaults2.footer) != null ? _c : null,
|
|
3560
|
+
value: cache(`columns.${cacheKey}.value`, value),
|
|
3561
|
+
renderCell: cache(
|
|
3562
|
+
`columns.${cacheKey}.renderCell`,
|
|
3563
|
+
(_d = renderCell != null ? renderCell : defaults2 == null ? void 0 : defaults2.renderCell) != null ? _d : asString
|
|
3564
|
+
),
|
|
3565
|
+
exportCell: (_e = exportCell != null ? exportCell : defaults2 == null ? void 0 : defaults2.exportCell) != null ? _e : defaultSerializer,
|
|
3566
|
+
sortBy: ((_f = sortBy != null ? sortBy : defaults2 == null ? void 0 : defaults2.sortBy) != null ? _f : [
|
|
3567
|
+
(v2) => typeof v2 === "number" || v2 instanceof Date ? v2 : v2 === null || v2 === void 0 ? "" : String(v2)
|
|
3568
|
+
]).map((function_, i) => cache(`columns.${cacheKey}.sortBy.${i}`, function_)),
|
|
3490
3569
|
disableSort,
|
|
3491
|
-
hidden,
|
|
3492
|
-
classes,
|
|
3493
|
-
styles,
|
|
3494
|
-
filter,
|
|
3495
|
-
width
|
|
3496
|
-
|
|
3497
|
-
var _a2, _b2, _c2, _d2, _e2, _f2;
|
|
3498
|
-
const id2 = _id != null ? _id : index;
|
|
3499
|
-
const cacheKey = typeof id2 === "string" ? `s${id2}` : `n${id2}`;
|
|
3500
|
-
const defaults2 = __spreadValues(__spreadValues({}, globalDefaults), columnProps == null ? void 0 : columnProps(id2));
|
|
3501
|
-
return {
|
|
3502
|
-
id: id2,
|
|
3503
|
-
header: (_a2 = header != null ? header : defaults2 == null ? void 0 : defaults2.header) != null ? _a2 : null,
|
|
3504
|
-
exportHeader: (_b2 = exportHeader != null ? exportHeader : defaults2 == null ? void 0 : defaults2.exportHeader) != null ? _b2 : id2,
|
|
3505
|
-
footer: (_c2 = footer != null ? footer : defaults2 == null ? void 0 : defaults2.footer) != null ? _c2 : null,
|
|
3506
|
-
value: cache(`columns.${cacheKey}.value`, value),
|
|
3507
|
-
renderCell: cache(
|
|
3508
|
-
`columns.${cacheKey}.renderCell`,
|
|
3509
|
-
(_d2 = renderCell != null ? renderCell : defaults2 == null ? void 0 : defaults2.renderCell) != null ? _d2 : asString
|
|
3510
|
-
),
|
|
3511
|
-
exportCell: (_e2 = exportCell != null ? exportCell : defaults2 == null ? void 0 : defaults2.exportCell) != null ? _e2 : defaultSerializer,
|
|
3512
|
-
sortBy: ((_f2 = sortBy != null ? sortBy : defaults2 == null ? void 0 : defaults2.sortBy) != null ? _f2 : [
|
|
3513
|
-
(v2) => typeof v2 === "number" || v2 instanceof Date ? v2 : v2 === null || v2 === void 0 ? "" : String(v2)
|
|
3514
|
-
]).map((function_, i) => cache(`columns.${cacheKey}.sortBy.${i}`, function_)),
|
|
3515
|
-
disableSort,
|
|
3516
|
-
hidden: hidden != null ? hidden : defaults2 == null ? void 0 : defaults2.hidden,
|
|
3517
|
-
classes: classes != null ? classes : defaults2 == null ? void 0 : defaults2.classes,
|
|
3518
|
-
styles: styles != null ? styles : defaults2 == null ? void 0 : defaults2.styles,
|
|
3519
|
-
filter: filter != null ? filter : defaults2 == null ? void 0 : defaults2.filter,
|
|
3520
|
-
width: width != null ? width : defaults2 == null ? void 0 : defaults2.width
|
|
3521
|
-
};
|
|
3570
|
+
hidden: hidden != null ? hidden : defaults2 == null ? void 0 : defaults2.hidden,
|
|
3571
|
+
classes: classes != null ? classes : defaults2 == null ? void 0 : defaults2.classes,
|
|
3572
|
+
styles: styles != null ? styles : defaults2 == null ? void 0 : defaults2.styles,
|
|
3573
|
+
filter: filter != null ? filter : defaults2 == null ? void 0 : defaults2.filter,
|
|
3574
|
+
width: width != null ? width : defaults2 == null ? void 0 : defaults2.width,
|
|
3575
|
+
displaySize: Array.isArray(displaySize) ? displaySize : displaySize ? [displaySize] : void 0
|
|
3522
3576
|
};
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
|
|
3539
|
-
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3577
|
+
};
|
|
3578
|
+
const columns = inputColumns == null ? void 0 : inputColumns.map(mapColumn);
|
|
3579
|
+
const wrapRow = props.wrapRow && cache("wrapRow", props.wrapRow);
|
|
3580
|
+
const wrapCell = props.wrapCell && cache("wrapCell", props.wrapCell);
|
|
3581
|
+
const rowAction = props.rowAction instanceof Function || Array.isArray(props.rowAction) ? cache("rowAction", props.rowAction) : props.rowAction;
|
|
3582
|
+
const rowDetails = props.rowDetails instanceof Function || Array.isArray(props.rowDetails) ? cache("rowDetails", props.rowDetails) : props.rowDetails;
|
|
3583
|
+
const displaySizeOverrides = props.displaySizeOverrides && Object.fromEntries(
|
|
3584
|
+
Object.entries((_a = props.displaySizeOverrides) != null ? _a : {}).map(([size, overrides2]) => [
|
|
3585
|
+
size,
|
|
3586
|
+
overrides2 && calc(overrides2, cache)
|
|
3587
|
+
])
|
|
3588
|
+
);
|
|
3589
|
+
return __spreadProps(__spreadValues({}, props), {
|
|
3590
|
+
id,
|
|
3591
|
+
parentId,
|
|
3592
|
+
columns,
|
|
3593
|
+
columnProps,
|
|
3594
|
+
wrapRow,
|
|
3595
|
+
wrapCell,
|
|
3596
|
+
rowAction,
|
|
3597
|
+
rowDetails,
|
|
3598
|
+
enableSelection: props.enableSelection,
|
|
3599
|
+
selectSyncChildren: props.selectSyncChildren,
|
|
3600
|
+
stickyHeader: props.stickyHeader,
|
|
3601
|
+
stickyFooter: props.stickyFooter,
|
|
3602
|
+
enableColumnSelection: props.enableColumnSelection,
|
|
3603
|
+
enableExport: props.enableExport,
|
|
3604
|
+
enableClearFiltersButton: props.enableClearFiltersButton,
|
|
3605
|
+
enableColumnResize: props.enableColumnResize,
|
|
3606
|
+
enableColumnReorder: props.enableColumnReorder,
|
|
3607
|
+
displaySizeOverrides
|
|
3608
|
+
});
|
|
3548
3609
|
}
|
|
3549
3610
|
|
|
3550
3611
|
// src/internalState/cleanupState.ts
|
|
@@ -3614,8 +3675,14 @@ var import_react26 = require("react");
|
|
|
3614
3675
|
function filterColumns(state) {
|
|
3615
3676
|
(0, import_react26.useEffect)(
|
|
3616
3677
|
() => state.addReaction(
|
|
3617
|
-
(state2) => [
|
|
3618
|
-
|
|
3678
|
+
(state2) => [
|
|
3679
|
+
state2.props.columns,
|
|
3680
|
+
state2.hiddenColumns,
|
|
3681
|
+
state2.columnOrder,
|
|
3682
|
+
state2.displaySize,
|
|
3683
|
+
state2.displaySizePx
|
|
3684
|
+
],
|
|
3685
|
+
([columns, hiddenColumns, columnOrder, displaySize], draft) => {
|
|
3619
3686
|
draft.activeColumns = orderBy(
|
|
3620
3687
|
columns.filter((column) => {
|
|
3621
3688
|
var _a;
|
|
@@ -3623,6 +3690,9 @@ function filterColumns(state) {
|
|
|
3623
3690
|
}),
|
|
3624
3691
|
[(column) => columnOrder.indexOf(column.id)]
|
|
3625
3692
|
);
|
|
3693
|
+
draft.visibleColumns = draft.activeColumns.filter(
|
|
3694
|
+
(column) => displaySize === void 0 || column.displaySize === void 0 || column.displaySize.includes(displaySize)
|
|
3695
|
+
);
|
|
3626
3696
|
},
|
|
3627
3697
|
{ runNow: true }
|
|
3628
3698
|
),
|
|
@@ -3704,9 +3774,56 @@ function syncSelections(table) {
|
|
|
3704
3774
|
);
|
|
3705
3775
|
}
|
|
3706
3776
|
|
|
3777
|
+
// src/internalState/watchDisplaySize.ts
|
|
3778
|
+
var import_immer5 = require("immer");
|
|
3779
|
+
var import_react29 = require("react");
|
|
3780
|
+
var DEFAULT_DISPLAY_SIZES = {
|
|
3781
|
+
mobile: 400,
|
|
3782
|
+
desktop: Infinity
|
|
3783
|
+
};
|
|
3784
|
+
function watchDisplaySize(state) {
|
|
3785
|
+
(0, import_react29.useEffect)(
|
|
3786
|
+
() => state.addReaction(
|
|
3787
|
+
(state2) => ({
|
|
3788
|
+
displaySizePx: state2.displaySizePx,
|
|
3789
|
+
displaySize: state2.props.displaySize
|
|
3790
|
+
}),
|
|
3791
|
+
({ displaySizePx, displaySize = DEFAULT_DISPLAY_SIZES }, draft) => {
|
|
3792
|
+
if (displaySizePx === void 0) {
|
|
3793
|
+
return;
|
|
3794
|
+
}
|
|
3795
|
+
if (typeof displaySize === "object") {
|
|
3796
|
+
const entry = Object.entries(displaySize).find(
|
|
3797
|
+
([, maxWidth]) => maxWidth >= displaySizePx
|
|
3798
|
+
);
|
|
3799
|
+
draft.displaySize = entry == null ? void 0 : entry[0];
|
|
3800
|
+
} else {
|
|
3801
|
+
draft.displaySize = displaySize;
|
|
3802
|
+
}
|
|
3803
|
+
}
|
|
3804
|
+
),
|
|
3805
|
+
[state]
|
|
3806
|
+
);
|
|
3807
|
+
(0, import_react29.useEffect)(
|
|
3808
|
+
() => state.addReaction(
|
|
3809
|
+
(state2) => ({
|
|
3810
|
+
props: state2.normalizedProps,
|
|
3811
|
+
displaySize: state2.displaySize
|
|
3812
|
+
}),
|
|
3813
|
+
({ props, displaySize }, draft) => {
|
|
3814
|
+
var _a;
|
|
3815
|
+
draft.props = (0, import_immer5.castDraft)(
|
|
3816
|
+
overrides(props, displaySize ? (_a = props.displaySizeOverrides) == null ? void 0 : _a[displaySize] : void 0)
|
|
3817
|
+
);
|
|
3818
|
+
}
|
|
3819
|
+
),
|
|
3820
|
+
[state]
|
|
3821
|
+
);
|
|
3822
|
+
}
|
|
3823
|
+
|
|
3707
3824
|
// src/internalState/useTableState.ts
|
|
3708
3825
|
function useTableState(_props) {
|
|
3709
|
-
const [key, setKey] = (0,
|
|
3826
|
+
const [key, setKey] = (0, import_react30.useState)({});
|
|
3710
3827
|
const props = calcProps(_props);
|
|
3711
3828
|
function reset() {
|
|
3712
3829
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
@@ -3725,10 +3842,11 @@ function useTableState(_props) {
|
|
|
3725
3842
|
}
|
|
3726
3843
|
(_i = props.onReset) == null ? void 0 : _i.call(props, "table");
|
|
3727
3844
|
}
|
|
3728
|
-
const state = (0,
|
|
3845
|
+
const state = (0, import_react30.useMemo)(
|
|
3729
3846
|
() => {
|
|
3730
3847
|
var _a, _b, _c, _d;
|
|
3731
3848
|
return new Store2({
|
|
3849
|
+
normalizedProps: props,
|
|
3732
3850
|
props,
|
|
3733
3851
|
key,
|
|
3734
3852
|
sort: (_a = props.defaultSort) != null ? _a : [],
|
|
@@ -3742,11 +3860,14 @@ function useTableState(_props) {
|
|
|
3742
3860
|
columnOrder: props.columns.map((column) => column.id),
|
|
3743
3861
|
columnStyleOverride: /* @__PURE__ */ new Map(),
|
|
3744
3862
|
activeColumns: [],
|
|
3863
|
+
visibleColumns: [],
|
|
3745
3864
|
items: [],
|
|
3746
3865
|
itemsById: /* @__PURE__ */ new Map(),
|
|
3747
3866
|
activeItems: [],
|
|
3748
3867
|
activeItemsById: /* @__PURE__ */ new Map(),
|
|
3749
|
-
lastSelectedId: void 0
|
|
3868
|
+
lastSelectedId: void 0,
|
|
3869
|
+
displaySizePx: void 0,
|
|
3870
|
+
displaySize: void 0
|
|
3750
3871
|
});
|
|
3751
3872
|
},
|
|
3752
3873
|
[key]
|
|
@@ -3756,9 +3877,10 @@ function useTableState(_props) {
|
|
|
3756
3877
|
normalizeExpanded(state);
|
|
3757
3878
|
syncSelections(state);
|
|
3758
3879
|
cleanupState(state);
|
|
3759
|
-
(
|
|
3880
|
+
watchDisplaySize(state);
|
|
3881
|
+
(0, import_react30.useEffect)(() => {
|
|
3760
3882
|
state.update((state2) => {
|
|
3761
|
-
state2.
|
|
3883
|
+
state2.normalizedProps = (0, import_immer6.castDraft)(props);
|
|
3762
3884
|
if (props.sort) state2.sort = props.sort;
|
|
3763
3885
|
if (props.selection) state2.selection = props.selection;
|
|
3764
3886
|
if (props.expanded) state2.expanded = props.expanded;
|
|
@@ -3849,8 +3971,8 @@ function ColumnFooter() {
|
|
|
3849
3971
|
}
|
|
3850
3972
|
|
|
3851
3973
|
// src/components/columnHeader.tsx
|
|
3852
|
-
var
|
|
3853
|
-
var
|
|
3974
|
+
var import_immer7 = require("immer");
|
|
3975
|
+
var import_react32 = require("react");
|
|
3854
3976
|
|
|
3855
3977
|
// src/components/resizeHandle.tsx
|
|
3856
3978
|
var import_jsx_runtime24 = require("@emotion/react/jsx-runtime");
|
|
@@ -3887,6 +4009,9 @@ function ResizeHandle() {
|
|
|
3887
4009
|
}
|
|
3888
4010
|
});
|
|
3889
4011
|
}
|
|
4012
|
+
if (!enabled) {
|
|
4013
|
+
return null;
|
|
4014
|
+
}
|
|
3890
4015
|
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
3891
4016
|
ResizeHandleView,
|
|
3892
4017
|
{
|
|
@@ -3920,7 +4045,7 @@ function ResizeHandleView(_a) {
|
|
|
3920
4045
|
{
|
|
3921
4046
|
alignSelf: "stretch",
|
|
3922
4047
|
padding: "0 5px",
|
|
3923
|
-
cursor: enabled ? "col-resize" : "initial",
|
|
4048
|
+
cursor: enabled === true ? "col-resize" : "initial",
|
|
3924
4049
|
display: "flex",
|
|
3925
4050
|
alignItems: "center",
|
|
3926
4051
|
"&:after": {
|
|
@@ -3929,6 +4054,9 @@ function ResizeHandleView(_a) {
|
|
|
3929
4054
|
height: "1.5em",
|
|
3930
4055
|
background: "#c9cfda",
|
|
3931
4056
|
transition: "transform 300ms"
|
|
4057
|
+
},
|
|
4058
|
+
"@media (pointer: coarse)": {
|
|
4059
|
+
pointerEvents: "none"
|
|
3932
4060
|
}
|
|
3933
4061
|
},
|
|
3934
4062
|
styles
|
|
@@ -4018,7 +4146,7 @@ var ColumnHeaderContext = new StoreScope({
|
|
|
4018
4146
|
items: /* @__PURE__ */ new Map()
|
|
4019
4147
|
});
|
|
4020
4148
|
function ColumnHeader() {
|
|
4021
|
-
const ref = (0,
|
|
4149
|
+
const ref = (0, import_react32.useRef)(null);
|
|
4022
4150
|
const columnId = useColumnContext();
|
|
4023
4151
|
const table = useTableContext();
|
|
4024
4152
|
const enabled = table.useState((state) => state.props.enableColumnReorder);
|
|
@@ -4044,13 +4172,13 @@ function ColumnHeader() {
|
|
|
4044
4172
|
};
|
|
4045
4173
|
});
|
|
4046
4174
|
const store = ColumnHeaderContext.useStore();
|
|
4047
|
-
const draggingStart = (0,
|
|
4048
|
-
const clone = (0,
|
|
4049
|
-
(0,
|
|
4175
|
+
const draggingStart = (0, import_react32.useRef)();
|
|
4176
|
+
const clone = (0, import_react32.useRef)();
|
|
4177
|
+
(0, import_react32.useEffect)(() => {
|
|
4050
4178
|
const div = ref.current;
|
|
4051
4179
|
if (!div) return;
|
|
4052
4180
|
store.update((state) => {
|
|
4053
|
-
state.items.set(columnId, (0,
|
|
4181
|
+
state.items.set(columnId, (0, import_immer7.castDraft)(div));
|
|
4054
4182
|
});
|
|
4055
4183
|
return () => {
|
|
4056
4184
|
store.update((state) => {
|
|
@@ -4186,7 +4314,7 @@ function ColumnHeader() {
|
|
|
4186
4314
|
}
|
|
4187
4315
|
|
|
4188
4316
|
// src/components/columnSelection.tsx
|
|
4189
|
-
var
|
|
4317
|
+
var import_react34 = require("react");
|
|
4190
4318
|
var import_jsx_runtime27 = require("@emotion/react/jsx-runtime");
|
|
4191
4319
|
function ColumnSelection() {
|
|
4192
4320
|
const IconButton2 = useTheme((t2) => t2.components.IconButton);
|
|
@@ -4201,10 +4329,10 @@ function ColumnSelection() {
|
|
|
4201
4329
|
const classes = useTheme((t2) => t2.classes);
|
|
4202
4330
|
const cssVariables = useCssVariables();
|
|
4203
4331
|
const table = useTableContext();
|
|
4204
|
-
const reset = (0,
|
|
4332
|
+
const reset = (0, import_react34.useContext)(TableResetContext);
|
|
4205
4333
|
const columns = table.useState((state) => state.props.columns);
|
|
4206
4334
|
const hiddenColumns = table.useState((state) => state.hiddenColumns);
|
|
4207
|
-
const [anchorElement, setAnchorElement] = (0,
|
|
4335
|
+
const [anchorElement, setAnchorElement] = (0, import_react34.useState)(null);
|
|
4208
4336
|
const toggle2 = (column, state) => {
|
|
4209
4337
|
const {
|
|
4210
4338
|
props: { hiddenColumns: controlledHiddenColumns, onHiddenColumnsChange }
|
|
@@ -4267,10 +4395,10 @@ function ColumnSelection() {
|
|
|
4267
4395
|
}
|
|
4268
4396
|
|
|
4269
4397
|
// src/components/export.tsx
|
|
4270
|
-
var
|
|
4398
|
+
var import_react35 = require("react");
|
|
4271
4399
|
var import_jsx_runtime28 = require("@emotion/react/jsx-runtime");
|
|
4272
4400
|
function Export2() {
|
|
4273
|
-
const { exporters: contextExporters } = (0,
|
|
4401
|
+
const { exporters: contextExporters } = (0, import_react35.useContext)(TableSettingsContext);
|
|
4274
4402
|
const table = useTableContext();
|
|
4275
4403
|
const Button2 = useTheme((t2) => t2.components.Button);
|
|
4276
4404
|
const IconButton2 = useTheme((t2) => t2.components.IconButton);
|
|
@@ -4283,7 +4411,7 @@ function Export2() {
|
|
|
4283
4411
|
const classes = useTheme((t2) => t2.classes);
|
|
4284
4412
|
const cssVariables = useCssVariables();
|
|
4285
4413
|
const { all, exporters } = table.useState((state) => {
|
|
4286
|
-
if (typeof state.props.enableExport === "boolean") {
|
|
4414
|
+
if (typeof state.props.enableExport === "boolean" || state.props.enableExport === void 0) {
|
|
4287
4415
|
return {
|
|
4288
4416
|
all: false,
|
|
4289
4417
|
exporters: contextExporters
|
|
@@ -4291,7 +4419,7 @@ function Export2() {
|
|
|
4291
4419
|
}
|
|
4292
4420
|
return state.props.enableExport;
|
|
4293
4421
|
});
|
|
4294
|
-
const [anchor, setAnchor] = (0,
|
|
4422
|
+
const [anchor, setAnchor] = (0, import_react35.useState)(null);
|
|
4295
4423
|
function execute({ action, exporter }) {
|
|
4296
4424
|
const { activeColumns, activeItems, items } = table.getState();
|
|
4297
4425
|
const columns = activeColumns.map((column) => column.exportHeader);
|
|
@@ -4361,8 +4489,8 @@ function Export2() {
|
|
|
4361
4489
|
}
|
|
4362
4490
|
|
|
4363
4491
|
// src/components/row.tsx
|
|
4364
|
-
var
|
|
4365
|
-
var
|
|
4492
|
+
var import_react38 = require("@emotion/react");
|
|
4493
|
+
var import_react39 = require("react");
|
|
4366
4494
|
|
|
4367
4495
|
// src/misc/calcClassNames.ts
|
|
4368
4496
|
function calcClassNames(classes, item, index) {
|
|
@@ -4381,7 +4509,7 @@ function calcCss(styles, item, index) {
|
|
|
4381
4509
|
}
|
|
4382
4510
|
|
|
4383
4511
|
// src/components/cell.tsx
|
|
4384
|
-
var
|
|
4512
|
+
var import_react36 = require("react");
|
|
4385
4513
|
var import_jsx_runtime29 = require("@emotion/react/jsx-runtime");
|
|
4386
4514
|
var defaultWrapCell = (content) => {
|
|
4387
4515
|
if (typeof content === "string") {
|
|
@@ -4389,7 +4517,7 @@ var defaultWrapCell = (content) => {
|
|
|
4389
4517
|
}
|
|
4390
4518
|
return content;
|
|
4391
4519
|
};
|
|
4392
|
-
var Cell = (0,
|
|
4520
|
+
var Cell = (0, import_react36.memo)(function Cell2({ itemId, rowIndex }) {
|
|
4393
4521
|
var _a;
|
|
4394
4522
|
const table = useTableContext();
|
|
4395
4523
|
const columnId = useColumnContext();
|
|
@@ -4405,7 +4533,7 @@ var Cell = (0, import_react35.memo)(function Cell2({ itemId, rowIndex }) {
|
|
|
4405
4533
|
const columnStyleOverride = table.useState((state) => state.columnStyleOverride.get(columnId), {
|
|
4406
4534
|
throttle: 16
|
|
4407
4535
|
});
|
|
4408
|
-
(0,
|
|
4536
|
+
(0, import_react36.useLayoutEffect)(() => {
|
|
4409
4537
|
var _a2, _b;
|
|
4410
4538
|
return (_b = (_a2 = table.getState().props).debugRender) == null ? void 0 : _b.call(_a2, "render cell", itemId, columnId);
|
|
4411
4539
|
});
|
|
@@ -4417,9 +4545,9 @@ var Cell = (0, import_react35.memo)(function Cell2({ itemId, rowIndex }) {
|
|
|
4417
4545
|
});
|
|
4418
4546
|
|
|
4419
4547
|
// src/components/details.tsx
|
|
4420
|
-
var
|
|
4548
|
+
var import_react37 = require("react");
|
|
4421
4549
|
var import_jsx_runtime30 = require("@emotion/react/jsx-runtime");
|
|
4422
|
-
var Details = (0,
|
|
4550
|
+
var Details = (0, import_react37.forwardRef)(function Details2({ itemId, rowIndex }, ref) {
|
|
4423
4551
|
const table = useTableContext();
|
|
4424
4552
|
const classes = useTheme((t2) => t2.classes);
|
|
4425
4553
|
const styles = useTheme((t2) => t2.styles);
|
|
@@ -4562,14 +4690,14 @@ function SelectComponent({ itemId }) {
|
|
|
4562
4690
|
|
|
4563
4691
|
// src/components/row.tsx
|
|
4564
4692
|
var import_jsx_runtime33 = require("@emotion/react/jsx-runtime");
|
|
4565
|
-
var Row = (0,
|
|
4693
|
+
var Row = (0, import_react39.memo)(function Row2({
|
|
4566
4694
|
itemId,
|
|
4567
4695
|
rowIndex
|
|
4568
4696
|
}) {
|
|
4569
4697
|
var _a;
|
|
4570
4698
|
const table = useTableContext();
|
|
4571
|
-
const divRef = (0,
|
|
4572
|
-
const detailsDivRef = (0,
|
|
4699
|
+
const divRef = (0, import_react39.useRef)(null);
|
|
4700
|
+
const detailsDivRef = (0, import_react39.useRef)(null);
|
|
4573
4701
|
const classes = useTheme((t2) => t2.classes);
|
|
4574
4702
|
const styles = useTheme((t2) => t2.styles);
|
|
4575
4703
|
const item = table.useState((state) => state.activeItemsById.get(itemId));
|
|
@@ -4596,13 +4724,13 @@ var Row = (0, import_react38.memo)(function Row2({
|
|
|
4596
4724
|
indent: item2 ? getAncestors(state.activeItemsById, item2).size : 0,
|
|
4597
4725
|
hasChildren: !!(item2 == null ? void 0 : item2.children.length),
|
|
4598
4726
|
hasDeferredChildren: item2 && ((_b = (_a2 = state.props).hasDeferredChildren) == null ? void 0 : _b.call(_a2, item2.value)),
|
|
4599
|
-
columnIds: state.
|
|
4727
|
+
columnIds: state.visibleColumns.map((column) => column.id),
|
|
4600
4728
|
enableSelection: state.props.enableSelection,
|
|
4601
4729
|
rowAction: state.props.rowAction instanceof Function ? item2 ? state.props.rowAction(item2.value, rowIndex) : null : state.props.rowAction,
|
|
4602
4730
|
hasDetails: state.props.rowDetails instanceof Function ? item2 ? !!state.props.rowDetails(item2.value, rowIndex) : null : !!state.props.rowDetails
|
|
4603
4731
|
};
|
|
4604
4732
|
});
|
|
4605
|
-
(0,
|
|
4733
|
+
(0, import_react39.useLayoutEffect)(() => {
|
|
4606
4734
|
function update() {
|
|
4607
4735
|
table.update((state) => {
|
|
4608
4736
|
if (!divRef.current) {
|
|
@@ -4623,14 +4751,14 @@ var Row = (0, import_react38.memo)(function Row2({
|
|
|
4623
4751
|
handles.forEach((h2) => h2());
|
|
4624
4752
|
};
|
|
4625
4753
|
}, [table, itemId, divRef.current, detailsDivRef.current]);
|
|
4626
|
-
(0,
|
|
4754
|
+
(0, import_react39.useLayoutEffect)(() => {
|
|
4627
4755
|
var _a2, _b;
|
|
4628
4756
|
return (_b = (_a2 = table.getState().props).debugRender) == null ? void 0 : _b.call(_a2, "render row", itemId);
|
|
4629
4757
|
});
|
|
4630
4758
|
if (!item) {
|
|
4631
4759
|
return null;
|
|
4632
4760
|
}
|
|
4633
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
4761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react38.ClassNames, { children: ({ css: css4 }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, { children: wrapRow(
|
|
4634
4762
|
{
|
|
4635
4763
|
className: css4([
|
|
4636
4764
|
subgrid ? {
|
|
@@ -4676,7 +4804,7 @@ var Row = (0, import_react38.memo)(function Row2({
|
|
|
4676
4804
|
});
|
|
4677
4805
|
|
|
4678
4806
|
// src/components/virtualized.tsx
|
|
4679
|
-
var
|
|
4807
|
+
var import_react40 = require("react");
|
|
4680
4808
|
var import_jsx_runtime34 = require("@emotion/react/jsx-runtime");
|
|
4681
4809
|
var findScrollRoot = (x) => {
|
|
4682
4810
|
const parent = x.parentElement;
|
|
@@ -4703,8 +4831,8 @@ function Virtualized(_a) {
|
|
|
4703
4831
|
var _a2, _b2;
|
|
4704
4832
|
const table = useTableContext();
|
|
4705
4833
|
const virtual = table.useState((state) => state.props.virtual);
|
|
4706
|
-
const probeRef = (0,
|
|
4707
|
-
const [, setId] = (0,
|
|
4834
|
+
const probeRef = (0, import_react40.useRef)(null);
|
|
4835
|
+
const [, setId] = (0, import_react40.useState)({});
|
|
4708
4836
|
const {
|
|
4709
4837
|
itemIds = [],
|
|
4710
4838
|
from = 0,
|
|
@@ -4716,8 +4844,9 @@ function Virtualized(_a) {
|
|
|
4716
4844
|
var _a3;
|
|
4717
4845
|
const itemIds2 = state.activeItems.map((item) => item.id);
|
|
4718
4846
|
const root = probeRef.current && findScrollRoot(probeRef.current);
|
|
4847
|
+
if (!probeRef.current || !root || !document.contains(root) || state.displaySizePx === void 0)
|
|
4848
|
+
return {};
|
|
4719
4849
|
if (!state.props.virtual) return { itemIds: itemIds2 };
|
|
4720
|
-
if (!probeRef.current || !root || !document.contains(root)) return {};
|
|
4721
4850
|
const {
|
|
4722
4851
|
rowHeight,
|
|
4723
4852
|
initalRowHeight,
|
|
@@ -4755,8 +4884,25 @@ function Virtualized(_a) {
|
|
|
4755
4884
|
{ throttle: 16 }
|
|
4756
4885
|
);
|
|
4757
4886
|
const throttleScroll = (_b2 = (_a2 = typeof virtual === "boolean" ? void 0 : virtual) == null ? void 0 : _a2.throttleScroll) != null ? _b2 : 16;
|
|
4758
|
-
const update = (0,
|
|
4759
|
-
(0,
|
|
4887
|
+
const update = (0, import_react40.useMemo)(() => throttle2(() => setId({}), throttleScroll), [throttleScroll]);
|
|
4888
|
+
(0, import_react40.useEffect)(() => {
|
|
4889
|
+
var _a3;
|
|
4890
|
+
const tableElem = (_a3 = probeRef.current) == null ? void 0 : _a3.parentElement;
|
|
4891
|
+
if (!tableElem) return;
|
|
4892
|
+
const update2 = () => {
|
|
4893
|
+
table.update((state) => {
|
|
4894
|
+
state.displaySizePx = tableElem.clientWidth;
|
|
4895
|
+
});
|
|
4896
|
+
};
|
|
4897
|
+
const ro = new ResizeObserver(update2);
|
|
4898
|
+
ro.observe(tableElem);
|
|
4899
|
+
window.addEventListener("resize", update2, true);
|
|
4900
|
+
return () => {
|
|
4901
|
+
ro.disconnect();
|
|
4902
|
+
window.removeEventListener("resize", update2, true);
|
|
4903
|
+
};
|
|
4904
|
+
}, [table, probeRef.current]);
|
|
4905
|
+
(0, import_react40.useEffect)(() => {
|
|
4760
4906
|
if (!virtual || !probeRef.current) return;
|
|
4761
4907
|
window.addEventListener("scroll", update, true);
|
|
4762
4908
|
window.addEventListener("resize", update, true);
|
|
@@ -4765,8 +4911,8 @@ function Virtualized(_a) {
|
|
|
4765
4911
|
window.removeEventListener("resize", update, true);
|
|
4766
4912
|
};
|
|
4767
4913
|
}, [update, virtual]);
|
|
4768
|
-
(0,
|
|
4769
|
-
(0,
|
|
4914
|
+
(0, import_react40.useEffect)(() => update.cancel, [update]);
|
|
4915
|
+
(0, import_react40.useLayoutEffect)(
|
|
4770
4916
|
() => {
|
|
4771
4917
|
var _a3, _b3;
|
|
4772
4918
|
return (_b3 = (_a3 = table.getState().props).debugRender) == null ? void 0 : _b3.call(_a3, `Virtualalized render ${from} to ${to}`);
|
|
@@ -4792,7 +4938,7 @@ function Table(props) {
|
|
|
4792
4938
|
resetState();
|
|
4793
4939
|
});
|
|
4794
4940
|
}
|
|
4795
|
-
(0,
|
|
4941
|
+
(0, import_react41.useLayoutEffect)(() => {
|
|
4796
4942
|
var _a, _b;
|
|
4797
4943
|
return (_b = (_a = table.getState().props).debugRender) == null ? void 0 : _b.call(_a, "render table");
|
|
4798
4944
|
});
|
|
@@ -4800,8 +4946,8 @@ function Table(props) {
|
|
|
4800
4946
|
}
|
|
4801
4947
|
function TableLoadingState({ isHydrated }) {
|
|
4802
4948
|
const loadingText = useTheme((t2) => t2.text.loading);
|
|
4803
|
-
const [showLoading, setShowLoading] = (0,
|
|
4804
|
-
(0,
|
|
4949
|
+
const [showLoading, setShowLoading] = (0, import_react41.useState)(false);
|
|
4950
|
+
(0, import_react41.useEffect)(() => {
|
|
4805
4951
|
const handle = setTimeout(() => setShowLoading(true), 500);
|
|
4806
4952
|
return () => clearTimeout(handle);
|
|
4807
4953
|
});
|
|
@@ -4810,15 +4956,16 @@ function TableLoadingState({ isHydrated }) {
|
|
|
4810
4956
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(TableInner, { hidden: !isHydrated })
|
|
4811
4957
|
] });
|
|
4812
4958
|
}
|
|
4813
|
-
var TableInner = (0,
|
|
4959
|
+
var TableInner = (0, import_react41.memo)(function TableInner2({ hidden }) {
|
|
4814
4960
|
const table = useTableContext();
|
|
4815
4961
|
const fullWidth = table.useState((state) => state.props.fullWidth);
|
|
4816
|
-
const
|
|
4817
|
-
(state) => state.
|
|
4962
|
+
const visibleColumns = table.useState(
|
|
4963
|
+
(state) => state.visibleColumns.map((column) => ({
|
|
4818
4964
|
id: column.id,
|
|
4819
4965
|
width: column.width,
|
|
4820
4966
|
classes: column.classes,
|
|
4821
|
-
styles: column.styles
|
|
4967
|
+
styles: column.styles,
|
|
4968
|
+
footer: column.footer
|
|
4822
4969
|
}))
|
|
4823
4970
|
);
|
|
4824
4971
|
const hasActiveFilters = table.useState((state) => {
|
|
@@ -4835,11 +4982,15 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4835
4982
|
const stickyHeader = table.useState((state) => state.props.stickyHeader);
|
|
4836
4983
|
const stickyFooter = table.useState((state) => state.props.stickyFooter);
|
|
4837
4984
|
const enableSelection = table.useState((state) => state.props.enableSelection);
|
|
4838
|
-
const enableColumnSelection = table.useState(
|
|
4839
|
-
|
|
4985
|
+
const enableColumnSelection = table.useState(
|
|
4986
|
+
(state) => Array.isArray(state.props.enableColumnSelection) ? !state.displaySize || state.props.enableColumnSelection.includes(state.displaySize) : state.props.enableColumnSelection
|
|
4987
|
+
);
|
|
4988
|
+
const enableExport = table.useState(
|
|
4989
|
+
(state) => typeof state.props.enableExport === "object" && !("exporters" in state.props.enableExport) ? !state.displaySize || !!state.props.enableExport[state.displaySize] : !!state.props.enableExport
|
|
4990
|
+
);
|
|
4840
4991
|
const cssVariables = useCssVariables();
|
|
4841
4992
|
const enableClearFiltersButton = table.useState((state) => state.props.enableClearFiltersButton);
|
|
4842
|
-
(0,
|
|
4993
|
+
(0, import_react41.useLayoutEffect)(() => {
|
|
4843
4994
|
var _a, _b;
|
|
4844
4995
|
return (_b = (_a = table.getState().props).debugRender) == null ? void 0 : _b.call(_a, "render table inner");
|
|
4845
4996
|
});
|
|
@@ -4853,7 +5004,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4853
5004
|
//
|
|
4854
5005
|
fullWidth === "right" || fullWidth === true ? "auto" : "0",
|
|
4855
5006
|
"max-content",
|
|
4856
|
-
...
|
|
5007
|
+
...visibleColumns.map(
|
|
4857
5008
|
(column) => {
|
|
4858
5009
|
var _a, _b;
|
|
4859
5010
|
return (_b = (_a = columnWidths.get(column.id)) != null ? _a : column.width) != null ? _b : "max-content";
|
|
@@ -4868,6 +5019,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4868
5019
|
{
|
|
4869
5020
|
className: classes == null ? void 0 : classes.headerCell,
|
|
4870
5021
|
css: [
|
|
5022
|
+
{ gridColumn: 1 },
|
|
4871
5023
|
defaultClasses.headerFill,
|
|
4872
5024
|
stickyHeader && defaultClasses.sticky,
|
|
4873
5025
|
stickyHeader instanceof Object && stickyHeader,
|
|
@@ -4880,6 +5032,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4880
5032
|
{
|
|
4881
5033
|
className: classes == null ? void 0 : classes.headerCell,
|
|
4882
5034
|
css: [
|
|
5035
|
+
{ gridColumn: 2 },
|
|
4883
5036
|
defaultClasses.headerCell,
|
|
4884
5037
|
stickyHeader && defaultClasses.sticky,
|
|
4885
5038
|
stickyHeader instanceof Object && stickyHeader,
|
|
@@ -4896,7 +5049,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4896
5049
|
]
|
|
4897
5050
|
}
|
|
4898
5051
|
),
|
|
4899
|
-
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnHeaderContext.Provider, { children:
|
|
5052
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnHeaderContext.Provider, { children: visibleColumns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnContext.Provider, { value: column.id, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnHeader, {}) }, column.id)) }),
|
|
4900
5053
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
4901
5054
|
"div",
|
|
4902
5055
|
{
|
|
@@ -4918,6 +5071,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4918
5071
|
{
|
|
4919
5072
|
className: classes == null ? void 0 : classes.footerCell,
|
|
4920
5073
|
css: [
|
|
5074
|
+
{ gridColumn: 1 },
|
|
4921
5075
|
defaultClasses.footerFill,
|
|
4922
5076
|
stickyFooter && defaultClasses.stickyBottom,
|
|
4923
5077
|
stickyFooter instanceof Object && stickyFooter,
|
|
@@ -4937,7 +5091,7 @@ var TableInner = (0, import_react40.memo)(function TableInner2({ hidden }) {
|
|
|
4937
5091
|
]
|
|
4938
5092
|
}
|
|
4939
5093
|
),
|
|
4940
|
-
|
|
5094
|
+
visibleColumns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnContext.Provider, { value: column.id, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ColumnFooter, {}) }, column.id)),
|
|
4941
5095
|
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
4942
5096
|
"div",
|
|
4943
5097
|
{
|