@mui/x-data-grid 8.5.1 → 8.5.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/CHANGELOG.md +187 -10
- package/components/containers/GridRootStyles.d.ts +1 -1
- package/components/menu/columnMenu/GridColumnMenuContainer.js +8 -0
- package/components/toolbarV8/GridToolbar.js +1 -0
- package/components/toolbarV8/Toolbar.d.ts +1 -1
- package/esm/components/containers/GridRootStyles.d.ts +1 -1
- package/esm/components/menu/columnMenu/GridColumnMenuContainer.js +8 -0
- package/esm/components/toolbarV8/GridToolbar.js +1 -0
- package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
- package/esm/hooks/core/useGridApiInitialization.js +1 -1
- package/esm/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +13 -5
- package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/esm/hooks/features/columnResize/columnResizeSelector.d.ts +3 -1
- package/esm/hooks/features/columns/gridColumnsSelector.d.ts +41 -15
- package/esm/hooks/features/columns/gridColumnsUtils.js +3 -1
- package/esm/hooks/features/dataSource/gridDataSourceSelector.d.ts +4 -2
- package/esm/hooks/features/dataSource/useGridDataSourceBase.js +4 -0
- package/esm/hooks/features/dataSource/utils.js +1 -1
- package/esm/hooks/features/density/densitySelector.d.ts +3 -1
- package/esm/hooks/features/dimensions/gridDimensionsSelectors.d.ts +36 -12
- package/esm/hooks/features/editing/gridEditingSelectors.d.ts +8 -4
- package/esm/hooks/features/filter/gridFilterSelector.d.ts +51 -17
- package/esm/hooks/features/filter/gridFilterState.d.ts +2 -1
- package/esm/hooks/features/filter/gridFilterState.js +2 -1
- package/esm/hooks/features/filter/useGridFilter.js +1 -1
- package/esm/hooks/features/focus/gridFocusStateSelector.d.ts +24 -8
- package/esm/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +9 -3
- package/esm/hooks/features/pagination/gridPaginationSelector.d.ts +35 -19
- package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +9 -4
- package/esm/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +3 -1
- package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +9 -3
- package/esm/hooks/features/rowSelection/utils.d.ts +5 -3
- package/esm/hooks/features/rows/gridRowSpanningSelectors.d.ts +9 -3
- package/esm/hooks/features/rows/gridRowsSelector.d.ts +50 -29
- package/esm/hooks/features/sorting/gridSortingSelector.d.ts +15 -5
- package/esm/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +4 -2
- package/esm/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +15 -5
- package/esm/hooks/features/virtualization/gridVirtualizationSelectors.js +3 -1
- package/esm/hooks/utils/useGridSelector.d.ts +2 -4
- package/esm/hooks/utils/useGridSelector.js +2 -2
- package/esm/index.js +1 -1
- package/esm/internals/demo/TailwindDemoContainer.d.ts +1 -1
- package/esm/material/variables.js +1 -2
- package/esm/models/api/gridCoreApi.d.ts +1 -1
- package/esm/models/gridBaseSlots.d.ts +1 -0
- package/esm/models/gridCellClass.d.ts +2 -0
- package/esm/models/gridColumnGrouping.d.ts +2 -0
- package/esm/models/gridColumnGrouping.js +2 -0
- package/esm/models/gridColumnHeaderClass.d.ts +2 -0
- package/esm/models/gridRows.d.ts +2 -0
- package/esm/models/gridSortModel.d.ts +5 -0
- package/esm/models/params/gridRowParams.d.ts +1 -1
- package/esm/models/params/gridRowParams.js +1 -1
- package/esm/utils/createSelector.d.ts +3 -11
- package/esm/utils/createSelector.js +16 -86
- package/hooks/core/useGridApiInitialization.js +2 -2
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +13 -5
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnResize/columnResizeSelector.d.ts +3 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +41 -15
- package/hooks/features/columns/gridColumnsUtils.js +3 -1
- package/hooks/features/dataSource/gridDataSourceSelector.d.ts +4 -2
- package/hooks/features/dataSource/useGridDataSourceBase.js +4 -0
- package/hooks/features/dataSource/utils.js +1 -1
- package/hooks/features/density/densitySelector.d.ts +3 -1
- package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +36 -12
- package/hooks/features/editing/gridEditingSelectors.d.ts +8 -4
- package/hooks/features/filter/gridFilterSelector.d.ts +51 -17
- package/hooks/features/filter/gridFilterState.d.ts +2 -1
- package/hooks/features/filter/gridFilterState.js +2 -1
- package/hooks/features/filter/useGridFilter.js +2 -2
- package/hooks/features/focus/gridFocusStateSelector.d.ts +24 -8
- package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +9 -3
- package/hooks/features/pagination/gridPaginationSelector.d.ts +35 -19
- package/hooks/features/pivoting/gridPivotingSelectors.d.ts +9 -4
- package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +3 -1
- package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +9 -3
- package/hooks/features/rowSelection/utils.d.ts +5 -3
- package/hooks/features/rows/gridRowSpanningSelectors.d.ts +9 -3
- package/hooks/features/rows/gridRowsSelector.d.ts +50 -29
- package/hooks/features/sorting/gridSortingSelector.d.ts +15 -5
- package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +4 -2
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +15 -5
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +3 -1
- package/hooks/utils/useGridSelector.d.ts +2 -4
- package/hooks/utils/useGridSelector.js +4 -4
- package/index.js +1 -1
- package/internals/demo/TailwindDemoContainer.d.ts +1 -1
- package/material/variables.js +1 -2
- package/models/api/gridCoreApi.d.ts +1 -1
- package/models/gridBaseSlots.d.ts +1 -0
- package/models/gridCellClass.d.ts +2 -0
- package/models/gridColumnGrouping.d.ts +2 -0
- package/models/gridColumnGrouping.js +2 -0
- package/models/gridColumnHeaderClass.d.ts +2 -0
- package/models/gridRows.d.ts +2 -0
- package/models/gridSortModel.d.ts +5 -0
- package/models/params/gridRowParams.d.ts +1 -1
- package/models/params/gridRowParams.js +1 -1
- package/package.json +3 -4
- package/utils/createSelector.d.ts +3 -11
- package/utils/createSelector.js +18 -88
- package/esm/utils/Store.d.ts +0 -11
- package/esm/utils/Store.js +0 -24
- package/esm/utils/weakMapMemoize.d.ts +0 -20
- package/esm/utils/weakMapMemoize.js +0 -128
- package/utils/Store.d.ts +0 -11
- package/utils/Store.js +0 -31
- package/utils/weakMapMemoize.d.ts +0 -20
- package/utils/weakMapMemoize.js +0 -134
|
@@ -1,31 +1,59 @@
|
|
|
1
1
|
import { GridRowId } from "../../../models/gridRows.js";
|
|
2
2
|
import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
|
|
3
3
|
export declare const gridRowsStateSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, import("@mui/x-data-grid").GridRowsState>;
|
|
4
|
-
export declare const gridRowCountSelector:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export declare const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export declare const
|
|
4
|
+
export declare const gridRowCountSelector: (args_0: import("react").RefObject<{
|
|
5
|
+
state: GridStateCommunity;
|
|
6
|
+
} | null>) => number;
|
|
7
|
+
export declare const gridRowsLoadingSelector: (args_0: import("react").RefObject<{
|
|
8
|
+
state: GridStateCommunity;
|
|
9
|
+
} | null>) => boolean | undefined;
|
|
10
|
+
export declare const gridTopLevelRowCountSelector: (args_0: import("react").RefObject<{
|
|
11
|
+
state: GridStateCommunity;
|
|
12
|
+
} | null>) => number;
|
|
13
|
+
export declare const gridRowsLookupSelector: (args_0: import("react").RefObject<{
|
|
14
|
+
state: GridStateCommunity;
|
|
15
|
+
} | null>) => import("@mui/x-data-grid").GridRowIdToModelLookup<import("@mui/x-data-grid").GridValidRowModel>;
|
|
16
|
+
export declare const gridRowSelector: (args_0: import("react").RefObject<{
|
|
17
|
+
state: GridStateCommunity;
|
|
18
|
+
} | null>, id: GridRowId) => import("@mui/x-data-grid").GridValidRowModel;
|
|
19
|
+
export declare const gridRowTreeSelector: (args_0: import("react").RefObject<{
|
|
20
|
+
state: GridStateCommunity;
|
|
21
|
+
} | null>) => import("@mui/x-data-grid").GridRowTreeConfig;
|
|
22
|
+
export declare const gridRowNodeSelector: (args_0: import("react").RefObject<{
|
|
23
|
+
state: GridStateCommunity;
|
|
24
|
+
} | null>, rowId: GridRowId) => import("@mui/x-data-grid").GridTreeNode;
|
|
25
|
+
export declare const gridRowGroupsToFetchSelector: (args_0: import("react").RefObject<{
|
|
26
|
+
state: GridStateCommunity;
|
|
27
|
+
} | null>) => GridRowId[] | undefined;
|
|
28
|
+
export declare const gridRowGroupingNameSelector: (args_0: import("react").RefObject<{
|
|
29
|
+
state: GridStateCommunity;
|
|
30
|
+
} | null>) => string;
|
|
31
|
+
export declare const gridRowTreeDepthsSelector: (args_0: import("react").RefObject<{
|
|
32
|
+
state: GridStateCommunity;
|
|
33
|
+
} | null>) => import("./gridRowsInterfaces.js").GridTreeDepths;
|
|
34
|
+
export declare const gridRowMaximumTreeDepthSelector: (args_0: import("react").RefObject<{
|
|
35
|
+
state: GridStateCommunity;
|
|
36
|
+
} | null>) => number;
|
|
37
|
+
export declare const gridDataRowIdsSelector: (args_0: import("react").RefObject<{
|
|
38
|
+
state: GridStateCommunity;
|
|
39
|
+
} | null>) => GridRowId[];
|
|
40
|
+
export declare const gridDataRowsSelector: (args_0: import("react").RefObject<{
|
|
41
|
+
state: GridStateCommunity;
|
|
42
|
+
} | null>) => import("@mui/x-data-grid").GridValidRowModel[];
|
|
17
43
|
/**
|
|
18
44
|
* @ignore - do not document.
|
|
19
45
|
*/
|
|
20
|
-
export declare const gridAdditionalRowGroupsSelector:
|
|
46
|
+
export declare const gridAdditionalRowGroupsSelector: (args_0: import("react").RefObject<{
|
|
47
|
+
state: GridStateCommunity;
|
|
48
|
+
} | null>) => {
|
|
21
49
|
pinnedRows?: import("./gridRowsInterfaces.js").GridPinnedRowsState;
|
|
22
|
-
} | undefined
|
|
50
|
+
} | undefined;
|
|
23
51
|
/**
|
|
24
52
|
* @ignore - do not document.
|
|
25
53
|
*/
|
|
26
|
-
export declare const gridPinnedRowsSelector: import("
|
|
27
|
-
|
|
28
|
-
} |
|
|
54
|
+
export declare const gridPinnedRowsSelector: (args_0: import("react").RefObject<{
|
|
55
|
+
state: GridStateCommunity;
|
|
56
|
+
} | null>) => {
|
|
29
57
|
bottom: {
|
|
30
58
|
id: GridRowId;
|
|
31
59
|
model: import("@mui/x-data-grid").GridValidRowModel;
|
|
@@ -34,17 +62,10 @@ export declare const gridPinnedRowsSelector: import("@mui/x-data-grid").OutputSe
|
|
|
34
62
|
id: GridRowId;
|
|
35
63
|
model: import("@mui/x-data-grid").GridValidRowModel;
|
|
36
64
|
}[];
|
|
37
|
-
}
|
|
65
|
+
};
|
|
38
66
|
/**
|
|
39
67
|
* @ignore - do not document.
|
|
40
68
|
*/
|
|
41
|
-
export declare const gridPinnedRowsCountSelector: import("
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
model: import("@mui/x-data-grid").GridValidRowModel;
|
|
45
|
-
}[];
|
|
46
|
-
top: {
|
|
47
|
-
id: GridRowId;
|
|
48
|
-
model: import("@mui/x-data-grid").GridValidRowModel;
|
|
49
|
-
}[];
|
|
50
|
-
}, number>;
|
|
69
|
+
export declare const gridPinnedRowsCountSelector: (args_0: import("react").RefObject<{
|
|
70
|
+
state: GridStateCommunity;
|
|
71
|
+
} | null>) => number;
|
|
@@ -5,17 +5,23 @@ import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
|
|
|
5
5
|
* Get the id of the rows after the sorting process.
|
|
6
6
|
* @category Sorting
|
|
7
7
|
*/
|
|
8
|
-
export declare const gridSortedRowIdsSelector:
|
|
8
|
+
export declare const gridSortedRowIdsSelector: (args_0: import("react").RefObject<{
|
|
9
|
+
state: GridStateCommunity;
|
|
10
|
+
} | null>) => GridRowId[];
|
|
9
11
|
/**
|
|
10
12
|
* Get the id and the model of the rows after the sorting process.
|
|
11
13
|
* @category Sorting
|
|
12
14
|
*/
|
|
13
|
-
export declare const gridSortedRowEntriesSelector:
|
|
15
|
+
export declare const gridSortedRowEntriesSelector: (args_0: import("react").RefObject<{
|
|
16
|
+
state: GridStateCommunity;
|
|
17
|
+
} | null>) => GridRowEntry<GridValidRowModel>[];
|
|
14
18
|
/**
|
|
15
19
|
* Get the current sorting model.
|
|
16
20
|
* @category Sorting
|
|
17
21
|
*/
|
|
18
|
-
export declare const gridSortModelSelector:
|
|
22
|
+
export declare const gridSortModelSelector: (args_0: import("react").RefObject<{
|
|
23
|
+
state: GridStateCommunity;
|
|
24
|
+
} | null>) => GridSortModel;
|
|
19
25
|
export type GridSortColumnLookup = Record<string, {
|
|
20
26
|
sortDirection: GridSortDirection;
|
|
21
27
|
sortIndex?: number;
|
|
@@ -24,9 +30,13 @@ export type GridSortColumnLookup = Record<string, {
|
|
|
24
30
|
* @category Sorting
|
|
25
31
|
* @ignore - do not document.
|
|
26
32
|
*/
|
|
27
|
-
export declare const gridSortColumnLookupSelector: import("
|
|
33
|
+
export declare const gridSortColumnLookupSelector: (args_0: import("react").RefObject<{
|
|
34
|
+
state: GridStateCommunity;
|
|
35
|
+
} | null>) => GridSortColumnLookup;
|
|
28
36
|
/**
|
|
29
37
|
* @category Sorting
|
|
30
38
|
* @ignore - do not document.
|
|
31
39
|
*/
|
|
32
|
-
export declare const gridSortedRowIndexLookupSelector: import("
|
|
40
|
+
export declare const gridSortedRowIndexLookupSelector: (args_0: import("react").RefObject<{
|
|
41
|
+
state: GridStateCommunity;
|
|
42
|
+
} | null>) => Record<GridRowId, number>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export declare const gridFocusedVirtualCellSelector:
|
|
1
|
+
export declare const gridFocusedVirtualCellSelector: (args_0: import("react").RefObject<{
|
|
2
|
+
state: import("../../../models/gridStateCommunity.js").GridStateCommunity;
|
|
3
|
+
} | null>) => {
|
|
2
4
|
rowIndex: number;
|
|
3
5
|
columnIndex: number;
|
|
4
6
|
id?: import("@mui/x-data-grid").GridRowId | undefined;
|
|
5
7
|
field?: string | undefined;
|
|
6
|
-
} | null
|
|
8
|
+
} | null;
|
|
@@ -10,27 +10,37 @@ export declare const gridVirtualizationSelector: import("@mui/x-data-grid").Outp
|
|
|
10
10
|
* @category Virtualization
|
|
11
11
|
* @deprecated Use `gridVirtualizationColumnEnabledSelector` and `gridVirtualizationRowEnabledSelector`
|
|
12
12
|
*/
|
|
13
|
-
export declare const gridVirtualizationEnabledSelector:
|
|
13
|
+
export declare const gridVirtualizationEnabledSelector: (args_0: import("react").RefObject<{
|
|
14
|
+
state: GridStateCommunity;
|
|
15
|
+
} | null>) => boolean;
|
|
14
16
|
/**
|
|
15
17
|
* Get the enabled state for column virtualization
|
|
16
18
|
* @category Virtualization
|
|
17
19
|
*/
|
|
18
|
-
export declare const gridVirtualizationColumnEnabledSelector:
|
|
20
|
+
export declare const gridVirtualizationColumnEnabledSelector: (args_0: import("react").RefObject<{
|
|
21
|
+
state: GridStateCommunity;
|
|
22
|
+
} | null>) => boolean;
|
|
19
23
|
/**
|
|
20
24
|
* Get the enabled state for row virtualization
|
|
21
25
|
* @category Virtualization
|
|
22
26
|
*/
|
|
23
|
-
export declare const gridVirtualizationRowEnabledSelector:
|
|
27
|
+
export declare const gridVirtualizationRowEnabledSelector: (args_0: import("react").RefObject<{
|
|
28
|
+
state: GridStateCommunity;
|
|
29
|
+
} | null>) => boolean;
|
|
24
30
|
/**
|
|
25
31
|
* Get the render context
|
|
26
32
|
* @category Virtualization
|
|
27
33
|
* @ignore - do not document.
|
|
28
34
|
*/
|
|
29
|
-
export declare const gridRenderContextSelector:
|
|
35
|
+
export declare const gridRenderContextSelector: (args_0: import("react").RefObject<{
|
|
36
|
+
state: GridStateCommunity;
|
|
37
|
+
} | null>) => import("@mui/x-data-grid").GridRenderContext;
|
|
30
38
|
/**
|
|
31
39
|
* Get the render context, with only columns filled in.
|
|
32
40
|
* This is cached, so it can be used to only re-render when the column interval changes.
|
|
33
41
|
* @category Virtualization
|
|
34
42
|
* @ignore - do not document.
|
|
35
43
|
*/
|
|
36
|
-
export declare const gridRenderContextColumnsSelector: import("
|
|
44
|
+
export declare const gridRenderContextColumnsSelector: (args_0: import("react").RefObject<{
|
|
45
|
+
state: GridStateCommunity;
|
|
46
|
+
} | null>) => GridColumnsRenderContext;
|
|
@@ -36,6 +36,8 @@ const gridVirtualizationRowEnabledSelector = exports.gridVirtualizationRowEnable
|
|
|
36
36
|
* @ignore - do not document.
|
|
37
37
|
*/
|
|
38
38
|
const gridRenderContextSelector = exports.gridRenderContextSelector = (0, _createSelector.createSelector)(gridVirtualizationSelector, state => state.renderContext);
|
|
39
|
+
const firstColumnIndexSelector = (0, _createSelector.createRootSelector)(state => state.virtualization.renderContext.firstColumnIndex);
|
|
40
|
+
const lastColumnIndexSelector = (0, _createSelector.createRootSelector)(state => state.virtualization.renderContext.lastColumnIndex);
|
|
39
41
|
|
|
40
42
|
/**
|
|
41
43
|
* Get the render context, with only columns filled in.
|
|
@@ -43,7 +45,7 @@ const gridRenderContextSelector = exports.gridRenderContextSelector = (0, _creat
|
|
|
43
45
|
* @category Virtualization
|
|
44
46
|
* @ignore - do not document.
|
|
45
47
|
*/
|
|
46
|
-
const gridRenderContextColumnsSelector = exports.gridRenderContextColumnsSelector = (0, _createSelector.createSelectorMemoized)(
|
|
48
|
+
const gridRenderContextColumnsSelector = exports.gridRenderContextColumnsSelector = (0, _createSelector.createSelectorMemoized)(firstColumnIndexSelector, lastColumnIndexSelector, (firstColumnIndex, lastColumnIndex) => ({
|
|
47
49
|
firstColumnIndex,
|
|
48
50
|
lastColumnIndex
|
|
49
51
|
}));
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
2
|
import type { GridApiCommon } from "../../models/api/gridApiCommon.js";
|
|
3
|
-
import type { OutputSelector } from "../../utils/createSelector.js";
|
|
4
|
-
type Selector<Api extends GridApiCommon, Args, T> = ((apiRef: RefObject<Api>) => T) | ((apiRef: RefObject<Api | null>) => T) | OutputSelector<Api['state'], Args, T>;
|
|
5
3
|
export declare const objectShallowCompare: (a: unknown, b: unknown) => boolean;
|
|
6
4
|
export declare const argsEqual: (prev: any, curr: any) => boolean;
|
|
7
|
-
export declare
|
|
8
|
-
export
|
|
5
|
+
export declare function useGridSelector<Api extends GridApiCommon, T>(apiRef: RefObject<Api>, selector: (apiRef: RefObject<Api>) => T, args?: undefined, equals?: <U = T>(a: U, b: U) => boolean): T;
|
|
6
|
+
export declare function useGridSelector<Api extends GridApiCommon, T, Args>(apiRef: RefObject<Api>, selector: (apiRef: RefObject<Api>, a1: Args) => T, args: Args, equals?: <U = T>(a: U, b: U) => boolean): T;
|
|
@@ -4,7 +4,8 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.objectShallowCompare = exports.argsEqual = void 0;
|
|
8
|
+
exports.useGridSelector = useGridSelector;
|
|
8
9
|
var React = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _fastObjectShallowCompare = require("@mui/x-internals/fastObjectShallowCompare");
|
|
10
11
|
var _warning = require("@mui/x-internals/warning");
|
|
@@ -36,7 +37,7 @@ const createRefs = () => ({
|
|
|
36
37
|
});
|
|
37
38
|
const EMPTY = [];
|
|
38
39
|
const emptyGetSnapshot = () => null;
|
|
39
|
-
|
|
40
|
+
function useGridSelector(apiRef, selector, args = undefined, equals = defaultCompare) {
|
|
40
41
|
if (process.env.NODE_ENV !== 'production') {
|
|
41
42
|
if (!apiRef.current.state) {
|
|
42
43
|
(0, _warning.warnOnce)(['MUI X: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
|
|
@@ -85,5 +86,4 @@ const useGridSelector = (apiRef, selector, args = undefined, equals = defaultCom
|
|
|
85
86
|
}, EMPTY);
|
|
86
87
|
(0, _shim.useSyncExternalStore)(unsubscribe, subscribe, emptyGetSnapshot);
|
|
87
88
|
return state;
|
|
88
|
-
}
|
|
89
|
-
exports.useGridSelector = useGridSelector;
|
|
89
|
+
}
|
package/index.js
CHANGED
|
@@ -7,5 +7,5 @@ interface TailwindDemoContainerProps {
|
|
|
7
7
|
* WARNING: This is an internal component used in documentation to inject the Tailwind script.
|
|
8
8
|
* Please do not use it in your application.
|
|
9
9
|
*/
|
|
10
|
-
export declare function TailwindDemoContainer(props: TailwindDemoContainerProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> |
|
|
10
|
+
export declare function TailwindDemoContainer(props: TailwindDemoContainerProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
|
|
11
11
|
export {};
|
package/material/variables.js
CHANGED
|
@@ -22,8 +22,7 @@ function useMaterialCSSVariables() {
|
|
|
22
22
|
}
|
|
23
23
|
function transformTheme(t) {
|
|
24
24
|
const borderColor = getBorderColor(t);
|
|
25
|
-
const dataGridPalette = t.palette.DataGrid;
|
|
26
|
-
|
|
25
|
+
const dataGridPalette = (t.vars || t).palette.DataGrid;
|
|
27
26
|
const backgroundBase = dataGridPalette?.bg ?? (t.vars || t).palette.background.default;
|
|
28
27
|
const backgroundHeader = dataGridPalette?.headerBg ?? backgroundBase;
|
|
29
28
|
const backgroundPinned = dataGridPalette?.pinnedBg ?? backgroundBase;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { EventManager, EventListenerOptions } from '@mui/x-internals/EventManager';
|
|
3
|
+
import type { Store } from '@mui/x-internals/store';
|
|
3
4
|
import type { GridEventPublisher, GridEventListener, GridEvents } from "../events/index.js";
|
|
4
|
-
import { Store } from "../../utils/Store.js";
|
|
5
5
|
import type { GridApiCaches } from "../gridApiCaches.js";
|
|
6
6
|
import type { GridApiCommon, GridPrivateApiCommon } from "./gridApiCommon.js";
|
|
7
7
|
import type { DataGridProcessedProps } from "../props/DataGridProps.js";
|
|
@@ -267,6 +267,7 @@ export type TooltipProps = CommonProps & {
|
|
|
267
267
|
children: React.ReactElement<any, any>;
|
|
268
268
|
enterDelay?: number;
|
|
269
269
|
title: React.ReactNode;
|
|
270
|
+
disableInteractive?: boolean;
|
|
270
271
|
};
|
|
271
272
|
export type IconProps = CommonProps<SVGSVGElement> & {
|
|
272
273
|
fontSize?: 'small' | 'medium' | 'large' | 'inherit';
|
|
@@ -2,6 +2,8 @@ import { GridValidRowModel } from "./gridRows.js";
|
|
|
2
2
|
import { GridCellParams } from "./params/gridCellParams.js";
|
|
3
3
|
/**
|
|
4
4
|
* A function used to process cellClassName params.
|
|
5
|
+
* @param {GridCellParams<R, V>} params The parameters of the cell.
|
|
6
|
+
* @returns {string} The class name to be added to the cell.
|
|
5
7
|
*/
|
|
6
8
|
export type GridCellClassFn<R extends GridValidRowModel = any, V = unknown> = (params: GridCellParams<R, V>) => string;
|
|
7
9
|
/**
|
|
@@ -7,6 +7,8 @@ export type GridColumnNode = GridColumnGroup | GridLeafColumn;
|
|
|
7
7
|
export declare function isLeaf(node: GridColumnNode): node is GridLeafColumn;
|
|
8
8
|
/**
|
|
9
9
|
* A function used to process headerClassName params.
|
|
10
|
+
* @param {GridColumnGroupHeaderParams} params The parameters of the column group header.
|
|
11
|
+
* @returns {string} The class name to be added to the column group header cell.
|
|
10
12
|
*/
|
|
11
13
|
export type GridColumnGroupHeaderClassFn = (params: GridColumnGroupHeaderParams) => string;
|
|
12
14
|
/**
|
|
@@ -10,6 +10,8 @@ function isLeaf(node) {
|
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* A function used to process headerClassName params.
|
|
13
|
+
* @param {GridColumnGroupHeaderParams} params The parameters of the column group header.
|
|
14
|
+
* @returns {string} The class name to be added to the column group header cell.
|
|
13
15
|
*/
|
|
14
16
|
|
|
15
17
|
/**
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { GridColumnHeaderParams } from "./params/gridColumnHeaderParams.js";
|
|
2
2
|
/**
|
|
3
3
|
* A function used to process headerClassName params.
|
|
4
|
+
* @param {GridColumnHeaderParams} params The parameters of the column header.
|
|
5
|
+
* @returns {string} The class name to be added to the column header cell.
|
|
4
6
|
*/
|
|
5
7
|
export type GridColumnHeaderClassFn = (params: GridColumnHeaderParams) => string;
|
|
6
8
|
/**
|
package/models/gridRows.d.ts
CHANGED
|
@@ -173,6 +173,8 @@ export interface GridRowEntry<R extends GridValidRowModel = GridValidRowModel> {
|
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
175
|
* The function to retrieve the id of a [[GridRowModel]].
|
|
176
|
+
* @param {R} row The row model.
|
|
177
|
+
* @returns {GridRowId} The id of the row.
|
|
176
178
|
*/
|
|
177
179
|
export type GridRowIdGetter<R extends GridValidRowModel = GridValidRowModel> = (row: R) => GridRowId;
|
|
178
180
|
export {};
|
|
@@ -9,6 +9,11 @@ export interface GridSortCellParams<V = any> {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* The type of the sort comparison function.
|
|
12
|
+
* @param {V} v1 The first value to compare.
|
|
13
|
+
* @param {V} v2 The second value to compare.
|
|
14
|
+
* @param {GridSortCellParams<V>} cellParams1 The parameters of the first cell.
|
|
15
|
+
* @param {GridSortCellParams<V>} cellParams2 The parameters of the second cell.
|
|
16
|
+
* @returns {number} The result of the comparison.
|
|
12
17
|
*/
|
|
13
18
|
export type GridComparatorFn<V = any> = (v1: V, v2: V, cellParams1: GridSortCellParams<V>, cellParams2: GridSortCellParams<V>) => number;
|
|
14
19
|
/**
|
|
@@ -3,7 +3,7 @@ import type { GridColDef } from "../colDef/gridColDef.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Object passed as parameter in the row callbacks.
|
|
5
5
|
* @demos
|
|
6
|
-
* - [Master
|
|
6
|
+
* - [Master-detail row panels](/x/react-data-grid/master-detail/)
|
|
7
7
|
*/
|
|
8
8
|
export interface GridRowParams<R extends GridValidRowModel = any> {
|
|
9
9
|
/**
|
|
@@ -7,7 +7,7 @@ exports.GridRowEditStopReasons = exports.GridRowEditStartReasons = void 0;
|
|
|
7
7
|
/**
|
|
8
8
|
* Object passed as parameter in the row callbacks.
|
|
9
9
|
* @demos
|
|
10
|
-
* - [Master
|
|
10
|
+
* - [Master-detail row panels](/x/react-data-grid/master-detail/)
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
13
|
* Object passed as parameter in the row `getRowClassName` callback prop.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.3",
|
|
4
4
|
"author": "MUI Team",
|
|
5
5
|
"description": "The Community plan edition of the MUI X Data Grid components.",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -39,13 +39,12 @@
|
|
|
39
39
|
"directory": "packages/x-data-grid"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@babel/runtime": "^7.27.
|
|
42
|
+
"@babel/runtime": "^7.27.6",
|
|
43
43
|
"@mui/utils": "^7.1.1",
|
|
44
44
|
"clsx": "^2.1.1",
|
|
45
45
|
"prop-types": "^15.8.1",
|
|
46
|
-
"reselect": "^5.1.1",
|
|
47
46
|
"use-sync-external-store": "^1.5.0",
|
|
48
|
-
"@mui/x-internals": "8.5.
|
|
47
|
+
"@mui/x-internals": "8.5.3"
|
|
49
48
|
},
|
|
50
49
|
"peerDependencies": {
|
|
51
50
|
"@emotion/react": "^11.9.0",
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import {
|
|
2
|
+
import { CreateSelectorFunction } from '@mui/x-internals/store';
|
|
3
3
|
export interface OutputSelector<State, Args, Result> {
|
|
4
4
|
(apiRef: RefObject<{
|
|
5
5
|
state: State;
|
|
6
6
|
} | null>, args?: Args): Result;
|
|
7
7
|
}
|
|
8
|
-
type StateFromSelector<T> = T extends ((first: infer F, ...args: any[]) => any) ? F extends RefObject<{
|
|
9
|
-
state: infer F2;
|
|
10
|
-
} | null> ? F2 : F : never;
|
|
11
|
-
type StateFromSelectorList<Selectors extends readonly any[]> = Selectors extends [f: infer F, ...other: infer R] ? StateFromSelector<F> extends StateFromSelectorList<R> ? StateFromSelector<F> : StateFromSelectorList<R> : {};
|
|
12
|
-
type SelectorResultArrayWithArgs<Selectors extends ReadonlyArray<Selector<any>>, Args> = [...SelectorResultArray<Selectors>, Args];
|
|
13
|
-
type SelectorArgs<Selectors extends ReadonlyArray<Selector<any>>, Args, Result> = [selectors: [...Selectors], combiner: (...args: SelectorResultArrayWithArgs<Selectors, Args>) => Result] | [...Selectors, (...args: SelectorResultArrayWithArgs<Selectors, Args>) => Result];
|
|
14
|
-
type CreateSelectorFunction = <Selectors extends ReadonlyArray<Selector<any>>, Args, Result>(...items: SelectorArgs<Selectors, Args, Result>) => OutputSelector<StateFromSelectorList<Selectors>, Args, Result>;
|
|
15
8
|
export declare const createSelector: CreateSelectorFunction;
|
|
9
|
+
export declare const createSelectorMemoized: CreateSelectorFunction;
|
|
16
10
|
/**
|
|
17
11
|
* Used to create the root selector for a feature. It assumes that the state is already initialized
|
|
18
12
|
* and strips from the types the possibility of `apiRef` being `null`.
|
|
19
13
|
* Users are warned about this in our documentation https://mui.com/x/react-data-grid/state/#direct-selector-access
|
|
20
14
|
*/
|
|
21
|
-
export declare const createRootSelector: <State, Args, Result>(fn: (state: State, args: Args) => Result) => OutputSelector<State, Args, Result>;
|
|
22
|
-
export declare const createSelectorMemoized: CreateSelectorFunction;
|
|
23
|
-
export {};
|
|
15
|
+
export declare const createRootSelector: <State, Args, Result>(fn: (state: State, args: Args) => Result) => OutputSelector<State, Args, Result>;
|
package/utils/createSelector.js
CHANGED
|
@@ -4,64 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createSelectorMemoized = exports.createSelector = exports.createRootSelector = void 0;
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
const cache = new WeakMap();
|
|
19
|
-
const createSelector = (a, b, c, d, e, f, ...other) => {
|
|
20
|
-
if (other.length > 0) {
|
|
21
|
-
throw new Error('Unsupported number of selectors');
|
|
22
|
-
}
|
|
23
|
-
let selector;
|
|
24
|
-
|
|
25
|
-
// eslint-disable-next-line id-denylist
|
|
26
|
-
if (a && b && c && d && e && f) {
|
|
27
|
-
selector = (apiRef, args) => {
|
|
28
|
-
const va = a(apiRef, args);
|
|
29
|
-
const vb = b(apiRef, args);
|
|
30
|
-
const vc = c(apiRef, args);
|
|
31
|
-
const vd = d(apiRef, args);
|
|
32
|
-
const ve = e(apiRef, args);
|
|
33
|
-
return f(va, vb, vc, vd, ve, args);
|
|
34
|
-
};
|
|
35
|
-
// eslint-disable-next-line id-denylist
|
|
36
|
-
} else if (a && b && c && d && e) {
|
|
37
|
-
selector = (apiRef, args) => {
|
|
38
|
-
const va = a(apiRef, args);
|
|
39
|
-
const vb = b(apiRef, args);
|
|
40
|
-
const vc = c(apiRef, args);
|
|
41
|
-
const vd = d(apiRef, args);
|
|
42
|
-
return e(va, vb, vc, vd, args);
|
|
43
|
-
};
|
|
44
|
-
} else if (a && b && c && d) {
|
|
45
|
-
selector = (apiRef, args) => {
|
|
46
|
-
const va = a(apiRef, args);
|
|
47
|
-
const vb = b(apiRef, args);
|
|
48
|
-
const vc = c(apiRef, args);
|
|
49
|
-
return d(va, vb, vc, args);
|
|
50
|
-
};
|
|
51
|
-
} else if (a && b && c) {
|
|
52
|
-
selector = (apiRef, args) => {
|
|
53
|
-
const va = a(apiRef, args);
|
|
54
|
-
const vb = b(apiRef, args);
|
|
55
|
-
return c(va, vb, args);
|
|
56
|
-
};
|
|
57
|
-
} else if (a && b) {
|
|
58
|
-
selector = (apiRef, args) => {
|
|
59
|
-
const va = a(apiRef, args);
|
|
60
|
-
return b(va, args);
|
|
61
|
-
};
|
|
62
|
-
} else {
|
|
63
|
-
throw new Error('Missing arguments');
|
|
64
|
-
}
|
|
7
|
+
var _store = require("@mui/x-internals/store");
|
|
8
|
+
const createSelector = (...args) => {
|
|
9
|
+
const baseSelector = (0, _store.createSelector)(...args);
|
|
10
|
+
const selector = (apiRef, a1, a2, a3) => baseSelector(unwrapIfNeeded(apiRef), a1, a2, a3);
|
|
11
|
+
return selector;
|
|
12
|
+
};
|
|
13
|
+
exports.createSelector = createSelector;
|
|
14
|
+
const createSelectorMemoized = (...args) => {
|
|
15
|
+
const baseSelector = (0, _store.createSelectorMemoized)(...args);
|
|
16
|
+
const selector = (apiRef, a1, a2, a3) => baseSelector(unwrapIfNeeded(apiRef), a1, a2, a3);
|
|
65
17
|
return selector;
|
|
66
18
|
};
|
|
67
19
|
|
|
@@ -70,34 +22,12 @@ const createSelector = (a, b, c, d, e, f, ...other) => {
|
|
|
70
22
|
* and strips from the types the possibility of `apiRef` being `null`.
|
|
71
23
|
* Users are warned about this in our documentation https://mui.com/x/react-data-grid/state/#direct-selector-access
|
|
72
24
|
*/
|
|
73
|
-
exports.
|
|
74
|
-
const createRootSelector = fn => (apiRef, args) => fn(apiRef
|
|
25
|
+
exports.createSelectorMemoized = createSelectorMemoized;
|
|
26
|
+
const createRootSelector = fn => (apiRef, args) => fn(unwrapIfNeeded(apiRef), args);
|
|
75
27
|
exports.createRootSelector = createRootSelector;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (cacheArgs && cacheFn) {
|
|
83
|
-
if (!(0, _useGridSelector.argsEqual)(cacheFn.selectorArgs, selectorArgs)) {
|
|
84
|
-
const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
|
|
85
|
-
const fn = reselectCreateSelector(...reselectArgs);
|
|
86
|
-
fn.selectorArgs = selectorArgs;
|
|
87
|
-
cacheArgs.set(args, fn);
|
|
88
|
-
return fn(apiRef, selectorArgs);
|
|
89
|
-
}
|
|
90
|
-
return cacheFn(apiRef, selectorArgs);
|
|
91
|
-
}
|
|
92
|
-
const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
|
|
93
|
-
const fn = reselectCreateSelector(...reselectArgs);
|
|
94
|
-
fn.selectorArgs = selectorArgs;
|
|
95
|
-
if (!cacheArgsInit) {
|
|
96
|
-
cache.set(cacheKey, cacheArgs);
|
|
97
|
-
}
|
|
98
|
-
cacheArgs.set(args, fn);
|
|
99
|
-
return fn(apiRef, selectorArgs);
|
|
100
|
-
};
|
|
101
|
-
return selector;
|
|
102
|
-
};
|
|
103
|
-
exports.createSelectorMemoized = createSelectorMemoized;
|
|
28
|
+
function unwrapIfNeeded(refOrState) {
|
|
29
|
+
if ('current' in refOrState) {
|
|
30
|
+
return refOrState.current.state;
|
|
31
|
+
}
|
|
32
|
+
return refOrState;
|
|
33
|
+
}
|
package/esm/utils/Store.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
type Listener<T> = (value: T) => void;
|
|
2
|
-
export declare class Store<T> {
|
|
3
|
-
value: T;
|
|
4
|
-
listeners: Set<Listener<T>>;
|
|
5
|
-
static create<T>(value: T): Store<T>;
|
|
6
|
-
constructor(value: T);
|
|
7
|
-
subscribe: (fn: Listener<T>) => () => void;
|
|
8
|
-
getSnapshot: () => T;
|
|
9
|
-
update: (value: T) => void;
|
|
10
|
-
}
|
|
11
|
-
export {};
|
package/esm/utils/Store.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export class Store {
|
|
2
|
-
static create(value) {
|
|
3
|
-
return new Store(value);
|
|
4
|
-
}
|
|
5
|
-
constructor(_value) {
|
|
6
|
-
this.value = void 0;
|
|
7
|
-
this.listeners = void 0;
|
|
8
|
-
this.subscribe = fn => {
|
|
9
|
-
this.listeners.add(fn);
|
|
10
|
-
return () => {
|
|
11
|
-
this.listeners.delete(fn);
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
this.getSnapshot = () => {
|
|
15
|
-
return this.value;
|
|
16
|
-
};
|
|
17
|
-
this.update = value => {
|
|
18
|
-
this.value = value;
|
|
19
|
-
this.listeners.forEach(l => l(value));
|
|
20
|
-
};
|
|
21
|
-
this.value = _value;
|
|
22
|
-
this.listeners = new Set();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
type AnyNonNullishValue = NonNullable<unknown>;
|
|
2
|
-
type Simplify<T> = T extends AnyFunction ? T : { [KeyType in keyof T]: T[KeyType] } & AnyNonNullishValue;
|
|
3
|
-
type EqualityFn<T = any> = (a: T, b: T) => boolean;
|
|
4
|
-
type DefaultMemoizeFields = {
|
|
5
|
-
clearCache: () => void;
|
|
6
|
-
resultsCount: () => number;
|
|
7
|
-
resetResultsCount: () => void;
|
|
8
|
-
};
|
|
9
|
-
type AnyFunction = (...args: any[]) => any;
|
|
10
|
-
interface WeakMapMemoizeOptions<Result = any> {
|
|
11
|
-
resultEqualityCheck?: EqualityFn<Result>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Inspired by the `weakMapMemoize` function from the `reselect` library.
|
|
15
|
-
*
|
|
16
|
-
* @see {@link https://github.com/reduxjs/reselect/blob/1c3fc05f041d32cd69c11a7f7deccf0bce6f4598/src/weakMapMemoize.ts `original source code`}
|
|
17
|
-
* @see {@link https://reselect.js.org/api/weakMapMemoize `weakMapMemoize api docs`}
|
|
18
|
-
*/
|
|
19
|
-
export declare function weakMapMemoize<Func extends AnyFunction>(func: Func, options?: WeakMapMemoizeOptions<ReturnType<Func>>): Func & Simplify<DefaultMemoizeFields>;
|
|
20
|
-
export {};
|