amis-core 3.2.0 → 3.3.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 (297) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +3 -3
  4. package/esm/SchemaRenderer.js +5 -2
  5. package/esm/Scoped.d.ts +4 -1
  6. package/esm/Scoped.js +8 -5
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +1 -1
  10. package/esm/actions/Action.d.ts +1 -0
  11. package/esm/actions/Action.js +62 -37
  12. package/esm/actions/AjaxAction.d.ts +6 -8
  13. package/esm/actions/AjaxAction.js +20 -18
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.d.ts +1 -2
  17. package/esm/actions/CmptAction.js +46 -31
  18. package/esm/actions/ContinueAction.js +1 -1
  19. package/esm/actions/CopyAction.js +1 -1
  20. package/esm/actions/CustomAction.js +2 -2
  21. package/esm/actions/DialogAction.js +5 -6
  22. package/esm/actions/DrawerAction.js +4 -4
  23. package/esm/actions/EmailAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/StatusAction.d.ts +15 -0
  29. package/esm/actions/StatusAction.js +49 -0
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +1 -1
  32. package/esm/actions/index.d.ts +1 -0
  33. package/esm/components/CustomStyle.js +1 -1
  34. package/esm/components/LazyComponent.js +1 -1
  35. package/esm/components/Overlay.js +2 -2
  36. package/esm/components/PopOver.js +2 -2
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.js +2 -2
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +13 -13
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +6 -6
  45. package/esm/renderers/Form.js +168 -124
  46. package/esm/renderers/Item.d.ts +42 -66
  47. package/esm/renderers/Item.js +11 -41
  48. package/esm/renderers/Options.js +1 -2
  49. package/esm/renderers/Placeholder.js +1 -1
  50. package/esm/renderers/builtin.js +1 -1
  51. package/esm/renderers/register.js +1 -1
  52. package/esm/renderers/wrapControl.js +101 -47
  53. package/esm/store/app.js +8 -4
  54. package/esm/store/combo.d.ts +444 -1912
  55. package/esm/store/combo.js +9 -2
  56. package/esm/store/crud.d.ts +1 -0
  57. package/esm/store/crud.js +11 -5
  58. package/esm/store/form.d.ts +132 -892
  59. package/esm/store/form.js +83 -81
  60. package/esm/store/formItem.d.ts +5 -2
  61. package/esm/store/formItem.js +13 -2
  62. package/esm/store/iRenderer.js +2 -2
  63. package/esm/store/index.js +1 -1
  64. package/esm/store/list.js +1 -1
  65. package/esm/store/manager.js +1 -1
  66. package/esm/store/modal.js +1 -1
  67. package/esm/store/node.js +1 -1
  68. package/esm/store/pagination.js +1 -1
  69. package/esm/store/root.js +2 -2
  70. package/esm/store/service.js +4 -4
  71. package/esm/store/status.js +1 -1
  72. package/esm/store/table.d.ts +503 -2040
  73. package/esm/store/table.js +79 -55
  74. package/esm/store/table2.d.ts +49 -0
  75. package/esm/store/table2.js +37 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +17 -3
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.d.ts +2 -2
  85. package/esm/utils/api.js +113 -81
  86. package/esm/utils/arraySlice.js +1 -1
  87. package/esm/utils/attachmentAdpator.js +1 -1
  88. package/esm/utils/autobind.js +1 -1
  89. package/esm/utils/columnsSplit.js +1 -1
  90. package/esm/utils/dataMapping.js +4 -2
  91. package/esm/utils/date.js +1 -1
  92. package/esm/utils/debug.d.ts +2 -0
  93. package/esm/utils/debug.js +34 -7
  94. package/esm/utils/decodeEntity.js +1 -1
  95. package/esm/utils/dom.js +1 -1
  96. package/esm/utils/errors.js +1 -1
  97. package/esm/utils/escapeHtml.js +1 -1
  98. package/esm/utils/filter-schema.js +1 -1
  99. package/esm/utils/filter.js +1 -1
  100. package/esm/utils/formatDuration.js +1 -1
  101. package/esm/utils/formula.d.ts +0 -1
  102. package/esm/utils/formula.js +6 -9
  103. package/esm/utils/getVariable.js +1 -1
  104. package/esm/utils/grammar.js +1 -1
  105. package/esm/utils/handleAction.js +1 -1
  106. package/esm/utils/helper.d.ts +11 -1
  107. package/esm/utils/helper.js +14 -2
  108. package/esm/utils/highlight.js +1 -1
  109. package/esm/utils/icon.d.ts +4 -2
  110. package/esm/utils/icon.js +3 -2
  111. package/esm/utils/image.js +1 -1
  112. package/esm/utils/index.d.ts +1 -0
  113. package/esm/utils/isPureVariable.js +1 -1
  114. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  115. package/esm/utils/keyToPath.js +1 -1
  116. package/esm/utils/makeSorter.js +1 -1
  117. package/esm/utils/math.d.ts +3 -0
  118. package/esm/utils/math.js +52 -0
  119. package/esm/utils/memoryParse.js +1 -1
  120. package/esm/utils/normalizeLink.js +1 -1
  121. package/esm/utils/normalizeOptions.js +1 -1
  122. package/esm/utils/object.d.ts +7 -0
  123. package/esm/utils/object.js +13 -2
  124. package/esm/utils/offset.js +1 -1
  125. package/esm/utils/offsetParent.js +1 -1
  126. package/esm/utils/optionValueCompare.js +2 -2
  127. package/esm/utils/position.js +1 -1
  128. package/esm/utils/prettyBytes.js +1 -1
  129. package/esm/utils/renderer-event.d.ts +1 -1
  130. package/esm/utils/renderer-event.js +14 -6
  131. package/esm/utils/replaceText.js +1 -1
  132. package/esm/utils/resize-sensor.js +1 -1
  133. package/esm/utils/resolveCondition.js +1 -1
  134. package/esm/utils/resolveVariable.js +1 -1
  135. package/esm/utils/resolveVariableAndFilter.js +1 -1
  136. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  137. package/esm/utils/scrollPosition.js +1 -1
  138. package/esm/utils/string2regExp.js +1 -1
  139. package/esm/utils/stripNumber.js +1 -1
  140. package/esm/utils/style-helper.js +1 -1
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validations.js +1 -1
  149. package/lib/Root.js +10 -7
  150. package/lib/RootRenderer.d.ts +1 -1
  151. package/lib/RootRenderer.js +11 -8
  152. package/lib/SchemaRenderer.js +12 -6
  153. package/lib/Scoped.d.ts +4 -1
  154. package/lib/Scoped.js +18 -13
  155. package/lib/StatusScoped.js +5 -2
  156. package/lib/WithRootStore.js +5 -2
  157. package/lib/WithStore.js +5 -2
  158. package/lib/actions/Action.d.ts +1 -0
  159. package/lib/actions/Action.js +62 -37
  160. package/lib/actions/AjaxAction.d.ts +6 -8
  161. package/lib/actions/AjaxAction.js +20 -18
  162. package/lib/actions/BreakAction.js +1 -1
  163. package/lib/actions/BroadcastAction.js +1 -1
  164. package/lib/actions/CmptAction.d.ts +1 -2
  165. package/lib/actions/CmptAction.js +46 -31
  166. package/lib/actions/ContinueAction.js +1 -1
  167. package/lib/actions/CopyAction.js +1 -1
  168. package/lib/actions/CustomAction.js +8 -5
  169. package/lib/actions/DialogAction.js +5 -6
  170. package/lib/actions/DrawerAction.js +4 -4
  171. package/lib/actions/EmailAction.js +1 -1
  172. package/lib/actions/LinkAction.js +1 -1
  173. package/lib/actions/LoopAction.js +1 -1
  174. package/lib/actions/PageAction.js +1 -1
  175. package/lib/actions/ParallelAction.js +1 -1
  176. package/lib/actions/StatusAction.d.ts +15 -0
  177. package/lib/actions/StatusAction.js +53 -0
  178. package/lib/actions/SwitchAction.js +1 -1
  179. package/lib/actions/ToastAction.js +1 -1
  180. package/lib/actions/index.d.ts +1 -0
  181. package/lib/components/CustomStyle.js +1 -1
  182. package/lib/components/LazyComponent.js +12 -14
  183. package/lib/components/Overlay.js +14 -14
  184. package/lib/components/PopOver.js +11 -10
  185. package/lib/env.js +4 -1
  186. package/lib/envOverwrite.js +1 -1
  187. package/lib/factory.js +11 -9
  188. package/lib/index.d.ts +2 -1
  189. package/lib/index.js +21 -19
  190. package/lib/locale.js +6 -3
  191. package/lib/polyfills.js +1 -1
  192. package/lib/renderers/Form.d.ts +6 -6
  193. package/lib/renderers/Form.js +180 -131
  194. package/lib/renderers/Item.d.ts +42 -66
  195. package/lib/renderers/Item.js +51 -75
  196. package/lib/renderers/Options.js +10 -5
  197. package/lib/renderers/Placeholder.js +1 -1
  198. package/lib/renderers/builtin.js +1 -1
  199. package/lib/renderers/register.js +1 -1
  200. package/lib/renderers/wrapControl.js +104 -47
  201. package/lib/store/app.js +14 -7
  202. package/lib/store/combo.d.ts +444 -1912
  203. package/lib/store/combo.js +9 -2
  204. package/lib/store/crud.d.ts +1 -0
  205. package/lib/store/crud.js +11 -5
  206. package/lib/store/form.d.ts +132 -892
  207. package/lib/store/form.js +81 -79
  208. package/lib/store/formItem.d.ts +5 -2
  209. package/lib/store/formItem.js +13 -2
  210. package/lib/store/iRenderer.js +8 -5
  211. package/lib/store/index.js +1 -1
  212. package/lib/store/list.js +1 -1
  213. package/lib/store/manager.js +1 -1
  214. package/lib/store/modal.js +1 -1
  215. package/lib/store/node.js +1 -1
  216. package/lib/store/pagination.js +1 -1
  217. package/lib/store/root.js +8 -5
  218. package/lib/store/service.js +4 -4
  219. package/lib/store/status.js +1 -1
  220. package/lib/store/table.d.ts +503 -2040
  221. package/lib/store/table.js +79 -55
  222. package/lib/store/table2.d.ts +49 -0
  223. package/lib/store/table2.js +36 -3
  224. package/lib/theme.js +6 -3
  225. package/lib/types.d.ts +17 -3
  226. package/lib/utils/Animation.js +1 -1
  227. package/lib/utils/ColorScale.js +1 -1
  228. package/lib/utils/DataSchema.js +1 -1
  229. package/lib/utils/DataScope.js +1 -1
  230. package/lib/utils/RootClose.js +1 -1
  231. package/lib/utils/SimpleMap.js +1 -1
  232. package/lib/utils/api.d.ts +2 -2
  233. package/lib/utils/api.js +113 -81
  234. package/lib/utils/arraySlice.js +1 -1
  235. package/lib/utils/attachmentAdpator.js +1 -1
  236. package/lib/utils/autobind.js +1 -1
  237. package/lib/utils/columnsSplit.js +8 -6
  238. package/lib/utils/dataMapping.js +4 -2
  239. package/lib/utils/date.js +1 -1
  240. package/lib/utils/debug.d.ts +2 -0
  241. package/lib/utils/debug.js +61 -33
  242. package/lib/utils/decodeEntity.js +1 -1
  243. package/lib/utils/dom.js +7 -5
  244. package/lib/utils/errors.js +1 -1
  245. package/lib/utils/escapeHtml.js +1 -1
  246. package/lib/utils/filter-schema.js +1 -1
  247. package/lib/utils/filter.js +1 -1
  248. package/lib/utils/formatDuration.js +1 -1
  249. package/lib/utils/formula.d.ts +0 -1
  250. package/lib/utils/formula.js +6 -10
  251. package/lib/utils/getVariable.js +1 -1
  252. package/lib/utils/grammar.js +1 -1
  253. package/lib/utils/handleAction.js +1 -1
  254. package/lib/utils/helper.d.ts +11 -1
  255. package/lib/utils/helper.js +14 -1
  256. package/lib/utils/highlight.js +8 -9
  257. package/lib/utils/icon.d.ts +4 -2
  258. package/lib/utils/icon.js +12 -10
  259. package/lib/utils/image.js +1 -1
  260. package/lib/utils/index.d.ts +1 -0
  261. package/lib/utils/isPureVariable.js +1 -1
  262. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  263. package/lib/utils/keyToPath.js +1 -1
  264. package/lib/utils/makeSorter.js +1 -1
  265. package/lib/utils/math.d.ts +3 -0
  266. package/lib/utils/math.js +58 -0
  267. package/lib/utils/memoryParse.js +1 -1
  268. package/lib/utils/normalizeLink.js +1 -1
  269. package/lib/utils/normalizeOptions.js +1 -1
  270. package/lib/utils/object.d.ts +7 -0
  271. package/lib/utils/object.js +13 -1
  272. package/lib/utils/offset.js +1 -1
  273. package/lib/utils/offsetParent.js +1 -1
  274. package/lib/utils/optionValueCompare.js +7 -3
  275. package/lib/utils/position.js +1 -1
  276. package/lib/utils/prettyBytes.js +1 -1
  277. package/lib/utils/renderer-event.d.ts +1 -1
  278. package/lib/utils/renderer-event.js +13 -5
  279. package/lib/utils/replaceText.js +1 -1
  280. package/lib/utils/resize-sensor.js +1 -1
  281. package/lib/utils/resolveCondition.js +1 -1
  282. package/lib/utils/resolveVariable.js +1 -1
  283. package/lib/utils/resolveVariableAndFilter.js +1 -1
  284. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  285. package/lib/utils/scrollPosition.js +1 -1
  286. package/lib/utils/string2regExp.js +1 -1
  287. package/lib/utils/stripNumber.js +1 -1
  288. package/lib/utils/style-helper.js +1 -1
  289. package/lib/utils/style.js +1 -1
  290. package/lib/utils/toNumber.js +1 -1
  291. package/lib/utils/tokenize.js +1 -1
  292. package/lib/utils/tpl-builtin.js +1 -1
  293. package/lib/utils/tpl-lodash.js +1 -1
  294. package/lib/utils/tpl.js +1 -1
  295. package/lib/utils/uncontrollable.js +1 -1
  296. package/lib/utils/validations.js +1 -1
  297. package/package.json +5 -5
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -13,5 +13,4 @@ export declare function isNeedFormula(expression: any, prevData: {
13
13
  }, curData: {
14
14
  [propName: string]: any;
15
15
  }): boolean;
