@kdcloudjs/table 1.2.1-canary.6 → 1.2.1-canary.7-hotfix.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/@kdcloudjs/table.css +1 -1
  2. package/dist/@kdcloudjs/table.css.map +0 -0
  3. package/dist/@kdcloudjs/table.js +1755 -3334
  4. package/dist/@kdcloudjs/table.js.map +1 -1
  5. package/dist/@kdcloudjs/table.min.css +1 -1
  6. package/dist/@kdcloudjs/table.min.js +16 -16
  7. package/dist/@kdcloudjs/table.min.js.map +1 -1
  8. package/dist/default-theme.js +0 -0
  9. package/dist/kd-ui-complete.less +0 -0
  10. package/dist/kd-ui.less +0 -0
  11. package/dist/theme.js +0 -0
  12. package/es/_utils/arrayUtil.js +0 -3
  13. package/es/_utils/devwarning.js +0 -1
  14. package/es/_utils/formatUtil.js +35 -96
  15. package/es/_utils/hooks.js +18 -42
  16. package/es/_utils/index.js +0 -2
  17. package/es/_utils/numberUtil.js +32 -55
  18. package/es/_utils/omit.js +0 -2
  19. package/es/_utils/type.js +0 -2
  20. package/es/_utils/usePopper.js +74 -137
  21. package/es/config-provider/compDefaultProps.js +0 -1
  22. package/es/config-provider/configProvider.js +2 -7
  23. package/es/config-provider/defaultConfig.js +0 -1
  24. package/es/index.js +0 -2
  25. package/es/locale/locale.js +5 -43
  26. package/es/table/base/calculations.js +22 -72
  27. package/es/table/base/colgroup.js +0 -1
  28. package/es/table/base/empty.js +4 -4
  29. package/es/table/base/header.js +16 -69
  30. package/es/table/base/helpers/SpanManager.js +3 -9
  31. package/es/table/base/helpers/TableDOMUtils.js +4 -28
  32. package/es/table/base/helpers/__test__/SpanManager.test.js +2 -2
  33. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -1
  34. package/es/table/base/helpers/getRichVisibleRectsStream.js +13 -45
  35. package/es/table/base/helpers/rowHeightManager.js +0 -28
  36. package/es/table/base/html-table.js +14 -35
  37. package/es/table/base/loading.js +6 -8
  38. package/es/table/base/renderTemplates.js +26 -44
  39. package/es/table/base/styles.js +0 -9
  40. package/es/table/base/table.js +95 -181
  41. package/es/table/base/utils.js +14 -54
  42. package/es/table/common-views.js +0 -7
  43. package/es/table/internals.js +0 -13
  44. package/es/table/pipeline/features/autoFill.js +11 -40
  45. package/es/table/pipeline/features/autoRowSpan.js +1 -14
  46. package/es/table/pipeline/features/colGroupExtendable.js +4 -19
  47. package/es/table/pipeline/features/columnDrag.js +41 -96
  48. package/es/table/pipeline/features/columnFilter.js +11 -48
  49. package/es/table/pipeline/features/columnHover.js +1 -7
  50. package/es/table/pipeline/features/columnRangeHover.js +1 -8
  51. package/es/table/pipeline/features/columnResizeWidth.js +11 -37
  52. package/es/table/pipeline/features/contextMenu.js +18 -89
  53. package/es/table/pipeline/features/filter/DefaultFilterContent.js +10 -25
  54. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +1 -1
  55. package/es/table/pipeline/features/filter/Filter.js +25 -48
  56. package/es/table/pipeline/features/filter/FilterPanel.js +11 -25
  57. package/es/table/pipeline/features/filter/util.js +0 -4
  58. package/es/table/pipeline/features/footerDataSource.js +0 -3
  59. package/es/table/pipeline/features/mergeCellHover.js +0 -1
  60. package/es/table/pipeline/features/multiSelect.js +15 -57
  61. package/es/table/pipeline/features/rangeSelection.js +63 -142
  62. package/es/table/pipeline/features/rowDetail.js +2 -41
  63. package/es/table/pipeline/features/rowDrag.js +38 -76
  64. package/es/table/pipeline/features/rowGrouping.js +2 -35
  65. package/es/table/pipeline/features/singleSelect.js +0 -24
  66. package/es/table/pipeline/features/sort.js +32 -89
  67. package/es/table/pipeline/features/tips.js +0 -6
  68. package/es/table/pipeline/features/treeMode.js +14 -46
  69. package/es/table/pipeline/features/treeSelect.js +0 -26
  70. package/es/table/pipeline/pipeline.js +11 -51
  71. package/es/table/pivot/cross-table/buildCrossTable.js +15 -64
  72. package/es/table/pivot/cross-table/cross-table.js +22 -28
  73. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -47
  74. package/es/table/pivot/cross-tree-table/cross-tree-table.js +28 -50
  75. package/es/table/pivot/pivot-utils/buildDrillTree.js +10 -23
  76. package/es/table/pivot/pivot-utils/builders.js +31 -71
  77. package/es/table/pivot/pivot-utils/convert-utils.js +13 -39
  78. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -1
  79. package/es/table/transforms/autoRowSpan.js +1 -15
  80. package/es/table/transforms/autoWidth.js +10 -32
  81. package/es/table/transforms/buildTree.js +1 -2
  82. package/es/table/transforms/columnHover.js +9 -15
  83. package/es/table/transforms/columnRangeHover.js +12 -19
  84. package/es/table/transforms/columnResize.js +15 -37
  85. package/es/table/transforms/flatten.js +0 -3
  86. package/es/table/transforms/orderField.js +0 -3
  87. package/es/table/transforms/sort.js +36 -93
  88. package/es/table/transforms/tips.js +1 -6
  89. package/es/table/transforms/treeMode.js +30 -69
  90. package/es/table/transforms/visible.js +0 -2
  91. package/es/table/use/useResizeObserver.js +1 -4
  92. package/es/table/utils/applyTransforms.js +0 -1
  93. package/es/table/utils/browserType.js +12 -19
  94. package/es/table/utils/buildTree.js +4 -19
  95. package/es/table/utils/collectNodes.js +1 -10
  96. package/es/table/utils/console.js +0 -14
  97. package/es/table/utils/copyToClipboard.js +0 -4
  98. package/es/table/utils/element.js +14 -41
  99. package/es/table/utils/exportTableAsExcel.js +4 -40
  100. package/es/table/utils/getTreeDepth.js +1 -9
  101. package/es/table/utils/groupBy.js +1 -10
  102. package/es/table/utils/layeredFilter.js +0 -4
  103. package/es/table/utils/layeredSort.js +0 -5
  104. package/es/table/utils/makeRecursiveMapper.js +1 -12
  105. package/es/table/utils/mergeCellProps.js +6 -13
  106. package/es/table/utils/others.js +3 -16
  107. package/es/table/utils/proto.js +2 -30
  108. package/es/table/utils/smartCompare.js +4 -12
  109. package/es/table/utils/traverseColumn.js +2 -15
  110. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -22
  111. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +15 -69
  112. package/es/table/utils/uiDegrade.js +0 -5
  113. package/lib/_utils/arrayUtil.js +0 -5
  114. package/lib/_utils/devwarning.js +0 -5
  115. package/lib/_utils/formatUtil.js +35 -100
  116. package/lib/_utils/hooks.js +18 -53
  117. package/lib/_utils/index.js +0 -6
  118. package/lib/_utils/numberUtil.js +32 -63
  119. package/lib/_utils/omit.js +0 -5
  120. package/lib/_utils/react-children.js +0 -5
  121. package/lib/_utils/type.js +0 -6
  122. package/lib/_utils/usePopper.js +74 -158
  123. package/lib/config-provider/ConfigContext.js +1 -4
  124. package/lib/config-provider/compDefaultProps.js +0 -1
  125. package/lib/config-provider/configProvider.js +3 -18
  126. package/lib/config-provider/defaultConfig.js +0 -5
  127. package/lib/config-provider/index.js +0 -6
  128. package/lib/index.js +2 -8
  129. package/lib/locale/index.js +0 -7
  130. package/lib/locale/locale.js +5 -57
  131. package/lib/table/base/calculations.js +22 -83
  132. package/lib/table/base/colgroup.js +0 -5
  133. package/lib/table/base/empty.js +4 -16
  134. package/lib/table/base/header.js +16 -79
  135. package/lib/table/base/helpers/SpanManager.js +3 -11
  136. package/lib/table/base/helpers/TableDOMUtils.js +2 -28
  137. package/lib/table/base/helpers/__test__/SpanManager.test.js +2 -4
  138. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -5
  139. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -1
  140. package/lib/table/base/helpers/getRichVisibleRectsStream.js +13 -63
  141. package/lib/table/base/helpers/rowHeightManager.js +0 -33
  142. package/lib/table/base/html-table.js +14 -45
  143. package/lib/table/base/index.js +0 -2
  144. package/lib/table/base/loading.js +6 -12
  145. package/lib/table/base/renderTemplates.js +27 -58
  146. package/lib/table/base/styles.js +0 -21
  147. package/lib/table/base/table.js +95 -214
  148. package/lib/table/base/utils.js +14 -89
  149. package/lib/table/common-views.js +0 -16
  150. package/lib/table/index.js +0 -13
  151. package/lib/table/internals.js +0 -14
  152. package/lib/table/pipeline/features/autoFill.js +11 -47
  153. package/lib/table/pipeline/features/autoRowSpan.js +1 -19
  154. package/lib/table/pipeline/features/buildTree.js +0 -2
  155. package/lib/table/pipeline/features/colGroupExtendable.js +4 -32
  156. package/lib/table/pipeline/features/columnDrag.js +41 -102
  157. package/lib/table/pipeline/features/columnFilter.js +11 -62
  158. package/lib/table/pipeline/features/columnHover.js +1 -11
  159. package/lib/table/pipeline/features/columnRangeHover.js +1 -13
  160. package/lib/table/pipeline/features/columnResizeWidth.js +11 -53
  161. package/lib/table/pipeline/features/contextMenu.js +18 -113
  162. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +10 -43
  163. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +1 -4
  164. package/lib/table/pipeline/features/filter/Filter.js +25 -70
  165. package/lib/table/pipeline/features/filter/FilterPanel.js +11 -40
  166. package/lib/table/pipeline/features/filter/index.js +0 -5
  167. package/lib/table/pipeline/features/filter/util.js +0 -7
  168. package/lib/table/pipeline/features/footerDataSource.js +0 -10
  169. package/lib/table/pipeline/features/index.js +0 -23
  170. package/lib/table/pipeline/features/mergeCellHover.js +0 -5
  171. package/lib/table/pipeline/features/multiSelect.js +15 -71
  172. package/lib/table/pipeline/features/rangeSelection.js +63 -159
  173. package/lib/table/pipeline/features/rowDetail.js +2 -65
  174. package/lib/table/pipeline/features/rowDrag.js +38 -87
  175. package/lib/table/pipeline/features/rowGrouping.js +2 -55
  176. package/lib/table/pipeline/features/singleSelect.js +0 -34
  177. package/lib/table/pipeline/features/sort.js +31 -108
  178. package/lib/table/pipeline/features/tips.js +0 -15
  179. package/lib/table/pipeline/features/treeMode.js +14 -67
  180. package/lib/table/pipeline/features/treeSelect.js +0 -34
  181. package/lib/table/pipeline/index.js +0 -8
  182. package/lib/table/pipeline/pipeline.js +11 -60
  183. package/lib/table/pivot/cross-table/buildCrossTable.js +15 -75
  184. package/lib/table/pivot/cross-table/cross-table.js +22 -36
  185. package/lib/table/pivot/cross-table/index.js +0 -4
  186. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +14 -60
  187. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +28 -60
  188. package/lib/table/pivot/cross-tree-table/index.js +0 -3
  189. package/lib/table/pivot/pivot-utils/buildDrillTree.js +10 -29
  190. package/lib/table/pivot/pivot-utils/builders.js +31 -82
  191. package/lib/table/pivot/pivot-utils/convert-utils.js +13 -57
  192. package/lib/table/pivot/pivot-utils/index.js +0 -7
  193. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -2
  194. package/lib/table/style/css.js +0 -1
  195. package/lib/table/style/index.js +0 -1
  196. package/lib/table/transforms/autoRowSpan.js +1 -21
  197. package/lib/table/transforms/autoWidth.js +10 -53
  198. package/lib/table/transforms/buildTree.js +1 -4
  199. package/lib/table/transforms/columnHover.js +9 -22
  200. package/lib/table/transforms/columnRangeHover.js +12 -27
  201. package/lib/table/transforms/columnResize.js +15 -56
  202. package/lib/table/transforms/flatten.js +0 -5
  203. package/lib/table/transforms/index.js +0 -12
  204. package/lib/table/transforms/orderField.js +0 -7
  205. package/lib/table/transforms/sort.js +36 -117
  206. package/lib/table/transforms/tips.js +1 -16
  207. package/lib/table/transforms/treeMode.js +30 -96
  208. package/lib/table/transforms/visible.js +0 -7
  209. package/lib/table/transforms/warnTransformsDeprecated.js +0 -4
  210. package/lib/table/use/useResizeObserver.js +1 -8
  211. package/lib/table/utils/applyTransforms.js +0 -2
  212. package/lib/table/utils/browserType.js +12 -19
  213. package/lib/table/utils/buildTree.js +4 -30
  214. package/lib/table/utils/collectNodes.js +1 -15
  215. package/lib/table/utils/console.js +0 -16
  216. package/lib/table/utils/copyToClipboard.js +0 -6
  217. package/lib/table/utils/element.js +14 -46
  218. package/lib/table/utils/exportTableAsExcel.js +4 -49
  219. package/lib/table/utils/getTreeDepth.js +1 -14
  220. package/lib/table/utils/groupBy.js +1 -14
  221. package/lib/table/utils/index.js +0 -22
  222. package/lib/table/utils/isGroupColumn.js +0 -3
  223. package/lib/table/utils/isLeafNode.js +0 -1
  224. package/lib/table/utils/layeredFilter.js +0 -10
  225. package/lib/table/utils/layeredSort.js +0 -10
  226. package/lib/table/utils/makeRecursiveMapper.js +1 -21
  227. package/lib/table/utils/mergeCellProps.js +6 -17
  228. package/lib/table/utils/others.js +3 -31
  229. package/lib/table/utils/proto.js +2 -33
  230. package/lib/table/utils/selectColumn.js +0 -1
  231. package/lib/table/utils/smartCompare.js +4 -13
  232. package/lib/table/utils/traverseColumn.js +2 -22
  233. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +1 -30
  234. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +15 -82
  235. package/lib/table/utils/uiDegrade.js +1 -8
  236. package/package.json +2 -1
  237. package/lib/style/color/colors.less +0 -2
  238. package/lib/style/core/index.less +0 -2
  239. package/lib/style/core/motion/other.less +0 -28
  240. package/lib/style/core/motion/slide.less +0 -53
  241. package/lib/style/core/motion.less +0 -2
  242. package/lib/style/core/reset.less +0 -186
  243. package/lib/style/index.css +0 -410
  244. package/lib/style/index.less +0 -2
  245. package/lib/style/mixins/index.less +0 -19
  246. package/lib/style/mixins/overlay.less +0 -22
  247. package/lib/style/mixins/reset.less +0 -13
  248. package/lib/style/themes/default.less +0 -445
  249. package/lib/style/themes/index.less +0 -1
  250. package/lib/table/style/index.css +0 -0
  251. package/lib/table/style/index.less +0 -1
