@mui/x-data-grid 8.0.0-alpha.13 → 8.0.0-alpha.14
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 +131 -0
- package/colDef/gridActionsColDef.js +1 -1
- package/colDef/gridBooleanColDef.js +1 -1
- package/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/components/columnsManagement/GridColumnsManagement.js +1 -0
- package/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
- package/components/columnsPanel/ColumnsPanelTrigger.js +209 -0
- package/components/columnsPanel/index.d.ts +1 -0
- package/components/columnsPanel/index.js +16 -0
- package/components/export/ExportCsv.d.ts +30 -0
- package/components/export/ExportCsv.js +196 -0
- package/components/export/ExportPrint.d.ts +30 -0
- package/components/export/ExportPrint.js +196 -0
- package/components/export/index.d.ts +2 -0
- package/components/export/index.js +27 -0
- package/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
- package/components/filterPanel/FilterPanelTrigger.js +212 -0
- package/components/filterPanel/index.d.ts +1 -0
- package/components/filterPanel/index.js +16 -0
- package/components/index.d.ts +6 -1
- package/components/index.js +60 -0
- package/components/quickFilter/QuickFilter.d.ts +41 -0
- package/components/quickFilter/QuickFilter.js +110 -0
- package/components/quickFilter/QuickFilterClear.d.ts +28 -0
- package/components/quickFilter/QuickFilterClear.js +161 -0
- package/components/quickFilter/QuickFilterContext.d.ts +13 -0
- package/components/quickFilter/QuickFilterContext.js +17 -0
- package/components/quickFilter/QuickFilterControl.d.ts +28 -0
- package/components/quickFilter/QuickFilterControl.js +104 -0
- package/components/quickFilter/index.d.ts +3 -0
- package/components/quickFilter/index.js +38 -0
- package/components/toolbar/GridToolbar.d.ts +1 -1
- package/components/toolbar/GridToolbar.js +2 -2
- package/components/toolbar/GridToolbarQuickFilter.js +54 -87
- package/components/toolbarV8/GridToolbar.d.ts +11 -0
- package/components/toolbarV8/GridToolbar.js +142 -0
- package/components/toolbarV8/Toolbar.d.ts +32 -0
- package/components/toolbarV8/Toolbar.js +132 -0
- package/components/toolbarV8/ToolbarButton.d.ts +23 -0
- package/components/toolbarV8/ToolbarButton.js +179 -0
- package/components/toolbarV8/ToolbarContext.d.ts +9 -0
- package/components/toolbarV8/ToolbarContext.js +17 -0
- package/components/toolbarV8/index.d.ts +2 -0
- package/components/toolbarV8/index.js +27 -0
- package/components/virtualization/GridVirtualScrollbar.js +7 -1
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/gridClasses.d.ts +4 -0
- package/esm/colDef/gridActionsColDef.js +1 -1
- package/esm/colDef/gridBooleanColDef.js +1 -1
- package/esm/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/esm/components/columnsManagement/GridColumnsManagement.js +1 -0
- package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
- package/esm/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
- package/esm/components/columnsPanel/index.d.ts +1 -0
- package/esm/components/columnsPanel/index.js +1 -0
- package/esm/components/export/ExportCsv.d.ts +30 -0
- package/esm/components/export/ExportCsv.js +189 -0
- package/esm/components/export/ExportPrint.d.ts +30 -0
- package/esm/components/export/ExportPrint.js +189 -0
- package/esm/components/export/index.d.ts +2 -0
- package/esm/components/export/index.js +2 -0
- package/esm/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
- package/esm/components/filterPanel/FilterPanelTrigger.js +205 -0
- package/esm/components/filterPanel/index.d.ts +1 -0
- package/esm/components/filterPanel/index.js +1 -0
- package/esm/components/index.d.ts +6 -1
- package/esm/components/index.js +6 -1
- package/esm/components/quickFilter/QuickFilter.d.ts +41 -0
- package/esm/components/quickFilter/QuickFilter.js +103 -0
- package/esm/components/quickFilter/QuickFilterClear.d.ts +28 -0
- package/esm/components/quickFilter/QuickFilterClear.js +154 -0
- package/esm/components/quickFilter/QuickFilterContext.d.ts +13 -0
- package/esm/components/quickFilter/QuickFilterContext.js +9 -0
- package/esm/components/quickFilter/QuickFilterControl.d.ts +28 -0
- package/esm/components/quickFilter/QuickFilterControl.js +97 -0
- package/esm/components/quickFilter/index.d.ts +3 -0
- package/esm/components/quickFilter/index.js +3 -0
- package/esm/components/toolbar/GridToolbar.d.ts +1 -1
- package/esm/components/toolbar/GridToolbar.js +2 -2
- package/esm/components/toolbar/GridToolbarQuickFilter.js +56 -87
- package/esm/components/toolbarV8/GridToolbar.d.ts +11 -0
- package/esm/components/toolbarV8/GridToolbar.js +135 -0
- package/esm/components/toolbarV8/Toolbar.d.ts +32 -0
- package/esm/components/toolbarV8/Toolbar.js +125 -0
- package/esm/components/toolbarV8/ToolbarButton.d.ts +23 -0
- package/esm/components/toolbarV8/ToolbarButton.js +172 -0
- package/esm/components/toolbarV8/ToolbarContext.d.ts +9 -0
- package/esm/components/toolbarV8/ToolbarContext.js +9 -0
- package/esm/components/toolbarV8/index.d.ts +2 -0
- package/esm/components/toolbarV8/index.js +2 -0
- package/esm/components/virtualization/GridVirtualScrollbar.js +7 -1
- package/esm/constants/defaultGridSlotsComponents.js +2 -1
- package/esm/constants/gridClasses.d.ts +4 -0
- package/esm/hooks/features/rows/useGridRowsMeta.js +8 -0
- package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
- package/esm/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
- package/esm/hooks/utils/index.d.ts +2 -1
- package/esm/hooks/utils/useGridComponentRenderer.d.ts +12 -0
- package/esm/hooks/utils/useGridComponentRenderer.js +36 -0
- package/esm/index.js +1 -1
- package/esm/internals/demo/TailwindDemoContainer.d.ts +11 -0
- package/esm/internals/demo/TailwindDemoContainer.js +55 -0
- package/esm/internals/demo/index.d.ts +1 -0
- package/esm/internals/demo/index.js +1 -0
- package/esm/internals/index.d.ts +4 -0
- package/esm/internals/index.js +3 -0
- package/esm/material/icons/index.d.ts +3 -3
- package/esm/material/icons/index.js +6 -6
- package/esm/material/index.js +3 -3
- package/esm/models/gridBaseSlots.d.ts +5 -1
- package/esm/models/gridIconSlotsComponent.d.ts +1 -1
- package/esm/models/gridSlotsComponent.d.ts +1 -2
- package/hooks/features/rows/useGridRowsMeta.js +8 -0
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
- package/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
- package/hooks/utils/index.d.ts +2 -1
- package/hooks/utils/useGridComponentRenderer.d.ts +12 -0
- package/hooks/utils/useGridComponentRenderer.js +44 -0
- package/index.js +1 -1
- package/internals/demo/TailwindDemoContainer.d.ts +11 -0
- package/internals/demo/TailwindDemoContainer.js +63 -0
- package/internals/demo/index.d.ts +1 -0
- package/internals/demo/index.js +12 -0
- package/internals/index.d.ts +4 -0
- package/internals/index.js +28 -0
- package/material/icons/index.d.ts +3 -3
- package/material/icons/index.js +7 -7
- package/material/index.js +2 -2
- package/models/gridBaseSlots.d.ts +5 -1
- package/models/gridIconSlotsComponent.d.ts +1 -1
- package/models/gridSlotsComponent.d.ts +1 -2
- package/modern/colDef/gridActionsColDef.js +1 -1
- package/modern/colDef/gridBooleanColDef.js +1 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/modern/components/columnsManagement/GridColumnsManagement.js +1 -0
- package/modern/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
- package/modern/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
- package/modern/components/columnsPanel/index.d.ts +1 -0
- package/modern/components/columnsPanel/index.js +1 -0
- package/modern/components/export/ExportCsv.d.ts +30 -0
- package/modern/components/export/ExportCsv.js +189 -0
- package/modern/components/export/ExportPrint.d.ts +30 -0
- package/modern/components/export/ExportPrint.js +189 -0
- package/modern/components/export/index.d.ts +2 -0
- package/modern/components/export/index.js +2 -0
- package/modern/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
- package/modern/components/filterPanel/FilterPanelTrigger.js +205 -0
- package/modern/components/filterPanel/index.d.ts +1 -0
- package/modern/components/filterPanel/index.js +1 -0
- package/modern/components/index.d.ts +6 -1
- package/modern/components/index.js +6 -1
- package/modern/components/quickFilter/QuickFilter.d.ts +41 -0
- package/modern/components/quickFilter/QuickFilter.js +103 -0
- package/modern/components/quickFilter/QuickFilterClear.d.ts +28 -0
- package/modern/components/quickFilter/QuickFilterClear.js +154 -0
- package/modern/components/quickFilter/QuickFilterContext.d.ts +13 -0
- package/modern/components/quickFilter/QuickFilterContext.js +9 -0
- package/modern/components/quickFilter/QuickFilterControl.d.ts +28 -0
- package/modern/components/quickFilter/QuickFilterControl.js +97 -0
- package/modern/components/quickFilter/index.d.ts +3 -0
- package/modern/components/quickFilter/index.js +3 -0
- package/modern/components/toolbar/GridToolbar.d.ts +1 -1
- package/modern/components/toolbar/GridToolbar.js +2 -2
- package/modern/components/toolbar/GridToolbarQuickFilter.js +56 -87
- package/modern/components/toolbarV8/GridToolbar.d.ts +11 -0
- package/modern/components/toolbarV8/GridToolbar.js +135 -0
- package/modern/components/toolbarV8/Toolbar.d.ts +32 -0
- package/modern/components/toolbarV8/Toolbar.js +125 -0
- package/modern/components/toolbarV8/ToolbarButton.d.ts +23 -0
- package/modern/components/toolbarV8/ToolbarButton.js +172 -0
- package/modern/components/toolbarV8/ToolbarContext.d.ts +9 -0
- package/modern/components/toolbarV8/ToolbarContext.js +9 -0
- package/modern/components/toolbarV8/index.d.ts +2 -0
- package/modern/components/toolbarV8/index.js +2 -0
- package/modern/components/virtualization/GridVirtualScrollbar.js +7 -1
- package/modern/constants/defaultGridSlotsComponents.js +2 -1
- package/modern/constants/gridClasses.d.ts +4 -0
- package/modern/hooks/features/rows/useGridRowsMeta.js +8 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
- package/modern/hooks/utils/index.d.ts +2 -1
- package/modern/hooks/utils/useGridComponentRenderer.d.ts +12 -0
- package/modern/hooks/utils/useGridComponentRenderer.js +36 -0
- package/modern/index.js +1 -1
- package/modern/internals/demo/TailwindDemoContainer.d.ts +11 -0
- package/modern/internals/demo/TailwindDemoContainer.js +55 -0
- package/modern/internals/demo/index.d.ts +1 -0
- package/modern/internals/demo/index.js +1 -0
- package/modern/internals/index.d.ts +4 -0
- package/modern/internals/index.js +3 -0
- package/modern/material/icons/index.d.ts +3 -3
- package/modern/material/icons/index.js +6 -6
- package/modern/material/index.js +3 -3
- package/modern/models/gridBaseSlots.d.ts +5 -1
- package/modern/models/gridIconSlotsComponent.d.ts +1 -1
- package/modern/models/gridSlotsComponent.d.ts +1 -2
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,137 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.0.0-alpha.14
|
|
9
|
+
|
|
10
|
+
_Mar 7, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to offer a big thanks to the 12 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🚀📊 New Pro Chart: It is now possible to create Funnel charts—perfect for visualizing conversions, sales pipelines and more!
|
|
15
|
+
<img width="418" alt="Screenshot 2025-01-31 at 12 22 31" src="https://github.com/user-attachments/assets/8cd26821-5f11-46bf-a9bb-34d212880a47" />
|
|
16
|
+
- 🎁 The first iteration of the radar chart is available. Features and refinements will be added in the coming weeks.
|
|
17
|
+
- 🛠️ New and improved [Toolbar component](https://next.mui.com/x/react-data-grid/components/toolbar/) for the data grid
|
|
18
|
+
- 🐞 Bugfixes
|
|
19
|
+
|
|
20
|
+
Special thanks go out to the community member for their valuable contributions:
|
|
21
|
+
@vadimka123.
|
|
22
|
+
|
|
23
|
+
Following are all team members who have contributed to this release:
|
|
24
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @michelengelen, @noraleonte, @oliviertassinari.
|
|
25
|
+
|
|
26
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
27
|
+
|
|
28
|
+
### Data Grid
|
|
29
|
+
|
|
30
|
+
#### Breaking changes
|
|
31
|
+
|
|
32
|
+
- The density selector has been removed from the toolbar. It is still possible to set the density programmatically via the `density` prop. A density selector can be added to a custom toolbar passed to `slots.toolbar`. See [Toolbar component—Settings menu](https://next.mui.com/x/react-data-grid/components/toolbar/#settings-menu) for an example.
|
|
33
|
+
- The quick filter is now shown in the toolbar by default. Use `slotProps={{ toolbar: { showQuickFilter: false } }}` to hide it.
|
|
34
|
+
- The `<GridSaveAltIcon />` icon is not exported anymore. Import `SaveAlt` from `@mui/icons-material` instead.
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid@8.0.0-alpha.14`
|
|
37
|
+
|
|
38
|
+
- [DataGrid] Fix `aria-hidden` console error when scrollbar is dragged (#16829) @arminmeh
|
|
39
|
+
- [DataGrid] Fix scroll jump with dynamic row height (#16763) @cherniavskii
|
|
40
|
+
- [DataGrid] New `<Toolbar />` component (#14611) @KenanYusuf
|
|
41
|
+
- [DataGrid] Use new toolbar by default (#16814) @KenanYusuf
|
|
42
|
+
- [DataGrid] Remove the quick filtering on a given column (#16738) @vadimka123
|
|
43
|
+
|
|
44
|
+
#### `@mui/x-data-grid-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
45
|
+
|
|
46
|
+
Same changes as in `@mui/x-data-grid@8.0.0-alpha.14`.
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-data-grid-premium@8.0.0-alpha.14` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
49
|
+
|
|
50
|
+
Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.14`.
|
|
51
|
+
|
|
52
|
+
### Date and Time Pickers
|
|
53
|
+
|
|
54
|
+
#### Breaking changes
|
|
55
|
+
|
|
56
|
+
- All Date Time Picker variants now use Digital Clock for time editing.
|
|
57
|
+
- Stop passing invalid date to `onChange` when the date is partially filled — [Learn more](https://next.mui.com/x/migration/migration-pickers-v7/#treat-partially-filled-date-as-null-in-onchange).
|
|
58
|
+
|
|
59
|
+
#### `@mui/x-date-pickers@8.0.0-alpha.14`
|
|
60
|
+
|
|
61
|
+
- [DateTimePicker] Use Digital Clock in all component variants (#16678) @LukasTy
|
|
62
|
+
- [fields] Always use `props.value` as the source of truth when defined (#15875) @flaviendelangle
|
|
63
|
+
- [fields] Fix Fields aria relationship with `helperText` (#16821) @LukasTy
|
|
64
|
+
- [pickers] Add `TValidationProps` generic to the `PickerManager` interface (#16832) @flaviendelangle
|
|
65
|
+
- [pickers] Fix `edge` property setting in different button position cases (#16838) @LukasTy
|
|
66
|
+
- [pickers] Fix typo in JSDoc (#16831) @flaviendelangle
|
|
67
|
+
- [pickers] Refactor the files in the `usePicker` folder (#16680) @flaviendelangle
|
|
68
|
+
|
|
69
|
+
#### `@mui/x-date-pickers-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
70
|
+
|
|
71
|
+
Same changes as in `@mui/x-date-pickers@8.0.0-alpha.14`.
|
|
72
|
+
|
|
73
|
+
### Charts
|
|
74
|
+
|
|
75
|
+
#### `@mui/x-charts@8.0.0-alpha.14`
|
|
76
|
+
|
|
77
|
+
- [charts] Fix `undefined` behaving differently from missing value for axis size (#16844) @bernardobelchior
|
|
78
|
+
- [charts] Fix x-axis text anchor default when language is RTL (#16836) @bernardobelchior
|
|
79
|
+
- [charts] Add Radar chart (#16406) @alexfauquette
|
|
80
|
+
- [charts] Move series default color generation in the series config (#16752) @alexfauquette
|
|
81
|
+
- [charts] Render axis title within axis size (#16730) @bernardobelchior
|
|
82
|
+
- [charts] Split `defaultizeAxis` function into two (#16745) @bernardobelchior
|
|
83
|
+
- [charts] Warn if axes data don't have enough elements (#16830) @alexfauquette
|
|
84
|
+
- [charts] XAxis: Add defaults for `textAnchor` and `dominantBaseline` based on `angle` (#16817) @bernardobelchior
|
|
85
|
+
|
|
86
|
+
#### `@mui/x-charts-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
87
|
+
|
|
88
|
+
Same changes as in `@mui/x-charts@8.0.0-alpha.14`, plus:
|
|
89
|
+
|
|
90
|
+
- [charts] Add Funnel chart (#14804) @JCQuintas
|
|
91
|
+
|
|
92
|
+
### Tree View
|
|
93
|
+
|
|
94
|
+
#### Breaking changes
|
|
95
|
+
|
|
96
|
+
- The `selectItem` method has been renamed `setItemSelection`:
|
|
97
|
+
|
|
98
|
+
```diff
|
|
99
|
+
const { publicAPI } = useTreeItemUtils();
|
|
100
|
+
|
|
101
|
+
const handleSelectItem() {
|
|
102
|
+
- publicAPI.selectItem({ event, itemId: props.itemId, shouldBeSelected: true })
|
|
103
|
+
+ publicAPI.setItemSelection({ event, itemId: props.itemId, shouldBeSelected: true })
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- The `setItemExpansion` method now receives a single object instead of a list of parameters:
|
|
108
|
+
|
|
109
|
+
```diff
|
|
110
|
+
const { publicAPI } = useTreeItemUtils();
|
|
111
|
+
|
|
112
|
+
const handleExpandItem() {
|
|
113
|
+
- publicAPI.setItemExpansion(event, props.itemId, true)
|
|
114
|
+
+ publicAPI.setItemExpansion({ event, itemId: props.itemId, shouldBeExpanded: true })
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
#### `@mui/x-tree-view@8.0.0-alpha.14`
|
|
119
|
+
|
|
120
|
+
- [TreeView] Clean the expansion and selection API methods (#16795) @flaviendelangle
|
|
121
|
+
|
|
122
|
+
#### `@mui/x-tree-view-pro@8.0.0-alpha.14` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
123
|
+
|
|
124
|
+
Same changes as in `@mui/x-tree-view@8.0.0-alpha.14`.
|
|
125
|
+
|
|
126
|
+
### Docs
|
|
127
|
+
|
|
128
|
+
- [docs] Fix padding package install on mobile (#16794) @oliviertassinari
|
|
129
|
+
- [docs] Typo fixes (#16835) @alexfauquette
|
|
130
|
+
|
|
131
|
+
### Core
|
|
132
|
+
|
|
133
|
+
- [code-infra] Fix console warning in telemetry package (#16816) @JCQuintas
|
|
134
|
+
- [code-infra] Split date-picker test files (#16825) @JCQuintas
|
|
135
|
+
- [infra] Replace PR label check workflow with reusable version (#16762) @michelengelen
|
|
136
|
+
- [infra] Update label in priority-support issue template (#16767) @michelengelen
|
|
137
|
+
- [test] Add timeout to flaky screenshot tests (#16852) @LukasTy
|
|
138
|
+
|
|
8
139
|
## 8.0.0-alpha.13
|
|
9
140
|
|
|
10
141
|
_Feb 28, 2025_
|
|
@@ -40,7 +40,7 @@ const GRID_BOOLEAN_COL_DEF = exports.GRID_BOOLEAN_COL_DEF = (0, _extends2.defaul
|
|
|
40
40
|
sortComparator: _gridSortingUtils.gridNumberComparator,
|
|
41
41
|
valueFormatter: gridBooleanFormatter,
|
|
42
42
|
filterOperators: (0, _gridBooleanOperators.getGridBooleanOperators)(),
|
|
43
|
-
getApplyQuickFilterFn:
|
|
43
|
+
getApplyQuickFilterFn: () => null,
|
|
44
44
|
// @ts-ignore
|
|
45
45
|
aggregable: false,
|
|
46
46
|
// @ts-ignore
|
|
@@ -26,7 +26,7 @@ const GRID_CHECKBOX_SELECTION_COL_DEF = exports.GRID_CHECKBOX_SELECTION_COL_DEF
|
|
|
26
26
|
disableColumnMenu: true,
|
|
27
27
|
disableReorder: true,
|
|
28
28
|
disableExport: true,
|
|
29
|
-
getApplyQuickFilterFn:
|
|
29
|
+
getApplyQuickFilterFn: () => null,
|
|
30
30
|
display: 'flex',
|
|
31
31
|
valueGetter: (value, row, column, apiRef) => {
|
|
32
32
|
const rowId = (0, _gridPropsSelectors.gridRowIdSelector)(apiRef, row);
|
|
@@ -255,6 +255,7 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
|
|
|
255
255
|
onChange: _propTypes.default.func,
|
|
256
256
|
onKeyDown: _propTypes.default.func,
|
|
257
257
|
placeholder: _propTypes.default.string,
|
|
258
|
+
role: _propTypes.default.string,
|
|
258
259
|
size: _propTypes.default.oneOf(['medium', 'small']),
|
|
259
260
|
slotProps: _propTypes.default.object,
|
|
260
261
|
style: _propTypes.default.object,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
|
|
3
|
+
import type { GridSlotProps } from '../../models';
|
|
4
|
+
export interface ColumnsPanelState {
|
|
5
|
+
/**
|
|
6
|
+
* If `true`, the columns panel is open.
|
|
7
|
+
*/
|
|
8
|
+
open: boolean;
|
|
9
|
+
}
|
|
10
|
+
export type ColumnsPanelTriggerProps = Omit<GridSlotProps['baseButton'], 'className'> & {
|
|
11
|
+
/**
|
|
12
|
+
* A function to customize rendering of the component.
|
|
13
|
+
*/
|
|
14
|
+
render?: RenderProp<GridSlotProps['baseButton'], ColumnsPanelState>;
|
|
15
|
+
/**
|
|
16
|
+
* Override or extend the styles applied to the component.
|
|
17
|
+
*/
|
|
18
|
+
className?: string | ((state: ColumnsPanelState) => string);
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* A button that opens and closes the columns panel.
|
|
22
|
+
* It renders the `baseButton` slot.
|
|
23
|
+
*
|
|
24
|
+
* Demos:
|
|
25
|
+
*
|
|
26
|
+
* - [Columns Panel](https://mui.com/x/react-data-grid/components/columns-panel/)
|
|
27
|
+
*
|
|
28
|
+
* API:
|
|
29
|
+
*
|
|
30
|
+
* - [ColumnsPanelTrigger API](https://mui.com/x/api/data-grid/columns-panel-trigger/)
|
|
31
|
+
*/
|
|
32
|
+
declare const ColumnsPanelTrigger: React.ForwardRefExoticComponent<ColumnsPanelTriggerProps> | React.ForwardRefExoticComponent<Omit<ColumnsPanelTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
export { ColumnsPanelTrigger };
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ColumnsPanelTrigger = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
14
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
15
|
+
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
|
+
var _hooks = require("../../hooks");
|
|
17
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
18
|
+
var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
const _excluded = ["render", "className", "onClick", "onPointerUp"];
|
|
21
|
+
/**
|
|
22
|
+
* A button that opens and closes the columns panel.
|
|
23
|
+
* It renders the `baseButton` slot.
|
|
24
|
+
*
|
|
25
|
+
* Demos:
|
|
26
|
+
*
|
|
27
|
+
* - [Columns Panel](https://mui.com/x/react-data-grid/components/columns-panel/)
|
|
28
|
+
*
|
|
29
|
+
* API:
|
|
30
|
+
*
|
|
31
|
+
* - [ColumnsPanelTrigger API](https://mui.com/x/api/data-grid/columns-panel-trigger/)
|
|
32
|
+
*/
|
|
33
|
+
const ColumnsPanelTrigger = exports.ColumnsPanelTrigger = (0, _forwardRef.forwardRef)(function ColumnsPanelTrigger(props, ref) {
|
|
34
|
+
const {
|
|
35
|
+
render,
|
|
36
|
+
className,
|
|
37
|
+
onClick,
|
|
38
|
+
onPointerUp
|
|
39
|
+
} = props,
|
|
40
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
41
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
42
|
+
const buttonId = (0, _useId.default)();
|
|
43
|
+
const panelId = (0, _useId.default)();
|
|
44
|
+
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
45
|
+
const panelState = (0, _hooks.useGridSelector)(apiRef, _hooks.gridPreferencePanelStateSelector);
|
|
46
|
+
const open = panelState.open && panelState.openedPanelValue === _hooks.GridPreferencePanelsValue.columns;
|
|
47
|
+
const state = {
|
|
48
|
+
open
|
|
49
|
+
};
|
|
50
|
+
const resolvedClassName = typeof className === 'function' ? className(state) : className;
|
|
51
|
+
const handleClick = event => {
|
|
52
|
+
if (open) {
|
|
53
|
+
apiRef.current.hidePreferences();
|
|
54
|
+
} else {
|
|
55
|
+
apiRef.current.showPreferences(_hooks.GridPreferencePanelsValue.columns, panelId, buttonId);
|
|
56
|
+
}
|
|
57
|
+
onClick?.(event);
|
|
58
|
+
};
|
|
59
|
+
const handlePointerUp = event => {
|
|
60
|
+
if (open) {
|
|
61
|
+
event.stopPropagation();
|
|
62
|
+
}
|
|
63
|
+
onPointerUp?.(event);
|
|
64
|
+
};
|
|
65
|
+
const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
|
|
66
|
+
id: buttonId,
|
|
67
|
+
'aria-haspopup': 'true',
|
|
68
|
+
'aria-expanded': open ? 'true' : undefined,
|
|
69
|
+
'aria-controls': open ? panelId : undefined,
|
|
70
|
+
onClick: handleClick,
|
|
71
|
+
onPointerUp: handlePointerUp,
|
|
72
|
+
className: resolvedClassName
|
|
73
|
+
}, other, {
|
|
74
|
+
ref
|
|
75
|
+
}), state);
|
|
76
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
77
|
+
children: element
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
process.env.NODE_ENV !== "production" ? ColumnsPanelTrigger.propTypes = {
|
|
81
|
+
// ----------------------------- Warning --------------------------------
|
|
82
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
83
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
84
|
+
// ----------------------------------------------------------------------
|
|
85
|
+
/**
|
|
86
|
+
* A ref for imperative actions.
|
|
87
|
+
* It currently only supports `focusVisible()` action.
|
|
88
|
+
*/
|
|
89
|
+
action: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
90
|
+
current: _propTypes.default.shape({
|
|
91
|
+
focusVisible: _propTypes.default.func.isRequired
|
|
92
|
+
})
|
|
93
|
+
})]),
|
|
94
|
+
/**
|
|
95
|
+
* If `true`, the ripples are centered.
|
|
96
|
+
* They won't start at the cursor interaction position.
|
|
97
|
+
* @default false
|
|
98
|
+
*/
|
|
99
|
+
centerRipple: _propTypes.default.bool,
|
|
100
|
+
/**
|
|
101
|
+
* Override or extend the styles applied to the component.
|
|
102
|
+
*/
|
|
103
|
+
className: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
|
|
104
|
+
/**
|
|
105
|
+
* The color of the component.
|
|
106
|
+
* It supports both default and custom theme colors, which can be added as shown in the
|
|
107
|
+
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
|
|
108
|
+
* @default 'primary'
|
|
109
|
+
*/
|
|
110
|
+
color: _propTypes.default.oneOf(['error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']),
|
|
111
|
+
component: _propTypes.default.elementType,
|
|
112
|
+
/**
|
|
113
|
+
* If `true`, the component is disabled.
|
|
114
|
+
*/
|
|
115
|
+
disabled: _propTypes.default.bool,
|
|
116
|
+
/**
|
|
117
|
+
* If `true`, no elevation is used.
|
|
118
|
+
* @default false
|
|
119
|
+
*/
|
|
120
|
+
disableElevation: _propTypes.default.bool,
|
|
121
|
+
/**
|
|
122
|
+
* If `true`, the keyboard focus ripple is disabled.
|
|
123
|
+
* @default false
|
|
124
|
+
*/
|
|
125
|
+
disableFocusRipple: _propTypes.default.bool,
|
|
126
|
+
/**
|
|
127
|
+
* If `true`, the ripple effect is disabled.
|
|
128
|
+
*
|
|
129
|
+
* ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
|
|
130
|
+
* to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
|
|
131
|
+
* @default false
|
|
132
|
+
*/
|
|
133
|
+
disableRipple: _propTypes.default.bool,
|
|
134
|
+
/**
|
|
135
|
+
* If `true`, the touch ripple effect is disabled.
|
|
136
|
+
* @default false
|
|
137
|
+
*/
|
|
138
|
+
disableTouchRipple: _propTypes.default.bool,
|
|
139
|
+
/**
|
|
140
|
+
* Element placed after the children.
|
|
141
|
+
*/
|
|
142
|
+
endIcon: _propTypes.default.node,
|
|
143
|
+
/**
|
|
144
|
+
* If `true`, the base button will have a keyboard focus ripple.
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
focusRipple: _propTypes.default.bool,
|
|
148
|
+
/**
|
|
149
|
+
* This prop can help identify which element has keyboard focus.
|
|
150
|
+
* The class name will be applied when the element gains the focus through keyboard interaction.
|
|
151
|
+
* It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
|
|
152
|
+
* The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
|
|
153
|
+
* A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
|
|
154
|
+
* if needed.
|
|
155
|
+
*/
|
|
156
|
+
focusVisibleClassName: _propTypes.default.string,
|
|
157
|
+
/**
|
|
158
|
+
* If `true`, the button will take up the full width of its container.
|
|
159
|
+
* @default false
|
|
160
|
+
*/
|
|
161
|
+
fullWidth: _propTypes.default.bool,
|
|
162
|
+
/**
|
|
163
|
+
* The URL to link to when the button is clicked.
|
|
164
|
+
* If defined, an `a` element will be used as the root node.
|
|
165
|
+
*/
|
|
166
|
+
href: _propTypes.default.string,
|
|
167
|
+
/**
|
|
168
|
+
* The component used to render a link when the `href` prop is provided.
|
|
169
|
+
* @default 'a'
|
|
170
|
+
*/
|
|
171
|
+
LinkComponent: _propTypes.default.elementType,
|
|
172
|
+
/**
|
|
173
|
+
* Callback fired when the component is focused with a keyboard.
|
|
174
|
+
* We trigger a `onFocus` callback too.
|
|
175
|
+
*/
|
|
176
|
+
onFocusVisible: _propTypes.default.func,
|
|
177
|
+
/**
|
|
178
|
+
* A function to customize rendering of the component.
|
|
179
|
+
*/
|
|
180
|
+
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
|
|
181
|
+
/**
|
|
182
|
+
* The size of the component.
|
|
183
|
+
* `small` is equivalent to the dense button styling.
|
|
184
|
+
*/
|
|
185
|
+
size: _propTypes.default.oneOf(['large', 'medium', 'small']),
|
|
186
|
+
/**
|
|
187
|
+
* Element placed before the children.
|
|
188
|
+
*/
|
|
189
|
+
startIcon: _propTypes.default.node,
|
|
190
|
+
style: _propTypes.default.object,
|
|
191
|
+
/**
|
|
192
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
193
|
+
*/
|
|
194
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
195
|
+
tabIndex: _propTypes.default.number,
|
|
196
|
+
/**
|
|
197
|
+
* Props applied to the `TouchRipple` element.
|
|
198
|
+
*/
|
|
199
|
+
TouchRippleProps: _propTypes.default.object,
|
|
200
|
+
/**
|
|
201
|
+
* A ref that points to the `TouchRipple` element.
|
|
202
|
+
*/
|
|
203
|
+
touchRippleRef: _propTypes.default.any,
|
|
204
|
+
/**
|
|
205
|
+
* The variant to use.
|
|
206
|
+
* @default 'text'
|
|
207
|
+
*/
|
|
208
|
+
variant: _propTypes.default.oneOf(['contained', 'outlined', 'text'])
|
|
209
|
+
} : void 0;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./ColumnsPanelTrigger.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _ColumnsPanelTrigger = require("./ColumnsPanelTrigger");
|
|
7
|
+
Object.keys(_ColumnsPanelTrigger).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _ColumnsPanelTrigger[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _ColumnsPanelTrigger[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
|
|
3
|
+
import { GridCsvExportOptions } from "../../models/gridExport.js";
|
|
4
|
+
import type { GridSlotProps } from '../../models';
|
|
5
|
+
export type ExportCsvProps = GridSlotProps['baseButton'] & {
|
|
6
|
+
/**
|
|
7
|
+
* A function to customize rendering of the component.
|
|
8
|
+
*/
|
|
9
|
+
render?: RenderProp<GridSlotProps['baseButton']>;
|
|
10
|
+
/**
|
|
11
|
+
* The options to apply on the CSV export.
|
|
12
|
+
* @demos
|
|
13
|
+
* - [CSV export](/x/react-data-grid/export/#csv-export)
|
|
14
|
+
*/
|
|
15
|
+
options?: GridCsvExportOptions;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A button that triggers a CSV export.
|
|
19
|
+
* It renders the `baseButton` slot.
|
|
20
|
+
*
|
|
21
|
+
* Demos:
|
|
22
|
+
*
|
|
23
|
+
* - [Export](https://mui.com/x/react-data-grid/components/export/)
|
|
24
|
+
*
|
|
25
|
+
* API:
|
|
26
|
+
*
|
|
27
|
+
* - [ExportCsv API](https://mui.com/x/api/data-grid/export-csv/)
|
|
28
|
+
*/
|
|
29
|
+
declare const ExportCsv: React.ForwardRefExoticComponent<ExportCsvProps> | React.ForwardRefExoticComponent<Omit<ExportCsvProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
30
|
+
export { ExportCsv };
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ExportCsv = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
|
+
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
15
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
16
|
+
var _useGridComponentRenderer = require("../../hooks/utils/useGridComponentRenderer");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
const _excluded = ["render", "options", "onClick"];
|
|
19
|
+
/**
|
|
20
|
+
* A button that triggers a CSV export.
|
|
21
|
+
* It renders the `baseButton` slot.
|
|
22
|
+
*
|
|
23
|
+
* Demos:
|
|
24
|
+
*
|
|
25
|
+
* - [Export](https://mui.com/x/react-data-grid/components/export/)
|
|
26
|
+
*
|
|
27
|
+
* API:
|
|
28
|
+
*
|
|
29
|
+
* - [ExportCsv API](https://mui.com/x/api/data-grid/export-csv/)
|
|
30
|
+
*/
|
|
31
|
+
const ExportCsv = exports.ExportCsv = (0, _forwardRef.forwardRef)(function ExportCsv(props, ref) {
|
|
32
|
+
const {
|
|
33
|
+
render,
|
|
34
|
+
options,
|
|
35
|
+
onClick
|
|
36
|
+
} = props,
|
|
37
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
38
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
39
|
+
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
40
|
+
const handleClick = event => {
|
|
41
|
+
apiRef.current.exportDataAsCsv(options);
|
|
42
|
+
onClick?.(event);
|
|
43
|
+
};
|
|
44
|
+
const element = (0, _useGridComponentRenderer.useGridComponentRenderer)(rootProps.slots.baseButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseButton, {
|
|
45
|
+
onClick: handleClick
|
|
46
|
+
}, other, {
|
|
47
|
+
ref
|
|
48
|
+
}));
|
|
49
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
50
|
+
children: element
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
process.env.NODE_ENV !== "production" ? ExportCsv.propTypes = {
|
|
54
|
+
// ----------------------------- Warning --------------------------------
|
|
55
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
56
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
57
|
+
// ----------------------------------------------------------------------
|
|
58
|
+
/**
|
|
59
|
+
* A ref for imperative actions.
|
|
60
|
+
* It currently only supports `focusVisible()` action.
|
|
61
|
+
*/
|
|
62
|
+
action: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.shape({
|
|
63
|
+
current: _propTypes.default.shape({
|
|
64
|
+
focusVisible: _propTypes.default.func.isRequired
|
|
65
|
+
})
|
|
66
|
+
})]),
|
|
67
|
+
/**
|
|
68
|
+
* If `true`, the ripples are centered.
|
|
69
|
+
* They won't start at the cursor interaction position.
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
centerRipple: _propTypes.default.bool,
|
|
73
|
+
className: _propTypes.default.string,
|
|
74
|
+
/**
|
|
75
|
+
* The color of the component.
|
|
76
|
+
* It supports both default and custom theme colors, which can be added as shown in the
|
|
77
|
+
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
|
|
78
|
+
* @default 'primary'
|
|
79
|
+
*/
|
|
80
|
+
color: _propTypes.default.oneOf(['error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']),
|
|
81
|
+
component: _propTypes.default.elementType,
|
|
82
|
+
/**
|
|
83
|
+
* If `true`, the component is disabled.
|
|
84
|
+
*/
|
|
85
|
+
disabled: _propTypes.default.bool,
|
|
86
|
+
/**
|
|
87
|
+
* If `true`, no elevation is used.
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
disableElevation: _propTypes.default.bool,
|
|
91
|
+
/**
|
|
92
|
+
* If `true`, the keyboard focus ripple is disabled.
|
|
93
|
+
* @default false
|
|
94
|
+
*/
|
|
95
|
+
disableFocusRipple: _propTypes.default.bool,
|
|
96
|
+
/**
|
|
97
|
+
* If `true`, the ripple effect is disabled.
|
|
98
|
+
*
|
|
99
|
+
* ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
|
|
100
|
+
* to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
|
|
101
|
+
* @default false
|
|
102
|
+
*/
|
|
103
|
+
disableRipple: _propTypes.default.bool,
|
|
104
|
+
/**
|
|
105
|
+
* If `true`, the touch ripple effect is disabled.
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
disableTouchRipple: _propTypes.default.bool,
|
|
109
|
+
/**
|
|
110
|
+
* Element placed after the children.
|
|
111
|
+
*/
|
|
112
|
+
endIcon: _propTypes.default.node,
|
|
113
|
+
/**
|
|
114
|
+
* If `true`, the base button will have a keyboard focus ripple.
|
|
115
|
+
* @default false
|
|
116
|
+
*/
|
|
117
|
+
focusRipple: _propTypes.default.bool,
|
|
118
|
+
/**
|
|
119
|
+
* This prop can help identify which element has keyboard focus.
|
|
120
|
+
* The class name will be applied when the element gains the focus through keyboard interaction.
|
|
121
|
+
* It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).
|
|
122
|
+
* The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).
|
|
123
|
+
* A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components
|
|
124
|
+
* if needed.
|
|
125
|
+
*/
|
|
126
|
+
focusVisibleClassName: _propTypes.default.string,
|
|
127
|
+
/**
|
|
128
|
+
* If `true`, the button will take up the full width of its container.
|
|
129
|
+
* @default false
|
|
130
|
+
*/
|
|
131
|
+
fullWidth: _propTypes.default.bool,
|
|
132
|
+
/**
|
|
133
|
+
* The URL to link to when the button is clicked.
|
|
134
|
+
* If defined, an `a` element will be used as the root node.
|
|
135
|
+
*/
|
|
136
|
+
href: _propTypes.default.string,
|
|
137
|
+
/**
|
|
138
|
+
* The component used to render a link when the `href` prop is provided.
|
|
139
|
+
* @default 'a'
|
|
140
|
+
*/
|
|
141
|
+
LinkComponent: _propTypes.default.elementType,
|
|
142
|
+
/**
|
|
143
|
+
* Callback fired when the component is focused with a keyboard.
|
|
144
|
+
* We trigger a `onFocus` callback too.
|
|
145
|
+
*/
|
|
146
|
+
onFocusVisible: _propTypes.default.func,
|
|
147
|
+
/**
|
|
148
|
+
* The options to apply on the CSV export.
|
|
149
|
+
* @demos
|
|
150
|
+
* - [CSV export](/x/react-data-grid/export/#csv-export)
|
|
151
|
+
*/
|
|
152
|
+
options: _propTypes.default.shape({
|
|
153
|
+
allColumns: _propTypes.default.bool,
|
|
154
|
+
delimiter: _propTypes.default.string,
|
|
155
|
+
escapeFormulas: _propTypes.default.bool,
|
|
156
|
+
fields: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
157
|
+
fileName: _propTypes.default.string,
|
|
158
|
+
getRowsToExport: _propTypes.default.func,
|
|
159
|
+
includeColumnGroupsHeaders: _propTypes.default.bool,
|
|
160
|
+
includeHeaders: _propTypes.default.bool,
|
|
161
|
+
shouldAppendQuotes: _propTypes.default.bool,
|
|
162
|
+
utf8WithBom: _propTypes.default.bool
|
|
163
|
+
}),
|
|
164
|
+
/**
|
|
165
|
+
* A function to customize rendering of the component.
|
|
166
|
+
*/
|
|
167
|
+
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
|
|
168
|
+
/**
|
|
169
|
+
* The size of the component.
|
|
170
|
+
* `small` is equivalent to the dense button styling.
|
|
171
|
+
*/
|
|
172
|
+
size: _propTypes.default.oneOf(['large', 'medium', 'small']),
|
|
173
|
+
/**
|
|
174
|
+
* Element placed before the children.
|
|
175
|
+
*/
|
|
176
|
+
startIcon: _propTypes.default.node,
|
|
177
|
+
style: _propTypes.default.object,
|
|
178
|
+
/**
|
|
179
|
+
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
180
|
+
*/
|
|
181
|
+
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
182
|
+
tabIndex: _propTypes.default.number,
|
|
183
|
+
/**
|
|
184
|
+
* Props applied to the `TouchRipple` element.
|
|
185
|
+
*/
|
|
186
|
+
TouchRippleProps: _propTypes.default.object,
|
|
187
|
+
/**
|
|
188
|
+
* A ref that points to the `TouchRipple` element.
|
|
189
|
+
*/
|
|
190
|
+
touchRippleRef: _propTypes.default.any,
|
|
191
|
+
/**
|
|
192
|
+
* The variant to use.
|
|
193
|
+
* @default 'text'
|
|
194
|
+
*/
|
|
195
|
+
variant: _propTypes.default.oneOf(['contained', 'outlined', 'text'])
|
|
196
|
+
} : void 0;
|