amis-core 6.3.0 → 6.4.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 (301) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +3 -2
  4. package/esm/Scoped.d.ts +1 -0
  5. package/esm/Scoped.js +28 -14
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +4 -2
  10. package/esm/actions/AjaxAction.js +29 -19
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +2 -2
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +1 -1
  17. package/esm/actions/DialogAction.js +30 -14
  18. package/esm/actions/DrawerAction.js +15 -7
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.d.ts +2 -2
  26. package/esm/actions/PrintAction.js +6 -6
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +1 -1
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -4
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +1 -1
  35. package/esm/components/PopOver.js +1 -1
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.d.ts +1 -0
  39. package/esm/factory.js +1 -1
  40. package/esm/index.js +2 -2
  41. package/esm/locale.js +1 -1
  42. package/esm/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +12 -0
  43. package/esm/node_modules/@babel/runtime/helpers/esm/createClass.js +26 -0
  44. package/esm/node_modules/@babel/runtime/helpers/esm/defineProperty.js +23 -0
  45. package/esm/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +19 -0
  46. package/esm/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +14 -0
  47. package/esm/node_modules/@babel/runtime/helpers/esm/typeof.js +16 -0
  48. package/esm/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +184 -0
  49. package/esm/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +56 -0
  50. package/esm/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +119 -0
  51. package/esm/node_modules/@rc-component/mini-decimal/es/numberUtil.js +105 -0
  52. package/esm/node_modules/@rc-component/mini-decimal/es/supportUtil.js +10 -0
  53. package/esm/polyfills.js +1 -1
  54. package/esm/renderers/Form.d.ts +3 -2
  55. package/esm/renderers/Form.js +55 -44
  56. package/esm/renderers/Item.js +1 -1
  57. package/esm/renderers/Options.js +1 -1
  58. package/esm/renderers/Placeholder.js +1 -1
  59. package/esm/renderers/builtin.js +1 -1
  60. package/esm/renderers/register.js +1 -1
  61. package/esm/renderers/wrapControl.js +31 -27
  62. package/esm/store/app.js +1 -1
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.js +12 -6
  65. package/esm/store/form.js +1 -1
  66. package/esm/store/formItem.js +1 -1
  67. package/esm/store/iRenderer.js +6 -3
  68. package/esm/store/index.js +1 -1
  69. package/esm/store/list.d.ts +13 -0
  70. package/esm/store/list.js +14 -1
  71. package/esm/store/manager.js +1 -1
  72. package/esm/store/modal.js +1 -1
  73. package/esm/store/node.js +1 -1
  74. package/esm/store/pagination.js +1 -1
  75. package/esm/store/root.js +1 -1
  76. package/esm/store/service.js +1 -1
  77. package/esm/store/status.js +1 -1
  78. package/esm/store/table.d.ts +1 -0
  79. package/esm/store/table.js +5 -1
  80. package/esm/store/table2.js +1 -1
  81. package/esm/theme.js +1 -1
  82. package/esm/types.d.ts +1 -1
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.js +1 -1
  86. package/esm/utils/DataScope.js +1 -1
  87. package/esm/utils/RootClose.js +1 -1
  88. package/esm/utils/SimpleMap.js +1 -1
  89. package/esm/utils/api.js +1 -1
  90. package/esm/utils/arraySlice.js +1 -1
  91. package/esm/utils/attachmentAdpator.js +1 -1
  92. package/esm/utils/autobind.js +1 -1
  93. package/esm/utils/browser.js +1 -1
  94. package/esm/utils/columnsSplit.js +1 -1
  95. package/esm/utils/concatData.js +1 -1
  96. package/esm/utils/dataMapping.js +1 -1
  97. package/esm/utils/date.js +1 -1
  98. package/esm/utils/debug.js +1 -1
  99. package/esm/utils/decodeEntity.js +1 -1
  100. package/esm/utils/dom.js +3 -3
  101. package/esm/utils/errors.js +1 -1
  102. package/esm/utils/escapeHtml.js +1 -1
  103. package/esm/utils/filter-schema.js +1 -1
  104. package/esm/utils/filter.js +1 -1
  105. package/esm/utils/formatDuration.js +1 -1
  106. package/esm/utils/formula.js +1 -1
  107. package/esm/utils/getVariable.js +1 -1
  108. package/esm/utils/grammar.js +1 -1
  109. package/esm/utils/handleAction.js +1 -1
  110. package/esm/utils/helper.js +3 -3
  111. package/esm/utils/highlight.js +1 -1
  112. package/esm/utils/icon.js +1 -1
  113. package/esm/utils/image.js +1 -1
  114. package/esm/utils/isPureVariable.js +1 -1
  115. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  116. package/esm/utils/keyToPath.js +1 -1
  117. package/esm/utils/labelToString.js +1 -1
  118. package/esm/utils/makeSorter.js +1 -1
  119. package/esm/utils/math.js +1 -1
  120. package/esm/utils/memoryParse.js +1 -1
  121. package/esm/utils/normalizeLink.js +1 -1
  122. package/esm/utils/normalizeOptions.js +1 -1
  123. package/esm/utils/object.js +1 -1
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +1 -1
  127. package/esm/utils/position.js +1 -1
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/printElement.js +1 -1
  130. package/esm/utils/renderer-event.d.ts +2 -0
  131. package/esm/utils/renderer-event.js +13 -1
  132. package/esm/utils/replaceText.js +1 -1
  133. package/esm/utils/resize-sensor.js +1 -1
  134. package/esm/utils/resolveCondition.js +1 -1
  135. package/esm/utils/resolveVariable.js +1 -1
  136. package/esm/utils/resolveVariableAndFilter.js +1 -1
  137. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  138. package/esm/utils/scrollPosition.js +1 -1
  139. package/esm/utils/string2regExp.js +1 -1
  140. package/esm/utils/stripNumber.js +5 -2
  141. package/esm/utils/style-helper.js +1 -1
  142. package/esm/utils/style.js +1 -1
  143. package/esm/utils/toNumber.js +1 -1
  144. package/esm/utils/tokenize.js +1 -1
  145. package/esm/utils/tpl-builtin.js +1 -1
  146. package/esm/utils/tpl-lodash.js +1 -1
  147. package/esm/utils/tpl.js +4 -4
  148. package/esm/utils/uncontrollable.js +1 -1
  149. package/esm/utils/validateId.js +1 -1
  150. package/esm/utils/validations.js +1 -1
  151. package/lib/Root.js +1 -1
  152. package/lib/RootRenderer.js +1 -1
  153. package/lib/SchemaRenderer.js +3 -2
  154. package/lib/Scoped.d.ts +1 -0
  155. package/lib/Scoped.js +28 -14
  156. package/lib/StatusScoped.js +1 -1
  157. package/lib/WithRootStore.js +1 -1
  158. package/lib/WithStore.js +1 -1
  159. package/lib/actions/Action.js +4 -2
  160. package/lib/actions/AjaxAction.js +29 -19
  161. package/lib/actions/BreakAction.js +1 -1
  162. package/lib/actions/BroadcastAction.js +1 -1
  163. package/lib/actions/CmptAction.js +2 -2
  164. package/lib/actions/ContinueAction.js +1 -1
  165. package/lib/actions/CopyAction.js +1 -1
  166. package/lib/actions/CustomAction.js +1 -1
  167. package/lib/actions/DialogAction.js +30 -14
  168. package/lib/actions/DrawerAction.js +15 -7
  169. package/lib/actions/EmailAction.js +1 -1
  170. package/lib/actions/EventAction.js +1 -1
  171. package/lib/actions/LinkAction.js +1 -1
  172. package/lib/actions/LoopAction.js +1 -1
  173. package/lib/actions/PageAction.js +1 -1
  174. package/lib/actions/ParallelAction.js +1 -1
  175. package/lib/actions/PrintAction.d.ts +2 -2
  176. package/lib/actions/PrintAction.js +6 -6
  177. package/lib/actions/StatusAction.js +1 -1
  178. package/lib/actions/SwitchAction.js +1 -1
  179. package/lib/actions/ToastAction.js +1 -1
  180. package/lib/actions/WaitAction.js +1 -1
  181. package/lib/components/CustomStyle.js +1 -4
  182. package/lib/components/ErrorBoundary.js +1 -1
  183. package/lib/components/LazyComponent.js +1 -1
  184. package/lib/components/Overlay.js +1 -1
  185. package/lib/components/PopOver.js +1 -1
  186. package/lib/env.js +1 -1
  187. package/lib/envOverwrite.js +1 -1
  188. package/lib/factory.d.ts +1 -0
  189. package/lib/factory.js +1 -1
  190. package/lib/index.js +2 -2
  191. package/lib/locale.js +1 -1
  192. package/lib/node_modules/@babel/runtime/helpers/esm/classCallCheck.js +16 -0
  193. package/lib/node_modules/@babel/runtime/helpers/esm/createClass.js +30 -0
  194. package/lib/node_modules/@babel/runtime/helpers/esm/defineProperty.js +27 -0
  195. package/lib/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +23 -0
  196. package/lib/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +18 -0
  197. package/lib/node_modules/@babel/runtime/helpers/esm/typeof.js +20 -0
  198. package/lib/node_modules/@rc-component/mini-decimal/es/BigIntDecimal.js +188 -0
  199. package/lib/node_modules/@rc-component/mini-decimal/es/MiniDecimal.js +61 -0
  200. package/lib/node_modules/@rc-component/mini-decimal/es/NumberDecimal.js +123 -0
  201. package/lib/node_modules/@rc-component/mini-decimal/es/numberUtil.js +114 -0
  202. package/lib/node_modules/@rc-component/mini-decimal/es/supportUtil.js +14 -0
  203. package/lib/polyfills.js +1 -1
  204. package/lib/renderers/Form.d.ts +3 -2
  205. package/lib/renderers/Form.js +55 -44
  206. package/lib/renderers/Item.js +1 -1
  207. package/lib/renderers/Options.js +1 -1
  208. package/lib/renderers/Placeholder.js +1 -1
  209. package/lib/renderers/builtin.js +1 -1
  210. package/lib/renderers/register.js +1 -1
  211. package/lib/renderers/wrapControl.js +31 -27
  212. package/lib/store/app.js +1 -1
  213. package/lib/store/combo.js +1 -1
  214. package/lib/store/crud.js +12 -6
  215. package/lib/store/form.js +1 -1
  216. package/lib/store/formItem.js +1 -1
  217. package/lib/store/iRenderer.js +5 -2
  218. package/lib/store/index.js +1 -1
  219. package/lib/store/list.d.ts +13 -0
  220. package/lib/store/list.js +14 -1
  221. package/lib/store/manager.js +1 -1
  222. package/lib/store/modal.js +1 -1
  223. package/lib/store/node.js +1 -1
  224. package/lib/store/pagination.js +1 -1
  225. package/lib/store/root.js +1 -1
  226. package/lib/store/service.js +1 -1
  227. package/lib/store/status.js +1 -1
  228. package/lib/store/table.d.ts +1 -0
  229. package/lib/store/table.js +5 -1
  230. package/lib/store/table2.js +1 -1
  231. package/lib/theme.js +1 -1
  232. package/lib/types.d.ts +1 -1
  233. package/lib/utils/Animation.js +1 -1
  234. package/lib/utils/ColorScale.js +1 -1
  235. package/lib/utils/DataSchema.js +1 -1
  236. package/lib/utils/DataScope.js +1 -1
  237. package/lib/utils/RootClose.js +1 -1
  238. package/lib/utils/SimpleMap.js +1 -1
  239. package/lib/utils/api.js +1 -1
  240. package/lib/utils/arraySlice.js +1 -1
  241. package/lib/utils/attachmentAdpator.js +1 -1
  242. package/lib/utils/autobind.js +1 -1
  243. package/lib/utils/browser.js +1 -1
  244. package/lib/utils/columnsSplit.js +1 -1
  245. package/lib/utils/concatData.js +1 -1
  246. package/lib/utils/dataMapping.js +1 -1
  247. package/lib/utils/date.js +1 -1
  248. package/lib/utils/debug.js +1 -1
  249. package/lib/utils/decodeEntity.js +1 -1
  250. package/lib/utils/dom.js +3 -3
  251. package/lib/utils/errors.js +1 -1
  252. package/lib/utils/escapeHtml.js +1 -1
  253. package/lib/utils/filter-schema.js +1 -1
  254. package/lib/utils/filter.js +1 -1
  255. package/lib/utils/formatDuration.js +1 -1
  256. package/lib/utils/formula.js +1 -1
  257. package/lib/utils/getVariable.js +1 -1
  258. package/lib/utils/grammar.js +1 -1
  259. package/lib/utils/handleAction.js +1 -1
  260. package/lib/utils/helper.js +3 -4
  261. package/lib/utils/highlight.js +1 -1
  262. package/lib/utils/icon.js +1 -1
  263. package/lib/utils/image.js +1 -1
  264. package/lib/utils/isPureVariable.js +1 -1
  265. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  266. package/lib/utils/keyToPath.js +1 -1
  267. package/lib/utils/labelToString.js +1 -1
  268. package/lib/utils/makeSorter.js +1 -1
  269. package/lib/utils/math.js +1 -1
  270. package/lib/utils/memoryParse.js +1 -1
  271. package/lib/utils/normalizeLink.js +1 -1
  272. package/lib/utils/normalizeOptions.js +1 -1
  273. package/lib/utils/object.js +1 -1
  274. package/lib/utils/offset.js +1 -1
  275. package/lib/utils/offsetParent.js +1 -1
  276. package/lib/utils/optionValueCompare.js +1 -1
  277. package/lib/utils/position.js +1 -1
  278. package/lib/utils/prettyBytes.js +1 -1
  279. package/lib/utils/printElement.js +1 -1
  280. package/lib/utils/renderer-event.d.ts +2 -0
  281. package/lib/utils/renderer-event.js +13 -1
  282. package/lib/utils/replaceText.js +1 -1
  283. package/lib/utils/resize-sensor.js +1 -1
  284. package/lib/utils/resolveCondition.js +1 -1
  285. package/lib/utils/resolveVariable.js +1 -1
  286. package/lib/utils/resolveVariableAndFilter.js +1 -1
  287. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  288. package/lib/utils/scrollPosition.js +1 -1
  289. package/lib/utils/string2regExp.js +1 -1
  290. package/lib/utils/stripNumber.js +5 -2
  291. package/lib/utils/style-helper.js +1 -1
  292. package/lib/utils/style.js +1 -1
  293. package/lib/utils/toNumber.js +1 -1
  294. package/lib/utils/tokenize.js +1 -1
  295. package/lib/utils/tpl-builtin.js +1 -1
  296. package/lib/utils/tpl-lodash.js +1 -1
  297. package/lib/utils/tpl.js +4 -4
  298. package/lib/utils/uncontrollable.js +1 -1
  299. package/lib/utils/validateId.js +1 -1
  300. package/lib/utils/validations.js +1 -1
  301. package/package.json +2 -2
