@autobest-ui/components 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/esm/carousel/index.d.ts +13 -21
  2. package/esm/carousel/index.js +44 -77
  3. package/esm/carousel/style/index.css +1 -1
  4. package/esm/carousel/style/index.scss +1 -7
  5. package/esm/date-picker/calendar/grid/index.css +1 -1
  6. package/esm/date-picker/calendar/grid/index.js +17 -27
  7. package/esm/date-picker/calendar/grid/index.scss +4 -0
  8. package/esm/date-picker/calendar/index.d.ts +4 -0
  9. package/esm/date-picker/calendar/index.js +1 -1
  10. package/esm/date-picker/index.d.ts +17 -6
  11. package/esm/date-picker/index.js +62 -17
  12. package/esm/date-picker/style/index.css +1 -1
  13. package/esm/date-picker/style/index.js +0 -2
  14. package/esm/date-picker/style/index.scss +6 -1
  15. package/esm/index.d.ts +3 -4
  16. package/esm/index.js +0 -1
  17. package/esm/input-number/index.d.ts +30 -17
  18. package/esm/input-number/index.js +116 -36
  19. package/esm/style.css +9 -24
  20. package/esm/table/body/BodyRow.d.ts +9 -3
  21. package/esm/table/body/BodyRow.js +6 -2
  22. package/esm/table/body/index.d.ts +2 -2
  23. package/esm/table/body/index.js +8 -7
  24. package/esm/table/header/HeaderCell.d.ts +2 -2
  25. package/esm/table/header/HeaderCell.js +15 -7
  26. package/esm/table/header/HeaderRow.d.ts +2 -2
  27. package/esm/table/index.d.ts +4 -4
  28. package/esm/table/index.js +3 -3
  29. package/esm/table/interface.d.ts +9 -3
  30. package/esm/table/style/index.css +1 -1
  31. package/esm/table/style/index.js +0 -2
  32. package/esm/table/style/index.scss +2 -0
  33. package/lib/carousel/index.d.ts +13 -21
  34. package/lib/carousel/index.js +45 -80
  35. package/lib/carousel/style/index.css +1 -1
  36. package/lib/carousel/style/index.scss +1 -7
  37. package/lib/date-picker/calendar/grid/index.css +1 -1
  38. package/lib/date-picker/calendar/grid/index.js +17 -28
  39. package/lib/date-picker/calendar/grid/index.scss +4 -0
  40. package/lib/date-picker/calendar/index.d.ts +4 -0
  41. package/lib/date-picker/calendar/index.js +1 -1
  42. package/lib/date-picker/index.d.ts +17 -6
  43. package/lib/date-picker/index.js +61 -17
  44. package/lib/date-picker/style/index.css +1 -1
  45. package/lib/date-picker/style/index.js +0 -2
  46. package/lib/date-picker/style/index.scss +6 -1
  47. package/lib/index.d.ts +3 -4
  48. package/lib/index.js +0 -8
  49. package/lib/input-number/index.d.ts +30 -17
  50. package/lib/input-number/index.js +116 -36
  51. package/lib/style.css +9 -24
  52. package/lib/table/body/BodyRow.d.ts +9 -3
  53. package/lib/table/body/BodyRow.js +6 -2
  54. package/lib/table/body/index.d.ts +2 -2
  55. package/lib/table/body/index.js +8 -7
  56. package/lib/table/header/HeaderCell.d.ts +2 -2
  57. package/lib/table/header/HeaderCell.js +15 -8
  58. package/lib/table/header/HeaderRow.d.ts +2 -2
  59. package/lib/table/index.d.ts +4 -4
  60. package/lib/table/index.js +3 -3
  61. package/lib/table/interface.d.ts +9 -3
  62. package/lib/table/style/index.css +1 -1
  63. package/lib/table/style/index.js +0 -2
  64. package/lib/table/style/index.scss +2 -0
  65. package/package.json +2 -2
  66. package/esm/accordion/__stories__/style.css +0 -1
  67. package/esm/accordion/__stories__/style.scss +0 -59
  68. package/esm/affix/__stories__/style.css +0 -1
  69. package/esm/affix/__stories__/style.scss +0 -13
  70. package/esm/carousel/__stories__/style.css +0 -1
  71. package/esm/carousel/__stories__/style.scss +0 -41
  72. package/esm/collapse/__stories__/style.css +0 -1
  73. package/esm/collapse/__stories__/style.scss +0 -19
  74. package/esm/guide/__stories__/style.css +0 -1
  75. package/esm/guide/__stories__/style.scss +0 -14
  76. package/esm/icon/__stories__/iconNames.d.ts +0 -2
  77. package/esm/icon/__stories__/iconNames.js +0 -1
  78. package/esm/icon/__stories__/style.css +0 -1
  79. package/esm/icon/__stories__/style.scss +0 -40
  80. package/esm/icon/index.d.ts +0 -43
  81. package/esm/icon/index.js +0 -94
  82. package/esm/icon/style/index.css +0 -1
  83. package/esm/icon/style/index.d.ts +0 -1
  84. package/esm/icon/style/index.js +0 -5
  85. package/esm/icon/style/index.scss +0 -7
  86. package/esm/lazy-image/__stories__/style.css +0 -1
  87. package/esm/lazy-image/__stories__/style.scss +0 -9
  88. package/esm/loading-container/__stories__/style.css +0 -1
  89. package/esm/loading-container/__stories__/style.scss +0 -6
  90. package/esm/move/__stories__/style.css +0 -1
  91. package/esm/move/__stories__/style.scss +0 -6
  92. package/esm/popover/__stories__/style.css +0 -1
  93. package/esm/popover/__stories__/style.scss +0 -16
  94. package/esm/select/__stories__/style.css +0 -1
  95. package/esm/select/__stories__/style.scss +0 -8
  96. package/esm/skeleton/__stories__/style.css +0 -1
  97. package/esm/skeleton/__stories__/style.scss +0 -3
  98. package/esm/table/__stories__/style.css +0 -1
  99. package/esm/table/__stories__/style.scss +0 -34
  100. package/esm/tabs/__stories__/style.css +0 -1
  101. package/esm/tabs/__stories__/style.scss +0 -8
  102. package/lib/accordion/__stories__/style.css +0 -1
  103. package/lib/accordion/__stories__/style.scss +0 -59
  104. package/lib/affix/__stories__/style.css +0 -1
  105. package/lib/affix/__stories__/style.scss +0 -13
  106. package/lib/carousel/__stories__/style.css +0 -1
  107. package/lib/carousel/__stories__/style.scss +0 -41
  108. package/lib/collapse/__stories__/style.css +0 -1
  109. package/lib/collapse/__stories__/style.scss +0 -19
  110. package/lib/guide/__stories__/style.css +0 -1
  111. package/lib/guide/__stories__/style.scss +0 -14
  112. package/lib/icon/__stories__/iconNames.d.ts +0 -2
  113. package/lib/icon/__stories__/iconNames.js +0 -8
  114. package/lib/icon/__stories__/style.css +0 -1
  115. package/lib/icon/__stories__/style.scss +0 -40
  116. package/lib/icon/index.d.ts +0 -43
  117. package/lib/icon/index.js +0 -111
  118. package/lib/icon/style/index.css +0 -1
  119. package/lib/icon/style/index.d.ts +0 -1
  120. package/lib/icon/style/index.js +0 -7
  121. package/lib/icon/style/index.scss +0 -7
  122. package/lib/lazy-image/__stories__/style.css +0 -1
  123. package/lib/lazy-image/__stories__/style.scss +0 -9
  124. package/lib/loading-container/__stories__/style.css +0 -1
  125. package/lib/loading-container/__stories__/style.scss +0 -6
  126. package/lib/move/__stories__/style.css +0 -1
  127. package/lib/move/__stories__/style.scss +0 -6
  128. package/lib/popover/__stories__/style.css +0 -1
  129. package/lib/popover/__stories__/style.scss +0 -16
  130. package/lib/select/__stories__/style.css +0 -1
  131. package/lib/select/__stories__/style.scss +0 -8
  132. package/lib/skeleton/__stories__/style.css +0 -1
  133. package/lib/skeleton/__stories__/style.scss +0 -3
  134. package/lib/table/__stories__/style.css +0 -1
  135. package/lib/table/__stories__/style.scss +0 -34
  136. package/lib/tabs/__stories__/style.css +0 -1
  137. package/lib/tabs/__stories__/style.scss +0 -8
