amis-core 6.5.0 → 6.7.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 (300) hide show
  1. package/esm/Root.js +4 -3
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +1 -1
  4. package/esm/SchemaRenderer.js +6 -5
  5. package/esm/Scoped.js +4 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +2 -2
  9. package/esm/actions/Action.js +32 -31
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +55 -48
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +11 -3
  17. package/esm/actions/DialogAction.js +1 -1
  18. package/esm/actions/DrawerAction.js +1 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +1 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/CustomStyle.js +3 -2
  31. package/esm/components/ErrorBoundary.js +1 -1
  32. package/esm/components/LazyComponent.js +1 -1
  33. package/esm/components/Overlay.js +1 -1
  34. package/esm/components/PopOver.d.ts +2 -0
  35. package/esm/components/PopOver.js +4 -4
  36. package/esm/env.d.ts +4 -0
  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 +3 -3
  41. package/esm/locale.js +1 -1
  42. package/esm/polyfills.js +1 -1
  43. package/esm/renderers/Form.js +85 -13
  44. package/esm/renderers/Item.js +53 -37
  45. package/esm/renderers/Options.js +39 -13
  46. package/esm/renderers/Placeholder.js +1 -1
  47. package/esm/renderers/builtin.js +1 -1
  48. package/esm/renderers/register.js +1 -1
  49. package/esm/renderers/wrapControl.js +13 -9
  50. package/esm/store/app.d.ts +3 -0
  51. package/esm/store/app.js +1 -1
  52. package/esm/store/combo.d.ts +9 -0
  53. package/esm/store/combo.js +1 -1
  54. package/esm/store/crud.d.ts +3 -0
  55. package/esm/store/crud.js +1 -1
  56. package/esm/store/form.d.ts +3 -0
  57. package/esm/store/form.js +1 -1
  58. package/esm/store/formItem.js +2 -2
  59. package/esm/store/iRenderer.d.ts +3 -0
  60. package/esm/store/iRenderer.js +17 -2
  61. package/esm/store/index.js +1 -1
  62. package/esm/store/list.d.ts +3 -0
  63. package/esm/store/list.js +1 -1
  64. package/esm/store/manager.js +1 -1
  65. package/esm/store/modal.d.ts +3 -0
  66. package/esm/store/modal.js +1 -1
  67. package/esm/store/node.js +1 -1
  68. package/esm/store/pagination.d.ts +3 -0
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.d.ts +3 -0
  71. package/esm/store/root.js +1 -1
  72. package/esm/store/service.d.ts +3 -0
  73. package/esm/store/service.js +1 -1
  74. package/esm/store/status.js +1 -1
  75. package/esm/store/table.d.ts +9 -0
  76. package/esm/store/table.js +1 -1
  77. package/esm/store/table2.d.ts +3 -0
  78. package/esm/store/table2.js +1 -1
  79. package/esm/theme.js +1 -1
  80. package/esm/types.d.ts +1 -0
  81. package/esm/utils/Animation.js +1 -1
  82. package/esm/utils/ColorScale.js +1 -1
  83. package/esm/utils/DataSchema.js +1 -1
  84. package/esm/utils/DataScope.js +2 -1
  85. package/esm/utils/RootClose.js +1 -1
  86. package/esm/utils/SimpleMap.js +1 -1
  87. package/esm/utils/api.js +2 -2
  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 +1 -1
  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 +1 -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 +2 -1
  109. package/esm/utils/helper.js +27 -11
  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 +1 -1
  114. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  115. package/esm/utils/keyToPath.js +1 -1
  116. package/esm/utils/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.js +1 -1
  120. package/esm/utils/normalizeLink.js +1 -1
  121. package/esm/utils/normalizeOptions.js +1 -1
  122. package/esm/utils/object.js +1 -1
  123. package/esm/utils/offset.js +1 -1
  124. package/esm/utils/offsetParent.js +1 -1
  125. package/esm/utils/optionValueCompare.js +1 -1
  126. package/esm/utils/position.js +1 -1
  127. package/esm/utils/prettyBytes.js +1 -1
  128. package/esm/utils/printElement.js +1 -1
  129. package/esm/utils/renderer-event.js +9 -6
  130. package/esm/utils/replaceText.js +1 -1
  131. package/esm/utils/resize-sensor.js +1 -1
  132. package/esm/utils/resolveCondition.js +1 -1
  133. package/esm/utils/resolveVariable.js +1 -1
  134. package/esm/utils/resolveVariableAndFilter.js +1 -1
  135. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  136. package/esm/utils/scrollPosition.js +1 -1
  137. package/esm/utils/string2regExp.js +1 -1
  138. package/esm/utils/stripNumber.js +1 -1
  139. package/esm/utils/style-helper.d.ts +4 -2
  140. package/esm/utils/style-helper.js +37 -18
  141. package/esm/utils/style.js +1 -1
  142. package/esm/utils/toNumber.js +1 -1
  143. package/esm/utils/tokenize.js +1 -1
  144. package/esm/utils/tpl-builtin.js +1 -1
  145. package/esm/utils/tpl-lodash.js +1 -1
  146. package/esm/utils/tpl.js +1 -1
  147. package/esm/utils/uncontrollable.js +1 -1
  148. package/esm/utils/validateId.js +3 -3
  149. package/esm/utils/validations.js +1 -1
  150. package/lib/Root.js +4 -3
  151. package/lib/RootRenderer.d.ts +1 -1
  152. package/lib/RootRenderer.js +1 -1
  153. package/lib/SchemaRenderer.js +6 -5
  154. package/lib/Scoped.js +4 -1
  155. package/lib/StatusScoped.js +1 -1
  156. package/lib/WithRootStore.js +1 -1
  157. package/lib/WithStore.js +2 -2
  158. package/lib/actions/Action.js +32 -31
  159. package/lib/actions/AjaxAction.js +1 -1
  160. package/lib/actions/BreakAction.js +1 -1
  161. package/lib/actions/BroadcastAction.js +1 -1
  162. package/lib/actions/CmptAction.js +55 -48
  163. package/lib/actions/ContinueAction.js +1 -1
  164. package/lib/actions/CopyAction.js +1 -1
  165. package/lib/actions/CustomAction.js +11 -3
  166. package/lib/actions/DialogAction.js +1 -1
  167. package/lib/actions/DrawerAction.js +1 -1
  168. package/lib/actions/EmailAction.js +1 -1
  169. package/lib/actions/EventAction.js +1 -1
  170. package/lib/actions/LinkAction.js +1 -1
  171. package/lib/actions/LoopAction.js +1 -1
  172. package/lib/actions/PageAction.js +1 -1
  173. package/lib/actions/ParallelAction.js +1 -1
  174. package/lib/actions/PrintAction.js +1 -1
  175. package/lib/actions/StatusAction.js +1 -1
  176. package/lib/actions/SwitchAction.js +1 -1
  177. package/lib/actions/ToastAction.js +1 -1
  178. package/lib/actions/WaitAction.js +1 -1
  179. package/lib/components/CustomStyle.js +3 -2
  180. package/lib/components/ErrorBoundary.js +1 -1
  181. package/lib/components/LazyComponent.js +1 -1
  182. package/lib/components/Overlay.js +1 -1
  183. package/lib/components/PopOver.d.ts +2 -0
  184. package/lib/components/PopOver.js +4 -4
  185. package/lib/env.d.ts +4 -0
  186. package/lib/env.js +1 -1
  187. package/lib/envOverwrite.js +1 -1
  188. package/lib/factory.js +1 -1
  189. package/lib/index.js +3 -2
  190. package/lib/locale.js +1 -1
  191. package/lib/polyfills.js +1 -1
  192. package/lib/renderers/Form.js +85 -13
  193. package/lib/renderers/Item.d.ts +1 -1
  194. package/lib/renderers/Item.js +53 -37
  195. package/lib/renderers/Options.js +39 -13
  196. package/lib/renderers/Placeholder.js +1 -1
  197. package/lib/renderers/builtin.js +1 -1
  198. package/lib/renderers/register.js +1 -1
  199. package/lib/renderers/wrapControl.js +13 -9
  200. package/lib/store/app.d.ts +3 -0
  201. package/lib/store/app.js +1 -1
  202. package/lib/store/combo.d.ts +9 -0
  203. package/lib/store/combo.js +1 -1
  204. package/lib/store/crud.d.ts +3 -0
  205. package/lib/store/crud.js +1 -1
  206. package/lib/store/form.d.ts +3 -0
  207. package/lib/store/form.js +1 -1
  208. package/lib/store/formItem.js +2 -2
  209. package/lib/store/iRenderer.d.ts +3 -0
  210. package/lib/store/iRenderer.js +17 -2
  211. package/lib/store/index.js +1 -1
  212. package/lib/store/list.d.ts +3 -0
  213. package/lib/store/list.js +1 -1
  214. package/lib/store/manager.js +1 -1
  215. package/lib/store/modal.d.ts +3 -0
  216. package/lib/store/modal.js +1 -1
  217. package/lib/store/node.js +1 -1
  218. package/lib/store/pagination.d.ts +3 -0
  219. package/lib/store/pagination.js +1 -1
  220. package/lib/store/root.d.ts +3 -0
  221. package/lib/store/root.js +1 -1
  222. package/lib/store/service.d.ts +3 -0
  223. package/lib/store/service.js +1 -1
  224. package/lib/store/status.js +1 -1
  225. package/lib/store/table.d.ts +9 -0
  226. package/lib/store/table.js +1 -1
  227. package/lib/store/table2.d.ts +3 -0
  228. package/lib/store/table2.js +1 -1
  229. package/lib/theme.js +1 -1
  230. package/lib/types.d.ts +1 -0
  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 +2 -1
  235. package/lib/utils/RootClose.js +1 -1
  236. package/lib/utils/SimpleMap.js +1 -1
  237. package/lib/utils/api.js +2 -2
  238. package/lib/utils/arraySlice.js +1 -1
  239. package/lib/utils/attachmentAdpator.js +1 -1
  240. package/lib/utils/autobind.js +1 -1
  241. package/lib/utils/browser.js +1 -1
  242. package/lib/utils/columnsSplit.js +1 -1
  243. package/lib/utils/concatData.js +1 -1
  244. package/lib/utils/dataMapping.js +1 -1
  245. package/lib/utils/date.js +1 -1
  246. package/lib/utils/debug.js +1 -1
  247. package/lib/utils/decodeEntity.js +1 -1
  248. package/lib/utils/dom.js +1 -1
  249. package/lib/utils/errors.js +1 -1
  250. package/lib/utils/escapeHtml.js +1 -1
  251. package/lib/utils/filter-schema.js +1 -1
  252. package/lib/utils/filter.js +1 -1
  253. package/lib/utils/formatDuration.js +1 -1
  254. package/lib/utils/formula.js +1 -1
  255. package/lib/utils/getVariable.js +1 -1
  256. package/lib/utils/grammar.js +1 -1
  257. package/lib/utils/handleAction.js +1 -1
  258. package/lib/utils/helper.d.ts +2 -1
  259. package/lib/utils/helper.js +26 -9
  260. package/lib/utils/highlight.js +1 -1
  261. package/lib/utils/icon.js +1 -1
  262. package/lib/utils/image.js +1 -1
  263. package/lib/utils/isPureVariable.js +1 -1
  264. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  265. package/lib/utils/keyToPath.js +1 -1
  266. package/lib/utils/labelToString.js +1 -1
  267. package/lib/utils/makeSorter.js +1 -1
  268. package/lib/utils/math.js +1 -1
  269. package/lib/utils/memoryParse.js +1 -1
  270. package/lib/utils/normalizeLink.js +1 -1
  271. package/lib/utils/normalizeOptions.js +1 -1
  272. package/lib/utils/object.js +1 -1
  273. package/lib/utils/offset.js +1 -1
  274. package/lib/utils/offsetParent.js +1 -1
  275. package/lib/utils/optionValueCompare.js +1 -1
  276. package/lib/utils/position.js +1 -1
  277. package/lib/utils/prettyBytes.js +1 -1
  278. package/lib/utils/printElement.js +1 -1
  279. package/lib/utils/renderer-event.js +9 -6
  280. package/lib/utils/replaceText.js +1 -1
  281. package/lib/utils/resize-sensor.js +1 -1
  282. package/lib/utils/resolveCondition.js +1 -1
  283. package/lib/utils/resolveVariable.js +1 -1
  284. package/lib/utils/resolveVariableAndFilter.js +1 -1
  285. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  286. package/lib/utils/scrollPosition.js +1 -1
  287. package/lib/utils/string2regExp.js +1 -1
  288. package/lib/utils/stripNumber.js +1 -1
  289. package/lib/utils/style-helper.d.ts +4 -2
  290. package/lib/utils/style-helper.js +37 -18
  291. package/lib/utils/style.js +1 -1
  292. package/lib/utils/toNumber.js +1 -1
  293. package/lib/utils/tokenize.js +1 -1
  294. package/lib/utils/tpl-builtin.js +1 -1
  295. package/lib/utils/tpl-lodash.js +1 -1
  296. package/lib/utils/tpl.js +1 -1
  297. package/lib/utils/uncontrollable.js +1 -1
  298. package/lib/utils/validateId.js +3 -3
  299. package/lib/utils/validations.js +1 -1
  300. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -9,7 +9,8 @@ import { insertCustomStyle, removeCustomStyle, insertEditCustomStyle } from '../