@@ -1,38 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.formatEditNumber = formatEditNumber;
9
8
  exports.formatNumber = formatNumber;
10
-
11
9
  var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
12
-
13
10
  var _parseFloat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/number/parse-float"));
14
-
15
11
  var _isNan = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/number/is-nan"));
16
-
17
12
  var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
18
-
19
13
  var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
20
-
21
14
  var _numberUtil = require("./numberUtil");
22
-
23
15
  var __rest = void 0 && (void 0).__rest || function (s, e) {
24
16
  var t = {};
25
-
26
17
  for (var p in s) {
27
18
  if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
28
19
  }
29
-
30
20
  if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
31
21
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
32
22
  }
33
23
  return t;
34
24
  };
35
-
36
25
  /**
37
26
  * [数值类型格式化]
38
27
  * @param {[type]} num [待格式化的数字]
@@ -57,17 +46,15 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
57
46
  */
58
47
  function formatNumber(num, formatParams) {
59
48
  var _context;
60
-
61
49
  var _formatParams$mask = formatParams.mask,
62
- mask = _formatParams$mask === void 0 ? '' : _formatParams$mask,
63
- _formatParams$zeroSho = formatParams.zeroShow,
64
- zeroShow = _formatParams$zeroSho === void 0 ? false : _formatParams$zeroSho,
65
- decimalLength = formatParams.decimalLength,
66
- _formatParams$showDec = formatParams.showDecimalTailZero,
67
- showDecimalTailZero = _formatParams$showDec === void 0 ? false : _formatParams$showDec,
68
- isRound = formatParams.isRound,
69
- param = __rest(formatParams, ["mask", "zeroShow", "decimalLength", "showDecimalTailZero", "isRound"]);
70
-
50
+ mask = _formatParams$mask === void 0 ? '' : _formatParams$mask,
51
+ _formatParams$zeroSho = formatParams.zeroShow,
52
+ zeroShow = _formatParams$zeroSho === void 0 ? false : _formatParams$zeroSho,
53
+ decimalLength = formatParams.decimalLength,
54
+ _formatParams$showDec = formatParams.showDecimalTailZero,
55
+ showDecimalTailZero = _formatParams$showDec === void 0 ? false : _formatParams$showDec,
56
+ isRound = formatParams.isRound,
57
+ param = __rest(formatParams, ["mask", "zeroShow", "decimalLength", "showDecimalTailZero", "isRound"]);
71
58
  if (decimalLength !== undefined && (decimalLength < 0 || decimalLength > 100)) return num + '';
72
59
  if (num === undefined || num === null) num = '';
73
60
  var numInfo = {
@@ -75,38 +62,31 @@ function formatNumber(num, formatParams) {
75
62
  intStr: '',
76
63
  decimalStr: ''
77
64
  };
78
-
79
65
  if (typeof num === 'number') {
80
66
  numInfo.numStr = num + '';
81
67
  } else {
82
68
  numInfo.numStr = num.replace(/,/g, '');
83
-
84
69
  if ((0, _numberUtil.isExp)(numInfo.numStr)) {
85
70
  numInfo.numStr = (0, _numberUtil.exponentToFloat)(numInfo.numStr);
86
71
  }
87
72
  }
88
-
89
- var floatNum = (0, _parseFloat.default)(numInfo.numStr); // 非纯数字不处理,直接返回''
73
+ var floatNum = (0, _parseFloat.default)(numInfo.numStr);
74
+ // 非纯数字不处理,直接返回''
90
75
  // if (Number.isNaN(floatNum)) return ''
91
-
92
76
  if ((0, _isNan.default)(Number(num))) {
93
77
  // throw new Error('toFixed() number argument must be a valid number')
94
78
  return num + '';
95
- } // 为零不显示,且等于零,直接返回''
96
-
97
-
79
+ }
80
+ // 为零不显示,且等于零,直接返回''
98
81
  if (!zeroShow && Number(num) === 0) return '';
99
82
  var maskInfo = analyzMask(mask);
100
83
  if (maskInfo.errorMask) return numInfo.numStr;
101
84
  var isIncludePercent = (0, _includes.default)(_context = numInfo.numStr).call(_context, '%');
102
-
103
85
  if (maskInfo.percent) {
104
86
  if (!isIncludePercent) {
105
87
  var _context2;
106
-
107
88
  var point = numInfo.numStr.indexOf('.');
108
89
  var length = numInfo.numStr.length;
109
-
110
90
  if (point < 0) {
111
91
  numInfo.numStr = numInfo.numStr + '00';
112
92
  } else if (point === length - 1) {
@@ -116,28 +96,22 @@ function formatNumber(num, formatParams) {
116
96
  } else {
117
97
  var numStr = numInfo.numStr.replace('.', '');
118
98
  numInfo.numStr = numStr.substring(0, point + 2) + '.' + numStr.substring(point + 2);
119
- } // 去掉数字前面的零
120
-
121
-
99
+ }
100
+ // 去掉数字前面的零
122
101
  numInfo.numStr = numInfo.numStr.replace(/^0+/, '');
123
102
  if (numInfo.numStr === '.') numInfo.numStr = '0';
124
-
125
103
  if ((0, _includes.default)(_context2 = numInfo.numStr).call(_context2, '-')) {
126
104
  // 负数的情况 去掉前面的0
127
105
  numInfo.numStr = numInfo.numStr.replace('-', '');
128
106
  numInfo.numStr = numInfo.numStr.replace(/^0+/, '');
129
107
  numInfo.numStr = '-' + numInfo.numStr;
130
108
  }
131
-
132
109
  floatNum = floatNum * 100;
133
110
  }
134
111
  }
135
-
136
112
  var isNegativeNumber = floatNum < 0; // 是否是负数
137
-
138
113
  if (isNegativeNumber) {
139
114
  var _context3;
140
-
141
115
  floatNum = Math.abs(floatNum);
142
116
  numInfo.numStr = (0, _slice.default)(_context3 = numInfo.numStr).call(_context3, 1); // 去除第一个负号
143
117
  }
@@ -145,34 +119,28 @@ function formatNumber(num, formatParams) {
145
119
  var numStrArr = numInfo.numStr.split('.');
146
120
  numInfo.intStr = numStrArr[0];
147
121
  numInfo.decimalStr = numStrArr[1] || '';
148
-
149
122
  if (!showDecimalTailZero) {
150
123
  numInfo = cutTailZero(numInfo);
151
- } // 小数部分处理。暂时不考虑其他。只校验位数和尾数补零问题,整数
152
-
153
-
124
+ }
125
+ // 小数部分处理。暂时不考虑其他。只校验位数和尾数补零问题,整数
154
126
  if (decimalLength !== undefined && decimalLength >= 0) {
155
127
  // floatNum = Number.parseFloat(numInfo.numStr) // 当整数位数大于16位时,parseFloat会丢掉末尾的值,有问题!!!
156
128
  numInfo.numStr = (0, _numberUtil.toFixed)(numInfo.numStr, decimalLength, isRound);
157
- numStrArr = numInfo.numStr.split('.'); // 去除整数部分多余的 0
158
-
129
+ numStrArr = numInfo.numStr.split('.');
130
+ // 去除整数部分多余的 0
159
131
  var intStr = numStrArr[0].replace(/^0+/, '');
160
132
  numInfo.intStr = intStr === '' ? '0' : intStr;
161
133
  numInfo.decimalStr = numStrArr[1] || '';
162
-
163
134
  if (!showDecimalTailZero) {
164
135
  numInfo = cutTailZero(numInfo);
165
136
  }
166
- } // 整数部分格式化
167
-
168
-
137
+ }
138
+ // 整数部分格式化
169
139
  var formatValue = intFormatMask(maskInfo.intMask, numInfo.intStr);
