UNPKG

3.68 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
5var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
7Object.defineProperty(exports, "__esModule", {
8 value: true
9});
10exports.default = exports.styles = void 0;
11
12var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
14var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
16var React = _interopRequireWildcard(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _clsx = _interopRequireDefault(require("clsx"));
21
22var _KeyboardArrowLeft = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowLeft"));
23
24var _KeyboardArrowRight = _interopRequireDefault(require("../internal/svg-icons/KeyboardArrowRight"));
25
26var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
27
28var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
29
30/* eslint-disable jsx-a11y/aria-role */
31var styles = {
32 /* Styles applied to the root element. */
33 root: {
34 width: 40,
35 flexShrink: 0,
36 opacity: 0.8,
37 '&$disabled': {
38 opacity: 0
39 }
40 },
41
42 /* Styles applied to the root element if `orientation="vertical"`. */
43 vertical: {
44 width: '100%',
45 height: 40,
46 '& svg': {
47 transform: 'rotate(90deg)'
48 }
49 },
50
51 /* Pseudo-class applied to the root element if `disabled={true}`. */
52 disabled: {}
53};
54exports.styles = styles;
55
56var _ref = /*#__PURE__*/React.createElement(_KeyboardArrowLeft.default, {
57 fontSize: "small"
58});
59
60var _ref2 = /*#__PURE__*/React.createElement(_KeyboardArrowRight.default, {
61 fontSize: "small"
62});
63
64var TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(props, ref) {
65 var classes = props.classes,
66 classNameProp = props.className,
67 direction = props.direction,
68 orientation = props.orientation,
69 disabled = props.disabled,
70 other = (0, _objectWithoutProperties2.default)(props, ["classes", "className", "direction", "orientation", "disabled"]);
71 return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({
72 component: "div",
73 className: (0, _clsx.default)(classes.root, classNameProp, disabled && classes.disabled, orientation === 'vertical' && classes.vertical),
74 ref: ref,
75 role: null,
76 tabIndex: null
77 }, other), direction === 'left' ? _ref : _ref2);
78});
79process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes = {
80 // ----------------------------- Warning --------------------------------
81 // | These PropTypes are generated from the TypeScript type definitions |
82 // | To update them edit the d.ts file and run "yarn proptypes" |
83 // ----------------------------------------------------------------------
84
85 /**
86 * The content of the component.
87 */
88 children: _propTypes.default.node,
89
90 /**
91 * Override or extend the styles applied to the component.
92 * See [CSS API](#css) below for more details.
93 */
94 classes: _propTypes.default.object,
95
96 /**
97 * @ignore
98 */
99 className: _propTypes.default.string,
100
101 /**
102 * Which direction should the button indicate?
103 */
104 direction: _propTypes.default.oneOf(['left', 'right']).isRequired,
105
106 /**
107 * If `true`, the element will be disabled.
108 */
109 disabled: _propTypes.default.bool,
110
111 /**
112 * The tabs orientation (layout flow direction).
113 */
114 orientation: _propTypes.default.oneOf(['horizontal', 'vertical']).isRequired
115} : void 0;
116
117var _default = (0, _withStyles.default)(styles, {
118 name: 'MuiTabScrollButton'
119})(TabScrollButton);
120
121exports.default = _default;
\No newline at end of file