@@ -0,0 +1,12 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ function _classCallCheck(instance, Constructor) {
7
+ if (!(instance instanceof Constructor)) {
8
+ throw new TypeError("Cannot call a class as a function");
9
+ }
10
+ }
11
+
12
+ export { _classCallCheck as default };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import toPropertyKey from './toPropertyKey.js';
7
+
8
+ function _defineProperties(target, props) {
9
+ for (var i = 0; i < props.length; i++) {
10
+ var descriptor = props[i];
11
+ descriptor.enumerable = descriptor.enumerable || false;
12
+ descriptor.configurable = true;
13
+ if ("value" in descriptor) descriptor.writable = true;
14
+ Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
15
+ }
16
+ }
17
+ function _createClass(Constructor, protoProps, staticProps) {
18
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
19
+ if (staticProps) _defineProperties(Constructor, staticProps);
20
+ Object.defineProperty(Constructor, "prototype", {
21
+ writable: false
22
+ });
23
+ return Constructor;
24
+ }
25
+
26
+ export { _createClass as default };
@@ -0,0 +1,23 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import toPropertyKey from './toPropertyKey.js';
7
+
8
+ function _defineProperty(obj, key, value) {
9
+ key = toPropertyKey(key);
10
+ if (key in obj) {
11
+ Object.defineProperty(obj, key, {
12
+ value: value,
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true
16
+ });
17
+ } else {
18
+ obj[key] = value;
19
+ }
20
+ return obj;
21
+ }
22
+
23
+ export { _defineProperty as default };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import _typeof from './typeof.js';
7
+
8
+ function toPrimitive(t, r) {
9
+ if ("object" != _typeof(t) || !t) return t;
10
+ var e = t[Symbol.toPrimitive];
11
+ if (void 0 !== e) {
12
+ var i = e.call(t, r || "default");
13
+ if ("object" != _typeof(i)) return i;
14
+ throw new TypeError("@@toPrimitive must return a primitive value.");
15
+ }
16
+ return ("string" === r ? String : Number)(t);
17
+ }
18
+
19
+ export { toPrimitive as default };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import _typeof from './typeof.js';
7
+ import toPrimitive from './toPrimitive.js';
8
+
9
+ function toPropertyKey(t) {
10
+ var i = toPrimitive(t, "string");
11
+ return "symbol" == _typeof(i) ? i : i + "";
12
+ }
13
+
14
+ export { toPropertyKey as default };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ function _typeof(o) {
7
+ "@babel/helpers - typeof";
8
+
9
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
10
+ return typeof o;
11
+ } : function (o) {
12
+ return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
13
+ }, _typeof(o);
14
+ }
15
+
16
+ export { _typeof as default };
@@ -0,0 +1,184 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import _classCallCheck from '../../../@babel/runtime/helpers/esm/classCallCheck.js';
7
+ import _createClass from '../../../@babel/runtime/helpers/esm/createClass.js';
8
+ import _defineProperty from '../../../@babel/runtime/helpers/esm/defineProperty.js';
9
+ import { trimNumber, isEmpty, isE, num2str, validateNumber } from './numberUtil.js';
10
+
11
+ var BigIntDecimal = /*#__PURE__*/function () {
12
+ /** BigInt will convert `0009` to `9`. We need record the len of decimal */
13
+
14
+ function BigIntDecimal(value) {
15
+ _classCallCheck(this, BigIntDecimal);
16
+ _defineProperty(this, "origin", '');
17
+ _defineProperty(this, "negative", void 0);
18
+ _defineProperty(this, "integer", void 0);
19
+ _defineProperty(this, "decimal", void 0);
20
+ _defineProperty(this, "decimalLen", void 0);
21
+ _defineProperty(this, "empty", void 0);
22
+ _defineProperty(this, "nan", void 0);
23
+ if (isEmpty(value)) {
24
+ this.empty = true;
25
+ return;
26
+ }
27
+ this.origin = String(value);
28
+
29
+ // Act like Number convert
30
+ if (value === '-' || Number.isNaN(value)) {
31
+ this.nan = true;
32
+ return;
33
+ }
34
+ var mergedValue = value;
35
+
36
+ // We need convert back to Number since it require `toFixed` to handle this
37
+ if (isE(mergedValue)) {
38
+ mergedValue = Number(mergedValue);
39
+ }
40
+ mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);
41
+ if (validateNumber(mergedValue)) {
42
+ var trimRet = trimNumber(mergedValue);
43
+ this.negative = trimRet.negative;
44
+ var numbers = trimRet.trimStr.split('.');
45
+ this.integer = BigInt(numbers[0]);
46
+ var decimalStr = numbers[1] || '0';
47
+ this.decimal = BigInt(decimalStr);
48
+ this.decimalLen = decimalStr.length;
49
+ } else {
50
+ this.nan = true;
51
+ }
52
+ }
53
+ _createClass(BigIntDecimal, [{
54
+ key: "getMark",
55
+ value: function getMark() {
56
+ return this.negative ? '-' : '';
57
+ }
58
+ }, {
59
+ key: "getIntegerStr",
60
+ value: function getIntegerStr() {
61
+ return this.integer.toString();
62
+ }
63
+
64
+ /**
65
+ * @private get decimal string
66
+ */
67
+ }, {
68
+ key: "getDecimalStr",
69
+ value: function getDecimalStr() {
70
+ return this.decimal.toString().padStart(this.decimalLen, '0');
71
+ }
72
+
73
+ /**
74
+ * @private Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000
75
+ * This is used for add function only.
76
+ */
77
+ }, {
78
+ key: "alignDecimal",
79
+ value: function alignDecimal(decimalLength) {
80
+ var str = "".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));
81
+ return BigInt(str);
82
+ }
83
+ }, {
84
+ key: "negate",
85
+ value: function negate() {
86
+ var clone = new BigIntDecimal(this.toString());
87
+ clone.negative = !clone.negative;
88
+ return clone;
89
+ }
90
+ }, {
91
+ key: "cal",
92
+ value: function cal(offset, calculator, calDecimalLen) {
93
+ var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);
94
+ var myAlignedDecimal = this.alignDecimal(maxDecimalLength);
95
+ var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);
96
+ var valueStr = calculator(myAlignedDecimal, offsetAlignedDecimal).toString();
97
+ var nextDecimalLength = calDecimalLen(maxDecimalLength);
98
+
99
+ // We need fill string length back to `maxDecimalLength` to avoid parser failed
100
+ var _trimNumber = trimNumber(valueStr),
101
+ negativeStr = _trimNumber.negativeStr,
102
+ trimStr = _trimNumber.trimStr;
103
+ var hydrateValueStr = "".concat(negativeStr).concat(trimStr.padStart(nextDecimalLength + 1, '0'));
104
+ return new BigIntDecimal("".concat(hydrateValueStr.slice(0, -nextDecimalLength), ".").concat(hydrateValueStr.slice(-nextDecimalLength)));
105
+ }
106
+ }, {
107
+ key: "add",
108
+ value: function add(value) {
109
+ if (this.isInvalidate()) {
110
+ return new BigIntDecimal(value);
111
+ }
112
+ var offset = new BigIntDecimal(value);
113
+ if (offset.isInvalidate()) {
114
+ return this;
115
+ }
116
+ return this.cal(offset, function (num1, num2) {
117
+ return num1 + num2;
118
+ }, function (len) {
119
+ return len;
120
+ });
121
+ }
122
+ }, {
123
+ key: "multi",
124
+ value: function multi(value) {
125
+ var target = new BigIntDecimal(value);
126
+ if (this.isInvalidate() || target.isInvalidate()) {
127
+ return new BigIntDecimal(NaN);
128
+ }
129
+ return this.cal(target, function (num1, num2) {
130
+ return num1 * num2;
131
+ }, function (len) {
132
+ return len * 2;
133
+ });
134
+ }
135
+ }, {
136
+ key: "isEmpty",
137
+ value: function isEmpty() {
138
+ return this.empty;
139
+ }
140
+ }, {
141
+ key: "isNaN",
142
+ value: function isNaN() {
143
+ return this.nan;
144
+ }
145
+ }, {
146
+ key: "isInvalidate",
147
+ value: function isInvalidate() {
148
+ return this.isEmpty() || this.isNaN();
149
+ }
150
+ }, {
151
+ key: "equals",
152
+ value: function equals(target) {
153
+ return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());
154
+ }
155
+ }, {
156
+ key: "lessEquals",
157
+ value: function lessEquals(target) {
158
+ return this.add(target.negate().toString()).toNumber() <= 0;
159
+ }
160
+ }, {
161
+ key: "toNumber",
162
+ value: function toNumber() {
163
+ if (this.isNaN()) {
164
+ return NaN;
165
+ }
166
+ return Number(this.toString());
167
+ }
168
+ }, {
169
+ key: "toString",
170
+ value: function toString() {
171
+ var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
172
+ if (!safe) {
173
+ return this.origin;
174
+ }
175
+ if (this.isInvalidate()) {
176
+ return '';
177
+ }
178
+ return trimNumber("".concat(this.getMark()).concat(this.getIntegerStr(), ".").concat(this.getDecimalStr())).fullStr;
179
+ }
180
+ }]);
181
+ return BigIntDecimal;
182
+ }();
183
+
184
+ export { BigIntDecimal as default };
@@ -0,0 +1,56 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import BigIntDecimal from './BigIntDecimal.js';
7
+ export { default as BigIntDecimal } from './BigIntDecimal.js';
8
+ import NumberDecimal from './NumberDecimal.js';
9
+ export { default as NumberDecimal } from './NumberDecimal.js';
10
+ import { trimNumber } from './numberUtil.js';
11
+ import { supportBigInt } from './supportUtil.js';
12
+
13
+ /* eslint-disable max-classes-per-file */
14
+ function getMiniDecimal(value) {
15
+ // We use BigInt here.
16
+ // Will fallback to Number if not support.
17
+ if (supportBigInt()) {
18
+ return new BigIntDecimal(value);
19
+ }
20
+ return new NumberDecimal(value);
21
+ }
22
+
23
+ /**
24
+ * Align the logic of toFixed to around like 1.5 => 2.
25
+ * If set `cutOnly`, will just remove the over decimal part.
26
+ */
27
+ function toFixed(numStr, separatorStr, precision) {
28
+ var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
29
+ if (numStr === '') {
30
+ return '';
31
+ }
32
+ var _trimNumber = trimNumber(numStr),
33
+ negativeStr = _trimNumber.negativeStr,
34
+ integerStr = _trimNumber.integerStr,
35
+ decimalStr = _trimNumber.decimalStr;
36
+ var precisionDecimalStr = "".concat(separatorStr).concat(decimalStr);
37
+ var numberWithoutDecimal = "".concat(negativeStr).concat(integerStr);
38
+ if (precision >= 0) {
39
+ // We will get last + 1 number to check if need advanced number
40
+ var advancedNum = Number(decimalStr[precision]);
41
+ if (advancedNum >= 5 && !cutOnly) {
42
+ var advancedDecimal = getMiniDecimal(numStr).add("".concat(negativeStr, "0.").concat('0'.repeat(precision)).concat(10 - advancedNum));
43
+ return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);
44
+ }
45
+ if (precision === 0) {
46
+ return numberWithoutDecimal;
47
+ }
48
+ return "".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));
49
+ }
50
+ if (precisionDecimalStr === '.0') {
51
+ return numberWithoutDecimal;
52
+ }
53
+ return "".concat(numberWithoutDecimal).concat(precisionDecimalStr);
54
+ }
55
+
56
+ export { getMiniDecimal as default, toFixed };
@@ -0,0 +1,119 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import _classCallCheck from '../../../@babel/runtime/helpers/esm/classCallCheck.js';
7
+ import _createClass from '../../../@babel/runtime/helpers/esm/createClass.js';
8
+ import _defineProperty from '../../../@babel/runtime/helpers/esm/defineProperty.js';
9
+ import { getNumberPrecision, num2str, isEmpty } from './numberUtil.js';
10
+
11
+ /**
12
+ * We can remove this when IE not support anymore
13
+ */
14
+ var NumberDecimal = /*#__PURE__*/function () {
15
+ function NumberDecimal(value) {
16
+ _classCallCheck(this, NumberDecimal);
17
+ _defineProperty(this, "origin", '');
18
+ _defineProperty(this, "number", void 0);
19
+ _defineProperty(this, "empty", void 0);
20
+ if (isEmpty(value)) {
21
+ this.empty = true;
22
+ return;
23
+ }
24
+ this.origin = String(value);
25
+ this.number = Number(value);
26
+ }
27
+ _createClass(NumberDecimal, [{
28
+ key: "negate",
29
+ value: function negate() {
30
+ return new NumberDecimal(-this.toNumber());
31
+ }
32
+ }, {
33
+ key: "add",
34
+ value: function add(value) {
35
+ if (this.isInvalidate()) {
36
+ return new NumberDecimal(value);
37
+ }
38
+ var target = Number(value);
39
+ if (Number.isNaN(target)) {
40
+ return this;
41
+ }
42
+ var number = this.number + target;
43
+
44
+ // [Legacy] Back to safe integer
45
+ if (number > Number.MAX_SAFE_INTEGER) {
46
+ return new NumberDecimal(Number.MAX_SAFE_INTEGER);
47
+ }
48
+ if (number < Number.MIN_SAFE_INTEGER) {
49
+ return new NumberDecimal(Number.MIN_SAFE_INTEGER);
50
+ }
51
+ var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));
52
+ return new NumberDecimal(number.toFixed(maxPrecision));
53
+ }
54
+ }, {
55
+ key: "multi",
56
+ value: function multi(value) {
57
+ var target = Number(value);
58
+ if (this.isInvalidate() || Number.isNaN(target)) {
59
+ return new NumberDecimal(NaN);
60
+ }
61
+ var number = this.number * target;
62
+
63
+ // [Legacy] Back to safe integer
64
+ if (number > Number.MAX_SAFE_INTEGER) {
65
+ return new NumberDecimal(Number.MAX_SAFE_INTEGER);
66
+ }
67
+ if (number < Number.MIN_SAFE_INTEGER) {
68
+ return new NumberDecimal(Number.MIN_SAFE_INTEGER);
69
+ }
70
+ var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));
71
+ return new NumberDecimal(number.toFixed(maxPrecision));
72
+ }
73
+ }, {
74
+ key: "isEmpty",
75
+ value: function isEmpty() {
76
+ return this.empty;
77
+ }
78
+ }, {
79
+ key: "isNaN",
80
+ value: function isNaN() {
81
+ return Number.isNaN(this.number);
82
+ }
83
+ }, {
84
+ key: "isInvalidate",
85
+ value: function isInvalidate() {
86
+ return this.isEmpty() || this.isNaN();
87
+ }
88
+ }, {
89
+ key: "equals",
90
+ value: function equals(target) {
91
+ return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());
92
+ }
93
+ }, {
94
+ key: "lessEquals",
95
+ value: function lessEquals(target) {
96
+ return this.add(target.negate().toString()).toNumber() <= 0;
97
+ }
98
+ }, {
99
+ key: "toNumber",
100
+ value: function toNumber() {
101
+ return this.number;
102
+ }
103
+ }, {
104
+ key: "toString",
105
+ value: function toString() {
106
+ var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
107
+ if (!safe) {
108
+ return this.origin;
109
+ }
110
+ if (this.isInvalidate()) {
111
+ return '';
112
+ }
113
+ return num2str(this.number);
114
+ }
115
+ }]);
116
+ return NumberDecimal;
117
+ }();
118
+
119
+ export { NumberDecimal as default };
@@ -0,0 +1,105 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ import { supportBigInt } from './supportUtil.js';
7
+
8
+ function isEmpty(value) {
9
+ return !value && value !== 0 && !Number.isNaN(value) || !String(value).trim();
10
+ }
11
+
12
+ /**
13
+ * Format string number to readable number
14
+ */
15
+ function trimNumber(numStr) {
16
+ var str = numStr.trim();
17
+ var negative = str.startsWith('-');
18
+ if (negative) {
19
+ str = str.slice(1);
20
+ }
21
+ str = str
22
+ // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`
23
+ .replace(/(\.\d*[^0])0*$/, '$1')
24
+ // Remove useless decimal. `1.` => `1`
25
+ .replace(/\.0*$/, '')
26
+ // Remove integer 0. `0001` => `1`, 000.1' => `.1`
27
+ .replace(/^0+/, '');
28
+ if (str.startsWith('.')) {
29
+ str = "0".concat(str);
30
+ }
31
+ var trimStr = str || '0';
32
+ var splitNumber = trimStr.split('.');
33
+ var integerStr = splitNumber[0] || '0';
34
+ var decimalStr = splitNumber[1] || '0';
35
+ if (integerStr === '0' && decimalStr === '0') {
36
+ negative = false;
37
+ }
38
+ var negativeStr = negative ? '-' : '';
39
+ return {
40
+ negative: negative,
41
+ negativeStr: negativeStr,
42
+ trimStr: trimStr,
43
+ integerStr: integerStr,
44
+ decimalStr: decimalStr,
45
+ fullStr: "".concat(negativeStr).concat(trimStr)
46
+ };
47
+ }
48
+ function isE(number) {
49
+ var str = String(number);
50
+ return !Number.isNaN(Number(str)) && str.includes('e');
51
+ }
52
+
53
+ /**
54
+ * [Legacy] Convert 1e-9 to 0.000000001.
55
+ * This may lose some precision if user really want 1e-9.
56
+ */
57
+ function getNumberPrecision(number) {
58
+ var numStr = String(number);
59
+ if (isE(number)) {
60
+ var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));
61
+ var decimalMatch = numStr.match(/\.(\d+)/);
62
+ if (decimalMatch !== null && decimalMatch !== void 0 && decimalMatch[1]) {
63
+ precision += decimalMatch[1].length;
64
+ }
65
+ return precision;
66
+ }
67
+ return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;
68
+ }
69
+
70
+ /**
71
+ * Convert number (includes scientific notation) to -xxx.yyy format
72
+ */
73
+ function num2str(number) {
74
+ var numStr = String(number);
75
+ if (isE(number)) {
76
+ if (number > Number.MAX_SAFE_INTEGER) {
77
+ return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);
78
+ }
79
+ if (number < Number.MIN_SAFE_INTEGER) {
80
+ return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);
81
+ }
82
+ numStr = number.toFixed(getNumberPrecision(numStr));
83
+ }
84
+ return trimNumber(numStr).fullStr;
85
+ }
86
+ function validateNumber(num) {
87
+ if (typeof num === 'number') {
88
+ return !Number.isNaN(num);
89
+ }
90
+
91
+ // Empty
92
+ if (!num) {
93
+ return false;
94
+ }
95
+ return (
96
+ // Normal type: 11.28
97
+ /^\s*-?\d+(\.\d+)?\s*$/.test(num) ||
98
+ // Pre-number: 1.
99
+ /^\s*-?\d+\.\s*$/.test(num) ||
100
+ // Post-number: .1
101
+ /^\s*-?\.\d+\s*$/.test(num)
102
+ );
103
+ }
104
+
105
+ export { getNumberPrecision, isE, isEmpty, num2str, trimNumber, validateNumber };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * amis-core v6.4.1
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ function supportBigInt() {
7
+ return typeof BigInt === 'function';
8
+ }
9
+
10
+ export { supportBigInt };
package/esm/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.3.0
2
+ * amis-core v6.4.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -355,9 +355,10 @@ export default class Form extends React.Component<FormProps, object> {
355
355
  addHook(fn: () => any, type?: 'validate' | 'init' | 'flush', enforce?: 'prev' | 'post'): () => void;
356
356
  removeHook(fn: () => any, type?: string): void;
357
357
  handleChange(value: any, name: string, submit: boolean, changePristine?: boolean): void;
358
- formItemDispatchEvent(type: string, data: any): any;
358
+ formItemDispatchEvent(type: string, data: any): Promise<import("../utils").RendererEvent<any, any>>;
359
359
  emittedData: any;
360
- emitChange(submit: boolean, skipIfNothingChanges?: boolean): Promise<void>;
360
+ emitting: boolean;
361
+ emitChange(submit: boolean, emitedFromWatch?: boolean): Promise<void>;
361
362
  handleBulkChange(values: Object, submit: boolean): void;
362
363
  handleFormSubmit(e: React.UIEvent<any>): any;
363
364
  handleReset(action: any): (data: any) => void;