amis-core 6.7.0 → 6.9.0-rc.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 (304) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +24 -2
  4. package/esm/SchemaRenderer.d.ts +0 -1
  5. package/esm/SchemaRenderer.js +43 -20
  6. package/esm/Scoped.js +2 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +8 -8
  10. package/esm/actions/Action.js +2 -1
  11. package/esm/actions/AjaxAction.js +1 -1
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +1 -1
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +1 -1
  17. package/esm/actions/CustomAction.js +2 -1
  18. package/esm/actions/DialogAction.js +3 -1
  19. package/esm/actions/DrawerAction.js +2 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/EventAction.js +2 -1
  22. package/esm/actions/LinkAction.js +1 -1
  23. package/esm/actions/LoopAction.js +2 -1
  24. package/esm/actions/PageAction.js +1 -1
  25. package/esm/actions/ParallelAction.js +1 -1
  26. package/esm/actions/PrintAction.js +1 -1
  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 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.d.ts +40 -2
  34. package/esm/components/LazyComponent.js +13 -7
  35. package/esm/components/Overlay.js +2 -1
  36. package/esm/components/PopOver.d.ts +1 -1
  37. package/esm/components/PopOver.js +2 -1
  38. package/esm/env.js +1 -1
  39. package/esm/envOverwrite.js +1 -1
  40. package/esm/factory.d.ts +13 -2
  41. package/esm/factory.js +157 -45
  42. package/esm/index.d.ts +4 -4
  43. package/esm/index.js +5 -5
  44. package/esm/locale.js +2 -1
  45. package/esm/polyfills.js +1 -1
  46. package/esm/renderers/Form.js +44 -18
  47. package/esm/renderers/Item.d.ts +97 -12
  48. package/esm/renderers/Item.js +164 -125
  49. package/esm/renderers/Options.d.ts +3 -3
  50. package/esm/renderers/Options.js +43 -19
  51. package/esm/renderers/Placeholder.js +1 -1
  52. package/esm/renderers/builtin.js +1 -1
  53. package/esm/renderers/register.js +1 -1
  54. package/esm/renderers/wrapControl.js +2 -1
  55. package/esm/store/app.js +2 -1
  56. package/esm/store/combo.d.ts +408 -0
  57. package/esm/store/combo.js +1 -1
  58. package/esm/store/crud.js +2 -1
  59. package/esm/store/form.d.ts +170 -0
  60. package/esm/store/form.js +2 -1
  61. package/esm/store/formItem.d.ts +5 -0
  62. package/esm/store/formItem.js +30 -8
  63. package/esm/store/iRenderer.js +2 -1
  64. package/esm/store/index.d.ts +1 -0
  65. package/esm/store/index.js +3 -2
  66. package/esm/store/list.js +1 -1
  67. package/esm/store/manager.js +1 -1
  68. package/esm/store/modal.js +1 -1
  69. package/esm/store/node.js +1 -1
  70. package/esm/store/pagination.js +2 -1
  71. package/esm/store/root.d.ts +2 -0
  72. package/esm/store/root.js +46 -21
  73. package/esm/store/service.js +2 -1
  74. package/esm/store/status.js +1 -1
  75. package/esm/store/table.d.ts +379 -21
  76. package/esm/store/table.js +84 -54
  77. package/esm/store/table2.js +1 -1
  78. package/esm/theme.js +1 -1
  79. package/esm/types.d.ts +4 -2
  80. package/esm/utils/Animation.js +1 -1
  81. package/esm/utils/ColorScale.js +1 -1
  82. package/esm/utils/DataSchema.js +1 -1
  83. package/esm/utils/DataScope.js +1 -1
  84. package/esm/utils/RootClose.js +1 -1
  85. package/esm/utils/SimpleMap.js +1 -1
  86. package/esm/utils/api.d.ts +21 -1
  87. package/esm/utils/api.js +133 -41
  88. package/esm/utils/arraySlice.js +1 -1
  89. package/esm/utils/attachmentAdpator.js +1 -1
  90. package/esm/utils/autobind.js +1 -1
  91. package/esm/utils/browser.js +1 -1
  92. package/esm/utils/columnsSplit.js +1 -1
  93. package/esm/utils/concatData.js +1 -1
  94. package/esm/utils/dataMapping.js +1 -1
  95. package/esm/utils/date.js +1 -1
  96. package/esm/utils/debug.js +17 -3
  97. package/esm/utils/decodeEntity.js +1 -1
  98. package/esm/utils/dom.js +1 -1
  99. package/esm/utils/errors.js +1 -1
  100. package/esm/utils/escapeHtml.js +1 -1
  101. package/esm/utils/filter-schema.js +1 -1
  102. package/esm/utils/filter.js +1 -1
  103. package/esm/utils/formatDuration.js +1 -1
  104. package/esm/utils/formula.js +2 -1
  105. package/esm/utils/getVariable.js +1 -1
  106. package/esm/utils/grammar.js +1 -1
  107. package/esm/utils/handleAction.js +1 -1
  108. package/esm/utils/helper.d.ts +4 -1
  109. package/esm/utils/helper.js +20 -4
  110. package/esm/utils/highlight.js +1 -1
  111. package/esm/utils/icon.js +1 -1
  112. package/esm/utils/image.js +1 -1
  113. package/esm/utils/isPureVariable.js +2 -2
  114. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  115. package/esm/utils/keyToPath.js +1 -1
  116. package/esm/utils/labelToString.js +1 -1
  117. package/esm/utils/makeSorter.js +1 -1
  118. package/esm/utils/math.js +1 -1
  119. package/esm/utils/memoryParse.d.ts +2 -1
  120. package/esm/utils/memoryParse.js +10 -6
  121. package/esm/utils/normalizeLink.js +1 -1
  122. package/esm/utils/normalizeOptions.js +1 -1
  123. package/esm/utils/object.d.ts +2 -4
  124. package/esm/utils/object.js +1 -1
  125. package/esm/utils/offset.js +1 -1
  126. package/esm/utils/offsetParent.js +1 -1
  127. package/esm/utils/optionValueCompare.js +1 -1
  128. package/esm/utils/position.js +1 -1
  129. package/esm/utils/prettyBytes.js +1 -1
  130. package/esm/utils/printElement.js +1 -1
  131. package/esm/utils/renderer-event.js +1 -1
  132. package/esm/utils/replaceText.js +1 -1
  133. package/esm/utils/resize-sensor.js +30 -1
  134. package/esm/utils/resolveCondition.js +2 -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 +1 -1
  141. package/esm/utils/style-helper.js +1 -1
  142. package/esm/utils/style.js +2 -1
  143. package/esm/utils/toNumber.js +1 -1
  144. package/esm/utils/tokenize.js +1 -1
  145. package/esm/utils/tpl-builtin.js +2 -1
  146. package/esm/utils/tpl-lodash.js +2 -1
  147. package/esm/utils/tpl.js +1 -1
  148. package/esm/utils/uncontrollable.js +1 -1
  149. package/esm/utils/validateId.js +1 -1
  150. package/esm/utils/validations.js +2 -1
  151. package/esm/utils/visitedCache.d.ts +46 -0
  152. package/esm/utils/visitedCache.js +124 -0
  153. package/lib/Root.js +1 -1
  154. package/lib/RootRenderer.js +23 -1
  155. package/lib/SchemaRenderer.d.ts +0 -1
  156. package/lib/SchemaRenderer.js +41 -18
  157. package/lib/Scoped.js +2 -1
  158. package/lib/StatusScoped.js +1 -1
  159. package/lib/WithRootStore.js +1 -1
  160. package/lib/WithStore.js +8 -8
  161. package/lib/actions/Action.js +2 -1
  162. package/lib/actions/AjaxAction.js +1 -1
  163. package/lib/actions/BreakAction.js +1 -1
  164. package/lib/actions/BroadcastAction.js +1 -1
  165. package/lib/actions/CmptAction.js +1 -1
  166. package/lib/actions/ContinueAction.js +1 -1
  167. package/lib/actions/CopyAction.js +1 -1
  168. package/lib/actions/CustomAction.js +2 -1
  169. package/lib/actions/DialogAction.js +3 -1
  170. package/lib/actions/DrawerAction.js +2 -1
  171. package/lib/actions/EmailAction.js +1 -1
  172. package/lib/actions/EventAction.js +2 -1
  173. package/lib/actions/LinkAction.js +1 -1
  174. package/lib/actions/LoopAction.js +2 -1
  175. package/lib/actions/PageAction.js +1 -1
  176. package/lib/actions/ParallelAction.js +1 -1
  177. package/lib/actions/PrintAction.js +1 -1
  178. package/lib/actions/StatusAction.js +1 -1
  179. package/lib/actions/SwitchAction.js +1 -1
  180. package/lib/actions/ToastAction.js +1 -1
  181. package/lib/actions/WaitAction.js +1 -1
  182. package/lib/components/CustomStyle.js +1 -1
  183. package/lib/components/ErrorBoundary.js +1 -1
  184. package/lib/components/LazyComponent.d.ts +40 -2
  185. package/lib/components/LazyComponent.js +14 -7
  186. package/lib/components/Overlay.js +2 -1
  187. package/lib/components/PopOver.d.ts +1 -1
  188. package/lib/components/PopOver.js +2 -1
  189. package/lib/env.js +1 -1
  190. package/lib/envOverwrite.js +1 -1
  191. package/lib/factory.d.ts +13 -2
  192. package/lib/factory.js +161 -44
  193. package/lib/index.d.ts +4 -4
  194. package/lib/index.js +10 -2
  195. package/lib/locale.js +2 -1
  196. package/lib/polyfills.js +1 -1
  197. package/lib/renderers/Form.js +41 -15
  198. package/lib/renderers/Item.d.ts +98 -13
  199. package/lib/renderers/Item.js +163 -124
  200. package/lib/renderers/Options.d.ts +3 -3
  201. package/lib/renderers/Options.js +43 -19
  202. package/lib/renderers/Placeholder.js +1 -1
  203. package/lib/renderers/builtin.js +1 -1
  204. package/lib/renderers/register.js +1 -1
  205. package/lib/renderers/wrapControl.js +2 -1
  206. package/lib/store/app.js +2 -1
  207. package/lib/store/combo.d.ts +432 -25
  208. package/lib/store/combo.js +1 -1
  209. package/lib/store/crud.js +3 -2
  210. package/lib/store/form.d.ts +180 -11
  211. package/lib/store/form.js +2 -1
  212. package/lib/store/formItem.d.ts +5 -0
  213. package/lib/store/formItem.js +30 -8
  214. package/lib/store/iRenderer.js +2 -1
  215. package/lib/store/index.d.ts +1 -0
  216. package/lib/store/index.js +3 -1
  217. package/lib/store/list.js +1 -1
  218. package/lib/store/manager.js +1 -1
  219. package/lib/store/modal.js +1 -1
  220. package/lib/store/node.js +1 -1
  221. package/lib/store/pagination.js +2 -1
  222. package/lib/store/root.d.ts +2 -0
  223. package/lib/store/root.js +44 -19
  224. package/lib/store/service.js +2 -1
  225. package/lib/store/status.js +1 -1
  226. package/lib/store/table.d.ts +399 -42
  227. package/lib/store/table.js +84 -54
  228. package/lib/store/table2.js +1 -1
  229. package/lib/theme.js +1 -1
  230. package/lib/types.d.ts +4 -2
  231. package/lib/utils/Animation.js +1 -1
  232. package/lib/utils/ColorScale.js +1 -1
  233. package/lib/utils/DataSchema.js +1 -1
  234. package/lib/utils/DataScope.js +1 -1
  235. package/lib/utils/RootClose.js +1 -1
  236. package/lib/utils/SimpleMap.js +1 -1
  237. package/lib/utils/api.d.ts +21 -1
  238. package/lib/utils/api.js +136 -40
  239. package/lib/utils/arraySlice.js +1 -1
  240. package/lib/utils/attachmentAdpator.js +1 -1
  241. package/lib/utils/autobind.js +1 -1
  242. package/lib/utils/browser.js +1 -1
  243. package/lib/utils/columnsSplit.js +1 -1
  244. package/lib/utils/concatData.js +1 -1
  245. package/lib/utils/dataMapping.js +1 -1
  246. package/lib/utils/date.js +1 -1
  247. package/lib/utils/debug.js +18 -4
  248. package/lib/utils/decodeEntity.js +1 -1
  249. package/lib/utils/dom.js +1 -1
  250. package/lib/utils/errors.js +1 -1
  251. package/lib/utils/escapeHtml.js +1 -1
  252. package/lib/utils/filter-schema.js +1 -1
  253. package/lib/utils/filter.js +1 -1
  254. package/lib/utils/formatDuration.js +1 -1
  255. package/lib/utils/formula.js +2 -1
  256. package/lib/utils/getVariable.js +1 -1
  257. package/lib/utils/grammar.js +1 -1
  258. package/lib/utils/handleAction.js +1 -1
  259. package/lib/utils/helper.d.ts +4 -1
  260. package/lib/utils/helper.js +19 -3
  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 +2 -2
  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.d.ts +2 -1
  271. package/lib/utils/memoryParse.js +10 -6
  272. package/lib/utils/normalizeLink.js +1 -1
  273. package/lib/utils/normalizeOptions.js +1 -1
  274. package/lib/utils/object.d.ts +2 -4
  275. package/lib/utils/object.js +1 -1
  276. package/lib/utils/offset.js +1 -1
  277. package/lib/utils/offsetParent.js +1 -1
  278. package/lib/utils/optionValueCompare.js +1 -1
  279. package/lib/utils/position.js +1 -1
  280. package/lib/utils/prettyBytes.js +1 -1
  281. package/lib/utils/printElement.js +1 -1
  282. package/lib/utils/renderer-event.js +1 -1
  283. package/lib/utils/replaceText.js +1 -1
  284. package/lib/utils/resize-sensor.js +30 -1
  285. package/lib/utils/resolveCondition.js +2 -1
  286. package/lib/utils/resolveVariable.js +1 -1
  287. package/lib/utils/resolveVariableAndFilter.js +1 -1
  288. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  289. package/lib/utils/scrollPosition.js +1 -1
  290. package/lib/utils/string2regExp.js +1 -1
  291. package/lib/utils/stripNumber.js +1 -1
  292. package/lib/utils/style-helper.js +1 -1
  293. package/lib/utils/style.js +2 -1
  294. package/lib/utils/toNumber.js +1 -1
  295. package/lib/utils/tokenize.js +1 -1
  296. package/lib/utils/tpl-builtin.js +2 -1
  297. package/lib/utils/tpl-lodash.js +2 -1
  298. package/lib/utils/tpl.js +1 -1
  299. package/lib/utils/uncontrollable.js +1 -1
  300. package/lib/utils/validateId.js +1 -1
  301. package/lib/utils/validations.js +2 -1
  302. package/lib/utils/visitedCache.d.ts +46 -0
  303. package/lib/utils/visitedCache.js +128 -0
  304. package/package.json +2 -2
