@mui/x-data-grid 8.0.0-alpha.0 → 8.0.0-alpha.2
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 +651 -6
- package/DataGrid/DataGrid.js +9 -9
- package/README.md +2 -2
- package/components/GridLoadingOverlay.d.ts +2 -2
- package/components/GridLoadingOverlay.js +4 -4
- package/components/GridPagination.js +2 -1
- package/components/base/GridOverlays.d.ts +4 -3
- package/components/base/GridOverlays.js +2 -24
- package/components/base/index.d.ts +0 -1
- package/components/base/index.js +1 -2
- package/components/cell/GridCell.js +10 -10
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/components/columnsManagement/GridColumnsManagement.d.ts +2 -0
- package/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/components/toolbar/GridToolbarFilterButton.d.ts +2 -0
- package/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/components/virtualization/GridVirtualScroller.js +5 -3
- package/constants/dataGridPropsDefaultValues.js +2 -3
- package/constants/gridClasses.d.ts +24 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +11 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +0 -4
- package/hooks/features/dimensions/useGridDimensions.js +3 -19
- package/hooks/features/index.d.ts +1 -0
- package/hooks/features/index.js +1 -0
- package/hooks/features/listView/gridListViewSelectors.d.ts +3 -1
- package/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/hooks/features/listView/index.d.ts +1 -0
- package/hooks/features/listView/index.js +1 -0
- package/hooks/features/overlays/useGridOverlays.d.ts +7 -4
- package/hooks/features/overlays/useGridOverlays.js +19 -1
- package/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/hooks/features/rowSelection/utils.js +2 -2
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/joy/joySlots.js +7 -2
- package/locales/arSD.js +12 -0
- package/locales/beBY.js +12 -0
- package/locales/bgBG.js +13 -0
- package/locales/csCZ.js +13 -0
- package/locales/daDK.js +13 -0
- package/locales/deDE.js +11 -0
- package/locales/elGR.js +12 -0
- package/locales/esES.js +15 -4
- package/locales/faIR.js +13 -0
- package/locales/fiFI.js +13 -0
- package/locales/frFR.js +13 -0
- package/locales/heIL.js +13 -0
- package/locales/hrHR.js +13 -0
- package/locales/huHU.js +13 -0
- package/locales/isIS.js +12 -0
- package/locales/itIT.js +13 -0
- package/locales/jaJP.js +13 -0
- package/locales/koKR.js +12 -0
- package/locales/nbNO.js +13 -0
- package/locales/nlNL.js +13 -0
- package/locales/nnNO.js +13 -0
- package/locales/plPL.js +13 -0
- package/locales/ptBR.js +11 -0
- package/locales/ptPT.js +11 -0
- package/locales/roRO.js +12 -0
- package/locales/ruRU.js +13 -0
- package/locales/skSK.js +12 -0
- package/locales/svSE.js +17 -5
- package/locales/trTR.js +13 -0
- package/locales/ukUA.js +12 -0
- package/locales/urPK.js +12 -0
- package/locales/viVN.js +13 -0
- package/locales/zhCN.js +15 -4
- package/locales/zhHK.js +12 -0
- package/locales/zhTW.js +12 -0
- package/models/api/gridCoreApi.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +10 -0
- package/models/colDef/gridColDef.d.ts +28 -24
- package/models/gridDataSource.d.ts +12 -12
- package/models/props/DataGridProps.d.ts +9 -9
- package/modern/DataGrid/DataGrid.js +9 -9
- package/modern/components/GridLoadingOverlay.js +4 -4
- package/modern/components/GridPagination.js +2 -1
- package/modern/components/base/GridOverlays.js +2 -24
- package/modern/components/base/index.js +1 -2
- package/modern/components/cell/GridCell.js +10 -10
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/modern/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/modern/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/modern/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/modern/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/modern/components/virtualization/GridVirtualScroller.js +5 -3
- package/modern/constants/dataGridPropsDefaultValues.js +2 -3
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +11 -0
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/modern/hooks/features/dimensions/useGridDimensions.js +3 -19
- package/modern/hooks/features/index.js +1 -0
- package/modern/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/modern/hooks/features/listView/index.js +1 -0
- package/modern/hooks/features/overlays/useGridOverlays.js +19 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/modern/hooks/features/rowSelection/utils.js +2 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -0
- package/modern/joy/joySlots.js +7 -2
- package/modern/locales/arSD.js +12 -0
- package/modern/locales/beBY.js +12 -0
- package/modern/locales/bgBG.js +13 -0
- package/modern/locales/csCZ.js +13 -0
- package/modern/locales/daDK.js +13 -0
- package/modern/locales/deDE.js +11 -0
- package/modern/locales/elGR.js +12 -0
- package/modern/locales/esES.js +15 -4
- package/modern/locales/faIR.js +13 -0
- package/modern/locales/fiFI.js +13 -0
- package/modern/locales/frFR.js +13 -0
- package/modern/locales/heIL.js +13 -0
- package/modern/locales/hrHR.js +13 -0
- package/modern/locales/huHU.js +13 -0
- package/modern/locales/isIS.js +12 -0
- package/modern/locales/itIT.js +13 -0
- package/modern/locales/jaJP.js +13 -0
- package/modern/locales/koKR.js +12 -0
- package/modern/locales/nbNO.js +13 -0
- package/modern/locales/nlNL.js +13 -0
- package/modern/locales/nnNO.js +13 -0
- package/modern/locales/plPL.js +13 -0
- package/modern/locales/ptBR.js +11 -0
- package/modern/locales/ptPT.js +11 -0
- package/modern/locales/roRO.js +12 -0
- package/modern/locales/ruRU.js +13 -0
- package/modern/locales/skSK.js +12 -0
- package/modern/locales/svSE.js +17 -5
- package/modern/locales/trTR.js +13 -0
- package/modern/locales/ukUA.js +12 -0
- package/modern/locales/urPK.js +12 -0
- package/modern/locales/viVN.js +13 -0
- package/modern/locales/zhCN.js +15 -4
- package/modern/locales/zhHK.js +12 -0
- package/modern/locales/zhTW.js +12 -0
- package/node/DataGrid/DataGrid.js +9 -9
- package/node/components/GridLoadingOverlay.js +4 -4
- package/node/components/GridPagination.js +2 -1
- package/node/components/base/GridOverlays.js +2 -24
- package/node/components/base/index.js +0 -11
- package/node/components/cell/GridCell.js +10 -10
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
- package/node/components/columnSelection/GridHeaderCheckbox.js +2 -3
- package/node/components/columnsManagement/GridColumnsManagement.js +53 -6
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -4
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -4
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -4
- package/node/components/toolbar/GridToolbarFilterButton.js +7 -6
- package/node/components/toolbar/GridToolbarQuickFilter.js +1 -0
- package/node/components/virtualization/GridVirtualScroller.js +5 -3
- package/node/constants/dataGridPropsDefaultValues.js +2 -3
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +11 -0
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +2 -2
- package/node/hooks/features/dimensions/useGridDimensions.js +2 -18
- package/node/hooks/features/index.js +11 -0
- package/node/hooks/features/listView/gridListViewSelectors.js +3 -1
- package/node/hooks/features/listView/index.js +16 -0
- package/node/hooks/features/overlays/useGridOverlays.js +21 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +0 -9
- package/node/hooks/features/rowSelection/utils.js +2 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +55 -15
- package/node/index.js +1 -1
- package/node/internals/index.js +9 -2
- package/node/joy/joySlots.js +7 -2
- package/node/locales/arSD.js +12 -0
- package/node/locales/beBY.js +12 -0
- package/node/locales/bgBG.js +13 -0
- package/node/locales/csCZ.js +13 -0
- package/node/locales/daDK.js +13 -0
- package/node/locales/deDE.js +11 -0
- package/node/locales/elGR.js +12 -0
- package/node/locales/esES.js +15 -4
- package/node/locales/faIR.js +13 -0
- package/node/locales/fiFI.js +13 -0
- package/node/locales/frFR.js +13 -0
- package/node/locales/heIL.js +13 -0
- package/node/locales/hrHR.js +13 -0
- package/node/locales/huHU.js +13 -0
- package/node/locales/isIS.js +12 -0
- package/node/locales/itIT.js +13 -0
- package/node/locales/jaJP.js +13 -0
- package/node/locales/koKR.js +12 -0
- package/node/locales/nbNO.js +13 -0
- package/node/locales/nlNL.js +13 -0
- package/node/locales/nnNO.js +13 -0
- package/node/locales/plPL.js +13 -0
- package/node/locales/ptBR.js +11 -0
- package/node/locales/ptPT.js +11 -0
- package/node/locales/roRO.js +12 -0
- package/node/locales/ruRU.js +13 -0
- package/node/locales/skSK.js +12 -0
- package/node/locales/svSE.js +17 -5
- package/node/locales/trTR.js +13 -0
- package/node/locales/ukUA.js +12 -0
- package/node/locales/urPK.js +12 -0
- package/node/locales/viVN.js +13 -0
- package/node/locales/zhCN.js +15 -4
- package/node/locales/zhHK.js +12 -0
- package/node/locales/zhTW.js +12 -0
- package/package.json +4 -4
package/DataGrid/DataGrid.js
CHANGED
|
@@ -325,14 +325,6 @@ DataGridRaw.propTypes = {
|
|
|
325
325
|
clipboardExport: PropTypes.bool,
|
|
326
326
|
csvExport: PropTypes.bool
|
|
327
327
|
}), PropTypes.bool]),
|
|
328
|
-
/**
|
|
329
|
-
* If `select`, a group header checkbox in indeterminate state (like "Select All" checkbox)
|
|
330
|
-
* will select all the rows under it.
|
|
331
|
-
* If `deselect`, it will deselect all the rows under it.
|
|
332
|
-
* Works only if `checkboxSelection` is enabled.
|
|
333
|
-
* @default "deselect"
|
|
334
|
-
*/
|
|
335
|
-
indeterminateCheckboxAction: PropTypes.oneOf(['deselect', 'select']),
|
|
336
328
|
/**
|
|
337
329
|
* The initial state of the DataGrid.
|
|
338
330
|
* The data in it will be set in the state on initialization but will not be controlled.
|
|
@@ -766,5 +758,13 @@ DataGridRaw.propTypes = {
|
|
|
766
758
|
* If `true`, the Data Grid will auto span the cells over the rows having the same value.
|
|
767
759
|
* @default false
|
|
768
760
|
*/
|
|
769
|
-
unstable_rowSpanning: PropTypes.bool
|
|
761
|
+
unstable_rowSpanning: PropTypes.bool,
|
|
762
|
+
/**
|
|
763
|
+
* If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
|
|
764
|
+
* By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
|
|
765
|
+
* For datasets with a large number of columns, this can cause performance issues.
|
|
766
|
+
* The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally.
|
|
767
|
+
* @default false
|
|
768
|
+
*/
|
|
769
|
+
virtualizeColumnsWithAutoRowHeight: PropTypes.bool
|
|
770
770
|
};
|
package/README.md
CHANGED
|
@@ -16,8 +16,8 @@ This component has the following peer dependencies that you need to install as w
|
|
|
16
16
|
```json
|
|
17
17
|
"peerDependencies": {
|
|
18
18
|
"@mui/material": "^5.15.14 || ^6.0.0",
|
|
19
|
-
"react": "^17.0.0 || ^18.0.0",
|
|
20
|
-
"react-dom": "^17.0.0 || ^18.0.0"
|
|
19
|
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
20
|
+
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
21
21
|
},
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -4,12 +4,12 @@ export type GridLoadingOverlayVariant = 'circular-progress' | 'linear-progress'
|
|
|
4
4
|
export interface GridLoadingOverlayProps extends GridOverlayProps {
|
|
5
5
|
/**
|
|
6
6
|
* The variant of the overlay.
|
|
7
|
-
* @default '
|
|
7
|
+
* @default 'linear-progress'
|
|
8
8
|
*/
|
|
9
9
|
variant?: GridLoadingOverlayVariant;
|
|
10
10
|
/**
|
|
11
11
|
* The variant of the overlay when no rows are displayed.
|
|
12
|
-
* @default '
|
|
12
|
+
* @default 'skeleton'
|
|
13
13
|
*/
|
|
14
14
|
noRowsVariant?: GridLoadingOverlayVariant;
|
|
15
15
|
}
|
|
@@ -30,8 +30,8 @@ const LOADING_VARIANTS = {
|
|
|
30
30
|
};
|
|
31
31
|
const GridLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridLoadingOverlay(props, ref) {
|
|
32
32
|
const {
|
|
33
|
-
variant = '
|
|
34
|
-
noRowsVariant = '
|
|
33
|
+
variant = 'linear-progress',
|
|
34
|
+
noRowsVariant = 'skeleton',
|
|
35
35
|
style
|
|
36
36
|
} = props,
|
|
37
37
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
@@ -52,13 +52,13 @@ process.env.NODE_ENV !== "production" ? GridLoadingOverlay.propTypes = {
|
|
|
52
52
|
// ----------------------------------------------------------------------
|
|
53
53
|
/**
|
|
54
54
|
* The variant of the overlay when no rows are displayed.
|
|
55
|
-
* @default '
|
|
55
|
+
* @default 'skeleton'
|
|
56
56
|
*/
|
|
57
57
|
noRowsVariant: PropTypes.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
|
|
58
58
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
59
59
|
/**
|
|
60
60
|
* The variant of the overlay.
|
|
61
|
-
* @default '
|
|
61
|
+
* @default 'linear-progress'
|
|
62
62
|
*/
|
|
63
63
|
variant: PropTypes.oneOf(['circular-progress', 'linear-progress', 'skeleton'])
|
|
64
64
|
} : void 0;
|
|
@@ -50,7 +50,8 @@ const defaultLabelDisplayedRows = ({
|
|
|
50
50
|
if (!estimated) {
|
|
51
51
|
return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
const estimateLabel = estimated && estimated > to ? `around ${estimated}` : `more than ${to}`;
|
|
54
|
+
return `${from}–${to} of ${count !== -1 ? count : estimateLabel}`;
|
|
54
55
|
};
|
|
55
56
|
|
|
56
57
|
// A mutable version of a readonly array.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { GridOverlayType } from '../../hooks/features/overlays/useGridOverlays';
|
|
3
2
|
import { GridLoadingOverlayVariant } from '../GridLoadingOverlay';
|
|
3
|
+
import { GridSlotsComponent } from '../../models';
|
|
4
|
+
export type GridOverlayType = keyof Pick<GridSlotsComponent, 'noRowsOverlay' | 'noResultsOverlay' | 'loadingOverlay'> | null;
|
|
4
5
|
interface GridOverlaysProps {
|
|
5
6
|
overlayType: GridOverlayType;
|
|
6
7
|
loadingOverlayVariant: GridLoadingOverlayVariant | null;
|
|
7
8
|
}
|
|
8
|
-
export declare function
|
|
9
|
-
export declare namespace
|
|
9
|
+
export declare function GridOverlayWrapper(props: React.PropsWithChildren<GridOverlaysProps>): React.JSX.Element;
|
|
10
|
+
export declare namespace GridOverlayWrapper {
|
|
10
11
|
var propTypes: any;
|
|
11
12
|
}
|
|
12
13
|
export {};
|
|
@@ -52,7 +52,7 @@ const useUtilityClasses = ownerState => {
|
|
|
52
52
|
};
|
|
53
53
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
54
54
|
};
|
|
55
|
-
function GridOverlayWrapper(props) {
|
|
55
|
+
export function GridOverlayWrapper(props) {
|
|
56
56
|
const apiRef = useGridApiContext();
|
|
57
57
|
const rootProps = useGridRootProps();
|
|
58
58
|
const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
|
|
@@ -83,26 +83,4 @@ process.env.NODE_ENV !== "production" ? GridOverlayWrapper.propTypes = {
|
|
|
83
83
|
// ----------------------------------------------------------------------
|
|
84
84
|
loadingOverlayVariant: PropTypes.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
|
|
85
85
|
overlayType: PropTypes.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
|
|
86
|
-
} : void 0;
|
|
87
|
-
process.env.NODE_ENV !== "production" ? GridOverlays.propTypes = {
|
|
88
|
-
// ----------------------------- Warning --------------------------------
|
|
89
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
90
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
91
|
-
// ----------------------------------------------------------------------
|
|
92
|
-
loadingOverlayVariant: PropTypes.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
|
|
93
|
-
overlayType: PropTypes.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
|
|
94
|
-
} : void 0;
|
|
95
|
-
export function GridOverlays(props) {
|
|
96
|
-
const {
|
|
97
|
-
overlayType
|
|
98
|
-
} = props;
|
|
99
|
-
const rootProps = useGridRootProps();
|
|
100
|
-
if (!overlayType) {
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
const Overlay = rootProps.slots?.[overlayType];
|
|
104
|
-
const overlayProps = rootProps.slotProps?.[overlayType];
|
|
105
|
-
return /*#__PURE__*/_jsx(GridOverlayWrapper, _extends({}, props, {
|
|
106
|
-
children: /*#__PURE__*/_jsx(Overlay, _extends({}, overlayProps))
|
|
107
|
-
}));
|
|
108
|
-
}
|
|
86
|
+
} : void 0;
|
package/components/base/index.js
CHANGED
|
@@ -15,7 +15,6 @@ import { useGridSelector, objectShallowCompare } from "../../hooks/utils/useGrid
|
|
|
15
15
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
16
16
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
17
17
|
import { gridFocusCellSelector } from "../../hooks/features/focus/gridFocusStateSelector.js";
|
|
18
|
-
import { MissingRowIdError } from "../../hooks/features/rows/useGridParamsApi.js";
|
|
19
18
|
import { shouldCellShowLeftBorder, shouldCellShowRightBorder } from "../../utils/cellBorderUtils.js";
|
|
20
19
|
import { GridPinnedColumnPosition } from "../../hooks/features/columns/gridColumnsInterfaces.js";
|
|
21
20
|
import { gridRowSpanningHiddenCellsSelector, gridRowSpanningSpannedCellsSelector } from "../../hooks/features/rows/gridRowSpanningSelectors.js";
|
|
@@ -114,16 +113,13 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
114
113
|
// This is required because `.getCellParams` tries to get the `state.rows.tree` entry
|
|
115
114
|
// associated with `rowId`/`fieldId`, but this selector runs after the state has been
|
|
116
115
|
// updated, while `rowId`/`fieldId` reference an entry in the old state.
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return result;
|
|
121
|
-
} catch (error) {
|
|
122
|
-
if (error instanceof MissingRowIdError) {
|
|
123
|
-
return EMPTY_CELL_PARAMS;
|
|
124
|
-
}
|
|
125
|
-
throw error;
|
|
116
|
+
const row = apiRef.current.getRow(rowId);
|
|
117
|
+
if (!row) {
|
|
118
|
+
return EMPTY_CELL_PARAMS;
|
|
126
119
|
}
|
|
120
|
+
const result = apiRef.current.getCellParams(rowId, field);
|
|
121
|
+
result.api = apiRef.current;
|
|
122
|
+
return result;
|
|
127
123
|
}, objectShallowCompare);
|
|
128
124
|
const isSelected = useGridSelector(apiRef, () => apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
|
|
129
125
|
id: rowId,
|
|
@@ -211,6 +207,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
211
207
|
padding: 0,
|
|
212
208
|
opacity: 0,
|
|
213
209
|
width: 0,
|
|
210
|
+
height: 0,
|
|
214
211
|
border: 0
|
|
215
212
|
};
|
|
216
213
|
}
|
|
@@ -229,6 +226,9 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
229
226
|
if (rowSpan > 1) {
|
|
230
227
|
cellStyle.height = `calc(var(--height) * ${rowSpan})`;
|
|
231
228
|
cellStyle.zIndex = 5;
|
|
229
|
+
if (isLeftPinned || isRightPinned) {
|
|
230
|
+
cellStyle.zIndex = 6;
|
|
231
|
+
}
|
|
232
232
|
}
|
|
233
233
|
return cellStyle;
|
|
234
234
|
}, [width, isNotVisible, styleProp, pinnedOffset, pinnedPosition, isRtl, rowSpan]);
|
|
@@ -79,12 +79,11 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
79
79
|
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
80
80
|
return null;
|
|
81
81
|
}
|
|
82
|
-
const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
83
|
-
const checked = rootProps.indeterminateCheckboxAction === 'select' ? isChecked && !isIndeterminate : isChecked;
|
|
82
|
+
const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
84
83
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
85
84
|
ref: handleRef,
|
|
86
85
|
tabIndex: tabIndex,
|
|
87
|
-
checked:
|
|
86
|
+
checked: isChecked && !isIndeterminate,
|
|
88
87
|
onChange: handleChange,
|
|
89
88
|
className: classes.root,
|
|
90
89
|
inputProps: {
|
|
@@ -92,12 +92,11 @@ const GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderChec
|
|
|
92
92
|
React.useEffect(() => {
|
|
93
93
|
return apiRef.current.subscribeEvent('rowSelectionChange', handleSelectionChange);
|
|
94
94
|
}, [apiRef, handleSelectionChange]);
|
|
95
|
-
const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectAllRows' : 'checkboxSelectionSelectAllRows');
|
|
96
|
-
const checked = rootProps.indeterminateCheckboxAction === 'select' ? isChecked && !isIndeterminate : isChecked;
|
|
95
|
+
const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectAllRows' : 'checkboxSelectionSelectAllRows');
|
|
97
96
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
98
97
|
ref: ref,
|
|
99
98
|
indeterminate: isIndeterminate,
|
|
100
|
-
checked:
|
|
99
|
+
checked: isChecked && !isIndeterminate,
|
|
101
100
|
onChange: handleChange,
|
|
102
101
|
className: classes.root,
|
|
103
102
|
inputProps: {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { TextFieldProps } from '@mui/material/TextField';
|
|
2
3
|
import type { GridColDef } from '../../models/colDef/gridColDef';
|
|
3
4
|
export interface GridColumnsManagementProps {
|
|
4
5
|
sort?: 'asc' | 'desc';
|
|
5
6
|
searchPredicate?: (column: GridColDef, searchValue: string) => boolean;
|
|
7
|
+
searchInputProps?: Partial<TextFieldProps>;
|
|
6
8
|
/**
|
|
7
9
|
* If `true`, the column search field will be focused automatically.
|
|
8
10
|
* If `false`, the first column switch input will be focused automatically.
|
|
@@ -5,6 +5,8 @@ import PropTypes from 'prop-types';
|
|
|
5
5
|
import composeClasses from '@mui/utils/composeClasses';
|
|
6
6
|
import FormControlLabel from '@mui/material/FormControlLabel';
|
|
7
7
|
import { styled } from '@mui/material/styles';
|
|
8
|
+
import TextField from '@mui/material/TextField';
|
|
9
|
+
import { inputBaseClasses } from '@mui/material/InputBase';
|
|
8
10
|
import { gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector } from "../../hooks/features/columns/gridColumnsSelector.js";
|
|
9
11
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
10
12
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
@@ -20,6 +22,7 @@ const useUtilityClasses = ownerState => {
|
|
|
20
22
|
const slots = {
|
|
21
23
|
root: ['columnsManagement'],
|
|
22
24
|
header: ['columnsManagementHeader'],
|
|
25
|
+
searchInput: ['columnsManagementSearchInput'],
|
|
23
26
|
footer: ['columnsManagementFooter'],
|
|
24
27
|
row: ['columnsManagementRow']
|
|
25
28
|
};
|
|
@@ -42,7 +45,8 @@ function GridColumnsManagement(props) {
|
|
|
42
45
|
disableShowHideToggle = false,
|
|
43
46
|
disableResetButton = false,
|
|
44
47
|
toggleAllMode = 'all',
|
|
45
|
-
getTogglableColumns
|
|
48
|
+
getTogglableColumns,
|
|
49
|
+
searchInputProps
|
|
46
50
|
} = props;
|
|
47
51
|
const isResetDisabled = React.useMemo(() => checkColumnVisibilityModelsSame(columnVisibilityModel, initialColumnVisibilityModel), [columnVisibilityModel, initialColumnVisibilityModel]);
|
|
48
52
|
const sortedColumns = React.useMemo(() => {
|
|
@@ -109,28 +113,52 @@ function GridColumnsManagement(props) {
|
|
|
109
113
|
}
|
|
110
114
|
return false;
|
|
111
115
|
};
|
|
116
|
+
const handleSearchReset = React.useCallback(() => {
|
|
117
|
+
setSearchValue('');
|
|
118
|
+
searchInputRef.current.focus();
|
|
119
|
+
}, []);
|
|
112
120
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
113
121
|
children: [/*#__PURE__*/_jsx(GridColumnsManagementHeader, {
|
|
114
122
|
className: classes.header,
|
|
115
123
|
ownerState: rootProps,
|
|
116
|
-
children: /*#__PURE__*/_jsx(
|
|
124
|
+
children: /*#__PURE__*/_jsx(SearchInput, _extends({
|
|
125
|
+
as: rootProps.slots.baseTextField,
|
|
126
|
+
ownerState: rootProps,
|
|
117
127
|
placeholder: apiRef.current.getLocaleText('columnsManagementSearchTitle'),
|
|
118
128
|
inputRef: searchInputRef,
|
|
129
|
+
className: classes.searchInput,
|
|
119
130
|
value: searchValue,
|
|
120
131
|
onChange: handleSearchValueChange,
|
|
121
132
|
variant: "outlined",
|
|
122
133
|
size: "small",
|
|
134
|
+
type: "search",
|
|
123
135
|
InputProps: {
|
|
124
136
|
startAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
|
|
125
137
|
position: "start",
|
|
126
138
|
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterIcon, {})
|
|
127
139
|
}),
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
140
|
+
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
141
|
+
"aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
|
|
142
|
+
size: "small",
|
|
143
|
+
sx: [searchValue ? {
|
|
144
|
+
visibility: 'visible'
|
|
145
|
+
} : {
|
|
146
|
+
visibility: 'hidden'
|
|
147
|
+
}],
|
|
148
|
+
tabIndex: -1,
|
|
149
|
+
onClick: handleSearchReset
|
|
150
|
+
}, rootProps.slotProps?.baseIconButton, {
|
|
151
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterClearIcon, {
|
|
152
|
+
fontSize: "small"
|
|
153
|
+
})
|
|
154
|
+
}))
|
|
155
|
+
},
|
|
156
|
+
inputProps: {
|
|
157
|
+
'aria-label': apiRef.current.getLocaleText('columnsManagementSearchTitle')
|
|
131
158
|
},
|
|
159
|
+
autoComplete: "off",
|
|
132
160
|
fullWidth: true
|
|
133
|
-
}, rootProps.slotProps?.baseTextField))
|
|
161
|
+
}, rootProps.slotProps?.baseTextField, searchInputProps))
|
|
134
162
|
}), /*#__PURE__*/_jsxs(GridColumnsManagementBody, {
|
|
135
163
|
className: classes.root,
|
|
136
164
|
ownerState: rootProps,
|
|
@@ -205,6 +233,7 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
|
|
|
205
233
|
* @returns {GridColDef['field'][]} The list of togglable columns' field names.
|
|
206
234
|
*/
|
|
207
235
|
getTogglableColumns: PropTypes.func,
|
|
236
|
+
searchInputProps: PropTypes.object,
|
|
208
237
|
searchPredicate: PropTypes.func,
|
|
209
238
|
sort: PropTypes.oneOf(['asc', 'desc']),
|
|
210
239
|
/**
|
|
@@ -239,6 +268,24 @@ const GridColumnsManagementHeader = styled('div', {
|
|
|
239
268
|
}) => ({
|
|
240
269
|
padding: theme.spacing(1.5, 3)
|
|
241
270
|
}));
|
|
271
|
+
const SearchInput = styled(TextField, {
|
|
272
|
+
name: 'MuiDataGrid',
|
|
273
|
+
slot: 'ColumnsManagementSearchInput',
|
|
274
|
+
overridesResolver: (props, styles) => styles.columnsManagementSearchInput
|
|
275
|
+
})(({
|
|
276
|
+
theme
|
|
277
|
+
}) => ({
|
|
278
|
+
[`& .${inputBaseClasses.root}`]: {
|
|
279
|
+
padding: theme.spacing(0, 1.5, 0, 1.5)
|
|
280
|
+
},
|
|
281
|
+
[`& .${inputBaseClasses.input}::-webkit-search-decoration,
|
|
282
|
+
& .${inputBaseClasses.input}::-webkit-search-cancel-button,
|
|
283
|
+
& .${inputBaseClasses.input}::-webkit-search-results-button,
|
|
284
|
+
& .${inputBaseClasses.input}::-webkit-search-results-decoration`]: {
|
|
285
|
+
/* clears the 'X' icon from Chrome */
|
|
286
|
+
display: 'none'
|
|
287
|
+
}
|
|
288
|
+
}));
|
|
242
289
|
const GridColumnsManagementFooter = styled('div', {
|
|
243
290
|
name: 'MuiDataGrid',
|
|
244
291
|
slot: 'ColumnsManagementFooter',
|
|
@@ -36,7 +36,7 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
36
36
|
return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
37
37
|
title: apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
38
38
|
enterDelay: 1000
|
|
39
|
-
},
|
|
39
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
40
40
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
41
41
|
ref: ref,
|
|
42
42
|
id: columnButtonId,
|
|
@@ -45,10 +45,9 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
45
45
|
"aria-haspopup": "menu",
|
|
46
46
|
"aria-expanded": isOpen,
|
|
47
47
|
"aria-controls": isOpen ? columnPanelId : undefined,
|
|
48
|
-
startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
|
|
49
|
-
}, buttonProps, {
|
|
48
|
+
startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {}),
|
|
50
49
|
onClick: showColumns
|
|
51
|
-
}, rootProps.slotProps?.baseButton, {
|
|
50
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
52
51
|
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
53
52
|
}))
|
|
54
53
|
}));
|
|
@@ -83,7 +83,7 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
83
83
|
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
84
84
|
title: apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
85
85
|
enterDelay: 1000
|
|
86
|
-
},
|
|
86
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
87
87
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
88
88
|
ref: handleRef,
|
|
89
89
|
size: "small",
|
|
@@ -92,10 +92,9 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
92
92
|
"aria-haspopup": "menu",
|
|
93
93
|
"aria-expanded": open,
|
|
94
94
|
"aria-controls": open ? densityMenuId : undefined,
|
|
95
|
-
id: densityButtonId
|
|
96
|
-
}, buttonProps, {
|
|
95
|
+
id: densityButtonId,
|
|
97
96
|
onClick: handleDensitySelectorOpen
|
|
98
|
-
}, rootProps.slotProps?.baseButton, {
|
|
97
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
99
98
|
children: apiRef.current.getLocaleText('toolbarDensity')
|
|
100
99
|
}))
|
|
101
100
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
@@ -42,7 +42,7 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
42
42
|
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
43
43
|
title: apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
44
44
|
enterDelay: 1000
|
|
45
|
-
},
|
|
45
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
46
46
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
47
47
|
ref: handleRef,
|
|
48
48
|
size: "small",
|
|
@@ -51,10 +51,9 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
51
51
|
"aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
52
52
|
"aria-haspopup": "menu",
|
|
53
53
|
"aria-controls": open ? exportMenuId : undefined,
|
|
54
|
-
id: exportButtonId
|
|
55
|
-
}, buttonProps, {
|
|
54
|
+
id: exportButtonId,
|
|
56
55
|
onClick: handleMenuOpen
|
|
57
|
-
}, rootProps.slotProps?.baseButton, {
|
|
56
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
58
57
|
children: apiRef.current.getLocaleText('toolbarExport')
|
|
59
58
|
}))
|
|
60
59
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ButtonProps } from '@mui/material/Button';
|
|
3
3
|
import { TooltipProps } from '@mui/material/Tooltip';
|
|
4
|
+
import { BadgeProps } from '@mui/material/Badge';
|
|
4
5
|
export interface GridToolbarFilterButtonProps {
|
|
5
6
|
/**
|
|
6
7
|
* The props used for each slot inside.
|
|
@@ -9,6 +10,7 @@ export interface GridToolbarFilterButtonProps {
|
|
|
9
10
|
slotProps?: {
|
|
10
11
|
button?: Partial<ButtonProps>;
|
|
11
12
|
tooltip?: Partial<TooltipProps>;
|
|
13
|
+
badge?: Partial<BadgeProps>;
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
declare const GridToolbarFilterButton: React.ForwardRefExoticComponent<GridToolbarFilterButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -37,6 +37,7 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
37
37
|
} = props;
|
|
38
38
|
const buttonProps = slotProps.button || {};
|
|
39
39
|
const tooltipProps = slotProps.tooltip || {};
|
|
40
|
+
const badgeProps = slotProps.badge || {};
|
|
40
41
|
const apiRef = useGridApiContext();
|
|
41
42
|
const rootProps = useGridRootProps();
|
|
42
43
|
const activeFilters = useGridSelector(apiRef, gridFilterActiveItemsSelector);
|
|
@@ -94,7 +95,7 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
94
95
|
return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
95
96
|
title: tooltipContentNode,
|
|
96
97
|
enterDelay: 1000
|
|
97
|
-
},
|
|
98
|
+
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
98
99
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
99
100
|
ref: ref,
|
|
100
101
|
id: filterButtonId,
|
|
@@ -103,14 +104,14 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
103
104
|
"aria-controls": isOpen ? filterPanelId : undefined,
|
|
104
105
|
"aria-expanded": isOpen,
|
|
105
106
|
"aria-haspopup": true,
|
|
106
|
-
startIcon: /*#__PURE__*/_jsx(rootProps.slots.baseBadge, {
|
|
107
|
+
startIcon: /*#__PURE__*/_jsx(rootProps.slots.baseBadge, _extends({
|
|
107
108
|
badgeContent: activeFilters.length,
|
|
108
|
-
color: "primary"
|
|
109
|
+
color: "primary"
|
|
110
|
+
}, rootProps.slotProps?.baseBadge, badgeProps, {
|
|
109
111
|
children: /*#__PURE__*/_jsx(rootProps.slots.openFilterButtonIcon, {})
|
|
110
|
-
})
|
|
111
|
-
}, buttonProps, {
|
|
112
|
+
})),
|
|
112
113
|
onClick: toggleFilter
|
|
113
|
-
}, rootProps.slotProps?.baseButton, {
|
|
114
|
+
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
114
115
|
children: apiRef.current.getLocaleText('toolbarFilters')
|
|
115
116
|
}))
|
|
116
117
|
}));
|
|
@@ -78,6 +78,7 @@ function GridToolbarQuickFilter(props) {
|
|
|
78
78
|
apiRef.current.setQuickFilterValues(newQuickFilterValues);
|
|
79
79
|
}, [apiRef, quickFilterParser]);
|
|
80
80
|
const debouncedUpdateSearchValue = React.useMemo(() => debounce(updateSearchValue, debounceMs), [updateSearchValue, debounceMs]);
|
|
81
|
+
React.useEffect(() => debouncedUpdateSearchValue.clear, [debouncedUpdateSearchValue]);
|
|
81
82
|
const handleSearchValueChange = React.useCallback(event => {
|
|
82
83
|
const newSearchValue = event.target.value;
|
|
83
84
|
setSearchValue(newSearchValue);
|
|
@@ -10,7 +10,6 @@ import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
|
10
10
|
import { gridDimensionsSelector } from "../../hooks/features/dimensions/index.js";
|
|
11
11
|
import { useGridVirtualScroller } from "../../hooks/features/virtualization/useGridVirtualScroller.js";
|
|
12
12
|
import { useGridOverlays } from "../../hooks/features/overlays/useGridOverlays.js";
|
|
13
|
-
import { GridOverlays as Overlays } from "../base/GridOverlays.js";
|
|
14
13
|
import { GridHeaders } from "../GridHeaders.js";
|
|
15
14
|
import { GridMainContainer as Container } from "./GridMainContainer.js";
|
|
16
15
|
import { GridTopContainer as TopContainer } from "./GridTopContainer.js";
|
|
@@ -55,7 +54,10 @@ function GridVirtualScroller(props) {
|
|
|
55
54
|
const apiRef = useGridApiContext();
|
|
56
55
|
const rootProps = useGridRootProps();
|
|
57
56
|
const dimensions = useGridSelector(apiRef, gridDimensionsSelector);
|
|
58
|
-
const
|
|
57
|
+
const {
|
|
58
|
+
getOverlay,
|
|
59
|
+
overlaysProps
|
|
60
|
+
} = useGridOverlays();
|
|
59
61
|
const classes = useUtilityClasses(rootProps, dimensions, overlaysProps.loadingOverlayVariant);
|
|
60
62
|
const virtualScroller = useGridVirtualScroller();
|
|
61
63
|
const {
|
|
@@ -84,7 +86,7 @@ function GridVirtualScroller(props) {
|
|
|
84
86
|
position: "top",
|
|
85
87
|
virtualScroller: virtualScroller
|
|
86
88
|
})]
|
|
87
|
-
}),
|
|
89
|
+
}), getOverlay(), /*#__PURE__*/_jsx(Content, _extends({}, getContentProps(), {
|
|
88
90
|
children: /*#__PURE__*/_jsxs(RenderZone, _extends({}, getRenderZoneProps(), {
|
|
89
91
|
children: [rows, /*#__PURE__*/_jsx(rootProps.slots.detailPanels, {
|
|
90
92
|
virtualScroller: virtualScroller
|
|
@@ -34,8 +34,6 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
|
34
34
|
hideFooterSelectedRowCount: false,
|
|
35
35
|
ignoreDiacritics: false,
|
|
36
36
|
ignoreValueFormatterDuringExport: false,
|
|
37
|
-
// TODO v8: Update to 'select'
|
|
38
|
-
indeterminateCheckboxAction: 'deselect',
|
|
39
37
|
keepColumnPositionIfDraggedOutside: false,
|
|
40
38
|
keepNonExistentRowsSelected: false,
|
|
41
39
|
loading: false,
|
|
@@ -56,5 +54,6 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
|
56
54
|
sortingMode: 'client',
|
|
57
55
|
sortingOrder: ['asc', 'desc', null],
|
|
58
56
|
throttleRowsMs: 0,
|
|
59
|
-
unstable_rowSpanning: false
|
|
57
|
+
unstable_rowSpanning: false,
|
|
58
|
+
virtualizeColumnsWithAutoRowHeight: false
|
|
60
59
|
};
|
|
@@ -236,6 +236,10 @@ export interface GridClasses {
|
|
|
236
236
|
* Styles applied to the columns management header element.
|
|
237
237
|
*/
|
|
238
238
|
columnsManagementHeader: string;
|
|
239
|
+
/**
|
|
240
|
+
* Styles applied to the columns management search input element.
|
|
241
|
+
*/
|
|
242
|
+
columnsManagementSearchInput: string;
|
|
239
243
|
/**
|
|
240
244
|
* Styles applied to the columns management footer element.
|
|
241
245
|
*/
|
|
@@ -582,6 +586,26 @@ export interface GridClasses {
|
|
|
582
586
|
* Styles applied to the toolbar filter list element.
|
|
583
587
|
*/
|
|
584
588
|
toolbarFilterList: string;
|
|
589
|
+
/**
|
|
590
|
+
* Styles applied to the toolbar prompt control element.
|
|
591
|
+
*/
|
|
592
|
+
toolbarPromptControl: string;
|
|
593
|
+
/**
|
|
594
|
+
* Styles applied to the toolbar prompt control element when recording.
|
|
595
|
+
*/
|
|
596
|
+
'toolbarPromptControl--recording': string;
|
|
597
|
+
/**
|
|
598
|
+
* Styles applied to the toolbar prompt control recording indicator element.
|
|
599
|
+
*/
|
|
600
|
+
toolbarPromptControlRecordingIndicator: string;
|
|
601
|
+
/**
|
|
602
|
+
* Styles applied to the toolbar prompt control record button element.
|
|
603
|
+
*/
|
|
604
|
+
toolbarPromptControlRecordButton: string;
|
|
605
|
+
/**
|
|
606
|
+
* Styles applied to the toolbar prompt control send button element.
|
|
607
|
+
*/
|
|
608
|
+
toolbarPromptControlSendButton: string;
|
|
585
609
|
/**
|
|
586
610
|
* Styles applied the grid if `showColumnVerticalBorder={true}`.
|
|
587
611
|
*/
|
package/constants/gridClasses.js
CHANGED
|
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
5
|
+
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'toolbarPromptControl', 'toolbarPromptControl--recording', 'toolbarPromptControlRecordingIndicator', 'toolbarPromptControlRecordButton', 'toolbarPromptControlSendButton', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -21,6 +21,16 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
21
21
|
toolbarQuickFilterPlaceholder: 'Search…',
|
|
22
22
|
toolbarQuickFilterLabel: 'Search',
|
|
23
23
|
toolbarQuickFilterDeleteIconLabel: 'Clear',
|
|
24
|
+
// Prompt toolbar field
|
|
25
|
+
toolbarPromptControlPlaceholder: 'Type a prompt…',
|
|
26
|
+
toolbarPromptControlWithRecordingPlaceholder: 'Type or record a prompt…',
|
|
27
|
+
toolbarPromptControlRecordingPlaceholder: 'Listening for prompt…',
|
|
28
|
+
toolbarPromptControlLabel: 'Prompt input',
|
|
29
|
+
toolbarPromptControlRecordButtonDefaultLabel: 'Record',
|
|
30
|
+
toolbarPromptControlRecordButtonActiveLabel: 'Stop recording',
|
|
31
|
+
toolbarPromptControlSendActionLabel: 'Send',
|
|
32
|
+
toolbarPromptControlSendActionAriaLabel: 'Send prompt',
|
|
33
|
+
toolbarPromptControlErrorMessage: 'An error occurred while processing the request. Please try again with a different prompt.',
|
|
24
34
|
// Export selector toolbar button text
|
|
25
35
|
toolbarExport: 'Export',
|
|
26
36
|
toolbarExportLabel: 'Export',
|
|
@@ -32,6 +42,7 @@ export const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
32
42
|
columnsManagementNoColumns: 'No columns',
|
|
33
43
|
columnsManagementShowHideAllText: 'Show/Hide All',
|
|
34
44
|
columnsManagementReset: 'Reset',
|
|
45
|
+
columnsManagementDeleteIconLabel: 'Clear',
|
|
35
46
|
// Filter panel text
|
|
36
47
|
filterPanelAddFilter: 'Add filter',
|
|
37
48
|
filterPanelRemoveAll: 'Remove all',
|