UNPKG

1.26 kBJavaScriptView Raw
1import assign from 'nano-assign';
2
3var index = {
4 name: 'StepIndicator',
5 functional: true,
6 props: {
7 total: {
8 type: Number,
9 required: true
10 },
11 current: {
12 type: Number,
13 required: true
14 },
15 currentColor: {
16 type: String,
17 default: 'rgb(68, 0, 204)'
18 },
19 defaultColor: {
20 type: String,
21 default: 'rgb(130, 140, 153)'
22 },
23 handleClick: {
24 type: Function
25 }
26 },
27 render: function render(h, _ref) {
28 var props = _ref.props,
29 data = _ref.data;
30 var steps = [];
31
32 var _loop = function _loop(i) {
33 var color = i === props.current ? props.currentColor : props.defaultColor;
34 steps.push(h('div', {
35 class: 'step-indicator',
36 style: {
37 color: color,
38 borderColor: color
39 },
40 on: {
41 click: function click() {
42 return props.handleClick && props.handleClick(i);
43 }
44 }
45 }, [i + 1]));
46 };
47
48 for (var i = 0; i < props.total; i++) {
49 _loop(i);
50 }
51
52 var attrs = assign({}, data, {
53 class: ['step-indicators', data.class]
54 });
55 return h('div', attrs, [h('span', {
56 class: 'step-indicators-line'
57 })].concat(steps));
58 }
59};
60
61export default index;