@mui/material 6.4.5 → 6.4.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.
- package/Accordion/Accordion.d.ts +14 -12
- package/Alert/Alert.d.ts +3 -15
- package/Backdrop/Backdrop.d.ts +14 -12
- package/CHANGELOG.md +38 -0
- package/CardHeader/CardHeader.d.ts +4 -20
- package/Checkbox/Checkbox.d.ts +45 -9
- package/Checkbox/Checkbox.js +51 -21
- package/Dialog/Dialog.d.ts +4 -4
- package/Drawer/Drawer.d.ts +92 -1
- package/Drawer/Drawer.js +108 -36
- package/InputBase/inputBaseClasses.d.ts +15 -6
- package/Menu/Menu.d.ts +88 -1
- package/Menu/Menu.js +58 -19
- package/Modal/Modal.js +9 -10
- package/Popover/Popover.d.ts +60 -6
- package/Popover/Popover.js +78 -51
- package/Radio/Radio.d.ts +45 -1
- package/Radio/Radio.js +59 -16
- package/Select/SelectInput.js +8 -8
- package/Snackbar/Snackbar.d.ts +79 -2
- package/Snackbar/Snackbar.js +110 -32
- package/SpeedDial/SpeedDial.d.ts +8 -6
- package/SpeedDialAction/SpeedDialAction.d.ts +82 -1
- package/SpeedDialAction/SpeedDialAction.js +108 -30
- package/StepContent/StepContent.d.ts +2 -2
- package/SwipeableDrawer/SwipeableDrawer.d.ts +28 -2
- package/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/Switch/Switch.js +2 -0
- package/Tabs/Tabs.d.ts +129 -29
- package/Tabs/Tabs.js +120 -52
- package/Tabs/tabsClasses.d.ts +4 -0
- package/Tabs/tabsClasses.js +1 -1
- package/Tooltip/Tooltip.d.ts +20 -12
- package/index.js +1 -1
- package/internal/SwitchBase.d.ts +35 -1
- package/internal/SwitchBase.js +84 -30
- package/modern/Checkbox/Checkbox.js +51 -21
- package/modern/Drawer/Drawer.js +108 -36
- package/modern/Menu/Menu.js +58 -19
- package/modern/Modal/Modal.js +9 -10
- package/modern/Popover/Popover.js +78 -51
- package/modern/Radio/Radio.js +59 -16
- package/modern/Select/SelectInput.js +8 -8
- package/modern/Snackbar/Snackbar.js +110 -32
- package/modern/SpeedDialAction/SpeedDialAction.js +108 -30
- package/modern/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/modern/Switch/Switch.js +2 -0
- package/modern/Tabs/Tabs.js +120 -52
- package/modern/Tabs/tabsClasses.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internal/SwitchBase.js +84 -30
- package/modern/styles/createThemeNoVars.js +7 -2
- package/modern/version/index.js +2 -2
- package/node/Checkbox/Checkbox.js +51 -21
- package/node/Drawer/Drawer.js +108 -36
- package/node/Menu/Menu.js +58 -19
- package/node/Modal/Modal.js +9 -10
- package/node/Popover/Popover.js +78 -51
- package/node/Radio/Radio.js +59 -16
- package/node/Select/SelectInput.js +8 -8
- package/node/Snackbar/Snackbar.js +110 -32
- package/node/SpeedDialAction/SpeedDialAction.js +108 -30
- package/node/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/node/Switch/Switch.js +2 -0
- package/node/Tabs/Tabs.js +120 -52
- package/node/Tabs/tabsClasses.js +1 -1
- package/node/index.js +1 -1
- package/node/internal/SwitchBase.js +84 -30
- package/node/styles/createThemeNoVars.js +7 -2
- package/node/version/index.js +2 -2
- package/package.json +6 -6
- package/styles/createThemeNoVars.js +7 -2
- package/version/index.js +2 -2
package/node/Drawer/Drawer.js
CHANGED
|
@@ -24,6 +24,8 @@ var _zeroStyled = require("../zero-styled");
|
|
|
24
24
|
var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
|
|
25
25
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
26
26
|
var _drawerClasses = require("./drawerClasses");
|
|
27
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
28
|
+
var _utils = require("../utils");
|
|
27
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
30
|
const overridesResolver = (props, styles) => {
|
|
29
31
|
const {
|
|
@@ -203,9 +205,11 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {
|
|
|
203
205
|
PaperProps = {},
|
|
204
206
|
SlideProps,
|
|
205
207
|
// eslint-disable-next-line react/prop-types
|
|
206
|
-
TransitionComponent
|
|
208
|
+
TransitionComponent,
|
|
207
209
|
transitionDuration = defaultTransitionDuration,
|
|
208
210
|
variant = 'temporary',
|
|
211
|
+
slots = {},
|
|
212
|
+
slotProps = {},
|
|
209
213
|
...other
|
|
210
214
|
} = props;
|
|
211
215
|
|
|
@@ -229,56 +233,100 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {
|
|
|
229
233
|
...other
|
|
230
234
|
};
|
|
231
235
|
const classes = useUtilityClasses(ownerState);
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
+
const externalForwardedProps = {
|
|
237
|
+
slots: {
|
|
238
|
+
transition: TransitionComponent,
|
|
239
|
+
...slots
|
|
240
|
+
},
|
|
241
|
+
slotProps: {
|
|
242
|
+
paper: PaperProps,
|
|
243
|
+
transition: SlideProps,
|
|
244
|
+
...slotProps,
|
|
245
|
+
backdrop: (0, _utils.mergeSlotProps)(slotProps.backdrop || {
|
|
246
|
+
...BackdropProps,
|
|
247
|
+
...BackdropPropsProp
|
|
248
|
+
}, {
|
|
249
|
+
transitionDuration
|
|
250
|
+
})
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
const [RootSlot, rootSlotProps] = (0, _useSlot.default)('root', {
|
|
254
|
+
ref,
|
|
255
|
+
elementType: DrawerRoot,
|
|
256
|
+
className: (0, _clsx.default)(classes.root, classes.modal, className),
|
|
257
|
+
shouldForwardComponentProp: true,
|
|
258
|
+
ownerState,
|
|
259
|
+
externalForwardedProps: {
|
|
260
|
+
...externalForwardedProps,
|
|
261
|
+
...other,
|
|
262
|
+
...ModalProps
|
|
263
|
+
},
|
|
264
|
+
additionalProps: {
|
|
265
|
+
open,
|
|
266
|
+
onClose,
|
|
267
|
+
hideBackdrop,
|
|
268
|
+
slots: {
|
|
269
|
+
backdrop: externalForwardedProps.slots.backdrop
|
|
270
|
+
},
|
|
271
|
+
slotProps: {
|
|
272
|
+
backdrop: externalForwardedProps.slotProps.backdrop
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
const [PaperSlot, paperSlotProps] = (0, _useSlot.default)('paper', {
|
|
277
|
+
elementType: DrawerPaper,
|
|
278
|
+
shouldForwardComponentProp: true,
|
|
236
279
|
className: (0, _clsx.default)(classes.paper, PaperProps.className),
|
|
237
|
-
ownerState
|
|
280
|
+
ownerState,
|
|
281
|
+
externalForwardedProps,
|
|
282
|
+
additionalProps: {
|
|
283
|
+
elevation: variant === 'temporary' ? elevation : 0,
|
|
284
|
+
square: true
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
const [DockedSlot, dockedSlotProps] = (0, _useSlot.default)('docked', {
|
|
288
|
+
elementType: DrawerDockedRoot,
|
|
289
|
+
ref,
|
|
290
|
+
className: (0, _clsx.default)(classes.root, classes.docked, className),
|
|
291
|
+
ownerState,
|
|
292
|
+
externalForwardedProps,
|
|
293
|
+
additionalProps: other // pass `other` here because `DockedSlot` is also a root slot for some variants
|
|
294
|
+
});
|
|
295
|
+
const [TransitionSlot, transitionSlotProps] = (0, _useSlot.default)('transition', {
|
|
296
|
+
elementType: _Slide.default,
|
|
297
|
+
ownerState,
|
|
298
|
+
externalForwardedProps,
|
|
299
|
+
additionalProps: {
|
|
300
|
+
in: open,
|
|
301
|
+
direction: oppositeDirection[anchorInvariant],
|
|
302
|
+
timeout: transitionDuration,
|
|
303
|
+
appear: mounted.current
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
const drawer = /*#__PURE__*/(0, _jsxRuntime.jsx)(PaperSlot, {
|
|
307
|
+
...paperSlotProps,
|
|
238
308
|
children: children
|
|
239
309
|
});
|
|
240
310
|
if (variant === 'permanent') {
|
|
241
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
242
|
-
|
|
243
|
-
ownerState: ownerState,
|
|
244
|
-
ref: ref,
|
|
245
|
-
...other,
|
|
311
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DockedSlot, {
|
|
312
|
+
...dockedSlotProps,
|
|
246
313
|
children: drawer
|
|
247
314
|
});
|
|
248
315
|
}
|
|
249
|
-
const slidingDrawer = /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
250
|
-
|
|
251
|
-
direction: oppositeDirection[anchorInvariant],
|
|
252
|
-
timeout: transitionDuration,
|
|
253
|
-
appear: mounted.current,
|
|
254
|
-
...SlideProps,
|
|
316
|
+
const slidingDrawer = /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionSlot, {
|
|
317
|
+
...transitionSlotProps,
|
|
255
318
|
children: drawer
|
|
256
319
|
});
|
|
257
320
|
if (variant === 'persistent') {
|
|
258
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
259
|
-
|
|
260
|
-
ownerState: ownerState,
|
|
261
|
-
ref: ref,
|
|
262
|
-
...other,
|
|
321
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(DockedSlot, {
|
|
322
|
+
...dockedSlotProps,
|
|
263
323
|
children: slidingDrawer
|
|
264
324
|
});
|
|
265
325
|
}
|
|
266
326
|
|
|
267
327
|
// variant === temporary
|
|
268
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
269
|
-
|
|
270
|
-
...BackdropProps,
|
|
271
|
-
...BackdropPropsProp,
|
|
272
|
-
transitionDuration
|
|
273
|
-
},
|
|
274
|
-
className: (0, _clsx.default)(classes.root, classes.modal, className),
|
|
275
|
-
open: open,
|
|
276
|
-
ownerState: ownerState,
|
|
277
|
-
onClose: onClose,
|
|
278
|
-
hideBackdrop: hideBackdrop,
|
|
279
|
-
ref: ref,
|
|
280
|
-
...other,
|
|
281
|
-
...ModalProps,
|
|
328
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RootSlot, {
|
|
329
|
+
...rootSlotProps,
|
|
282
330
|
children: slidingDrawer
|
|
283
331
|
});
|
|
284
332
|
});
|
|
@@ -338,13 +386,37 @@ process.env.NODE_ENV !== "production" ? Drawer.propTypes /* remove-proptypes */
|
|
|
338
386
|
open: _propTypes.default.bool,
|
|
339
387
|
/**
|
|
340
388
|
* Props applied to the [`Paper`](https://mui.com/material-ui/api/paper/) element.
|
|
389
|
+
* @deprecated use the `slotProps.paper` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
341
390
|
* @default {}
|
|
342
391
|
*/
|
|
343
392
|
PaperProps: _propTypes.default.object,
|
|
344
393
|
/**
|
|
345
394
|
* Props applied to the [`Slide`](https://mui.com/material-ui/api/slide/) element.
|
|
395
|
+
* @deprecated use the `slotProps.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
346
396
|
*/
|
|
347
397
|
SlideProps: _propTypes.default.object,
|
|
398
|
+
/**
|
|
399
|
+
* The props used for each slot inside.
|
|
400
|
+
* @default {}
|
|
401
|
+
*/
|
|
402
|
+
slotProps: _propTypes.default.shape({
|
|
403
|
+
backdrop: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
404
|
+
docked: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
405
|
+
paper: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
406
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
407
|
+
transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
408
|
+
}),
|
|
409
|
+
/**
|
|
410
|
+
* The components used for each slot inside.
|
|
411
|
+
* @default {}
|
|
412
|
+
*/
|
|
413
|
+
slots: _propTypes.default.shape({
|
|
414
|
+
backdrop: _propTypes.default.elementType,
|
|
415
|
+
docked: _propTypes.default.elementType,
|
|
416
|
+
paper: _propTypes.default.elementType,
|
|
417
|
+
root: _propTypes.default.elementType,
|
|
418
|
+
transition: _propTypes.default.elementType
|
|
419
|
+
}),
|
|
348
420
|
/**
|
|
349
421
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
350
422
|
*/
|
package/node/Menu/Menu.js
CHANGED
|
@@ -21,6 +21,7 @@ var _rootShouldForwardProp = _interopRequireDefault(require("../styles/rootShoul
|
|
|
21
21
|
var _zeroStyled = require("../zero-styled");
|
|
22
22
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
23
23
|
var _menuClasses = require("./menuClasses");
|
|
24
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
24
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
26
|
const RTL_ORIGIN = {
|
|
26
27
|
vertical: 'top',
|
|
@@ -152,20 +153,43 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
152
153
|
}
|
|
153
154
|
}
|
|
154
155
|
});
|
|
155
|
-
const
|
|
156
|
-
|
|
156
|
+
const externalForwardedProps = {
|
|
157
|
+
slots,
|
|
158
|
+
slotProps: {
|
|
159
|
+
list: MenuListProps,
|
|
160
|
+
transition: TransitionProps,
|
|
161
|
+
paper: PaperProps,
|
|
162
|
+
...slotProps
|
|
163
|
+
}
|
|
164
|
+
};
|
|
157
165
|
const rootSlotProps = (0, _useSlotProps.default)({
|
|
158
166
|
elementType: slots.root,
|
|
159
167
|
externalSlotProps: slotProps.root,
|
|
160
168
|
ownerState,
|
|
161
169
|
className: [classes.root, className]
|
|
162
170
|
});
|
|
163
|
-
const paperSlotProps = (0,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
171
|
+
const [PaperSlot, paperSlotProps] = (0, _useSlot.default)('paper', {
|
|
172
|
+
className: classes.paper,
|
|
173
|
+
elementType: MenuPaper,
|
|
174
|
+
externalForwardedProps,
|
|
175
|
+
shouldForwardComponentProp: true,
|
|
176
|
+
ownerState
|
|
177
|
+
});
|
|
178
|
+
const [ListSlot, listSlotProps] = (0, _useSlot.default)('list', {
|
|
179
|
+
className: (0, _clsx.default)(classes.list, MenuListProps.className),
|
|
180
|
+
elementType: MenuMenuList,
|
|
181
|
+
shouldForwardComponentProp: true,
|
|
182
|
+
externalForwardedProps,
|
|
183
|
+
getSlotProps: handlers => ({
|
|
184
|
+
...handlers,
|
|
185
|
+
onKeyDown: event => {
|
|
186
|
+
handleListKeyDown(event);
|
|
187
|
+
handlers.onKeyDown?.(event);
|
|
188
|
+
}
|
|
189
|
+
}),
|
|
190
|
+
ownerState
|
|
168
191
|
});
|
|
192
|
+
const resolvedTransitionProps = typeof externalForwardedProps.slotProps.transition === 'function' ? externalForwardedProps.slotProps.transition(ownerState) : externalForwardedProps.slotProps.transition;
|
|
169
193
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(MenuRoot, {
|
|
170
194
|
onClose: onClose,
|
|
171
195
|
anchorOrigin: {
|
|
@@ -174,31 +198,38 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
174
198
|
},
|
|
175
199
|
transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
|
|
176
200
|
slots: {
|
|
201
|
+
root: slots.root,
|
|
177
202
|
paper: PaperSlot,
|
|
178
|
-
|
|
203
|
+
backdrop: slots.backdrop,
|
|
204
|
+
...(slots.transition && {
|
|
205
|
+
// TODO: pass `slots.transition` directly once `TransitionComponent` is removed from Popover
|
|
206
|
+
transition: slots.transition
|
|
207
|
+
})
|
|
179
208
|
},
|
|
180
209
|
slotProps: {
|
|
181
210
|
root: rootSlotProps,
|
|
182
|
-
paper: paperSlotProps
|
|
211
|
+
paper: paperSlotProps,
|
|
212
|
+
backdrop: typeof slotProps.backdrop === 'function' ? slotProps.backdrop(ownerState) : slotProps.backdrop,
|
|
213
|
+
transition: {
|
|
214
|
+
...resolvedTransitionProps,
|
|
215
|
+
onEntering: (...args) => {
|
|
216
|
+
handleEntering(...args);
|
|
217
|
+
resolvedTransitionProps?.onEntering?.(...args);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
183
220
|
},
|
|
184
221
|
open: open,
|
|
185
222
|
ref: ref,
|
|
186
223
|
transitionDuration: transitionDuration,
|
|
187
|
-
TransitionProps: {
|
|
188
|
-
onEntering: handleEntering,
|
|
189
|
-
...TransitionProps
|
|
190
|
-
},
|
|
191
224
|
ownerState: ownerState,
|
|
192
225
|
...other,
|
|
193
226
|
classes: PopoverClasses,
|
|
194
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
195
|
-
onKeyDown: handleListKeyDown,
|
|
227
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ListSlot, {
|
|
196
228
|
actions: menuListActionsRef,
|
|
197
229
|
autoFocus: autoFocus && (activeItemIndex === -1 || disableAutoFocusItem),
|
|
198
230
|
autoFocusItem: autoFocusItem,
|
|
199
231
|
variant: variant,
|
|
200
|
-
...
|
|
201
|
-
className: (0, _clsx.default)(classes.list, MenuListProps.className),
|
|
232
|
+
...listSlotProps,
|
|
202
233
|
children: children
|
|
203
234
|
})
|
|
204
235
|
});
|
|
@@ -243,6 +274,7 @@ process.env.NODE_ENV !== "production" ? Menu.propTypes /* remove-proptypes */ =
|
|
|
243
274
|
disableAutoFocusItem: _propTypes.default.bool,
|
|
244
275
|
/**
|
|
245
276
|
* Props applied to the [`MenuList`](https://mui.com/material-ui/api/menu-list/) element.
|
|
277
|
+
* @deprecated use the `slotProps.list` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
246
278
|
* @default {}
|
|
247
279
|
*/
|
|
248
280
|
MenuListProps: _propTypes.default.object,
|
|
@@ -270,16 +302,22 @@ process.env.NODE_ENV !== "production" ? Menu.propTypes /* remove-proptypes */ =
|
|
|
270
302
|
* @default {}
|
|
271
303
|
*/
|
|
272
304
|
slotProps: _propTypes.default.shape({
|
|
305
|
+
backdrop: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
306
|
+
list: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
273
307
|
paper: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
274
|
-
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
308
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
309
|
+
transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
275
310
|
}),
|
|
276
311
|
/**
|
|
277
312
|
* The components used for each slot inside.
|
|
278
313
|
* @default {}
|
|
279
314
|
*/
|
|
280
315
|
slots: _propTypes.default.shape({
|
|
316
|
+
backdrop: _propTypes.default.elementType,
|
|
317
|
+
list: _propTypes.default.elementType,
|
|
281
318
|
paper: _propTypes.default.elementType,
|
|
282
|
-
root: _propTypes.default.elementType
|
|
319
|
+
root: _propTypes.default.elementType,
|
|
320
|
+
transition: _propTypes.default.elementType
|
|
283
321
|
}),
|
|
284
322
|
/**
|
|
285
323
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -297,6 +335,7 @@ process.env.NODE_ENV !== "production" ? Menu.propTypes /* remove-proptypes */ =
|
|
|
297
335
|
/**
|
|
298
336
|
* Props applied to the transition element.
|
|
299
337
|
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
338
|
+
* @deprecated use the `slotProps.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
300
339
|
* @default {}
|
|
301
340
|
*/
|
|
302
341
|
TransitionProps: _propTypes.default.object,
|
package/node/Modal/Modal.js
CHANGED
|
@@ -22,7 +22,6 @@ var _Backdrop = _interopRequireDefault(require("../Backdrop"));
|
|
|
22
22
|
var _useModal = _interopRequireDefault(require("./useModal"));
|
|
23
23
|
var _modalClasses = require("./modalClasses");
|
|
24
24
|
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
25
|
-
var _utils = require("../utils");
|
|
26
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
26
|
const useUtilityClasses = ownerState => {
|
|
28
27
|
const {
|
|
@@ -165,7 +164,6 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
|
|
|
165
164
|
childProps.onExited = onExited;
|
|
166
165
|
}
|
|
167
166
|
const externalForwardedProps = {
|
|
168
|
-
...other,
|
|
169
167
|
slots: {
|
|
170
168
|
root: components.Root,
|
|
171
169
|
backdrop: components.Backdrop,
|
|
@@ -177,19 +175,22 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
|
|
|
177
175
|
}
|
|
178
176
|
};
|
|
179
177
|
const [RootSlot, rootProps] = (0, _useSlot.default)('root', {
|
|
178
|
+
ref,
|
|
180
179
|
elementType: ModalRoot,
|
|
181
|
-
externalForwardedProps
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
as: component
|
|
180
|
+
externalForwardedProps: {
|
|
181
|
+
...externalForwardedProps,
|
|
182
|
+
...other,
|
|
183
|
+
component
|
|
186
184
|
},
|
|
185
|
+
getSlotProps: getRootProps,
|
|
187
186
|
ownerState,
|
|
188
187
|
className: (0, _clsx.default)(className, classes?.root, !ownerState.open && ownerState.exited && classes?.hidden)
|
|
189
188
|
});
|
|
190
189
|
const [BackdropSlot, backdropProps] = (0, _useSlot.default)('backdrop', {
|
|
190
|
+
ref: BackdropProps?.ref,
|
|
191
191
|
elementType: BackdropComponent,
|
|
192
192
|
externalForwardedProps,
|
|
193
|
+
shouldForwardComponentProp: true,
|
|
193
194
|
additionalProps: BackdropProps,
|
|
194
195
|
getSlotProps: otherHandlers => {
|
|
195
196
|
return getBackdropProps({
|
|
@@ -207,7 +208,6 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
|
|
|
207
208
|
className: (0, _clsx.default)(BackdropProps?.className, classes?.backdrop),
|
|
208
209
|
ownerState
|
|
209
210
|
});
|
|
210
|
-
const backdropRef = (0, _utils.useForkRef)(BackdropProps?.ref, backdropProps.ref);
|
|
211
211
|
if (!keepMounted && !open && (!hasTransition || exited)) {
|
|
212
212
|
return null;
|
|
213
213
|
}
|
|
@@ -218,8 +218,7 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
|
|
|
218
218
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, {
|
|
219
219
|
...rootProps,
|
|
220
220
|
children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/(0, _jsxRuntime.jsx)(BackdropSlot, {
|
|
221
|
-
...backdropProps
|
|
222
|
-
ref: backdropRef
|
|
221
|
+
...backdropProps
|
|
223
222
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Unstable_TrapFocus.default, {
|
|
224
223
|
disableEnforceFocus: disableEnforceFocus,
|
|
225
224
|
disableAutoFocus: disableAutoFocus,
|
package/node/Popover/Popover.js
CHANGED
|
@@ -24,12 +24,12 @@ var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
|
24
24
|
var _debounce = _interopRequireDefault(require("../utils/debounce"));
|
|
25
25
|
var _ownerDocument = _interopRequireDefault(require("../utils/ownerDocument"));
|
|
26
26
|
var _ownerWindow = _interopRequireDefault(require("../utils/ownerWindow"));
|
|
27
|
-
var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
|
|
28
27
|
var _Grow = _interopRequireDefault(require("../Grow"));
|
|
29
28
|
var _Modal = _interopRequireDefault(require("../Modal"));
|
|
30
29
|
var _Paper = _interopRequireDefault(require("../Paper"));
|
|
31
30
|
var _popoverClasses = require("./popoverClasses");
|
|
32
31
|
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
32
|
+
var _utils = require("../utils");
|
|
33
33
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
34
34
|
function getOffsetTop(rect, vertical) {
|
|
35
35
|
let offset = 0;
|
|
@@ -112,22 +112,21 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
112
112
|
marginThreshold = 16,
|
|
113
113
|
open,
|
|
114
114
|
PaperProps: PaperPropsProp = {},
|
|
115
|
+
// TODO: remove in v7
|
|
115
116
|
slots = {},
|
|
116
117
|
slotProps = {},
|
|
117
118
|
transformOrigin = {
|
|
118
119
|
vertical: 'top',
|
|
119
120
|
horizontal: 'left'
|
|
120
121
|
},
|
|
121
|
-
TransitionComponent
|
|
122
|
+
TransitionComponent,
|
|
123
|
+
// TODO: remove in v7
|
|
122
124
|
transitionDuration: transitionDurationProp = 'auto',
|
|
123
|
-
TransitionProps
|
|
124
|
-
|
|
125
|
-
...TransitionProps
|
|
126
|
-
} = {},
|
|
125
|
+
TransitionProps = {},
|
|
126
|
+
// TODO: remove in v7
|
|
127
127
|
disableScrollLock = false,
|
|
128
128
|
...other
|
|
129
129
|
} = props;
|
|
130
|
-
const externalPaperSlotProps = slotProps?.paper ?? PaperPropsProp;
|
|
131
130
|
const paperRef = React.useRef();
|
|
132
131
|
const ownerState = {
|
|
133
132
|
...props,
|
|
@@ -135,7 +134,6 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
135
134
|
anchorReference,
|
|
136
135
|
elevation,
|
|
137
136
|
marginThreshold,
|
|
138
|
-
externalPaperSlotProps,
|
|
139
137
|
transformOrigin,
|
|
140
138
|
TransitionComponent,
|
|
141
139
|
transitionDuration: transitionDurationProp,
|
|
@@ -264,10 +262,7 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
264
262
|
}
|
|
265
263
|
return () => window.removeEventListener('scroll', setPositioningStyles);
|
|
266
264
|
}, [anchorEl, disableScrollLock, setPositioningStyles]);
|
|
267
|
-
const handleEntering = (
|
|
268
|
-
if (onEntering) {
|
|
269
|
-
onEntering(element, isAppearing);
|
|
270
|
-
}
|
|
265
|
+
const handleEntering = () => {
|
|
271
266
|
setPositioningStyles();
|
|
272
267
|
};
|
|
273
268
|
const handleExited = () => {
|
|
@@ -298,45 +293,65 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
298
293
|
};
|
|
299
294
|
}, [anchorEl, open, setPositioningStyles]);
|
|
300
295
|
let transitionDuration = transitionDurationProp;
|
|
301
|
-
if (transitionDurationProp === 'auto' && !TransitionComponent.muiSupportAuto) {
|
|
302
|
-
transitionDuration = undefined;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
// If the container prop is provided, use that
|
|
306
|
-
// If the anchorEl prop is provided, use its parent body element as the container
|
|
307
|
-
// If neither are provided let the Modal take care of choosing the container
|
|
308
|
-
const container = containerProp || (anchorEl ? (0, _ownerDocument.default)(resolveAnchorEl(anchorEl)).body : undefined);
|
|
309
296
|
const externalForwardedProps = {
|
|
310
|
-
slots
|
|
297
|
+
slots: {
|
|
298
|
+
transition: TransitionComponent,
|
|
299
|
+
...slots
|
|
300
|
+
},
|
|
311
301
|
slotProps: {
|
|
312
|
-
|
|
313
|
-
paper:
|
|
302
|
+
transition: TransitionProps,
|
|
303
|
+
paper: PaperPropsProp,
|
|
304
|
+
...slotProps
|
|
314
305
|
}
|
|
315
306
|
};
|
|
316
|
-
const [
|
|
317
|
-
elementType:
|
|
307
|
+
const [TransitionSlot, transitionSlotProps] = (0, _useSlot.default)('transition', {
|
|
308
|
+
elementType: _Grow.default,
|
|
318
309
|
externalForwardedProps,
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
310
|
+
ownerState,
|
|
311
|
+
getSlotProps: handlers => ({
|
|
312
|
+
...handlers,
|
|
313
|
+
onEntering: (element, isAppearing) => {
|
|
314
|
+
handlers.onEntering?.(element, isAppearing);
|
|
315
|
+
handleEntering();
|
|
316
|
+
},
|
|
317
|
+
onExited: element => {
|
|
318
|
+
handlers.onExited?.(element);
|
|
319
|
+
handleExited();
|
|
325
320
|
}
|
|
326
|
-
},
|
|
327
|
-
|
|
321
|
+
}),
|
|
322
|
+
additionalProps: {
|
|
323
|
+
appear: true,
|
|
324
|
+
in: open
|
|
325
|
+
}
|
|
328
326
|
});
|
|
327
|
+
if (transitionDurationProp === 'auto' && !TransitionSlot.muiSupportAuto) {
|
|
328
|
+
transitionDuration = undefined;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// If the container prop is provided, use that
|
|
332
|
+
// If the anchorEl prop is provided, use its parent body element as the container
|
|
333
|
+
// If neither are provided let the Modal take care of choosing the container
|
|
334
|
+
const container = containerProp || (anchorEl ? (0, _ownerDocument.default)(resolveAnchorEl(anchorEl)).body : undefined);
|
|
329
335
|
const [RootSlot, {
|
|
336
|
+
slots: rootSlotsProp,
|
|
330
337
|
slotProps: rootSlotPropsProp,
|
|
331
338
|
...rootProps
|
|
332
339
|
}] = (0, _useSlot.default)('root', {
|
|
340
|
+
ref,
|
|
333
341
|
elementType: PopoverRoot,
|
|
334
|
-
externalForwardedProps
|
|
342
|
+
externalForwardedProps: {
|
|
343
|
+
...externalForwardedProps,
|
|
344
|
+
...other
|
|
345
|
+
},
|
|
346
|
+
shouldForwardComponentProp: true,
|
|
335
347
|
additionalProps: {
|
|
348
|
+
slots: {
|
|
349
|
+
backdrop: slots.backdrop
|
|
350
|
+
},
|
|
336
351
|
slotProps: {
|
|
337
|
-
backdrop: {
|
|
352
|
+
backdrop: (0, _utils.mergeSlotProps)(typeof slotProps.backdrop === 'function' ? slotProps.backdrop(ownerState) : slotProps.backdrop, {
|
|
338
353
|
invisible: true
|
|
339
|
-
}
|
|
354
|
+
})
|
|
340
355
|
},
|
|
341
356
|
container,
|
|
342
357
|
open
|
|
@@ -344,25 +359,32 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
344
359
|
ownerState,
|
|
345
360
|
className: (0, _clsx.default)(classes.root, className)
|
|
346
361
|
});
|
|
347
|
-
const
|
|
362
|
+
const [PaperSlot, paperProps] = (0, _useSlot.default)('paper', {
|
|
363
|
+
ref: paperRef,
|
|
364
|
+
className: classes.paper,
|
|
365
|
+
elementType: PopoverPaper,
|
|
366
|
+
externalForwardedProps,
|
|
367
|
+
shouldForwardComponentProp: true,
|
|
368
|
+
additionalProps: {
|
|
369
|
+
elevation,
|
|
370
|
+
style: isPositioned ? undefined : {
|
|
371
|
+
opacity: 0
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
ownerState
|
|
375
|
+
});
|
|
348
376
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(RootSlot, {
|
|
349
377
|
...rootProps,
|
|
350
378
|
...(!(0, _isHostComponent.default)(RootSlot) && {
|
|
379
|
+
slots: rootSlotsProp,
|
|
351
380
|
slotProps: rootSlotPropsProp,
|
|
352
381
|
disableScrollLock
|
|
353
382
|
}),
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionComponent, {
|
|
357
|
-
appear: true,
|
|
358
|
-
in: open,
|
|
359
|
-
onEntering: handleEntering,
|
|
360
|
-
onExited: handleExited,
|
|
383
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionSlot, {
|
|
384
|
+
...transitionSlotProps,
|
|
361
385
|
timeout: transitionDuration,
|
|
362
|
-
...TransitionProps,
|
|
363
386
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PaperSlot, {
|
|
364
387
|
...paperProps,
|
|
365
|
-
ref: handlePaperRef,
|
|
366
388
|
children: children
|
|
367
389
|
})
|
|
368
390
|
})
|
|
@@ -430,8 +452,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
430
452
|
anchorReference: _propTypes.default.oneOf(['anchorEl', 'anchorPosition', 'none']),
|
|
431
453
|
/**
|
|
432
454
|
* A backdrop component. This prop enables custom backdrop rendering.
|
|
433
|
-
* @deprecated Use `
|
|
434
|
-
* Use the `slotProps.root.slots.backdrop` prop to make your application ready for the next version of Material UI.
|
|
455
|
+
* @deprecated Use `slots.backdrop` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
435
456
|
* @default styled(Backdrop, {
|
|
436
457
|
* name: 'MuiModal',
|
|
437
458
|
* slot: 'Backdrop',
|
|
@@ -445,7 +466,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
445
466
|
BackdropComponent: _propTypes.default.elementType,
|
|
446
467
|
/**
|
|
447
468
|
* Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
|
|
448
|
-
* @deprecated Use `slotProps.
|
|
469
|
+
* @deprecated Use `slotProps.backdrop` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
449
470
|
*/
|
|
450
471
|
BackdropProps: _propTypes.default.object,
|
|
451
472
|
/**
|
|
@@ -509,16 +530,20 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
509
530
|
* @default {}
|
|
510
531
|
*/
|
|
511
532
|
slotProps: _propTypes.default.shape({
|
|
533
|
+
backdrop: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
512
534
|
paper: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
513
|
-
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
535
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
536
|
+
transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
514
537
|
}),
|
|
515
538
|
/**
|
|
516
539
|
* The components used for each slot inside.
|
|
517
540
|
* @default {}
|
|
518
541
|
*/
|
|
519
542
|
slots: _propTypes.default.shape({
|
|
543
|
+
backdrop: _propTypes.default.elementType,
|
|
520
544
|
paper: _propTypes.default.elementType,
|
|
521
|
-
root: _propTypes.default.elementType
|
|
545
|
+
root: _propTypes.default.elementType,
|
|
546
|
+
transition: _propTypes.default.elementType
|
|
522
547
|
}),
|
|
523
548
|
/**
|
|
524
549
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
@@ -543,6 +568,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
543
568
|
/**
|
|
544
569
|
* The component used for the transition.
|
|
545
570
|
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
571
|
+
* @deprecated use the `slots.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
546
572
|
* @default Grow
|
|
547
573
|
*/
|
|
548
574
|
TransitionComponent: _propTypes.default.elementType,
|
|
@@ -558,6 +584,7 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
558
584
|
/**
|
|
559
585
|
* Props applied to the transition element.
|
|
560
586
|
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
587
|
+
* @deprecated use the `slotProps.transition` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
561
588
|
* @default {}
|
|
562
589
|
*/
|
|
563
590
|
TransitionProps: _propTypes.default.object
|