UNPKG

react-cm-ui

Version:
132 lines (109 loc) 4.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _MobileStepper = _interopRequireDefault(require("@material-ui/core/MobileStepper")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _constants = require("../../global/constants"); var _makeStyles = _interopRequireDefault(require("../../styles/makeStyles")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var propTypes = { /** * Set the active step (zero based index). * Defines which dot is highlighted when the variant is 'dots'. */ activeStep: _propTypes["default"].number, /** * A back button element. For instance, it can be a `Button` or an `IconButton`. */ backButton: _propTypes["default"].node, /** * Override or extend the styles applied to the component. * See [CSS API](https://material-ui.com/api/mobile-stepper/#css) for more details. */ classes: _propTypes["default"].shape({}), /** * Assign additional class names to Mobile Stepper. */ className: _propTypes["default"].string, /** * Props applied to the `LinearProgress` element. */ linearProgressProps: _propTypes["default"].shape({}), /** * A next button element. For instance, it can be a `Button` or an `IconButton`. */ nextButton: _propTypes["default"].node, /** * Set the positioning type. */ position: _propTypes["default"].oneOf(['bottom', 'static', 'top']), /** * The total steps. */ steps: _propTypes["default"].number.isRequired, /** * The variant to use. */ variant: _propTypes["default"].oneOf(['dots', 'progress', 'text']) }; var defaultProps = { activeStep: 0, backButton: undefined, classes: undefined, className: undefined, linearProgressProps: undefined, nextButton: undefined, position: 'bottom', variant: 'dots' }; var useStyles = (0, _makeStyles["default"])(function (_ref) { var palette = _ref.palette; return { dot: { margin: [[0, 2.5]] }, dotActive: { backgroundColor: palette.active.primary }, root: {} }; }); /** * A Mobile Stepper informs the user about progress through numbered steps. */ function MobileStepper(props) { var activeStep = props.activeStep, backButton = props.backButton, className = props.className, linearProgressProps = props.linearProgressProps, nextButton = props.nextButton, position = props.position, steps = props.steps, variant = props.variant, otherProps = _objectWithoutProperties(props, ["activeStep", "backButton", "className", "linearProgressProps", "nextButton", "position", "steps", "variant"]); var classes = useStyles(props); var rootClasses = (0, _classnames["default"])(_constants.UI_CLASS_NAME, _constants.BEM_MOBILE_STEPPER, className); return /*#__PURE__*/_react["default"].createElement(_MobileStepper["default"] // eslint-disable-next-line react/jsx-props-no-spreading , _extends({}, otherProps, { activeStep: activeStep, backButton: backButton, classes: classes, className: rootClasses, LinearProgressProps: linearProgressProps, nextButton: nextButton, position: position, steps: steps, variant: variant })); } MobileStepper.propTypes = propTypes; MobileStepper.defaultProps = defaultProps; var _default = MobileStepper; exports["default"] = _default;