@mui/x-date-pickers
Version:
The community edition of the MUI X Date and Time Picker components.
62 lines • 1.74 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import DialogContent from '@mui/material/DialogContent';
import Fade from '@mui/material/Fade';
import MuiDialog, { dialogClasses } from '@mui/material/Dialog';
import { styled } from '@mui/material/styles';
import { DIALOG_WIDTH } from "../constants/dimensions.mjs";
import { usePickerContext } from "../../hooks/index.mjs";
import { usePickerPrivateContext } from "../hooks/usePickerPrivateContext.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const PickersModalDialogRoot = styled(MuiDialog, {
slot: 'internal'
})({
[`& .${dialogClasses.container}`]: {
outline: 0
},
[`& .${dialogClasses.paper}`]: {
outline: 0,
minWidth: DIALOG_WIDTH
}
});
const PickersModalDialogContent = styled(DialogContent, {
slot: 'internal'
})({
'&:first-of-type': {
padding: 0
}
});
export function PickersModalDialog(props) {
const {
children,
slots,
slotProps
} = props;
const {
open
} = usePickerContext();
const {
dismissViews,
onPopperExited
} = usePickerPrivateContext();
const Dialog = slots?.dialog ?? PickersModalDialogRoot;
return /*#__PURE__*/_jsx(Dialog, _extends({
open: open,
onClose: () => {
dismissViews();
onPopperExited?.();
}
}, slotProps?.dialog, {
PaperComponent: slots?.mobilePaper,
slots: _extends({
transition: slots?.mobileTransition ?? Fade
}, slotProps?.dialog?.slots),
slotProps: _extends({
transition: slotProps?.mobileTransition,
paper: slotProps?.mobilePaper
}, slotProps?.dialog?.slotProps),
children: /*#__PURE__*/_jsx(PickersModalDialogContent, {
children: children
})
}));
}