UNPKG

material-ui-pickers-fork

Version:

React components, that implements material design pickers for material-ui v1

140 lines (121 loc) 4.93 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.ModalDialog = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames2 = _interopRequireDefault(require("classnames")); var _reactEventListener = _interopRequireDefault(require("react-event-listener")); var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles")); var _Button = _interopRequireDefault(require("@material-ui/core/Button")); var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog")); var _DialogActions = _interopRequireDefault(require("@material-ui/core/DialogActions")); var _DialogContent = _interopRequireDefault(require("@material-ui/core/DialogContent")); var dialogWidth = 310; var styles = { dialogRoot: { minWidth: dialogWidth }, dialog: { width: dialogWidth, overflow: 'hidden', '&:first-child': { padding: 0 } }, dialogActions: { // set justifyContent to default value to fix IE11 layout bug // see https://github.com/dmtrKovalenko/material-ui-pickers/pull/267 justifyContent: 'flex-start' }, clearableDialogAction: { '&:first-child': { marginRight: 'auto' } }, todayDialogAction: { '&:first-child': { marginRight: 'auto' } }, dialogAction: {// empty but may be needed for override } }; var ModalDialog = function ModalDialog(_ref) { var _classnames; var children = _ref.children, classes = _ref.classes, onKeyDown = _ref.onKeyDown, onAccept = _ref.onAccept, onDismiss = _ref.onDismiss, onClear = _ref.onClear, onSetToday = _ref.onSetToday, okLabel = _ref.okLabel, cancelLabel = _ref.cancelLabel, clearLabel = _ref.clearLabel, todayLabel = _ref.todayLabel, dialogContentClassName = _ref.dialogContentClassName, clearable = _ref.clearable, showTodayButton = _ref.showTodayButton, other = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["children", "classes", "onKeyDown", "onAccept", "onDismiss", "onClear", "onSetToday", "okLabel", "cancelLabel", "clearLabel", "todayLabel", "dialogContentClassName", "clearable", "showTodayButton"]); return _react.default.createElement(_Dialog.default, (0, _extends2.default)({ onClose: onDismiss, classes: { paper: classes.dialogRoot } }, other), _react.default.createElement(_reactEventListener.default, { target: "window", onKeyDown: onKeyDown }), _react.default.createElement(_DialogContent.default, { className: (0, _classnames2.default)(classes.dialog, dialogContentClassName) }, children), _react.default.createElement(_DialogActions.default, { classes: { root: clearable && classes.dialogActions, action: (0, _classnames2.default)(classes.dialogAction, (_classnames = {}, _classnames[classes.clearableDialogAction] = clearable, _classnames[classes.todayDialogAction] = !clearable && showTodayButton, _classnames)) } }, clearable && _react.default.createElement(_Button.default, { color: "primary", onClick: onClear, "aria-label": clearLabel }, clearLabel), !clearable && showTodayButton && _react.default.createElement(_Button.default, { color: "primary", onClick: onSetToday, "aria-label": todayLabel }, todayLabel), _react.default.createElement(_Button.default, { color: "primary", onClick: onDismiss, "aria-label": cancelLabel }, cancelLabel), _react.default.createElement(_Button.default, { color: "primary", onClick: onAccept, "aria-label": okLabel }, okLabel))); }; exports.ModalDialog = ModalDialog; ModalDialog.propTypes = { children: _propTypes.default.node.isRequired, onKeyDown: _propTypes.default.func.isRequired, onAccept: _propTypes.default.func.isRequired, onDismiss: _propTypes.default.func.isRequired, onClear: _propTypes.default.func.isRequired, classes: _propTypes.default.object.isRequired, dialogContentClassName: _propTypes.default.string, okLabel: _propTypes.default.node.isRequired, cancelLabel: _propTypes.default.node.isRequired, clearLabel: _propTypes.default.node.isRequired, clearable: _propTypes.default.bool.isRequired, todayLabel: _propTypes.default.node.isRequired, showTodayButton: _propTypes.default.bool.isRequired, onSetToday: _propTypes.default.func.isRequired }; ModalDialog.defaultProps = { dialogContentClassName: '' }; var _default = (0, _withStyles.default)(styles, { name: 'MuiPickersModal' })(ModalDialog); exports.default = _default;