amis-core 6.9.0-rc.8 → 6.9.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 (292) hide show
  1. package/esm/Root.d.ts +2 -84
  2. package/esm/Root.js +10 -6
  3. package/esm/RootRenderer.js +5 -4
  4. package/esm/SchemaRenderer.d.ts +1 -1
  5. package/esm/SchemaRenderer.js +14 -8
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.d.ts +7 -53
  8. package/esm/StatusScoped.js +20 -45
  9. package/esm/StyleManager.js +1 -1
  10. package/esm/WithRootStore.js +1 -1
  11. package/esm/WithStore.js +1 -1
  12. package/esm/actions/Action.js +1 -1
  13. package/esm/actions/AjaxAction.js +1 -1
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.js +1 -1
  17. package/esm/actions/ContinueAction.js +1 -1
  18. package/esm/actions/CopyAction.js +1 -1
  19. package/esm/actions/CustomAction.js +1 -1
  20. package/esm/actions/DialogAction.js +1 -1
  21. package/esm/actions/DrawerAction.js +1 -1
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.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/PrintAction.js +1 -1
  29. package/esm/actions/StatusAction.js +1 -1
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +1 -1
  32. package/esm/actions/WaitAction.js +1 -1
  33. package/esm/components/CustomStyle.js +1 -1
  34. package/esm/components/ErrorBoundary.js +1 -1
  35. package/esm/components/LazyComponent.js +1 -1
  36. package/esm/components/Overlay.js +1 -1
  37. package/esm/components/PopOver.js +1 -1
  38. package/esm/env.d.ts +4 -0
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.js +1 -1
  42. package/esm/index.d.ts +3 -3
  43. package/esm/index.js +5 -6
  44. package/esm/locale.js +1 -1
  45. package/esm/polyfills.js +1 -1
  46. package/esm/renderers/Form.js +1 -1
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.js +1 -1
  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 +1 -1
  53. package/esm/store/app.js +1 -1
  54. package/esm/store/combo.js +1 -1
  55. package/esm/store/crud.js +1 -1
  56. package/esm/store/form.js +1 -1
  57. package/esm/store/formItem.js +2 -2
  58. package/esm/store/iRenderer.js +1 -1
  59. package/esm/store/index.js +1 -1
  60. package/esm/store/list.js +1 -1
  61. package/esm/store/manager.js +1 -1
  62. package/esm/store/modal.js +1 -1
  63. package/esm/store/node.js +1 -1
  64. package/esm/store/pagination.js +1 -1
  65. package/esm/store/root.js +1 -1
  66. package/esm/store/service.js +1 -1
  67. package/esm/store/status.js +1 -1
  68. package/esm/store/table.js +1 -1
  69. package/esm/store/table2.js +1 -1
  70. package/esm/theme.js +1 -1
  71. package/esm/types.d.ts +6 -2
  72. package/esm/utils/Animation.js +1 -1
  73. package/esm/utils/ColorScale.js +1 -1
  74. package/esm/utils/DataSchema.js +1 -1
  75. package/esm/utils/DataScope.js +1 -1
  76. package/esm/utils/RootClose.js +1 -1
  77. package/esm/utils/SimpleMap.js +1 -1
  78. package/esm/utils/animations.d.ts +2 -0
  79. package/esm/utils/animations.js +8 -2
  80. package/esm/utils/api.js +18 -10
  81. package/esm/utils/arraySlice.js +1 -1
  82. package/esm/utils/attachmentAdpator.js +1 -1
  83. package/esm/utils/autobind.js +1 -1
  84. package/esm/utils/browser.js +1 -1
  85. package/esm/utils/columnsSplit.js +1 -1
  86. package/esm/utils/concatData.js +1 -1
  87. package/esm/utils/dataMapping.js +1 -1
  88. package/esm/utils/date.js +1 -1
  89. package/esm/utils/debug.js +1 -1
  90. package/esm/utils/decodeEntity.js +1 -1
  91. package/esm/utils/dom.js +1 -1
  92. package/esm/utils/errors.js +1 -1
  93. package/esm/utils/escapeHtml.js +1 -1
  94. package/esm/utils/filter-schema.js +1 -1
  95. package/esm/utils/filter.js +1 -1
  96. package/esm/utils/formatDuration.js +1 -1
  97. package/esm/utils/formula.js +1 -1
  98. package/esm/utils/getVariable.js +1 -1
  99. package/esm/utils/grammar.js +1 -1
  100. package/esm/utils/handleAction.js +1 -1
  101. package/esm/utils/helper.js +1 -1
  102. package/esm/utils/highlight.js +1 -1
  103. package/esm/utils/icon.js +1 -1
  104. package/esm/utils/image.js +1 -1
  105. package/esm/utils/index.d.ts +0 -1
  106. package/esm/utils/isPureVariable.js +1 -1
  107. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  108. package/esm/utils/keyToPath.js +1 -1
  109. package/esm/utils/labelToString.js +1 -1
  110. package/esm/utils/makeSorter.js +1 -1
  111. package/esm/utils/math.js +1 -1
  112. package/esm/utils/memoryParse.js +1 -1
  113. package/esm/utils/normalizeLink.js +1 -1
  114. package/esm/utils/normalizeOptions.js +1 -1
  115. package/esm/utils/object.js +1 -1
  116. package/esm/utils/offset.js +1 -1
  117. package/esm/utils/offsetParent.js +1 -1
  118. package/esm/utils/optionValueCompare.js +1 -1
  119. package/esm/utils/position.js +1 -1
  120. package/esm/utils/prettyBytes.js +1 -1
  121. package/esm/utils/printElement.js +1 -1
  122. package/esm/utils/renderer-event.js +1 -1
  123. package/esm/utils/replaceText.js +1 -1
  124. package/esm/utils/resize-sensor.js +1 -1
  125. package/esm/utils/resolveCondition.js +1 -1
  126. package/esm/utils/resolveVariable.js +1 -1
  127. package/esm/utils/resolveVariableAndFilter.js +1 -1
  128. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  129. package/esm/utils/scrollPosition.js +1 -1
  130. package/esm/utils/string2regExp.js +1 -1
  131. package/esm/utils/stripNumber.js +1 -1
  132. package/esm/utils/style-helper.js +1 -1
  133. package/esm/utils/style.js +1 -1
  134. package/esm/utils/toNumber.js +1 -1
  135. package/esm/utils/tokenize.js +1 -1
  136. package/esm/utils/tpl-builtin.js +1 -1
  137. package/esm/utils/tpl-lodash.js +1 -1
  138. package/esm/utils/tpl.js +1 -1
  139. package/esm/utils/uncontrollable.js +1 -1
  140. package/esm/utils/validateId.js +1 -1
  141. package/esm/utils/validations.js +1 -1
  142. package/esm/utils/visitedCache.js +1 -1
  143. package/lib/Root.d.ts +2 -84
  144. package/lib/Root.js +9 -5
  145. package/lib/RootRenderer.js +5 -4
  146. package/lib/SchemaRenderer.d.ts +1 -1
  147. package/lib/SchemaRenderer.js +14 -8
  148. package/lib/Scoped.js +1 -1
  149. package/lib/StatusScoped.d.ts +7 -53
  150. package/lib/StatusScoped.js +19 -44
  151. package/lib/StyleManager.js +1 -1
  152. package/lib/WithRootStore.js +1 -1
  153. package/lib/WithStore.js +1 -1
  154. package/lib/actions/Action.js +1 -1
  155. package/lib/actions/AjaxAction.js +1 -1
  156. package/lib/actions/BreakAction.js +1 -1
  157. package/lib/actions/BroadcastAction.js +1 -1
  158. package/lib/actions/CmptAction.js +1 -1
  159. package/lib/actions/ContinueAction.js +1 -1
  160. package/lib/actions/CopyAction.js +1 -1
  161. package/lib/actions/CustomAction.js +1 -1
  162. package/lib/actions/DialogAction.js +1 -1
  163. package/lib/actions/DrawerAction.js +1 -1
  164. package/lib/actions/EmailAction.js +1 -1
  165. package/lib/actions/EventAction.js +1 -1
  166. package/lib/actions/LinkAction.js +1 -1
  167. package/lib/actions/LoopAction.js +1 -1
  168. package/lib/actions/PageAction.js +1 -1
  169. package/lib/actions/ParallelAction.js +1 -1
  170. package/lib/actions/PrintAction.js +1 -1
  171. package/lib/actions/StatusAction.js +1 -1
  172. package/lib/actions/SwitchAction.js +1 -1
  173. package/lib/actions/ToastAction.js +1 -1
  174. package/lib/actions/WaitAction.js +1 -1
  175. package/lib/components/CustomStyle.js +1 -1
  176. package/lib/components/ErrorBoundary.js +1 -1
  177. package/lib/components/LazyComponent.js +1 -1
  178. package/lib/components/Overlay.js +1 -1
  179. package/lib/components/PopOver.js +1 -1
  180. package/lib/env.d.ts +4 -0
  181. package/lib/env.js +1 -1
  182. package/lib/envOverwrite.js +1 -1
  183. package/lib/factory.js +1 -1
  184. package/lib/index.d.ts +3 -3
  185. package/lib/index.js +5 -6
  186. package/lib/locale.js +1 -1
  187. package/lib/polyfills.js +1 -1
  188. package/lib/renderers/Form.js +1 -1
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.js +1 -1
  191. package/lib/renderers/Placeholder.js +1 -1
  192. package/lib/renderers/builtin.js +1 -1
  193. package/lib/renderers/register.js +1 -1
  194. package/lib/renderers/wrapControl.js +1 -1
  195. package/lib/store/app.js +1 -1
  196. package/lib/store/combo.d.ts +0 -1
  197. package/lib/store/combo.js +1 -1
  198. package/lib/store/crud.js +1 -1
  199. package/lib/store/form.d.ts +0 -1
  200. package/lib/store/form.js +1 -1
  201. package/lib/store/formItem.js +2 -2
  202. package/lib/store/iRenderer.js +1 -1
  203. package/lib/store/index.js +1 -1
  204. package/lib/store/list.js +1 -1
  205. package/lib/store/manager.js +1 -1
  206. package/lib/store/modal.js +1 -1
  207. package/lib/store/node.js +1 -1
  208. package/lib/store/pagination.js +1 -1
  209. package/lib/store/root.js +1 -1
  210. package/lib/store/service.js +1 -1
  211. package/lib/store/status.js +1 -1
  212. package/lib/store/table.d.ts +0 -1
  213. package/lib/store/table.js +1 -1
  214. package/lib/store/table2.js +1 -1
  215. package/lib/theme.js +1 -1
  216. package/lib/types.d.ts +6 -2
  217. package/lib/utils/Animation.js +1 -1
  218. package/lib/utils/ColorScale.js +1 -1
  219. package/lib/utils/DataSchema.js +1 -1
  220. package/lib/utils/DataScope.js +1 -1
  221. package/lib/utils/RootClose.js +1 -1
  222. package/lib/utils/SimpleMap.js +1 -1
  223. package/lib/utils/animations.d.ts +2 -0
  224. package/lib/utils/animations.js +8 -2
  225. package/lib/utils/api.js +18 -10
  226. package/lib/utils/arraySlice.js +1 -1
  227. package/lib/utils/attachmentAdpator.js +1 -1
  228. package/lib/utils/autobind.js +1 -1
  229. package/lib/utils/browser.js +1 -1
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/concatData.js +1 -1
  232. package/lib/utils/dataMapping.js +1 -1
  233. package/lib/utils/date.js +1 -1
  234. package/lib/utils/debug.js +1 -1
  235. package/lib/utils/decodeEntity.js +1 -1
  236. package/lib/utils/dom.js +1 -1
  237. package/lib/utils/errors.js +1 -1
  238. package/lib/utils/escapeHtml.js +1 -1
  239. package/lib/utils/filter-schema.js +1 -1
  240. package/lib/utils/filter.js +1 -1
  241. package/lib/utils/formatDuration.js +1 -1
  242. package/lib/utils/formula.js +1 -1
  243. package/lib/utils/getVariable.js +1 -1
  244. package/lib/utils/grammar.js +1 -1
  245. package/lib/utils/handleAction.js +1 -1
  246. package/lib/utils/helper.js +1 -1
  247. package/lib/utils/highlight.js +1 -1
  248. package/lib/utils/icon.js +1 -1
  249. package/lib/utils/image.js +1 -1
  250. package/lib/utils/index.d.ts +0 -1
  251. package/lib/utils/isPureVariable.js +1 -1
  252. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  253. package/lib/utils/keyToPath.js +1 -1
  254. package/lib/utils/labelToString.js +1 -1
  255. package/lib/utils/makeSorter.js +1 -1
  256. package/lib/utils/math.js +1 -1
  257. package/lib/utils/memoryParse.js +1 -1
  258. package/lib/utils/normalizeLink.js +1 -1
  259. package/lib/utils/normalizeOptions.js +1 -1
  260. package/lib/utils/object.js +1 -1
  261. package/lib/utils/offset.js +1 -1
  262. package/lib/utils/offsetParent.js +1 -1
  263. package/lib/utils/optionValueCompare.js +1 -1
  264. package/lib/utils/position.js +1 -1
  265. package/lib/utils/prettyBytes.js +1 -1
  266. package/lib/utils/printElement.js +1 -1
  267. package/lib/utils/renderer-event.js +1 -1
  268. package/lib/utils/replaceText.js +1 -1
  269. package/lib/utils/resize-sensor.js +1 -1
  270. package/lib/utils/resolveCondition.js +1 -1
  271. package/lib/utils/resolveVariable.js +1 -1
  272. package/lib/utils/resolveVariableAndFilter.js +1 -1
  273. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  274. package/lib/utils/scrollPosition.js +1 -1
  275. package/lib/utils/string2regExp.js +1 -1
  276. package/lib/utils/stripNumber.js +1 -1
  277. package/lib/utils/style-helper.js +1 -1
  278. package/lib/utils/style.js +1 -1
  279. package/lib/utils/toNumber.js +1 -1
  280. package/lib/utils/tokenize.js +1 -1
  281. package/lib/utils/tpl-builtin.js +1 -1
  282. package/lib/utils/tpl-lodash.js +1 -1
  283. package/lib/utils/tpl.js +1 -1
  284. package/lib/utils/uncontrollable.js +1 -1
  285. package/lib/utils/validateId.js +1 -1
  286. package/lib/utils/validations.js +1 -1
  287. package/lib/utils/visitedCache.js +1 -1
  288. package/package.json +5 -5
  289. package/esm/utils/loopTooMuch.d.ts +0 -1
  290. package/esm/utils/loopTooMuch.js +0 -27
  291. package/lib/utils/loopTooMuch.d.ts +0 -1
  292. package/lib/utils/loopTooMuch.js +0 -31