@@ -7,7 +7,5 @@ if (canUseDOM) {
7
7
 
8
8
  require('../calendar/grid/index.scss');
9
9
 
10
- require('../../icon/style/index');
11
-
12
10
  require('../../popover/style/index');
13
11
  }
@@ -8,12 +8,17 @@ $namespace: ab-date-picker;
8
8
  font-size: .14rem;
9
9
  padding: .04rem;
10
10
  width: 1.44rem;
11
+
12
+ &.#{$namespace}-error {
13
+ background: #fffacd;
14
+ }
11
15
  }
12
16
 
13
17
  &-icon {
18
+ color: #606060;
14
19
  position: absolute;
15
20
  right: 0.05rem;
16
21
  top: 50%;
17
22
  transform: translateY(-50%);
18
23
  }
19
- }
24
+ }
package/esm/index.d.ts CHANGED
@@ -11,8 +11,6 @@ export type { PopoverPlacement, PopoverTriggerType, PopoverProps } from './popov
11
11
  export { default as Popover } from './popover';
12
12
  export type { TooltipProps, TooltipPlacement, TooltipTriggerType } from './tooltip';
13
13
  export { default as Tooltip } from './tooltip';
14
- export type { IconProps } from './icon';
15
- export { default as Icon } from './icon';
16
14
  export type { SkeletonProps } from './skeleton';
17
15
  export { default as Skeleton } from './skeleton';
18
16
  export type { MoveProps } from './move';
@@ -25,7 +23,7 @@ export type { ConfirmProps } from './confirm';
25
23
  export { default as Confirm } from './confirm';
26
24
  export type { CollapseProps } from './collapse';
27
25
  export { default as Collapse } from './collapse';
28
- export type { CarouselProps, CarouselDirection } from './carousel';
26
+ export type { CarouselProps } from './carousel';
29
27
  export { default as Carousel } from './carousel';
30
28
  export type { GuideProps } from './guide';
31
29
  export { default as Guide } from './guide';
@@ -43,7 +41,8 @@ export type { ScriptAttributes, ScriptProps } from './script';
43
41
  export { default as Script } from './script';
44
42
  export type { MessageProps } from './message';
45
43
  export { default as Message } from './message';
46
- export type { TableProps } from './table';
44
+ export type { TableProps, TableRowSelectionInfo } from './table';
45
+ export type { TableColumnInfo, TableColumnOnRenderReturnObjectInfo } from './table/interface';
47
46
  export { default as Table } from './table';
48
47
  export type { DatePickerProps } from './date-picker';
49
48
  export { default as DatePicker } from './date-picker';
package/esm/index.js CHANGED
@@ -5,7 +5,6 @@ export { default as Affix } from './affix';
5
5
  export { default as Modal } from './modal';
6
6
  export { default as Popover } from './popover';
7
7
  export { default as Tooltip } from './tooltip';
8
- export { default as Icon } from './icon';
9
8
  export { default as Skeleton } from './skeleton';
10
9
  export { default as Move } from './move';
11
10
  export { default as ShowMore } from './show-more';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { AddListenerEventHandler } from '@autobest-ui/utils';
