@king-design/vue 3.0.0-beta.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/__snapshots__/Vue Next Demos.md +294 -287
- package/components/badge/styles.js +1 -1
- package/components/button/group.d.ts +1 -0
- package/components/button/group.js +2 -1
- package/components/button/group.vdt.js +4 -2
- package/components/button/index.vdt.js +1 -1
- package/components/button/styles.d.ts +1 -1
- package/components/button/styles.js +14 -9
- package/components/carousel/index.vdt.js +2 -2
- package/components/cascader/index.vdt.js +1 -1
- package/components/checkbox/styles.js +4 -8
- package/components/collapse/item.vdt.js +1 -1
- package/components/collapse/styles.js +2 -2
- package/components/copy/index.vdt.js +1 -1
- package/components/datepicker/calendar.vdt.js +6 -6
- package/components/datepicker/index.spec.js +170 -152
- package/components/datepicker/styles.js +1 -1
- package/components/datepicker/useValue.d.ts +3 -3
- package/components/datepicker/useValue.js +38 -9
- package/components/dialog/styles.js +1 -1
- package/components/dropdown/dropdown.js +2 -1
- package/components/form/index.spec.js +45 -0
- package/components/form/styles.js +1 -1
- package/components/icon/index.vdt.js +3 -2
- package/components/icon/styles.js +1 -1
- package/components/input/index.d.ts +3 -1
- package/components/input/index.js +4 -1
- package/components/input/index.vdt.js +21 -10
- package/components/input/search.vdt.js +2 -4
- package/components/input/styles.js +13 -6
- package/components/input/useFocus.d.ts +4 -0
- package/components/input/useFocus.js +21 -0
- package/components/menu/item.vdt.js +4 -1
- package/components/message/message.js +1 -1
- package/components/pagination/index.vdt.js +2 -2
- package/components/pagination/styles.js +2 -5
- package/components/popover/styles.js +1 -1
- package/components/progress/index.vdt.js +1 -1
- package/components/radio/styles.js +1 -1
- package/components/scrollSelect/styles.js +1 -1
- package/components/select/base.vdt.js +40 -20
- package/components/select/index.spec.js +23 -11
- package/components/select/menu.vdt.js +5 -5
- package/components/select/option.vdt.js +2 -1
- package/components/select/styles.js +2 -2
- package/components/spinner/index.vdt.js +4 -4
- package/components/spinner/styles.js +2 -2
- package/components/steps/step.vdt.js +2 -2
- package/components/steps/styles.js +6 -2
- package/components/switch/styles.js +10 -2
- package/components/table/cell.vdt.js +1 -1
- package/components/table/column.vdt.js +42 -24
- package/components/table/index.spec.js +37 -6
- package/components/table/styles.js +15 -8
- package/components/table/table.js +2 -1
- package/components/table/useGroup.d.ts +9 -3
- package/components/table/useGroup.js +46 -37
- package/components/tabs/index.vdt.js +7 -2
- package/components/tag/styles.js +1 -1
- package/components/tag/tags.vdt.js +14 -2
- package/components/tag/useNowrap.js +1 -1
- package/components/tip/styles.js +1 -1
- package/components/tooltip/index.spec.js +57 -0
- package/components/tooltip/tooltip.js +5 -1
- package/components/transfer/index.vdt.js +14 -3
- package/components/types.d.ts +1 -0
- package/components/upload/index.vdt.js +4 -4
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/package.json +1 -1
- package/styles/fonts/iconfont.eot +0 -0
- package/styles/fonts/iconfont.js +1 -1
- package/styles/fonts/iconfont.svg +36 -36
- package/styles/fonts/iconfont.ttf +0 -0
- package/styles/fonts/iconfont.woff +0 -0
- package/styles/global.js +1 -1
- package/styles/theme.js +1 -1
- package/components/select/useNowrap.d.ts +0 -3
- package/components/select/useNowrap.js +0 -19
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime-corejs3/helpers/extends";
|
|
2
2
|
import _flatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/flat";
|
|
3
3
|
import _valuesInstanceProperty from "@babel/runtime-corejs3/core-js/instance/values";
|
|
4
|
-
import { createUnknownComponentVNode as _$cc, createVNode as _$cv, className as _$cn, createElementVNode as _$ce, noop as _$no, map as _$ma } from 'intact-vue-next';
|
|
4
|
+
import { createUnknownComponentVNode as _$cc, createVNode as _$cv, className as _$cn, createElementVNode as _$ce, noop as _$no, map as _$ma, extend as _$ex, EMPTY_OBJ as _$em } from 'intact-vue-next';
|
|
5
5
|
import { TransitionGroup, Transition } from 'intact';
|
|
6
6
|
import { Input } from '../input';
|
|
7
7
|
import { Icon } from '../icon';
|
|
@@ -16,6 +16,9 @@ var _$tmp0 = {
|
|
|
16
16
|
'className': 'ion-load-c',
|
|
17
17
|
'rotate': true
|
|
18
18
|
};
|
|
19
|
+
var _$tmp1 = {
|
|
20
|
+
'className': 'k-icon-search'
|
|
21
|
+
};
|
|
19
22
|
export default function ($props, $blocks, $__proto__) {
|
|
20
23
|
var _classNameObj,
|
|
21
24
|
_this = this;
|
|
@@ -62,6 +65,21 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
62
65
|
var _this$focusout = this.focusout,
|
|
63
66
|
onFocusout = _this$focusout.onFocusout,
|
|
64
67
|
triggerRef = _this$focusout.triggerRef;
|
|
68
|
+
var filterInput = filterable ? _$cc(Input, {
|
|
69
|
+
'className': 'k-select-input',
|
|
70
|
+
'value': keywords,
|
|
71
|
+
'ev-$change:value': onInput,
|
|
72
|
+
'disabled': disabled,
|
|
73
|
+
'placeholder': !hasValue ? placeholder : '',
|
|
74
|
+
'ref': inputRef,
|
|
75
|
+
'autoWidth': true,
|
|
76
|
+
'inline': true,
|
|
77
|
+
'size': size,
|
|
78
|
+
'key': 'filter',
|
|
79
|
+
'readonly': !show,
|
|
80
|
+
'waveDisabled': true,
|
|
81
|
+
'flat': flat
|
|
82
|
+
}, 'filter', inputRef) : undefined;
|
|
65
83
|
return _$cc(ErrorContext.Consumer, {
|
|
66
84
|
'defaultValue': false,
|
|
67
85
|
'children': function children(isInvalid) {
|
|
@@ -124,7 +142,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
124
142
|
|
|
125
143
|
return block ? block.call($this, callBlock, data) : callBlock();
|
|
126
144
|
}, __$blocks['value'](_$no, [value, label])), 0, 'k-select-value c-ellipsis', null, 'value') : _$ce(2, 'div', [(_$blocks['values'] = function ($super) {
|
|
127
|
-
return label && label.length ? _$cc(Tags, {
|
|
145
|
+
return label && label.length || filterable ? _$cc(Tags, {
|
|
128
146
|
'nowrap': nowrap,
|
|
129
147
|
'size': size,
|
|
130
148
|
'draggable': draggable,
|
|
@@ -148,7 +166,23 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
148
166
|
return block ? block.call($this, callBlock, data) : callBlock();
|
|
149
167
|
}, __$blocks['value'](_$no, [value[$key], $label]))
|
|
150
168
|
}, isStringOrNumber($label) ? $label : isStringOrNumber(value[$key]) ? value[$key] : $key);
|
|
151
|
-
}, $this)
|
|
169
|
+
}, $this),
|
|
170
|
+
'$blocks': function ($blocks) {
|
|
171
|
+
var _$blocks = {},
|
|
172
|
+
__$blocks = _$ex({}, $blocks);
|
|
173
|
+
|
|
174
|
+
return (_$blocks['append'] = function ($super) {
|
|
175
|
+
return filterInput;
|
|
176
|
+
}, __$blocks['append'] = function ($super, data) {
|
|
177
|
+
var block = $blocks['append'];
|
|
178
|
+
|
|
179
|
+
var callBlock = function callBlock() {
|
|
180
|
+
return _$blocks['append'].call($this, $super, data);
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
return block ? block.call($this, callBlock, data) : callBlock();
|
|
184
|
+
}), __$blocks;
|
|
185
|
+
}.call($this, _$em)
|
|
152
186
|
}) : undefined;
|
|
153
187
|
}, __$blocks['values'] = function ($super, data) {
|
|
154
188
|
var block = _valuesInstanceProperty($blocks);
|
|
@@ -158,21 +192,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
158
192
|
};
|
|
159
193
|
|
|
160
194
|
return block ? block.call($this, callBlock, data) : callBlock();
|
|
161
|
-
}, _valuesInstanceProperty(__$blocks).call(__$blocks, _$no, [value, label])),
|
|
162
|
-
'className': 'k-select-input',
|
|
163
|
-
'value': keywords,
|
|
164
|
-
'ev-$change:value': onInput,
|
|
165
|
-
'disabled': disabled,
|
|
166
|
-
'placeholder': !hasValue ? placeholder : '',
|
|
167
|
-
'ref': inputRef,
|
|
168
|
-
'autoWidth': true,
|
|
169
|
-
'inline': true,
|
|
170
|
-
'size': size,
|
|
171
|
-
'key': 'filter',
|
|
172
|
-
'readonly': !show,
|
|
173
|
-
'waveDisabled': true,
|
|
174
|
-
'flat': flat
|
|
175
|
-
}, 'filter', inputRef) : undefined], 0, 'k-select-values', null, 'values')
|
|
195
|
+
}, _valuesInstanceProperty(__$blocks).call(__$blocks, _$no, [value, label])), $blocks && _valuesInstanceProperty($blocks) ? filterInput : undefined], 0, 'k-select-values', null, 'values')
|
|
176
196
|
})], 0, 'k-select-main'), !hideIcon || clearable || loading || $blocks.suffix ? _$ce(2, 'span', [clearable && !disabled ? _$cc(Icon, {
|
|
177
197
|
'className': _$cn({
|
|
178
198
|
"k-select-clear ion-ios-close": true,
|
|
@@ -181,8 +201,8 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
181
201
|
'ev-click': _this.clear,
|
|
182
202
|
'hoverable': true
|
|
183
203
|
}) : undefined, _$ce(2, 'span', (_$blocks['suffix'] = function ($super) {
|
|
184
|
-
return loading ? _$cc(Icon, _$tmp0) : !hideIcon ? _$cc(Icon, {
|
|
185
|
-
'className': 'k-select-arrow
|
|
204
|
+
return loading ? _$cc(Icon, _$tmp0) : !hideIcon ? filterable && show ? _$cc(Icon, _$tmp1) : _$cc(Icon, {
|
|
205
|
+
'className': 'k-select-arrow k-icon-down',
|
|
186
206
|
'disabled': $props.isDisableArrow
|
|
187
207
|
}) : undefined;
|
|
188
208
|
}, __$blocks['suffix'] = function ($super, data) {
|
|
@@ -473,7 +473,7 @@ describe('Select', function () {
|
|
|
473
473
|
}, _callee9);
|
|
474
474
|
})));
|
|
475
475
|
it('Searchable with multiple', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {
|
|
476
|
-
var _mount11, instance, element, _element$querySelecto6, select, dropdown, _dropdown$querySelect2, selectAll, toggleSelect, unselectAll, _dropdown$querySelect3,
|
|
476
|
+
var _mount11, instance, element, _element$querySelecto6, select, dropdown, _dropdown$querySelect2, selectAll, toggleSelect, unselectAll, _dropdown$querySelect3, cancel, confirm, input;
|
|
477
477
|
|
|
478
478
|
return _regeneratorRuntime.wrap(function _callee10$(_context12) {
|
|
479
479
|
while (1) {
|
|
@@ -488,44 +488,56 @@ describe('Select', function () {
|
|
|
488
488
|
case 5:
|
|
489
489
|
dropdown = getElement('.k-select-menu');
|
|
490
490
|
_dropdown$querySelect2 = dropdown.querySelectorAll('.k-select-op .k-btn'), selectAll = _dropdown$querySelect2[0], toggleSelect = _dropdown$querySelect2[1], unselectAll = _dropdown$querySelect2[2];
|
|
491
|
-
_dropdown$querySelect3 = dropdown.querySelectorAll('.k-select-footer .k-btn'),
|
|
491
|
+
_dropdown$querySelect3 = dropdown.querySelectorAll('.k-select-footer .k-btn'), cancel = _dropdown$querySelect3[0], confirm = _dropdown$querySelect3[1]; // select all
|
|
492
492
|
|
|
493
493
|
selectAll.click();
|
|
494
494
|
confirm.click();
|
|
495
|
+
_context12.next = 12;
|
|
496
|
+
return wait();
|
|
497
|
+
|
|
498
|
+
case 12:
|
|
495
499
|
expect(instance.get('days')).have.length(7); // unselect all
|
|
496
500
|
|
|
497
501
|
select.click();
|
|
498
|
-
_context12.next =
|
|
502
|
+
_context12.next = 16;
|
|
499
503
|
return wait();
|
|
500
504
|
|
|
501
|
-
case
|
|
505
|
+
case 16:
|
|
502
506
|
unselectAll.click();
|
|
503
507
|
confirm.click();
|
|
508
|
+
_context12.next = 20;
|
|
509
|
+
return wait();
|
|
510
|
+
|
|
511
|
+
case 20:
|
|
504
512
|
expect(instance.get('days')).have.length(0); // toggle select
|
|
505
513
|
|
|
506
514
|
select.click();
|
|
507
|
-
_context12.next =
|
|
515
|
+
_context12.next = 24;
|
|
508
516
|
return wait();
|
|
509
517
|
|
|
510
|
-
case
|
|
518
|
+
case 24:
|
|
511
519
|
instance.set('days', ['Monday', 'Tuesday']);
|
|
512
|
-
_context12.next =
|
|
520
|
+
_context12.next = 27;
|
|
513
521
|
return wait();
|
|
514
522
|
|
|
515
|
-
case
|
|
523
|
+
case 27:
|
|
516
524
|
input = dropdown.querySelector('.k-input-inner');
|
|
517
525
|
input.value = 's';
|
|
518
526
|
dispatchEvent(input, 'input');
|
|
519
|
-
_context12.next =
|
|
527
|
+
_context12.next = 32;
|
|
520
528
|
return wait();
|
|
521
529
|
|
|
522
|
-
case
|
|
530
|
+
case 32:
|
|
523
531
|
toggleSelect.click();
|
|
524
532
|
confirm.click();
|
|
533
|
+
_context12.next = 36;
|
|
534
|
+
return wait();
|
|
535
|
+
|
|
536
|
+
case 36:
|
|
525
537
|
expect(instance.get('days')).have.length(5);
|
|
526
538
|
expect(instance.get('days')).include('Monday');
|
|
527
539
|
|
|
528
|
-
case
|
|
540
|
+
case 38:
|
|
529
541
|
case "end":
|
|
530
542
|
return _context12.stop();
|
|
531
543
|
}
|
|
@@ -11,7 +11,7 @@ import { Icon } from '../icon';
|
|
|
11
11
|
import { context } from './useSearchable';
|
|
12
12
|
import { Tabs, Tab } from '../tabs';
|
|
13
13
|
var _$tmp0 = {
|
|
14
|
-
'className': '
|
|
14
|
+
'className': 'k-icon-search'
|
|
15
15
|
};
|
|
16
16
|
export default function ($props, $blocks, $__proto__) {
|
|
17
17
|
var _classNameObj;
|
|
@@ -117,14 +117,14 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
117
117
|
'ev-click': unselectAll,
|
|
118
118
|
'children': _$('清空')
|
|
119
119
|
})], 4, 'k-select-op') : undefined], 0, 'k-select-header'), _$ce(2, 'div', children, 0, 'k-select-body'), multiple ? _$ce(2, 'div', [_$cc(Button, {
|
|
120
|
+
'size': 'small',
|
|
121
|
+
'ev-click': this.select.hide,
|
|
122
|
+
'children': _$('取消')
|
|
123
|
+
}), _$cc(Button, {
|
|
120
124
|
'type': 'primary',
|
|
121
125
|
'size': 'small',
|
|
122
126
|
'ev-click': confirm,
|
|
123
127
|
'children': _$('确定')
|
|
124
|
-
}), _$cc(Button, {
|
|
125
|
-
'size': 'small',
|
|
126
|
-
'ev-click': this.select.hide,
|
|
127
|
-
'children': _$('取消')
|
|
128
128
|
})], 4, 'k-select-footer') : undefined]
|
|
129
129
|
});
|
|
130
130
|
}
|
|
@@ -7,7 +7,8 @@ import { Icon } from '../icon';
|
|
|
7
7
|
import { Checkbox } from '../checkbox';
|
|
8
8
|
import { context } from './useSearchable';
|
|
9
9
|
var _$tmp0 = {
|
|
10
|
-
'className': 'k-select-checkmark ion-ios-checkmark-empty'
|
|
10
|
+
'className': 'k-select-checkmark ion-ios-checkmark-empty',
|
|
11
|
+
'color': 'primary'
|
|
11
12
|
};
|
|
12
13
|
export default function ($props, $blocks, $__proto__) {
|
|
13
14
|
var _classNameObj,
|
|
@@ -6,7 +6,7 @@ import { deepDefaults, sizes, getRight, getLeft } from '../../styles/utils';
|
|
|
6
6
|
import '../../styles/global';
|
|
7
7
|
var defaults = deepDefaults({
|
|
8
8
|
get transition() {
|
|
9
|
-
return theme.transition.
|
|
9
|
+
return theme.transition.large;
|
|
10
10
|
},
|
|
11
11
|
|
|
12
12
|
width: "300px",
|
|
@@ -174,7 +174,7 @@ setDefault(function () {
|
|
|
174
174
|
}).select;
|
|
175
175
|
});
|
|
176
176
|
export default function makeStyles() {
|
|
177
|
-
return /*#__PURE__*/css("display:inline-flex;align-items:center;vertical-align:middle;position:relative;width:", select.width, ";cursor:pointer;outline:none;border:", select.border, ";background:", select.bgColor, ";transition:border ", select.transition, ",background ", select.transition, ",box-shadow ", select.transition, ";border-radius:", select.borderRadius, ";.k-select-main{flex:1;min-width:0;}.k-select-prefix,.k-select-suffix{position:relative;}.k-select-suffix{margin-left:", select.suffixGap, ";}.k-select-placeholder{color:", select.placeholderColor, ";user-select:none;}.k-input .k-input-inner{background:transparent;}&.k-fluid{width:100%;}.k-select-clear{opacity:0;transition:opacity ", select.transition, ",color ", select.transition, "!important;pointer-events:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%, -50%);}&:hover{border:", select.hoverBorder, ";.k-select-clear.k-show{opacity:1;pointer-events:all;+.k-select-suffix-icon{opacity:0;}}}.k-select-suffix-icon{display:inline-
|
|
177
|
+
return /*#__PURE__*/css("display:inline-flex;align-items:center;vertical-align:middle;position:relative;width:", select.width, ";cursor:pointer;outline:none;border:", select.border, ";background:", select.bgColor, ";transition:border ", select.transition, ",background ", select.transition, ",box-shadow ", select.transition, ";border-radius:", select.borderRadius, ";.k-select-main{flex:1;min-width:0;}.k-select-prefix,.k-select-suffix{display:flex;align-items:center;position:relative;}.k-select-suffix{margin-left:", select.suffixGap, ";}.k-select-placeholder{color:", select.placeholderColor, ";user-select:none;}.k-input .k-input-inner{background:transparent;}&.k-fluid{width:100%;}.k-select-clear{opacity:0;transition:opacity ", select.transition, ",color ", select.transition, "!important;pointer-events:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%, -50%);}&:hover{border:", select.hoverBorder, ";.k-select-clear.k-show{opacity:1;pointer-events:all;+.k-select-suffix-icon{opacity:0;}}}.k-select-suffix-icon{display:inline-flex;align-items:center;transition:opacity ", select.transition, ";}.k-select-arrow{display:inline-block;transition:transform ", select.transition, ";}&.k-dropdown-open{border:", select.focusBorder, ";.k-select-arrow{transform:rotateX(180deg);}}&:focus{outline:none;border:", select.focusBorder, ";}.k-tags{padding:3px 0;}.k-tag{word-break:break-word;height:auto;max-width:calc(100% - ", getRight(select.tag.margin), " - 1px);}", _mapInstanceProperty(sizes).call(sizes, function (size) {
|
|
178
178
|
var styles = select[size];
|
|
179
179
|
var className = /*#__PURE__*/css("font-size:", styles.fontSize, ";min-height:", styles.height, ";padding:", styles.padding, ";");
|
|
180
180
|
if (size === 'default') return className;
|
|
@@ -6,16 +6,16 @@ import { Input } from '../input';
|
|
|
6
6
|
import { getRestProps } from '../utils';
|
|
7
7
|
import { makeStyles } from './styles';
|
|
8
8
|
var _$tmp0 = {
|
|
9
|
-
'className': 'k-spinner-icon k-icon-minus
|
|
9
|
+
'className': 'k-spinner-icon k-icon-minus'
|
|
10
10
|
};
|
|
11
11
|
var _$tmp1 = {
|
|
12
|
-
'className': 'k-spinner-icon k-icon-
|
|
12
|
+
'className': 'k-spinner-icon k-icon-down'
|
|
13
13
|
};
|
|
14
14
|
var _$tmp2 = {
|
|
15
|
-
'className': 'k-spinner-icon k-icon-add
|
|
15
|
+
'className': 'k-spinner-icon k-icon-add'
|
|
16
16
|
};
|
|
17
17
|
var _$tmp3 = {
|
|
18
|
-
'className': 'k-spinner-icon k-icon-
|
|
18
|
+
'className': 'k-spinner-icon k-icon-up'
|
|
19
19
|
};
|
|
20
20
|
export default function ($props, $blocks, $__proto__) {
|
|
21
21
|
var _classNameObj;
|
|
@@ -70,7 +70,7 @@ setDefault(function () {
|
|
|
70
70
|
}).spinner;
|
|
71
71
|
});
|
|
72
72
|
export function makeStyles() {
|
|
73
|
-
return /*#__PURE__*/css("display:inline-block;vertical-align:middle;border:", spinner.border, ";border-radius:", spinner.borderRadius, ";&:hover{border-color:", spinner.hoverBorderColor, ";.k-spinner-btn{background:", spinner.hoverBtnBg, ";}.k-left{border-radius:", spinner.borderRadius, " 0 0 ", spinner.borderRadius, ";}.k-right{border-radius:0 ", spinner.borderRadius, " ", spinner.borderRadius, " 0;}}.k-spinner-input{width:", spinner.default.inputWidth, ";.k-input-
|
|
73
|
+
return /*#__PURE__*/css("display:inline-block;vertical-align:middle;border:", spinner.border, ";border-radius:", spinner.borderRadius, ";&:hover{border-color:", spinner.hoverBorderColor, ";.k-spinner-btn{background:", spinner.hoverBtnBg, ";}.k-left{border-radius:", spinner.borderRadius, " 0 0 ", spinner.borderRadius, ";}.k-right{border-radius:0 ", spinner.borderRadius, " ", spinner.borderRadius, " 0;}}.k-spinner-input{width:", spinner.default.inputWidth, ";.k-input-wrapper{border:none;border-radius:0;&:hover{border:none;}}&.k-focus .k-input-wrapper{border:none;}.k-input-inner{text-align:center;}}.k-spinner-icon{font-size:", spinner.default.iconFontSize, ";}&.k-vertical{position:relative;font-size:0;", _mapInstanceProperty(sizes).call(sizes, function (size) {
|
|
74
74
|
var generate = function generate() {
|
|
75
75
|
return "\n .k-spinner-input {\n padding-right: " + theme[size].height + ";\n width: " + spinner.vertical[size].width + ";\n }\n ";
|
|
76
76
|
};
|
|
@@ -80,7 +80,7 @@ export function makeStyles() {
|
|
|
80
80
|
} else {
|
|
81
81
|
return "\n &.k-" + size + " {\n " + generate() + "\n }\n ";
|
|
82
82
|
}
|
|
83
|
-
}), ";.k-spinner-btn{position:absolute;right:0;margin:0;height:calc(50% - 2px);line-height:50%;}.k-spinner-icon{font-size:inherit!important;}.k-spinner-btn.k-left{bottom:1px;border-radius:0 0 ", spinner.borderRadius, " 0;}.k-spinner-btn.k-right{top:1px;border-radius:0 ", spinner.borderRadius, " 0 0;}.k-spinner-input{
|
|
83
|
+
}), ";.k-spinner-btn{position:absolute;right:0;margin:0;height:calc(50% - 2px);line-height:50%;}.k-spinner-icon{font-size:inherit!important;}.k-spinner-btn.k-left{bottom:1px;border-radius:0 0 ", spinner.borderRadius, " 0;}.k-spinner-btn.k-right{top:1px;border-radius:0 ", spinner.borderRadius, " 0 0;}.k-spinner-input{.k-input-wrapper{border-radius:", spinner.borderRadius, " 0 0 ", spinner.borderRadius, ";}}}&.k-disabled{border-color:", spinner.disabledBorderColor, ";background:", spinner.disabledBg, ";}", _mapInstanceProperty(sizes).call(sizes, function (size) {
|
|
84
84
|
var styles = spinner[size];
|
|
85
85
|
|
|
86
86
|
var generate = function generate() {
|
|
@@ -5,11 +5,11 @@ import { getRestProps, addStyle } from '../utils';
|
|
|
5
5
|
import { context as StepsContext } from './context';
|
|
6
6
|
import { Icon } from '../icon';
|
|
7
7
|
var _$tmp0 = {
|
|
8
|
-
'className': 'k-icon-close-
|
|
8
|
+
'className': 'k-icon-close-bold',
|
|
9
9
|
'color': 'danger'
|
|
10
10
|
};
|
|
11
11
|
var _$tmp1 = {
|
|
12
|
-
'className': 'k-icon-check',
|
|
12
|
+
'className': 'k-icon-check-bold',
|
|
13
13
|
'color': 'primary'
|
|
14
14
|
};
|
|
15
15
|
export default function ($props, $blocks, $__proto__) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js/instance/map";
|
|
2
2
|
import { css } from '@emotion/css';
|
|
3
3
|
import { theme, setDefault } from '../../styles/theme';
|
|
4
|
-
import { deepDefaults } from '../../styles/utils';
|
|
4
|
+
import { deepDefaults, palette } from '../../styles/utils';
|
|
5
5
|
import '../../styles/global';
|
|
6
6
|
var defaults = {
|
|
7
7
|
gap: '10px',
|
|
@@ -45,6 +45,10 @@ var defaults = {
|
|
|
45
45
|
return theme.color.primary;
|
|
46
46
|
},
|
|
47
47
|
|
|
48
|
+
get markHoverBgColor() {
|
|
49
|
+
return palette(theme.color.primary, -4);
|
|
50
|
+
},
|
|
51
|
+
|
|
48
52
|
markBgColor: '#fff',
|
|
49
53
|
|
|
50
54
|
get mainColor() {
|
|
@@ -140,7 +144,7 @@ setDefault(function () {
|
|
|
140
144
|
});
|
|
141
145
|
var stepStatus = ['done', 'active', 'error'];
|
|
142
146
|
export function makeStepsStyles() {
|
|
143
|
-
return /*#__PURE__*/css("display:flex;", makeCommonStyles(), ";&.k-default{", makeDefaultStyles(), ";}&.k-line,&.k-line-compact,&.k-simple{", makeLineStyles(), ";}&.k-line-compact{", makeLineCompactStyles(), ";}&.k-simple{", makeSimpleStyles(), ";}&.k-clickable{.k-done{cursor:pointer;}}", makeVerticalStyles(), ";");
|
|
147
|
+
return /*#__PURE__*/css("display:flex;", makeCommonStyles(), ";&.k-default{", makeDefaultStyles(), ";}&.k-line,&.k-line-compact,&.k-simple{", makeLineStyles(), ";}&.k-line-compact{", makeLineCompactStyles(), ";}&.k-simple{", makeSimpleStyles(), ";}&.k-clickable{.k-done{cursor:pointer;.k-step-wrapper:hover .k-step-mark{background:", steps.done.markHoverBgColor, ";}}}", makeVerticalStyles(), ";");
|
|
144
148
|
}
|
|
145
149
|
|
|
146
150
|
function makeDefaultStyles() {
|
|
@@ -12,6 +12,10 @@ var defaults = {
|
|
|
12
12
|
return theme.color.border;
|
|
13
13
|
},
|
|
14
14
|
|
|
15
|
+
get hoverBgColor() {
|
|
16
|
+
return theme.color.placeholder;
|
|
17
|
+
},
|
|
18
|
+
|
|
15
19
|
fontSize: "12px",
|
|
16
20
|
color: '#fff',
|
|
17
21
|
handleBorderRadius: "100%",
|
|
@@ -24,6 +28,10 @@ var defaults = {
|
|
|
24
28
|
|
|
25
29
|
get disabledBgColor() {
|
|
26
30
|
return palette(theme.color.primary, -3);
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
get hoverBgColor() {
|
|
34
|
+
return theme.color.linkHover;
|
|
27
35
|
}
|
|
28
36
|
|
|
29
37
|
},
|
|
@@ -65,11 +73,11 @@ setDefault(function () {
|
|
|
65
73
|
}).switch;
|
|
66
74
|
});
|
|
67
75
|
export function makeStyles() {
|
|
68
|
-
return /*#__PURE__*/css("display:inline-block;vertical-align:middle;background:", kswitch.bgColor, ";position:relative;cursor:pointer;user-select:none;overflow:hidden;box-sizing:content-box;input{opacity:0;position:absolute;}.k-switch-bar,.k-switch-off{box-sizing:border-box;}.k-switch-bar{position:absolute;text-align:right;overflow:hidden;}.k-switch-wrapper{display:inline-block;position:relative;z-index:1;border-radius:", kswitch.handleBorderRadius, ";}.k-switch-bar,.k-switch-wrapper{height:100%;background:", kswitch.bgColor, ";transition:all ", kswitch.transition, ";}.k-switch-handle{border-radius:", kswitch.handleBorderRadius, ";background:", kswitch.handleBgColor, ";height:100%;cursor:pointer;transition:left ", kswitch.transition, ";display:inline-block;img{height:100%;visibility:hidden;}}.k-switch-on,.k-switch-off{position:absolute;font-size:", kswitch.fontSize, ";color:", kswitch.color, ";text-align:center;}&.k-dragging{.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.bgColor, ";transition:background ", kswitch.transition, ";}}&:focus{outline:none;}", _mapInstanceProperty(sizes).call(sizes, function (size) {
|
|
76
|
+
return /*#__PURE__*/css("display:inline-block;vertical-align:middle;background:", kswitch.bgColor, ";position:relative;cursor:pointer;user-select:none;overflow:hidden;box-sizing:content-box;transition:background ", kswitch.transition, ";input{opacity:0;position:absolute;}.k-switch-bar,.k-switch-off{box-sizing:border-box;}.k-switch-bar{position:absolute;text-align:right;overflow:hidden;}.k-switch-wrapper{display:inline-block;position:relative;z-index:1;border-radius:", kswitch.handleBorderRadius, ";}.k-switch-bar,.k-switch-wrapper{height:100%;background:", kswitch.bgColor, ";transition:all ", kswitch.transition, ";}&:hover{&,.k-switch-bar,.k-switch-wrapper{background:", kswitch.hoverBgColor, ";}}.k-switch-handle{border-radius:", kswitch.handleBorderRadius, ";background:", kswitch.handleBgColor, ";height:100%;cursor:pointer;transition:left ", kswitch.transition, ";display:inline-block;img{height:100%;visibility:hidden;}}.k-switch-on,.k-switch-off{position:absolute;font-size:", kswitch.fontSize, ";color:", kswitch.color, ";text-align:center;}&.k-dragging{.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.bgColor, ";transition:background ", kswitch.transition, ";}}&:focus{outline:none;}", _mapInstanceProperty(sizes).call(sizes, function (size) {
|
|
69
77
|
var _kswitch$size = kswitch[size],
|
|
70
78
|
width = _kswitch$size.width,
|
|
71
79
|
height = _kswitch$size.height,
|
|
72
80
|
padding = _kswitch$size.padding;
|
|
73
81
|
return /*#__PURE__*/css("&.k-", size, ",&.k-", size, " .k-switch-on,&.k-", size, " .k-switch-off{width:", width, ";height:", height, ";}&.k-", size, "{border-radius:", height, ";.k-switch-bar{width:", height, ";border-radius:", height, ";}.k-switch-wrapper{padding:", padding, ";}.k-switch-on,.k-switch-off{line-height:", height, ";left:0;}.k-switch-on{padding:0 ", height, " 0 calc(", height, " / 3);}.k-switch-off{padding:0 calc(", height, " / 3) 0 ", height, ";}}");
|
|
74
|
-
}), "&.k-checked{.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.bgColor, ";}.k-switch-bar{width:100%;}}&.k-disabled{&,.k-switch-handle{cursor:not-allowed;}&,.k-switch-bar,.k-switch-wrapper{background:", kswitch.disabledBgColor, ";}&.k-checked{&,.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.disabledBgColor, ";}}}");
|
|
82
|
+
}), "&.k-checked{.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.bgColor, ";}.k-switch-bar{width:100%;}&:hover{.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.hoverBgColor, ";}}}&.k-disabled{&,.k-switch-handle{cursor:not-allowed;}&,.k-switch-bar,.k-switch-wrapper{background:", kswitch.disabledBgColor, ";}&.k-checked{&,.k-switch-bar,.k-switch-wrapper{background:", kswitch.checked.disabledBgColor, ";}}}");
|
|
75
83
|
}
|
|
@@ -5,7 +5,7 @@ import { Button } from '../button';
|
|
|
5
5
|
import { Icon } from '../icon';
|
|
6
6
|
import { getTextByChildren } from '../utils';
|
|
7
7
|
var _$tmp0 = {
|
|
8
|
-
'className': '
|
|
8
|
+
'className': 'k-icon-right',
|
|
9
9
|
'size': 'small'
|
|
10
10
|
};
|
|
11
11
|
export default function ($props, $blocks, $__proto__) {
|
|
@@ -6,7 +6,7 @@ import { Button } from '../button';
|
|
|
6
6
|
import { Icon } from '../icon';
|
|
7
7
|
import { Checkbox } from '../checkbox';
|
|
8
8
|
import { makeGroupMenuStyles } from './styles';
|
|
9
|
-
import { isStringOrNumber, get } from 'intact-shared';
|
|
9
|
+
import { isStringOrNumber, get, isArray } from 'intact-shared';
|
|
10
10
|
import { context as GroupContext } from './useGroup';
|
|
11
11
|
import { context as SortableContext } from './useSortable';
|
|
12
12
|
import { linkEvent } from 'intact';
|
|
@@ -17,16 +17,15 @@ import { stopPropagation } from '../utils';
|
|
|
17
17
|
import { Input } from '../input';
|
|
18
18
|
import { _$ } from '../../i18n';
|
|
19
19
|
var _$tmp0 = {
|
|
20
|
-
'className': '
|
|
20
|
+
'className': 'k-icon-search'
|
|
21
21
|
};
|
|
22
22
|
var _$tmp1 = {
|
|
23
|
-
'className': '
|
|
23
|
+
'className': 'k-icon-up k-asc',
|
|
24
|
+
'size': 'mini'
|
|
24
25
|
};
|
|
25
26
|
var _$tmp2 = {
|
|
26
|
-
'className': '
|
|
27
|
-
|
|
28
|
-
var _$tmp3 = {
|
|
29
|
-
'className': 'ion-android-arrow-dropdown k-desc'
|
|
27
|
+
'className': 'k-icon-down k-desc',
|
|
28
|
+
'size': 'mini'
|
|
30
29
|
};
|
|
31
30
|
export default function ($props, $blocks, $__proto__) {
|
|
32
31
|
var _this = this;
|
|
@@ -50,9 +49,14 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
50
49
|
var _this$group = this.group,
|
|
51
50
|
onSelect = _this$group.onSelect,
|
|
52
51
|
isChecked = _this$group.isChecked,
|
|
53
|
-
getGroupText = _this$group.getGroupText,
|
|
54
52
|
keywords = _this$group.keywords,
|
|
55
|
-
filteredGroup = _this$group.filteredGroup
|
|
53
|
+
filteredGroup = _this$group.filteredGroup,
|
|
54
|
+
onShow = _this$group.onShow,
|
|
55
|
+
reset = _this$group.reset,
|
|
56
|
+
confirm = _this$group.confirm,
|
|
57
|
+
dropdownRef = _this$group.dropdownRef,
|
|
58
|
+
localGroupValue = _this$group.localGroupValue,
|
|
59
|
+
isEmptyValue = _this$group.isEmptyValue;
|
|
56
60
|
return _$cc(TableContext.Consumer, {
|
|
57
61
|
'children': function children(checkType) {
|
|
58
62
|
return _$cc(GroupContext.Consumer, {
|
|
@@ -80,7 +84,6 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
80
84
|
'k-column-sortable': sortable
|
|
81
85
|
}, _classNameObj[className] = className, _classNameObj);
|
|
82
86
|
var groupValue = currentGroup && currentGroup[key];
|
|
83
|
-
var groupText = getGroupText(groupValue);
|
|
84
87
|
var type = sort && sort.key === key && sort.type;
|
|
85
88
|
var checked;
|
|
86
89
|
return _$ce(2, 'th', [resizable && _this.$vNode.props.prevVNode ? _$ce(2, 'div', null, 1, 'k-table-resize', {
|
|
@@ -88,7 +91,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
88
91
|
e._vNode = _this.$vNode;
|
|
89
92
|
onStart(e);
|
|
90
93
|
}
|
|
91
|
-
}) : undefined, _$ce(2, 'div', [_$ce(2, 'div',
|
|
94
|
+
}) : undefined, _$ce(2, 'div', [_$ce(2, 'div', (_$blocks['title'] = function ($super) {
|
|
92
95
|
return title;
|
|
93
96
|
}, __$blocks['title'] = function ($super, data) {
|
|
94
97
|
var block = $blocks['title'];
|
|
@@ -98,7 +101,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
98
101
|
};
|
|
99
102
|
|
|
100
103
|
return block ? block.call($this, callBlock, data) : callBlock();
|
|
101
|
-
}, __$blocks['title'](_$no)),
|
|
104
|
+
}, __$blocks['title'](_$no)), 0, 'k-table-title-text c-ellipsis'), group ? _$cc(Dropdown, {
|
|
102
105
|
'position': {
|
|
103
106
|
my: 'center top',
|
|
104
107
|
at: 'center bottom+5',
|
|
@@ -107,16 +110,16 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
107
110
|
'key': 'dropdown',
|
|
108
111
|
'trigger': 'click',
|
|
109
112
|
'ev-show': function evShow() {
|
|
110
|
-
return
|
|
113
|
+
return onShow(groupValue);
|
|
111
114
|
},
|
|
112
|
-
'
|
|
113
|
-
|
|
114
|
-
'
|
|
115
|
-
'className': 'k-table-group',
|
|
115
|
+
'ref': dropdownRef,
|
|
116
|
+
'children': [_$cc(Icon, {
|
|
117
|
+
'className': 'k-icon-down-squared k-table-group',
|
|
116
118
|
'ev-click': function evClick(e) {
|
|
117
119
|
return e._ignoreSortable = true;
|
|
118
120
|
},
|
|
119
|
-
'
|
|
121
|
+
'hoverable': true,
|
|
122
|
+
'color': isEmptyValue(groupValue) ? null : 'primary'
|
|
120
123
|
}), _$cc(DropdownMenu, {
|
|
121
124
|
'className': _$cn((_$cn2 = {
|
|
122
125
|
"k-table-group-dropdown": true
|
|
@@ -133,7 +136,7 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
133
136
|
__$blocks = _$ex({}, $blocks);
|
|
134
137
|
|
|
135
138
|
return (_$blocks['suffix'] = function ($super) {
|
|
136
|
-
return _$cc(Icon, _$
|
|
139
|
+
return _$cc(Icon, _$tmp0);
|
|
137
140
|
}, __$blocks['suffix'] = function ($super, data) {
|
|
138
141
|
var block = $blocks['suffix'];
|
|
139
142
|
|
|
@@ -147,24 +150,39 @@ export default function ($props, $blocks, $__proto__) {
|
|
|
147
150
|
}), 2, 'k-table-group-header'), _$ce(2, 'div', _$ma(filteredGroup.value, function ($value, $key) {
|
|
148
151
|
return _$cc(DropdownItem, {
|
|
149
152
|
'ev-select': function evSelect() {
|
|
150
|
-
return onSelect($value.value,
|
|
153
|
+
return onSelect($value.value, onChange);
|
|
151
154
|
},
|
|
152
155
|
'hideOnSelect': !multiple,
|
|
153
156
|
'className': _$cn({
|
|
154
|
-
'k-active': checked = isChecked($value.value
|
|
157
|
+
'k-active': checked = isChecked($value.value)
|
|
155
158
|
}),
|
|
156
159
|
'children': multiple ? _$cc(Checkbox, {
|
|
157
160
|
'value': checked,
|
|
158
161
|
'children': $value.label
|
|
159
162
|
}) : _$ce(2, 'span', $value.label, 0)
|
|
160
163
|
});
|
|
161
|
-
}, $this), 4, 'k-table-group-body')
|
|
164
|
+
}, $this), 4, 'k-table-group-body'), multiple ? _$ce(2, 'div', [_$cc(Button, {
|
|
165
|
+
'size': 'small',
|
|
166
|
+
'disabled': isEmptyValue(localGroupValue.value),
|
|
167
|
+
'type': 'secondary',
|
|
168
|
+
'ev-click': function evClick() {
|
|
169
|
+
return reset(onChange);
|
|
170
|
+
},
|
|
171
|
+
'children': '重置'
|
|
172
|
+
}), _$cc(Button, {
|
|
173
|
+
'type': 'primary',
|
|
174
|
+
'size': 'small',
|
|
175
|
+
'ev-click': function evClick() {
|
|
176
|
+
return confirm(onChange);
|
|
177
|
+
},
|
|
178
|
+
'children': '确定'
|
|
179
|
+
})], 4, 'k-table-group-footer') : undefined]
|
|
162
180
|
})]
|
|
163
|
-
}, 'dropdown') : undefined, sortable ? _$ce(2, 'div', [_$cc(Icon, _$
|
|
181
|
+
}, 'dropdown', dropdownRef) : undefined, sortable ? _$ce(2, 'div', [_$cc(Icon, _$tmp1), _$cc(Icon, _$tmp2)], 4, _$cn((_$cn3 = {
|
|
164
182
|
'k-column-sort': true
|
|
165
183
|
}, _$cn3["k-" + type] = type, _$cn3))) : undefined], 0, 'k-table-title')], 0, _$cn(classNameObj), {
|
|
166
184
|
'style': style,
|
|
167
|
-
'title': isStringOrNumber(title) ? title
|
|
185
|
+
'title': isStringOrNumber(title) ? title : null,
|
|
168
186
|
'ev-click': sortable ? linkEvent(key, onChangeSort) : null,
|
|
169
187
|
'colspan': cols,
|
|
170
188
|
'rowspan': rows
|
|
@@ -365,7 +365,7 @@ describe('Table', function () {
|
|
|
365
365
|
}, _callee6);
|
|
366
366
|
})));
|
|
367
367
|
it('group', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
|
|
368
|
-
var _mount7, instance, element, _instance$refs4, __test1, __test2, _element$querySelecto8, table1, table2, icon, dropdown, item, icon2, dropdown2, _dropdown2$querySelec, item1, item2, newDropdown;
|
|
368
|
+
var _mount7, instance, element, _instance$refs4, __test1, __test2, _element$querySelecto8, table1, table2, icon, dropdown, item, icon2, dropdown2, _dropdown2$querySelec, item1, item2, _dropdown2$querySelec2, reset, confirm, newDropdown;
|
|
369
369
|
|
|
370
370
|
return _regeneratorRuntime.wrap(function _callee7$(_context7) {
|
|
371
371
|
while (1) {
|
|
@@ -407,7 +407,7 @@ describe('Table', function () {
|
|
|
407
407
|
|
|
408
408
|
case 25:
|
|
409
409
|
expect(instance.get('multipleGroup')).to.eql({
|
|
410
|
-
status: [
|
|
410
|
+
status: []
|
|
411
411
|
});
|
|
412
412
|
expect(table2.innerHTML).to.matchSnapshot();
|
|
413
413
|
item2.click();
|
|
@@ -415,24 +415,55 @@ describe('Table', function () {
|
|
|
415
415
|
return wait();
|
|
416
416
|
|
|
417
417
|
case 30:
|
|
418
|
+
expect(instance.get('multipleGroup')).to.eql({
|
|
419
|
+
status: []
|
|
420
|
+
}); // click confirm
|
|
421
|
+
|
|
422
|
+
_dropdown2$querySelec2 = dropdown2.querySelectorAll('.k-table-group-footer .k-btn'), reset = _dropdown2$querySelec2[0], confirm = _dropdown2$querySelec2[1];
|
|
423
|
+
confirm.click();
|
|
424
|
+
_context7.next = 35;
|
|
425
|
+
return wait();
|
|
426
|
+
|
|
427
|
+
case 35:
|
|
418
428
|
expect(instance.get('multipleGroup')).to.eql({
|
|
419
429
|
status: ['active', 'stopped']
|
|
420
430
|
});
|
|
421
|
-
expect(table2.innerHTML).to.matchSnapshot(); //
|
|
431
|
+
expect(table2.innerHTML).to.matchSnapshot(); // click reset
|
|
432
|
+
|
|
433
|
+
dispatchEvent(icon2, 'click');
|
|
434
|
+
_context7.next = 40;
|
|
435
|
+
return wait();
|
|
436
|
+
|
|
437
|
+
case 40:
|
|
438
|
+
expect(dropdown2.innerHTML).to.matchSnapshot();
|
|
439
|
+
reset.click();
|
|
440
|
+
_context7.next = 44;
|
|
441
|
+
return wait();
|
|
442
|
+
|
|
443
|
+
case 44:
|
|
444
|
+
expect(dropdown2.innerHTML).to.matchSnapshot();
|
|
445
|
+
confirm.click();
|
|
446
|
+
_context7.next = 48;
|
|
447
|
+
return wait();
|
|
448
|
+
|
|
449
|
+
case 48:
|
|
450
|
+
expect(instance.get('multipleGroup')).to.eql({
|
|
451
|
+
status: []
|
|
452
|
+
}); // update group
|
|
422
453
|
|
|
423
454
|
instance.set('statusGroup', [{
|
|
424
455
|
label: 'label',
|
|
425
456
|
value: 'value'
|
|
426
457
|
}]);
|
|
427
458
|
dispatchEvent(icon, 'click');
|
|
428
|
-
_context7.next =
|
|
459
|
+
_context7.next = 53;
|
|
429
460
|
return wait(500);
|
|
430
461
|
|
|
431
|
-
case
|
|
462
|
+
case 53:
|
|
432
463
|
newDropdown = getElement('.k-table-group-dropdown');
|
|
433
464
|
expect(newDropdown.innerHTML).to.matchSnapshot();
|
|
434
465
|
|
|
435
|
-
case
|
|
466
|
+
case 55:
|
|
436
467
|
case "end":
|
|
437
468
|
return _context7.stop();
|
|
438
469
|
}
|