package/esm/Root.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="hoist-non-react-statics" />
2
1
  import React from 'react';
3
2
  import { RendererEnv } from './env';
4
3
  import { RendererProps } from './factory';
@@ -44,88 +43,7 @@ export interface renderChildProps extends Partial<Omit<RendererProps, 'statusSto
44
43
  export type ReactElement = React.ReactNode[] | JSX.Element | null | false;
45
44
  export declare function renderChildren(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
46
45
  export declare function renderChild(prefix: string, node: SchemaNode, props: renderChildProps): ReactElement;
47
- declare const _default: {
48
- new (props: Omit<RootProps & {
49
- scopeRef?: ((ref: any) => void) | undefined;
50
- }, "statusStore">): {
51
- store?: ({
52
- visibleState: any;
53
- disableState: any;
54
- staticState: any;
55
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
56
- setVisible(key: string, value?: boolean | undefined): void;
57
- setDisable(key: string, value?: boolean | undefined): void;
58
- setStatic(key: string, value?: boolean | undefined): void;
59
- resetAll(): void;
60
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
61
- visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
62
- disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
63
- staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
64
- }, {
65
- setVisible(key: string, value?: boolean | undefined): void;
66
- setDisable(key: string, value?: boolean | undefined): void;
67
- setStatic(key: string, value?: boolean | undefined): void;
68
- resetAll(): void;
69
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
70
- ref: any;
71
- childRef(ref: any): void;
72
- getWrappedInstance(): any;
73
- componentWillUnmount(): void;
74
- render(): React.JSX.Element;
75
- context: unknown;
76
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<RootProps & {
77
- scopeRef?: ((ref: any) => void) | undefined;
78
- }, "statusStore">>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
79
- forceUpdate(callback?: (() => void) | undefined): void;
80
- readonly props: Readonly<Omit<RootProps & {
81
- scopeRef?: ((ref: any) => void) | undefined;
82
- }, "statusStore">>;
83
- state: Readonly<{}>;
84
- refs: {
85
- [key: string]: React.ReactInstance;
86
- };
87
- componentDidMount?(): void;
88
- shouldComponentUpdate?(nextProps: Readonly<Omit<RootProps & {
89
- scopeRef?: ((ref: any) => void) | undefined;
90
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): boolean;
91
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
92
- getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<RootProps & {
93
- scopeRef?: ((ref: any) => void) | undefined;
94
- }, "statusStore">>, prevState: Readonly<{}>): any;
95
- componentDidUpdate?(prevProps: Readonly<Omit<RootProps & {
96
- scopeRef?: ((ref: any) => void) | undefined;
97
- }, "statusStore">>, prevState: Readonly<{}>, snapshot?: any): void;
98
- componentWillMount?(): void;
99
- UNSAFE_componentWillMount?(): void;
100
- componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
101
- scopeRef?: ((ref: any) => void) | undefined;
102
- }, "statusStore">>, nextContext: any): void;
103
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<RootProps & {
104
- scopeRef?: ((ref: any) => void) | undefined;
105
- }, "statusStore">>, nextContext: any): void;
106
- componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
107
- scopeRef?: ((ref: any) => void) | undefined;
108
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
109
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<RootProps & {
110
- scopeRef?: ((ref: any) => void) | undefined;
111
- }, "statusStore">>, nextState: Readonly<{}>, nextContext: any): void;
112
- };
113
- displayName: string;
114
- ComposedComponent: React.ComponentType<React.ComponentType<RootProps & {
115
- scopeRef?: ((ref: any) => void) | undefined;
116
- }> & {
117
- ComposedComponent: React.ComponentType<RootProps>;
118
- }>;
119
- contextType?: React.Context<any> | undefined;
120
- } & import("hoist-non-react-statics").NonReactStatics<React.ComponentType<RootProps & {
46
+ declare const _default: (props: Omit<RootProps & {
121
47
  scopeRef?: ((ref: any) => void) | undefined;
122
- }> & {
123
- ComposedComponent: React.ComponentType<RootProps>;
124
- }, {}> & {
125
- ComposedComponent: React.ComponentType<RootProps & {
126
- scopeRef?: ((ref: any) => void) | undefined;
127
- }> & {
128
- ComposedComponent: React.ComponentType<RootProps>;
129
- };
130
- };
48
+ }, "statusStore">, ref: any) => React.JSX.Element;
131
49
  export default _default;
