UNPKG

@material-ui/lab

Version:

Material-UI Lab - Incubator for Material-UI React components.

76 lines (72 loc) 3.04 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; import * as React from 'react'; import clsx from 'clsx'; import Typography from '@material-ui/core/Typography'; import { createStyles, withStyles, useTheme } from '@material-ui/core/styles'; import IconButton from '@material-ui/core/IconButton'; import ArrowLeftIcon from '../svg-icons/ArrowLeft'; import ArrowRightIcon from '../svg-icons/ArrowRight'; export const styles = theme => createStyles({ root: {}, iconButton: { zIndex: 1, backgroundColor: theme.palette.background.paper }, previousMonthButtonMargin: { marginRight: 24 }, hidden: { visibility: 'hidden' } }); var _ref = /*#__PURE__*/React.createElement(ArrowLeftIcon, null); var _ref2 = /*#__PURE__*/React.createElement(ArrowRightIcon, null); const PickersArrowSwitcher = /*#__PURE__*/React.forwardRef((props, ref) => { const { classes, className, isLeftDisabled, isLeftHidden, isRightDisabled, isRightHidden, leftArrowButtonProps, leftArrowButtonText, leftArrowIcon = _ref, onLeftClick, onRightClick, rightArrowButtonProps, rightArrowButtonText, rightArrowIcon = _ref2, text } = props, other = _objectWithoutPropertiesLoose(props, ["classes", "className", "isLeftDisabled", "isLeftHidden", "isRightDisabled", "isRightHidden", "leftArrowButtonProps", "leftArrowButtonText", "leftArrowIcon", "onLeftClick", "onRightClick", "rightArrowButtonProps", "rightArrowButtonText", "rightArrowIcon", "text"]); const theme = useTheme(); const isRtl = theme.direction === 'rtl'; return /*#__PURE__*/React.createElement("div", _extends({ className: clsx(classes.root, className), ref: ref }, other), /*#__PURE__*/React.createElement(IconButton, _extends({ size: "small", "aria-hidden": isLeftHidden, "aria-label": leftArrowButtonText }, leftArrowButtonProps, { disabled: isLeftDisabled, onClick: onLeftClick, className: clsx(classes.iconButton, leftArrowButtonProps === null || leftArrowButtonProps === void 0 ? void 0 : leftArrowButtonProps.className, isLeftHidden && classes.hidden, !text && classes.previousMonthButtonMargin) }), isRtl ? rightArrowIcon : leftArrowIcon), text && /*#__PURE__*/React.createElement(Typography, { variant: "subtitle1", display: "inline" }, text), /*#__PURE__*/React.createElement(IconButton, _extends({ size: "small", "aria-hidden": isRightHidden, "aria-label": rightArrowButtonText }, rightArrowButtonProps, { disabled: isRightDisabled, onClick: onRightClick, className: clsx(classes.iconButton, rightArrowButtonProps === null || rightArrowButtonProps === void 0 ? void 0 : rightArrowButtonProps.className, isRightHidden && classes.hidden) }), isRtl ? leftArrowIcon : rightArrowIcon)); }); export default withStyles(styles, { name: 'MuiPickersArrowSwitcher' })( /*#__PURE__*/React.memo(PickersArrowSwitcher));