16
- export declare function isNowFormula(expression: string): boolean;
17
16
  export declare function replaceExpression(expression: any): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- var isObjectByLodash = require('lodash/isObject');
10
+ var isObject = require('lodash/isObject');
11
11
  var isString = require('lodash/isString');
12
12
  var isBoolean = require('lodash/isBoolean');
13
13
  var amisFormula = require('amis-formula');
@@ -22,7 +22,7 @@ var grammar = require('./grammar.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
25
- var isObjectByLodash__default = /*#__PURE__*/_interopDefaultLegacy(isObjectByLodash);
25
+ var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
26
26
  var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
27
27
  var isBoolean__default = /*#__PURE__*/_interopDefaultLegacy(isBoolean);
28
28
 
@@ -124,7 +124,7 @@ var FormulaExec = {
124
124
  },
125
125
  collect: function (expression) {
126
126
  var variables = [];
127
- if (isObjectByLodash__default["default"](expression) || isString__default["default"](expression)) {
127
+ if (isObject__default["default"](expression) || isString__default["default"](expression)) {
128
128
  // 仅对 Object类型 和 String类型 进行变量提取
129
129
  variables = grammar.collectVariables(expression);
130
130
  }
@@ -208,7 +208,8 @@ function isNeedFormula(expression, prevData, curData) {
208
208
  try {
209
209
  var variables = FormulaExec.collect(expression);
210
210
  return variables.some(function (variable) {
211
- return FormulaExec.var(variable, prevData) !== FormulaExec.var(variable, curData);
211
+ return FormulaExec.var(variable, prevData) !==
212
+ FormulaExec.var(variable, curData);
212
213
  });
213
214
  }
214
215
  catch (e) {
@@ -216,10 +217,6 @@ function isNeedFormula(expression, prevData, curData) {
216
217
  return false;
217
218
  }
218
219
  }
219
- function isNowFormula(expression) {
220
- var block = expression.split(/\${|\||}/).filter(function (item) { return item; });
221
- return block[1] === 'now';
222
- }
223
220
  // 将 \${xx} 替换成 ${xx}
224
221
  function replaceExpression(expression) {
225
222
  if (expression &&
@@ -234,6 +231,5 @@ exports.FormulaExec = FormulaExec;
234
231
  exports.formulaExec = formulaExec;
235
232
  exports.isExpression = isExpression;
236
233
  exports.isNeedFormula = isNeedFormula;
237
- exports.isNowFormula = isNowFormula;
238
234
  exports.registerFormulaExec = registerFormulaExec;
239
235
  exports.replaceExpression = replaceExpression;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -268,6 +268,15 @@ export declare function loadScript(src: string): Promise<void>;
268
268
  export declare function loadStyle(href: string): Promise<void>;
269
269
  export declare class SkipOperation extends Error {
270
270
  }
271
+ export declare class ValidateError extends Error {
272
+ name: 'ValidateError';
273
+ detail: {
274
+ [propName: string]: Array<string> | string;
275
+ };
276
+ constructor(message: string, error: {
277
+ [propName: string]: Array<string> | string;
278
+ });
279
+ }
271
280
  /**
272
281
  * 深度查找具有某个 key 名字段的对象,实际实现是 internalFindObjectsWithKey,这里包一层是为了做循环引用检测
273
282
  * @param obj
@@ -283,7 +292,8 @@ export declare function getPropValue<T extends {
283
292
  name?: string;
284
293
  data?: any;
285
294
  defaultValue?: any;
286
- }>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean): any;
295
+ canAccessSuperData?: boolean;
296
+ }>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean | undefined): any;
287
297
  export declare function detectPropValueChanged<T extends {
288
298
  value?: any;
289
299
  name?: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1053,6 +1053,17 @@ var SkipOperation = /** @class */ (function (_super) {
1053
1053
  }
1054
1054
  return SkipOperation;
1055
1055
  }(Error));
1056
+ var ValidateError = /** @class */ (function (_super) {
1057
+ tslib.__extends(ValidateError, _super);
1058
+ function ValidateError(message, error) {
1059
+ var _this = _super.call(this) || this;
1060
+ _this.name = 'ValidateError';
1061
+ _this.message = message;
1062
+ _this.detail = error;
1063
+ return _this;
1064
+ }
1065
+ return ValidateError;
1066
+ }(Error));
1056
1067
  /**
1057
1068
  * 检查对象是否有循环引用,来自 https://stackoverflow.com/a/34909127
1058
1069
  * @param obj
@@ -1135,6 +1146,7 @@ function resolveValueByName(data, name, canAccessSuper) {
1135
1146
  // 统一的获取 value 值方法
1136
1147
  function getPropValue(props, getter, canAccessSuper) {
1137
1148
  var _a, _b;
1149
+ if (canAccessSuper === void 0) { canAccessSuper = props.canAccessSuperData; }
1138
1150
  var name = props.name, value = props.value, data = props.data, defaultValue = props.defaultValue;
1139
1151
  return ((_b = (_a = value !== null && value !== void 0 ? value : getter === null || getter === void 0 ? void 0 : getter(props)) !== null && _a !== void 0 ? _a : resolveValueByName(data, name, canAccessSuper)) !== null && _b !== void 0 ? _b : defaultValue);
1140
1152
  }
@@ -1361,6 +1373,7 @@ exports.keyToPath = keyToPath.keyToPath;
1361
1373
  exports.JSONTraverse = JSONTraverse;
1362
1374
  exports.JSONValueMap = JSONValueMap;
1363
1375
  exports.SkipOperation = SkipOperation;
1376
+ exports.ValidateError = ValidateError;
1364
1377
  exports.__uri = __uri;
1365
1378
  exports.anyChanged = anyChanged;
1366
1379
  exports.autobind = autobind;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -7,12 +7,11 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- var React = require('react');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
+ require('react');
15
11
 
12
+ var __react_jsx__ = require('react');
13
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
14
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
16
15
  function highlight(text, input, hlClassName) {
17
16
  if (hlClassName === void 0) { hlClassName = 'is-matched'; }
18
17
  if (!input) {
@@ -29,13 +28,13 @@ function highlight(text, input, hlClassName) {
29
28
  reg.lastIndex = 0;
30
29
  while ((match = reg.exec(text))) {
31
30
  var prev = text.substring(start, match.index);
32
- prev && dom.push(React__default["default"].createElement("span", { key: dom.length }, prev));
31
+ prev && dom.push(_J$X_("span", { key: dom.length }, prev));
33
32
  match[0] &&
34
- dom.push(React__default["default"].createElement("span", { className: hlClassName, key: dom.length }, match[0]));
33
+ dom.push(_J$X_("span", { className: hlClassName, key: dom.length }, match[0]));
35
34
  start = match.index + match[0].length;
36
35
  }
37
36
  var rest = text.substring(start);
38
- rest && dom.push(React__default["default"].createElement("span", { key: dom.length }, rest));
37
+ rest && dom.push(_J$X_("span", { key: dom.length }, rest));
39
38
  // const parts = text.split(reg);
40
39
  // parts.forEach((text: string, index) => {
41
40
  // text && dom.push(<span key={index}>{text}</span>);
@@ -3,19 +3,21 @@
3
3
  */
4
4
  import React from 'react';
5
5
  import { ClassNamesFn } from '../theme';
6
- export interface IconCheckedSchema {
6
+ interface IconCheckedSchema {
7
7
  id: string;
8
8
  name?: string;
9
9
  svg?: string;
10
10
  }
11
- export interface IconCheckedSchemaNew {
11
+ interface IconCheckedSchemaNew {
12
12
  type: 'icon';
13
13
  icon: IconCheckedSchema;
14
14
  }
15
15
  /**
16
+ * 废弃,不建议使用
16
17
  * 判断字符串来生成 i 或 img
17
18
  * @param icon icon 设置
18
19
  * @param className 内部用的 className
19
20
  * @param classNameProp amis 配置里设置的 className
20
21
  */
21
22
  export declare const generateIcon: (cx: ClassNamesFn, icon?: string | IconCheckedSchema | React.ReactNode | IconCheckedSchemaNew, className?: string, classNameProp?: string) => React.JSX.Element | null | undefined;
23
+ export {};
package/lib/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -8,23 +8,25 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var React = require('react');
11
- var lodash = require('lodash');
11
+ var isObject = require('lodash/isObject');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
15
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
+ var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
16
17
 
18
+ var __react_jsx__ = require('react');
19
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
20
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
17
21
  /**
18
- * @file 图标支持的公共方法,主要是支持自动识别地址和 icon-font
19
- */
20
- /**
22
+ * 废弃,不建议使用
21
23
  * 判断字符串来生成 i 或 img
22
24
  * @param icon icon 设置
23
25
  * @param className 内部用的 className
24
26
  * @param classNameProp amis 配置里设置的 className
25
27
  */
26
28
  var generateIcon = function (cx, icon, className, classNameProp) {
27
- if (lodash.isObject(icon) &&
29
+ if (isObject__default["default"](icon) &&
28
30
  icon.type === 'icon' &&
29
31
  icon.icon) {
30
32
  icon = icon.icon;
@@ -33,16 +35,16 @@ var generateIcon = function (cx, icon, className, classNameProp) {
33
35
  return icon;
34
36
  }
35
37
  if (typeof icon !== 'string') {
36
- if (lodash.isObject(icon) &&
38
+ if (isObject__default["default"](icon) &&
37
39
  typeof icon.id === 'string' &&
38
40
  icon.id.startsWith('svg-')) {
39
- return (React__default["default"].createElement("svg", { className: cx('icon', 'icon-object', className, classNameProp) },
40
- React__default["default"].createElement("use", { xlinkHref: "#".concat(icon.id.replace(/^svg-/, '')) })));
41
+ return (_J$X_("svg", { className: cx('icon', 'icon-object', className, classNameProp) },
42
+ _J$X_("use", { xlinkHref: "#".concat(icon.id.replace(/^svg-/, '')) })));
41
43
  }
42
44
  return;
43
45
  }
44
46
  var isURLIcon = (icon === null || icon === void 0 ? void 0 : icon.indexOf('.')) !== -1;
45
- return icon ? (isURLIcon ? (React__default["default"].createElement("img", { className: cx(className, classNameProp), src: icon, key: icon })) : (React__default["default"].createElement("i", { className: cx(className, icon, classNameProp), key: icon }))) : null;
47
+ return icon ? (isURLIcon ? (_J$X_("img", { className: cx(className, classNameProp), src: icon, key: icon })) : (_J$X_("i", { className: cx(className, icon, classNameProp), key: icon }))) : null;
46
48
  };
47
49
 
48
50
  exports.generateIcon = generateIcon;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -55,5 +55,6 @@ export * from './decodeEntity';
55
55
  export * from './style-helper';
56
56
  export * from './resolveCondition';
57
57
  export * from './arraySlice';
58
+ export * from './math';
58
59
  import animation from './Animation';
59
60
  export { animation };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -0,0 +1,3 @@
1
+ export declare function safeAdd(arg1: number, arg2: number): number;
2
+ export declare function safeSub(arg1: number, arg2: number): number;
3
+ export declare function numberFormatter(num: number | string, precision?: number): string;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * amis-core v3.3.0
3
+ * Copyright 2018-2023 fex
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ function safeAdd(arg1, arg2) {
11
+ var digits1, digits2, maxDigits;
12
+ try {
13
+ digits1 = arg1.toString().split('.')[1].length;
14
+ }
15
+ catch (e) {
16
+ digits1 = 0;
17
+ }
18
+ try {
19
+ digits2 = arg2.toString().split('.')[1].length;
20
+ }
21
+ catch (e) {
22
+ digits2 = 0;
23
+ }
24
+ maxDigits = Math.pow(10, Math.max(digits1, digits2));
25
+ return (arg1 * maxDigits + arg2 * maxDigits) / maxDigits;
26
+ }
27
+ //减
28
+ function safeSub(arg1, arg2) {
29
+ var digits1, digits2, maxDigits;
30
+ try {
31
+ digits1 = arg1.toString().split('.')[1].length;
32
+ }
33
+ catch (e) {
34
+ digits1 = 0;
35
+ }
36
+ try {
37
+ digits2 = arg2.toString().split('.')[1].length;
38
+ }
39
+ catch (e) {
40
+ digits2 = 0;
41
+ }
42
+ maxDigits = Math.pow(10, Math.max(digits1, digits2));
43
+ return (arg1 * maxDigits - arg2 * maxDigits) / maxDigits;
44
+ }
45
+ function numberFormatter(num, precision) {
46
+ if (precision === void 0) { precision = 0; }
47
+ var ZERO = 0;
48
+ var number = +num;
49
+ if (typeof number === 'number' && !isNaN(number)) {
50
+ var regexp = precision ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(\d{3})+$)/g;
51
+ return number.toFixed(precision).replace(regexp, '$1,');
52
+ }
53
+ return ZERO.toFixed(precision);
54
+ }
55
+
56
+ exports.numberFormatter = numberFormatter;
57
+ exports.safeAdd = safeAdd;
58
+ exports.safeSub = safeSub;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -5,6 +5,13 @@ export declare function createObject(superProps?: {
5
5
  }, properties?: any): object;
6
6
  export declare function extractObjectChain(value: any): object[];
7
7
  export declare function createObjectFromChain(chain: Array<object>): object;
8
+ /**
9
+ * 向最近一层插入新链
10
+ * @param obj
11
+ * @param value
12
+ * @returns
13
+ */
14
+ export declare function injectObjectChain(obj: any, value: any): object;
8
15
  export declare function cloneObject(target: any, persistOwnProps?: boolean): any;
9
16
  export declare function extendObject(target: any, src?: any, persistOwnProps?: boolean): any;
10
17
  export declare function isObject(obj: any): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -58,6 +58,17 @@ function createObjectFromChain(chain) {
58
58
  }), value);
59
59
  });
60
60
  }
61
+ /**
62
+ * 向最近一层插入新链
63
+ * @param obj
64
+ * @param value
65
+ * @returns
66
+ */
67
+ function injectObjectChain(obj, value) {
68
+ var chain = extractObjectChain(obj);
69
+ chain.splice(chain.length - 1, 0, value);
70
+ return createObjectFromChain(chain);
71
+ }
61
72
  function cloneObject(target, persistOwnProps) {
62
73
  if (persistOwnProps === void 0) { persistOwnProps = true; }
63
74
  var obj = target && target.__super
@@ -178,6 +189,7 @@ exports.createObjectFromChain = createObjectFromChain;
178
189
  exports.deleteVariable = deleteVariable;
179
190
  exports.extendObject = extendObject;
180
191
  exports.extractObjectChain = extractObjectChain;
192
+ exports.injectObjectChain = injectObjectChain;
181
193
  exports.isObject = isObject;
182
194
  exports.pickValues = pickValues;
183
195
  exports.setVariable = setVariable;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -8,9 +8,13 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  require('./helper.js');
11
- var lodash = require('lodash');
11
+ var isEqual = require('lodash/isEqual');
12
12
  var object = require('./object.js');
13
13
 
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
17
+
14
18
  function matchOptionValue(a, b, valueField) {
15
19
  if (valueField === void 0) { valueField = 'value'; }
16
20
  // a 可能为 Option, 此时需要取其value
@@ -19,7 +23,7 @@ function matchOptionValue(a, b, valueField) {
19
23
  : a;
20
24
  var bValue = b[valueField || 'value'];
21
25
  return object.isObject(aValue)
22
- ? lodash.isEqual(aValue, bValue)
26
+ ? isEqual__default["default"](aValue, bValue)
23
27
  : // 当值均为 undefined 时,不应该判定相等
24
28
  aValue !== undefined &&
25
29
  bValue !== undefined &&
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -48,7 +48,7 @@ export interface RendererEventContext {
48
48
  [propName: string]: any;
49
49
  }
50
50
  export declare function createRendererEvent<T extends RendererEventContext>(type: string, context: T): RendererEvent<T>;
51
- export declare const bindEvent: (renderer: any) => (() => void) | undefined;
51
+ export declare const bindEvent: (renderer: any) => ((eventName?: string) => void) | undefined;
52
52
  export declare function dispatchEvent(e: string | React.MouseEvent<any>, renderer: React.Component<RendererProps>, scoped: IScopedContext, data: any, broadcast?: RendererEvent<any>): Promise<RendererEvent<any> | void>;
53
53
  export declare const getRendererEventListeners: () => RendererEventListener[];
54
54
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -20,7 +20,7 @@ var rendererEventListeners = [];
20
20
  // 创建渲染器事件对象
21
21
  function createRendererEvent(type, context) {
22
22
  var rendererEvent = {
23
- context: context,
23
+ context: object.extendObject({ pristineData: context.data }, context),
24
24
  type: type,
25
25
  prevented: false,
26
26
  stoped: false,
@@ -33,6 +33,9 @@ function createRendererEvent(type, context) {
33
33
  get data() {
34
34
  return rendererEvent.context.data;
35
35
  },
36
+ get pristineData() {
37
+ return rendererEvent.context.pristineData;
38
+ },
36
39
  setData: function (data) {
37
40
  rendererEvent.context.data = data;
38
41
  }
@@ -90,8 +93,13 @@ var bindEvent = function (renderer) {
90
93
  }
91
94
  finally { if (e_1) throw e_1.error; }
92
95
  }
93
- return function () {
94
- rendererEventListeners = rendererEventListeners.filter(function (item) { return item.renderer !== renderer; });
96
+ return function (eventName) {
97
+ // eventName用来避免过滤广播事件
98
+ rendererEventListeners = rendererEventListeners.filter(function (item) {
99
+ return item.renderer !== renderer && eventName !== undefined
100
+ ? item.type !== eventName
101
+ : true;
102
+ });
95
103
  };
96
104
  }
97
105
  return undefined;
@@ -141,7 +149,7 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
141
149
  checkExecuted = function () {
142
150
  executedCount++;
143
151
  if (executedCount === listeners.length) {
144
- unbindEvent === null || unbindEvent === void 0 ? void 0 : unbindEvent();
152
+ unbindEvent === null || unbindEvent === void 0 ? void 0 : unbindEvent(eventName);
145
153
  }
146
154
  };
147
155
  _loop_2 = function (listener) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.2.0
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5