@mui/x-data-grid 8.0.0-alpha.4 → 8.0.0-alpha.6

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 (254) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/DataGrid/DataGrid.js +6 -9
  3. package/DataGrid/useDataGridProps.js +3 -3
  4. package/components/GridColumnHeaders.d.ts +1 -1
  5. package/components/GridColumnHeaders.js +4 -4
  6. package/components/GridFooter.d.ts +2 -1
  7. package/components/GridFooter.js +4 -4
  8. package/components/GridLoadingOverlay.d.ts +1 -1
  9. package/components/GridLoadingOverlay.js +10 -8
  10. package/components/GridNoResultsOverlay.d.ts +2 -1
  11. package/components/GridNoResultsOverlay.js +4 -4
  12. package/components/GridNoRowsOverlay.d.ts +2 -1
  13. package/components/GridNoRowsOverlay.js +4 -4
  14. package/components/GridPagination.d.ts +1 -1
  15. package/components/GridPagination.js +5 -3
  16. package/components/GridRow.d.ts +1 -1
  17. package/components/GridRow.js +15 -3
  18. package/components/GridRowCount.d.ts +1 -1
  19. package/components/GridRowCount.js +3 -2
  20. package/components/GridSelectedRowCount.d.ts +4 -1
  21. package/components/GridSelectedRowCount.js +3 -2
  22. package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
  23. package/components/GridSkeletonLoadingOverlay.js +4 -3
  24. package/components/cell/GridActionsCellItem.d.ts +1 -1
  25. package/components/cell/GridActionsCellItem.js +7 -8
  26. package/components/cell/GridCell.d.ts +1 -1
  27. package/components/cell/GridCell.js +3 -2
  28. package/components/cell/GridEditInputCell.d.ts +1 -1
  29. package/components/cell/GridEditInputCell.js +72 -3
  30. package/components/cell/GridSkeletonCell.js +1 -2
  31. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
  32. package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  33. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  34. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
  35. package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  36. package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
  37. package/components/columnHeaders/GridIconButtonContainer.js +5 -3
  38. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
  39. package/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  40. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  41. package/components/columnSelection/GridHeaderCheckbox.js +5 -3
  42. package/components/containers/GridFooterContainer.d.ts +1 -1
  43. package/components/containers/GridFooterContainer.js +5 -3
  44. package/components/containers/GridOverlay.d.ts +1 -1
  45. package/components/containers/GridOverlay.js +5 -3
  46. package/components/containers/GridRoot.d.ts +1 -1
  47. package/components/containers/GridRoot.js +5 -3
  48. package/components/containers/GridToolbarContainer.d.ts +1 -1
  49. package/components/containers/GridToolbarContainer.js +3 -2
  50. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
  51. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  52. package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
  53. package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  54. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  55. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  56. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  57. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  58. package/components/panel/GridPanel.d.ts +1 -1
  59. package/components/panel/GridPanel.js +3 -2
  60. package/components/panel/GridPanelWrapper.d.ts +1 -1
  61. package/components/panel/GridPanelWrapper.js +5 -3
  62. package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
  63. package/components/panel/filterPanel/GridFilterForm.js +3 -2
  64. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -1
  65. package/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  66. package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  67. package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
  68. package/components/panel/filterPanel/GridFilterPanel.js +4 -4
  69. package/components/panel/filterPanel/index.d.ts +2 -1
  70. package/components/panel/filterPanel/index.js +1 -1
  71. package/components/toolbar/GridToolbar.d.ts +1 -1
  72. package/components/toolbar/GridToolbar.js +4 -4
  73. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  74. package/components/toolbar/GridToolbarColumnsButton.js +3 -2
  75. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  76. package/components/toolbar/GridToolbarDensitySelector.js +6 -7
  77. package/components/toolbar/GridToolbarExport.d.ts +1 -1
  78. package/components/toolbar/GridToolbarExport.js +2 -1
  79. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  80. package/components/toolbar/GridToolbarExportContainer.js +3 -2
  81. package/components/toolbar/GridToolbarFilterButton.d.ts +2 -2
  82. package/components/toolbar/GridToolbarFilterButton.js +6 -2
  83. package/components/toolbar/GridToolbarQuickFilter.js +27 -23
  84. package/components/virtualization/GridMainContainer.d.ts +3 -1
  85. package/components/virtualization/GridMainContainer.js +4 -3
  86. package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
  87. package/components/virtualization/GridVirtualScrollbar.js +2 -1
  88. package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
  89. package/components/virtualization/GridVirtualScrollerContent.js +5 -5
  90. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
  91. package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  92. package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  93. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
  94. package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  95. package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
  96. package/hooks/features/columnResize/useGridColumnResize.js +9 -4
  97. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  98. package/hooks/features/columns/gridColumnsUtils.js +2 -1
  99. package/hooks/features/rows/useGridRowSpanning.js +76 -87
  100. package/index.js +1 -1
  101. package/internals/utils/index.d.ts +0 -1
  102. package/internals/utils/index.js +0 -1
  103. package/locales/koKR.js +45 -49
  104. package/locales/nlNL.js +5 -6
  105. package/material/index.js +36 -4
  106. package/models/gridBaseSlots.d.ts +36 -0
  107. package/models/gridBaseSlots.js +1 -0
  108. package/models/gridSlotsComponent.d.ts +16 -1
  109. package/models/gridSlotsComponentsProps.d.ts +38 -5
  110. package/models/props/DataGridProps.d.ts +0 -5
  111. package/modern/DataGrid/DataGrid.js +6 -9
  112. package/modern/DataGrid/useDataGridProps.js +3 -3
  113. package/modern/components/GridColumnHeaders.js +4 -4
  114. package/modern/components/GridFooter.js +4 -4
  115. package/modern/components/GridLoadingOverlay.js +10 -8
  116. package/modern/components/GridNoResultsOverlay.js +4 -4
  117. package/modern/components/GridNoRowsOverlay.js +4 -4
  118. package/modern/components/GridPagination.js +5 -3
  119. package/modern/components/GridRow.js +15 -3
  120. package/modern/components/GridRowCount.js +3 -2
  121. package/modern/components/GridSelectedRowCount.js +3 -2
  122. package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
  123. package/modern/components/cell/GridActionsCellItem.js +7 -8
  124. package/modern/components/cell/GridCell.js +3 -2
  125. package/modern/components/cell/GridEditInputCell.js +72 -3
  126. package/modern/components/cell/GridSkeletonCell.js +1 -2
  127. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  128. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  129. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  130. package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
  131. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  132. package/modern/components/columnSelection/GridHeaderCheckbox.js +5 -3
  133. package/modern/components/containers/GridFooterContainer.js +5 -3
  134. package/modern/components/containers/GridOverlay.js +5 -3
  135. package/modern/components/containers/GridRoot.js +5 -3
  136. package/modern/components/containers/GridToolbarContainer.js +3 -2
  137. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  138. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  139. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  140. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  141. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  142. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  143. package/modern/components/panel/GridPanel.js +3 -2
  144. package/modern/components/panel/GridPanelWrapper.js +5 -3
  145. package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
  146. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
  147. package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  148. package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
  149. package/modern/components/panel/filterPanel/index.js +1 -1
  150. package/modern/components/toolbar/GridToolbar.js +4 -4
  151. package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
  152. package/modern/components/toolbar/GridToolbarDensitySelector.js +6 -7
  153. package/modern/components/toolbar/GridToolbarExport.js +2 -1
  154. package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
  155. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -2
  156. package/modern/components/toolbar/GridToolbarQuickFilter.js +27 -23
  157. package/modern/components/virtualization/GridMainContainer.js +4 -3
  158. package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
  159. package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
  160. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  161. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  162. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  163. package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
  164. package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
  165. package/modern/hooks/features/rows/useGridRowSpanning.js +76 -87
  166. package/modern/index.js +1 -1
  167. package/modern/internals/utils/index.js +0 -1
  168. package/modern/locales/koKR.js +45 -49
  169. package/modern/locales/nlNL.js +5 -6
  170. package/modern/material/index.js +36 -4
  171. package/modern/models/gridBaseSlots.js +1 -0
  172. package/modern/utils/utils.js +6 -1
  173. package/node/DataGrid/DataGrid.js +6 -9
  174. package/node/DataGrid/useDataGridProps.js +2 -2
  175. package/node/components/GridColumnHeaders.js +4 -4
  176. package/node/components/GridFooter.js +4 -4
  177. package/node/components/GridLoadingOverlay.js +10 -8
  178. package/node/components/GridNoResultsOverlay.js +4 -4
  179. package/node/components/GridNoRowsOverlay.js +4 -4
  180. package/node/components/GridPagination.js +5 -3
  181. package/node/components/GridRow.js +15 -3
  182. package/node/components/GridRowCount.js +3 -2
  183. package/node/components/GridSelectedRowCount.js +3 -2
  184. package/node/components/GridSkeletonLoadingOverlay.js +4 -3
  185. package/node/components/cell/GridActionsCellItem.js +6 -7
  186. package/node/components/cell/GridCell.js +3 -2
  187. package/node/components/cell/GridEditInputCell.js +72 -3
  188. package/node/components/cell/GridSkeletonCell.js +1 -2
  189. package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  190. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  191. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  192. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
  193. package/node/components/columnSelection/GridCellCheckboxRenderer.js +5 -3
  194. package/node/components/columnSelection/GridHeaderCheckbox.js +5 -3
  195. package/node/components/containers/GridFooterContainer.js +5 -3
  196. package/node/components/containers/GridOverlay.js +5 -3
  197. package/node/components/containers/GridRoot.js +5 -3
  198. package/node/components/containers/GridToolbarContainer.js +3 -2
  199. package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
  200. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  201. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
  202. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
  203. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
  204. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  205. package/node/components/panel/GridPanel.js +3 -2
  206. package/node/components/panel/GridPanelWrapper.js +5 -3
  207. package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
  208. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +10 -11
  209. package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
  210. package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
  211. package/node/components/panel/filterPanel/index.js +7 -11
  212. package/node/components/toolbar/GridToolbar.js +4 -4
  213. package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
  214. package/node/components/toolbar/GridToolbarDensitySelector.js +6 -7
  215. package/node/components/toolbar/GridToolbarExport.js +2 -1
  216. package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
  217. package/node/components/toolbar/GridToolbarFilterButton.js +6 -2
  218. package/node/components/toolbar/GridToolbarQuickFilter.js +27 -23
  219. package/node/components/virtualization/GridMainContainer.js +4 -3
  220. package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
  221. package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
  222. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  223. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
  224. package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  225. package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
  226. package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
  227. package/node/hooks/features/rows/useGridRowSpanning.js +74 -85
  228. package/node/index.js +1 -1
  229. package/node/internals/utils/index.js +0 -11
  230. package/node/locales/koKR.js +45 -49
  231. package/node/locales/nlNL.js +5 -6
  232. package/node/material/index.js +37 -4
  233. package/node/models/gridBaseSlots.js +5 -0
  234. package/node/utils/utils.js +8 -1
  235. package/package.json +2 -2
  236. package/utils/utils.d.ts +1 -0
  237. package/utils/utils.js +6 -1
  238. package/internals/utils/useProps.d.ts +0 -1
  239. package/internals/utils/useProps.js +0 -24
  240. package/joy/icons.d.ts +0 -32
  241. package/joy/icons.js +0 -431
  242. package/joy/index.d.ts +0 -2
  243. package/joy/index.js +0 -2
  244. package/joy/joySlots.d.ts +0 -3
  245. package/joy/joySlots.js +0 -389
  246. package/joy/package.json +0 -6
  247. package/modern/internals/utils/useProps.js +0 -24
  248. package/modern/joy/icons.js +0 -431
  249. package/modern/joy/index.js +0 -2
  250. package/modern/joy/joySlots.js +0 -389
  251. package/node/internals/utils/useProps.js +0 -30
  252. package/node/joy/icons.js +0 -439
  253. package/node/joy/index.js +0 -13
  254. package/node/joy/joySlots.js +0 -397