170
140
  var currencySign = maskInfo.currencySign ? '$' : '';
171
-
172
141
  if (param.symbol) {
173
142
  currencySign = param.symbol;
174
143
  }
175
-
176
144
  return currencySign + (isNegativeNumber ? '-' : '') + (formatValue || numInfo.intStr || '0') + (numInfo.decimalStr.length > 0 ? '.' : '') + numInfo.decimalStr + (maskInfo.percent ? '%' : '');
177
145
  }
178
146
  /**
@@ -181,17 +149,15 @@ function formatNumber(num, formatParams) {
181
149
  * @param {*} num
182
150
  * @param {*} param
183
151
  */
184
-
185
-
186
152
  function formatEditNumber(num, _ref) {
187
153
  var _ref$zeroShow = _ref.zeroShow,
188
- zeroShow = _ref$zeroShow === void 0 ? false : _ref$zeroShow,
189
- decimalLength = _ref.decimalLength,
190
- _ref$showDecimalTailZ = _ref.showDecimalTailZero,
191
- showDecimalTailZero = _ref$showDecimalTailZ === void 0 ? false : _ref$showDecimalTailZ,
192
- _ref$roundMethod = _ref.roundMethod,
193
- roundMethod = _ref$roundMethod === void 0 ? '0' : _ref$roundMethod,
194
- symbol = _ref.symbol;
154
+ zeroShow = _ref$zeroShow === void 0 ? false : _ref$zeroShow,
155
+ decimalLength = _ref.decimalLength,
156
+ _ref$showDecimalTailZ = _ref.showDecimalTailZero,
157
+ showDecimalTailZero = _ref$showDecimalTailZ === void 0 ? false : _ref$showDecimalTailZ,
158
+ _ref$roundMethod = _ref.roundMethod,
159
+ roundMethod = _ref$roundMethod === void 0 ? '0' : _ref$roundMethod,
160
+ symbol = _ref.symbol;
195
161
  // 如果精度超过100,直接返回数值
196
162
  if (decimalLength && (decimalLength < 0 || decimalLength > 100)) return num + '';
197
163
  if (num === undefined || num === null) num = '';
@@ -200,31 +166,25 @@ function formatEditNumber(num, _ref) {
200
166
  intStr: '',
201
167
  decimalStr: ''
202
168
  };
203
-
204
169
  if (typeof num === 'number') {
205
170
  numInfo.numStr = num + '';
206
171
  } else {
207
172
  numInfo.numStr = num.replace(/,/g, '');
208
-
209
173
  if ((0, _numberUtil.isExp)(numInfo.numStr)) {
210
174
  numInfo.numStr = (0, _numberUtil.exponentToFloat)(numInfo.numStr);
211
175
  }
212
-
213
176
  if (symbol && numInfo.numStr.indexOf(symbol) === 0) {
214
177
  numInfo.numStr = numInfo.numStr.replace(symbol, '');
215
178
  }
216
179
  }
217
-
218
- var floatNum = (0, _parseFloat.default)(numInfo.numStr); // 非纯数字不处理,直接返回''
219
-
220
- if ((0, _isNan.default)(floatNum)) return ''; // 为零不显示,且等于零,直接返回''
221
-
180
+ var floatNum = (0, _parseFloat.default)(numInfo.numStr);
181
+ // 非纯数字不处理,直接返回''
182
+ if ((0, _isNan.default)(floatNum)) return '';
183
+ // 为零不显示,且等于零,直接返回''
222
184
  if (!zeroShow && floatNum === 0) return '';
223
185
  var isNegativeNumber = floatNum < 0; // 是否是负数
224
-
225
186
  if (isNegativeNumber) {
226
187
  var _context4;
227
-
228
188
  floatNum = Math.abs(floatNum);
229
189
  numInfo.numStr = (0, _slice.default)(_context4 = numInfo.numStr).call(_context4, 1); // 去除第一个负号
230
190
  }
@@ -232,29 +192,23 @@ function formatEditNumber(num, _ref) {
232
192
  var numStrArr = numInfo.numStr.split('.');
233
193
  numInfo.intStr = numStrArr[0];
234
194
  numInfo.decimalStr = numStrArr[1] || '';
235
-
236
195
  if (!showDecimalTailZero) {
237
196
  numInfo = cutTailZero(numInfo);
238
- } // 小数部分处理。暂时不考虑其他。只校验位数和尾数补零问题,整数
239
-
240
-
197
+ }
198
+ // 小数部分处理。暂时不考虑其他。只校验位数和尾数补零问题,整数
241
199
  if (decimalLength != null && decimalLength >= 0) {
242
200
  // floatNum = Number.parseFloat(numInfo.numStr) // 当整数位数大于16位时,parseFloat会丢掉末尾的值
243
201
  var isRound = roundMethod.toString() === '1'; // 是否四舍五入
244
-
245
202
  numInfo.numStr = (0, _numberUtil.toFixed)(numInfo.numStr, decimalLength, isRound);
246
203
  numStrArr = numInfo.numStr.split('.');
247
204
  numInfo.intStr = numStrArr[0];
248
205
  numInfo.decimalStr = numStrArr[1] || '';
249
-
250
206
  if (!showDecimalTailZero) {
251
207
  numInfo = cutTailZero(numInfo);
252
208
  }
253
209
  }
254
-
255
210
  return (isNegativeNumber ? '-' : '') + (numInfo.intStr || '0') + (numInfo.decimalStr.length > 0 ? '.' : '') + numInfo.decimalStr;
256
211
  }
