Steps.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.stepsProps = exports.default = void 0;
  7. var _vue = require("vue");
  8. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _props = require("./props");
  11. var stepsProps = function stepsProps() {
  12. return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _props.progressProps)()), {}, {
  13. steps: Number,
  14. size: {
  15. type: String
  16. },
  17. strokeColor: String,
  18. trailColor: String
  19. });
  20. };
  21. exports.stepsProps = stepsProps;
  22. var _default = (0, _vue.defineComponent)({
  23. compatConfig: {
  24. MODE: 3
  25. },
  26. name: 'Steps',
  27. props: stepsProps(),
  28. setup: function setup(props, _ref) {
  29. var slots = _ref.slots;
  30. var current = (0, _vue.computed)(function () {
  31. return Math.round(props.steps * ((props.percent || 0) / 100));
  32. });
  33. var stepWidth = (0, _vue.computed)(function () {
  34. return props.size === 'small' ? 2 : 14;
  35. });
  36. var styledSteps = (0, _vue.computed)(function () {
  37. var steps = props.steps,
  38. _props$strokeWidth = props.strokeWidth,
  39. strokeWidth = _props$strokeWidth === void 0 ? 8 : _props$strokeWidth,
  40. strokeColor = props.strokeColor,
  41. trailColor = props.trailColor,
  42. prefixCls = props.prefixCls;
  43. var temp = [];
  44. for (var i = 0; i < steps; i += 1) {
  45. var _cls;
  46. var cls = (_cls = {}, (0, _defineProperty2.default)(_cls, "".concat(prefixCls, "-steps-item"), true), (0, _defineProperty2.default)(_cls, "".concat(prefixCls, "-steps-item-active"), i <= current.value - 1), _cls);
  47. temp.push((0, _vue.createVNode)("div", {
  48. "key": i,
  49. "class": cls,
  50. "style": {
  51. backgroundColor: i <= current.value - 1 ? strokeColor : trailColor,
  52. width: "".concat(stepWidth.value, "px"),
  53. height: "".concat(strokeWidth, "px")
  54. }
  55. }, null));
  56. }
  57. return temp;
  58. });
  59. return function () {
  60. var _slots$default;
  61. return (0, _vue.createVNode)("div", {
  62. "class": "".concat(props.prefixCls, "-steps-outer")
  63. }, [styledSteps.value, (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)]);
  64. };
  65. }
  66. });
  67. exports.default = _default;