@autobest-ui/components 2.14.13 → 2.14.15
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/read-more/index.d.ts +3 -3
- package/esm/read-more/index.js +175 -115
- package/esm/style.css +1 -1
- package/lib/read-more/index.d.ts +3 -3
- package/lib/read-more/index.js +175 -115
- package/lib/style.css +1 -1
- package/package.json +1 -1
package/esm/read-more/index.d.ts
CHANGED
|
@@ -70,23 +70,23 @@ declare class ReadMore extends Component<ReadMoreProps, ReadMoreState> {
|
|
|
70
70
|
cacheWrapWidth: number;
|
|
71
71
|
isCollapsed: boolean;
|
|
72
72
|
resizeObserver: ResizeObserver;
|
|
73
|
-
originalContent: string;
|
|
74
73
|
wrapRef: React.RefObject<HTMLDivElement>;
|
|
75
74
|
prefixCls: string;
|
|
76
75
|
constructor(props: ReadMoreProps);
|
|
77
76
|
componentDidMount(): void;
|
|
78
77
|
componentDidUpdate(prevProps: ReadMoreProps): void;
|
|
79
78
|
componentWillUnmount(): void;
|
|
79
|
+
getHtmlInBrowser: () => Promise<string>;
|
|
80
80
|
onResizeObserver: () => void;
|
|
81
81
|
/**
|
|
82
82
|
* 计算高度并设置样式
|
|
83
83
|
*/
|
|
84
|
-
delayCalculate()
|
|
84
|
+
delayCalculate: () => Promise<void>;
|
|
85
85
|
/**
|
|
86
86
|
* 创建Show More/Show Less 按钮
|
|
87
87
|
*/
|
|
88
88
|
getButtonElement: (wrapElement: HTMLDivElement, isCollapsed: boolean) => HTMLSpanElement;
|
|
89
|
-
applyToggle: (wrapElement: HTMLDivElement, node: any, index: number) => void
|
|
89
|
+
applyToggle: (wrapElement: HTMLDivElement, node: any, index: number) => Promise<void>;
|
|
90
90
|
render(): JSX.Element;
|
|
91
91
|
}
|
|
92
92
|
export default ReadMore;
|
package/esm/read-more/index.js
CHANGED
|
@@ -138,6 +138,7 @@ var __generator = this && this.__generator || function (thisArg, body) {
|
|
|
138
138
|
}
|
|
139
139
|
};
|
|
140
140
|
import React, { Component } from 'react';
|
|
141
|
+
import ReactDOM from 'react-dom';
|
|
141
142
|
import classNames from 'classnames';
|
|
142
143
|
import { debounce } from '@autobest-ui/utils';
|
|
143
144
|
var ReadMore = /** @class */function (_super) {
|
|
@@ -146,6 +147,29 @@ var ReadMore = /** @class */function (_super) {
|
|
|
146
147
|
var _this = _super.call(this, props) || this;
|
|
147
148
|
_this.wrapRef = /*#__PURE__*/React.createRef();
|
|
148
149
|
_this.prefixCls = 'ab-read-more';
|
|
150
|
+
_this.getHtmlInBrowser = function () {
|
|
151
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
152
|
+
var tempDiv, html;
|
|
153
|
+
var _this = this;
|
|
154
|
+
return __generator(this, function (_a) {
|
|
155
|
+
switch (_a.label) {
|
|
156
|
+
case 0:
|
|
157
|
+
tempDiv = document.createElement('div');
|
|
158
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
159
|
+
ReactDOM.render( /*#__PURE__*/React.createElement(React.Fragment, null, _this.props.children), tempDiv, function () {
|
|
160
|
+
// 获取 HTML 内容
|
|
161
|
+
resolve(tempDiv.innerHTML);
|
|
162
|
+
});
|
|
163
|
+
})];
|
|
164
|
+
case 1:
|
|
165
|
+
html = _a.sent();
|
|
166
|
+
// 卸载并清理,防止内存泄漏
|
|
167
|
+
ReactDOM.unmountComponentAtNode(tempDiv);
|
|
168
|
+
return [2 /*return*/, html];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
};
|
|
149
173
|
_this.onResizeObserver = function () {
|
|
150
174
|
var wrapElement = _this.wrapRef.current;
|
|
151
175
|
if (!wrapElement) {
|
|
@@ -153,7 +177,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
153
177
|
}
|
|
154
178
|
var debounceCalculate = debounce(function (newWidth) {
|
|
155
179
|
if (newWidth !== _this.cacheWrapWidth) {
|
|
156
|
-
wrapElement.innerHTML = _this.originalContent;
|
|
157
180
|
_this.cacheWrapWidth = newWidth;
|
|
158
181
|
_this.delayCalculate();
|
|
159
182
|
}
|
|
@@ -163,6 +186,97 @@ var ReadMore = /** @class */function (_super) {
|
|
|
163
186
|
});
|
|
164
187
|
_this.resizeObserver.observe(wrapElement);
|
|
165
188
|
};
|
|
189
|
+
/**
|
|
190
|
+
* 计算高度并设置样式
|
|
191
|
+
*/
|
|
192
|
+
_this.delayCalculate = function () {
|
|
193
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
194
|
+
var wrapElement, _a, buttonElement, _b, wrapRect, _c, ignoreClassList, lineThreshold, lines, buttonWidth, ignoreSelector, range, treeWalker, lineCount, lastTop, targetNode, splitIndex, node, text, i, rect;
|
|
195
|
+
return __generator(this, function (_d) {
|
|
196
|
+
switch (_d.label) {
|
|
197
|
+
case 0:
|
|
198
|
+
wrapElement = this.wrapRef.current;
|
|
199
|
+
if (!wrapElement || this.props.lines < 1 || !document.createTreeWalker) {
|
|
200
|
+
this.setState({
|
|
201
|
+
wrapStyle: {
|
|
202
|
+
maxHeight: 'none'
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
return [2 /*return*/];
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if (!!this.isCollapsed) return [3 /*break*/, 2];
|
|
209
|
+
_a = wrapElement;
|
|
210
|
+
return [4 /*yield*/, this.getHtmlInBrowser()];
|
|
211
|
+
case 1:
|
|
212
|
+
_a.innerHTML = _d.sent();
|
|
213
|
+
buttonElement = this.getButtonElement(wrapElement, this.isCollapsed);
|
|
214
|
+
wrapElement.appendChild(buttonElement);
|
|
215
|
+
this.setState({
|
|
216
|
+
wrapStyle: {
|
|
217
|
+
maxHeight: 'none'
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
return [2 /*return*/];
|
|
221
|
+
case 2:
|
|
222
|
+
_b = wrapElement;
|
|
223
|
+
return [4 /*yield*/, this.getHtmlInBrowser()];
|
|
224
|
+
case 3:
|
|
225
|
+
_b.innerHTML = _d.sent();
|
|
226
|
+
wrapRect = wrapElement.getBoundingClientRect();
|
|
227
|
+
this.cacheWrapWidth = wrapRect.width;
|
|
228
|
+
_c = this.props, ignoreClassList = _c.ignoreClassList, lineThreshold = _c.lineThreshold, lines = _c.lines, buttonWidth = _c.buttonWidth;
|
|
229
|
+
ignoreSelector = (ignoreClassList || []).map(function (cls) {
|
|
230
|
+
return ".".concat(cls);
|
|
231
|
+
}).join(', ');
|
|
232
|
+
range = document.createRange();
|
|
233
|
+
treeWalker = document.createTreeWalker(wrapElement, NodeFilter.SHOW_TEXT, {
|
|
234
|
+
acceptNode: function acceptNode(node) {
|
|
235
|
+
// 如果 ignoreClassList 为空,或者当前节点不属于任何忽略名单,则接受
|
|
236
|
+
if (ignoreSelector && node.parentElement.closest(ignoreSelector)) {
|
|
237
|
+
return NodeFilter.FILTER_REJECT;
|
|
238
|
+
}
|
|
239
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
lineCount = 0;
|
|
243
|
+
lastTop = -1;
|
|
244
|
+
targetNode = null;
|
|
245
|
+
splitIndex = 0;
|
|
246
|
+
node = null;
|
|
247
|
+
while (node = treeWalker.nextNode()) {
|
|
248
|
+
text = node.textContent;
|
|
249
|
+
for (i = 0; i < text.length; i++) {
|
|
250
|
+
range.setStart(node, i);
|
|
251
|
+
range.setEnd(node, i + 1);
|
|
252
|
+
rect = range.getBoundingClientRect();
|
|
253
|
+
if (rect.height > 0) {
|
|
254
|
+
if (lastTop === -1 || Math.abs(rect.top - lastTop) > lineThreshold) {
|
|
255
|
+
lineCount++;
|
|
256
|
+
lastTop = rect.top;
|
|
257
|
+
}
|
|
258
|
+
// 仅在目标行寻找合适的截断点(空格且留够按钮位)
|
|
259
|
+
if (lineCount === lines) {
|
|
260
|
+
if ((text[i] === ' ' || text[i] === '\n') && wrapRect.right - rect.right > buttonWidth) {
|
|
261
|
+
targetNode = node;
|
|
262
|
+
splitIndex = i;
|
|
263
|
+
}
|
|
264
|
+
} else if (lineCount > lines) break;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
if (lineCount > lines) break;
|
|
268
|
+
}
|
|
269
|
+
if (!targetNode) return [3 /*break*/, 5];
|
|
270
|
+
return [4 /*yield*/, this.applyToggle(wrapElement, targetNode, splitIndex)];
|
|
271
|
+
case 4:
|
|
272
|
+
_d.sent();
|
|
273
|
+
_d.label = 5;
|
|
274
|
+
case 5:
|
|
275
|
+
return [2 /*return*/];
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
};
|
|
166
280
|
/**
|
|
167
281
|
* 创建Show More/Show Less 按钮
|
|
168
282
|
*/
|
|
@@ -179,9 +293,9 @@ var ReadMore = /** @class */function (_super) {
|
|
|
179
293
|
var self = _this;
|
|
180
294
|
btn.onclick = function (ev) {
|
|
181
295
|
return __awaiter(_this, void 0, void 0, function () {
|
|
182
|
-
var _a;
|
|
183
|
-
return __generator(this, function (
|
|
184
|
-
switch (
|
|
296
|
+
var _a, _b, _c;
|
|
297
|
+
return __generator(this, function (_d) {
|
|
298
|
+
switch (_d.label) {
|
|
185
299
|
case 0:
|
|
186
300
|
ev.stopPropagation();
|
|
187
301
|
ev.preventDefault();
|
|
@@ -189,23 +303,33 @@ var ReadMore = /** @class */function (_super) {
|
|
|
189
303
|
if (!_a) return [3 /*break*/, 2];
|
|
190
304
|
return [4 /*yield*/, self.props.onBeforeChange(!self.isCollapsed)];
|
|
191
305
|
case 1:
|
|
192
|
-
_a = !
|
|
193
|
-
|
|
306
|
+
_a = !_d.sent();
|
|
307
|
+
_d.label = 2;
|
|
194
308
|
case 2:
|
|
195
309
|
if (_a) {
|
|
196
310
|
return [2 /*return*/];
|
|
197
311
|
}
|
|
198
312
|
|
|
199
|
-
if (self.isCollapsed)
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
313
|
+
if (!self.isCollapsed) return [3 /*break*/, 4];
|
|
314
|
+
self.isCollapsed = false;
|
|
315
|
+
btn.className = "".concat(cls, "-btn ").concat(cls, "-expand");
|
|
316
|
+
_b = wrapElement;
|
|
317
|
+
return [4 /*yield*/, self.getHtmlInBrowser()];
|
|
318
|
+
case 3:
|
|
319
|
+
_b.innerHTML = _d.sent();
|
|
320
|
+
wrapElement.appendChild(btn);
|
|
321
|
+
return [3 /*break*/, 7];
|
|
322
|
+
case 4:
|
|
323
|
+
self.isCollapsed = true;
|
|
324
|
+
_c = wrapElement;
|
|
325
|
+
return [4 /*yield*/, self.getHtmlInBrowser()];
|
|
326
|
+
case 5:
|
|
327
|
+
_c.innerHTML = _d.sent();
|
|
328
|
+
return [4 /*yield*/, self.delayCalculate()];
|
|
329
|
+
case 6:
|
|
330
|
+
_d.sent();
|
|
331
|
+
_d.label = 7;
|
|
332
|
+
case 7:
|
|
209
333
|
if (self.props.onAfterChange) {
|
|
210
334
|
self.props.onAfterChange(self.isCollapsed);
|
|
211
335
|
}
|
|
@@ -218,39 +342,43 @@ var ReadMore = /** @class */function (_super) {
|
|
|
218
342
|
return btn;
|
|
219
343
|
};
|
|
220
344
|
_this.applyToggle = function (wrapElement, node, index) {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
345
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
346
|
+
var remainingTextNode, hiddenWrapper, nextSibling, current, parent, sib, currentSib, buttonElement;
|
|
347
|
+
return __generator(this, function (_a) {
|
|
348
|
+
remainingTextNode = node.splitText(index);
|
|
349
|
+
hiddenWrapper = document.createElement('div');
|
|
350
|
+
hiddenWrapper.className = "".concat(this.prefixCls, "-hidden");
|
|
351
|
+
nextSibling = remainingTextNode;
|
|
352
|
+
while (nextSibling) {
|
|
353
|
+
current = nextSibling;
|
|
354
|
+
nextSibling = nextSibling.nextSibling;
|
|
355
|
+
hiddenWrapper.appendChild(current);
|
|
356
|
+
// appendChild 会将节点从原位置移动到 hiddenWrapper 中,而不销毁
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
parent = node.parentNode;
|
|
360
|
+
while (parent && parent !== wrapElement) {
|
|
361
|
+
sib = parent.nextSibling;
|
|
362
|
+
while (sib) {
|
|
363
|
+
currentSib = sib;
|
|
364
|
+
sib = sib.nextSibling;
|
|
365
|
+
hiddenWrapper.appendChild(currentSib);
|
|
366
|
+
}
|
|
367
|
+
parent = parent.parentNode;
|
|
368
|
+
}
|
|
369
|
+
buttonElement = this.getButtonElement(wrapElement, true);
|
|
370
|
+
node.parentNode.insertBefore(buttonElement, node.nextSibling);
|
|
371
|
+
wrapElement.appendChild(hiddenWrapper);
|
|
372
|
+
this.setState({
|
|
373
|
+
wrapStyle: {
|
|
374
|
+
maxHeight: 'none'
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
return [2 /*return*/];
|
|
378
|
+
});
|
|
252
379
|
});
|
|
253
380
|
};
|
|
381
|
+
|
|
254
382
|
_this.isCollapsed = props.lines >= 1 && props.defaultCollapsed;
|
|
255
383
|
_this.state = {
|
|
256
384
|
wrapStyle: {
|
|
@@ -264,7 +392,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
264
392
|
if (!wrapElement) {
|
|
265
393
|
return;
|
|
266
394
|
}
|
|
267
|
-
this.originalContent = wrapElement.innerHTML;
|
|
268
395
|
if (!this.isCollapsed) {
|
|
269
396
|
var buttonElement = this.getButtonElement(wrapElement, false);
|
|
270
397
|
wrapElement.appendChild(buttonElement);
|
|
@@ -281,7 +408,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
281
408
|
};
|
|
282
409
|
ReadMore.prototype.componentDidUpdate = function (prevProps) {
|
|
283
410
|
if (this.props.children !== prevProps.children || this.props.lines !== prevProps.lines) {
|
|
284
|
-
this.originalContent = this.wrapRef.current ? this.wrapRef.current.innerHTML : '';
|
|
285
411
|
// 执行render,并且跳过shouldComponentUpdate
|
|
286
412
|
this.delayCalculate();
|
|
287
413
|
}
|
|
@@ -291,72 +417,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
291
417
|
this.resizeObserver.unobserve(this.wrapRef.current);
|
|
292
418
|
}
|
|
293
419
|
};
|
|
294
|
-
/**
|
|
295
|
-
* 计算高度并设置样式
|
|
296
|
-
*/
|
|
297
|
-
ReadMore.prototype.delayCalculate = function () {
|
|
298
|
-
var wrapElement = this.wrapRef.current;
|
|
299
|
-
if (!this.isCollapsed || this.props.lines < 1 || !wrapElement || !document.createTreeWalker) {
|
|
300
|
-
this.setState({
|
|
301
|
-
wrapStyle: {
|
|
302
|
-
maxHeight: 'none'
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
var wrapRect = wrapElement.getBoundingClientRect();
|
|
308
|
-
this.cacheWrapWidth = wrapRect.width;
|
|
309
|
-
var _a = this.props,
|
|
310
|
-
ignoreClassList = _a.ignoreClassList,
|
|
311
|
-
lineThreshold = _a.lineThreshold,
|
|
312
|
-
lines = _a.lines,
|
|
313
|
-
buttonWidth = _a.buttonWidth;
|
|
314
|
-
// 将数组转换为选择器字符串: ".ignore-text1, .ignore-text2"
|
|
315
|
-
var ignoreSelector = (ignoreClassList || []).map(function (cls) {
|
|
316
|
-
return ".".concat(cls);
|
|
317
|
-
}).join(', ');
|
|
318
|
-
var range = document.createRange();
|
|
319
|
-
var treeWalker = document.createTreeWalker(wrapElement, NodeFilter.SHOW_TEXT, {
|
|
320
|
-
acceptNode: function acceptNode(node) {
|
|
321
|
-
// 如果 ignoreClassList 为空,或者当前节点不属于任何忽略名单,则接受
|
|
322
|
-
if (ignoreSelector && node.parentElement.closest(ignoreSelector)) {
|
|
323
|
-
return NodeFilter.FILTER_REJECT;
|
|
324
|
-
}
|
|
325
|
-
return NodeFilter.FILTER_ACCEPT;
|
|
326
|
-
}
|
|
327
|
-
});
|
|
328
|
-
var lineCount = 0;
|
|
329
|
-
var lastTop = -1;
|
|
330
|
-
var targetNode = null;
|
|
331
|
-
var splitIndex = 0;
|
|
332
|
-
// 1. 寻找第 targetLine 行的末尾空格位置
|
|
333
|
-
var node = null;
|
|
334
|
-
while (node = treeWalker.nextNode()) {
|
|
335
|
-
var text = node.textContent;
|
|
336
|
-
for (var i = 0; i < text.length; i++) {
|
|
337
|
-
range.setStart(node, i);
|
|
338
|
-
range.setEnd(node, i + 1);
|
|
339
|
-
var rect = range.getBoundingClientRect();
|
|
340
|
-
if (rect.height > 0) {
|
|
341
|
-
if (lastTop === -1 || Math.abs(rect.top - lastTop) > lineThreshold) {
|
|
342
|
-
lineCount++;
|
|
343
|
-
lastTop = rect.top;
|
|
344
|
-
}
|
|
345
|
-
// 仅在目标行寻找合适的截断点(空格且留够按钮位)
|
|
346
|
-
if (lineCount === lines) {
|
|
347
|
-
if ((text[i] === ' ' || text[i] === '\n') && wrapRect.right - rect.right > buttonWidth) {
|
|
348
|
-
targetNode = node;
|
|
349
|
-
splitIndex = i;
|
|
350
|
-
}
|
|
351
|
-
} else if (lineCount > lines) break;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
if (lineCount > lines) break;
|
|
355
|
-
}
|
|
356
|
-
if (targetNode) {
|
|
357
|
-
this.applyToggle(wrapElement, targetNode, splitIndex);
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
420
|
ReadMore.prototype.render = function () {
|
|
361
421
|
var cls = this.prefixCls;
|
|
362
422
|
var _a = this.props,
|
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-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-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-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.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-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-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-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-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-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-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-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-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-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-move{cursor:move;visibility:hidden;transform-origin:center center}.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-rdm-html,.ab-rdm-html-content{overflow:hidden}.ab-rdm-html-collapse::after,.ab-rdm-html-expand::after{white-space:nowrap;line-height:.18rem;display:block;padding-top:.02rem;cursor:pointer;text-decoration:underline}.ab-rdm-html-collapse::after{content:attr(data-expand)}.ab-rdm-html-expand::after{content:attr(data-collapse)}.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-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{white-space:nowrap;color:#4068b0;cursor:pointer}.ab-read-more-collapse::after{content:" " attr(data-expand)}.ab-read-more-expand::after{content:" " attr(data-collapse)}.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-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-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-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-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.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-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-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-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-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-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-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-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-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-move{cursor:move;visibility:hidden;transform-origin:center center}.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-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{white-space:nowrap;color:#4068b0;cursor:pointer}.ab-read-more-collapse::after{content:" " attr(data-expand)}.ab-read-more-expand::after{content:" " attr(data-collapse)}.ab-rdm-html,.ab-rdm-html-content{overflow:hidden}.ab-rdm-html-collapse::after,.ab-rdm-html-expand::after{white-space:nowrap;line-height:.18rem;display:block;padding-top:.02rem;cursor:pointer;text-decoration:underline}.ab-rdm-html-collapse::after{content:attr(data-expand)}.ab-rdm-html-expand::after{content:attr(data-collapse)}.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-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-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-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}
|
package/lib/read-more/index.d.ts
CHANGED
|
@@ -70,23 +70,23 @@ declare class ReadMore extends Component<ReadMoreProps, ReadMoreState> {
|
|
|
70
70
|
cacheWrapWidth: number;
|
|
71
71
|
isCollapsed: boolean;
|
|
72
72
|
resizeObserver: ResizeObserver;
|
|
73
|
-
originalContent: string;
|
|
74
73
|
wrapRef: React.RefObject<HTMLDivElement>;
|
|
75
74
|
prefixCls: string;
|
|
76
75
|
constructor(props: ReadMoreProps);
|
|
77
76
|
componentDidMount(): void;
|
|
78
77
|
componentDidUpdate(prevProps: ReadMoreProps): void;
|
|
79
78
|
componentWillUnmount(): void;
|
|
79
|
+
getHtmlInBrowser: () => Promise<string>;
|
|
80
80
|
onResizeObserver: () => void;
|
|
81
81
|
/**
|
|
82
82
|
* 计算高度并设置样式
|
|
83
83
|
*/
|
|
84
|
-
delayCalculate()
|
|
84
|
+
delayCalculate: () => Promise<void>;
|
|
85
85
|
/**
|
|
86
86
|
* 创建Show More/Show Less 按钮
|
|
87
87
|
*/
|
|
88
88
|
getButtonElement: (wrapElement: HTMLDivElement, isCollapsed: boolean) => HTMLSpanElement;
|
|
89
|
-
applyToggle: (wrapElement: HTMLDivElement, node: any, index: number) => void
|
|
89
|
+
applyToggle: (wrapElement: HTMLDivElement, node: any, index: number) => Promise<void>;
|
|
90
90
|
render(): JSX.Element;
|
|
91
91
|
}
|
|
92
92
|
export default ReadMore;
|
package/lib/read-more/index.js
CHANGED
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
12
|
var _utils = require("@autobest-ui/utils");
|
|
12
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -156,6 +157,29 @@ var ReadMore = /** @class */function (_super) {
|
|
|
156
157
|
var _this = _super.call(this, props) || this;
|
|
157
158
|
_this.wrapRef = /*#__PURE__*/_react.default.createRef();
|
|
158
159
|
_this.prefixCls = 'ab-read-more';
|
|
160
|
+
_this.getHtmlInBrowser = function () {
|
|
161
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
162
|
+
var tempDiv, html;
|
|
163
|
+
var _this = this;
|
|
164
|
+
return __generator(this, function (_a) {
|
|
165
|
+
switch (_a.label) {
|
|
166
|
+
case 0:
|
|
167
|
+
tempDiv = document.createElement('div');
|
|
168
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
169
|
+
_reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _this.props.children), tempDiv, function () {
|
|
170
|
+
// 获取 HTML 内容
|
|
171
|
+
resolve(tempDiv.innerHTML);
|
|
172
|
+
});
|
|
173
|
+
})];
|
|
174
|
+
case 1:
|
|
175
|
+
html = _a.sent();
|
|
176
|
+
// 卸载并清理,防止内存泄漏
|
|
177
|
+
_reactDom.default.unmountComponentAtNode(tempDiv);
|
|
178
|
+
return [2 /*return*/, html];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
};
|
|
159
183
|
_this.onResizeObserver = function () {
|
|
160
184
|
var wrapElement = _this.wrapRef.current;
|
|
161
185
|
if (!wrapElement) {
|
|
@@ -163,7 +187,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
163
187
|
}
|
|
164
188
|
var debounceCalculate = (0, _utils.debounce)(function (newWidth) {
|
|
165
189
|
if (newWidth !== _this.cacheWrapWidth) {
|
|
166
|
-
wrapElement.innerHTML = _this.originalContent;
|
|
167
190
|
_this.cacheWrapWidth = newWidth;
|
|
168
191
|
_this.delayCalculate();
|
|
169
192
|
}
|
|
@@ -173,6 +196,97 @@ var ReadMore = /** @class */function (_super) {
|
|
|
173
196
|
});
|
|
174
197
|
_this.resizeObserver.observe(wrapElement);
|
|
175
198
|
};
|
|
199
|
+
/**
|
|
200
|
+
* 计算高度并设置样式
|
|
201
|
+
*/
|
|
202
|
+
_this.delayCalculate = function () {
|
|
203
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
204
|
+
var wrapElement, _a, buttonElement, _b, wrapRect, _c, ignoreClassList, lineThreshold, lines, buttonWidth, ignoreSelector, range, treeWalker, lineCount, lastTop, targetNode, splitIndex, node, text, i, rect;
|
|
205
|
+
return __generator(this, function (_d) {
|
|
206
|
+
switch (_d.label) {
|
|
207
|
+
case 0:
|
|
208
|
+
wrapElement = this.wrapRef.current;
|
|
209
|
+
if (!wrapElement || this.props.lines < 1 || !document.createTreeWalker) {
|
|
210
|
+
this.setState({
|
|
211
|
+
wrapStyle: {
|
|
212
|
+
maxHeight: 'none'
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
return [2 /*return*/];
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
if (!!this.isCollapsed) return [3 /*break*/, 2];
|
|
219
|
+
_a = wrapElement;
|
|
220
|
+
return [4 /*yield*/, this.getHtmlInBrowser()];
|
|
221
|
+
case 1:
|
|
222
|
+
_a.innerHTML = _d.sent();
|
|
223
|
+
buttonElement = this.getButtonElement(wrapElement, this.isCollapsed);
|
|
224
|
+
wrapElement.appendChild(buttonElement);
|
|
225
|
+
this.setState({
|
|
226
|
+
wrapStyle: {
|
|
227
|
+
maxHeight: 'none'
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
return [2 /*return*/];
|
|
231
|
+
case 2:
|
|
232
|
+
_b = wrapElement;
|
|
233
|
+
return [4 /*yield*/, this.getHtmlInBrowser()];
|
|
234
|
+
case 3:
|
|
235
|
+
_b.innerHTML = _d.sent();
|
|
236
|
+
wrapRect = wrapElement.getBoundingClientRect();
|
|
237
|
+
this.cacheWrapWidth = wrapRect.width;
|
|
238
|
+
_c = this.props, ignoreClassList = _c.ignoreClassList, lineThreshold = _c.lineThreshold, lines = _c.lines, buttonWidth = _c.buttonWidth;
|
|
239
|
+
ignoreSelector = (ignoreClassList || []).map(function (cls) {
|
|
240
|
+
return ".".concat(cls);
|
|
241
|
+
}).join(', ');
|
|
242
|
+
range = document.createRange();
|
|
243
|
+
treeWalker = document.createTreeWalker(wrapElement, NodeFilter.SHOW_TEXT, {
|
|
244
|
+
acceptNode: function acceptNode(node) {
|
|
245
|
+
// 如果 ignoreClassList 为空,或者当前节点不属于任何忽略名单,则接受
|
|
246
|
+
if (ignoreSelector && node.parentElement.closest(ignoreSelector)) {
|
|
247
|
+
return NodeFilter.FILTER_REJECT;
|
|
248
|
+
}
|
|
249
|
+
return NodeFilter.FILTER_ACCEPT;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
lineCount = 0;
|
|
253
|
+
lastTop = -1;
|
|
254
|
+
targetNode = null;
|
|
255
|
+
splitIndex = 0;
|
|
256
|
+
node = null;
|
|
257
|
+
while (node = treeWalker.nextNode()) {
|
|
258
|
+
text = node.textContent;
|
|
259
|
+
for (i = 0; i < text.length; i++) {
|
|
260
|
+
range.setStart(node, i);
|
|
261
|
+
range.setEnd(node, i + 1);
|
|
262
|
+
rect = range.getBoundingClientRect();
|
|
263
|
+
if (rect.height > 0) {
|
|
264
|
+
if (lastTop === -1 || Math.abs(rect.top - lastTop) > lineThreshold) {
|
|
265
|
+
lineCount++;
|
|
266
|
+
lastTop = rect.top;
|
|
267
|
+
}
|
|
268
|
+
// 仅在目标行寻找合适的截断点(空格且留够按钮位)
|
|
269
|
+
if (lineCount === lines) {
|
|
270
|
+
if ((text[i] === ' ' || text[i] === '\n') && wrapRect.right - rect.right > buttonWidth) {
|
|
271
|
+
targetNode = node;
|
|
272
|
+
splitIndex = i;
|
|
273
|
+
}
|
|
274
|
+
} else if (lineCount > lines) break;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (lineCount > lines) break;
|
|
278
|
+
}
|
|
279
|
+
if (!targetNode) return [3 /*break*/, 5];
|
|
280
|
+
return [4 /*yield*/, this.applyToggle(wrapElement, targetNode, splitIndex)];
|
|
281
|
+
case 4:
|
|
282
|
+
_d.sent();
|
|
283
|
+
_d.label = 5;
|
|
284
|
+
case 5:
|
|
285
|
+
return [2 /*return*/];
|
|
286
|
+
}
|
|
287
|
+
});
|
|
288
|
+
});
|
|
289
|
+
};
|
|
176
290
|
/**
|
|
177
291
|
* 创建Show More/Show Less 按钮
|
|
178
292
|
*/
|
|
@@ -189,9 +303,9 @@ var ReadMore = /** @class */function (_super) {
|
|
|
189
303
|
var self = _this;
|
|
190
304
|
btn.onclick = function (ev) {
|
|
191
305
|
return __awaiter(_this, void 0, void 0, function () {
|
|
192
|
-
var _a;
|
|
193
|
-
return __generator(this, function (
|
|
194
|
-
switch (
|
|
306
|
+
var _a, _b, _c;
|
|
307
|
+
return __generator(this, function (_d) {
|
|
308
|
+
switch (_d.label) {
|
|
195
309
|
case 0:
|
|
196
310
|
ev.stopPropagation();
|
|
197
311
|
ev.preventDefault();
|
|
@@ -199,23 +313,33 @@ var ReadMore = /** @class */function (_super) {
|
|
|
199
313
|
if (!_a) return [3 /*break*/, 2];
|
|
200
314
|
return [4 /*yield*/, self.props.onBeforeChange(!self.isCollapsed)];
|
|
201
315
|
case 1:
|
|
202
|
-
_a = !
|
|
203
|
-
|
|
316
|
+
_a = !_d.sent();
|
|
317
|
+
_d.label = 2;
|
|
204
318
|
case 2:
|
|
205
319
|
if (_a) {
|
|
206
320
|
return [2 /*return*/];
|
|
207
321
|
}
|
|
208
322
|
|
|
209
|
-
if (self.isCollapsed)
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
323
|
+
if (!self.isCollapsed) return [3 /*break*/, 4];
|
|
324
|
+
self.isCollapsed = false;
|
|
325
|
+
btn.className = "".concat(cls, "-btn ").concat(cls, "-expand");
|
|
326
|
+
_b = wrapElement;
|
|
327
|
+
return [4 /*yield*/, self.getHtmlInBrowser()];
|
|
328
|
+
case 3:
|
|
329
|
+
_b.innerHTML = _d.sent();
|
|
330
|
+
wrapElement.appendChild(btn);
|
|
331
|
+
return [3 /*break*/, 7];
|
|
332
|
+
case 4:
|
|
333
|
+
self.isCollapsed = true;
|
|
334
|
+
_c = wrapElement;
|
|
335
|
+
return [4 /*yield*/, self.getHtmlInBrowser()];
|
|
336
|
+
case 5:
|
|
337
|
+
_c.innerHTML = _d.sent();
|
|
338
|
+
return [4 /*yield*/, self.delayCalculate()];
|
|
339
|
+
case 6:
|
|
340
|
+
_d.sent();
|
|
341
|
+
_d.label = 7;
|
|
342
|
+
case 7:
|
|
219
343
|
if (self.props.onAfterChange) {
|
|
220
344
|
self.props.onAfterChange(self.isCollapsed);
|
|
221
345
|
}
|
|
@@ -228,39 +352,43 @@ var ReadMore = /** @class */function (_super) {
|
|
|
228
352
|
return btn;
|
|
229
353
|
};
|
|
230
354
|
_this.applyToggle = function (wrapElement, node, index) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
355
|
+
return __awaiter(_this, void 0, void 0, function () {
|
|
356
|
+
var remainingTextNode, hiddenWrapper, nextSibling, current, parent, sib, currentSib, buttonElement;
|
|
357
|
+
return __generator(this, function (_a) {
|
|
358
|
+
remainingTextNode = node.splitText(index);
|
|
359
|
+
hiddenWrapper = document.createElement('div');
|
|
360
|
+
hiddenWrapper.className = "".concat(this.prefixCls, "-hidden");
|
|
361
|
+
nextSibling = remainingTextNode;
|
|
362
|
+
while (nextSibling) {
|
|
363
|
+
current = nextSibling;
|
|
364
|
+
nextSibling = nextSibling.nextSibling;
|
|
365
|
+
hiddenWrapper.appendChild(current);
|
|
366
|
+
// appendChild 会将节点从原位置移动到 hiddenWrapper 中,而不销毁
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
parent = node.parentNode;
|
|
370
|
+
while (parent && parent !== wrapElement) {
|
|
371
|
+
sib = parent.nextSibling;
|
|
372
|
+
while (sib) {
|
|
373
|
+
currentSib = sib;
|
|
374
|
+
sib = sib.nextSibling;
|
|
375
|
+
hiddenWrapper.appendChild(currentSib);
|
|
376
|
+
}
|
|
377
|
+
parent = parent.parentNode;
|
|
378
|
+
}
|
|
379
|
+
buttonElement = this.getButtonElement(wrapElement, true);
|
|
380
|
+
node.parentNode.insertBefore(buttonElement, node.nextSibling);
|
|
381
|
+
wrapElement.appendChild(hiddenWrapper);
|
|
382
|
+
this.setState({
|
|
383
|
+
wrapStyle: {
|
|
384
|
+
maxHeight: 'none'
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
return [2 /*return*/];
|
|
388
|
+
});
|
|
262
389
|
});
|
|
263
390
|
};
|
|
391
|
+
|
|
264
392
|
_this.isCollapsed = props.lines >= 1 && props.defaultCollapsed;
|
|
265
393
|
_this.state = {
|
|
266
394
|
wrapStyle: {
|
|
@@ -274,7 +402,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
274
402
|
if (!wrapElement) {
|
|
275
403
|
return;
|
|
276
404
|
}
|
|
277
|
-
this.originalContent = wrapElement.innerHTML;
|
|
278
405
|
if (!this.isCollapsed) {
|
|
279
406
|
var buttonElement = this.getButtonElement(wrapElement, false);
|
|
280
407
|
wrapElement.appendChild(buttonElement);
|
|
@@ -291,7 +418,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
291
418
|
};
|
|
292
419
|
ReadMore.prototype.componentDidUpdate = function (prevProps) {
|
|
293
420
|
if (this.props.children !== prevProps.children || this.props.lines !== prevProps.lines) {
|
|
294
|
-
this.originalContent = this.wrapRef.current ? this.wrapRef.current.innerHTML : '';
|
|
295
421
|
// 执行render,并且跳过shouldComponentUpdate
|
|
296
422
|
this.delayCalculate();
|
|
297
423
|
}
|
|
@@ -301,72 +427,6 @@ var ReadMore = /** @class */function (_super) {
|
|
|
301
427
|
this.resizeObserver.unobserve(this.wrapRef.current);
|
|
302
428
|
}
|
|
303
429
|
};
|
|
304
|
-
/**
|
|
305
|
-
* 计算高度并设置样式
|
|
306
|
-
*/
|
|
307
|
-
ReadMore.prototype.delayCalculate = function () {
|
|
308
|
-
var wrapElement = this.wrapRef.current;
|
|
309
|
-
if (!this.isCollapsed || this.props.lines < 1 || !wrapElement || !document.createTreeWalker) {
|
|
310
|
-
this.setState({
|
|
311
|
-
wrapStyle: {
|
|
312
|
-
maxHeight: 'none'
|
|
313
|
-
}
|
|
314
|
-
});
|
|
315
|
-
return;
|
|
316
|
-
}
|
|
317
|
-
var wrapRect = wrapElement.getBoundingClientRect();
|
|
318
|
-
this.cacheWrapWidth = wrapRect.width;
|
|
319
|
-
var _a = this.props,
|
|
320
|
-
ignoreClassList = _a.ignoreClassList,
|
|
321
|
-
lineThreshold = _a.lineThreshold,
|
|
322
|
-
lines = _a.lines,
|
|
323
|
-
buttonWidth = _a.buttonWidth;
|
|
324
|
-
// 将数组转换为选择器字符串: ".ignore-text1, .ignore-text2"
|
|
325
|
-
var ignoreSelector = (ignoreClassList || []).map(function (cls) {
|
|
326
|
-
return ".".concat(cls);
|
|
327
|
-
}).join(', ');
|
|
328
|
-
var range = document.createRange();
|
|
329
|
-
var treeWalker = document.createTreeWalker(wrapElement, NodeFilter.SHOW_TEXT, {
|
|
330
|
-
acceptNode: function acceptNode(node) {
|
|
331
|
-
// 如果 ignoreClassList 为空,或者当前节点不属于任何忽略名单,则接受
|
|
332
|
-
if (ignoreSelector && node.parentElement.closest(ignoreSelector)) {
|
|
333
|
-
return NodeFilter.FILTER_REJECT;
|
|
334
|
-
}
|
|
335
|
-
return NodeFilter.FILTER_ACCEPT;
|
|
336
|
-
}
|
|
337
|
-
});
|
|
338
|
-
var lineCount = 0;
|
|
339
|
-
var lastTop = -1;
|
|
340
|
-
var targetNode = null;
|
|
341
|
-
var splitIndex = 0;
|
|
342
|
-
// 1. 寻找第 targetLine 行的末尾空格位置
|
|
343
|
-
var node = null;
|
|
344
|
-
while (node = treeWalker.nextNode()) {
|
|
345
|
-
var text = node.textContent;
|
|
346
|
-
for (var i = 0; i < text.length; i++) {
|
|
347
|
-
range.setStart(node, i);
|
|
348
|
-
range.setEnd(node, i + 1);
|
|
349
|
-
var rect = range.getBoundingClientRect();
|
|
350
|
-
if (rect.height > 0) {
|
|
351
|
-
if (lastTop === -1 || Math.abs(rect.top - lastTop) > lineThreshold) {
|
|
352
|
-
lineCount++;
|
|
353
|
-
lastTop = rect.top;
|
|
354
|
-
}
|
|
355
|
-
// 仅在目标行寻找合适的截断点(空格且留够按钮位)
|
|
356
|
-
if (lineCount === lines) {
|
|
357
|
-
if ((text[i] === ' ' || text[i] === '\n') && wrapRect.right - rect.right > buttonWidth) {
|
|
358
|
-
targetNode = node;
|
|
359
|
-
splitIndex = i;
|
|
360
|
-
}
|
|
361
|
-
} else if (lineCount > lines) break;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
if (lineCount > lines) break;
|
|
365
|
-
}
|
|
366
|
-
if (targetNode) {
|
|
367
|
-
this.applyToggle(wrapElement, targetNode, splitIndex);
|
|
368
|
-
}
|
|
369
|
-
};
|
|
370
430
|
ReadMore.prototype.render = function () {
|
|
371
431
|
var cls = this.prefixCls;
|
|
372
432
|
var _a = this.props,
|
package/lib/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-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-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-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.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-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-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-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-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-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-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-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-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-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-move{cursor:move;visibility:hidden;transform-origin:center center}.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-rdm-html,.ab-rdm-html-content{overflow:hidden}.ab-rdm-html-collapse::after,.ab-rdm-html-expand::after{white-space:nowrap;line-height:.18rem;display:block;padding-top:.02rem;cursor:pointer;text-decoration:underline}.ab-rdm-html-collapse::after{content:attr(data-expand)}.ab-rdm-html-expand::after{content:attr(data-collapse)}.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-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{white-space:nowrap;color:#4068b0;cursor:pointer}.ab-read-more-collapse::after{content:" " attr(data-expand)}.ab-read-more-expand::after{content:" " attr(data-collapse)}.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-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-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-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-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.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-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-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-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-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-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-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-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-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-move{cursor:move;visibility:hidden;transform-origin:center center}.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-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{white-space:nowrap;color:#4068b0;cursor:pointer}.ab-read-more-collapse::after{content:" " attr(data-expand)}.ab-read-more-expand::after{content:" " attr(data-collapse)}.ab-rdm-html,.ab-rdm-html-content{overflow:hidden}.ab-rdm-html-collapse::after,.ab-rdm-html-expand::after{white-space:nowrap;line-height:.18rem;display:block;padding-top:.02rem;cursor:pointer;text-decoration:underline}.ab-rdm-html-collapse::after{content:attr(data-expand)}.ab-rdm-html-expand::after{content:attr(data-collapse)}.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-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-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-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}
|