package/esm/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,7 +13,7 @@ import { HocScoped } from './Scoped.js';
13
13
  import { ThemeContext } from './theme.js';
14
14
  import { isEmpty, autobind } from './utils/helper.js';
15
15
  import { RootStoreContext } from './WithRootStore.js';
16
- import { StatusScoped } from './StatusScoped.js';
16
+ import { StatusScopedWrapper, StatusScoped } from './StatusScoped.js';
17
17
 
18
18
  var rootWrappers = [];
19
19
  function addRootWrapper(fn) {
@@ -54,7 +54,6 @@ var Root = /** @class */ (function (_super) {
54
54
  ], Root.prototype, "resolveDefinitions", null);
55
55
  return Root;
56
56
  }(React.Component));
57
- var StatusScopedSchemaRenderer = StatusScoped(SchemaRenderer);
58
57
  function renderChildren(prefix, node, props) {
59
58
  if (Array.isArray(node)) {
60
59
  var elemKey = props.key || props.propKey || props.id || '';
@@ -65,7 +64,7 @@ function renderChildren(prefix, node, props) {
65
64
  return renderChild(prefix, node, props);
66
65
  }
67
66
  function renderChild(prefix, node, props) {
68
- var _a, _b;
67
+ var _a;
69
68
  if (Array.isArray(node)) {
70
69
  return renderChildren(prefix, node, props);
71
70
  }
@@ -85,6 +84,7 @@ function renderChild(prefix, node, props) {
85
84
  delete props.propsTransform;
86
85
  props = transform(props);
87
86
  }
87
+ var Comp = props.env.SchemaRenderer || SchemaRenderer;
88
88
  if (['dialog', 'drawer'].includes(schema === null || schema === void 0 ? void 0 : schema.type) &&
89
89
  !(schema === null || schema === void 0 ? void 0 : schema.component) &&
90
90
  !(schema === null || schema === void 0 ? void 0 : schema.children)) {
@@ -92,9 +92,13 @@ function renderChild(prefix, node, props) {
92
92
  // 找渲染器也是在那,所以没办法在之前根据渲染器信息来包裹个组件下发 statusStore
93
93
  // 所以这里先根据 type 来处理一下
94
94
  // 等后续把状态处理再抽一层,可以把此处放到 SchemaRenderer 里面去
95
- return (React.createElement(StatusScopedSchemaRenderer, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
95
+ return (React.createElement(StatusScopedWrapper, null, function (_a) {
96
+ var _b;
97
+ var statusStore = _a.statusStore;
98
+ return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || ''), statusStore: statusStore })));
99
+ }));
96
100
  }
97
- return (React.createElement(SchemaRenderer, __assign({ render: renderChild }, props, { key: (_b = props.key) !== null && _b !== void 0 ? _b : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
101
+ return (React.createElement(Comp, __assign({ render: renderChild }, props, { key: (_a = props.key) !== null && _a !== void 0 ? _a : schema.key, schema: schema, propKey: schema.key, "$path": "".concat(prefix ? "".concat(prefix, "/") : '').concat((schema && schema.type) || '') })));
98
102
  }
99
103
  var ScopedRootRenderer = StatusScoped(HocScoped(Root));
100
104
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -77,15 +77,16 @@ var RootRenderer = /** @class */ (function (_super) {
77
77
  RootRenderer.prototype.componentDidUpdate = function (prevProps) {
78
78
  var _a;
79
79
  var props = this.props;
80
- if (props.data !== prevProps.data) {
81
- this.store.initData(props.data);
82
- }
83
80
  if (props.location !== prevProps.location) {
84
81
  this.store.updateLocation(props.location, (_a = this.props.env) === null || _a === void 0 ? void 0 : _a.parseLocation);
85
82
  }
86
83
  if (props.context !== prevProps.context) {
87
84
  this.store.updateContext(props.context);
88
85
  }
86
+ // 一定要最后处理,否则 downStream 里面的上层数据 context 还是老的。
87
+ if (props.data !== prevProps.data) {
88
+ this.store.initData(props.data);
89
+ }
89
90
  };
90
91
  RootRenderer.prototype.componentDidCatch = function (error, errorInfo) {
91
92
  var _a, _b;
@@ -28,7 +28,7 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
28
28
  enter?: string;
29
29
  exit?: string;
30
30
  };
31
- reaction: any;
31
+ toDispose: Array<() => any>;
32
32
  unbindEvent: (() => void) | undefined;
33
33
  isStatic: any;
34
34
  constructor(props: SchemaRendererProps);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -80,6 +80,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
80
80
  _this.rendererKey = '';
81
81
  _this.animationTimeout = {};
82
82
  _this.animationClassNames = {};
83
+ _this.toDispose = [];
83
84
  _this.unbindEvent = undefined;
84
85
  _this.isStatic = undefined;
85
86
  var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
@@ -87,12 +88,16 @@ var SchemaRenderer = /** @class */ (function (_super) {
87
88
  var id = props === null || props === void 0 ? void 0 : props.schema.id;
88
89
  id = formateId(id);
89
90
  if (animations.enter) {
90
- _this.animationTimeout.enter = (animations.enter.duration || 1) * 1000;
91
+ _this.animationTimeout.enter =
92
+ ((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
93
+ 1000;
91
94
  _this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
92
95
  _this.animationClassNames.appear = _this.animationClassNames.enter;
93
96
  }
94
97
  if (animations.exit) {
95
- _this.animationTimeout.exit = (animations.exit.duration || 1) * 1000;
98
+ _this.animationTimeout.exit =
99
+ ((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
100
+ 1000;
96
101
  _this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
97
102
  }
98
103
  }
@@ -104,12 +109,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
104
109
  _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
105
110
  _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
106
111
  // 监听statusStore更新
107
- _this.reaction = reaction(function () {
112
+ _this.toDispose.push(reaction(function () {
108
113
  var _a, _b, _c;
109
114
  var id = filter(props.schema.id, props.data);
110
115
  var name = filter(props.schema.name, props.data);
111
116
  return "".concat((_a = props.statusStore.visibleState[id]) !== null && _a !== void 0 ? _a : props.statusStore.visibleState[name]).concat((_b = props.statusStore.disableState[id]) !== null && _b !== void 0 ? _b : props.statusStore.disableState[name]).concat((_c = props.statusStore.staticState[id]) !== null && _c !== void 0 ? _c : props.statusStore.staticState[name]);
112
- }, function () { return _this.forceUpdate(); });
117
+ }, function () { return _this.forceUpdate(); }));
113
118
  return _this;
114
119
  }
115
120
  SchemaRenderer.prototype.componentDidMount = function () {
@@ -120,9 +125,10 @@ var SchemaRenderer = /** @class */ (function (_super) {
120
125
  }
121
126
  };
122
127
  SchemaRenderer.prototype.componentWillUnmount = function () {
123
- var _a, _b;
124
- (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
125
- (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
128
+ var _a;
129
+ this.toDispose.forEach(function (fn) { return fn(); });
130
+ this.toDispose = [];
131
+ (_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
126
132
  this.removeAnimationStyle();
127
133
  };
128
134
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
package/esm/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,58 +1,12 @@
1
1
  import React from 'react';
2
- import hoistNonReactStatic from 'hoist-non-react-statics';
3
2
  import { IStatusStore } from './store/status';
4
3
  export interface StatusScopedProps {
5
4
  statusStore: IStatusStore;
6
5
  }
7
- export declare function StatusScoped<T extends React.ComponentType<React.ComponentProps<T> & StatusScopedProps>>(ComposedComponent: T): {
8
- new (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}): {
9
- store?: ({
10
- visibleState: any;
11
- disableState: any;
12
- staticState: any;
13
- } & import("mobx-state-tree/dist/internal").NonEmptyObject & {
14
- setVisible(key: string, value?: boolean | undefined): void;
15
- setDisable(key: string, value?: boolean | undefined): void;
16
- setStatic(key: string, value?: boolean | undefined): void;
17
- resetAll(): void;
18
- } & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
19
- visibleState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
20
- disableState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
21
- staticState: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
22
- }, {
23
- setVisible(key: string, value?: boolean | undefined): void;
24
- setDisable(key: string, value?: boolean | undefined): void;
25
- setStatic(key: string, value?: boolean | undefined): void;
26
- resetAll(): void;
27
- }, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>) | undefined;
28
- ref: any;
29
- childRef(ref: any): void;
30
- getWrappedInstance(): any;
31
- componentWillUnmount(): void;
32
- render(): React.JSX.Element;
33
- context: unknown;
34
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
35
- forceUpdate(callback?: (() => void) | undefined): void;
36
- readonly props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>;
37
- state: Readonly<{}>;
38
- refs: {
39
- [key: string]: React.ReactInstance;
40
- };
41
- componentDidMount?(): void;
42
- shouldComponentUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): boolean;
43
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
44
- getSnapshotBeforeUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>): any;
45
- componentDidUpdate?(prevProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, prevState: Readonly<{}>, snapshot?: any): void;
46
- componentWillMount?(): void;
47
- UNSAFE_componentWillMount?(): void;
48
- componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
49
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextContext: any): void;
50
- componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
51
- UNSAFE_componentWillUpdate?(nextProps: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, "statusStore">> & {}>, nextState: Readonly<{}>, nextContext: any): void;
52
- };
53
- displayName: string;
54
- ComposedComponent: React.ComponentType<T>;
55
- contextType?: React.Context<any> | undefined;
56
- } & hoistNonReactStatic.NonReactStatics<T, {}> & {
57
- ComposedComponent: T;
58
- };
6
+ export interface StatusScopedWrapperProps {
7
+ children: (props: {
8
+ statusStore: IStatusStore;
9
+ }) => JSX.Element;
10
+ }
11
+ export declare function StatusScopedWrapper({ children }: StatusScopedWrapperProps): JSX.Element;
12
+ export declare function StatusScoped<T extends React.ComponentType<React.ComponentProps<T> & StatusScopedProps>>(ComposedComponent: T): (props: JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof StatusScopedProps>> & {}, ref: any) => React.JSX.Element;
@@ -1,56 +1,31 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
6
- import { __extends, __assign } from 'tslib';
6
+ import { __assign } from 'tslib';
7
7
  import React from 'react';
8
- import hoistNonReactStatic from 'hoist-non-react-statics';
9
8
  import { StatusStore } from './store/status.js';
10
9
  import { destroy } from 'mobx-state-tree';
11
10
 
11
+ function StatusScopedWrapper(_a) {
12
+ var children = _a.children;
13
+ var store = React.useMemo(function () { return StatusStore.create({}); }, []);
14
+ React.useEffect(function () {
15
+ return function () {
16
+ destroy(store);
17
+ };
18
+ }, []);
19
+ return children({ statusStore: store });
20
+ }
12
21
  function StatusScoped(ComposedComponent) {
13
- var _a;
14
- var result = hoistNonReactStatic((_a = /** @class */ (function (_super) {
15
- __extends(class_1, _super);
16
- function class_1(props) {
17
- var _this = _super.call(this, props) || this;
18
- _this.childRef = _this.childRef.bind(_this);
19
- _this.getWrappedInstance = _this.getWrappedInstance.bind(_this);
20
- _this.store = StatusStore.create({});
21
- return _this;
22
- }
23
- class_1.prototype.childRef = function (ref) {
24
- while (ref && ref.getWrappedInstance) {
25
- ref = ref.getWrappedInstance();
26
- }
27
- this.ref = ref;
28
- };
29
- class_1.prototype.getWrappedInstance = function () {
30
- return this.ref;
31
- };
32
- class_1.prototype.componentWillUnmount = function () {
33
- this.store && destroy(this.store);
34
- delete this.store;
35
- };
36
- class_1.prototype.render = function () {
37
- var _a;
38
- var injectedProps = {
39
- statusStore: this.store
40
- };
41
- var refConfig = ((_a = ComposedComponent.prototype) === null || _a === void 0 ? void 0 : _a.isReactComponent) ||
42
- ComposedComponent.$$typeof ===
43
- Symbol.for('react.forward_ref')
44
- ? { ref: this.childRef }
45
- : { forwardedRef: this.childRef };
46
- return (React.createElement(ComposedComponent, __assign({}, this.props, injectedProps, refConfig)));
47
- };
48
- return class_1;
49
- }(React.Component)),
50
- _a.displayName = "StatusScoped(".concat(ComposedComponent.displayName || ComposedComponent.name, ")"),
51
- _a.ComposedComponent = ComposedComponent,
52
- _a), ComposedComponent);
53
- return result;
22
+ var wrapped = function (props, ref) {
23
+ return (React.createElement(StatusScopedWrapper, null, function (_a) {
24
+ var statusStore = _a.statusStore;
25
+ return (React.createElement(ComposedComponent, __assign({}, props, { statusStore: statusStore, ref: ref })));
26
+ }));
27
+ };
28
+ return React.forwardRef(wrapped);
54
29
  }
55
30
 
56
- export { StatusScoped };
31
+ export { StatusScoped, StatusScopedWrapper };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.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.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.8
2
+ * amis-core v6.9.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5