@@ -1,389 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["slotProps", "variant", "color", "sx", "anchorOrigin"],
4
- _excluded2 = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
5
- _excluded3 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
6
- _excluded4 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
7
- _excluded5 = ["color", "size", "sx", "touchRippleRef"],
8
- _excluded6 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
9
- _excluded7 = ["native"],
10
- _excluded8 = ["shrink", "variant", "sx"];
11
- import * as React from 'react';
12
- import JoyBadge from '@mui/joy/Badge';
13
- import JoyCheckbox from '@mui/joy/Checkbox';
14
- import JoyDivider from '@mui/joy/Divider';
15
- import JoyInput from '@mui/joy/Input';
16
- import JoyFormControl from '@mui/joy/FormControl';
17
- import JoyFormLabel from '@mui/joy/FormLabel';
18
- import JoyButton from '@mui/joy/Button';
19
- import JoyIconButton from '@mui/joy/IconButton';
20
- import JoySelect from '@mui/joy/Select';
21
- import JoyOption from '@mui/joy/Option';
22
- import JoyBox from '@mui/joy/Box';
23
- import JoyTypography from '@mui/joy/Typography';
24
- import JoyCircularProgress from '@mui/joy/CircularProgress';
25
- import JoyTooltip from '@mui/joy/Tooltip';
26
- import { unstable_useForkRef as useForkRef } from '@mui/utils';
27
- import joyIconSlots, { GridKeyboardArrowRight, GridKeyboardArrowLeft } from "./icons.js";
28
- import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
29
- import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
30
- import { gridFilteredTopLevelRowCountSelector, gridPaginationModelSelector } from "../hooks/index.js";
31
- import { GridOverlay } from "../components/containers/GridOverlay.js";
32
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
33
- function convertColor(color) {
34
- if (color === 'secondary') {
35
- return 'primary';
36
- }
37
- if (color === 'error') {
38
- return 'danger';
39
- }
40
- if (color === 'default' || color === 'inherit') {
41
- return 'neutral';
42
- }
43
- return color;
44
- }
45
- function convertSize(size) {
46
- return size ? {
47
- small: 'sm',
48
- medium: 'md',
49
- large: 'lg'
50
- }[size] : size;
51
- }
52
- function convertVariant(variant, defaultVariant = 'plain') {
53
- if (!variant) {
54
- return defaultVariant;
55
- }
56
- return {
57
- standard: 'outlined',
58
- outlined: 'outlined',
59
- contained: 'solid',
60
- text: 'plain',
61
- filled: 'soft'
62
- }[variant] || defaultVariant;
63
- }
64
- const Badge = /*#__PURE__*/React.forwardRef((_ref, ref) => {
65
- let {
66
- color,
67
- sx,
68
- anchorOrigin
69
- } = _ref,
70
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
71
- return /*#__PURE__*/_jsx(JoyBadge, _extends({}, props, {
72
- anchorOrigin: anchorOrigin?.horizontal && anchorOrigin?.vertical ? anchorOrigin : {
73
- vertical: 'top',
74
- horizontal: 'right'
75
- },
76
- color: convertColor(color),
77
- variant: "plain",
78
- sx: sx,
79
- ref: ref
80
- }));
81
- });
82
- const Checkbox = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
83
- let {
84
- inputProps,
85
- onChange,
86
- checked,
87
- inputRef
88
- } = _ref2,
89
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
90
- return /*#__PURE__*/_jsx(JoyCheckbox, _extends({}, props, {
91
- slotProps: {
92
- input: _extends({}, inputProps, {
93
- ref: inputRef
94
- })
95
- },
96
- ref: ref,
97
- checked: checked,
98
- onChange: onChange
99
- }));
100
- });
101
- const TextField = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
102
- let {
103
- onChange,
104
- label,
105
- placeholder,
106
- value,
107
- inputRef,
108
- type,
109
- size,
110
- variant
111
- } = _ref3,
112
- props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
113
- const rootRef = useForkRef(ref, props.InputProps?.ref);
114
- const inputForkRef = useForkRef(inputRef, props?.inputProps?.ref);
115
- const {
116
- startAdornment,
117
- endAdornment
118
- } = props.InputProps || {};
119
- return /*#__PURE__*/_jsxs(JoyFormControl, {
120
- ref: rootRef,
121
- children: [/*#__PURE__*/_jsx(JoyFormLabel, {
122
- children: label
123
- }), /*#__PURE__*/_jsx(JoyInput, {
124
- type: type,
125
- value: value,
126
- onChange: onChange,
127
- placeholder: placeholder,
128
- variant: convertVariant(variant, 'outlined'),
129
- size: convertSize(size),
130
- slotProps: {
131
- input: _extends({}, props?.inputProps, {
132
- ref: inputForkRef
133
- })
134
- },
135
- startDecorator: startAdornment,
136
- endDecorator: endAdornment
137
- })]
138
- });
139
- });
140
- const Button = /*#__PURE__*/React.forwardRef(function Button(_ref4, ref) {
141
- let {
142
- startIcon,
143
- color,
144
- endIcon,
145
- size,
146
- sx,
147
- variant
148
- } = _ref4,
149
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
150
- return /*#__PURE__*/_jsx(JoyButton, _extends({}, props, {
151
- size: convertSize(size),
152
- color: convertColor(color),
153
- variant: convertVariant(variant),
154
- ref: ref,
155
- startDecorator: startIcon,
156
- endDecorator: endIcon,
157
- sx: sx
158
- }));
159
- });
160
- const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref5, ref) {
161
- let {
162
- color,
163
- size,
164
- sx
165
- } = _ref5,
166
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
167
- return /*#__PURE__*/_jsx(JoyIconButton, _extends({}, props, {
168
- size: convertSize(size),
169
- color: convertColor(color) ?? 'neutral',
170
- variant: "plain",
171
- ref: ref,
172
- sx: sx
173
- }));
174
- });
175
- const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
176
- let {
177
- open,
178
- onOpen,
179
- value,
180
- onChange,
181
- size,
182
- color,
183
- variant,
184
- MenuProps,
185
- inputRef,
186
- labelId
187
- } = _ref6,
188
- props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
189
- const handleChange = (event, newValue) => {
190
- if (event && onChange) {
191
- // Same as in https://github.com/mui/material-ui/blob/e5558282a8f36856aef1299f3a36f3235e92e770/packages/mui-material/src/Select/SelectInput.js#L288-L300
192
-
193
- // Redefine target to allow name and value to be read.
194
- // This allows seamless integration with the most popular form libraries.
195
- // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492
196
- // Clone the event to not override `target` of the original event.
197
- const nativeEvent = event.nativeEvent || event;
198
- // @ts-ignore The nativeEvent is function, not object
199
- const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);
200
- Object.defineProperty(clonedEvent, 'target', {
201
- writable: true,
202
- value: {
203
- value: newValue,
204
- name: props.name
205
- }
206
- });
207
- onChange(clonedEvent, null);
208
- }
209
- };
210
- return /*#__PURE__*/_jsx(JoySelect, _extends({}, props, {
211
- listboxOpen: open,
212
- onListboxOpenChange: isOpen => {
213
- if (isOpen) {
214
- onOpen?.({});
215
- } else {
216
- MenuProps?.onClose?.({}, undefined);
217
- }
218
- },
219
- size: convertSize(size),
220
- color: convertColor(color),
221
- variant: convertVariant(variant, 'outlined'),
222
- ref: ref,
223
- value: value,
224
- onChange: handleChange,
225
- slotProps: {
226
- button: {
227
- 'aria-labelledby': labelId,
228
- ref: inputRef
229
- },
230
- listbox: {
231
- disablePortal: false,
232
- sx: {
233
- zIndex: 1350
234
- }
235
- }
236
- }
237
- }));
238
- });
239
- const Option = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
240
- let props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
241
- return /*#__PURE__*/_jsx(JoyOption, _extends({}, props, {
242
- ref: ref
243
- }));
244
- });
245
- const InputLabel = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
246
- let {
247
- sx
248
- } = _ref8,
249
- props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
250
- return /*#__PURE__*/_jsx(JoyFormLabel, _extends({}, props, {
251
- ref: ref,
252
- sx: sx
253
- }));
254
- });
255
- function labelDisplayedRows({
256
- from,
257
- to,
258
- count
259
- }) {
260
- return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
261
- }
262
- const getLabelDisplayedRowsTo = ({
263
- page,
264
- pageSize,
265
- rowCount
266
- }) => {
267
- if (rowCount === -1) {
268
- return (page + 1) * pageSize;
269
- }
270
- return pageSize === -1 ? rowCount : Math.min(rowCount, (page + 1) * pageSize);
271
- };
272
- const Pagination = /*#__PURE__*/React.forwardRef((props, ref) => {
273
- const apiRef = useGridApiContext();
274
- const rootProps = useGridRootProps();
275
- const paginationModel = gridPaginationModelSelector(apiRef);
276
- const visibleTopLevelRowCount = gridFilteredTopLevelRowCountSelector(apiRef);
277
- const rowCount = React.useMemo(() => rootProps.rowCount ?? visibleTopLevelRowCount ?? 0, [rootProps.rowCount, visibleTopLevelRowCount]);
278
- const lastPage = React.useMemo(() => Math.floor(rowCount / (paginationModel.pageSize || 1)), [rowCount, paginationModel.pageSize]);
279
- const handlePageChange = React.useCallback(page => {
280
- apiRef.current.setPage(page);
281
- }, [apiRef]);
282
- const page = paginationModel.page <= lastPage ? paginationModel.page : lastPage;
283
- const pageSize = paginationModel.pageSize;
284
- const isPageSizeIncludedInPageSizeOptions = () => {
285
- for (let i = 0; i < rootProps.pageSizeOptions.length; i += 1) {
286
- const option = rootProps.pageSizeOptions[i];
287
- if (typeof option === 'number') {
288
- if (option === pageSize) {
289
- return true;
290
- }
291
- } else if (option.value === pageSize) {
292
- return true;
293
- }
294
- }
295
- return false;
296
- };
297
- const pageSizeOptions = isPageSizeIncludedInPageSizeOptions() ? rootProps.pageSizeOptions : [];
298
- const handleChangeRowsPerPage = (event, newValue) => {
299
- const newPageSize = Number(newValue);
300
- apiRef.current.setPageSize(newPageSize);
301
- };
302
- return /*#__PURE__*/_jsxs(JoyBox, {
303
- sx: {
304
- display: 'flex',
305
- alignItems: 'center',
306
- gap: 2,
307
- justifyContent: 'flex-end',
308
- px: 2
309
- },
310
- ref: ref,
311
- children: [/*#__PURE__*/_jsxs(JoyFormControl, {
312
- orientation: "horizontal",
313
- size: "sm",
314
- children: [/*#__PURE__*/_jsx(JoyFormLabel, {
315
- children: "Rows per page:"
316
- }), /*#__PURE__*/_jsx(JoySelect, {
317
- onChange: handleChangeRowsPerPage,
318
- value: pageSize,
319
- children: pageSizeOptions.map(option => {
320
- return /*#__PURE__*/_jsx(Option, {
321
- value: typeof option !== 'number' && option.value ? option.value : option,
322
- children: typeof option !== 'number' && option.label ? option.label : `${option}`
323
- }, typeof option !== 'number' && option.label ? option.label : `${option}`);
324
- })
325
- })]
326
- }), /*#__PURE__*/_jsx(JoyTypography, {
327
- textAlign: "center",
328
- fontSize: "xs",
329
- fontWeight: "md",
330
- children: labelDisplayedRows({
331
- from: rowCount === 0 ? 0 : page * pageSize + 1,
332
- to: getLabelDisplayedRowsTo({
333
- page,
334
- pageSize,
335
- rowCount
336
- }),
337
- count: rowCount === -1 ? -1 : rowCount
338
- })
339
- }), /*#__PURE__*/_jsxs(JoyBox, {
340
- sx: {
341
- display: 'flex',
342
- gap: 0.5
343
- },
344
- children: [/*#__PURE__*/_jsx(JoyIconButton, {
345
- size: "sm",
346
- color: "neutral",
347
- variant: "outlined",
348
- disabled: page === 0,
349
- onClick: () => handlePageChange(page - 1),
350
- sx: {
351
- bgcolor: 'background.surface'
352
- },
353
- children: /*#__PURE__*/_jsx(GridKeyboardArrowLeft, {})
354
- }), /*#__PURE__*/_jsx(JoyIconButton, {
355
- size: "sm",
356
- color: "neutral",
357
- variant: "outlined",
358
- disabled: rowCount !== -1 ? page >= Math.ceil(rowCount / pageSize) - 1 : false,
359
- onClick: () => handlePageChange(page + 1),
360
- sx: {
361
- bgcolor: 'background.surface'
362
- },
363
- children: /*#__PURE__*/_jsx(GridKeyboardArrowRight, {})
364
- })]
365
- })]
366
- });
367
- });
368
- const LoadingOverlay = /*#__PURE__*/React.forwardRef((props, ref) => {
369
- return /*#__PURE__*/_jsx(GridOverlay, _extends({}, props, {
370
- ref: ref,
371
- children: /*#__PURE__*/_jsx(JoyCircularProgress, {})
372
- }));
373
- });
374
- const joySlots = _extends({}, joyIconSlots, {
375
- baseBadge: Badge,
376
- baseCheckbox: Checkbox,
377
- baseDivider: JoyDivider,
378
- baseTextField: TextField,
379
- baseButton: Button,
380
- baseIconButton: IconButton,
381
- baseSelect: Select,
382
- baseSelectOption: Option,
383
- baseInputLabel: InputLabel,
384
- baseFormControl: JoyFormControl /* FIXME: typing error */,
385
- baseTooltip: JoyTooltip /* FIXME: typing error */,
386
- pagination: Pagination,
387
- loadingOverlay: LoadingOverlay
388
- });
389
- export default joySlots;
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.useProps = useProps;
8
- var React = _interopRequireWildcard(require("react"));
9
- /** Gathers props for the root element into a single `.forwardedProps` field */
10
- function groupForwardedProps(props) {
11
- const keys = Object.keys(props);
12
- if (!keys.some(key => key.startsWith('aria-') || key.startsWith('data-'))) {
13
- return props;
14
- }
15
- const newProps = {};
16
- const forwardedProps = props.forwardedProps ?? {};
17
- for (let i = 0; i < keys.length; i += 1) {
18
- const key = keys[i];
19
- if (key.startsWith('aria-') || key.startsWith('data-')) {
20
- forwardedProps[key] = props[key];
21
- } else {
22
- newProps[key] = props[key];
23
- }
24
- }
25
- newProps.forwardedProps = forwardedProps;
26
- return newProps;
27
- }
28
- function useProps(allProps) {
29
- return React.useMemo(() => groupForwardedProps(allProps), [allProps]);
30
- }