@mui/x-data-grid 6.3.1 → 6.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/DataGrid/DataGrid.js +20 -1
  3. package/DataGrid/useDataGridComponent.js +2 -2
  4. package/DataGrid/useDataGridProps.js +3 -1
  5. package/colDef/gridBooleanColDef.js +19 -1
  6. package/colDef/gridDateColDef.js +6 -2
  7. package/colDef/gridSingleSelectColDef.js +21 -1
  8. package/components/base/GridBody.js +2 -1
  9. package/components/containers/GridRootStyles.js +1 -0
  10. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  11. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  12. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +12 -1
  13. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -1
  14. package/hooks/features/clipboard/useGridClipboard.js +43 -26
  15. package/hooks/features/dimensions/useGridDimensions.js +2 -4
  16. package/hooks/features/editing/useGridCellEditing.js +7 -3
  17. package/hooks/features/editing/useGridRowEditing.js +7 -3
  18. package/hooks/features/export/serializers/csvSerializer.d.ts +5 -0
  19. package/hooks/features/export/serializers/csvSerializer.js +46 -6
  20. package/hooks/features/export/useGridCsvExport.d.ts +2 -1
  21. package/hooks/features/export/useGridCsvExport.js +7 -5
  22. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +11 -0
  23. package/index.js +1 -1
  24. package/internals/index.d.ts +3 -2
  25. package/internals/index.js +3 -2
  26. package/joy/icons.d.ts +33 -0
  27. package/joy/icons.js +433 -0
  28. package/joy/joySlots.js +114 -4
  29. package/legacy/DataGrid/DataGrid.js +20 -1
  30. package/legacy/DataGrid/useDataGridComponent.js +2 -2
  31. package/legacy/DataGrid/useDataGridProps.js +3 -1
  32. package/legacy/colDef/gridBooleanColDef.js +21 -1
  33. package/legacy/colDef/gridDateColDef.js +10 -2
  34. package/legacy/colDef/gridSingleSelectColDef.js +21 -1
  35. package/legacy/components/base/GridBody.js +2 -1
  36. package/legacy/components/containers/GridRootStyles.js +1 -0
  37. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  38. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  39. package/legacy/hooks/features/clipboard/useGridClipboard.js +44 -26
  40. package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -4
  41. package/legacy/hooks/features/editing/useGridCellEditing.js +7 -3
  42. package/legacy/hooks/features/editing/useGridRowEditing.js +7 -3
  43. package/legacy/hooks/features/export/serializers/csvSerializer.js +43 -6
  44. package/legacy/hooks/features/export/useGridCsvExport.js +8 -5
  45. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +10 -0
  46. package/legacy/index.js +1 -1
  47. package/legacy/internals/index.js +3 -2
  48. package/legacy/joy/icons.js +432 -0
  49. package/legacy/joy/joySlots.js +118 -4
  50. package/legacy/locales/deDE.js +2 -2
  51. package/legacy/locales/frFR.js +6 -6
  52. package/legacy/locales/ptBR.js +1 -1
  53. package/legacy/locales/ukUA.js +8 -9
  54. package/legacy/material/index.js +3 -1
  55. package/legacy/models/api/index.js +0 -1
  56. package/legacy/utils/domUtils.js +14 -1
  57. package/locales/deDE.js +2 -2
  58. package/locales/frFR.js +6 -6
  59. package/locales/ptBR.js +1 -1
  60. package/locales/ukUA.js +8 -9
  61. package/material/index.d.ts +1 -0
  62. package/material/index.js +3 -1
  63. package/models/api/gridApiCommon.d.ts +1 -2
  64. package/models/api/gridCoreApi.d.ts +4 -0
  65. package/models/api/index.d.ts +0 -1
  66. package/models/api/index.js +0 -1
  67. package/models/events/gridEventLookup.d.ts +6 -0
  68. package/models/gridSlotsComponent.d.ts +5 -0
  69. package/models/gridSlotsComponentsProps.d.ts +4 -0
  70. package/models/props/DataGridProps.d.ts +19 -0
  71. package/modern/DataGrid/DataGrid.js +20 -1
  72. package/modern/DataGrid/useDataGridComponent.js +2 -2
  73. package/modern/DataGrid/useDataGridProps.js +3 -1
  74. package/modern/colDef/gridBooleanColDef.js +19 -1
  75. package/modern/colDef/gridDateColDef.js +6 -2
  76. package/modern/colDef/gridSingleSelectColDef.js +21 -1
  77. package/modern/components/base/GridBody.js +2 -1
  78. package/modern/components/containers/GridRootStyles.js +1 -0
  79. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  80. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  81. package/modern/hooks/features/clipboard/useGridClipboard.js +43 -26
  82. package/modern/hooks/features/dimensions/useGridDimensions.js +1 -3
  83. package/modern/hooks/features/editing/useGridCellEditing.js +7 -3
  84. package/modern/hooks/features/editing/useGridRowEditing.js +7 -3
  85. package/modern/hooks/features/export/serializers/csvSerializer.js +44 -6
  86. package/modern/hooks/features/export/useGridCsvExport.js +7 -5
  87. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +11 -0
  88. package/modern/index.js +1 -1
  89. package/modern/internals/index.js +3 -2
  90. package/modern/joy/icons.js +433 -0
  91. package/modern/joy/joySlots.js +110 -4
  92. package/modern/locales/deDE.js +2 -2
  93. package/modern/locales/frFR.js +6 -6
  94. package/modern/locales/ptBR.js +1 -1
  95. package/modern/locales/ukUA.js +8 -9
  96. package/modern/material/index.js +3 -1
  97. package/modern/models/api/index.js +0 -1
  98. package/modern/utils/domUtils.js +13 -1
  99. package/node/DataGrid/DataGrid.js +20 -1
  100. package/node/DataGrid/useDataGridComponent.js +2 -2
  101. package/node/DataGrid/useDataGridProps.js +3 -1
  102. package/node/colDef/gridBooleanColDef.js +19 -1
  103. package/node/colDef/gridDateColDef.js +6 -2
  104. package/node/colDef/gridSingleSelectColDef.js +21 -1
  105. package/node/components/base/GridBody.js +2 -1
  106. package/node/components/containers/GridRootStyles.js +1 -0
  107. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -2
  108. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -2
  109. package/node/hooks/features/clipboard/useGridClipboard.js +42 -25
  110. package/node/hooks/features/dimensions/useGridDimensions.js +1 -3
  111. package/node/hooks/features/editing/useGridCellEditing.js +7 -3
  112. package/node/hooks/features/editing/useGridRowEditing.js +7 -3
  113. package/node/hooks/features/export/serializers/csvSerializer.js +46 -6
  114. package/node/hooks/features/export/useGridCsvExport.js +6 -3
  115. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +11 -0
  116. package/node/index.js +1 -1
  117. package/node/internals/index.js +23 -1
  118. package/node/joy/icons.js +471 -0
  119. package/node/joy/joySlots.js +110 -3
  120. package/node/locales/deDE.js +2 -2
  121. package/node/locales/frFR.js +6 -6
  122. package/node/locales/ptBR.js +1 -1
  123. package/node/locales/ukUA.js +8 -9
  124. package/node/material/index.js +3 -1
  125. package/node/models/api/index.js +0 -11
  126. package/node/utils/domUtils.js +15 -1
  127. package/package.json +1 -1
  128. package/utils/domUtils.d.ts +1 -0
  129. package/utils/domUtils.js +13 -1
  130. package/legacy/models/api/gridClipboardApi.js +0 -1
  131. package/models/api/gridClipboardApi.d.ts +0 -11
  132. package/models/api/gridClipboardApi.js +0 -1
  133. package/modern/models/api/gridClipboardApi.js +0 -1
  134. package/node/models/api/gridClipboardApi.js +0 -5
