UNPKG

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