amis-core 6.4.0 → 6.5.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 (287) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +15 -5
  4. package/esm/Scoped.d.ts +1 -1
  5. package/esm/Scoped.js +2 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +9 -3
  9. package/esm/actions/Action.js +6 -5
  10. package/esm/actions/AjaxAction.js +3 -3
  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 +4 -4
  16. package/esm/actions/CustomAction.js +2 -1
  17. package/esm/actions/DialogAction.js +2 -1
  18. package/esm/actions/DrawerAction.js +2 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +2 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +2 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.d.ts +1 -1
  26. package/esm/actions/PrintAction.js +12 -6
  27. package/esm/actions/StatusAction.js +1 -1
  28. package/esm/actions/SwitchAction.js +3 -3
  29. package/esm/actions/ToastAction.js +1 -1
  30. package/esm/actions/WaitAction.js +1 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.js +2 -1
  36. package/esm/env.d.ts +2 -4
  37. package/esm/env.js +1 -1
  38. package/esm/envOverwrite.js +1 -1
  39. package/esm/factory.js +1 -1
  40. package/esm/index.js +4 -4
  41. package/esm/locale.js +2 -1
  42. package/esm/polyfills.js +1 -1
  43. package/esm/renderers/Form.d.ts +1 -1
  44. package/esm/renderers/Form.js +40 -6
  45. package/esm/renderers/Item.d.ts +27 -60
  46. package/esm/renderers/Item.js +74 -6
  47. package/esm/renderers/Options.js +2 -1
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +7 -1
  52. package/esm/store/app.js +2 -1
  53. package/esm/store/combo.js +1 -1
  54. package/esm/store/crud.js +2 -1
  55. package/esm/store/form.js +2 -1
  56. package/esm/store/formItem.js +11 -1
  57. package/esm/store/iRenderer.js +2 -1
  58. package/esm/store/index.js +1 -1
  59. package/esm/store/list.js +1 -1
  60. package/esm/store/manager.js +1 -1
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.js +2 -1
  64. package/esm/store/root.js +2 -1
  65. package/esm/store/service.js +2 -1
  66. package/esm/store/status.js +1 -1
  67. package/esm/store/table.js +2 -1
  68. package/esm/store/table2.js +1 -1
  69. package/esm/theme.js +1 -1
  70. package/esm/types.d.ts +1 -0
  71. package/esm/utils/Animation.js +1 -1
  72. package/esm/utils/ColorScale.js +1 -1
  73. package/esm/utils/DataSchema.js +1 -1
  74. package/esm/utils/DataScope.js +1 -1
  75. package/esm/utils/RootClose.js +1 -1
  76. package/esm/utils/SimpleMap.js +1 -1
  77. package/esm/utils/api.js +21 -3
  78. package/esm/utils/arraySlice.js +1 -1
  79. package/esm/utils/attachmentAdpator.js +1 -1
  80. package/esm/utils/autobind.js +1 -1
  81. package/esm/utils/browser.js +1 -1
  82. package/esm/utils/columnsSplit.js +1 -1
  83. package/esm/utils/concatData.js +1 -1
  84. package/esm/utils/dataMapping.js +1 -1
  85. package/esm/utils/date.d.ts +3 -1
  86. package/esm/utils/date.js +11 -5
  87. package/esm/utils/debug.js +1 -1
  88. package/esm/utils/decodeEntity.js +1 -1
  89. package/esm/utils/dom.js +1 -1
  90. package/esm/utils/errors.js +1 -1
  91. package/esm/utils/escapeHtml.js +1 -1
  92. package/esm/utils/filter-schema.js +7 -4
  93. package/esm/utils/filter.js +1 -1
  94. package/esm/utils/formatDuration.js +1 -1
  95. package/esm/utils/formula.js +2 -1
  96. package/esm/utils/getVariable.js +1 -1
  97. package/esm/utils/grammar.js +1 -1
  98. package/esm/utils/handleAction.js +1 -1
  99. package/esm/utils/helper.js +2 -1
  100. package/esm/utils/highlight.js +1 -1
  101. package/esm/utils/icon.js +1 -1
  102. package/esm/utils/image.js +1 -1
  103. package/esm/utils/isPureVariable.js +1 -1
  104. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  105. package/esm/utils/keyToPath.js +1 -1
  106. package/esm/utils/labelToString.js +1 -1
  107. package/esm/utils/makeSorter.js +1 -1
  108. package/esm/utils/math.js +1 -1
  109. package/esm/utils/memoryParse.js +1 -1
  110. package/esm/utils/normalizeLink.js +1 -1
  111. package/esm/utils/normalizeOptions.d.ts +1 -1
  112. package/esm/utils/normalizeOptions.js +3 -2
  113. package/esm/utils/object.js +1 -1
  114. package/esm/utils/offset.js +1 -1
  115. package/esm/utils/offsetParent.js +1 -1
  116. package/esm/utils/optionValueCompare.js +1 -1
  117. package/esm/utils/position.js +1 -1
  118. package/esm/utils/prettyBytes.js +1 -1
  119. package/esm/utils/printElement.js +1 -1
  120. package/esm/utils/renderer-event.js +3 -3
  121. package/esm/utils/replaceText.js +1 -1
  122. package/esm/utils/resize-sensor.js +1 -1
  123. package/esm/utils/resolveCondition.d.ts +2 -1
  124. package/esm/utils/resolveCondition.js +60 -8
  125. package/esm/utils/resolveVariable.js +1 -1
  126. package/esm/utils/resolveVariableAndFilter.js +1 -1
  127. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  128. package/esm/utils/scrollPosition.js +1 -1
  129. package/esm/utils/string2regExp.js +1 -1
  130. package/esm/utils/stripNumber.js +5 -2
  131. package/esm/utils/style-helper.js +5 -3
  132. package/esm/utils/style.js +2 -1
  133. package/esm/utils/toNumber.js +1 -1
  134. package/esm/utils/tokenize.js +1 -1
  135. package/esm/utils/tpl-builtin.js +2 -1
  136. package/esm/utils/tpl-lodash.js +2 -1
  137. package/esm/utils/tpl.d.ts +8 -1
  138. package/esm/utils/tpl.js +18 -5
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validateId.js +1 -1
  141. package/esm/utils/validations.js +2 -1
  142. package/lib/Root.js +1 -1
  143. package/lib/RootRenderer.d.ts +1 -1
  144. package/lib/RootRenderer.js +1 -1
  145. package/lib/SchemaRenderer.js +15 -5
  146. package/lib/Scoped.d.ts +1 -1
  147. package/lib/Scoped.js +2 -1
  148. package/lib/StatusScoped.js +1 -1
  149. package/lib/WithRootStore.js +1 -1
  150. package/lib/WithStore.js +9 -3
  151. package/lib/actions/Action.js +5 -4
  152. package/lib/actions/AjaxAction.js +2 -2
  153. package/lib/actions/BreakAction.js +1 -1
  154. package/lib/actions/BroadcastAction.js +1 -1
  155. package/lib/actions/CmptAction.js +2 -2
  156. package/lib/actions/ContinueAction.js +1 -1
  157. package/lib/actions/CopyAction.js +4 -4
  158. package/lib/actions/CustomAction.js +2 -1
  159. package/lib/actions/DialogAction.js +2 -1
  160. package/lib/actions/DrawerAction.js +2 -1
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/EventAction.js +2 -1
  163. package/lib/actions/LinkAction.js +1 -1
  164. package/lib/actions/LoopAction.js +2 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/PrintAction.d.ts +1 -1
  168. package/lib/actions/PrintAction.js +12 -6
  169. package/lib/actions/StatusAction.js +1 -1
  170. package/lib/actions/SwitchAction.js +2 -2
  171. package/lib/actions/ToastAction.js +1 -1
  172. package/lib/actions/WaitAction.js +1 -1
  173. package/lib/components/CustomStyle.js +1 -1
  174. package/lib/components/ErrorBoundary.js +1 -1
  175. package/lib/components/LazyComponent.js +1 -1
  176. package/lib/components/Overlay.js +2 -1
  177. package/lib/components/PopOver.js +2 -1
  178. package/lib/env.d.ts +2 -4
  179. package/lib/env.js +1 -1
  180. package/lib/envOverwrite.js +1 -1
  181. package/lib/factory.js +1 -1
  182. package/lib/index.js +4 -2
  183. package/lib/locale.js +2 -1
  184. package/lib/polyfills.js +1 -1
  185. package/lib/renderers/Form.d.ts +1 -1
  186. package/lib/renderers/Form.js +40 -6
  187. package/lib/renderers/Item.d.ts +27 -60
  188. package/lib/renderers/Item.js +74 -6
  189. package/lib/renderers/Options.js +2 -1
  190. package/lib/renderers/Placeholder.js +1 -1
  191. package/lib/renderers/builtin.js +1 -1
  192. package/lib/renderers/register.js +1 -1
  193. package/lib/renderers/wrapControl.js +7 -1
  194. package/lib/store/app.js +2 -1
  195. package/lib/store/combo.d.ts +25 -24
  196. package/lib/store/combo.js +1 -1
  197. package/lib/store/crud.js +2 -1
  198. package/lib/store/form.d.ts +11 -10
  199. package/lib/store/form.js +2 -1
  200. package/lib/store/formItem.js +11 -1
  201. package/lib/store/iRenderer.js +2 -1
  202. package/lib/store/index.js +1 -1
  203. package/lib/store/list.js +1 -1
  204. package/lib/store/manager.js +1 -1
  205. package/lib/store/modal.js +1 -1
  206. package/lib/store/node.js +1 -1
  207. package/lib/store/pagination.js +2 -1
  208. package/lib/store/root.js +2 -1
  209. package/lib/store/service.js +2 -1
  210. package/lib/store/status.js +1 -1
  211. package/lib/store/table.d.ts +21 -20
  212. package/lib/store/table.js +2 -1
  213. package/lib/store/table2.js +1 -1
  214. package/lib/theme.js +1 -1
  215. package/lib/types.d.ts +1 -0
  216. package/lib/utils/Animation.js +1 -1
  217. package/lib/utils/ColorScale.js +1 -1
  218. package/lib/utils/DataSchema.js +1 -1
  219. package/lib/utils/DataScope.js +1 -1
  220. package/lib/utils/RootClose.js +1 -1
  221. package/lib/utils/SimpleMap.js +1 -1
  222. package/lib/utils/api.js +23 -3
  223. package/lib/utils/arraySlice.js +1 -1
  224. package/lib/utils/attachmentAdpator.js +1 -1
  225. package/lib/utils/autobind.js +1 -1
  226. package/lib/utils/browser.js +1 -1
  227. package/lib/utils/columnsSplit.js +1 -1
  228. package/lib/utils/concatData.js +1 -1
  229. package/lib/utils/dataMapping.js +1 -1
  230. package/lib/utils/date.d.ts +3 -1
  231. package/lib/utils/date.js +11 -5
  232. package/lib/utils/debug.js +1 -1
  233. package/lib/utils/decodeEntity.js +1 -1
  234. package/lib/utils/dom.js +1 -1
  235. package/lib/utils/errors.js +1 -1
  236. package/lib/utils/escapeHtml.js +1 -1
  237. package/lib/utils/filter-schema.js +6 -3
  238. package/lib/utils/filter.js +1 -1
  239. package/lib/utils/formatDuration.js +1 -1
  240. package/lib/utils/formula.js +2 -1
  241. package/lib/utils/getVariable.js +1 -1
  242. package/lib/utils/grammar.js +1 -1
  243. package/lib/utils/handleAction.js +1 -1
  244. package/lib/utils/helper.js +2 -1
  245. package/lib/utils/highlight.js +1 -1
  246. package/lib/utils/icon.js +1 -1
  247. package/lib/utils/image.js +1 -1
  248. package/lib/utils/isPureVariable.js +1 -1
  249. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  250. package/lib/utils/keyToPath.js +1 -1
  251. package/lib/utils/labelToString.js +1 -1
  252. package/lib/utils/makeSorter.js +1 -1
  253. package/lib/utils/math.js +1 -1
  254. package/lib/utils/memoryParse.js +1 -1
  255. package/lib/utils/normalizeLink.js +1 -1
  256. package/lib/utils/normalizeOptions.d.ts +1 -1
  257. package/lib/utils/normalizeOptions.js +3 -2
  258. package/lib/utils/object.js +1 -1
  259. package/lib/utils/offset.js +1 -1
  260. package/lib/utils/offsetParent.js +1 -1
  261. package/lib/utils/optionValueCompare.js +1 -1
  262. package/lib/utils/position.js +1 -1
  263. package/lib/utils/prettyBytes.js +1 -1
  264. package/lib/utils/printElement.js +1 -1
  265. package/lib/utils/renderer-event.js +2 -2
  266. package/lib/utils/replaceText.js +1 -1
  267. package/lib/utils/resize-sensor.js +1 -1
  268. package/lib/utils/resolveCondition.d.ts +2 -1
  269. package/lib/utils/resolveCondition.js +60 -7
  270. package/lib/utils/resolveVariable.js +1 -1
  271. package/lib/utils/resolveVariableAndFilter.js +1 -1
  272. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  273. package/lib/utils/scrollPosition.js +1 -1
  274. package/lib/utils/string2regExp.js +1 -1
  275. package/lib/utils/stripNumber.js +5 -2
  276. package/lib/utils/style-helper.js +5 -3
  277. package/lib/utils/style.js +2 -1
  278. package/lib/utils/toNumber.js +1 -1
  279. package/lib/utils/tokenize.js +1 -1
  280. package/lib/utils/tpl-builtin.js +2 -1
  281. package/lib/utils/tpl-lodash.js +2 -1
  282. package/lib/utils/tpl.d.ts +8 -1
  283. package/lib/utils/tpl.js +17 -3
  284. package/lib/utils/uncontrollable.js +1 -1
  285. package/lib/utils/validateId.js +1 -1
  286. package/lib/utils/validations.js +2 -1
  287. package/package.json +3 -2
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -22,6 +22,7 @@ import { reaction } from 'mobx';
22
22
  import 'amis-formula';
