UNPKG

@material-ui/lab

Version:
116 lines (95 loc) 4.88 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var React = _interopRequireWildcard(require("react")); var _clsx = _interopRequireDefault(require("clsx")); var _Grid = _interopRequireDefault(require("@material-ui/core/Grid")); var _Typography = _interopRequireDefault(require("@material-ui/core/Typography")); var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton")); var _styles = require("@material-ui/core/styles"); var _unstyled = require("@material-ui/unstyled"); var _Pen = _interopRequireDefault(require("../svg-icons/Pen")); var _Calendar = _interopRequireDefault(require("../svg-icons/Calendar")); var _Clock = _interopRequireDefault(require("../svg-icons/Clock")); var _jsxRuntime = require("react/jsx-runtime"); var _ClockIcon, _CalendarIcon, _PenIcon; function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const classes = (0, _unstyled.generateUtilityClasses)('PrivatePickersToolbar', ['root', 'dateTitleContainer']); const PickersToolbarRoot = (0, _styles.styled)('div', { skipSx: true })(({ theme, styleProps }) => (0, _extends2.default)({ display: 'flex', flexDirection: 'column', alignItems: 'flex-start', justifyContent: 'space-between', padding: theme.spacing(2, 3) }, styleProps.isLandscape && { height: 'auto', maxWidth: 160, padding: 16, justifyContent: 'flex-start', flexWrap: 'wrap' })); const PickersToolbarGrid = (0, _styles.styled)(_Grid.default, { skipSx: true })({ flex: 1 }); const getViewTypeIcon = viewType => viewType === 'clock' ? _ClockIcon || (_ClockIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Clock.default, { color: "inherit" })) : _CalendarIcon || (_CalendarIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Calendar.default, { color: "inherit" })); function defaultGetKeyboardInputSwitchingButtonText(isKeyboardInputOpen, viewType) { return isKeyboardInputOpen ? `text input view is open, go to ${viewType} view` : `${viewType} view is open, go to text input view`; } const PickersToolbar = /*#__PURE__*/React.forwardRef(function PickersToolbar(props, ref) { const { children, className, getMobileKeyboardInputViewButtonText = defaultGetKeyboardInputSwitchingButtonText, isLandscape, isMobileKeyboardViewOpen, landscapeDirection = 'column', penIconClassName, toggleMobileKeyboardView, toolbarTitle, viewType = 'calendar' } = props; const styleProps = props; return /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersToolbarRoot, { ref: ref, className: (0, _clsx.default)(classes.root, className), styleProps: styleProps, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, { color: "text.secondary", variant: "overline", children: toolbarTitle }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(PickersToolbarGrid, { container: true, justifyContent: "space-between", className: classes.dateTitleContainer, direction: isLandscape ? landscapeDirection : 'row', alignItems: isLandscape ? 'flex-start' : 'flex-end', children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, { onClick: toggleMobileKeyboardView, className: penIconClassName, color: "inherit", "aria-label": getMobileKeyboardInputViewButtonText(isMobileKeyboardViewOpen, viewType), children: isMobileKeyboardViewOpen ? getViewTypeIcon(viewType) : _PenIcon || (_PenIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pen.default, { color: "inherit" })) })] })] }); }); var _default = PickersToolbar; exports.default = _default;