@helpscout/hsds-react
Version:
React component library for Help Scout's Design System
101 lines (76 loc) • 3.02 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _getValidProps = _interopRequireDefault(require("@helpscout/react-utils/dist/getValidProps"));
var _Tooltip = _interopRequireDefault(require("../Tooltip"));
var _DotStepper = require("./DotStepper.css");
var _classnames = _interopRequireDefault(require("classnames"));
var _jsxRuntime = require("react/jsx-runtime");
var DotStepper = /*#__PURE__*/function (_React$Component) {
(0, _inheritsLoose2.default)(DotStepper, _React$Component);
function DotStepper() {
return _React$Component.apply(this, arguments) || this;
}
var _proto = DotStepper.prototype;
_proto.getClassName = function getClassName() {
var className = this.props.className;
return (0, _classnames.default)('c-DotStepper', className);
};
_proto.getTitle = function getTitle() {
var _this$props = this.props,
numSteps = _this$props.numSteps,
step = _this$props.step;
return "Step " + step + " of " + numSteps;
};
_proto.renderSteps = function renderSteps() {
var numSteps = this.props.numSteps;
var markup = [];
for (var i = 0; i < numSteps; i += 1) {
markup.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_DotStepper.BulletUI, {
children: "\u2022"
}, i));
}
return markup;
};
_proto.render = function render() {
var _this$props2 = this.props,
className = _this$props2.className,
step = _this$props2.step,
rest = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, ["className", "step"]);
var title = this.getTitle();
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip.default, {
title: title,
placement: "bottom",
trigger: "click",
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_DotStepper.DotStepperUI, (0, _extends2.default)({
"aria-label": title,
className: this.getClassName()
}, (0, _getValidProps.default)(rest), {
children: [this.renderSteps(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DotStepper.ProgressBulletUI, {
step: step
})]
}))
});
};
return DotStepper;
}(_react.default.Component);
DotStepper.defaultProps = {
'data-cy': 'DotStepper',
numSteps: 1,
step: 1
};
DotStepper.propTypes = {
'data-cy': _propTypes.default.string,
/** The total number of steps. */
numSteps: _propTypes.default.number,
/** The current step. */
step: _propTypes.default.number
};
var _default = DotStepper;
exports.default = _default;
;