23
23
  import 'moment';
24
24
  import 'lodash/isPlainObject';
25
+ import '@rc-component/mini-decimal';
25
26
  import { resolveVariableAndFilter } from './utils/resolveVariableAndFilter.js';
26
27
  import './utils/filter.js';
27
28
  import { buildStyle } from './utils/style.js';
@@ -164,9 +165,15 @@ var SchemaRenderer = /** @class */ (function (_super) {
164
165
  this.ref = ref;
165
166
  };
166
167
  SchemaRenderer.prototype.childRef = function (ref) {
168
+ var _this = this;
167
169
  while (ref && ref.getWrappedInstance) {
168
170
  ref = ref.getWrappedInstance();
169
171
  }
172
+ if (ref && !ref.props) {
173
+ Object.defineProperty(ref, 'props', {
174
+ get: function () { return _this.props; }
175
+ });
176
+ }
170
177
  this.cRef = ref;
171
178
  };
172
179
  SchemaRenderer.prototype.dispatchEvent = function (e, data, renderer // for didmount
@@ -249,7 +256,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
249
256
  ? null
250
257
  : React.isValidElement(schema.children)
251
258
  ? schema.children
252
- : schema.children(__assign(__assign(__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
259
+ : typeof schema.children !== 'function'
260
+ ? null
261
+ : schema.children(__assign(__assign(__assign({}, rest), exprProps), { $path: $path, $schema: schema, render: this.renderChild, forwardedRef: this.refFn, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent }));
253
262
  }
254
263
  else if (schema.component && isValidElementType(schema.component)) {
255
264
  var isSFC = !(schema.component.prototype instanceof React.Component);
@@ -304,10 +313,11 @@ var SchemaRenderer = /** @class */ (function (_super) {
304
313
  if (renderer.storeType) {
305
314
  exprProps = {};
306
315
  }
307
- var isClassComponent = (_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent;
316
+ var supportRef = ((_e = Component.prototype) === null || _e === void 0 ? void 0 : _e.isReactComponent) ||
317
+ Component.$$typeof === Symbol.for('react.forward_ref');
308
318
  var props = __assign(__assign(__assign(__assign(__assign({}, theme.getRendererConfig(renderer.name)), restSchema), chainEvents(rest, restSchema)), exprProps), {
309
319
  // value: defaultValue, // 备注: 此处并没有将value传递给渲染器
310
- defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, ref: this.refFn, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
320
+ defaultData: (_f = restSchema.defaultData) !== null && _f !== void 0 ? _f : defaultData, defaultValue: (_g = restSchema.defaultValue) !== null && _g !== void 0 ? _g : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, $path: $path, $schema: schema, render: this.renderChild, rootStore: rootStore, statusStore: statusStore, dispatchEvent: this.dispatchEvent, mobileUI: schema.useMobileUI === false ? false : rest.mobileUI });
311
321
  // style 支持公式
312
322
  if (schema.style) {
313
323
  props.style = buildStyle(schema.style, detectData);
@@ -345,7 +355,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
345
355
  finally { if (e_1) throw e_1.error; }
346
356
  }
347
357
  }
348
- var component = isClassComponent ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props)));
358
+ var component = supportRef ? (React.createElement(Component, __assign({}, props, { ref: this.childRef }))) : (React.createElement(Component, __assign({}, props, { forwardedRef: this.childRef })));
349
359
  return this.props.env.enableAMISDebug ? (React.createElement(DebugWrapper, { renderer: renderer }, component)) : (component);
350
360
  };
351
361
  SchemaRenderer.displayName = 'Renderer';
package/esm/Scoped.d.ts CHANGED
@@ -24,7 +24,7 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
24
24
  focus?: () => void;
25
25
  doAction?: (action: ActionObject, data: RendererData, throwErrors?: boolean, args?: any) => void;
26
26
  receive?: (values: RendererData, subPath?: string, replace?: boolean) => void;
27
- reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData) => void;
27
+ reload?: (subPath?: string, query?: RendererData | null, ctx?: RendererData, silent?: boolean, replace?: boolean, args?: any) => void;
28
28
  context: any;
29
29
  setData?: (value?: object, replace?: boolean, index?: number) => void;
30
30
  }
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,6 +13,7 @@ import 'moment';
13
13
  import { createObject } from './utils/object.js';
14
14
  import { memoParse } from './utils/tokenize.js';
15
15
  import { isPureVariable } from './utils/isPureVariable.js';
16
+ import '@rc-component/mini-decimal';
16
17
  import { getVariable } from './utils/getVariable.js';
17
18
  import { dataMapping } from './utils/dataMapping.js';
18
19
  import './utils/filter.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,6 +15,7 @@ import 'amis-formula';
15
15
  import 'moment';
16
16
  import { createObject, extendObject } from './utils/object.js';
17
17
  import { tokenize } from './utils/tokenize.js';
18
+ import '@rc-component/mini-decimal';
18
19
  import { dataMapping } from './utils/dataMapping.js';
19
20
  import './utils/filter.js';
20
21
  import { RootStoreContext } from './WithRootStore.js';
@@ -198,11 +199,16 @@ function HocStoreFactory(renderer) {
198
199
  return render(region, node, __assign(__assign({ data: this.store.data, dataUpdatedAt: this.store.updatedAt }, subProps), { scope: this.store.data, store: this.store }));
199
200
  };
200
201
  StoreFactory.prototype.render = function () {
201
- var _a = this.props; _a.detectField; var rest = __rest(_a, ["detectField"]);
202
+ var _a;
203
+ var _b = this.props; _b.detectField; var rest = __rest(_b, ["detectField"]);
202
204
  if (this.state.hidden || this.state.visible === false) {
203
205
  return null;
204
206
  }
205
- return (React.createElement(Component, __assign({}, rest /* todo */, this.state, { ref: this.refFn, data: this.store.data, dataUpdatedAt: this.store.updatedAt, store: this.store, scope: this.store.data, render: this.renderChild })));
207
+ var refConfig = ((_a = Component.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
208
+ Component.$$typeof === Symbol.for('react.forward_ref')
209
+ ? { ref: this.refFn }
210
+ : { forwardedRef: this.refFn };
211
+ return (React.createElement(Component, __assign({}, rest /* todo */, this.state, refConfig, { data: this.store.data, dataUpdatedAt: this.store.updatedAt, store: this.store, scope: this.store.data, render: this.renderChild })));
206
212
  };
207
213
  StoreFactory.displayName = "WithStore(".concat(Component.displayName || Component.name, ")");
208
214
  StoreFactory.ComposedComponent = Component;
@@ -1,15 +1,16 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __values, __assign, __spreadArray, __read } from 'tslib';
7
7
  import omit from 'lodash/omit';
8
8
  import '../utils/helper.js';
9
- import { evalExpressionWithConditionBuilder } from '../utils/tpl.js';
9
+ import { evalExpressionWithConditionBuilderAsync } from '../utils/tpl.js';
10
10
  import 'amis-formula';
11
11
  import 'moment';
12
12
  import { createObject } from '../utils/object.js';
13
+ import '@rc-component/mini-decimal';
13
14
  import { dataMapping } from '../utils/dataMapping.js';
14
15
  import '../utils/filter.js';
15
16
 
@@ -204,7 +205,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
204
205
  expression = (_b = action.expression) !== null && _b !== void 0 ? _b : action.execOn;
205
206
  isStop = false;
206
207
  if (!expression) return [3 /*break*/, 2];
207
- return [4 /*yield*/, evalExpressionWithConditionBuilder(expression, mergeData, true)];
208
+ return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(expression, mergeData, true)];
208
209
  case 1:
209
210
  isStop = !(_w.sent());
210
211
  _w.label = 2;
@@ -214,7 +215,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
214
215
  }
