@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
78 lines (74 loc) • 3.59 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
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 var styles = function styles(theme) {
return 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);
var PickersArrowSwitcher = /*#__PURE__*/React.forwardRef(function (props, ref) {
var classes = props.classes,
className = props.className,
isLeftDisabled = props.isLeftDisabled,
isLeftHidden = props.isLeftHidden,
isRightDisabled = props.isRightDisabled,
isRightHidden = props.isRightHidden,
leftArrowButtonProps = props.leftArrowButtonProps,
leftArrowButtonText = props.leftArrowButtonText,
_props$leftArrowIcon = props.leftArrowIcon,
leftArrowIcon = _props$leftArrowIcon === void 0 ? _ref : _props$leftArrowIcon,
onLeftClick = props.onLeftClick,
onRightClick = props.onRightClick,
rightArrowButtonProps = props.rightArrowButtonProps,
rightArrowButtonText = props.rightArrowButtonText,
_props$rightArrowIcon = props.rightArrowIcon,
rightArrowIcon = _props$rightArrowIcon === void 0 ? _ref2 : _props$rightArrowIcon,
text = props.text,
other = _objectWithoutProperties(props, ["classes", "className", "isLeftDisabled", "isLeftHidden", "isRightDisabled", "isRightHidden", "leftArrowButtonProps", "leftArrowButtonText", "leftArrowIcon", "onLeftClick", "onRightClick", "rightArrowButtonProps", "rightArrowButtonText", "rightArrowIcon", "text"]);
var theme = useTheme();
var 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));