3
- interface OnchangeHandler {
2
+ import { debounce, AddListenerEventHandler } from '@autobest-ui/utils';
3
+ interface OnChangeHandler {
4
4
  (value: string, name?: string): void;
5
5
  }
6
6
  interface ChangeEvent {
@@ -12,7 +12,7 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<any>, '
12
12
  /**
13
13
  * 值修改后的回调函数,用于修改value属性
14
14
  */
15
- onChange: OnchangeHandler;
15
+ onChange: OnChangeHandler;
16
16
  /**
17
17
  * input样式
18
18
  */
@@ -30,7 +30,8 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<any>, '
30
30
  */
31
31
  max?: number;
32
32
  /**
33
- * 打包值,向上取整
33
+ * 打包值,向上取整,不赋值或者赋值为0表示不做取整操作
34
+ * 注:packMultiple不允许传小数
34
35
  */
35
36
  packMultiple?: number;
36
37
  /**
@@ -38,9 +39,13 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<any>, '
38
39
  */
39
40
  disabled?: boolean;
40
41
  /**
41
- * 只能输入整数
42
+ * 可输入的小数位数,0或没有值表示只能输入整数
42
43
  */
43
- isPositive?: boolean;
44
+ digital?: number;
45
+ /**
46
+ * 为true则自动补全小数位数
47
+ */
48
+ padDigital?: boolean;
44
49
  /**
45
50
  * 输入框默认字符大小
46
51
  */
@@ -56,11 +61,11 @@ export interface InputNumberProps extends Omit<React.InputHTMLAttributes<any>, '
56
61
  /**
57
62
  * packMultiple 有值时,判断前的回调函数
58
63
  */
59
- onChangePackMultipleBefore?: OnchangeHandler;
64
+ onChangePackMultipleBefore?: OnChangeHandler;
60
65
  /**
61
66
  * packMultiple 有值时,判断后的回调函数
62
67
  */
63
- onChangePackMultipleAfter?: OnchangeHandler;
68
+ onChangePackMultipleAfter?: OnChangeHandler;
64
69
  /**
65
70
  * 是否需要显示增加按钮
66
71
  */
@@ -70,10 +75,6 @@ interface InputNumberStates {
70
75
  enter: boolean;
71
76
  focus: boolean;
72
77
  }
73
- interface DebounceRef {
74
- (value: string): void;
75
- cancel: () => void;
76
- }
77
78
  interface LocationInfo {
78
79
  left: number;
79
80
  top: number;
@@ -86,13 +87,15 @@ declare class InputNumber extends React.Component<InputNumberProps, InputNumberS
86
87
  name: string;
87
88
  size: number;
88
89
  disabled: boolean;
89
- isPositive: boolean;
90
+ digital: number;
91
+ padDigital: boolean;
90
92
  delay: number;
91
93
  visibleButton: boolean;
92
94
  };
93
95
  constructor(props: InputNumberProps);
94
96
  currentRef: React.RefObject<HTMLLabelElement>;
95
- debounce: DebounceRef;
97
+ changePackMultipleValueDebounce: ReturnType<typeof debounce>;
98
+ padDigitalDebounce: ReturnType<typeof debounce>;
96
99
  addLocationInfo: LocationInfo;
97
100
  subLocationInfo: LocationInfo;
98
101
  mouseUpHandler: AddListenerEventHandler;
@@ -120,10 +123,20 @@ declare class InputNumber extends React.Component<InputNumberProps, InputNumberS
120
123
  isInside: (ev: React.MouseEvent<Element, MouseEvent>, locationInfo: LocationInfo) => boolean;
121
124
  getLocationInfo: () => void;
122
125
  getCurrentValue: (value: string) => number;
126
+ getPadDigitalValue: (value: string) => string;
123
127
  onChangePackMultipleValue: (value: string) => void;
124
- getDebounce: () => DebounceRef;
125
- callback: (value: string) => void;
126
- onValueChange: (ev: ChangeEvent) => void;
128
+ onPadDigital: (value: any) => void;
129
+ getPadDigitalDebounce: () => {
130
+ (...arg: any[]): void;
131
+ cancel(): void;
132
+ };
133
+ getChangePackMultipleValueDebounce: () => {
134
+ (...arg: any[]): void;
135
+ cancel(): void;
136
+ };
137
+ callback: (value: string, ignoreDelay?: any) => void;
138
+ onValueChange: (ev: ChangeEvent, ignoreDelay?: any) => void;
139
+ getValueCalculate: (value: number, offset: number) => number;
127
140
  onAdd: () => void;
128
141
  onSub: () => void;
129
142
  renderButton: () => JSX.Element;
@@ -43,7 +43,7 @@ var __assign = this && this.__assign || function () {
43
43
  import React from 'react';
44
44
  import classNames from 'classnames';
45
45
  import { isBlank, debounce, getOffsetAndSize, addEventListener } from '@autobest-ui/utils';
46
- var cls = 'ab-input-number';
46
+ var cls = 'ab-input-number'; // TODO: 重构组件
47
47
 
48
48
  var InputNumber =
49
49
  /** @class */
@@ -305,6 +305,19 @@ function (_super) {
305
305
  return ceilNumber;
306
306
  };
307
307
 
308
+ _this.getPadDigitalValue = function (value) {
309
+ var _a = _this.props,
310
+ digital = _a.digital,
311
+ padDigital = _a.padDigital;
312
+
313
+ if (!padDigital || isBlank(value) || !digital) {
314
+ return value;
315
+ }
316
+
317
+ var resultArr = value.split('.');
318
+ return resultArr[0] + "." + (resultArr[1] || '').padEnd(digital, '0');
319
+ };
320
+
308
321
  _this.onChangePackMultipleValue = function (value) {
309
322
  var currentValue = _this.getCurrentValue(value).toString();
310
323
 
@@ -319,60 +332,97 @@ function (_super) {
319
332
  }
320
333
  };
321
334
 
322
- _this.getDebounce = function () {
323
- if (_this.debounce) {
324
- return _this.debounce;
335
+ _this.onPadDigital = function (value) {
336
+ var currentValue = _this.getPadDigitalValue(value);
337
+
338
+ var _a = _this.props,
339
+ onChange = _a.onChange,
340
+ name = _a.name;
341
+
342
+ if (value !== currentValue) {
343
+ onChange(currentValue, name);
325
344
  }
345
+ };
346
+
347
+ _this.getPadDigitalDebounce = function () {
348
+ if (_this.padDigitalDebounce) {
349
+ return _this.padDigitalDebounce;
350
+ }
351
+
352
+ _this.padDigitalDebounce = debounce(_this.onPadDigital, _this.props.delay);
353
+ return _this.padDigitalDebounce;
354
+ };
326
355
 
327
- _this.debounce = debounce(_this.onChangePackMultipleValue, _this.props.delay);
328
- return _this.debounce;
356
+ _this.getChangePackMultipleValueDebounce = function () {
357
+ if (_this.changePackMultipleValueDebounce) {
358
+ return _this.changePackMultipleValueDebounce;
359
+ }
360
+
361
+ _this.changePackMultipleValueDebounce = debounce(_this.onChangePackMultipleValue, _this.props.delay);
362
+ return _this.changePackMultipleValueDebounce;
329
363
  };
330
364
 
331
- _this.callback = function (value) {
365
+ _this.callback = function (value, ignoreDelay) {
332
366
  var _a = _this.props,
333
367
  name = _a.name,
334
368
  onChange = _a.onChange,
335
- onChangePackMultipleBefore = _a.onChangePackMultipleBefore;
336
- var packMultiple = _this.props.packMultiple || 1;
369
+ onChangePackMultipleBefore = _a.onChangePackMultipleBefore,
370
+ packMultiple = _a.packMultiple,
371
+ padDigital = _a.padDigital;
337
372
 
338
- if (onChange) {
373
+ if (onChange && value !== _this.props.value) {
339
374
  onChange(value, name);
340
375
  }
341
376
 
342
- var valueNumber = parseFloat(value);
343
-
344
- if (!isBlank(packMultiple) && !isBlank(value) && valueNumber % packMultiple !== 0) {
377
+ if (packMultiple && !isBlank(value) && parseFloat(value) % packMultiple !== 0) {
345
378
  if (onChangePackMultipleBefore) {
346
379
  onChangePackMultipleBefore(value, name);
347
380
  }
348
381
 
349
- _this.getDebounce()(value);
382
+ if (ignoreDelay) {
383
+ _this.onChangePackMultipleValue(value);
384
+ } else {
385
+ _this.getChangePackMultipleValueDebounce()(value);
386
+ }
387
+
388
+ return;
389
+ }
390
+
391
+ if (padDigital) {
392
+ if (ignoreDelay) {
393
+ _this.onPadDigital(value);
394
+
395
+ return;
396
+ }
397
+
398
+ _this.getPadDigitalDebounce()(value);
350
399
  }
351
400
  };
352
401
 
353
- _this.onValueChange = function (ev) {
354
- if (_this.debounce) {
355
- _this.debounce.cancel();
402
+ _this.onValueChange = function (ev, ignoreDelay) {
403
+ if (_this.changePackMultipleValueDebounce) {
404
+ _this.changePackMultipleValueDebounce.cancel();
356
405
  }
357
406
 
358
407
  var _a = _this.props,
359
408
  min = _a.min,
360
409
  max = _a.max,
361
- isPositive = _a.isPositive,
410
+ digital = _a.digital,
362
411
  value = _a.value;
363
- var currentValue = ev.target.value.toString();
412
+ var currentValue = ev.target.value.toString(); // 输入为空
364
413
 
365
414
  if (isBlank(currentValue)) {
366
- _this.callback('');
415
+ _this.callback('', ignoreDelay);
367
416
 
368
417
  return;
369
418
  }
370
419
 
371
- var preValue = value.toString();
420
+ var preValue = value.toString(); // 输入的不是数字格式
421
+
372
422
  var reg = /^-$|(^(-?\d+)(\.\d*)?)$/;
373
423
 
374
424
  if (!reg.test(currentValue)) {
375
- _this.callback(preValue);
425
+ _this.callback(preValue, ignoreDelay);
376
426
 
377
427
  return;
378
428
  } // 0开头后面直接是数字,没有点如:011, 这是不合法的
@@ -381,41 +431,59 @@ function (_super) {
381
431
  var zeroReg = /^0\d+$/;
382
432
 
383
433
  if (zeroReg.test(currentValue)) {
384
- _this.callback(preValue);
434
+ _this.callback(preValue, ignoreDelay);
385
435
 
386
436
  return;
437
+ } // 小数位数限制
438
+
439
+
440
+ if (digital) {
441
+ currentValue = new RegExp("[^.]+([.](\\d{0," + digital + "}))?").exec(currentValue)[0].toString();
387
442
  }
388
443
 
389
444
  var valueNumber = parseFloat(currentValue);
390
445
 
391
446
  if (!isBlank(min)) {
392
447
  if (min > valueNumber) {
393
- _this.callback(preValue);
448
+ _this.callback(preValue, ignoreDelay);
394
449
 
395
450
  return;
396
451
  } // 如果min>= 0, 将阻止输入-
397
452
 
398
453
 
399
454
  if (min >= 0 && currentValue.indexOf('-') > -1) {
400
- _this.callback('');
455
+ _this.callback('', ignoreDelay);
401
456
 
402
457
  return;
403
458
  }
404
459
  }
405
460
 
406
461
  if (!isBlank(max) && max < valueNumber) {
407
- _this.callback(preValue);
462
+ _this.callback(preValue, ignoreDelay);
408
463
 
409
464
  return;
410
465
  }
411
466
 
412
- if (isPositive && currentValue.indexOf('.') > -1) {
413
- _this.callback(preValue);
467
+ if (!digital && currentValue.indexOf('.') > -1) {
468
+ _this.callback(preValue, ignoreDelay);
414
469
 
415
470
  return;
416
471
  }
417
472
 
418
- _this.callback(currentValue);
473
+ _this.callback(currentValue, ignoreDelay);
474
+ };
475
+
476
+ _this.getValueCalculate = function (value, offset) {
477
+ var valueStr = value.toString();
478
+ var offsetStr = offset.toString();
479
+
480
+ if (valueStr.indexOf('.') < 0 && offsetStr.indexOf('.') < 0) {
481
+ return value + offset;
482
+ }
483
+
484
+ var digital = _this.props.digital;
485
+ var powValue = Math.pow(10, digital);
486
+ return Math.round((value + offset) * powValue) / powValue;
419
487
  };
420
488
 
421
489
  _this.onAdd = function () {
@@ -426,7 +494,7 @@ function (_super) {
426
494
 
427
495
  var ev = {
428
496
  target: {
429
- value: (parseFloat(value.toString()) || 0) + step
497
+ value: _this.getPadDigitalValue(_this.getValueCalculate(Number(value), step).toString())
430
498
  }
431
499
  };
432
500
 
@@ -440,7 +508,7 @@ function (_super) {
440
508
  var step = packMultiple || 1;
441
509
  var ev = {
442
510
  target: {
443
- value: (parseFloat(value.toString()) || 0) - step
511
+ value: _this.getPadDigitalValue(_this.getValueCalculate(Number(value), step * -1).toString())
444
512
  }
445
513
  };
446
514
 
@@ -473,6 +541,11 @@ function (_super) {
473
541
 
474
542
  InputNumber.prototype.componentDidMount = function () {
475
543
  this.addMouseMoveListener();
544
+ this.onValueChange({
545
+ target: {
546
+ value: this.props.value
547
+ }
548
+ }, true);
476
549
  };
477
550
 
478
551
  InputNumber.prototype.componentWillUnmount = function () {
@@ -486,9 +559,14 @@ function (_super) {
486
559
  this.mouseMoveHandler = null;
487
560
  }
488
561
 
489
- if (this.debounce) {
490
- this.debounce.cancel();
491
- this.debounce = null;
562
+ if (this.padDigitalDebounce) {
563
+ this.padDigitalDebounce.cancel();
564
+ this.padDigitalDebounce = null;
565
+ }
566
+
567
+ if (this.changePackMultipleValueDebounce) {
568
+ this.changePackMultipleValueDebounce.cancel();
569
+ this.changePackMultipleValueDebounce = null;
492
570
  }
493
571
  };
494
572
 
@@ -497,7 +575,8 @@ function (_super) {
497
575
 
498
576
  delete copyProps.onChangePackMultipleBefore;
499
577
  delete copyProps.onChangePackMultipleAfter;
500
- delete copyProps.isPositive;
578
+ delete copyProps.digital;
579
+ delete copyProps.padDigital;
501
580
  delete copyProps.packMultiple;
502
581
  delete copyProps.visibleButton;
503
582
  delete copyProps.onChange;
@@ -539,7 +618,8 @@ function (_super) {
539
618
  name: '',
540
619
  size: 3,
541
620
  disabled: false,
542
- isPositive: true,
621
+ digital: 0,
622
+ padDigital: false,
543
623
  delay: 1000,
544
624
  visibleButton: false
545
625
  };
package/esm/style.css CHANGED
@@ -1,49 +1,34 @@
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;-ms-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}
2
- .demo-accordion{margin:.5rem auto;width:5rem;display:flex;justify-content:center;flex-direction:column}.accordion-demo-wrap{width:3rem}.accordion-demo-text{height:.3rem}.accordion-demo-title{display:block;padding:.1rem 0;background-color:#b0b0b0;color:#f7f7f7;cursor:pointer}.accordion-demo-a-content>li{padding:.1rem 0;border-top:dotted 1px grey}.accordion-demo-a-content>li:first-child{border:none;cursor:pointer}.accordion-demo-a-content>li>a{color:#333}.accordion-demo-d-content{padding-left:.1rem}.accordion-demo-d-content .ab-collapse{padding-left:.2rem}.accordion-demo-d-title{background-color:grey;display:block;padding:.1rem 0;color:#f7f7f7;cursor:pointer}
3
- .affix-demo{height:200vh;overflow:auto;width:1000px;max-width:100%;margin:auto}.affix-demo .affix-wrap{height:500px;width:100%;background-color:#d1d5db}
4
2
  .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{transform:translate(0,0)}.ab-affix-fade-exit{transform:translate(0,0)}.ab-affix-fade-exit-active{transform:translate(0,-100%)}.ab-affix-fade-exit-done{display:none}
5
- .demo-carousel{margin:auto;position:relative}.demo-carousel p{display:flex;align-items:center;justify-content:center;font-size:32px;margin:0;color:#f3f4f6;height:225px;border-radius:3px}.ab-carousel{position:relative}.button-next,.button-prev{position:absolute;box-sizing:border-box;cursor:pointer;font-size:32px;top:50%;margin-top:-15px;width:30px;height:30px;color:#f3f4f6}.button-prev{left:5px;top:50%}.button-next{right:5px;top:50%}
6
- .ab-carousel{position:relative;height:100%}.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;display:none}.ab-carousel.ab-carousel-init .ab-carousel-slider{display:block}.ab-carousel.ab-carousel-hr .ab-carousel-slider{float:left}
3
+ .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}
7
4
  .ab-checkbox{display:inline-block;position:relative;font-size:0;cursor:pointer}.ab-checkbox-input{position:absolute;opacity:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:2}.ab-checkbox-inner{display:inline-block;position:relative;width:.16rem;height:.16rem;transition:all .3s;border:.02rem solid #b0b0b0;border-radius:.02rem;background-color:#fff}.ab-checkbox-icon{visibility:hidden;position:absolute;width:.06rem;height:.1rem;left:20%;top:40%;transform:rotate(45deg) scale(0) translate(-50%,-50%);transition:all .2s;border:.02rem solid #e84040;border-top:none;border-left:none}.ab-checkbox.ab-checkbox-checked .ab-checkbox-icon{visibility:visible;transform:rotate(45deg) scale(1) translate(-50%,-50%)}.ab-checkbox.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0!important;background-color:#f5f5f5!important}.ab-checkbox.ab-checkbox-disabled .ab-checkbox-icon{border-color:#cecece}.ab-checkbox.ab-checkbox-disabled .ab-checkbox-content{text-decoration:none!important}.ab-checkbox-wrap{display:inline-block;position:relative;cursor:pointer}.ab-checkbox-wrap .ab-checkbox{position:absolute;transform:translateY(-50%);top:50%;left:0}.ab-checkbox-wrap:hover .ab-checkbox-content{text-decoration:underline}.ab-checkbox-content{padding-left:.24rem;display:inline-block}.ab-checkbox-wrap.ab-checkbox-reverse .ab-checkbox{left:auto;right:0}.ab-checkbox-wrap.ab-checkbox-reverse .ab-checkbox-content{padding-left:0;padding-right:.24rem}.ab-checkbox-wrap.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-wrap.ab-checkbox-disabled .ab-checkbox-content{text-decoration:none!important}
8
- .demo-collapse{min-height:200px;padding:.2rem}.title-wrap{width:1rem;height:.4rem;background-color:#3b82f6;color:#f3f4f6}.title-wrap>strong{display:block;width:1rem;height:.2rem;background-color:#10b981;cursor:pointer}
9
5
  .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}
10
6
  .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}
11
7
  .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}
12
- .ab-date-picker{position:relative}.ab-date-picker-input{outline:0;font-size:.14rem;padding:.04rem;width:1.44rem}.ab-date-picker-icon{position:absolute;right:.05rem;top:50%;transform:translateY(-50%)}
8
+ .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%)}
13
9
  .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}
14
10
  .ab-ellipsis{overflow:hidden;display:block;display:-webkit-box;-webkit-box-orient:vertical}.ab-ellipsis.ab-ellipsis-line1{-webkit-line-clamp:1}.ab-ellipsis.ab-ellipsis-line2{-webkit-line-clamp:2}.ab-ellipsis.ab-ellipsis-line3{-webkit-line-clamp:3}.ab-ellipsis.ab-ellipsis-line4{-webkit-line-clamp:4}.ab-ellipsis.ab-ellipsis-line5{-webkit-line-clamp:5}@media only screen and (max-width:767px){.ab-ellipsis.ab-ellipsis-line1{-webkit-line-clamp:unset}.ab-ellipsis.ab-ellipsis-line2{-webkit-line-clamp:unset}.ab-ellipsis.ab-ellipsis-line3{-webkit-line-clamp:unset}.ab-ellipsis.ab-ellipsis-line4{-webkit-line-clamp:unset}.ab-ellipsis.ab-ellipsis-line5{-webkit-line-clamp:unset}.ab-ellipsis.ab-ellipsis-m-line1{-webkit-line-clamp:1}.ab-ellipsis.ab-ellipsis-m-line2{-webkit-line-clamp:2}.ab-ellipsis.ab-ellipsis-m-line3{-webkit-line-clamp:3}.ab-ellipsis.ab-ellipsis-m-line4{-webkit-line-clamp:4}.ab-ellipsis.ab-ellipsis-m-line5{-webkit-line-clamp:5}}
15
- .guide-demo .input{width:3rem}.guide-demo .btn{display:block;margin-top:.2rem;width:.8rem;height:.3rem;font-size:.16rem;text-align:center}
16
11
  .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}
17
- .demo-icon-list{padding:.2rem .1rem;font-size:.12rem;display:flex;width:100%;flex-wrap:wrap}.demo-icon-list>li{padding:.1rem;border:1px solid #e0e0e0;margin:.05rem;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#f3f4f6;min-width:1.2rem;min-height:1.5rem}.demo-icon-list>li svg{max-width:.5rem;height:.5rem}.demo-icon-list>li p{padding:0 5px;text-align:center;width:1rem;word-break:break-all}.demo-icon-list>li:hover{background-color:#e5e7eb}.demo-icon-list .demo-icon-name{padding-top:.15rem}
18
- .ab-icon,.ab-icon div,.ab-icon span,.ab-icon svg{display:block}
19
12
  .ab-input-number{padding:.06rem .07rem;-webkit-appearance:none;outline:0;width:100%;border:1px solid #ccc;border-radius:2px;resize:none;font-size:.12rem;transition:all .3s;position:relative;background-color:transparent;z-index:2}.ab-input-number:focus{box-shadow:0 0 4px rgba(52,143,238,.8);border-color:rgba(52,143,238,.8)}.ab-input-number-wrap{position:relative;background-color:#fff;display:inline-block}.ab-input-number-button-wrap{position:absolute;user-select:none;top:50%;transform:translateY(-50%);right:.02rem}.ab-input-number-button{position:relative;width:.16rem;height:.1rem;overflow:hidden;background-color:#f1f1f1}.ab-input-number-button.ab-input-number-hover{background-color:#d0d0d0}.ab-input-number-button.ab-input-number-active{background-color:#787878}.ab-input-number-button.ab-input-number-active .ab-input-number-add{border-bottom-color:#fff}.ab-input-number-button.ab-input-number-active .ab-input-number-sub{border-top-color:#fff}.ab-input-number-button:first-child{margin-bottom:.02rem}.ab-input-number-add{position:absolute;top:-.01rem;left:.04rem;display:block;border-top-color:transparent;border-right-color:transparent;border-bottom-color:#505050;border-left-color:transparent;border-width:.04rem;border-style:solid;width:0;height:0}.ab-input-number-sub{display:block;margin:.03rem 0 0 .04rem;border-top-color:#505050;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent;border-width:.04rem;border-style:solid;width:0;height:0}
20
- .ab-link-list-title{font-size:.16rem;margin:0 0;padding:0 0 .12rem 0;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>a,.ab-link-list-content>span{min-width:calc(50% - .15rem)!important;max-width:calc(50% - .15rem)!important}.ab-link-list-icon{font-weight:700;font-size:.22rem;cursor:pointer;width:.2rem;height:.2rem;display:flex;align-items:center;justify-content:center}}
21
- .lazy-image-demo{margin-top:200vh}.lazy-image-demo img{display:block;width:400px;margin:.2rem}
22
13
  .ab-lazy-image{transition:opacity .5s}.ab-lazy-image-loading{background:#f2f2f2;overflow:hidden}.ab-lazy-image-loading.ab-lazy-image-active{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:ab-skeleton-loading 1.4s ease infinite}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
23
14
  .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:translate3d(-50%,-50%,0)}.ab-loading-wrap.ab-loading-rect-loading{background-color:rgba(0,0,0,.7)}.ab-loading-wrap.ab-loading-rect-loading .ab-loading-content{top:10%;width:1.6rem;height:.24rem}
15
+ .ab-link-list-title{font-size:.16rem;margin:0 0;padding:0 0 .12rem 0;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>a,.ab-link-list-content>span{min-width:calc(50% - .15rem)!important;max-width:calc(50% - .15rem)!important}.ab-link-list-icon{font-weight:700;font-size:.22rem;cursor:pointer;width:.2rem;height:.2rem;display:flex;align-items:center;justify-content:center}}
24
16
  .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%{background-color:#0aa770}33.3%{background-color:#0aa770}33.33%{background-color:red}66.6%{background-color:#f987d6}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:changeBar 2.25s infinite}.ab-loading-bar-bar:before{content:"";height:3px;position:absolute;left:50%;right:50%;background-color:inherit;animation:movingBar .75s infinite}
25
- .loading-container-demo{margin:1rem;width:2rem;height:2rem;background:#b0b0b0}
26
17
  .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:translate3d(-50%,-50%,0)}
27
- .ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:loading 1s infinite linear reverse}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
28
18
  .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{opacity:1}.ab-mask-fade-exit{opacity:1}.ab-mask-fade-exit-active{opacity:0}.ab-mask-fade-exit-done{display:none}
29
- .ab-message-container{position:fixed;left:0;bottom:0}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);border-radius:.02rem;margin:.08rem .15rem;padding:.08rem;background-color:#333;color:#fff;box-shadow:0 .04rem .08rem #00000059;transition:opacity .3s}.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{opacity:1}.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}}
19
+ .ab-svg-loading{display:inline-block}.ab-svg-loading-icon{display:block;width:.31rem;height:.31rem;animation:loading 1s infinite linear reverse}@keyframes loading{0%{transform:rotate(0)}50%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
30
20
  .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{transform:translateZ(0);opacity:1}.ab-modal-fade-enter-done{transform:translateZ(0);opacity:1}.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}
31
- .demo-move{margin:.2rem auto;width:500px;height:500px;border:5px solid #ccc}
21
+ .ab-message-container{position:fixed;left:0;bottom:0}.ab-message-content{display:flex;align-items:center;justify-content:space-between;max-width:calc(100vw - .3rem);border-radius:.02rem;margin:.08rem .15rem;padding:.08rem;background-color:#333;color:#fff;box-shadow:0 .04rem .08rem #00000059;transition:opacity .3s}.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{opacity:1}.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}}
32
22
  .ab-move{cursor:move;visibility:hidden;transform-origin:center center}
33
- .popover-demo{padding:80px 60px;width:465px;height:400px;margin:auto;position:relative}.popover-demo button{width:100px;display:inline-block}.popover-demo-tip{height:60px;width:100px}
34
23
  .ab-popover-wrap{background-color:#fff;background-clip:padding-box;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:.08rem .11rem .05rem;min-width:210px;border-radius:4px}.ab-popover-inner{position:relative;width:100%;overflow:hidden;font-size:.12rem}.ab-popover-inner-expand{padding-right:.1rem}.ab-popover-arrow{position:absolute;display:block;width:8px;height:8px;border-top-color:transparent;border-left-color:transparent;border-style:solid;background-color:#fff;border-right-color:#fff;border-bottom-color:#fff;border-width:4px;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}@media only screen and (max-width:767px){.ab-popover-wrap{width:calc(100% - .3rem)}}
35
24
 
36
- .select-demo{margin:10px auto;width:200px}.select-demo .select-group{width:1rem}
25
+
37
26
  .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)}.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{-webkit-appearance:none;outline:0;user-select:none;width:100%;border:1px solid #ccc;border-radius:2px;resize:none;transition:all .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}}
38
27
  .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}
39
-
40
- .skeleton-demo{padding:.2rem}
41
- .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:ab-skeleton-loading 1.4s ease infinite}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
42
- .table-demo thead{background-color:#2b5797;color:#fff}.table-demo tbody tr.ab-table-expand-row{background-color:#fafafa}.table-demo tbody tr:hover{background-color:#f3f3f3}.table-demo td,.table-demo th{padding:.16rem;border-bottom:1px solid #d0d0d0}.table-demo td.ab-table-checkbox,.table-demo th.ab-table-checkbox{padding:.16rem 0}.table-demo .merged-cell{border-left:1px solid #d0d0d0;border-right:1px solid #d0d0d0}.table-demo-expanded{font-size:.2rem}
43
- .ab-table{overflow-x:auto}.ab-table table{border-spacing:0;width:100%;table-layout:fixed}.ab-table-header{overflow:hidden}.ab-table-header table{width:calc(100% - .17rem)}.ab-table-body{overflow:auto scroll}.ab-table-checkbox{width:.32rem;text-align:center}.ab-table-title{display:flex;align-items:center;text-align:left}.ab-table-title.ab-table-point{cursor:pointer}.ab-table-arrow{padding:0 .05rem}@media only screen and (max-width:767px){.ab-table-header table{width:100%}}
44
- .tabs-demo{width:500px;margin:20px auto}.tabs-demo .ab-tabs-item{padding:2px 6px}
28
+ .ab-table{overflow-x:auto}.ab-table table{border-spacing:0;width:100%;table-layout:fixed}.ab-table-header{overflow:hidden}.ab-table-header table{width:calc(100% - .17rem)}.ab-table-body{overflow:auto scroll}.ab-table-checkbox{width:.32rem;text-align:center}.ab-table-title{display:flex;align-items:center;text-align:left}.ab-table-title.ab-table-point{cursor:pointer}.ab-table-arrow{font-size:.16rem;color:#fff;padding:0 .05rem}@media only screen and (max-width:767px){.ab-table-header table{width:100%}}
45
29
  .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:all .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}
30
+ .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:ab-skeleton-loading 1.4s ease infinite}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
46
31
  .ab-tooltip-wrap{background-clip:padding-box;padding:.08rem .11rem .05rem;min-width:210px;border-radius:4px;line-height:1.4;border:1px solid #906c00;box-shadow:1px 1px 5px -1px #000;background-color:#fffaec}.ab-tooltip-inner{position:relative;width:100%;overflow:hidden;font-size:.12rem}.ab-tooltip-inner-expand{padding-right:.1rem}.ab-tooltip-arrow{position:absolute;display:block;width:8px;height:8px;border-top-color:transparent;border-left-color:transparent;border-style:solid;box-shadow:3px 3px 7px rgba(0,0,0,.07);background-color:#fffaec;border-right-color:#906c00;border-bottom-color:#906c00;border-width:1px}.ab-tooltip-close{position:absolute;right:.02rem;top:.05rem;cursor:pointer;padding:0 .05rem;color:#bfbfbf;font-size:.2rem;line-height:1;z-index:2}.ab-tooltip-close:hover{color:#4a4a4a}@media only screen and (max-width:767px){.ab-tooltip-wrap{width:calc(100% - .3rem)}}
47
32
  .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}
48
33
 
49
- .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}
34
+ .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,13 +1,19 @@
1
1
  import React from 'react';
2
- import { Column } from '../interface';
2
+ import { TableColumnInfo } from '../interface';
3
3
  export interface BodyRowProps<T> {
4
4
  className?: string;
5
5
  prefixCls: string;
6
6
  rowData: T;
7
7
  index: number;
8
- columns: Column<T>[];
8
+ columns: TableColumnInfo<T>[];
9
9
  indent: number;
10
10
  CheckCell: React.ReactElement;
11
+ isExpand?: boolean;
12
+ }
13
+ declare function BodyRow<RowDataType>({ className, prefixCls: cls, rowData, index, columns, indent, CheckCell, isExpand }: BodyRowProps<RowDataType>): JSX.Element;
14
+ declare namespace BodyRow {
15
+ var defaultProps: {
16
+ isExpand: boolean;
17
+ };
11
18
  }
12
- declare function BodyRow<RowDataType>({ className, prefixCls: cls, rowData, index, columns, indent, CheckCell }: BodyRowProps<RowDataType>): JSX.Element;
13
19
  export default BodyRow;
@@ -40,7 +40,8 @@ function BodyRow(_a) {
40
40
  index = _a.index,
41
41
  columns = _a.columns,
42
42
  indent = _a.indent,
43
- CheckCell = _a.CheckCell;
43
+ CheckCell = _a.CheckCell,
44
+ isExpand = _a.isExpand;
44
45
  var indentCell = React.useMemo(function () {
45
46
  return getIndentCol(cls, indent);
46
47
  }, [cls, indent]);
@@ -70,7 +71,7 @@ function BodyRow(_a) {
70
71
  rowSpan: rowSpan === undefined ? 1 : rowSpan
71
72
  });
72
73
 
73
- if (cellInfo.colSpan === 0 || cellInfo.rowSpan === 0 || !cellInfo.content) {
74
+ if (cellInfo.colSpan === 0 || cellInfo.rowSpan === 0 || isExpand && !cellInfo.content) {
74
75
  return;
75
76
  }
76
77
 
@@ -91,4 +92,7 @@ function BodyRow(_a) {
91
92
  return null;
92
93
  }
93
94
 
95
+ BodyRow.defaultProps = {
96
+ isExpand: false
97
+ };
94
98
  export default BodyRow;
@@ -1,12 +1,12 @@
1
1
  import React, { ReactText } from 'react';
2
2
  import { BodyRowProps } from './BodyRow';
3
3
  import { BodyCheckIconProps, BodyRowSelectionInfo } from './CheckIcon';
4
- import { ColumnOnRenderReturnObjectInfo } from '../interface';
4
+ import { TableColumnOnRenderReturnObjectInfo } from '../interface';
5
5
  /**
6
6
  * 可展开子列表
7
7
  */
8
8
  export interface TableExpandableInfo<T> {
9
- expandedRowRender: (rowData: T, index: number) => React.ReactNode | React.ReactNode[] | ColumnOnRenderReturnObjectInfo;
9
+ expandedRowRender: (rowData: T, index: number) => React.ReactNode | React.ReactNode[] | TableColumnOnRenderReturnObjectInfo;
10
10
  }
11
11
  export interface BodyProps<T> extends Pick<BodyRowProps<T>, 'prefixCls' | 'columns'>, Pick<BodyCheckIconProps<T>, 'selectedRowKeys'> {
12
12
  /**