@@ -0,0 +1,432 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
+ var _excluded = ["sx", "fontSize"],
6
+ _excluded2 = ["sortingOrder"];
7
+ /**
8
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (MIT).
9
+ * All other copyright (c) for Lucide are held by Lucide Contributors 2022.
10
+ *
11
+ * Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted,
12
+ * provided that the above copyright notice and this permission notice appear in all copies.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
15
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
16
+ * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
17
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
18
+ * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19
+ */
20
+ import * as React from 'react';
21
+ import SvgIcon from '@mui/joy/SvgIcon';
22
+ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { jsxs as _jsxs } from "react/jsx-runtime";
25
+ function createSvgIcon(path, displayName) {
26
+ var fontSizeMap = {
27
+ small: 'lg',
28
+ medium: 'xl',
29
+ large: 'xl2',
30
+ inherit: undefined
31
+ };
32
+ // @ts-ignore internal component
33
+ function Component(_ref, ref) {
34
+ var sx = _ref.sx,
35
+ fontSize = _ref.fontSize,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ return /*#__PURE__*/_jsx(SvgIcon, _extends({
38
+ "data-testid": "".concat(displayName, "Icon"),
39
+ ref: ref,
40
+ fill: "none",
41
+ stroke: "currentColor",
42
+ strokeWidth: "2",
43
+ strokeLinecap: "round",
44
+ strokeLinejoin: "round",
45
+ sx: [{
46
+ fill: 'none'
47
+ }].concat(_toConsumableArray(Array.isArray(sx) ? sx : [sx])),
48
+ fontSize: fontSize ? fontSizeMap[fontSize] : undefined
49
+ }, props, {
50
+ children: path
51
+ }));
52
+ }
53
+ if (process.env.NODE_ENV !== 'production') {
54
+ // Need to set `displayName` on the inner component for React.memo.
55
+ // React prior to 16.14 ignores `displayName` on the wrapper.
56
+ Component.displayName = "".concat(displayName, "Icon");
57
+ }
58
+
59
+ // @ts-ignore internal component
60
+ Component.muiName = SvgIcon.muiName;
61
+
62
+ // @ts-ignore internal component
63
+ return /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Component));
64
+ }
65
+ export var GridArrowUpwardIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
66
+ children: [/*#__PURE__*/_jsx("line", {
67
+ x1: "12",
68
+ x2: "12",
69
+ y1: "19",
70
+ y2: "5"
71
+ }), /*#__PURE__*/_jsx("polyline", {
72
+ points: "5 12 12 5 19 12"
73
+ })]
74
+ }), 'ArrowUpward');
75
+ export var GridArrowDownwardIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
76
+ children: [/*#__PURE__*/_jsx("line", {
77
+ x1: "12",
78
+ x2: "12",
79
+ y1: "5",
80
+ y2: "19"
81
+ }), /*#__PURE__*/_jsx("polyline", {
82
+ points: "19 12 12 19 5 12"
83
+ })]
84
+ }), 'ArrowDownward');
85
+ export var GridKeyboardArrowLeft = createSvgIcon( /*#__PURE__*/_jsx("polyline", {
86
+ points: "15 18 9 12 15 6"
87
+ }), 'KeyboardArrowLeft');
88
+ export var GridKeyboardArrowRight = createSvgIcon( /*#__PURE__*/_jsx("polyline", {
89
+ points: "9 18 15 12 9 6"
90
+ }), 'KeyboardArrowRight');
91
+ export var GridExpandMoreIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
92
+ children: [/*#__PURE__*/_jsx("path", {
93
+ d: "m7 15 5 5 5-5"
94
+ }), /*#__PURE__*/_jsx("path", {
95
+ d: "m7 9 5-5 5 5"
96
+ })]
97
+ }), 'ExpandMore');
98
+ export var GridFilterListIcon = createSvgIcon( /*#__PURE__*/_jsx("polygon", {
99
+ points: "22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"
100
+ }), 'FilterList');
101
+ export var GridFilterAltIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
102
+ children: [/*#__PURE__*/_jsx("path", {
103
+ d: "M3 6h18"
104
+ }), /*#__PURE__*/_jsx("path", {
105
+ d: "M7 12h10"
106
+ }), /*#__PURE__*/_jsx("path", {
107
+ d: "M10 18h4"
108
+ })]
109
+ }), 'FilterAlt');
110
+ export var GridSearchIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
111
+ children: [/*#__PURE__*/_jsx("circle", {
112
+ cx: "11",
113
+ cy: "11",
114
+ r: "8"
115
+ }), /*#__PURE__*/_jsx("line", {
116
+ x1: "21",
117
+ x2: "16.65",
118
+ y1: "21",
119
+ y2: "16.65"
120
+ })]
121
+ }), 'Search');
122
+ export var GridMenuIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
123
+ children: [/*#__PURE__*/_jsx("rect", {
124
+ width: "18",
125
+ height: "18",
126
+ x: "3",
127
+ y: "3",
128
+ rx: "2"
129
+ }), /*#__PURE__*/_jsx("path", {
130
+ d: "M7 8h10"
131
+ }), /*#__PURE__*/_jsx("path", {
132
+ d: "M7 12h10"
133
+ }), /*#__PURE__*/_jsx("path", {
134
+ d: "M7 16h10"
135
+ })]
136
+ }), 'Menu');
137
+ export var GridCheckCircleIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
138
+ children: [/*#__PURE__*/_jsx("path", {
139
+ d: "M22 11.08V12a10 10 0 1 1-5.93-9.14"
140
+ }), /*#__PURE__*/_jsx("polyline", {
141
+ points: "22 4 12 14.01 9 11.01"
142
+ })]
143
+ }), 'CheckCircle');
144
+ export var GridColumnIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
145
+ children: [/*#__PURE__*/_jsx("rect", {
146
+ width: "18",
147
+ height: "18",
148
+ x: "3",
149
+ y: "3",
150
+ rx: "2",
151
+ ry: "2"
152
+ }), /*#__PURE__*/_jsx("line", {
153
+ x1: "12",
154
+ x2: "12",
155
+ y1: "3",
156
+ y2: "21"
157
+ })]
158
+ }), 'ColumnIcon');
159
+ export var GridSeparatorIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
160
+ d: "M11 19V5h2v14z"
161
+ }), 'Separator');
162
+ export var GridViewHeadlineIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
163
+ fill: "none",
164
+ stroke: "currentColor",
165
+ strokeWidth: "1.5",
166
+ d: "M3 12h18M3 12v4.5M3 12V7.5M21 12v4.5m0-4.5V7.5m-18 9v3.9a.6.6 0 0 0 .6.6h16.8a.6.6 0 0 0 .6-.6v-3.9m-18 0h18m0-9V3.6a.6.6 0 0 0-.6-.6H3.6a.6.6 0 0 0-.6.6v3.9m18 0H3"
167
+ }), 'ViewHeadline');
168
+ export var GridTableRowsIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
169
+ fill: "currentColor",
170
+ strokeWidth: "0",
171
+ d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5z"
172
+ }), 'TableRows');
173
+ export var GridViewStreamIcon = createSvgIcon( /*#__PURE__*/_jsx("path", {
174
+ d: "M4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zm0 6h16"
175
+ }), 'ViewStream');
176
+ export var GridTripleDotsVerticalIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
177
+ children: [/*#__PURE__*/_jsx("circle", {
178
+ cx: "12",
179
+ cy: "12",
180
+ r: "1"
181
+ }), /*#__PURE__*/_jsx("circle", {
182
+ cx: "12",
183
+ cy: "5",
184
+ r: "1"
185
+ }), /*#__PURE__*/_jsx("circle", {
186
+ cx: "12",
187
+ cy: "19",
188
+ r: "1"
189
+ })]
190
+ }), 'TripleDotsVertical');
191
+ export var GridCloseIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
192
+ children: [/*#__PURE__*/_jsx("circle", {
193
+ cx: "12",
194
+ cy: "12",
195
+ r: "10"
196
+ }), /*#__PURE__*/_jsx("line", {
197
+ x1: "15",
198
+ x2: "9",
199
+ y1: "9",
200
+ y2: "15"
201
+ }), /*#__PURE__*/_jsx("line", {
202
+ x1: "9",
203
+ x2: "15",
204
+ y1: "9",
205
+ y2: "15"
206
+ })]
207
+ }), 'Close');
208
+ export var GridAddIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
209
+ children: [/*#__PURE__*/_jsx("circle", {
210
+ cx: "12",
211
+ cy: "12",
212
+ r: "10"
213
+ }), /*#__PURE__*/_jsx("line", {
214
+ x1: "12",
215
+ x2: "12",
216
+ y1: "8",
217
+ y2: "16"
218
+ }), /*#__PURE__*/_jsx("line", {
219
+ x1: "8",
220
+ x2: "16",
221
+ y1: "12",
222
+ y2: "12"
223
+ })]
224
+ }), 'Add');
225
+ export var GridRemoveIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
226
+ children: [/*#__PURE__*/_jsx("circle", {
227
+ cx: "12",
228
+ cy: "12",
229
+ r: "10"
230
+ }), /*#__PURE__*/_jsx("line", {
231
+ x1: "15",
232
+ x2: "9",
233
+ y1: "9",
234
+ y2: "15"
235
+ }), /*#__PURE__*/_jsx("line", {
236
+ x1: "9",
237
+ x2: "15",
238
+ y1: "9",
239
+ y2: "15"
240
+ })]
241
+ }), 'Remove');
242
+ export var GridLoadIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
243
+ children: [/*#__PURE__*/_jsx("path", {
244
+ d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
245
+ }), /*#__PURE__*/_jsx("polyline", {
246
+ points: "7 10 12 15 17 10"
247
+ }), /*#__PURE__*/_jsx("line", {
248
+ x1: "12",
249
+ x2: "12",
250
+ y1: "15",
251
+ y2: "3"
252
+ })]
253
+ }), 'Load');
254
+ export var GridDragIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
255
+ children: [/*#__PURE__*/_jsx("circle", {
256
+ cx: "9",
257
+ cy: "12",
258
+ r: "1"
259
+ }), /*#__PURE__*/_jsx("circle", {
260
+ cx: "9",
261
+ cy: "5",
262
+ r: "1"
263
+ }), /*#__PURE__*/_jsx("circle", {
264
+ cx: "9",
265
+ cy: "19",
266
+ r: "1"
267
+ }), /*#__PURE__*/_jsx("circle", {
268
+ cx: "15",
269
+ cy: "12",
270
+ r: "1"
271
+ }), /*#__PURE__*/_jsx("circle", {
272
+ cx: "15",
273
+ cy: "5",
274
+ r: "1"
275
+ }), /*#__PURE__*/_jsx("circle", {
276
+ cx: "15",
277
+ cy: "19",
278
+ r: "1"
279
+ })]
280
+ }), 'Drag');
281
+ export var GridSaveAltIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
282
+ children: [/*#__PURE__*/_jsx("path", {
283
+ d: "M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"
284
+ }), /*#__PURE__*/_jsx("polyline", {
285
+ points: "14 2 14 8 20 8"
286
+ }), /*#__PURE__*/_jsx("path", {
287
+ d: "M12 12v6"
288
+ }), /*#__PURE__*/_jsx("path", {
289
+ d: "m15 15-3-3-3 3"
290
+ })]
291
+ }), 'SaveAlt');
292
+ export var GridCheckIcon = createSvgIcon( /*#__PURE__*/_jsx("polyline", {
293
+ points: "20 6 9 17 4 12"
294
+ }), 'Check');
295
+ export var GridMoreVertIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
296
+ children: [/*#__PURE__*/_jsx("circle", {
297
+ cx: "12",
298
+ cy: "12",
299
+ r: "1"
300
+ }), /*#__PURE__*/_jsx("circle", {
301
+ cx: "12",
302
+ cy: "5",
303
+ r: "1"
304
+ }), /*#__PURE__*/_jsx("circle", {
305
+ cx: "12",
306
+ cy: "19",
307
+ r: "1"
308
+ })]
309
+ }), 'MoreVert');
310
+ export var GridVisibilityOffIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
311
+ children: [/*#__PURE__*/_jsx("path", {
312
+ d: "M9.88 9.88a3 3 0 1 0 4.24 4.24"
313
+ }), /*#__PURE__*/_jsx("path", {
314
+ d: "M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68"
315
+ }), /*#__PURE__*/_jsx("path", {
316
+ d: "M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61"
317
+ }), /*#__PURE__*/_jsx("line", {
318
+ x1: "2",
319
+ x2: "22",
320
+ y1: "2",
321
+ y2: "22"
322
+ })]
323
+ }), 'VisibilityOff');
324
+ export var GridViewColumnIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
325
+ children: [/*#__PURE__*/_jsx("rect", {
326
+ width: "6",
327
+ height: "20",
328
+ x: "4",
329
+ y: "2",
330
+ rx: "2"
331
+ }), /*#__PURE__*/_jsx("rect", {
332
+ width: "6",
333
+ height: "20",
334
+ x: "14",
335
+ y: "2",
336
+ rx: "2"
337
+ })]
338
+ }), 'ViewColumn');
339
+ export var GridClearIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
340
+ children: [/*#__PURE__*/_jsx("path", {
341
+ d: "m7 21-4.3-4.3c-1-1-1-2.5 0-3.4l9.6-9.6c1-1 2.5-1 3.4 0l5.6 5.6c1 1 1 2.5 0 3.4L13 21"
342
+ }), /*#__PURE__*/_jsx("path", {
343
+ d: "M22 21H7"
344
+ }), /*#__PURE__*/_jsx("path", {
345
+ d: "m5 11 9 9"
346
+ })]
347
+ }), 'Clear');
348
+ export var GridDeleteIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
349
+ children: [/*#__PURE__*/_jsx("path", {
350
+ d: "M3 6h18"
351
+ }), /*#__PURE__*/_jsx("path", {
352
+ d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"
353
+ }), /*#__PURE__*/_jsx("path", {
354
+ d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"
355
+ }), /*#__PURE__*/_jsx("line", {
356
+ x1: "10",
357
+ x2: "10",
358
+ y1: "11",
359
+ y2: "17"
360
+ }), /*#__PURE__*/_jsx("line", {
361
+ x1: "14",
362
+ x2: "14",
363
+ y1: "11",
364
+ y2: "17"
365
+ })]
366
+ }), 'Delete');
367
+ export var GridDeleteForeverIcon = createSvgIcon( /*#__PURE__*/_jsxs(React.Fragment, {
368
+ children: [/*#__PURE__*/_jsx("path", {
369
+ d: "M3 6h18"
370
+ }), /*#__PURE__*/_jsx("path", {
371
+ d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"
372
+ }), /*#__PURE__*/_jsx("path", {
373
+ d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"
374
+ }), /*#__PURE__*/_jsx("line", {
375
+ x1: "10",
376
+ x2: "10",
377
+ y1: "11",
378
+ y2: "17"
379
+ }), /*#__PURE__*/_jsx("line", {
380
+ x1: "14",
381
+ x2: "14",
382
+ y1: "11",
383
+ y2: "17"
384
+ })]
385
+ }), 'Delete');
386
+ var GridColumnUnsortedIcon = /*#__PURE__*/React.memo(function GridColumnHeaderSortIcon(props) {
387
+ var sortingOrder = props.sortingOrder,
388
+ other = _objectWithoutProperties(props, _excluded2);
389
+ var rootProps = useGridRootProps();
390
+ var _sortingOrder = _slicedToArray(sortingOrder, 1),
391
+ nextSortDirection = _sortingOrder[0];
392
+ var Icon = nextSortDirection === 'asc' ? rootProps.slots.columnSortedAscendingIcon : rootProps.slots.columnSortedDescendingIcon;
393
+ return Icon ? /*#__PURE__*/_jsx(Icon, _extends({}, other)) : null;
394
+ });
395
+ var joyIconSlots = {
396
+ booleanCellTrueIcon: GridCheckIcon,
397
+ booleanCellFalseIcon: GridCloseIcon,
398
+ columnMenuIcon: GridTripleDotsVerticalIcon,
399
+ openFilterButtonIcon: GridFilterListIcon,
400
+ filterPanelDeleteIcon: GridCloseIcon,
401
+ columnFilteredIcon: GridFilterAltIcon,
402
+ columnSelectorIcon: GridColumnIcon,
403
+ columnUnsortedIcon: GridColumnUnsortedIcon,
404
+ columnSortedAscendingIcon: GridArrowUpwardIcon,
405
+ columnSortedDescendingIcon: GridArrowDownwardIcon,
406
+ columnResizeIcon: GridSeparatorIcon,
407
+ densityCompactIcon: GridViewHeadlineIcon,
408
+ densityStandardIcon: GridTableRowsIcon,
409
+ densityComfortableIcon: GridViewStreamIcon,
410
+ exportIcon: GridSaveAltIcon,
411
+ moreActionsIcon: GridMoreVertIcon,
412
+ treeDataCollapseIcon: GridExpandMoreIcon,
413
+ treeDataExpandIcon: GridKeyboardArrowRight,
414
+ groupingCriteriaCollapseIcon: GridExpandMoreIcon,
415
+ groupingCriteriaExpandIcon: GridKeyboardArrowRight,
416
+ detailPanelExpandIcon: GridAddIcon,
417
+ detailPanelCollapseIcon: GridRemoveIcon,
418
+ rowReorderIcon: GridDragIcon,
419
+ quickFilterIcon: GridSearchIcon,
420
+ quickFilterClearIcon: GridCloseIcon,
421
+ columnMenuHideIcon: GridVisibilityOffIcon,
422
+ columnMenuSortAscendingIcon: GridArrowUpwardIcon,
423
+ columnMenuSortDescendingIcon: GridArrowDownwardIcon,
424
+ columnMenuFilterIcon: GridFilterAltIcon,
425
+ columnMenuManageColumnsIcon: GridViewColumnIcon,
426
+ columnMenuClearIcon: GridClearIcon,
427
+ loadIcon: GridLoadIcon,
428
+ filterPanelAddIcon: GridAddIcon,
429
+ filterPanelRemoveAllIcon: GridDeleteForeverIcon,
430
+ columnReorderIcon: GridDragIcon
431
+ };
432
+ export default joyIconSlots;
@@ -19,7 +19,13 @@ import JoyIconButton from '@mui/joy/IconButton';
19
19
  import JoySwitch from '@mui/joy/Switch';