257
-
258
212
  function analyzMask(mask) {
259
213
  var maskInfo = {
260
214
  errorMask: false,
@@ -266,27 +220,20 @@ function analyzMask(mask) {
266
220
  };
267
221
  mask = mask.replace(/%%/g, '');
268
222
  maskInfo.currencySign = mask.indexOf('$') >= 0; // 是否显示货币标识
269
-
270
223
  maskInfo.percent = mask.indexOf('%') >= 0; // 是否有百分号
271
-
272
224
  mask = mask.replace(/%/g, '').replace(/\$/g, ''); // 清楚上面的特殊字符
273
-
274
225
  var masks = mask.split('.'); // 以小数点为界切分掩码
275
-
276
226
  if (masks.length > 2) {
277
227
  maskInfo.errorMask = true;
278
228
  }
279
-
280
229
  maskInfo.intMask = masks[0];
281
230
  maskInfo.decimalMask = masks[1];
282
231
  maskInfo.formatMask = mask;
283
232
  return maskInfo;
284
233
  }
285
-
286
234
  function cutTailZero(numInfo) {
287
235
  var decimalStr = numInfo.decimalStr;
288
236
  var len = decimalStr.length;
289
-
290
237
  if (len > 0) {
291
238
  for (var i = len - 1; i >= 0; i--) {
292
239
  if (decimalStr[i] === '0') {
@@ -295,28 +242,22 @@ function cutTailZero(numInfo) {
295
242
  break;
296
243
  }
297
244
  }
298
-
299
245
  numInfo.decimalStr = decimalStr;
300
246
  }
301
-
302
247
  return numInfo;
303
248
  }
304
-
305
249
  function intFormatMask(intMask, intValue) {
306
250
  var numGroupFormat = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
307
251
  var index = 0;
308
252
  var firstHashIndex = intMask.indexOf('#');
309
253
  var lastHashIndex = intMask.lastIndexOf('#');
310
254
  var formatValue = '';
311
-
312
255
  if (intMask.split(',').length > 1) {
313
256
  // 如果包含多个分隔符,则认为是末尾分隔符为分组数
314
257
  lastHashIndex = intMask.length - 1 - intMask.lastIndexOf(',');
315
258
  }
316
-
317
259
  for (var i = intMask.length - 1; i >= 0;) {
318
260
  var char = intMask.charAt(i);
319
-
320
261
  switch (char) {
321
262
  case '0':
322
263
  // 数字必录
@@ -324,35 +265,29 @@ function intFormatMask(intMask, intValue) {
324
265
  index++;
325
266
  i--;
326
267
  break;
327
-
328
268
  case '9':
329
269
  // 数字可选
330
270
  formatValue = intValue.charAt(intValue.length - 1 - index) + formatValue;
331
271
  index++;
332
272
  i--;
333
273
  break;
334
-
335
274
  case '#':
336
275
  // 递归
337
276
  formatValue = intValue.charAt(intValue.length - 1 - index) + formatValue;
338
277
  index++;
339
278
  i = i === firstHashIndex ? lastHashIndex : i - 1;
340
279
  break;
341
-
342
280
  default:
343
281
  if (numGroupFormat) char = numGroupFormat;
344
282
  formatValue = char + formatValue;
345
283
  i--;
346
284
  break;
347
285
  }
348
-
349
286
  if (index >= intValue.length) break;
350
- } // 如果第一个字符不是数字,去掉
351
-
352
-
287
+ }
288
+ // 如果第一个字符不是数字,去掉
353
289
  if (formatValue && !/^[0-9]*$/.test(formatValue.charAt(0))) {
354
290
  formatValue = formatValue.substring(1);
355
291
  }
356
-
357
292
  return formatValue;
358
293
  }
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
4
-
5
4
  var _Array$from = require("@babel/runtime-corejs3/core-js-stable/array/from");
6
-
7
5
  var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
8
-
9
6
  var _getIteratorMethod = require("@babel/runtime-corejs3/core-js/get-iterator-method");
10
-
11
7
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
-
13
8
  Object.defineProperty(exports, "__esModule", {
14
9
  value: true
15
10
  });
@@ -17,23 +12,14 @@ exports.useMergedState = useMergedState;
17
12
  exports.useOnClickOutside = useOnClickOutside;
18
13
  exports.usePrevious = usePrevious;
19
14
  exports.useResizeObserver = useResizeObserver;
20
-
21
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
22
-
23
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
24
-
25
17
  var _react = require("react");
26
-
27
18
  var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
28
-
29
19
  var _devwarning = _interopRequireDefault(require("./devwarning"));
30
-
31
20
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
32
-
33
21
  function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
34
-
35
22
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
36
-
37
23
  /**
38
24
  * @description 点击指定区域外执行回调
39
25
  *
@@ -45,12 +31,10 @@ function useOnClickOutside(refs, handler) {
45
31
  (0, _react.useEffect)(function () {
46
32
  var listener = function listener(event) {
47
33
  var _iterator = _createForOfIteratorHelper(refs),
48
- _step;
49
-
34
+ _step;
50
35
  try {
51
36
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
52
37
  var ref = _step.value;
53
-
54
38
  if (!ref.current || ref.current.contains(event.target)) {
55
39
  return;
56
40
  }
@@ -60,10 +44,8 @@ function useOnClickOutside(refs, handler) {
60
44
  } finally {
61
45
  _iterator.f();
62
46
  }
63
-
64
47
  handler(event);
65
48
  };
66
-
67
49
  document.addEventListener('mousedown', listener);
68
50
  document.addEventListener('touchstart', listener);
69
51
  return function () {
@@ -87,52 +69,42 @@ function useOnClickOutside(refs, handler) {
87
69
  * })} [option]
88
70
  * @returns {[R, (value: T) => void]}
89
71
  */
90
-
91
-
92
- function useMergedState(defaultStateValue, // 初始state
72
+ function useMergedState(defaultStateValue,
73
+ // 初始state
93
74
  option) {
94
75
  var _ref = option || {},
95
- defaultValue = _ref.defaultValue,
96
- value = _ref.value,
97
- onChange = _ref.onChange,
98
- postState = _ref.postState;
99
-
76
+ defaultValue = _ref.defaultValue,
77
+ value = _ref.value,
78
+ onChange = _ref.onChange,
79
+ postState = _ref.postState;
100
80
  var _useState = (0, _react.useState)(function () {
101
- if (value !== undefined) {
102
- return value;
103
- }
104
-
105
- if (defaultValue !== undefined) {
106
- return typeof defaultValue === 'function' ? defaultValue() : defaultValue;
107
- }
108
-
109
- return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;
110
- }),
111
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
112
- innerValue = _useState2[0],
113
- setInnerValue = _useState2[1];
114
-
81
+ if (value !== undefined) {
82
+ return value;
83
+ }
84
+ if (defaultValue !== undefined) {
85
+ return typeof defaultValue === 'function' ? defaultValue() : defaultValue;
86
+ }
87
+ return typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;
88
+ }),
89
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
90
+ innerValue = _useState2[0],
91
+ setInnerValue = _useState2[1];
115
92
  var mergedValue = value !== undefined ? value : innerValue;
116
-
117
93
  if (postState) {
118
94
  mergedValue = postState(mergedValue);
119
95
  }
120
-
121
96
  function triggerChange(newValue) {
122
97
  setInnerValue(newValue);
123
-
124
98
  if (mergedValue !== newValue && onChange) {
125
99
  onChange(newValue, mergedValue);
126
100
  }
127
101
  }
128
-
129
102
  var firstRenderRef = (0, _react.useRef)(true);
130
103
  (0, _react.useEffect)(function () {
131
104
  if (firstRenderRef.current) {
132
105
  firstRenderRef.current = false;
133
106
  return;
134
107
  }
135
-
136
108
  if (value === undefined) {
137
109
  setInnerValue(value);
138
110
  }
@@ -145,8 +117,6 @@ option) {
145
117
  * @export
146
118
  * @param {P} value
147
119
  */
148
-
149
-
150
120
  function usePrevious(value) {
151
121
  var ref = (0, _react.useRef)(value);
152
122
  (0, _react.useEffect)(function () {
@@ -154,28 +124,23 @@ function usePrevious(value) {
154
124
  }, [value]);
155
125
  return ref.current;
156
126
  }
157
-
158
127
  function useResizeObserver(element, handler) {
159
128
  (0, _react.useEffect)(function () {
160
129
  if (!element) {
161
130
  (0, _devwarning.default)(!element && element !== null, 'useResizeMeasure', 'useResizeMeasure指定的元素不存在');
162
131
  return;
163
132
  }
164
-
165
133
  var measure = function measure(entries) {
166
134
  if (!entries[0] || !entries[0].contentRect) {
167
135
  return;
168
136
  }
169
-
170
137
  var contentRect = entries[0].contentRect;
171
138
  var hide = contentRect.width === 0 && contentRect.height === 0; // 隐藏条件:高宽都为0
172
-
173
139
  var rect = (0, _extends2.default)({
174
140
  hide: hide
175
141
  }, contentRect);
176
142
  handler && handler(rect);
177
143
  };
178
-
179
144
  var resizeObserver = new _resizeObserverPolyfill.default(measure);
180
145
  resizeObserver && resizeObserver.observe(element);
181
146
  return function () {
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.getCompProps = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
-
12
9
  var _compDefaultProps = _interopRequireDefault(require("../config-provider/compDefaultProps"));
13
-
14
10
  // kd-ui提供组件默认属性
15
-
16
11
  /**
17
12
  * 结合compDefaultProps、用户自定义默认属性和组件当前属性获取组件实际应用属性
18
13
  * @param {keyof typeof compDefaultProps} compName 组件名
@@ -24,5 +19,4 @@ var getCompProps = function getCompProps(compName, userDefaultProps, compProps)
24
19
  var userProps = userDefaultProps && userDefaultProps[compName] || {};
25
20
  return (0, _extends2.default)({}, defaultProps, userProps, compProps || {});
26
21
  };
27
-
28
22
  exports.getCompProps = getCompProps;