qt-public-ui
Version:
新设计规范下业务组件库
75 lines (74 loc) • 4.09 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireWildcard(require("react"));
var _antd = require("antd");
var _ = require("..");
var _classnames = _interopRequireDefault(require("classnames"));
require("./style");
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
var isActive = function isActive(type, currentIndex, activeIndex) {
if (type === 'step') return currentIndex <= activeIndex;else return currentIndex === activeIndex;
};
var StepBar = function StepBar(props) {
var content = props.content,
onClick = props.onClick,
value = props.value,
defaultValue = props.defaultValue,
_props$type = props.type,
type = _props$type === void 0 ? 'default' : _props$type;
var isControlled = ('value' in props);
var _useState = (0, _react.useState)(isControlled ? value : defaultValue),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
active = _useState2[0],
setActive = _useState2[1];
(0, _react.useEffect)(function () {
isControlled && setActive(props.value);
}, [isControlled, props.value]);
var handleClick = function handleClick(key, disabled) {
if (disabled) return;
!isControlled && setActive(key);
onClick && onClick(key);
};
if (!props.content || !props.content.length) return null;
var activeIndex = content.findIndex(function (item) {
return active === item.key;
});
return /*#__PURE__*/_react["default"].createElement("div", {
className: "umui-step-bar",
style: props.style
}, content.map(function (item, index) {
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
key: item.key
}, index > 0 && /*#__PURE__*/_react["default"].createElement("img", {
className: "umui-step-bar-arrow",
src: "//img.alicdn.com/tfs/TB1ex8lsxz1gK0jSZSgXXavwpXa-100-14.png"
}), /*#__PURE__*/_react["default"].createElement("div", {
className: (0, _classnames["default"])('umui-step-bar-item', {
'umui-step-bar-disabled': item.disabled,
'umui-step-bar-active': isActive(type, index, activeIndex),
'umui-step-clickable': !!props.onClick
})
}, item.tips ? /*#__PURE__*/_react["default"].createElement(_antd.Tooltip, {
title: item.tips
}, /*#__PURE__*/_react["default"].createElement("span", {
onClick: handleClick.bind(null, item.key, !!item.disabled)
}, /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
type: item.icon,
className: "umui-step-bar-icon"
}), item.title && /*#__PURE__*/_react["default"].createElement("span", null, item.title))) : /*#__PURE__*/_react["default"].createElement("span", {
onClick: handleClick.bind(null, item.key, !!item.disabled)
}, /*#__PURE__*/_react["default"].createElement(_.IconSlim, {
type: item.icon,
className: "umui-step-bar-icon"
}), item.title && /*#__PURE__*/_react["default"].createElement("span", null, item.title))));
}));
};
StepBar.displayName = 'StepBar';
var _default = exports["default"] = StepBar;