@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
76 lines (72 loc) • 3.04 kB
JavaScript
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));