@@ -1,11 +1,12 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __extends, __rest, __assign } from 'tslib';
7
7
  import React from 'react';
8
8
  import { InView } from 'react-intersection-observer';
9
+ import { themeable } from '../theme.js';
9
10
 
10
11
  /**
11
12
  * @file LazyComponent
@@ -15,19 +16,21 @@ import { InView } from 'react-intersection-observer';
15
16
  var LazyComponent = /** @class */ (function (_super) {
16
17
  __extends(LazyComponent, _super);
17
18
  function LazyComponent(props) {
18
- var _this = _super.call(this, props) || this;
19
+ var _this = this;
20
+ var _a;
21
+ _this = _super.call(this, props) || this;
19
22
  _this.mounted = false;
20
23
  _this.handleVisibleChange = _this.handleVisibleChange.bind(_this);
21
24
  _this.mounted = true;
22
25
  _this.state = {
23
- visible: false,
26
+ visible: (_a = props.defaultVisible) !== null && _a !== void 0 ? _a : false,
24
27
  component: props.component
25
28
  };
26
29
  return _this;
27
30
  }
28
31
  LazyComponent.prototype.componentDidMount = function () {
29
32
  // jest 里面有点异常,先手动让它总是可见
30
- if (typeof jest !== 'undefined') {
33
+ if (typeof jest !== 'undefined' || this.state.visible) {
31
34
  this.handleVisibleChange(true);
32
35
  }
33
36
  };
@@ -59,7 +62,8 @@ var LazyComponent = /** @class */ (function (_super) {
59
62
  });
60
63
  };
61
64
  LazyComponent.prototype.render = function () {
62
- var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, rest = __rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children"]);
65
+ var _a = this.props, placeholder = _a.placeholder, unMountOnHidden = _a.unMountOnHidden, childProps = _a.childProps, partialVisibility = _a.partialVisibility, children = _a.children, className = _a.className, rest = __rest(_a, ["placeholder", "unMountOnHidden", "childProps", "partialVisibility", "children", "className"]);
66
+ var cx = this.props.classnames;
63
67
  var _b = this.state, visible = _b.visible, Component = _b.component;
64
68
  // 需要监听从可见到不可见。
65
69
  if (unMountOnHidden) {
@@ -81,7 +85,7 @@ var LazyComponent = /** @class */ (function (_super) {
81
85
  else if (children) {
82
86
  return children;
83
87
  }
84
- return React.createElement("div", null, placeholder);
88
+ return React.createElement("div", { className: cx('LazyComponent', className) }, placeholder);
85
89
  };
86
90
  LazyComponent.defaultProps = {
87
91
  placeholder: React.createElement("span", null, "Loading..."),
@@ -90,5 +94,7 @@ var LazyComponent = /** @class */ (function (_super) {
90
94
  };
91
95
  return LazyComponent;
92
96
  }(React.Component));
97
+ var themedLazyComponent = themeable(LazyComponent);
98
+ themedLazyComponent.defaultProps = LazyComponent.defaultProps;
93
99
 
94
- export { LazyComponent as default };
100
+ export { LazyComponent, themedLazyComponent as default };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -14,6 +14,7 @@ import '../utils/ColorScale.js';
14
14
  import 'lodash/chunk';
15
15
  import 'lodash/isPlainObject';
16
16
  import 'amis-formula';
17
+ import '../utils/memoryParse.js';
17
18
  import '../utils/DataSchema.js';
18
19
  import '../utils/DataScope.js';
19
20
  import 'moment';
@@ -6,7 +6,7 @@
6
6
  /// <reference types="hoist-non-react-statics" />
7
7
  import React from 'react';
8
8
  import { ClassNamesFn } from '../theme';
9
- import type { TestIdBuilder } from 'amis-core';
9
+ import { TestIdBuilder } from '../utils';
10
10
  export interface Offset {
11
11
  x: number;
12
12
  y: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,6 +13,7 @@ import '../utils/ColorScale.js';
13
13
  import 'lodash/chunk';
14
14
  import 'lodash/isPlainObject';
15
15
  import 'amis-formula';
16
+ import '../utils/memoryParse.js';
16
17
  import '../utils/DataSchema.js';
17
18
  import '../utils/DataScope.js';
18
19
  import 'moment';
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/factory.d.ts CHANGED
@@ -13,8 +13,10 @@ export interface TestFunc {
13
13
  export interface RendererBasicConfig {
14
14
  test?: RegExp | TestFunc;
15
15
  type?: string;
16
+ alias?: Array<string>;
16
17
  name?: string;
17
18
  storeType?: string;
19
+ defaultProps?: (type: string, schema: any) => any;
18
20
  shouldSyncSuperStore?: (store: any, props: any, prevProps: any) => boolean | undefined;
19
21
  storeExtendsData?: boolean | ((props: any) => boolean);
20
22
  weight?: number;
@@ -47,7 +49,11 @@ export type RendererComponent = React.ComponentType<RendererProps> & {
47
49
  propsList?: Array<any>;
48
50
  };
49
51
  export interface RendererConfig extends RendererBasicConfig {
50
- component: RendererComponent;
52
+ component?: RendererComponent;
53
+ getComponent?: () => Promise<{
54
+ default: RendererComponent;
55
+ } | any>;
56
+ override?: boolean;
51
57
  Renderer?: RendererComponent;
52
58
  }
53
59
  export interface RenderSchemaFilter {
@@ -77,7 +83,12 @@ export declare function filterSchema(schema: Schema, render: RendererConfig, pro
77
83
  export declare function Renderer(config: RendererBasicConfig): <T extends RendererComponent>(component: T) => T;
78
84
  export declare function registerRenderer(config: RendererConfig): RendererConfig;
79
85
  export declare function unRegisterRenderer(config: RendererConfig | string): void;
80
- export declare function loadRenderer(schema: Schema, path: string): React.JSX.Element;
86
+ export declare function loadRendererError(schema: Schema, path: string): React.JSX.Element;
87
+ export declare function loadAsyncRenderer(renderer: RendererConfig): Promise<void>;
88
+ export declare function isAsyncRenderer(item: RendererConfig): false | (() => Promise<any>) | undefined;
89
+ export declare function hasAsyncRenderers(): boolean;
90
+ export declare function loadAsyncRenderersByType(type: string | Array<string>, ignore?: boolean): Promise<void>;
91
+ export declare function loadAllAsyncRenderers(): Promise<void>;
81
92
  export declare const defaultOptions: RenderOptions;
82
93
  export declare const stores: {
83
94
  [propName: string]: IRendererStore;
package/esm/factory.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __assign } from 'tslib';
6
+ import { __assign, __awaiter, __generator } from 'tslib';
7
7
  import React from 'react';
8
8
  import { RendererStore } from './store/index.js';
9
9
  import { destroy, getEnv } from 'mobx-state-tree';
@@ -19,6 +19,8 @@ import { string2regExp } from './utils/string2regExp.js';
19
19
 
20
20
  var _a, _b;
21
21
  var renderers = [];
22
+ // type 与 RendererConfig 的映射关系
23
+ var renderersTypeMap = {};
22
24
  var renderersMap = {};
23
25
  var schemaFilters = [];
24
26
  var anonymousIndex = 1;
@@ -34,53 +36,87 @@ function Renderer(config) {
34
36
  return renderer.component;
35
37
  };
36
38
  }
39
+ // 将 renderer 转成组件
40
+ function rendererToComponent(component, config) {
41
+ if (config.storeType && config.component) {
42
+ component = HocStoreFactory({
43
+ storeType: config.storeType,
44
+ extendsData: config.storeExtendsData,
45
+ shouldSyncSuperStore: config.shouldSyncSuperStore
46
+ })(observer(component));
47
+ }
48
+ if (config.isolateScope) {
49
+ component = HocScoped(component, config.type);
50
+ }
51
+ return component;
52
+ }
37
53
  function registerRenderer(config) {
38
54
  if (!config.test && !config.type) {
39
- throw new TypeError('please set config.test or config.type');
55
+ throw new TypeError('please set config.type or config.test');
40
56
  }
41
- else if (!config.component) {
42
- throw new TypeError('config.component is required');
57
+ else if (!config.type && config.name !== 'static') {
58
+ // todo static 目前还没办法不用 test 来实现
59
+ console.warn("config.type is recommended for register renderer(".concat(config.test, ")"));
43
60
  }
44
61
  if (typeof config.type === 'string' && config.type) {
45
62
  config.type = config.type.toLowerCase();
46
63
  config.test =
47
- config.test || new RegExp("(^|/)".concat(string2regExp(config.type), "$"), 'i');
64
+ config.test ||
65
+ new RegExp("(^|/)(?:".concat((config.alias || [])
66
+ .concat(config.type)
67
+ .map(function (type) { return string2regExp(type); })
68
+ .join('|'), ")$"), 'i');
48
69
  }
49
- config.weight = config.weight || 0;
50
- config.Renderer = config.component;
51
- config.name = config.name || config.type || "anonymous-".concat(anonymousIndex++);
52
- if (renderersMap[config.name]) {
53
- throw new Error("The renderer with name \"".concat(config.name, "\" has already exists, please try another name!"));
70
+ var exists = renderersTypeMap[config.type || ''];
71
+ var renderer = __assign({}, config);
72
+ if (exists &&
73
+ exists.component &&
74
+ exists.component !== Placeholder &&
75
+ config.component &&
76
+ !config.override) {
77
+ throw new Error("The renderer with type \"".concat(config.type, "\" has already exists, please try another type!"));
54
78
  }
55
- else if (renderersMap.hasOwnProperty(config.name)) {
56
- // 后面补充的
57
- var idx_1 = findIndex(renderers, function (item) { return item.name === config.name; });
58
- ~idx_1 && renderers.splice(idx_1, 0, config);
79
+ else if (exists) {
80
+ // 如果已经存在,合并配置,并用合并后的配置
81
+ Object.assign(exists, config);
82
+ renderer = exists;
59
83
  }
60
- if (config.storeType && config.component) {
61
- config.component = HocStoreFactory({
62
- storeType: config.storeType,
63
- extendsData: config.storeExtendsData,
64
- shouldSyncSuperStore: config.shouldSyncSuperStore
65
- })(observer(config.component));
84
+ renderer.weight = renderer.weight || 0;
85
+ renderer.name =
86
+ renderer.name || renderer.type || "anonymous-".concat(anonymousIndex++);
87
+ if (config.component) {
88
+ renderer.Renderer = config.component;
89
+ renderer.component = rendererToComponent(config.component, renderer);
66
90
  }
67
- if (config.isolateScope) {
68
- config.component = HocScoped(config.component, config.type);
91
+ if (!exists) {
92
+ var idx = findIndex(renderers, function (item) { return config.weight < item.weight; });
93
+ ~idx ? renderers.splice(idx, 0, renderer) : renderers.push(renderer);
69
94
  }
70
- var idx = findIndex(renderers, function (item) { return config.weight < item.weight; });
71
- ~idx ? renderers.splice(idx, 0, config) : renderers.push(config);
72
- renderersMap[config.name] = config.component !== Placeholder;
73
- return config;
95
+ renderersMap[renderer.name] = !!(renderer.component && renderer.component !== Placeholder);
96
+ renderer.type && (renderersTypeMap[renderer.type] = renderer);
97
+ (renderer.alias || []).forEach(function (alias) { return (renderersTypeMap[alias] = renderer); });
98
+ return renderer;
74
99
  }
75
100
  function unRegisterRenderer(config) {
101
+ var _a;
76
102
  var name = (typeof config === 'string' ? config : config.name);
77
103
  var idx = renderers.findIndex(function (item) { return item.name === name; });
78
- ~idx && renderers.splice(idx, 1);
79
- delete renderersMap[name];
80
- // 清空渲染器定位缓存
81
- cache = {};
104
+ if (~idx) {
105
+ var renderer_1 = renderers[idx];
106
+ renderers.splice(idx, 1);
107
+ delete renderersMap[name];
108
+ delete renderersTypeMap[renderer_1.type || ''];
109
+ (_a = renderer_1.alias) === null || _a === void 0 ? void 0 : _a.forEach(function (alias) { return delete renderersTypeMap[alias]; });
110
+ // 清空渲染器定位缓存
111
+ Object.keys(cache).forEach(function (key) {
112
+ var value = cache[key];
113
+ if (value === renderer_1) {
114
+ delete cache[key];
115
+ }
116
+ });
117
+ }
82
118
  }
83
- function loadRenderer(schema, path) {
119
+ function loadRendererError(schema, path) {
84
120
  return (React.createElement("div", { className: "RuntimeError" },
85
121
  React.createElement("p", null, "Error: \u627E\u4E0D\u5230\u5BF9\u5E94\u7684\u6E32\u67D3\u5668"),
86
122
  React.createElement("p", null,
@@ -89,12 +125,95 @@ function loadRenderer(schema, path) {
89
125
  React.createElement("pre", null,
90
126
  React.createElement("code", null, JSON.stringify(schema, null, 2)))));
91
127
  }
128
+ function loadAsyncRenderer(renderer) {
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var result;
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0:
134
+ if (!isAsyncRenderer(renderer)) {
135
+ // already loaded
136
+ return [2 /*return*/];
137
+ }
138
+ return [4 /*yield*/, renderer.getComponent()];
139
+ case 1:
140
+ result = _a.sent();
141
+ // 如果异步加载的组件没有注册渲染器
142
+ // 同时默认导出了一个组件,则自动注册
143
+ if (!renderer.component && result.default) {
144
+ registerRenderer(__assign(__assign({}, renderer), { component: result.default }));
145
+ }
146
+ return [2 /*return*/];
147
+ }
148
+ });
149
+ });
150
+ }
151
+ function isAsyncRenderer(item) {
152
+ return ((!item.component || item.component === Placeholder) && item.getComponent);
153
+ }
154
+ function hasAsyncRenderers() {
155
+ return renderers.some(isAsyncRenderer);
156
+ }
157
+ function loadAsyncRenderersByType(type, ignore) {
158
+ if (ignore === void 0) { ignore = false; }
159
+ return __awaiter(this, void 0, void 0, function () {
160
+ var types, asyncRenderers;
161
+ return __generator(this, function (_a) {
162
+ switch (_a.label) {
163
+ case 0:
164
+ types = Array.isArray(type) ? type : [type];
165
+ asyncRenderers = types
166
+ .map(function (type) {
167
+ var renderer = renderersTypeMap[type];
168
+ if (!renderer && !ignore) {
169
+ throw new Error("Can not find the renderer by type: ".concat(type));
170
+ }
171
+ return renderer;
172
+ })
173
+ .filter(isAsyncRenderer);
174
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
175
+ return [4 /*yield*/, Promise.all(asyncRenderers.map(function (item) { return loadAsyncRenderer(item); }))];
176
+ case 1:
177
+ _a.sent();
178
+ _a.label = 2;
179
+ case 2: return [2 /*return*/];
180
+ }
181
+ });
182
+ });
183
+ }
184
+ function loadAllAsyncRenderers() {
185
+ return __awaiter(this, void 0, void 0, function () {
186
+ var asyncRenderers;
187
+ var _this = this;
188
+ return __generator(this, function (_a) {
189
+ switch (_a.label) {
190
+ case 0:
191
+ asyncRenderers = renderers.filter(isAsyncRenderer);
192
+ if (!asyncRenderers.length) return [3 /*break*/, 2];
193
+ return [4 /*yield*/, Promise.all(renderers.map(function (renderer) { return __awaiter(_this, void 0, void 0, function () {
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0: return [4 /*yield*/, loadAsyncRenderer(renderer)];
197
+ case 1:
198
+ _a.sent();
199
+ return [2 /*return*/];
200
+ }
201
+ });
202
+ }); }))];
203
+ case 1:
204
+ _a.sent();
205
+ _a.label = 2;
206
+ case 2: return [2 /*return*/];
207
+ }
208
+ });
209
+ });
210
+ }
92
211
  var defaultOptions = {
93
212
  session: 'global',
94
213
  richTextToken: '',
95
214
  useMobileUI: true,
96
215
  enableAMISDebug: (_b = (_a = window.enableAMISDebug) !== null && _a !== void 0 ? _a : location.search.indexOf('amisDebug=1') !== -1) !== null && _b !== void 0 ? _b : false,
97
- loadRenderer: loadRenderer,
216
+ loadRenderer: loadRendererError,
98
217
  fetcher: function () {
99
218
  return Promise.reject('fetcher is required');
100
219
  },
@@ -261,8 +380,9 @@ function extendDefaultEnv(env) {
261
380
  var cache = {};
262
381
  function resolveRenderer(path, schema) {
263
382
  var type = typeof (schema === null || schema === void 0 ? void 0 : schema.type) == 'string' ? schema.type.toLowerCase() : '';
264
- if (type && cache[type]) {
265
- return cache[type];
383
+ // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
384
+ if (type && renderersTypeMap[type]) {
385
+ return renderersTypeMap[type];
266
386
  }
267
387
  else if (cache[path]) {
268
388
  return cache[path];
@@ -273,15 +393,7 @@ function resolveRenderer(path, schema) {
273
393
  var renderer = null;
274
394
  renderers.some(function (item) {
275
395
  var matched = false;
276
- // 直接匹配类型,后续注册渲染都应该用这个方式而不是之前的判断路径。
277
- if (item.type && type) {
278
- matched = item.type === type;
279
- // 如果是type来命中的,那么cache的key直接用 type 即可。
280
- if (matched) {
281
- cache[type] = item;
282
- }
283
- }
284
- else if (typeof item.test === 'function') {
396
+ if (typeof item.test === 'function') {
285
397
  // 不应该搞得这么复杂的,让每个渲染器唯一 id,自己不晕别人用起来也不晕。
286
398
  matched = item.test(path, schema, resolveRenderer);
287
399
  }
@@ -312,4 +424,4 @@ function getRendererByName(name) {
312
424
  return find(renderers, function (item) { return item.name === name; });
313
425
  }
314
426
 
315
- export { Renderer, addSchemaFilter, clearStoresCache, defaultOptions, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, loadRenderer, registerRenderer, renderersMap, resolveRenderer, stores, unRegisterRenderer, updateEnv };
427
+ export { Renderer, addSchemaFilter, clearStoresCache, defaultOptions, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, hasAsyncRenderers, isAsyncRenderer, loadAllAsyncRenderers, loadAsyncRenderer, loadAsyncRenderersByType, loadRendererError, registerRenderer, renderersMap, resolveRenderer, stores, unRegisterRenderer, updateEnv };
package/esm/index.d.ts CHANGED
@@ -6,8 +6,8 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  /// <reference types="react" />
9
- import { Renderer, getRendererByName, getRenderers, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
10
- import type { RenderOptions, RendererConfig, RendererProps } from './factory';
9
+ import { Renderer, getRendererByName, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, registerRenderer, unRegisterRenderer, resolveRenderer, filterSchema, clearStoresCache, updateEnv, addSchemaFilter, extendDefaultEnv } from './factory';
10
+ import type { RenderOptions, RendererConfig, RendererProps, hasAsyncRenderers } from './factory';
11
11
  import './polyfills';
12
12
  import './renderers/builtin';
13
13
  import './renderers/register';
@@ -15,7 +15,7 @@ export * from './utils/index';
15
15
  export * from './types';
16
16
  export * from './store';
17
17
  import * as utils from './utils/helper';
18
- import { RegisterStore } from './store';
18
+ import { RegisterStore, registerStore } from './store';
19
19
  import type { IColumn, IColumn2, IRow, IRow2 } from './store';
20
20
  import { setDefaultLocale, getDefaultLocale, makeTranslator, register as registerLocale, extendLocale, removeLocaleData, localeable } from './locale';
21
21
  import type { LocaleProps, TranslateFn } from './locale';
@@ -51,5 +51,5 @@ import type { IItem } from './store/list';
51
51
  import CustomStyle from './components/CustomStyle';
52
52
  import { StatusScoped } from './StatusScoped';
53
53
  export declare const version = "__buildVersion";
54
- export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, ErrorBoundary, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite };
54
+ export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, registerStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, loadAllAsyncRenderers, loadAsyncRenderersByType, loadAsyncRenderer, hasAsyncRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, ErrorBoundary, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, splitTarget, CustomStyle, enableDebug, disableDebug, envOverwrite };
55
55
  export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
package/esm/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
6
  import { __assign, __rest } from 'tslib';
7
7
  import { stores, defaultOptions } from './factory.js';
8
- export { Renderer, addSchemaFilter, clearStoresCache, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, registerRenderer, resolveRenderer, unRegisterRenderer, updateEnv } from './factory.js';
8
+ export { Renderer, addSchemaFilter, clearStoresCache, extendDefaultEnv, filterSchema, getRendererByName, getRenderers, loadAllAsyncRenderers, loadAsyncRenderer, loadAsyncRenderersByType, registerRenderer, resolveRenderer, unRegisterRenderer, updateEnv } from './factory.js';
9
9
  import './polyfills.js';
10
10
  import './renderers/builtin.js';
11
11
  import './renderers/register.js';
12
12
  import { wrapFetcher } from './utils/api.js';
13
- export { buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher } from './utils/api.js';
13
+ export { addApiRequestAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher } from './utils/api.js';
14
14
  export { attachmentAdpator } from './utils/attachmentAdpator.js';
15
15
  export { autobindMethod, bind } from './utils/autobind.js';
16
16
  export { chromeVersion, isSafari } from './utils/browser.js';
@@ -78,7 +78,7 @@ 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';
80
80
  import { RendererStore } from './store/index.js';
81
- export { RegisterStore, RendererStore } from './store/index.js';
81
+ export { RegisterStore, RendererStore, registerStore } from './store/index.js';
82
82
  import { getEnv } from 'mobx-state-tree';
83
83
  import { getDefaultLocale, makeTranslator } from './locale.js';
84
84
  export { extendLocale, getDefaultLocale, localeable, makeTranslator, register as registerLocale, removeLocaleData, setDefaultLocale } from './locale.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.7.0';
151
+ var version = '6.9.0-rc.0';
152
152
  function render(schema, props, options, pathPrefix) {
153
153
  if (props === void 0) { props = {}; }
154
154
  if (options === void 0) { options = {}; }
package/esm/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -10,6 +10,7 @@ import moment from 'moment';
10
10
  import 'amis-formula';
11
11
  import 'lodash/isPlainObject';
12
12
  import { resolveVariable } from './utils/resolveVariable.js';
13
+ import './utils/memoryParse.js';
13
14
  import '@rc-component/mini-decimal';
14
15
  import './utils/filter.js';
15
16
 
package/esm/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v6.7.0
2
+ * amis-core v6.9.0-rc.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __extends, __awaiter, __generator, __assign, __decorate, __metadata } from 'tslib';
6
+ import { __extends, __awaiter, __generator, __assign, __values, __decorate, __metadata } from 'tslib';
7
7
  import React from 'react';
8
8
  import { Renderer } from '../factory.js';
9
9
  import { FormStore } from '../store/form.js';
@@ -17,11 +17,12 @@ import { filterTarget, ScopedContext } from '../Scoped.js';
17
17
  import 'amis-formula';
18
18
  import 'moment';
19
19
  import { isObject, createObject, cloneObject, injectObjectChain } from '../utils/object.js';
20
+ import '../utils/memoryParse.js';
20
21
  import '@rc-component/mini-decimal';
21
22
  import { dataMapping } from '../utils/dataMapping.js';
22
23
  import '../utils/filter.js';
23
24
  import { isEffectiveApi, isApiOutdated } from '../utils/api.js';
24
- import LazyComponent from '../components/LazyComponent.js';
25
+ import themedLazyComponent from '../components/LazyComponent.js';
25
26
  import { isAlive } from 'mobx-state-tree';
26
27
  import '../utils/browser.js';
27
28
  import '../utils/ColorScale.js';
@@ -91,7 +92,7 @@ var Form = /** @class */ (function (_super) {
91
92
  _this.blockRouting = _this.blockRouting.bind(_this);
92
93
  _this.beforePageUnload = _this.beforePageUnload.bind(_this);
93
94
  _this.formItemDispatchEvent = _this.formItemDispatchEvent.bind(_this);
94
- var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode;
95
+ var store = props.store, canAccessSuperData = props.canAccessSuperData, persistData = props.persistData, simpleMode = props.simpleMode, formLazyChange = props.formLazyChange;
95
96
  store.setCanAccessSuperData(canAccessSuperData !== false);
96
97
  store.setPersistData(persistData);
97
98
  if (simpleMode) {
@@ -111,7 +112,7 @@ var Form = /** @class */ (function (_super) {
111
112
  // https://github.com/baidu/amis/issues/8773
112
113
  _this.toDispose.push(reaction(function () { return store.initedAt; }, function () {
113
114
  store.inited &&
114
- _this.lazyEmitChange(!!_this.props.submitOnChange, true);
115
+ (formLazyChange === false ? _this.emitChange : _this.lazyEmitChange)(!!_this.props.submitOnChange, true);
115
116
  }));
116
117
  return _this;
117
118
  }
@@ -470,29 +471,54 @@ var Form = /** @class */ (function (_super) {
470
471
  };
471
472
  Form.prototype.flush = function () {
472
473
  return __awaiter(this, void 0, void 0, function () {
473
- var hooks;
474
- return __generator(this, function (_a) {
475
- switch (_a.label) {
474
+ var hooks, hooks_1, hooks_1_1, hook, e_1_1;
475
+ var e_1, _a;
476
+ return __generator(this, function (_b) {
477
+ switch (_b.label) {
476
478
  case 0:
477
- _a.trys.push([0, , 4, 5]);
479
+ _b.trys.push([0, , 11, 12]);
478
480
  if (this.flushing) {
479
481
  return [2 /*return*/];
480
482
  }
481
483
  this.flushing = true;
482
484
  hooks = this.hooks['flush'] || [];
483
- return [4 /*yield*/, Promise.all(hooks.map(function (fn) { return fn(); }))];
485
+ _b.label = 1;
484
486
  case 1:
485
- _a.sent();
486
- if (!!this.emitting) return [3 /*break*/, 3];
487
- return [4 /*yield*/, this.lazyEmitChange.flush()];
487
+ _b.trys.push([1, 6, 7, 8]);
488
+ hooks_1 = __values(hooks), hooks_1_1 = hooks_1.next();
489
+ _b.label = 2;
488
490
  case 2:
489
- _a.sent();
490
- _a.label = 3;
491
- case 3: return [3 /*break*/, 5];
491
+ if (!!hooks_1_1.done) return [3 /*break*/, 5];
492
+ hook = hooks_1_1.value;
493
+ return [4 /*yield*/, hook()];
494
+ case 3:
495
+ _b.sent();
496
+ _b.label = 4;
492
497
  case 4:
498
+ hooks_1_1 = hooks_1.next();
499
+ return [3 /*break*/, 2];
500
+ case 5: return [3 /*break*/, 8];
501
+ case 6:
502
+ e_1_1 = _b.sent();
503
+ e_1 = { error: e_1_1 };
504
+ return [3 /*break*/, 8];
505
+ case 7:
506
+ try {
507
+ if (hooks_1_1 && !hooks_1_1.done && (_a = hooks_1.return)) _a.call(hooks_1);
508
+ }
509
+ finally { if (e_1) throw e_1.error; }
510
+ return [7 /*endfinally*/];
511
+ case 8:
512
+ if (!!this.emitting) return [3 /*break*/, 10];
513
+ return [4 /*yield*/, this.lazyEmitChange.flush()];
514
+ case 9:
515
+ _b.sent();
516
+ _b.label = 10;
517
+ case 10: return [3 /*break*/, 12];
518
+ case 11:
493
519
  this.flushing = false;
494
520
  return [7 /*endfinally*/];
495
- case 5: return [2 /*return*/];
521
+ case 12: return [2 /*return*/];
496
522
  }
497
523
  });
498
524
  });
@@ -1357,7 +1383,7 @@ var Form = /** @class */ (function (_super) {
1357
1383
  });
1358
1384
  }
1359
1385
  if (lazyLoad) {
1360
- body = React.createElement(LazyComponent, null, body);
1386
+ body = React.createElement(themedLazyComponent, null, body);
1361
1387
  }
1362
1388
  return body;
1363
1389
  };