@autobest-ui/components 2.13.12 → 2.14.1
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/esm/affix/index.d.ts +0 -10
- package/esm/affix/index.js +9 -50
- package/esm/carousel/index.d.ts +4 -0
- package/esm/carousel/index.js +10 -1
- package/esm/checkbox/Checkbox.js +3 -19
- package/esm/checkbox/style/index.css +1 -1
- package/esm/confirm/style/index.css +1 -1
- package/esm/index.d.ts +6 -0
- package/esm/index.js +4 -1
- package/esm/input/Adorn.d.ts +4 -0
- package/esm/input/Adorn.js +7 -3
- package/esm/input/Input.d.ts +1 -0
- package/esm/input/Input.js +5 -1
- package/esm/input/TextArea.d.ts +1 -0
- package/esm/input/TextArea.js +4 -1
- package/esm/input-number/index.d.ts +1 -0
- package/esm/input-number/index.js +5 -1
- package/esm/input-phone/index.d.ts +1 -0
- package/esm/input-phone/index.js +1 -0
- package/esm/lazy-image/index.d.ts +10 -30
- package/esm/lazy-image/index.js +30 -51
- package/esm/lazy-image/style/index.css +1 -1
- package/esm/loading-container/index.d.ts +1 -19
- package/esm/loading-container/index.js +16 -122
- package/esm/loading-icon/index.d.ts +1 -1
- package/esm/loading-icon/index.js +3 -21
- package/esm/modal/Affix.d.ts +4 -0
- package/esm/modal/Affix.js +7 -0
- package/esm/modal/index.d.ts +5 -19
- package/esm/modal/index.js +17 -18
- package/esm/modal/style/index.css +1 -1
- package/esm/move/index.d.ts +10 -0
- package/esm/move/index.js +12 -7
- package/esm/radio/Radio.js +10 -7
- package/esm/radio/RadioGroup.js +3 -6
- package/esm/radio/style/index.css +1 -1
- package/esm/radio/type.d.ts +0 -2
- package/esm/read-more/index.d.ts +92 -0
- package/esm/read-more/index.js +377 -0
- package/esm/read-more/style/index.css +1 -0
- package/esm/read-more-html/index.d.ts +89 -0
- package/esm/read-more-html/index.js +362 -0
- package/esm/read-more-html/style/index.css +1 -0
- package/esm/select/index.d.ts +0 -3
- package/esm/select/index.js +4 -25
- package/esm/select/style/index.css +1 -1
- package/esm/show-more/index.d.ts +27 -12
- package/esm/show-more/index.js +87 -41
- package/esm/show-more/style/index.css +1 -1
- package/esm/style.css +1 -1
- package/esm/table/style/index.css +1 -1
- package/esm/trigger/index.d.ts +3 -10
- package/esm/trigger/index.js +19 -39
- package/lib/affix/index.d.ts +0 -10
- package/lib/affix/index.js +8 -49
- package/lib/carousel/index.d.ts +4 -0
- package/lib/carousel/index.js +10 -1
- package/lib/checkbox/Checkbox.js +3 -19
- package/lib/checkbox/style/index.css +1 -1
- package/lib/confirm/style/index.css +1 -1
- package/lib/index.d.ts +6 -0
- package/lib/index.js +21 -0
- package/lib/input/Adorn.d.ts +4 -0
- package/lib/input/Adorn.js +7 -3
- package/lib/input/Input.d.ts +1 -0
- package/lib/input/Input.js +5 -1
- package/lib/input/TextArea.d.ts +1 -0
- package/lib/input/TextArea.js +4 -1
- package/lib/input-number/index.d.ts +1 -0
- package/lib/input-number/index.js +5 -1
- package/lib/input-phone/index.d.ts +1 -0
- package/lib/input-phone/index.js +1 -0
- package/lib/lazy-image/index.d.ts +10 -30
- package/lib/lazy-image/index.js +30 -51
- package/lib/lazy-image/style/index.css +1 -1
- package/lib/loading-container/index.d.ts +1 -19
- package/lib/loading-container/index.js +16 -125
- package/lib/loading-icon/index.d.ts +1 -1
- package/lib/loading-icon/index.js +3 -21
- package/lib/modal/Affix.d.ts +4 -0
- package/lib/modal/Affix.js +14 -0
- package/lib/modal/index.d.ts +5 -19
- package/lib/modal/index.js +17 -18
- package/lib/modal/style/index.css +1 -1
- package/lib/move/index.d.ts +10 -0
- package/lib/move/index.js +12 -7
- package/lib/radio/Radio.js +10 -7
- package/lib/radio/RadioGroup.js +3 -6
- package/lib/radio/style/index.css +1 -1
- package/lib/radio/type.d.ts +0 -2
- package/lib/read-more/index.d.ts +92 -0
- package/lib/read-more/index.js +388 -0
- package/lib/read-more/style/index.css +1 -0
- package/lib/read-more-html/index.d.ts +89 -0
- package/lib/read-more-html/index.js +373 -0
- package/lib/read-more-html/style/index.css +1 -0
- package/lib/select/index.d.ts +0 -3
- package/lib/select/index.js +4 -25
- package/lib/select/style/index.css +1 -1
- package/lib/show-more/index.d.ts +27 -12
- package/lib/show-more/index.js +86 -40
- package/lib/show-more/style/index.css +1 -1
- package/lib/style.css +1 -1
- package/lib/table/style/index.css +1 -1
- package/lib/trigger/index.d.ts +3 -10
- package/lib/trigger/index.js +19 -39
- package/package.json +3 -3
- package/esm/affix/observe.d.ts +0 -8
- package/esm/affix/observe.js +0 -6
- package/lib/affix/observe.d.ts +0 -8
- package/lib/affix/observe.js +0 -12
package/esm/show-more/index.js
CHANGED
|
@@ -34,32 +34,51 @@ var __assign = this && this.__assign || function () {
|
|
|
34
34
|
};
|
|
35
35
|
import React, { Component } from 'react';
|
|
36
36
|
import classNames from 'classnames';
|
|
37
|
-
import { isBlank, getStyleValue, getStyle } from '@autobest-ui/utils';
|
|
37
|
+
import { isBlank, getStyleValue, getStyle, debounce } from '@autobest-ui/utils';
|
|
38
38
|
var ShowMore = /** @class */function (_super) {
|
|
39
39
|
__extends(ShowMore, _super);
|
|
40
40
|
function ShowMore(props) {
|
|
41
41
|
var _this = _super.call(this, props) || this;
|
|
42
42
|
_this.prefixCls = 'ab-show-more';
|
|
43
|
-
_this.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
_this.
|
|
47
|
-
|
|
43
|
+
_this.wrapRef = /*#__PURE__*/React.createRef();
|
|
44
|
+
_this.contentRef = /*#__PURE__*/React.createRef();
|
|
45
|
+
_this.childrenRef = /*#__PURE__*/React.createRef();
|
|
46
|
+
_this.onResizeObserver = function () {
|
|
47
|
+
var debounceCalculate = debounce(function (newWidth) {
|
|
48
|
+
if (newWidth !== _this.wrapWidth) {
|
|
49
|
+
_this.wrapWidth = newWidth;
|
|
50
|
+
_this.delayCalculate();
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
_this.resizeObserver = new ResizeObserver(function (entries) {
|
|
54
|
+
debounceCalculate(entries[0].contentRect.width);
|
|
55
|
+
});
|
|
56
|
+
_this.resizeObserver.observe(_this.wrapRef.current);
|
|
48
57
|
};
|
|
49
58
|
_this.setHiddenTextStatus = function () {
|
|
50
59
|
_this.calcTargetWidth(function () {
|
|
51
|
-
if (_this.
|
|
60
|
+
if (_this.childrenRef.current) {
|
|
52
61
|
_this.setState({
|
|
53
62
|
hiddenTextElement: true
|
|
54
63
|
}, _this.props.onAfterMounted);
|
|
55
64
|
}
|
|
56
65
|
});
|
|
57
66
|
};
|
|
58
|
-
_this.
|
|
67
|
+
_this.onExpand = function () {
|
|
59
68
|
if (!_this.props.expandable) {
|
|
60
69
|
return;
|
|
61
70
|
}
|
|
62
|
-
_this.setRenderText(
|
|
71
|
+
_this.setRenderText(function () {
|
|
72
|
+
_this.props.onAfterChange(true);
|
|
73
|
+
}, false);
|
|
74
|
+
};
|
|
75
|
+
_this.onCollapse = function () {
|
|
76
|
+
if (isBlank(_this.props.collapseText)) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
_this.setRenderText(function () {
|
|
80
|
+
_this.props.onAfterChange(false);
|
|
81
|
+
}, true);
|
|
63
82
|
};
|
|
64
83
|
_this.innerText = function (node) {
|
|
65
84
|
var div = document.createElement('div');
|
|
@@ -75,7 +94,7 @@ var ShowMore = /** @class */function (_super) {
|
|
|
75
94
|
return text;
|
|
76
95
|
};
|
|
77
96
|
_this.calcTargetWidth = function (callback) {
|
|
78
|
-
var targetElement = _this.
|
|
97
|
+
var targetElement = _this.contentRef.current;
|
|
79
98
|
if (!targetElement) {
|
|
80
99
|
return;
|
|
81
100
|
}
|
|
@@ -84,11 +103,11 @@ var ShowMore = /** @class */function (_super) {
|
|
|
84
103
|
var clientWidth = parentNode.clientWidth;
|
|
85
104
|
var contentPaddingLeft = getStyleValue(parentNode, 'padding-left');
|
|
86
105
|
var contentPaddingRight = getStyleValue(parentNode, 'padding-right');
|
|
87
|
-
_this.targetWidth =
|
|
106
|
+
_this.targetWidth = clientWidth - contentPaddingLeft - contentPaddingRight;
|
|
88
107
|
var style = getStyle(targetElement);
|
|
89
108
|
// todo: font-weight放首位在ie下失效
|
|
90
109
|
_this.canvasContext.font = [style['font-style'], style['font-weight'], style['font-size'], style['font-family']].join(' ');
|
|
91
|
-
_this.setRenderText(callback);
|
|
110
|
+
_this.setRenderText(callback, _this.state.isTruncated);
|
|
92
111
|
};
|
|
93
112
|
_this.measureWidth = function (text) {
|
|
94
113
|
try {
|
|
@@ -97,6 +116,14 @@ var ShowMore = /** @class */function (_super) {
|
|
|
97
116
|
return 0;
|
|
98
117
|
}
|
|
99
118
|
};
|
|
119
|
+
_this.onRefreshChildrenText = function () {
|
|
120
|
+
// children没显示,无法计算
|
|
121
|
+
if (!_this.childrenRef.current) {
|
|
122
|
+
return '';
|
|
123
|
+
}
|
|
124
|
+
_this.childrenText = _this.innerText(_this.childrenRef.current);
|
|
125
|
+
return _this.childrenText;
|
|
126
|
+
};
|
|
100
127
|
_this.getLines = function (targetWidth) {
|
|
101
128
|
var _a;
|
|
102
129
|
var _b = _this,
|
|
@@ -104,26 +131,17 @@ var ShowMore = /** @class */function (_super) {
|
|
|
104
131
|
numLines = _c.lines,
|
|
105
132
|
ellipsisText = _c.ellipsisText,
|
|
106
133
|
expandable = _c.expandable,
|
|
107
|
-
innerText = _b.innerText,
|
|
108
|
-
measureWidth = _b.measureWidth,
|
|
109
134
|
cls = _b.prefixCls;
|
|
110
135
|
var ellipsisClassName = _this.props.ellipsisClassName;
|
|
111
136
|
var lines = [];
|
|
112
|
-
|
|
113
|
-
if (!_this.textElement) {
|
|
114
|
-
return {
|
|
115
|
-
lines: lines,
|
|
116
|
-
hiddenLineStr: ''
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
var text = innerText(_this.textElement);
|
|
137
|
+
var text = _this.childrenText;
|
|
120
138
|
var hiddenLineStr = text;
|
|
121
139
|
// 先按换行符拆分,再按空格拆分成组
|
|
122
140
|
var textLines = text.split('\n').map(function (line) {
|
|
123
141
|
return line.split(' ');
|
|
124
142
|
});
|
|
125
143
|
// 省略号和按钮的宽度
|
|
126
|
-
var ellipsisWidth = measureWidth(ellipsisText) + measureWidth('... ');
|
|
144
|
+
var ellipsisWidth = _this.measureWidth(ellipsisText) + _this.measureWidth('... ');
|
|
127
145
|
for (var line = 1; line <= numLines; line++) {
|
|
128
146
|
var textWords = textLines[0];
|
|
129
147
|
// 一行中单词显示完了,转到第二行
|
|
@@ -134,7 +152,7 @@ var ShowMore = /** @class */function (_super) {
|
|
|
134
152
|
continue;
|
|
135
153
|
}
|
|
136
154
|
var resultLine = textWords.join(' ');
|
|
137
|
-
if (measureWidth(resultLine) <= targetWidth) {
|
|
155
|
+
if (_this.measureWidth(resultLine) <= targetWidth) {
|
|
138
156
|
if (textLines.length === 1) {
|
|
139
157
|
lines.push(resultLine);
|
|
140
158
|
hiddenLineStr = '';
|
|
@@ -149,7 +167,7 @@ var ShowMore = /** @class */function (_super) {
|
|
|
149
167
|
while (lower <= upper) {
|
|
150
168
|
var middle = Math.floor((lower + upper) / 2);
|
|
151
169
|
var testLine = textRest.slice(0, middle + 1);
|
|
152
|
-
if (measureWidth(testLine) + ellipsisWidth <= targetWidth) {
|
|
170
|
+
if (_this.measureWidth(testLine) + ellipsisWidth <= targetWidth) {
|
|
153
171
|
lower = middle + 1;
|
|
154
172
|
} else {
|
|
155
173
|
upper = middle - 1;
|
|
@@ -159,7 +177,7 @@ var ShowMore = /** @class */function (_super) {
|
|
|
159
177
|
hiddenLineStr = hiddenLineStr.replace(lastLineText, '');
|
|
160
178
|
resultLine = /*#__PURE__*/React.createElement(React.Fragment, null, "".concat(lastLineText, "... "), /*#__PURE__*/React.createElement("span", {
|
|
161
179
|
className: classNames(ellipsisClassName, "".concat(cls, "-ellipsis"), (_a = {}, _a["".concat(cls, "-btn")] = expandable, _a)),
|
|
162
|
-
onClick: _this.
|
|
180
|
+
onClick: _this.onExpand
|
|
163
181
|
}, ellipsisText));
|
|
164
182
|
} else {
|
|
165
183
|
var lower = 0;
|
|
@@ -167,7 +185,7 @@ var ShowMore = /** @class */function (_super) {
|
|
|
167
185
|
while (lower <= upper) {
|
|
168
186
|
var middle = Math.floor((lower + upper) / 2);
|
|
169
187
|
var testLine = textWords.slice(0, middle + 1).join(' ');
|
|
170
|
-
if (measureWidth(testLine) <= targetWidth) {
|
|
188
|
+
if (_this.measureWidth(testLine) <= targetWidth) {
|
|
171
189
|
lower = middle + 1;
|
|
172
190
|
} else {
|
|
173
191
|
upper = middle - 1;
|
|
@@ -205,14 +223,15 @@ var ShowMore = /** @class */function (_super) {
|
|
|
205
223
|
}
|
|
206
224
|
return br;
|
|
207
225
|
};
|
|
208
|
-
_this.setRenderText = function (callback,
|
|
226
|
+
_this.setRenderText = function (callback, isTruncated) {
|
|
209
227
|
var targetWidth = _this.targetWidth;
|
|
210
228
|
var _a = _this.props,
|
|
211
229
|
children = _a.children,
|
|
212
|
-
numLines = _a.lines
|
|
230
|
+
numLines = _a.lines,
|
|
231
|
+
collapseText = _a.collapseText,
|
|
232
|
+
collapseClassName = _a.collapseClassName;
|
|
213
233
|
var previewText;
|
|
214
234
|
var hiddenText;
|
|
215
|
-
var isTruncated = isBlank(isHidden) ? _this.state.isTruncated : isHidden;
|
|
216
235
|
if (numLines > 0 && isTruncated && targetWidth) {
|
|
217
236
|
var _b = _this.getLines(targetWidth),
|
|
218
237
|
lines = _b.lines,
|
|
@@ -222,6 +241,14 @@ var ShowMore = /** @class */function (_super) {
|
|
|
222
241
|
} else {
|
|
223
242
|
previewText = children;
|
|
224
243
|
hiddenText = '';
|
|
244
|
+
if (!isTruncated && !isBlank(collapseText)) {
|
|
245
|
+
var cls = _this.prefixCls;
|
|
246
|
+
// 结尾加上收起按钮
|
|
247
|
+
previewText = /*#__PURE__*/React.createElement(React.Fragment, null, children, ' ', /*#__PURE__*/React.createElement("span", {
|
|
248
|
+
className: classNames(collapseClassName, "".concat(cls, "-collapse ").concat(cls, "-btn")),
|
|
249
|
+
onClick: _this.onCollapse
|
|
250
|
+
}, collapseText));
|
|
251
|
+
}
|
|
225
252
|
}
|
|
226
253
|
_this.setState({
|
|
227
254
|
previewText: previewText,
|
|
@@ -240,27 +267,36 @@ var ShowMore = /** @class */function (_super) {
|
|
|
240
267
|
ShowMore.prototype.componentDidMount = function () {
|
|
241
268
|
var canvas = document.createElement('canvas');
|
|
242
269
|
this.canvasContext = canvas.getContext('2d');
|
|
243
|
-
this.
|
|
270
|
+
if (this.props.isResizeObserver) {
|
|
271
|
+
this.onResizeObserver();
|
|
272
|
+
}
|
|
273
|
+
this.delayCalculate(true);
|
|
244
274
|
};
|
|
245
275
|
ShowMore.prototype.componentDidUpdate = function (prevProps) {
|
|
246
|
-
if (this.props.children !== prevProps.children
|
|
276
|
+
if (this.props.children !== prevProps.children) {
|
|
247
277
|
// 执行render,并且跳过shouldComponentUpdate
|
|
248
|
-
this.delayCalculate();
|
|
278
|
+
this.delayCalculate(true);
|
|
249
279
|
}
|
|
250
280
|
};
|
|
251
281
|
ShowMore.prototype.componentWillUnmount = function () {
|
|
252
282
|
if (this.timer) {
|
|
253
283
|
clearTimeout(this.timer);
|
|
254
284
|
}
|
|
285
|
+
if (this.resizeObserver && this.wrapRef.current) {
|
|
286
|
+
this.resizeObserver.unobserve(this.wrapRef.current);
|
|
287
|
+
}
|
|
255
288
|
};
|
|
256
289
|
// 等页面其他元素加载完成,延迟计算宽度
|
|
257
|
-
ShowMore.prototype.delayCalculate = function () {
|
|
290
|
+
ShowMore.prototype.delayCalculate = function (isRefresh) {
|
|
258
291
|
var _this = this;
|
|
292
|
+
if (isRefresh === void 0) {
|
|
293
|
+
isRefresh = false;
|
|
294
|
+
}
|
|
259
295
|
if (this.timer) {
|
|
260
296
|
clearTimeout(this.timer);
|
|
261
297
|
}
|
|
262
298
|
// children显示的时候, DidMount
|
|
263
|
-
if (!this.state.hiddenTextElement) {
|
|
299
|
+
if (!isRefresh && this.state.hiddenTextElement) {
|
|
264
300
|
this.timer = setTimeout(this.setHiddenTextStatus);
|
|
265
301
|
return;
|
|
266
302
|
}
|
|
@@ -268,7 +304,10 @@ var ShowMore = /** @class */function (_super) {
|
|
|
268
304
|
this.timer = setTimeout(function () {
|
|
269
305
|
_this.setState({
|
|
270
306
|
hiddenTextElement: false
|
|
271
|
-
},
|
|
307
|
+
}, function () {
|
|
308
|
+
_this.onRefreshChildrenText();
|
|
309
|
+
_this.setHiddenTextStatus();
|
|
310
|
+
});
|
|
272
311
|
});
|
|
273
312
|
};
|
|
274
313
|
ShowMore.prototype.render = function () {
|
|
@@ -284,22 +323,29 @@ var ShowMore = /** @class */function (_super) {
|
|
|
284
323
|
title: title
|
|
285
324
|
} : null;
|
|
286
325
|
var cls = this.prefixCls;
|
|
287
|
-
return /*#__PURE__*/React.createElement(
|
|
288
|
-
|
|
289
|
-
|
|
326
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
327
|
+
className: classNames(cls, className),
|
|
328
|
+
ref: this.wrapRef
|
|
329
|
+
}, /*#__PURE__*/React.createElement("span", __assign({
|
|
330
|
+
ref: this.contentRef,
|
|
331
|
+
className: "".concat(cls, "-content")
|
|
290
332
|
}, titleParam), previewText, hiddenText ? /*#__PURE__*/React.createElement("span", {
|
|
291
333
|
className: "".concat(cls, "-hidden")
|
|
292
334
|
}, hiddenText) : null), hiddenTextElement ? null : /*#__PURE__*/React.createElement("span", {
|
|
293
|
-
ref: this.
|
|
335
|
+
ref: this.childrenRef,
|
|
294
336
|
className: "".concat(cls, "-text")
|
|
295
337
|
}, children));
|
|
296
338
|
};
|
|
297
339
|
ShowMore.defaultProps = {
|
|
298
340
|
children: '',
|
|
299
341
|
ellipsisText: 'Show More',
|
|
342
|
+
collapseText: null,
|
|
300
343
|
lines: 2,
|
|
301
344
|
width: 0,
|
|
302
|
-
expandable: true
|
|
345
|
+
expandable: true,
|
|
346
|
+
onAfterChange: function onAfterChange() {
|
|
347
|
+
return null;
|
|
348
|
+
}
|
|
303
349
|
};
|
|
304
350
|
return ShowMore;
|
|
305
351
|
}(Component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-show-more-ellipsis{white-space:nowrap}.ab-show-more-btn{color:#4068b0;cursor:pointer}.ab-show-more-hidden,.ab-show-more-text{visibility:hidden;height:0;display:block;overflow:hidden}.ab-show-more-hidden{width:0}
|
|
1
|
+
.ab-show-more-collapse,.ab-show-more-ellipsis{white-space:nowrap}.ab-show-more-btn{color:#4068b0;cursor:pointer}.ab-show-more-hidden,.ab-show-more-text{visibility:hidden;height:0;display:block;overflow:hidden}.ab-show-more-hidden{width:0}
|
package/esm/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
a,abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,ul,var,video{box-sizing:border-box}html{font-size:100px;font-family:Arial,sans-serif;touch-action:manipulation}@media only screen and (max-width:767px){html{font-size:100px}}body{font-size:.12rem;color:#333;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}input{outline:0}li,ul{padding:0;margin:0;list-style:none}.ab-affix,.ab-affix-custom{z-index:100}.ab-affix-custom{position:fixed;transition:transform .2s cubic-bezier(.7,.3,.1,1)}.ab-affix-fade-appear,.ab-affix-fade-enter{transform:translate(0,-100%)}.ab-affix-fade-appear-active,.ab-affix-fade-enter-active,.ab-affix-fade-exit{transform:translate(0,0)}.ab-affix-fade-exit-active{transform:translate(0,-100%)}.ab-affix-fade-exit-done{display:none}.ab-carousel{position:relative}.ab-carousel-content{position:relative;display:block;height:100%;width:100%;margin:0;padding:0;overflow:hidden}.ab-carousel-list{user-select:none;position:relative;top:0;left:0;display:block;overflow:hidden}.ab-carousel-slider{outline:0;overflow:hidden;float:left;display:none}.ab-carousel.ab-carousel-init .ab-carousel-slider{display:block}.ab-collapse{transform-origin:left top;transition:opacity .2s,height .2s}.ab-collapse-hidden{height:0;overflow:hidden}.ab-collapse-fade-enter{opacity:.8;overflow:hidden}.ab-collapse-fade-enter-active{opacity:1;overflow:hidden}.ab-collapse-fade-enter-done{opacity:1;overflow:initial}.ab-collapse-fade-exit{opacity:1;overflow:hidden}.ab-collapse-fade-exit-active{opacity:.8;overflow:hidden}.ab-collapse-fade-exit-done{display:none;overflow:initial}.ab-confirm-btns{display:flex;justify-content:flex-end;padding-top:.42rem}.ab-confirm-cancel,.ab-confirm-ok{overflow:hidden;position:relative;font-size:.12rem;border-width:1px;border-style:solid;outline:0;cursor:pointer;font-weight:700;padding:.05rem .3rem;display:inline-block;color:#fff;margin-left:.3rem}.ab-confirm-ok{border-color:#bc0000;background:linear-gradient(180deg,#c00000 0,#c00000 0,#a00000 100%,#a00000 100%)}.ab-confirm-ok:hover{border-color:#bc0000;background:#bc0000}.ab-confirm-cancel{border-color:grey;background:linear-gradient(180deg,#909090 0,#909090 0,#707070 100%,#707070 100%)}.ab-confirm-cancel:hover{border-color:grey;background:grey}.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-dg>ul>li.ab-dp-cal-out{color:#666}.ab-dp-cal-myg{padding-bottom:.62rem}.ab-dp-cal-myg>ul{justify-content:space-between}.ab-dp-cal-myg>ul>li{width:.4rem;height:.4rem;margin-bottom:.1rem}.ab-dp-cal-t{cursor:pointer;position:absolute;right:.08rem;bottom:.3rem}.ab-dp-cal-t.ab-dp-cal-t-dis{color:#b0b0b0;cursor:default}.ab-date-picker{position:relative}.ab-date-picker-input{outline:0;font-size:.14rem;padding:.04rem;width:1.44rem}.ab-date-picker-input.ab-date-picker-error{background:#fffacd}.ab-date-picker-icon{color:#606060;position:absolute;right:.05rem;top:50%;transform:translateY(-50%)}.ab-drawer{position:fixed;z-index:101;background-color:#fff;overflow:auto;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ab-drawer-times{position:absolute;right:.17rem;font-size:.16rem;color:#b0b0b0;cursor:pointer;top:.11rem}.ab-drawer-times:hover{color:#333}.ab-drawer-tf-top{transform:translate(0,-100%)}.ab-drawer-tf-bottom{transform:translate(0,100%)}.ab-drawer-tf-left{transform:translate(-100%,0)}.ab-drawer-tf-right{transform:translate(100%,0)}.ab-drawer-hidden.ab-drawer,.ab-drawer-hidden.ab-mask{display:none}.ab-guide-mask.ab-mask{background-color:rgba(0,0,0,.7);z-index:4}.ab-guide-icon{position:absolute;z-index:5}.ab-guide-content{position:relative;z-index:6}.ab-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.ab-textarea{display:flex;align-items:center;border:1px solid #ccc;position:relative;border-radius:.04rem;padding:.04rem}.ab-textarea-prefix,.ab-textarea-suffix{padding-left:.04rem;padding-right:.04rem}.ab-textarea.ab-textarea-enter,.ab-textarea.ab-textarea-focus{border-color:#348fee}.ab-textarea.ab-textarea-focus{box-shadow:0 0 4px #348fee}.ab-textarea.ab-textarea-disabled .ab-textarea-control{cursor:not-allowed}.ab-textarea-control{resize:none;appearance:none;display:block;outline:0;border:none;width:100%;padding:.02rem;background-color:transparent;font-size:inherit;line-height:1.3}.ab-textarea-suffix{position:absolute;right:0;bottom:-.2rem;color:#aaa;font-size:.13rem;padding-right:0}.ab-input-number .ab-input-suffix{padding-left:0;font-size:.08rem;position:absolute;right:0;top:0;width:.22rem;height:100%;padding-right:0;background-color:#fff;display:none;flex-direction:column;border-left:1px solid #f1f1f1}.ab-input-number-has-controls .ab-input-control{padding-right:.2rem}.ab-input-number-down,.ab-input-number-up{cursor:pointer;width:100%;height:50%;display:flex;align-items:center;justify-content:center;color:#333}.ab-input-number-down:hover,.ab-input-number-up:hover{background-color:#e2e2e2}.ab-input-number-down:active,.ab-input-number-up:active{background-color:#929292;color:#fff}.ab-input-number-up{border-bottom:1px solid #f1f1f1}.ab-input-number.ab-input-enter,.ab-input-number.ab-input-focus{border-color:#348fee}.ab-input-number.ab-input-enter .ab-input-suffix,.ab-input-number.ab-input-focus .ab-input-suffix{display:flex}.ab-input{display:flex;align-items:center;border:1px solid #ccc;overflow:hidden;position:relative;border-radius:.04rem;padding:.04rem}.ab-input-prefix,.ab-input-suffix{padding-left:.04rem;padding-right:.04rem}.ab-input.ab-input-enter,.ab-input.ab-input-focus{border-color:#348fee}.ab-input.ab-input-focus{box-shadow:0 0 4px #348fee}.ab-input.ab-input-disabled .ab-input-control{cursor:not-allowed}.ab-input-control{appearance:none;display:block;outline:0;border:none;width:100%;height:100%;padding:.02rem;background-color:transparent;font-size:inherit}.ab-lazy-image{transition:opacity .5s}.ab-lazy-image-loading{background:#f2f2f2;overflow:hidden}.ab-lazy-image-loading.ab-lazy-image-active{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}.ab-link-list-title{font-size:.16rem;margin:0;padding:0 0 .12rem;display:flex;justify-content:space-between;align-items:center}.ab-link-list-icon{display:none}.ab-link-list-content{flex-wrap:wrap;width:auto;margin-right:-.15rem}.ab-link-list-content.ab-link-list-col2>a,.ab-link-list-content.ab-link-list-col2>span{min-width:calc(100% / 2 - .15rem);max-width:calc(100% / 2 - .15rem)}.ab-link-list-content.ab-link-list-col4>a,.ab-link-list-content.ab-link-list-col4>span{min-width:calc(100% / 4 - .15rem);max-width:calc(100% / 4 - .15rem)}.ab-link-list-content.ab-link-list-col5>a,.ab-link-list-content.ab-link-list-col5>span{min-width:calc(100% / 5 - .15rem);max-width:calc(100% / 5 - .15rem)}.ab-link-list-content.ab-link-list-col6>a,.ab-link-list-content.ab-link-list-col6>span{min-width:calc(100% / 6 - .15rem);max-width:calc(100% / 6 - .15rem)}.ab-link-list-content.ab-link-list-col8>a,.ab-link-list-content.ab-link-list-col8>span{min-width:calc(100% / 8 - .15rem);max-width:calc(100% / 8 - .15rem)}.ab-link-list-content>a,.ab-link-list-content>span{cursor:pointer;border:.5px solid #d0d0d0;margin-bottom:8px;display:inline-block;justify-content:space-between;align-items:center;width:100%;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.085rem .15rem .085rem .12rem;color:#333;margin-right:.15rem}.ab-link-list-content>a::after,.ab-link-list-content>span::after{content:">";position:absolute;right:.1rem;top:50%;transform:translateY(-50%);color:grey;font-size:.12rem}.ab-link-list-content>a:hover,.ab-link-list-content>span:hover{text-decoration:underline;color:#f97601}.ab-link-list-content>.ab-link-list-hidden{display:none}.ab-link-list-wrap-popover.ab-popover-wrap{max-width:3.5rem;min-width:3rem}.ab-link-list-sub-title{display:block;padding-bottom:.06rem;font-size:.12rem}.ab-link-list-sub-link{text-decoration:underline;color:#333;font-size:.12rem;padding:0 .05rem .05rem 0;display:inline-block}@media only screen and (max-width:767px){.ab-link-list-divider{border-bottom:1px solid #d0d0d0}.ab-link-list-body{height:0;width:0;overflow:hidden}.ab-link-list-body.ab-link-list-active{height:auto;width:auto}.ab-link-list-content.ab-link-list-col2>a,.ab-link-list-content.ab-link-list-col2>span,.ab-link-list-content.ab-link-list-col4>a,.ab-link-list-content.ab-link-list-col4>span,.ab-link-list-content.ab-link-list-col5>a,.ab-link-list-content.ab-link-list-col5>span,.ab-link-list-content.ab-link-list-col6>a,.ab-link-list-content.ab-link-list-col6>span,.ab-link-list-content.ab-link-list-col8>a,.ab-link-list-content.ab-link-list-col8>span{min-width:calc(50% - .15rem);max-width:calc(50% - .15rem)}.ab-link-list-icon{font-weight:700;font-size:.22rem;cursor:pointer;width:.2rem;height:.2rem;display:flex;align-items:center;justify-content:center}}.ab-loading-wrap{position:fixed;top:0;left:0;z-index:9999;background-color:rgba(255,255,255,.7);height:100%;width:100%}.ab-loading-wrap .ab-loading-content{position:absolute;left:50%;top:50%;display:block;width:.31rem;height:.31rem;transform:translate(-50%,-50%)}.ab-loading-bar{position:fixed;top:0;left:0;margin-bottom:-3px;height:3px;width:100%;z-index:999}@keyframes movingBar{0%{left:50%;right:50%}99.9%{left:0;right:0}100%{left:50%;right:50%}}@keyframes changeBar{0%,33.3%{background-color:#0aa770}33.33%{background-color:red}66.6%,66.66%{background-color:#f987d6}99.9%{background-color:#00bcd4}}.ab-loading-bar-bar{position:absolute;height:0;width:100%;text-indent:-9999px;background-color:#0aa770;animation:2.25s infinite changeBar}.ab-loading-bar-bar::before{content:"";height:3px;position:absolute;left:50%;right:50%;background-color:inherit;animation:.75s infinite movingBar}.ab-message-container{position:fixed}.ab-message-notice{overflow:hidden;transition:.3s ease-out}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);margin:.05rem .15rem;padding:.08rem;border-radius:.02rem;background-color:#333;color:#fff;box-shadow:0 .01rem .05rem #333}.ab-message-close{display:flex;align-items:center;justify-content:center;cursor:pointer;width:.2rem;height:.2rem;font-size:.2rem;margin-left:.08rem;color:#b0b0b0}.ab-message-close:hover{color:#fff}.ab-message-fade-appear,.ab-message-fade-enter{opacity:0}.ab-message-fade-appear-active,.ab-message-fade-enter-active,.ab-message-fade-enter-done,.ab-message-fade-exit{opacity:1}.ab-message-fade-exit-active{opacity:0}.ab-message-fade-exit-done{display:none}@media only screen and (max-width:767px){.ab-message-content{width:calc(100vw - .3rem);margin:.08rem .15rem}}.ab-mask{position:fixed;top:0;left:0;z-index:101;width:100%;height:100%;background-color:rgba(0,0,0,.45);transition:opacity .4s cubic-bezier(.7,.3,.1,1)}.ab-mask-fade-appear,.ab-mask-fade-enter{opacity:0}.ab-mask-fade-appear-active,.ab-mask-fade-enter-active,.ab-mask-fade-enter-done,.ab-mask-fade-exit{opacity:1}.ab-mask-fade-exit-active{opacity:0}.ab-mask-fade-exit-done{display:none}.ab-modal{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0}.ab-modal.ab-modal-center{text-align:center}.ab-modal.ab-modal-center::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ab-modal.ab-modal-center .ab-modal-content{top:0;text-align:left;display:inline-block;vertical-align:middle}.ab-modal-content{position:relative;background-color:#fff;max-width:calc(100vw - .3rem);margin-left:auto;margin-right:auto;overflow:auto;-webkit-overflow-scrolling:touch;transition:transform .3s,opacity .3s cubic-bezier(.7,.3,.1,1);z-index:101}.ab-modal-title{position:relative;width:100%}.ab-modal-title .ab-modal-times{top:50%;transform:translateY(-50%)}.ab-modal-times{position:absolute;top:.12rem;right:.12rem;font-size:.15rem;color:#b0b0b0;cursor:pointer}.ab-modal-times svg{display:block}.ab-modal-times:hover{color:#333}.ab-modal-hidden{display:none}@media only screen and (max-width:767px){.ab-modal-content{width:calc(100vw - .3rem)}}.ab-modal-fade-appear,.ab-modal-fade-enter{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-appear-active,.ab-modal-fade-enter-active,.ab-modal-fade-enter-done,.ab-modal-fade-exit{transform:translateZ(0);opacity:1}.ab-modal-fade-exit-active{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-exit-done{display:none}.ab-move{cursor:move;visibility:hidden;transform-origin:center center}.ab-popover-wrap{background-clip:padding-box;min-width:210px;border-radius:4px}.ab-popover-inner{padding:.08rem .11rem .05rem;position:relative;width:100%;overflow:auto;font-size:.12rem}.ab-popover-inner-expand{padding-right:.1rem}.ab-popover-arrow{position:absolute;display:block;width:8px;height:8px;border-style:solid;box-shadow:3px 3px 7px rgba(0,0,0,.07)}.ab-popover-close{position:absolute;right:.02rem;top:.05rem;cursor:pointer;padding:0 .05rem;color:#bfbfbf;font-size:.2rem;line-height:1;z-index:2}.ab-popover-close:hover{color:#4a4a4a}.ab-popover-white{background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.ab-popover-white .ab-popover-arrow{background-color:#fff;border-color:transparent #fff #fff transparent;border-width:4px}.ab-popover-orange{border:1px solid #906c00;box-shadow:1px 1px 5px -1px #000;background-color:#fffaec}.ab-popover-orange .ab-popover-arrow{background-color:#fffaec;border-color:transparent #906c00 #906c00 transparent;border-width:1px}@media only screen and (max-width:767px){.ab-popover-wrap{width:calc(100% - .3rem)}}.ab-radio{position:relative;display:inline-flex;align-items:center;cursor:pointer}.ab-radio:hover .ab-radio-control{color:#4f4f4f}.ab-radio input{cursor:inherit;position:absolute;margin:0;padding:0;opacity:0;top:50%;left:0;transform:translateY(-50%);z-index:1}.ab-radio-checked:hover .ab-radio-control{color:#005cc8}.ab-radio-checked .ab-radio-control{color:#0075ff}.ab-radio-checked .ab-radio-control svg{display:inline-block}.ab-radio-disabled{cursor:not-allowed}.ab-radio-disabled .ab-radio-control,.ab-radio-disabled:hover .ab-radio-control{color:#d1d1d1}.ab-radio-control{margin-right:.06rem;position:relative;color:#767676;flex-shrink:0}.ab-radio-control svg{width:1em;height:1em;user-select:none;flex-shrink:0;fill:currentcolor;stroke:currentcolor;overflow:visible}.ab-radio-dot,.ab-radio-outer{position:absolute;left:0;top:0}.ab-radio-dot{display:none}.ab-radio-group-horizontal{display:flex}.ab-radio-group-horizontal .ab-radio-item{margin-right:.2rem}.ab-radio-group-horizontal .ab-radio-item:last-child{margin-right:0}.ab-radio-group-vertical{display:flex;flex-direction:column;align-items:flex-start}.ab-radio-group-vertical .ab-radio-item{margin-bottom:.15rem}.ab-radio-group-vertical .ab-radio-item:last-child{margin-bottom:0}.ab-select-wrap{min-width:177px;background-color:#fff;background-clip:padding-box;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex}.ab-select-wrap.ab-trigger-fade-hr-exit-done{display:none}.ab-select-inner{flex:1;width:100%;overflow:auto}.ab-select-bottom,.ab-select-content,.ab-select-title{display:flex}.ab-select-title{padding:.09rem 0;background-color:transparent;cursor:context-menu;border-bottom:1px solid #d7d7d7;font-weight:700;color:#606060;font-size:.12rem;margin:0 .1rem}.ab-select-col{font-size:.12rem;padding-right:.07rem;flex:auto}.ab-select-col:last-child{padding-right:0}.ab-select-col>li{padding:.08rem .11rem;cursor:pointer}.ab-select-col>li:hover{background-color:#eee}.ab-select-col>li.ab-select-active{background-color:#e6f7ff}.ab-select-col>li.ab-select-unselect{background-color:transparent;cursor:context-menu}.ab-select-input-group{position:relative;display:flex;align-items:center;border:1px solid #ccc;cursor:pointer;border-radius:.02rem;user-select:none;padding:.08rem .07rem;font-size:.12rem;background-color:#fff;transition:.2s}.ab-select-input-group.ab-select-active,.ab-select-input-group.ab-select-enter{border-color:#348fee}.ab-select-input-group.ab-select-active{box-shadow:0 0 2px rgba(52,143,238,.8)}.ab-select-input-group.ab-select-empty{color:#888}.ab-select-input-group.ab-select-disabled{cursor:not-allowed}.ab-select-input-control{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ab-select-icon{position:relative;margin-left:.04rem;width:.14rem;height:.14rem}.ab-select-icon svg{position:absolute;left:50%;top:50%;color:#ccc;font-size:.12rem;transition:transform .2s;transform:translate(-50%,-50%)}.ab-select-active .ab-select-icon svg{transform:translate(-50%,-50%) rotate(180deg)}@media only screen and (max-width:767px){.ab-select-content{display:block}.ab-select-input-group{font-size:.14rem;padding:.1rem .07rem}.ab-select-col{padding-right:0}}.ab-skeleton{overflow:hidden}.ab-skeleton-item{background:#f2f2f2;overflow:hidden}.ab-skeleton-active .ab-skeleton-item{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ab-show-more-ellipsis{white-space:nowrap}.ab-show-more-btn{color:#4068b0;cursor:pointer}.ab-show-more-hidden,.ab-show-more-text{visibility:hidden;height:0;display:block;overflow:hidden}.ab-show-more-hidden{width:0}.ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:1s linear infinite reverse loading}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}.ab-loading-container{position:relative}.ab-loading-container-active{user-select:none;pointer-events:none}.ab-loading-container-icon-box{position:absolute;background-color:rgba(255,255,255,.7);top:0;left:0;z-index:4;display:block;width:100%;height:100%}.ab-loading-container-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ab-checkbox{position:relative;cursor:pointer;display:inline-flex;align-items:center;user-select:none}.ab-checkbox:hover .ab-checkbox-outer{border-color:#767676}.ab-checkbox-input{cursor:pointer;position:absolute;opacity:0;margin:0;padding:0;top:50%;left:0;transform:translateY(-50%);z-index:2}.ab-checkbox-check{opacity:0;transform:scale(0);transition:.2s cubic-bezier(.71,-.46,.88,.6),opacity .1s}.ab-checkbox-control{display:inline-block;margin-right:.06rem;position:relative;flex-shrink:0}.ab-checkbox-control svg{position:absolute;left:0;top:0;width:1em;height:1em;user-select:none;flex-shrink:0;fill:currentcolor;stroke:none}.ab-checkbox-outer{position:absolute;left:0;top:0;border:1px solid #b0b0b0;border-radius:.02rem;background-color:#fff}.ab-checkbox-checked .ab-checkbox-check{opacity:1;transform:scale(1);transition:.2s cubic-bezier(.12,.4,.29,1.46) .1s}.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-disabled .ab-checkbox-input{cursor:not-allowed}.ab-checkbox-disabled span.ab-checkbox-control .ab-checkbox-outer{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-disabled svg.ab-checkbox-check{color:#cecece}.ab-checkbox-white .ab-checkbox-check{color:#e84040}.ab-checkbox-blue .ab-checkbox-check{color:#fff}.ab-checkbox-blue.ab-checkbox-checked .ab-checkbox-outer{background-color:#0075ff;border-color:#0075ff}.ab-checkbox-group{display:flex;flex-wrap:wrap}.ab-checkbox-group .ab-checkbox{margin-right:.08rem}.ab-table{overflow-x:auto}.ab-table-table{border-spacing:0;width:100%;table-layout:fixed;border-collapse:collapse}.ab-table-header{overflow:hidden}.ab-table-body{overflow:auto}.ab-table-checkbox{width:.32rem;text-align:center}.ab-table-checkbox .ab-checkbox-outer{border-width:2px}.ab-table-checkbox-col{width:.32rem}.ab-table-point{cursor:pointer}.ab-table-title{display:flex;align-items:center;text-align:left}.ab-table-arrow{font-size:.16rem;color:#fff;padding:0 .05rem}.ab-tabs{position:relative;display:flex}.ab-tabs-item{cursor:pointer}.ab-tabs-item.ab-tabs-active{font-weight:700}.ab-tabs-item.ab-tabs-disabled{cursor:not-allowed;opacity:.7}.ab-tabs-bar{position:absolute;background-color:#b22222;transition:.25s;width:0;height:0;overflow:hidden;margin:0;padding:0}.ab-tabs-bottom,.ab-tabs-top{flex-direction:row}.ab-tabs-bottom>.ab-tabs-bar,.ab-tabs-top>.ab-tabs-bar{left:0}.ab-tabs-left,.ab-tabs-right{flex-direction:column}.ab-tabs-left>.ab-tabs-bar,.ab-tabs-right>.ab-tabs-bar{top:0}.ab-tabs-top>.ab-tabs-bar{bottom:0}.ab-tabs-bottom>.ab-tabs-bar{top:0}.ab-tabs-left>.ab-tabs-bar{right:0}.ab-tabs-right>.ab-tabs-bar{left:0}.ab-trigger-wrap{position:absolute;top:0;left:0;z-index:101}.ab-trigger-wrap.ab-trigger-hidden{display:none}.ab-trigger-mask{position:fixed;top:0;left:0;bottom:0;right:0;z-index:101;background-color:transparent;display:none}.ab-trigger-mask.ab-trigger-mask-show{display:block}.ab-trigger-fade-appear,.ab-trigger-fade-enter,.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0}.ab-trigger-fade-appear,.ab-trigger-fade-enter{transform:scale(.7)}.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0;transform:scaleY(.7)}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active,.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{opacity:1;transition:opacity .2s,transform .2s}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active{transform:scale(1)}.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{transform:scaleY(1)}.ab-trigger-fade-exit,.ab-trigger-fade-hr-exit{opacity:1}.ab-trigger-fade-exit-active,.ab-trigger-fade-hr-exit-active{opacity:0;transition:opacity .2s,transform .2s}.ab-trigger-fade-exit-active{transform:scale(.7)}.ab-trigger-fade-hr-exit-active{transform:scaleY(.7)}.ab-trigger-fade-exit-done,.ab-trigger-fade-hr-exit-done{display:none}.ab-dp-cg-content,.ab-dp-cg-head,.ab-dp-cg-title{display:flex;align-items:center}.ab-dp-cg-title{user-select:none;font-size:.14rem;padding-bottom:.08rem}.ab-dp-cg-title>strong{flex:1 1;margin-left:.1rem;cursor:default;color:#4a4a4a}.ab-dp-cg-title>strong.ab-dp-cg-clickable{cursor:pointer}.ab-dp-cg-title>strong.ab-dp-cg-clickable:hover{color:#000}.ab-dp-cg-dis-icon,.ab-dp-cg-icon{align-self:flex-end;margin-left:.08rem}.ab-dp-cg-icon{cursor:pointer}.ab-dp-cg-head{padding-bottom:.05rem}.ab-dp-cg-head>li{display:flex;align-items:center;justify-content:center;cursor:default}.ab-dp-cg-content{flex-wrap:wrap}.ab-dp-cg-content>li{cursor:pointer;display:flex;align-items:center;justify-content:center;color:#000}.ab-dp-cg-content>li:hover{background:#f0f0f0}.ab-dp-cg-content>li.ab-dp-cg-dis{cursor:not-allowed;color:#b0b0b0}.ab-dp-cg-content>li.ab-dp-cg-dis:hover{background:0 0}.ab-dp-cg-content>li.ab-dp-cg-selected,.ab-dp-cg-content>li:active{background:#c7e0f4;border:3px solid #c7e0f4;border-radius:2px;color:#000}.ab-dp-cg-content>li.ab-dp-cg-today{background:#0078d4;color:#fff}.ab-dp-cg-arrow{cursor:pointer}
|
|
1
|
+
a,abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,input,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,textarea,tfoot,th,thead,time,tr,ul,var,video{box-sizing:border-box}html{font-size:100px;font-family:Arial,sans-serif;touch-action:manipulation}@media only screen and (max-width:767px){html{font-size:100px}}body{font-size:.12rem;color:#333;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}input{outline:0}li,ul{padding:0;margin:0;list-style:none}.ab-affix,.ab-affix-custom{z-index:100}.ab-affix-custom{position:fixed;transition:transform .2s cubic-bezier(.7,.3,.1,1)}.ab-affix-fade-appear,.ab-affix-fade-enter{transform:translate(0,-100%)}.ab-affix-fade-appear-active,.ab-affix-fade-enter-active,.ab-affix-fade-exit{transform:translate(0,0)}.ab-affix-fade-exit-active{transform:translate(0,-100%)}.ab-affix-fade-exit-done{display:none}.ab-carousel{position:relative}.ab-carousel-content{position:relative;display:block;height:100%;width:100%;margin:0;padding:0;overflow:hidden}.ab-carousel-list{user-select:none;position:relative;top:0;left:0;display:block;overflow:hidden}.ab-carousel-slider{outline:0;overflow:hidden;float:left;display:none}.ab-carousel.ab-carousel-init .ab-carousel-slider{display:block}.ab-confirm-btns{display:flex;justify-content:flex-end;padding-top:.42rem}.ab-confirm-cancel,.ab-confirm-ok{overflow:hidden;position:relative;font-size:.12rem;border-width:1px;border-style:solid;outline:0;cursor:pointer;font-weight:700;padding:.05rem .3rem;display:inline-block;color:#fff;margin-left:.3rem}.ab-confirm-ok{border-color:#bc0000;background:linear-gradient(180deg,#c00000 0,#c00000 0,#a00000 100%,#a00000 100%)}.ab-confirm-ok:hover{border-color:#bc0000;background:#bc0000}.ab-confirm-cancel{border-color:grey;background:linear-gradient(180deg,#909090 0,#909090 0,#707070 100%,#707070 100%)}.ab-confirm-cancel:hover{border-color:grey;background:grey}.ab-date-picker{position:relative}.ab-date-picker-input{outline:0;font-size:.14rem;padding:.04rem;width:1.44rem}.ab-date-picker-input.ab-date-picker-error{background:#fffacd}.ab-date-picker-icon{color:#606060;position:absolute;right:.05rem;top:50%;transform:translateY(-50%)}.ab-dp-cal{display:flex}.ab-dp-cal-my{padding-left:.12rem;margin-left:.12rem;border-left:1px solid #b0b0b0}.ab-dp-cal-day,.ab-dp-cal-my{width:2.1rem}.ab-dp-cal-dis{color:#c8c8c8}.ab-dp-cal-dg>ul>li{width:14.28%;height:.28rem}.ab-dp-cal-dg>ul>li.ab-dp-cal-out{color:#666}.ab-dp-cal-myg{padding-bottom:.62rem}.ab-dp-cal-myg>ul{justify-content:space-between}.ab-dp-cal-myg>ul>li{width:.4rem;height:.4rem;margin-bottom:.1rem}.ab-dp-cal-t{cursor:pointer;position:absolute;right:.08rem;bottom:.3rem}.ab-dp-cal-t.ab-dp-cal-t-dis{color:#b0b0b0;cursor:default}.ab-drawer{position:fixed;z-index:101;background-color:#fff;overflow:auto;transition:transform .3s cubic-bezier(.7,.3,.1,1)}.ab-drawer-times{position:absolute;right:.17rem;font-size:.16rem;color:#b0b0b0;cursor:pointer;top:.11rem}.ab-drawer-times:hover{color:#333}.ab-drawer-tf-top{transform:translate(0,-100%)}.ab-drawer-tf-bottom{transform:translate(0,100%)}.ab-drawer-tf-left{transform:translate(-100%,0)}.ab-drawer-tf-right{transform:translate(100%,0)}.ab-drawer-hidden.ab-drawer,.ab-drawer-hidden.ab-mask{display:none}.ab-collapse{transform-origin:left top;transition:opacity .2s,height .2s}.ab-collapse-hidden{height:0;overflow:hidden}.ab-collapse-fade-enter{opacity:.8;overflow:hidden}.ab-collapse-fade-enter-active{opacity:1;overflow:hidden}.ab-collapse-fade-enter-done{opacity:1;overflow:initial}.ab-collapse-fade-exit{opacity:1;overflow:hidden}.ab-collapse-fade-exit-active{opacity:.8;overflow:hidden}.ab-collapse-fade-exit-done{display:none;overflow:initial}.ab-guide-mask.ab-mask{background-color:rgba(0,0,0,.7);z-index:4}.ab-guide-icon{position:absolute;z-index:5}.ab-guide-content{position:relative;z-index:6}.ab-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.ab-textarea{display:flex;align-items:center;border:1px solid #ccc;position:relative;border-radius:.04rem;padding:.04rem}.ab-textarea-prefix,.ab-textarea-suffix{padding-left:.04rem;padding-right:.04rem}.ab-textarea.ab-textarea-enter,.ab-textarea.ab-textarea-focus{border-color:#348fee}.ab-textarea.ab-textarea-focus{box-shadow:0 0 4px #348fee}.ab-textarea.ab-textarea-disabled .ab-textarea-control{cursor:not-allowed}.ab-textarea-control{resize:none;appearance:none;display:block;outline:0;border:none;width:100%;padding:.02rem;background-color:transparent;font-size:inherit;line-height:1.3}.ab-textarea-suffix{position:absolute;right:0;bottom:-.2rem;color:#aaa;font-size:.13rem;padding-right:0}.ab-input-number .ab-input-suffix{padding-left:0;font-size:.08rem;position:absolute;right:0;top:0;width:.22rem;height:100%;padding-right:0;background-color:#fff;display:none;flex-direction:column;border-left:1px solid #f1f1f1}.ab-input-number-has-controls .ab-input-control{padding-right:.2rem}.ab-input-number-down,.ab-input-number-up{cursor:pointer;width:100%;height:50%;display:flex;align-items:center;justify-content:center;color:#333}.ab-input-number-down:hover,.ab-input-number-up:hover{background-color:#e2e2e2}.ab-input-number-down:active,.ab-input-number-up:active{background-color:#929292;color:#fff}.ab-input-number-up{border-bottom:1px solid #f1f1f1}.ab-input-number.ab-input-enter,.ab-input-number.ab-input-focus{border-color:#348fee}.ab-input-number.ab-input-enter .ab-input-suffix,.ab-input-number.ab-input-focus .ab-input-suffix{display:flex}.ab-input{display:flex;align-items:center;border:1px solid #ccc;overflow:hidden;position:relative;border-radius:.04rem;padding:.04rem}.ab-input-prefix,.ab-input-suffix{padding-left:.04rem;padding-right:.04rem}.ab-input.ab-input-enter,.ab-input.ab-input-focus{border-color:#348fee}.ab-input.ab-input-focus{box-shadow:0 0 4px #348fee}.ab-input.ab-input-disabled .ab-input-control{cursor:not-allowed}.ab-input-control{appearance:none;display:block;outline:0;border:none;width:100%;height:100%;padding:.02rem;background-color:transparent;font-size:inherit}.ab-lazy-image{position:relative;overflow:hidden;transition:opacity .5s;display:flex;align-items:center;justify-content:center}.ab-lazy-image::after{display:none;content:"";position:absolute;left:0;top:0;width:100%;height:100%}.ab-lazy-image-loading::after{display:block;background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}.ab-lazy-image img{display:block;max-width:100%;max-height:100%}.ab-link-list-title{font-size:.16rem;margin:0;padding:0 0 .12rem;display:flex;justify-content:space-between;align-items:center}.ab-link-list-icon{display:none}.ab-link-list-content{flex-wrap:wrap;width:auto;margin-right:-.15rem}.ab-link-list-content.ab-link-list-col2>a,.ab-link-list-content.ab-link-list-col2>span{min-width:calc(100% / 2 - .15rem);max-width:calc(100% / 2 - .15rem)}.ab-link-list-content.ab-link-list-col4>a,.ab-link-list-content.ab-link-list-col4>span{min-width:calc(100% / 4 - .15rem);max-width:calc(100% / 4 - .15rem)}.ab-link-list-content.ab-link-list-col5>a,.ab-link-list-content.ab-link-list-col5>span{min-width:calc(100% / 5 - .15rem);max-width:calc(100% / 5 - .15rem)}.ab-link-list-content.ab-link-list-col6>a,.ab-link-list-content.ab-link-list-col6>span{min-width:calc(100% / 6 - .15rem);max-width:calc(100% / 6 - .15rem)}.ab-link-list-content.ab-link-list-col8>a,.ab-link-list-content.ab-link-list-col8>span{min-width:calc(100% / 8 - .15rem);max-width:calc(100% / 8 - .15rem)}.ab-link-list-content>a,.ab-link-list-content>span{cursor:pointer;border:.5px solid #d0d0d0;margin-bottom:8px;display:inline-block;justify-content:space-between;align-items:center;width:100%;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.085rem .15rem .085rem .12rem;color:#333;margin-right:.15rem}.ab-link-list-content>a::after,.ab-link-list-content>span::after{content:">";position:absolute;right:.1rem;top:50%;transform:translateY(-50%);color:grey;font-size:.12rem}.ab-link-list-content>a:hover,.ab-link-list-content>span:hover{text-decoration:underline;color:#f97601}.ab-link-list-content>.ab-link-list-hidden{display:none}.ab-link-list-wrap-popover.ab-popover-wrap{max-width:3.5rem;min-width:3rem}.ab-link-list-sub-title{display:block;padding-bottom:.06rem;font-size:.12rem}.ab-link-list-sub-link{text-decoration:underline;color:#333;font-size:.12rem;padding:0 .05rem .05rem 0;display:inline-block}@media only screen and (max-width:767px){.ab-link-list-divider{border-bottom:1px solid #d0d0d0}.ab-link-list-body{height:0;width:0;overflow:hidden}.ab-link-list-body.ab-link-list-active{height:auto;width:auto}.ab-link-list-content.ab-link-list-col2>a,.ab-link-list-content.ab-link-list-col2>span,.ab-link-list-content.ab-link-list-col4>a,.ab-link-list-content.ab-link-list-col4>span,.ab-link-list-content.ab-link-list-col5>a,.ab-link-list-content.ab-link-list-col5>span,.ab-link-list-content.ab-link-list-col6>a,.ab-link-list-content.ab-link-list-col6>span,.ab-link-list-content.ab-link-list-col8>a,.ab-link-list-content.ab-link-list-col8>span{min-width:calc(50% - .15rem);max-width:calc(50% - .15rem)}.ab-link-list-icon{font-weight:700;font-size:.22rem;cursor:pointer;width:.2rem;height:.2rem;display:flex;align-items:center;justify-content:center}}.ab-loading-wrap{position:fixed;top:0;left:0;z-index:9999;background-color:rgba(255,255,255,.7);height:100%;width:100%}.ab-loading-wrap .ab-loading-content{position:absolute;left:50%;top:50%;display:block;width:.31rem;height:.31rem;transform:translate(-50%,-50%)}.ab-loading-bar{position:fixed;top:0;left:0;margin-bottom:-3px;height:3px;width:100%;z-index:999}@keyframes movingBar{0%{left:50%;right:50%}99.9%{left:0;right:0}100%{left:50%;right:50%}}@keyframes changeBar{0%,33.3%{background-color:#0aa770}33.33%{background-color:red}66.6%,66.66%{background-color:#f987d6}99.9%{background-color:#00bcd4}}.ab-loading-bar-bar{position:absolute;height:0;width:100%;text-indent:-9999px;background-color:#0aa770;animation:2.25s infinite changeBar}.ab-loading-bar-bar::before{content:"";height:3px;position:absolute;left:50%;right:50%;background-color:inherit;animation:.75s infinite movingBar}.ab-message-container{position:fixed}.ab-message-notice{overflow:hidden;transition:.3s ease-out}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);margin:.05rem .15rem;padding:.08rem;border-radius:.02rem;background-color:#333;color:#fff;box-shadow:0 .01rem .05rem #333}.ab-message-close{display:flex;align-items:center;justify-content:center;cursor:pointer;width:.2rem;height:.2rem;font-size:.2rem;margin-left:.08rem;color:#b0b0b0}.ab-message-close:hover{color:#fff}.ab-message-fade-appear,.ab-message-fade-enter{opacity:0}.ab-message-fade-appear-active,.ab-message-fade-enter-active,.ab-message-fade-enter-done,.ab-message-fade-exit{opacity:1}.ab-message-fade-exit-active{opacity:0}.ab-message-fade-exit-done{display:none}@media only screen and (max-width:767px){.ab-message-content{width:calc(100vw - .3rem);margin:.08rem .15rem}}.ab-move{cursor:move;visibility:hidden;transform-origin:center center}.ab-mask{position:fixed;top:0;left:0;z-index:101;width:100%;height:100%;background-color:rgba(0,0,0,.45);transition:opacity .4s cubic-bezier(.7,.3,.1,1)}.ab-mask-fade-appear,.ab-mask-fade-enter{opacity:0}.ab-mask-fade-appear-active,.ab-mask-fade-enter-active,.ab-mask-fade-enter-done,.ab-mask-fade-exit{opacity:1}.ab-mask-fade-exit-active{opacity:0}.ab-mask-fade-exit-done{display:none}.ab-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;overflow:auto;outline:0}.ab-modal.ab-modal-center{text-align:center}.ab-modal.ab-modal-center::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ab-modal.ab-modal-center .ab-modal-content{top:0;text-align:left;display:inline-block;vertical-align:middle}.ab-modal-content{position:relative;background-color:#fff;max-width:calc(100vw - .3rem);margin-left:auto;margin-right:auto;overflow:auto;-webkit-overflow-scrolling:touch;transition:transform .3s,opacity .3s cubic-bezier(.7,.3,.1,1);z-index:101}.ab-modal-title{position:relative;width:100%}.ab-modal-title .ab-modal-times{top:50%;transform:translateY(-50%)}.ab-modal-times{position:absolute;top:.12rem;right:.12rem;font-size:.15rem;color:#b0b0b0;cursor:pointer}.ab-modal-times svg{display:block}.ab-modal-times:hover{color:#333}.ab-modal-hidden{display:none}@media only screen and (max-width:767px){.ab-modal-content{width:calc(100vw - .3rem)}}.ab-modal-fade-appear,.ab-modal-fade-enter{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-appear-active,.ab-modal-fade-enter-active,.ab-modal-fade-enter-done,.ab-modal-fade-exit{transform:translateZ(0);opacity:1}.ab-modal-fade-exit-active{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-exit-done{display:none}.ab-popover-wrap{background-clip:padding-box;min-width:210px;border-radius:4px}.ab-popover-inner{padding:.08rem .11rem .05rem;position:relative;width:100%;overflow:auto;font-size:.12rem}.ab-popover-inner-expand{padding-right:.1rem}.ab-popover-arrow{position:absolute;display:block;width:8px;height:8px;border-style:solid;box-shadow:3px 3px 7px rgba(0,0,0,.07)}.ab-popover-close{position:absolute;right:.02rem;top:.05rem;cursor:pointer;padding:0 .05rem;color:#bfbfbf;font-size:.2rem;line-height:1;z-index:2}.ab-popover-close:hover{color:#4a4a4a}.ab-popover-white{background-color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}.ab-popover-white .ab-popover-arrow{background-color:#fff;border-color:transparent #fff #fff transparent;border-width:4px}.ab-popover-orange{border:1px solid #906c00;box-shadow:1px 1px 5px -1px #000;background-color:#fffaec}.ab-popover-orange .ab-popover-arrow{background-color:#fffaec;border-color:transparent #906c00 #906c00 transparent;border-width:1px}@media only screen and (max-width:767px){.ab-popover-wrap{width:calc(100% - .3rem)}}.ab-radio{position:relative;overflow:hidden;display:inline-flex;align-items:center;cursor:pointer;font-size:.14rem}.ab-radio:hover .ab-radio-control{color:#4f4f4f}.ab-radio input{cursor:inherit;position:absolute;margin:0;padding:0;opacity:0;top:0;left:0;z-index:1}.ab-radio-checked:hover .ab-radio-control{color:#005cc8}.ab-radio-checked .ab-radio-control{color:#0075ff}.ab-radio-checked .ab-radio-control svg{display:inline-block}.ab-radio-disabled{cursor:not-allowed}.ab-radio-disabled .ab-radio-control,.ab-radio-disabled:hover .ab-radio-control{color:#d1d1d1}.ab-radio-control{margin-right:.06rem;position:relative;color:#767676}.ab-radio-control svg{width:1em;height:1em;user-select:none;flex-shrink:0;fill:currentcolor;stroke:currentcolor}.ab-radio-dot,.ab-radio-outer{position:absolute;left:0;top:0}.ab-radio-dot{display:none}.ab-radio-group-horizontal{display:flex}.ab-radio-group-horizontal .ab-radio-item{margin-right:.2rem}.ab-radio-group-horizontal .ab-radio-item:last-child{margin-right:0}.ab-radio-group-vertical{display:flex;flex-direction:column}.ab-radio-group-vertical .ab-radio-item{margin-bottom:.15rem}.ab-radio-group-vertical .ab-radio-item:last-child{margin-bottom:0}.ab-read-more{overflow:hidden}.ab-read-more-hidden{display:none}.ab-read-more-collapse,.ab-read-more-expand{user-select:none}.ab-read-more-collapse::after,.ab-read-more-expand::after{color:#4068b0;cursor:pointer}.ab-read-more-collapse::after{content:" " attr(data-collapse)}.ab-read-more-expand::after{content:" " attr(data-expand)}.ab-select-wrap{min-width:177px;background-color:#fff;background-clip:padding-box;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex}.ab-select-wrap.ab-trigger-fade-hr-exit-done{display:none}.ab-select-inner{flex:1;width:100%;overflow:auto}.ab-select-bottom,.ab-select-content,.ab-select-title{display:flex}.ab-select-title{padding:.09rem 0;background-color:transparent;cursor:context-menu;border-bottom:1px solid #d7d7d7;font-weight:700;color:#606060;font-size:.12rem;margin:0 .1rem}.ab-select-col{font-size:.12rem;padding-right:.07rem;flex:auto}.ab-select-col:last-child{padding-right:0}.ab-select-col>li{padding:.08rem .11rem;cursor:pointer}.ab-select-col>li:hover{background-color:#eee}.ab-select-col>li.ab-select-active{background-color:#e6f7ff}.ab-select-col>li.ab-select-unselect{background-color:transparent;cursor:context-menu}.ab-select-input-group{position:relative;overflow:hidden}.ab-select-input-control{appearance:none;outline:0;user-select:none;width:100%;border:1px solid #ccc;border-radius:2px;resize:none;transition:.2s;background-color:#fff;text-overflow:ellipsis;padding:.08rem .28rem .07rem .07rem;font-size:.14rem;white-space:nowrap;overflow:hidden;max-width:100%;cursor:pointer}.ab-select-input-control.ab-select-focused{box-shadow:0 0 4px rgba(52,143,238,.8);border-color:rgba(52,143,238,.8)}.ab-select-input-control.ab-select-empty{color:#888}.ab-select-input-control.error{background-color:#fffacd}.ab-select-icon{position:absolute;right:.21rem;top:50%;color:#ccc;font-size:0;transform:translate(100%,-50%);transition:transform .2s}.ab-select-icon svg{font-size:.12rem}.ab-select-active .ab-select-icon{transform:translate(100%,-50%) rotate(180deg)}@media only screen and (max-width:767px){.ab-select-content{display:block}.ab-select-input-control{padding:.1rem .05rem;font-size:.14rem}.ab-select-col{padding-right:0}}.ab-show-more-collapse,.ab-show-more-ellipsis{white-space:nowrap}.ab-show-more-btn{color:#4068b0;cursor:pointer}.ab-show-more-hidden,.ab-show-more-text{visibility:hidden;height:0;display:block;overflow:hidden}.ab-show-more-hidden{width:0}.ab-tabs{position:relative;display:flex}.ab-tabs-item{cursor:pointer}.ab-tabs-item.ab-tabs-active{font-weight:700}.ab-tabs-item.ab-tabs-disabled{cursor:not-allowed;opacity:.7}.ab-tabs-bar{position:absolute;background-color:#b22222;transition:.25s;width:0;height:0;overflow:hidden;margin:0;padding:0}.ab-tabs-bottom,.ab-tabs-top{flex-direction:row}.ab-tabs-bottom>.ab-tabs-bar,.ab-tabs-top>.ab-tabs-bar{left:0}.ab-tabs-left,.ab-tabs-right{flex-direction:column}.ab-tabs-left>.ab-tabs-bar,.ab-tabs-right>.ab-tabs-bar{top:0}.ab-tabs-top>.ab-tabs-bar{bottom:0}.ab-tabs-bottom>.ab-tabs-bar{top:0}.ab-tabs-left>.ab-tabs-bar{right:0}.ab-tabs-right>.ab-tabs-bar{left:0}.ab-skeleton{overflow:hidden}.ab-skeleton-item{background:#f2f2f2;overflow:hidden}.ab-skeleton-active .ab-skeleton-item{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:1s linear infinite reverse loading}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}.ab-loading-container{position:relative}.ab-loading-container-active{user-select:none;pointer-events:none}.ab-loading-container-icon-box{position:absolute;background-color:rgba(255,255,255,.7);top:0;left:0;z-index:4;display:block;width:100%;height:100%}.ab-loading-container-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ab-checkbox{cursor:pointer;display:inline-flex;align-items:center;user-select:none;position:relative}.ab-checkbox-input{cursor:pointer;position:absolute;opacity:0;margin:0;padding:0;z-index:2}.ab-checkbox-inner{display:inline-block;margin-right:.06rem;position:relative;border:1px solid #b0b0b0;border-radius:.02rem;background-color:#fff;transition:.3s;flex-shrink:0}.ab-checkbox-inner::after{box-sizing:border-box;position:absolute;top:45%;left:22%;display:table;width:37.5%;height:62.5%;border-style:solid;border-width:2px;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:"";transition:.2s cubic-bezier(.71,-.46,.88,.6),opacity .1s}.ab-checkbox-checked .ab-checkbox-inner::after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:.2s cubic-bezier(.12,.4,.29,1.46) .1s}.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-disabled .ab-checkbox-input{cursor:not-allowed}.ab-checkbox-white .ab-checkbox-inner::after{border-color:#e84040}.ab-checkbox-white.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-blue .ab-checkbox-inner::after{border-color:#fff}.ab-checkbox-blue.ab-checkbox-checked .ab-checkbox-inner{transition:none;background-color:#0075ff;border-color:#0075ff}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-group{display:flex;flex-wrap:wrap}.ab-checkbox-group .ab-checkbox{margin-right:.08rem}.ab-table{overflow-x:auto}.ab-table-table{border-spacing:0;width:100%;table-layout:fixed;border-collapse:collapse}.ab-table-header{overflow:hidden}.ab-table-body{overflow:auto}.ab-table-checkbox{width:.32rem;text-align:center}.ab-table-checkbox .ab-checkbox-inner{border-width:2px}.ab-table-checkbox-col{width:.32rem}.ab-table-point{cursor:pointer}.ab-table-title{display:flex;align-items:center;text-align:left}.ab-table-arrow{font-size:.16rem;color:#fff;padding:0 .05rem}.ab-rdm-html,.ab-rdm-html-content{overflow:hidden}.ab-rdm-html-collapse::after,.ab-rdm-html-expand::after{line-height:.18rem;display:block;padding-top:.02rem;cursor:pointer;text-decoration:underline}.ab-rdm-html-collapse::after{content:attr(data-collapse)}.ab-rdm-html-expand::after{content:attr(data-expand)}.ab-trigger-wrap{position:absolute;top:0;left:0;z-index:101}.ab-trigger-wrap.ab-trigger-hidden{display:none}.ab-trigger-mask{position:fixed;top:0;left:0;bottom:0;right:0;z-index:101;background-color:transparent;display:none}.ab-trigger-mask.ab-trigger-mask-show{display:block}.ab-trigger-fade-appear,.ab-trigger-fade-enter,.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0}.ab-trigger-fade-appear,.ab-trigger-fade-enter{transform:scale(.7)}.ab-trigger-fade-hr-appear,.ab-trigger-fade-hr-enter{opacity:0;transform:scaleY(.7)}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active,.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{opacity:1;transition:opacity .2s,transform .2s}.ab-trigger-fade-appear-active,.ab-trigger-fade-enter-active{transform:scale(1)}.ab-trigger-fade-hr-appear-active,.ab-trigger-fade-hr-enter-active{transform:scaleY(1)}.ab-trigger-fade-exit,.ab-trigger-fade-hr-exit{opacity:1}.ab-trigger-fade-exit-active,.ab-trigger-fade-hr-exit-active{opacity:0;transition:opacity .2s,transform .2s}.ab-trigger-fade-exit-active{transform:scale(.7)}.ab-trigger-fade-hr-exit-active{transform:scaleY(.7)}.ab-trigger-fade-exit-done,.ab-trigger-fade-hr-exit-done{display:none}.ab-dp-cg-content,.ab-dp-cg-head,.ab-dp-cg-title{display:flex;align-items:center}.ab-dp-cg-title{user-select:none;font-size:.14rem;padding-bottom:.08rem}.ab-dp-cg-title>strong{flex:1 1;margin-left:.1rem;cursor:default;color:#4a4a4a}.ab-dp-cg-title>strong.ab-dp-cg-clickable{cursor:pointer}.ab-dp-cg-title>strong.ab-dp-cg-clickable:hover{color:#000}.ab-dp-cg-dis-icon,.ab-dp-cg-icon{align-self:flex-end;margin-left:.08rem}.ab-dp-cg-icon{cursor:pointer}.ab-dp-cg-head{padding-bottom:.05rem}.ab-dp-cg-head>li{display:flex;align-items:center;justify-content:center;cursor:default}.ab-dp-cg-content{flex-wrap:wrap}.ab-dp-cg-content>li{cursor:pointer;display:flex;align-items:center;justify-content:center;color:#000}.ab-dp-cg-content>li:hover{background:#f0f0f0}.ab-dp-cg-content>li.ab-dp-cg-dis{cursor:not-allowed;color:#b0b0b0}.ab-dp-cg-content>li.ab-dp-cg-dis:hover{background:0 0}.ab-dp-cg-content>li.ab-dp-cg-selected,.ab-dp-cg-content>li:active{background:#c7e0f4;border:3px solid #c7e0f4;border-radius:2px;color:#000}.ab-dp-cg-content>li.ab-dp-cg-today{background:#0078d4;color:#fff}.ab-dp-cg-arrow{cursor:pointer}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:1s linear infinite reverse loading}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}.ab-loading-container{position:relative}.ab-loading-container-active{user-select:none;pointer-events:none}.ab-loading-container-icon-box{position:absolute;background-color:rgba(255,255,255,.7);top:0;left:0;z-index:4;display:block;width:100%;height:100%}.ab-loading-container-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ab-checkbox{
|
|
1
|
+
.ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:1s linear infinite reverse loading}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}.ab-loading-container{position:relative}.ab-loading-container-active{user-select:none;pointer-events:none}.ab-loading-container-icon-box{position:absolute;background-color:rgba(255,255,255,.7);top:0;left:0;z-index:4;display:block;width:100%;height:100%}.ab-loading-container-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ab-checkbox{cursor:pointer;display:inline-flex;align-items:center;user-select:none;position:relative}.ab-checkbox-input{cursor:pointer;position:absolute;opacity:0;margin:0;padding:0;z-index:2}.ab-checkbox-inner{display:inline-block;margin-right:.06rem;position:relative;border:1px solid #b0b0b0;border-radius:.02rem;background-color:#fff;transition:.3s;flex-shrink:0}.ab-checkbox-inner::after{box-sizing:border-box;position:absolute;top:45%;left:22%;display:table;width:37.5%;height:62.5%;border-style:solid;border-width:2px;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:"";transition:.2s cubic-bezier(.71,-.46,.88,.6),opacity .1s}.ab-checkbox-checked .ab-checkbox-inner::after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:.2s cubic-bezier(.12,.4,.29,1.46) .1s}.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-disabled .ab-checkbox-input{cursor:not-allowed}.ab-checkbox-white .ab-checkbox-inner::after{border-color:#e84040}.ab-checkbox-white.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-blue .ab-checkbox-inner::after{border-color:#fff}.ab-checkbox-blue.ab-checkbox-checked .ab-checkbox-inner{transition:none;background-color:#0075ff;border-color:#0075ff}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-group{display:flex;flex-wrap:wrap}.ab-checkbox-group .ab-checkbox{margin-right:.08rem}.ab-table{overflow-x:auto}.ab-table-table{border-spacing:0;width:100%;table-layout:fixed;border-collapse:collapse}.ab-table-header{overflow:hidden}.ab-table-body{overflow:auto}.ab-table-checkbox{width:.32rem;text-align:center}.ab-table-checkbox .ab-checkbox-inner{border-width:2px}.ab-table-checkbox-col{width:.32rem}.ab-table-point{cursor:pointer}.ab-table-title{display:flex;align-items:center;text-align:left}.ab-table-arrow{font-size:.16rem;color:#fff;padding:0 .05rem}
|
package/esm/trigger/index.d.ts
CHANGED
|
@@ -100,7 +100,7 @@ export interface TriggerProps {
|
|
|
100
100
|
* visible变化的回调函数,回调函数返回status和name
|
|
101
101
|
*/
|
|
102
102
|
onVisibleChange?: (visible: boolean, name?: string) => void;
|
|
103
|
-
getCurrentDOMNode?: (node:
|
|
103
|
+
getCurrentDOMNode?: (node: React.ReactInstance | null) => HTMLElement;
|
|
104
104
|
/**
|
|
105
105
|
* 隐藏后的回调函数
|
|
106
106
|
*/
|
|
@@ -139,8 +139,7 @@ declare class Trigger extends React.Component<TriggerProps, TriggerStates> {
|
|
|
139
139
|
};
|
|
140
140
|
prefixCls: string;
|
|
141
141
|
clickOutsideHandler: AddListenerEventRemoveHandler | null;
|
|
142
|
-
|
|
143
|
-
touchEndOutsideHandler: AddListenerEventRemoveHandler | null;
|
|
142
|
+
touchOutsideHandler: AddListenerEventRemoveHandler | null;
|
|
144
143
|
resizeHandler: AddListenerEventRemoveHandler | null;
|
|
145
144
|
scrollHandler: AddListenerEventRemoveHandler | null;
|
|
146
145
|
hasPopupMouseDown: boolean;
|
|
@@ -151,20 +150,14 @@ declare class Trigger extends React.Component<TriggerProps, TriggerStates> {
|
|
|
151
150
|
prevPopupSize: PrevPopupSize;
|
|
152
151
|
popupRef: React.RefObject<HTMLDivElement>;
|
|
153
152
|
maskRef: React.RefObject<HTMLDivElement>;
|
|
153
|
+
triggerRef: React.RefObject<React.ReactInstance>;
|
|
154
154
|
isClickToHide: () => boolean;
|
|
155
|
-
touchesOverOne: boolean;
|
|
156
155
|
static getPopupInnerHeight(element: any): number;
|
|
157
156
|
constructor(props: TriggerProps);
|
|
158
157
|
static getDerivedStateFromProps(nextProps: TriggerProps, preState: TriggerStates): TriggerStates;
|
|
159
158
|
componentDidMount(): void;
|
|
160
159
|
componentDidUpdate(): void;
|
|
161
160
|
componentWillUnmount(): void;
|
|
162
|
-
windowResizeHiddenHandle: () => void;
|
|
163
|
-
onTouchEnd: (event: any) => void;
|
|
164
|
-
/**
|
|
165
|
-
* 移动端 非用户双指缩放引起的resize
|
|
166
|
-
*/
|
|
167
|
-
isTouchAutoResize: () => boolean;
|
|
168
161
|
clearPopupTimer: (popupEl?: HTMLElement) => void;
|
|
169
162
|
forceAlign: (popupEl?: HTMLElement) => void;
|
|
170
163
|
getRootDomNode: () => HTMLElement | null;
|
package/esm/trigger/index.js
CHANGED
|
@@ -38,6 +38,7 @@ import classNames from 'classnames';
|
|
|
38
38
|
import { getElementSize, getStyleValue, isTouchScreen, isEmptyObject, throttleWithRAF, contains, addEventListener } from '@autobest-ui/utils';
|
|
39
39
|
import { CSSTransition } from 'react-transition-group';
|
|
40
40
|
import Portal from '../portal';
|
|
41
|
+
import { supportRef, composeRef } from './ref';
|
|
41
42
|
import getPopupLocation from './getPopupLocation';
|
|
42
43
|
function noop() {}
|
|
43
44
|
var Trigger = /** @class */function (_super) {
|
|
@@ -47,29 +48,10 @@ var Trigger = /** @class */function (_super) {
|
|
|
47
48
|
_this.prefixCls = 'ab-trigger';
|
|
48
49
|
_this.popupRef = /*#__PURE__*/React.createRef();
|
|
49
50
|
_this.maskRef = /*#__PURE__*/React.createRef();
|
|
51
|
+
_this.triggerRef = /*#__PURE__*/React.createRef();
|
|
50
52
|
_this.isClickToHide = function () {
|
|
51
53
|
return _this.props.trigger.indexOf('click') !== -1;
|
|
52
54
|
};
|
|
53
|
-
_this.touchesOverOne = false;
|
|
54
|
-
_this.windowResizeHiddenHandle = function () {
|
|
55
|
-
if (_this.isTouchAutoResize()) {
|
|
56
|
-
_this.forceAlign();
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
_this.triggerPopup(false);
|
|
60
|
-
};
|
|
61
|
-
_this.onTouchEnd = function (event) {
|
|
62
|
-
_this.touchesOverOne = event.touches && event.touches.length > 1;
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* 移动端 非用户双指缩放引起的resize
|
|
66
|
-
*/
|
|
67
|
-
_this.isTouchAutoResize = function () {
|
|
68
|
-
if (!isTouchScreen()) {
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
return !_this.touchesOverOne;
|
|
72
|
-
};
|
|
73
55
|
_this.clearPopupTimer = function (popupEl) {
|
|
74
56
|
clearTimeout(_this.popupTimer);
|
|
75
57
|
var element = popupEl || _this.getPopupDomNode();
|
|
@@ -142,13 +124,12 @@ var Trigger = /** @class */function (_super) {
|
|
|
142
124
|
_this.getRootDomNode = function () {
|
|
143
125
|
var getCurrentDOMNode = _this.props.getCurrentDOMNode;
|
|
144
126
|
if (getCurrentDOMNode) {
|
|
145
|
-
|
|
146
|
-
return getCurrentDOMNode(findDOMNode(_this));
|
|
127
|
+
return getCurrentDOMNode(_this.triggerRef.current);
|
|
147
128
|
}
|
|
148
129
|
try {
|
|
149
130
|
// 支持children是组件的情况, 穿透组件获取HTML元素
|
|
150
131
|
// eslint-disable-next-line react/no-find-dom-node
|
|
151
|
-
var domNode = findDOMNode(_this);
|
|
132
|
+
var domNode = findDOMNode(_this.triggerRef.current);
|
|
152
133
|
if (domNode) {
|
|
153
134
|
return domNode;
|
|
154
135
|
}
|
|
@@ -169,7 +150,6 @@ var Trigger = /** @class */function (_super) {
|
|
|
169
150
|
if (!root || !target || !popupNode) {
|
|
170
151
|
return;
|
|
171
152
|
}
|
|
172
|
-
_this.touchesOverOne = event.type === 'touchstart' && event.touches.length > 1;
|
|
173
153
|
var showMask = _this.props.showMask;
|
|
174
154
|
var maskEl = _this.getMaskDomNode();
|
|
175
155
|
if (showMask && !maskEl) {
|
|
@@ -324,7 +304,9 @@ var Trigger = /** @class */function (_super) {
|
|
|
324
304
|
var popupEl = this.getPopupDomNode();
|
|
325
305
|
// 加入 resize 监听
|
|
326
306
|
if (this.props.monitorWindowResize && !this.resizeHandler) {
|
|
327
|
-
var handle = this.props.windowResizeHidden ? throttleWithRAF(
|
|
307
|
+
var handle = this.props.windowResizeHidden ? throttleWithRAF(function () {
|
|
308
|
+
return _this.triggerPopup(false);
|
|
309
|
+
}) : throttleWithRAF(function () {
|
|
328
310
|
return _this.forceAlign();
|
|
329
311
|
});
|
|
330
312
|
this.resizeHandler = addEventListener(window, 'resize', handle);
|
|
@@ -339,18 +321,17 @@ var Trigger = /** @class */function (_super) {
|
|
|
339
321
|
_this.triggerPopup(false);
|
|
340
322
|
});
|
|
341
323
|
}
|
|
342
|
-
var currentDocument = window.document;
|
|
343
|
-
var touch = isTouchScreen();
|
|
344
324
|
// 需要监听 `mousedown` or `touchstart`, 而不是click
|
|
325
|
+
var currentDocument;
|
|
326
|
+
var touch = isTouchScreen();
|
|
345
327
|
if (!this.clickOutsideHandler && !touch && this.isClickToHide()) {
|
|
328
|
+
currentDocument = window.document;
|
|
346
329
|
this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);
|
|
347
330
|
}
|
|
348
331
|
// always hide on mobile
|
|
349
|
-
if (!this.
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
if (!this.touchEndOutsideHandler) {
|
|
353
|
-
this.touchEndOutsideHandler = addEventListener(currentDocument, 'touchend', this.onTouchEnd);
|
|
332
|
+
if (!this.touchOutsideHandler) {
|
|
333
|
+
currentDocument = currentDocument || window.document;
|
|
334
|
+
this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);
|
|
354
335
|
}
|
|
355
336
|
if (popupEl && this.prevPopupSize) {
|
|
356
337
|
var _a = getElementSize(popupEl),
|
|
@@ -400,13 +381,9 @@ var Trigger = /** @class */function (_super) {
|
|
|
400
381
|
this.clickOutsideHandler();
|
|
401
382
|
this.clickOutsideHandler = null;
|
|
402
383
|
}
|
|
403
|
-
if (this.
|
|
404
|
-
this.
|
|
405
|
-
this.
|
|
406
|
-
}
|
|
407
|
-
if (this.touchEndOutsideHandler) {
|
|
408
|
-
this.touchEndOutsideHandler();
|
|
409
|
-
this.touchEndOutsideHandler = null;
|
|
384
|
+
if (this.touchOutsideHandler) {
|
|
385
|
+
this.touchOutsideHandler();
|
|
386
|
+
this.touchOutsideHandler = null;
|
|
410
387
|
}
|
|
411
388
|
};
|
|
412
389
|
Trigger.prototype.delaySetPopupVisible = function (visible, delayTime) {
|
|
@@ -494,6 +471,9 @@ var Trigger = /** @class */function (_super) {
|
|
|
494
471
|
}
|
|
495
472
|
}
|
|
496
473
|
var cloneProps = __assign({}, newChildProps);
|
|
474
|
+
if (supportRef(child)) {
|
|
475
|
+
cloneProps.ref = composeRef(this.triggerRef, child.ref);
|
|
476
|
+
}
|
|
497
477
|
// 对当前children元素添加额外属性
|
|
498
478
|
return /*#__PURE__*/React.cloneElement(child, cloneProps);
|
|
499
479
|
};
|
package/lib/affix/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AddListenerEventRemoveHandler, getOffsetAndSize } from '@autobest-ui/utils';
|
|
3
|
-
import { CurrentResizeObserver } from './observe';
|
|
4
3
|
export interface GetFixedStateParams {
|
|
5
4
|
positionInfo: OffsetInfo;
|
|
6
5
|
scrollTop: number;
|
|
@@ -50,10 +49,6 @@ export interface AffixProps {
|
|
|
50
49
|
* 是否忽略水平方向固定定位, true将跟着鼠标左右移动
|
|
51
50
|
*/
|
|
52
51
|
ignoreHorizontalFixed?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* 是否监听children的大小变化(仅用于非自定义renderAffix的情况)
|
|
55
|
-
*/
|
|
56
|
-
observeSize?: boolean;
|
|
57
52
|
}
|
|
58
53
|
interface AffixStates {
|
|
59
54
|
visible: boolean;
|
|
@@ -69,7 +64,6 @@ declare class Affix extends React.Component<AffixProps, AffixStates> {
|
|
|
69
64
|
isFixed: boolean;
|
|
70
65
|
wrapRef: React.RefObject<HTMLDivElement>;
|
|
71
66
|
customRef: React.RefObject<HTMLDivElement>;
|
|
72
|
-
resizeObserver: CurrentResizeObserver;
|
|
73
67
|
static defaultProps: {
|
|
74
68
|
offsetTop: number;
|
|
75
69
|
allWidth: boolean;
|
|
@@ -80,10 +74,6 @@ declare class Affix extends React.Component<AffixProps, AffixStates> {
|
|
|
80
74
|
constructor(props: AffixProps);
|
|
81
75
|
componentDidMount(): void;
|
|
82
76
|
componentWillUnmount(): void;
|
|
83
|
-
onVisibleChange: (visible: any) => void;
|
|
84
|
-
addElementObserve: () => void;
|
|
85
|
-
removeElementObserve: () => void;
|
|
86
|
-
refreshWrap: () => void;
|
|
87
77
|
onHandlerScroll: (isResize?: boolean) => void;
|
|
88
78
|
renderContent(): JSX.Element;
|
|
89
79
|
render(): JSX.Element;
|