9
9
  var styleIdCount = new Map();
10
10
  function CustomStyle (props) {
11
11
  var config = props.config, env = props.env, data = props.data;
12
- var themeCss = config.themeCss, classNames = config.classNames, id = config.id, defaultData = config.defaultData, wrapperCustomStyle = config.wrapperCustomStyle;
12
+ var themeCss = config.themeCss, classNames = config.classNames, defaultData = config.defaultData, wrapperCustomStyle = config.wrapperCustomStyle;
13
+ var id = config.id ? "".concat(config.id) : config.id;
13
14
  useEffect(function () {
14
15
  if (styleIdCount.has(id)) {
15
16
  styleIdCount.set(id, styleIdCount.get(id) + 1);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -6,6 +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
10
  export interface Offset {
10
11
  x: number;
11
12
  y: number;
@@ -24,6 +25,7 @@ export interface PopOverProps {
24
25
  onClick?: (e: React.MouseEvent<any>) => void;
25
26
  classPrefix: string;
26
27
  classnames: ClassNamesFn;
28
+ testIdBuilder?: TestIdBuilder;
27
29
  [propName: string]: any;
28
30
  }
29
31
  interface PopOverState {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -152,12 +152,12 @@ var PopOver = /** @class */ (function (_super) {
152
152
  });
153
153
  };
154
154
  PopOver.prototype.render = function () {
155
- var _a = this.props; _a.placement; var activePlacement = _a.activePlacement, positionTop = _a.positionTop, positionLeft = _a.positionLeft; _a.arrowOffsetLeft; _a.arrowOffsetTop; var style = _a.style, children = _a.children; _a.offset; var overlay = _a.overlay, onHide = _a.onHide, ns = _a.classPrefix, cx = _a.classnames, className = _a.className; _a.componentId; var rest = __rest(_a, ["placement", "activePlacement", "positionTop", "positionLeft", "arrowOffsetLeft", "arrowOffsetTop", "style", "children", "offset", "overlay", "onHide", "classPrefix", "classnames", "className", "componentId"]);
155
+ var _a = this.props; _a.placement; var activePlacement = _a.activePlacement, positionTop = _a.positionTop, positionLeft = _a.positionLeft; _a.arrowOffsetLeft; _a.arrowOffsetTop; var style = _a.style, children = _a.children; _a.offset; var overlay = _a.overlay, onHide = _a.onHide, ns = _a.classPrefix, cx = _a.classnames, className = _a.className; _a.componentId; var testIdBuilder = _a.testIdBuilder, rest = __rest(_a, ["placement", "activePlacement", "positionTop", "positionLeft", "arrowOffsetLeft", "arrowOffsetTop", "style", "children", "offset", "overlay", "onHide", "classPrefix", "classnames", "className", "componentId", "testIdBuilder"]);
156
156
  var _b = this.state, xOffset = _b.xOffset, yOffset = _b.yOffset;
157
157
  var outerStyle = __assign(__assign({ display: 'block' }, style), { top: positionTop + yOffset, left: positionLeft + xOffset });
158
158
  var placements = typeof activePlacement === 'string' ? activePlacement.split('-') : [];
159
- return (React.createElement("div", __assign({ ref: this.wrapperRef, role: "popover", className: cx("PopOver", className, "PopOver--".concat(camel(activePlacement)), placements[3] ? "PopOver--v-".concat(placements[3]) : ''), style: outerStyle }, rest),
160
- overlay ? (React.createElement("div", { className: "".concat(ns, "PopOver-overlay"), onClick: onHide })) : null,
159
+ return (React.createElement("div", __assign({ ref: this.wrapperRef, role: "popover", className: cx("PopOver", className, "PopOver--".concat(camel(activePlacement)), placements[3] ? "PopOver--v-".concat(placements[3]) : ''), style: outerStyle }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getTestId(), rest),
160
+ overlay ? (React.createElement("div", __assign({ className: "".concat(ns, "PopOver-overlay"), onClick: onHide }, testIdBuilder === null || testIdBuilder === void 0 ? void 0 : testIdBuilder.getChild('overlay').getTestId()))) : null,
161
161
  children));
162
162
  };
163
163
  PopOver.defaultProps = {
package/esm/env.d.ts CHANGED
@@ -90,6 +90,10 @@ export interface RendererEnv {
90
90
  * 是否开启 testid 定位
91
91
  */
92
92
  enableTestid?: boolean;
93
+ /**
94
+ * pdfjs worker 地址,用于渲染 pdf
95
+ */
96
+ pdfjsWorkerSrc?: string;
93
97
  /**
94
98
  * 替换文本,用于实现 URL 替换、语言替换等
95
99
  */
package/esm/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.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.5.0
2
+ * amis-core v6.7.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.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -36,7 +36,7 @@ export { handleAction } from './utils/handleAction.js';
36
36
  import { promisify } from './utils/helper.js';
37
37
  import * as helper from './utils/helper.js';
38
38
  export { helper as utils };
39
- export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter } from './utils/helper.js';
39
+ export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, supportsMjs, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter } from './utils/helper.js';
40
40
  export { highlight } from './utils/highlight.js';
41
41
  export { generateIcon } from './utils/icon.js';
42
42
  export { getImageDimensions, toDataURL } from './utils/image.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.5.0';
151
+ var version = '6.7.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.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -43,10 +43,7 @@ import 'react-overlays/useRootClose';
43
43
  import '../utils/SimpleMap.js';
44
44
  import 'lodash/mapValues';
45
45
  import 'lodash/camelCase';
46
- import 'lodash/cloneDeep';
47
- import 'lodash/map';
48
- import 'lodash/isEmpty';
49
- import 'lodash/kebabCase';
46
+ import { setThemeClassName } from '../utils/style-helper.js';
50
47
  import 'uncontrollable';
51
48
  import 'hoist-non-react-statics';
52
49
  import '../utils/validations.js';
@@ -54,6 +51,7 @@ import '../utils/resolveCondition.js';
54
51
  import { reaction } from 'mobx';
55
52
  import '../utils/Animation.js';
56
53
  import groupBy from 'lodash/groupBy';
54
+ import CustomStyle from '../components/CustomStyle.js';
57
55
 
58
56
  var Form = /** @class */ (function (_super) {
59
57
  __extends(Form, _super);
@@ -551,17 +549,17 @@ var Form = /** @class */ (function (_super) {
551
549
  Form.prototype.emitChange = function (submit, emitedFromWatch) {
552
550
  if (emitedFromWatch === void 0) { emitedFromWatch = false; }
553
551
  return __awaiter(this, void 0, void 0, function () {
554
- var _a, onChange, store, submitOnChange, dispatchEvent_1, data, diff, changeProps, dispatcher;
552
+ var _a, onChange, store, submitOnChange, dispatchEvent_1, data, originData, diff, changeProps, dispatcher;
555
553
  return __generator(this, function (_b) {
556
554
  switch (_b.label) {
557
555
  case 0:
558
556
  _b.trys.push([0, , 4, 5]);
559
557
  this.emitting = true;
560
- _a = this.props, onChange = _a.onChange, store = _a.store, submitOnChange = _a.submitOnChange, dispatchEvent_1 = _a.dispatchEvent, data = _a.data;
558
+ _a = this.props, onChange = _a.onChange, store = _a.store, submitOnChange = _a.submitOnChange, dispatchEvent_1 = _a.dispatchEvent, data = _a.data, originData = _a.originData;
561
559
  if (!isAlive(store)) {
562
560
  return [2 /*return*/];
563
561
  }
564
- diff = difference(store.data, store.pristine);
562
+ diff = difference(store.data, originData !== null && originData !== void 0 ? originData : store.upStreamData);
565
563
  if (emitedFromWatch &&
566
564
  (!Object.keys(diff).length || isEqual(store.data, this.emittedData))) {
567
565
  return [2 /*return*/];
@@ -1219,14 +1217,20 @@ var Form = /** @class */ (function (_super) {
1219
1217
  return render("".concat(region ? "".concat(region, "/") : '').concat(key), subSchema, subProps);
1220
1218
  };
1221
1219
  Form.prototype.renderBody = function () {
1222
- var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, debugConfig = _a.debugConfig, $path = _a.$path, store = _a.store, columnCount = _a.columnCount, render = _a.render, staticClassName = _a.staticClassName, _b = _a.static, isStatic = _b === void 0 ? false : _b, loadingConfig = _a.loadingConfig; _a.testid;
1220
+ var _a = this.props, body = _a.body, mode = _a.mode, className = _a.className, cx = _a.classnames, debug = _a.debug, debugConfig = _a.debugConfig, $path = _a.$path, store = _a.store, columnCount = _a.columnCount, render = _a.render, staticClassName = _a.staticClassName, _b = _a.static, isStatic = _b === void 0 ? false : _b, loadingConfig = _a.loadingConfig, themeCss = _a.themeCss, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, env = _a.env, wrapWithPanel = _a.wrapWithPanel; _a.testid;
1223
1221
  var restError = store.restError;
1224
1222
  var WrapperComponent = this.props.wrapperComponent ||
1225
1223
  (/(?:\/|^)form\//.test($path) ? 'div' : 'form');
1226
1224
  var padDom = repeatCount(columnCount && Array.isArray(body)
1227
1225
  ? (columnCount - (body.length % columnCount)) % columnCount
1228
1226
  : 0, function (index) { return (React.createElement("div", { className: cx("Form-item Form-item--".concat(mode, " is-placeholder")), key: index })); });
1229
- return (React.createElement(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null), onSubmit: this.handleFormSubmit, noValidate: true },
1227
+ return (React.createElement(WrapperComponent, { className: cx("Form", "Form--".concat(mode || 'normal'), columnCount ? "Form--column Form--column-".concat(columnCount) : null, staticClassName && isStatic ? staticClassName : className, isStatic ? 'Form--isStatic' : null, setThemeClassName(__assign(__assign({}, this.props), { name: [
1228
+ 'formControlClassName',
1229
+ 'itemClassName',
1230
+ 'staticClassName',
1231
+ 'itemLabelClassName'
1232
+ ], id: id, themeCss: themeCss })), !wrapWithPanel &&
1233
+ setThemeClassName(__assign(__assign({}, this.props), { name: 'wrapperCustomStyle', id: id, themeCss: wrapperCustomStyle }))), onSubmit: this.handleFormSubmit, noValidate: true },
1230
1234
  React.createElement("input", { type: "submit", style: { display: 'none' } }),
1231
1235
  debug
1232
1236
  ? render('form-debug-json', __assign({ type: 'json', value: store.data, ellipsisThreshold: 120, className: cx('Form--debug') }, debugConfig))
@@ -1256,17 +1260,81 @@ var Form = /** @class */ (function (_super) {
1256
1260
  onConfirm: this.handleDrawerConfirm,
1257
1261
  onClose: this.handleDrawerClose,
1258
1262
  show: store.drawerOpen
1259
- })));
1263
+ }),
1264
+ React.createElement(CustomStyle, __assign({}, this.props, { config: {
1265
+ themeCss: themeCss,
1266
+ classNames: [
1267
+ wrapWithPanel && {
1268
+ key: 'panelClassName'
1269
+ },
1270
+ !wrapWithPanel && {
1271
+ key: 'formControlClassName'
1272
+ },
1273
+ {
1274
+ key: 'headerControlClassName',
1275
+ weights: {
1276
+ default: {
1277
+ parent: ".".concat(cx('Panel'))
1278
+ }
1279
+ }
1280
+ },
1281
+ wrapWithPanel && {
1282
+ key: 'headerTitleControlClassName',
1283
+ weights: {
1284
+ default: {
1285
+ important: true
1286
+ }
1287
+ }
1288
+ },
1289
+ wrapWithPanel && {
1290
+ key: 'bodyControlClassName'
1291
+ },
1292
+ wrapWithPanel && {
1293
+ key: 'actionsControlClassName',
1294
+ weights: {
1295
+ default: {
1296
+ parent: ".".concat(cx('Panel--form'))
1297
+ }
1298
+ }
1299
+ },
1300
+ {
1301
+ key: 'itemClassName',
1302
+ weights: {
1303
+ default: {
1304
+ inner: ".".concat(cx('Form-item'))
1305
+ }
1306
+ }
1307
+ },
1308
+ {
1309
+ key: 'staticClassName',
1310
+ weights: {
1311
+ default: {
1312
+ inner: ".".concat(cx('Form-static'))
1313
+ }
1314
+ }
1315
+ },
1316
+ {
1317
+ key: 'itemLabelClassName',
1318
+ weights: {
1319
+ default: {
1320
+ inner: ".".concat(cx('Form-label'))
1321
+ }
1322
+ }
1323
+ }
1324
+ ].filter(function (n) { return n; }),
1325
+ wrapperCustomStyle: wrapperCustomStyle,
1326
+ id: id
1327
+ }, env: env }))));
1260
1328
  };
1261
1329
  Form.prototype.render = function () {
1262
- var _a = this.props; _a.$path; _a.$schema; var wrapWithPanel = _a.wrapWithPanel, render = _a.render, title = _a.title, store = _a.store, panelClassName = _a.panelClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, footerWrapClassName = _a.footerWrapClassName, actionsClassName = _a.actionsClassName, bodyClassName = _a.bodyClassName, cx = _a.classnames, style = _a.style, affixFooter = _a.affixFooter, lazyLoad = _a.lazyLoad, __ = _a.translate, footer = _a.footer;
1330
+ var _a = this.props; _a.$path; _a.$schema; var wrapWithPanel = _a.wrapWithPanel, render = _a.render, title = _a.title, store = _a.store, panelClassName = _a.panelClassName, headerClassName = _a.headerClassName, footerClassName = _a.footerClassName, footerWrapClassName = _a.footerWrapClassName, actionsClassName = _a.actionsClassName, bodyClassName = _a.bodyClassName, cx = _a.classnames, style = _a.style, affixFooter = _a.affixFooter, lazyLoad = _a.lazyLoad, __ = _a.translate, footer = _a.footer, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, themeCss = _a.themeCss;
1263
1331
  var body = this.renderBody();
1264
1332
  if (wrapWithPanel) {
1265
1333
  body = render('body', {
1266
1334
  type: 'panel',
1267
1335
  title: __(title)
1268
1336
  }, {
1269
- className: cx(panelClassName, 'Panel--form'),
1337
+ className: cx(panelClassName, 'Panel--form', setThemeClassName(__assign(__assign({}, this.props), { name: 'wrapperCustomStyle', id: id, themeCss: wrapperCustomStyle })), setThemeClassName(__assign(__assign({}, this.props), { name: 'panelClassName', id: id, themeCss: themeCss }))),
1270
1338
  style: style,
1271
1339
  formStore: this.props.store,
1272
1340
  children: body,
@@ -1276,11 +1344,15 @@ var Form = /** @class */ (function (_super) {
1276
1344
  disabled: store.loading,
1277
1345
  btnDisabled: store.loading || store.validating,
1278
1346
  headerClassName: headerClassName,
1347
+ headerControlClassName: setThemeClassName(__assign(__assign({}, this.props), { name: 'headerControlClassName', id: id, themeCss: themeCss })),
1348
+ headerTitleControlClassName: setThemeClassName(__assign(__assign({}, this.props), { name: 'headerTitleControlClassName', id: id, themeCss: themeCss })),
1279
1349
  footer: footer,
1280
1350
  footerClassName: footerClassName,
1281
1351
  footerWrapClassName: footerWrapClassName,
1282
1352
  actionsClassName: actionsClassName,
1353
+ actionsControlClassName: setThemeClassName(__assign(__assign({}, this.props), { name: 'actionsControlClassName', id: id, themeCss: themeCss })),
1283
1354
  bodyClassName: bodyClassName,
1355
+ bodyControlClassName: setThemeClassName(__assign(__assign({}, this.props), { name: 'bodyControlClassName', id: id, themeCss: themeCss })),
1284
1356
  affixFooter: affixFooter
1285
1357
  });
1286
1358
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -452,7 +452,7 @@ var FormItemWrap = /** @class */ (function (_super) {
452
452
  return null;
453
453
  };
454
454
  FormItemWrap.prototype.render = function () {
455
- var _a = this.props, formMode = _a.formMode, inputOnly = _a.inputOnly, wrap = _a.wrap, render = _a.render, model = _a.formItem, css = _a.css, themeCss = _a.themeCss, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, env = _a.env;
455
+ var _a = this.props, formMode = _a.formMode, inputOnly = _a.inputOnly, wrap = _a.wrap, render = _a.render, model = _a.formItem, css = _a.css, themeCss = _a.themeCss, id = _a.id, wrapperCustomStyle = _a.wrapperCustomStyle, env = _a.env, cx = _a.classnames;
456
456
  var mode = this.props.mode || formMode;
457
457
  if (wrap === false || inputOnly) {
458
458
  return this.renderControl();
@@ -474,7 +474,13 @@ var FormItemWrap = /** @class */ (function (_super) {
474
474
  themeCss: themeCss || css,
475
475
  classNames: [
476
476
  {
477
- key: 'labelClassName'
477
+ key: 'labelClassName',
478
+ weights: {
479
+ default: {
480
+ suf: ".".concat(cx('Form-label')),
481
+ parent: ".".concat(cx('Form-item'))
482
+ }
483
+ }
478
484
  },
479
485
  {
480
486
  key: 'descriptionClassName'
@@ -499,7 +505,8 @@ var FormItemWrap = /** @class */ (function (_super) {
499
505
  var horizontal = props.horizontal || props.formHorizontal || {};
500
506
  var left = getWidthRate(horizontal.left);
501
507
  var right = getWidthRate(horizontal.right);
502
- var labelAlign = props.labelAlign || props.formLabelAlign;
508
+ var labelAlign = (props.labelAlign !== 'inherit' && props.labelAlign) ||
509
+ props.formLabelAlign;
503
510
  var labelWidth = props.labelWidth || props.formLabelWidth;
504
511
  return (React.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--horizontal", isStatic && staticClassName ? staticClassName : className, (_a = {
505
512
  'Form-item--horizontal-justify': horizontal.justify
@@ -788,35 +795,36 @@ var FormItemWrap = /** @class */ (function (_super) {
788
795
  container: props.popOverContainer || env.getModalContainer
789
796
  })
790
797
  : null))) : null,
791
- renderControl(),
792
- caption
793
- ? render('caption', caption, {
794
- className: cx("Form-caption", captionClassName)
795
- })
796
- : null,
797
- remark
798
- ? render('remark', {
799
- type: 'remark',
800
- icon: remark.icon || 'warning-mark',
801
- className: cx("Form-remark"),
802
- tooltip: remark,
803
- container: props.popOverContainer || env.getModalContainer
804
- })
805
- : null),
806
- hint && model && model.isFocused
807
- ? render('hint', hint, {
808
- className: cx("Form-hint")
809
- })
810
- : null,
811
- model &&
812
- !model.valid &&
813
- showErrorMsg !== false &&
814
- Array.isArray(model.errors) ? (React.createElement("ul", { className: cx('Form-feedback') }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
815
- description && renderDescription !== false
816
- ? render('description', description, {
817
- className: cx("Form-description", descriptionClassName, setThemeClassName(__assign(__assign({}, props), { name: 'descriptionClassName', id: id, themeCss: themeCss, extra: 'item' })))
818
- })
819
- : null));
798
+ React.createElement("div", { className: cx("Form-value") },
799
+ renderControl(),
800
+ caption
801
+ ? render('caption', caption, {
802
+ className: cx("Form-caption", captionClassName)
803
+ })
804
+ : null,
805
+ remark
806
+ ? render('remark', {
807
+ type: 'remark',
808
+ icon: remark.icon || 'warning-mark',
809
+ className: cx("Form-remark"),
810
+ tooltip: remark,
811
+ container: props.popOverContainer || env.getModalContainer
812
+ })
813
+ : null,
814
+ hint && model && model.isFocused
815
+ ? render('hint', hint, {
816
+ className: cx("Form-hint")
817
+ })
818
+ : null,
819
+ model &&
820
+ !model.valid &&
821
+ showErrorMsg !== false &&
822
+ Array.isArray(model.errors) ? (React.createElement("ul", { className: cx('Form-feedback') }, model.errors.map(function (msg, key) { return (React.createElement("li", { key: key }, msg)); }))) : null,
823
+ description && renderDescription !== false
824
+ ? render('description', description, {
825
+ className: cx("Form-description", descriptionClassName, setThemeClassName(__assign(__assign({}, props), { name: 'descriptionClassName', id: id, themeCss: themeCss, extra: 'item' })))
826
+ })
827
+ : null))));
820
828
  }
821
829
  };
822
830
  __decorate([
@@ -976,6 +984,7 @@ function asFormItem(config) {
976
984
  function class_1(props) {
977
985
  var _this = _super.call(this, props) || this;
978
986
  _this.refFn = _this.refFn.bind(_this);
987
+ _this.getData = _this.getData.bind(_this);
979
988
  var validations = props.validations, model = props.formItem;
980
989
  // 组件注册的时候可能默认指定验证器类型
981
990
  if (model && !validations && config.validations) {
@@ -1004,18 +1013,25 @@ function asFormItem(config) {
1004
1013
  class_1.prototype.refFn = function (ref) {
1005
1014
  this.ref = ref;
1006
1015
  };
1016
+ class_1.prototype.getData = function () {
1017
+ return this.props.data;
1018
+ };
1007
1019
  class_1.prototype.renderControl = function () {
1008
1020
  var _a;
1009
1021
  var _b = this.props;
1010
1022
  // 这里解构,不可轻易删除,避免被rest传到子组件
1011
1023
  _b.inputClassName; var model = _b.formItem, cx = _b.classnames; _b.children; var type = _b.type, size = _b.size, defaultSize = _b.defaultSize, mobileUI = _b.mobileUI, rest = __rest(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize", "mobileUI"]);
1012
- var controlSize = size && ['xs', 'sm', 'md', 'lg', 'full'].includes(size)
1013
- ? size
1014
- : defaultSize;
1024
+ var isRuleSize = size && ['xs', 'sm', 'md', 'lg', 'full'].includes(size);
1025
+ var controlSize = isRuleSize ? size : defaultSize;
1015
1026
  //@ts-ignore
1016
1027
  var isOpened = this.state.isOpened;
1017
1028
  return (React.createElement(React.Fragment, null,
1018
- React.createElement(Control, __assign({}, rest, { mobileUI: mobileUI, onOpenDialog: this.handleOpenDialog, size: config.sizeMutable !== false ? undefined : size, onFocus: this.handleFocus, onBlur: this.handleBlur, type: type, classnames: cx, ref: supportRef ? this.refFn : undefined, forwardedRef: supportRef ? undefined : this.refFn, formItem: model, className: cx("Form-control", (_a = {
1029
+ React.createElement(Control, __assign({}, rest, {
1030
+ // 因为 formItem 内部可能不会更新到最新的 data,所以暴露个方法可以获取到最新的
1031
+ // 获取不到最新的因为做了限制,只有表单项目 name 关联的数值变化才更新
1032
+ getData: this.getData, mobileUI: mobileUI, onOpenDialog: this.handleOpenDialog, size: config.sizeMutable !== false ? undefined : size, onFocus: this.handleFocus, onBlur: this.handleBlur, type: type, classnames: cx, ref: supportRef ? this.refFn : undefined, forwardedRef: supportRef ? undefined : this.refFn, formItem: model, style: {
1033
+ width: !isRuleSize && size ? size : undefined
1034
+ }, className: cx("Form-control", (_a = {
1019
1035
  'is-inline': !!rest.inline && !mobileUI,
1020
1036
  'is-error': model && !model.valid,
1021
1037
  'is-full': size === 'full'
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -92,21 +92,47 @@ function registerOptionsControl(config) {
92
92
  _this.defaultCheckAll();
93
93
  }
94
94
  var loadOptions = initFetch !== false;
95
+ var setInitValue = null;
95
96
  if (joinValues === false && defaultValue) {
96
- var selectedOptions = extractValue
97
- ? formItem
98
- .getSelectedOptions(value)
99
- .map(function (selectedOption) {
100
- return selectedOption[valueField || 'value'];
101
- })
102
- : formItem.getSelectedOptions(value);
103
- setPrinstineValue(multiple ? selectedOptions.concat() : selectedOptions[0]);
97
+ setInitValue = function () {
98
+ var selectedOptions = extractValue
99
+ ? formItem
100
+ .getSelectedOptions(value)
101
+ .map(function (selectedOption) {
102
+ return selectedOption[valueField || 'value'];
103
+ })
104
+ : formItem.getSelectedOptions(value);
105
+ setPrinstineValue(multiple ? selectedOptions.concat() : selectedOptions[0]);
106
+ };
104
107
  }
105
- loadOptions &&
106
- config.autoLoadOptionsFromSource !== false &&
108
+ if (loadOptions && config.autoLoadOptionsFromSource !== false) {
107
109
  _this.toDispose.push(formInited || !addHook
108
- ? formItem.addInitHook(_this.reload)
109
- : addHook(_this.initOptions, 'init'));
110
+ ? formItem.addInitHook(function () { return __awaiter(_this, void 0, void 0, function () {
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0: return [4 /*yield*/, this.reload()];
114
+ case 1:
115
+ _a.sent();
116
+ setInitValue === null || setInitValue === void 0 ? void 0 : setInitValue();
117
+ return [2 /*return*/];
118
+ }
119
+ });
120
+ }); })
121
+ : addHook(function (data) { return __awaiter(_this, void 0, void 0, function () {
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0: return [4 /*yield*/, this.initOptions(data)];
125
+ case 1:
126
+ _a.sent();
127
+ setInitValue === null || setInitValue === void 0 ? void 0 : setInitValue();
128
+ return [2 /*return*/];
129
+ }
130
+ });
131
+ }); }, 'init'));
132
+ }
133
+ else {
134
+ setInitValue === null || setInitValue === void 0 ? void 0 : setInitValue();
135
+ }
110
136
  return _this;
111
137
  }
112
138
  FormOptionsItem.prototype.componentDidMount = function () {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.5.0
2
+ * amis-core v6.7.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -461,14 +461,18 @@ function wrapControl(ComposedComponent) {
461
461
  }
462
462
  var model = this.model;
463
463
  var value = this.model.tmpValue;
464
- var oldValue = model.extraName
465
- ? [
466
- getVariable(data, model.name, false),
467
- getVariable(data, model.extraName, false)
468
- ]
469
- : getVariable(data, model.name, false);
470
- if (model.extraName ? isEqual(oldValue, value) : oldValue === value) {
471
- return;
464
+ var oldValue = undefined;
465
+ // 受控的因为没有记录上一次 props 下发的 value,所以不做比较
466
+ if (!model.isControlled) {
467
+ oldValue = model.extraName
468
+ ? [
469
+ getVariable(data, model.name, false),
470
+ getVariable(data, model.extraName, false)
471
+ ]
472
+ : getVariable(data, model.name, false);
473
+ if (model.extraName ? isEqual(oldValue, value) : oldValue === value) {
474
+ return;
475
+ }
472
476
  }
473
477
  if (type !== 'input-password') {
474
478
  env === null || env === void 0 ? void 0 : env.tracker({
@@ -14,6 +14,8 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
14
14
  initedAt: import("mobx-state-tree").IType<number | undefined, number, number>;
15
15
  updatedAt: import("mobx-state-tree").IType<number | undefined, number, number>;
16
16
  pristine: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
17
+ pristineRaw: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
18
+ upStreamData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
17
19
  action: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
18
20
  dialogOpen: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
19
21
  dialogData: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<any, any, any>, [undefined]>;
@@ -48,6 +50,7 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
48
50
  } & {
49
51
  getValueByName(name: string, canAccessSuper?: boolean): any;
50
52
  getPristineValueByName(name: string): any;
53
+ readonly pristineDiff: any;
51
54
  } & {
52
55
  setTopStore(value: any): void;
53
56
  initData(data?: object, skipSetPristine?: boolean): void;