@material-ui/lab
Version:
Laboratory for new Material-UI modules.
116 lines (95 loc) • 4.88 kB
JavaScript
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;
;