215
216
  preventDefault = false;
216
217
  if (!action.preventDefault) return [3 /*break*/, 4];
217
- return [4 /*yield*/, evalExpressionWithConditionBuilder(action.preventDefault, mergeData, false)];
218
+ return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(action.preventDefault, mergeData, false)];
218
219
  case 3:
219
220
  preventDefault = _w.sent();
220
221
  _w.label = 4;
@@ -285,7 +286,7 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
285
286
  }
286
287
  stopPropagation = false;
287
288
  if (!action.stopPropagation) return [3 /*break*/, 7];
288
- return [4 /*yield*/, evalExpressionWithConditionBuilder(action.stopPropagation, mergeData, false)];
289
+ return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(action.stopPropagation, mergeData, false)];
289
290
  case 6:
290
291
  stopPropagation = _w.sent();
291
292
  _w.label = 7;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,7 +7,7 @@ import { __awaiter, __generator, __assign } from 'tslib';
7
7
  import { normalizeApiResponseData, normalizeApi } from '../utils/api.js';
8
8
  import { ServerError } from '../utils/errors.js';
9
9
  import { isEmpty } from '../utils/helper.js';
10
- import { evalExpressionWithConditionBuilder } from '../utils/tpl.js';
10
+ import { evalExpressionWithConditionBuilderAsync } from '../utils/tpl.js';
11
11
  import { registerAction } from './Action.js';