20
20
  import JoySelect from '@mui/joy/Select';
21
21
  import JoyOption from '@mui/joy/Option';
22
+ import JoyBox from '@mui/joy/Box';
23
+ import JoyTypography from '@mui/joy/Typography';
22
24
  import { unstable_useForkRef as useForkRef } from '@mui/utils';
25
+ import joyIconSlots, { GridKeyboardArrowRight, GridKeyboardArrowLeft } from './icons';
26
+ import { useGridApiContext } from '../hooks/utils/useGridApiContext';
27
+ import { useGridRootProps } from '../hooks/utils/useGridRootProps';
28
+ import { gridFilteredTopLevelRowCountSelector, gridPaginationModelSelector } from '../hooks';
23
29
  import { jsx as _jsx } from "react/jsx-runtime";
24
30
  import { jsxs as _jsxs } from "react/jsx-runtime";
25
31
  function convertColor(color) {
@@ -268,7 +274,115 @@ var InputLabel = /*#__PURE__*/React.forwardRef(function (_ref9, ref) {
268
274
  sx: sx
269
275
  }));
270
276
  });
271
- var joySlots = {
277
+ function labelDisplayedRows(_ref10) {
278
+ var from = _ref10.from,
279
+ to = _ref10.to,
280
+ count = _ref10.count;
281
+ return "".concat(from, "\u2013").concat(to, " of ").concat(count !== -1 ? count : "more than ".concat(to));
282
+ }
283
+ var getLabelDisplayedRowsTo = function getLabelDisplayedRowsTo(_ref11) {
284
+ var page = _ref11.page,
285
+ pageSize = _ref11.pageSize,
286
+ rowCount = _ref11.rowCount;
287
+ if (rowCount === -1) {
288
+ return (page + 1) * pageSize;
289
+ }
290
+ return pageSize === -1 ? rowCount : Math.min(rowCount, (page + 1) * pageSize);
291
+ };
292
+ var Pagination = /*#__PURE__*/React.forwardRef(function (props, ref) {
293
+ var _rootProps$pageSizeOp;
294
+ var apiRef = useGridApiContext();
295
+ var rootProps = useGridRootProps();
296
+ var paginationModel = gridPaginationModelSelector(apiRef);
297
+ var visibleTopLevelRowCount = gridFilteredTopLevelRowCountSelector(apiRef);
298
+ var rowCount = React.useMemo(function () {
299
+ var _ref12, _rootProps$rowCount;
300
+ return (_ref12 = (_rootProps$rowCount = rootProps.rowCount) != null ? _rootProps$rowCount : visibleTopLevelRowCount) != null ? _ref12 : 0;
301
+ }, [rootProps.rowCount, visibleTopLevelRowCount]);
302
+ var lastPage = React.useMemo(function () {
303
+ return Math.floor(rowCount / (paginationModel.pageSize || 1));
304
+ }, [rowCount, paginationModel.pageSize]);
305
+ var handlePageChange = React.useCallback(function (page) {
306
+ apiRef.current.setPage(page);
307
+ }, [apiRef]);
308
+ var page = paginationModel.page <= lastPage ? paginationModel.page : lastPage;
309
+ var pageSize = paginationModel.pageSize;
310
+ var pageSizeOptions = (_rootProps$pageSizeOp = rootProps.pageSizeOptions) != null && _rootProps$pageSizeOp.includes(pageSize) ? rootProps.pageSizeOptions : [];
311
+ var handleChangeRowsPerPage = function handleChangeRowsPerPage(event, newValue) {
312
+ var newPageSize = Number(newValue);
313
+ apiRef.current.setPageSize(newPageSize);
314
+ };
315
+ return /*#__PURE__*/_jsxs(JoyBox, {
316
+ sx: {
317
+ display: 'flex',
318
+ alignItems: 'center',
319
+ gap: 2,
320
+ justifyContent: 'flex-end',
321
+ px: 2
322
+ },
323
+ ref: ref,
324
+ children: [/*#__PURE__*/_jsxs(JoyFormControl, {
325
+ orientation: "horizontal",
326
+ size: "sm",
327
+ children: [/*#__PURE__*/_jsx(JoyFormLabel, {
328
+ children: "Rows per page:"
329
+ }), /*#__PURE__*/_jsx(JoySelect, {
330
+ onChange: handleChangeRowsPerPage,
331
+ value: pageSize,
332
+ children: pageSizeOptions.map(function (option) {
333
+ return /*#__PURE__*/_jsx(Option, {
334
+ value: option,
335
+ children: option
336
+ }, option);
337
+ })
338
+ })]
339
+ }), /*#__PURE__*/_jsx(JoyTypography, {
340
+ textAlign: "center",
341
+ fontSize: "xs",
342
+ fontWeight: "md",
343
+ children: labelDisplayedRows({
344
+ from: rowCount === 0 ? 0 : page * pageSize + 1,
345
+ to: getLabelDisplayedRowsTo({
346
+ page: page,
347
+ pageSize: pageSize,
348
+ rowCount: rowCount
349
+ }),
350
+ count: rowCount === -1 ? -1 : rowCount
351
+ })
352
+ }), /*#__PURE__*/_jsxs(JoyBox, {
353
+ sx: {
354
+ display: 'flex',
355
+ gap: 0.5
356
+ },
357
+ children: [/*#__PURE__*/_jsx(JoyIconButton, {
358
+ size: "sm",
359
+ color: "neutral",
360
+ variant: "outlined",
361
+ disabled: page === 0,
362
+ onClick: function onClick() {
363
+ return handlePageChange(page - 1);
364
+ },
365
+ sx: {
366
+ bgcolor: 'background.surface'
367
+ },
368
+ children: /*#__PURE__*/_jsx(GridKeyboardArrowLeft, {})
369
+ }), /*#__PURE__*/_jsx(JoyIconButton, {
370
+ size: "sm",
371
+ color: "neutral",
372
+ variant: "outlined",
373
+ disabled: rowCount !== -1 ? page >= Math.ceil(rowCount / pageSize) - 1 : false,
374
+ onClick: function onClick() {
375
+ return handlePageChange(page + 1);
376
+ },
377
+ sx: {
378
+ bgcolor: 'background.surface'
379
+ },
380
+ children: /*#__PURE__*/_jsx(GridKeyboardArrowRight, {})
381
+ })]
382
+ })]
383
+ });
384
+ });
385
+ var joySlots = _extends({}, joyIconSlots, {
272
386
  baseCheckbox: Checkbox,
273
387
  baseTextField: TextField,
274
388
  baseButton: Button,
@@ -277,9 +391,9 @@ var joySlots = {
277
391
  baseSelect: Select,
278
392
  baseSelectOption: Option,
279
393
  baseInputLabel: InputLabel,
280
- baseFormControl: JoyFormControl
394
+ baseFormControl: JoyFormControl,
281
395
  // BaseTooltip: MUITooltip,
282
396
  // BasePopper: MUIPopper,
283
- };
284
-
397
+ pagination: Pagination
398
+ });
285
399
  export default joySlots;
@@ -39,7 +39,7 @@ var deDEGrid = {
39
39
  columnsPanelHideAllButton: 'Verberge alle',
40
40
  // Filter panel text
41
41
  filterPanelAddFilter: 'Filter hinzufügen',
42
- // filterPanelRemoveAll: 'Remove all',
42
+ filterPanelRemoveAll: 'Alle entfernen',
43
43
  filterPanelDeleteIconLabel: 'Löschen',
44
44
  filterPanelLogicOperator: 'Logische Operatoren',
45
45
  filterPanelOperator: 'Operatoren',
@@ -69,7 +69,7 @@ var deDEGrid = {
69
69
  // Column menu text
70
70
  columnMenuLabel: 'Menü',
71
71
  columnMenuShowColumns: 'Zeige alle Spalten',
72
- // columnMenuManageColumns: 'Manage columns',
72
+ columnMenuManageColumns: 'Spalten verwalten',
73
73
  columnMenuFilter: 'Filter',
74
74
  columnMenuHideColumn: 'Verbergen',
75
75
  columnMenuUnsort: 'Sortierung deaktivieren',
@@ -7,7 +7,7 @@ var frFRGrid = {
7
7
  // Density selector toolbar button text
8
8
  toolbarDensity: 'Densité',
9
9
  toolbarDensityLabel: 'Densité',
10
- toolbarDensityCompact: 'Compact',
10
+ toolbarDensityCompact: 'Compacte',
11
11
  toolbarDensityStandard: 'Standard',
12
12
  toolbarDensityComfortable: 'Confortable',
13
13
  // Columns selector toolbar button text
@@ -22,7 +22,7 @@ var frFRGrid = {
22
22
  return count > 1 ? "".concat(count, " filtres actifs") : "".concat(count, " filtre actif");
23
23
  },
24
24
  // Quick filter toolbar field
25
- toolbarQuickFilterPlaceholder: 'Recherche…',
25
+ toolbarQuickFilterPlaceholder: 'Rechercher…',
26
26
  toolbarQuickFilterLabel: 'Recherche',
27
27
  toolbarQuickFilterDeleteIconLabel: 'Supprimer',
28
28
  // Export selector toolbar button text
@@ -32,7 +32,7 @@ var frFRGrid = {
32
32
  toolbarExportPrint: 'Imprimer',
33
33
  toolbarExportExcel: 'Télécharger pour Excel',
34
34
  // Columns panel text
35
- columnsPanelTextFieldLabel: 'Chercher colonne',
35
+ columnsPanelTextFieldLabel: 'Chercher une colonne',
36
36
  columnsPanelTextFieldPlaceholder: 'Titre de la colonne',
37
37
  columnsPanelDragIconLabel: 'Réorganiser la colonne',
38
38
  columnsPanelShowAllButton: 'Tout afficher',
@@ -45,12 +45,12 @@ var frFRGrid = {
45
45
  filterPanelOperator: 'Opérateur',
46
46
  filterPanelOperatorAnd: 'Et',
47
47
  filterPanelOperatorOr: 'Ou',
48
- filterPanelColumns: 'Colonnes',
48
+ filterPanelColumns: 'Colonne',
49
49
  filterPanelInputLabel: 'Valeur',
50
50
  filterPanelInputPlaceholder: 'Filtrer la valeur',
51
51
  // Filter operators text
52
52
  filterOperatorContains: 'contient',
53
- filterOperatorEquals: 'égal à',
53
+ filterOperatorEquals: 'est égal à',
54
54
  filterOperatorStartsWith: 'commence par',
55
55
  filterOperatorEndsWith: 'se termine par',
56
56
  filterOperatorIs: 'est',
@@ -86,7 +86,7 @@ var frFRGrid = {
86
86
  return count > 1 ? "".concat(count.toLocaleString(), " lignes s\xE9lectionn\xE9es") : "".concat(count.toLocaleString(), " ligne s\xE9lectionn\xE9e");
87
87
  },
88
88
  // Total row amount footer text
89
- footerTotalRows: 'Lignes totales :',
89
+ footerTotalRows: 'Total de lignes :',
90
90
  // Total visible row amount footer text
91
91
  footerTotalVisibleRows: function footerTotalVisibleRows(visibleCount, totalCount) {
92
92
  return "".concat(visibleCount.toLocaleString(), " sur ").concat(totalCount.toLocaleString());
@@ -39,7 +39,7 @@ var ptBRGrid = {
39
39
  columnsPanelHideAllButton: 'Ocultar todas',
40
40
  // Filter panel text
41
41
  filterPanelAddFilter: 'Adicionar filtro',
42
- // filterPanelRemoveAll: 'Remove all',
42
+ filterPanelRemoveAll: 'Remover todos',
43
43
  filterPanelDeleteIconLabel: 'Excluir',
44
44
  filterPanelLogicOperator: 'Operador lógico',
45
45
  filterPanelOperator: 'Operador',
@@ -53,7 +53,7 @@ var ukUAGrid = {
53
53
  columnsPanelHideAllButton: 'Приховати всі',
54
54
  // Filter panel text
55
55
  filterPanelAddFilter: 'Додати фільтр',
56
- // filterPanelRemoveAll: 'Remove all',
56
+ filterPanelRemoveAll: 'Видалити всі',
57
57
  filterPanelDeleteIconLabel: 'Видалити',
58
58
  filterPanelLogicOperator: 'Логічна функція',
59
59
  filterPanelOperator: 'Оператори',
@@ -83,7 +83,7 @@ var ukUAGrid = {
83
83
  // Column menu text
84
84
  columnMenuLabel: 'Меню',
85
85
  columnMenuShowColumns: 'Показати стовпці',
86
- // columnMenuManageColumns: 'Manage columns',
86
+ columnMenuManageColumns: 'Керування стовпцями',
87
87
  columnMenuFilter: 'Фільтр',
88
88
  columnMenuHideColumn: 'Приховати',
89
89
  columnMenuUnsort: 'Скасувати сортування',
@@ -147,12 +147,11 @@ var ukUAGrid = {
147
147
  // Row reordering text
148
148
  rowReorderingHeaderName: 'Порядок рядків',
149
149
  // Aggregation
150
- aggregationMenuItemHeader: 'Агрегація'
151
- // aggregationFunctionLabelSum: 'sum',
152
- // aggregationFunctionLabelAvg: 'avg',
153
- // aggregationFunctionLabelMin: 'min',
154
- // aggregationFunctionLabelMax: 'max',
155
- // aggregationFunctionLabelSize: 'size',
150
+ aggregationMenuItemHeader: 'Агрегація',
151
+ aggregationFunctionLabelSum: 'сума',
152
+ aggregationFunctionLabelAvg: 'сер',
153
+ aggregationFunctionLabelMin: 'мін',
154
+ aggregationFunctionLabelMax: 'макс',
155
+ aggregationFunctionLabelSize: 'кількість'
156
156
  };
157
-
158
157
  export var ukUA = getGridLocalization(ukUAGrid, ukUACore);