12
12
  import { createObject } from '../utils/object.js';
13
13
 
@@ -47,7 +47,7 @@ var AjaxAction = /** @class */ (function () {
47
47
  messages = (_c = action === null || action === void 0 ? void 0 : action.api) === null || _c === void 0 ? void 0 : _c.messages;
48
48
  api = normalizeApi(action.api);
49
49
  if (!(api.sendOn !== undefined)) return [3 /*break*/, 2];
50
- return [4 /*yield*/, evalExpressionWithConditionBuilder(api.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
50
+ return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(api.sendOn, (_d = action.data) !== null && _d !== void 0 ? _d : {}, false)];
51
51
  case 1:
52
52
  sendOn = _q.sent();
53
53
  if (!sendOn) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -64,7 +64,7 @@ var CmptAction = /** @class */ (function () {
64
64
  }
65
65
  // 刷新
66
66
  if (action.actionType === 'reload') {
67
- return [2 /*return*/, (_l = component === null || component === void 0 ? void 0 : component.reload) === null || _l === void 0 ? void 0 : _l.call(component, undefined, action.data, undefined, undefined, dataMergeMode === 'override', action.args)];
67
+ return [2 /*return*/, (_l = component === null || component === void 0 ? void 0 : component.reload) === null || _l === void 0 ? void 0 : _l.call(component, undefined, action.data, event.data, undefined, dataMergeMode === 'override', action.args)];
68
68
  }
69
69
  if (!(action.actionType === 'validateFormItem' &&
70
70
  ((_o = getRendererByName((_m = component === null || component === void 0 ? void 0 : component.props) === null || _m === void 0 ? void 0 : _m.type)) === null || _o === void 0 ? void 0 : _o.isFormItem))) return [3 /*break*/, 7];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -17,15 +17,15 @@ var CopyAction = /** @class */ (function () {
17
17
  function CopyAction() {
18
18
  }
19
19
  CopyAction.prototype.run = function (action, renderer, event) {
20
- var _a, _b, _c, _d, _e, _f;
20
+ var _a, _b, _c, _d, _e;
21
21
  return __awaiter(this, void 0, void 0, function () {
22
- return __generator(this, function (_g) {
22
+ return __generator(this, function (_f) {
23
23
  if (!((_a = event.context.env) === null || _a === void 0 ? void 0 : _a.copy)) {
24
24
  throw new Error('env.copy is required!');
25
25
  }
26
26
  if ((_b = action.args) === null || _b === void 0 ? void 0 : _b.content) {
27
27
  (_d = (_c = event.context.env) === null || _c === void 0 ? void 0 : _c.copy) === null || _d === void 0 ? void 0 : _d.call(_c, action.args.content, {
28
- format: (_f = (_e = action.args) === null || _e === void 0 ? void 0 : _e.copyFormat) !== null && _f !== void 0 ? _f : 'text/html'
28
+ format: (_e = action.args) === null || _e === void 0 ? void 0 : _e.copyFormat
29
29
  });
30
30
  }
31
31
  return [2 /*return*/];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -23,6 +23,7 @@ import '../utils/filter.js';
23
23
  import 'lodash/isObject';
24
24
  import 'lodash/isString';
25
25
  import 'lodash/isBoolean';
26
+ import '@rc-component/mini-decimal';
26
27
  import '../utils/image.js';
27
28
  import 'lodash/isEqual';
28
29
  import { registerAction, runActions } from './Action.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -24,6 +24,7 @@ import '../utils/filter.js';
24
24
  import 'lodash/isObject';
25
25
  import 'lodash/isString';
26
26
  import 'lodash/isBoolean';
27
+ import '@rc-component/mini-decimal';
27
28
  import '../utils/image.js';
28
29
  import 'lodash/isEqual';
29
30
  import { registerAction } from './Action.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -24,6 +24,7 @@ import '../utils/filter.js';
24
24
  import 'lodash/isObject';
25
25
  import 'lodash/isString';
26
26
  import 'lodash/isBoolean';
27
+ import '@rc-component/mini-decimal';
27
28
  import '../utils/image.js';
28
29
  import 'lodash/isEqual';
29
30
  import { registerAction } from './Action.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -31,6 +31,7 @@ import { resolveVariableAndFilterForAsync } from '../utils/resolveVariableAndFil
31
31
  import '../utils/resize-sensor.js';
32
32
  import 'react-overlays/useRootClose';
33
33
  import '../utils/SimpleMap.js';
34
+ import '@rc-component/mini-decimal';
34
35
  import 'lodash/mapValues';
35
36
  import 'lodash/camelCase';
36
37
  import 'lodash/cloneDeep';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -9,6 +9,7 @@ import { registerAction, LoopStatus, runActions } from './Action.js';
9
9
  import 'amis-formula';
10
10
  import 'moment';
11
11
  import { createObject } from '../utils/object.js';
12
+ import '@rc-component/mini-decimal';
12
13
  import { resolveVariable } from '../utils/resolveVariable.js';
13
14
  import 'lodash/isPlainObject';
14
15
  import '../utils/filter.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { RendererEvent } from '../utils/renderer-event';
2
2
  import { RendererAction, ListenerAction, ListenerContext } from './Action';
3
3
  export interface IPrintAction extends ListenerAction {
4
- actionType: 'copy';
4
+ actionType: 'print';
5
5
  args: {
6
6
  id?: string;
7
7
  ids?: string[];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,17 +18,23 @@ var PrintAction = /** @class */ (function () {
18
18
  function PrintAction() {
19
19
  }
20
20
  PrintAction.prototype.run = function (action, renderer, event) {
21
- var _a, _b;
21
+ var _a, _b, _c, _d;
22
22
  return __awaiter(this, void 0, void 0, function () {
23
- var element, elements_1;
24
- return __generator(this, function (_c) {
25
- if ((_a = action.args) === null || _a === void 0 ? void 0 : _a.id) {
23
+ var targetComponent, element, elements_1;
24
+ return __generator(this, function (_e) {
25
+ // 兼容之前的 word 打印
26
+ if (action.componentId) {
27
+ targetComponent = (_a = event.context.scoped) === null || _a === void 0 ? void 0 : _a.getComponentById(action.componentId);
28
+ (_b = targetComponent === null || targetComponent === void 0 ? void 0 : targetComponent.doAction) === null || _b === void 0 ? void 0 : _b.call(targetComponent, action, event.data, true, action.args);
29
+ return [2 /*return*/];
30
+ }
31
+ if ((_c = action.args) === null || _c === void 0 ? void 0 : _c.id) {
26
32
  element = document.querySelector("[data-id='".concat(action.args.id, "']"));
27
33
  if (element) {
28
34
  printElements([element]);
29
35
  }
30
36
  }
31
- else if ((_b = action.args) === null || _b === void 0 ? void 0 : _b.ids) {
37
+ else if ((_d = action.args) === null || _d === void 0 ? void 0 : _d.ids) {
32
38
  elements_1 = [];
33
39
  action.args.ids.forEach(function (id) {
34
40
  var element = document.querySelector("[data-id='".concat(id, "']"));
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,10 +1,10 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __awaiter, __generator, __values } from 'tslib';
7
- import { evalExpressionWithConditionBuilder } from '../utils/tpl.js';
7
+ import { evalExpressionWithConditionBuilderAsync } from '../utils/tpl.js';
8
8
  import { registerAction, runActions } from './Action.js';
9
9
 
10
10
  /**
@@ -29,7 +29,7 @@ var SwitchAction = /** @class */ (function () {
29
29
  if (!branch.expression) {
30
30
  return [3 /*break*/, 4];
31
31
  }
32
- return [4 /*yield*/, evalExpressionWithConditionBuilder(branch.expression, mergeData)];
32
+ return [4 /*yield*/, evalExpressionWithConditionBuilderAsync(branch.expression, mergeData)];
33
33
  case 2:
34
34
  isPass = _d.sent();
35
35
  if (!isPass) return [3 /*break*/, 4];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -26,6 +26,7 @@ import '../utils/filter.js';
26
26
  import 'lodash/isObject';
27
27
  import 'lodash/isString';
28
28
  import 'lodash/isBoolean';
29
+ import '@rc-component/mini-decimal';
29
30
  import '../utils/image.js';
30
31
  import 'lodash/isEqual';
31
32
  import '../actions/Action.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -24,6 +24,7 @@ import '../utils/filter.js';
24
24
  import 'lodash/isObject';
25
25
  import 'lodash/isString';
26
26
  import 'lodash/isBoolean';
27
+ import '@rc-component/mini-decimal';
27
28
  import '../utils/image.js';
28
29
  import 'lodash/isEqual';
29
30
  import '../actions/Action.js';
package/esm/env.d.ts CHANGED
@@ -112,11 +112,9 @@ export interface EnvProps {
112
112
  env: RendererEnv;
113
113
  }
114
114
  export declare function withRendererEnv<T extends React.ComponentType<React.ComponentProps<T> & EnvProps>>(ComposedComponent: T): {
115
- new (props: (JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "env">> & {
116
- env?: RendererEnv | undefined;
117
- }) | Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "env">> & {
115
+ new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "env">> & {
118
116
  env?: RendererEnv | undefined;
119
- }>): {
117
+ }): {
120
118
  render(): React.JSX.Element;
121
119
  context: unknown;
122
120
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "env">> & {
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.4.0
2
+ * amis-core v6.5.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -67,13 +67,13 @@ export { string2regExp } from './utils/string2regExp.js';
67
67
  export { buildStyle } from './utils/style.js';
68
68
  export { memoParse, tokenize } from './utils/tokenize.js';
69
69
  export { register } from './utils/tpl-builtin.js';
70
- export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs } from './utils/tpl.js';
70
+ export { asyncFilter, evalExpression, evalExpressionWithConditionBuilder, evalExpressionWithConditionBuilderAsync, evalJS, filter, registerTplEnginer, setCustomEvalExpression, setCustomEvalJs } from './utils/tpl.js';
71
71
  export { uncontrollable } from './utils/uncontrollable.js';
72
72
  export { addRule, str2rules, validate, validateMessages, validateObject, validations } from './utils/validations.js';
73
73
  export { toNumber } from './utils/toNumber.js';
74
74
  export { decodeEntity } from './utils/decodeEntity.js';
75
75
  export { addStyle, findOrCreateStyle, formatInputThemeCss, formatStyle, getValueByPath, inheritValueMap, insertCustomStyle, insertEditCustomStyle, insertStyle, removeCustomStyle, setThemeClassName, valueMap as styleMap, valueMap } from './utils/style-helper.js';
76
- export { getConditionComputers, registerConditionComputer, resolveCondition, setConditionComputeErrorHandler } from './utils/resolveCondition.js';
76
+ export { getConditionComputers, registerConditionComputer, resolveCondition, resolveConditionAsync, setConditionComputeErrorHandler } from './utils/resolveCondition.js';
77
77
  export { arraySlice } from './utils/arraySlice.js';
78
78
  export { isIntegerInRange, numberFormatter, safeAdd, safeSub } from './utils/math.js';
79
79
  export { default as animation } from './utils/Animation.js';
@@ -148,7 +148,7 @@ export { StoreNode } from './store/node.js';
148
148
  */
149
149
  var classPrefix = getClassPrefix();
150
150
  // @ts-ignore
151
- var version = '6.4.0';
151
+ var version = '6.5.0';
152
152
  function render(schema, props, options, pathPrefix) {
153
153
  if (props === void 0) { props = {}; }
154
154
  if (options === void 0) { options = {}; }