amis-core 3.6.4 → 6.1.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 (316) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +3 -2
  3. package/esm/SchemaRenderer.js +4 -1
  4. package/esm/Scoped.d.ts +6 -0
  5. package/esm/Scoped.js +45 -7
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +3 -5
  9. package/esm/actions/Action.js +31 -27
  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 +65 -26
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +4 -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/LinkAction.js +9 -4
  21. package/esm/actions/LoopAction.js +1 -1
  22. package/esm/actions/PageAction.js +1 -1
  23. package/esm/actions/ParallelAction.js +1 -1
  24. package/esm/actions/StatusAction.js +1 -1
  25. package/esm/actions/SwitchAction.js +1 -1
  26. package/esm/actions/ToastAction.js +1 -1
  27. package/esm/components/CustomStyle.d.ts +1 -2
  28. package/esm/components/CustomStyle.js +19 -6
  29. package/esm/components/ErrorBoundary.js +1 -1
  30. package/esm/components/LazyComponent.js +1 -1
  31. package/esm/components/Overlay.js +12 -9
  32. package/esm/components/PopOver.js +8 -5
  33. package/esm/env.d.ts +4 -0
  34. package/esm/env.js +1 -1
  35. package/esm/envOverwrite.js +1 -1
  36. package/esm/factory.js +14 -1
  37. package/esm/index.d.ts +2 -2
  38. package/esm/index.js +14 -7
  39. package/esm/locale.js +1 -1
  40. package/esm/polyfills.js +1 -1
  41. package/esm/renderers/Form.d.ts +4 -3
  42. package/esm/renderers/Form.js +216 -150
  43. package/esm/renderers/Item.d.ts +1 -0
  44. package/esm/renderers/Item.js +17 -17
  45. package/esm/renderers/Options.d.ts +5 -0
  46. package/esm/renderers/Options.js +188 -57
  47. package/esm/renderers/Placeholder.js +1 -1
  48. package/esm/renderers/builtin.js +1 -1
  49. package/esm/renderers/register.js +1 -1
  50. package/esm/renderers/wrapControl.js +39 -30
  51. package/esm/store/app.d.ts +2 -2
  52. package/esm/store/app.js +4 -3
  53. package/esm/store/combo.d.ts +79 -55
  54. package/esm/store/combo.js +1 -1
  55. package/esm/store/crud.d.ts +3 -2
  56. package/esm/store/crud.js +18 -4
  57. package/esm/store/form.d.ts +33 -23
  58. package/esm/store/form.js +5 -5
  59. package/esm/store/formItem.d.ts +2 -1
  60. package/esm/store/formItem.js +3 -2
  61. package/esm/store/iRenderer.d.ts +1 -1
  62. package/esm/store/iRenderer.js +10 -3
  63. package/esm/store/index.js +1 -1
  64. package/esm/store/list.d.ts +1 -1
  65. package/esm/store/list.js +18 -13
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.d.ts +2 -2
  68. package/esm/store/modal.js +1 -1
  69. package/esm/store/node.js +1 -1
  70. package/esm/store/pagination.d.ts +2 -1
  71. package/esm/store/pagination.js +3 -2
  72. package/esm/store/root.d.ts +2 -2
  73. package/esm/store/root.js +4 -3
  74. package/esm/store/service.d.ts +2 -2
  75. package/esm/store/service.js +11 -7
  76. package/esm/store/status.js +1 -1
  77. package/esm/store/table.d.ts +69 -47
  78. package/esm/store/table.js +54 -25
  79. package/esm/store/table2.d.ts +14 -3
  80. package/esm/store/table2.js +22 -9
  81. package/esm/theme.js +1 -1
  82. package/esm/types.d.ts +7 -0
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.js +1 -1
  86. package/esm/utils/DataScope.js +1 -1
  87. package/esm/utils/RootClose.js +1 -1
  88. package/esm/utils/SimpleMap.js +1 -1
  89. package/esm/utils/api.js +1 -1
  90. package/esm/utils/arraySlice.js +1 -1
  91. package/esm/utils/attachmentAdpator.js +1 -1
  92. package/esm/utils/autobind.js +1 -1
  93. package/esm/utils/browser.d.ts +1 -0
  94. package/esm/utils/browser.js +11 -0
  95. package/esm/utils/columnsSplit.js +1 -1
  96. package/esm/utils/concatData.d.ts +8 -0
  97. package/esm/utils/concatData.js +39 -0
  98. package/esm/utils/dataMapping.js +1 -1
  99. package/esm/utils/date.js +1 -1
  100. package/esm/utils/debug.js +1 -1
  101. package/esm/utils/decodeEntity.js +1 -1
  102. package/esm/utils/dom.js +1 -1
  103. package/esm/utils/errors.js +1 -1
  104. package/esm/utils/escapeHtml.js +1 -1
  105. package/esm/utils/filter-schema.js +1 -1
  106. package/esm/utils/filter.js +1 -1
  107. package/esm/utils/formatDuration.js +1 -1
  108. package/esm/utils/formula.js +1 -1
  109. package/esm/utils/getVariable.js +1 -1
  110. package/esm/utils/grammar.js +1 -1
  111. package/esm/utils/handleAction.js +1 -1
  112. package/esm/utils/helper.d.ts +14 -2
  113. package/esm/utils/helper.js +49 -14
  114. package/esm/utils/highlight.js +3 -2
  115. package/esm/utils/icon.js +1 -1
  116. package/esm/utils/image.js +1 -1
  117. package/esm/utils/index.d.ts +3 -0
  118. package/esm/utils/isPureVariable.js +1 -1
  119. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  120. package/esm/utils/keyToPath.js +1 -1
  121. package/esm/utils/labelToString.d.ts +1 -0
  122. package/esm/utils/labelToString.js +38 -0
  123. package/esm/utils/makeSorter.js +1 -1
  124. package/esm/utils/math.js +1 -1
  125. package/esm/utils/memoryParse.js +1 -1
  126. package/esm/utils/normalizeLink.js +1 -1
  127. package/esm/utils/normalizeOptions.js +1 -1
  128. package/esm/utils/object.js +1 -1
  129. package/esm/utils/offset.js +1 -1
  130. package/esm/utils/offsetParent.js +1 -1
  131. package/esm/utils/optionValueCompare.js +1 -1
  132. package/esm/utils/position.js +1 -1
  133. package/esm/utils/prettyBytes.js +1 -1
  134. package/esm/utils/renderer-event.js +19 -3
  135. package/esm/utils/replaceText.js +9 -11
  136. package/esm/utils/resize-sensor.js +1 -1
  137. package/esm/utils/resolveCondition.js +1 -1
  138. package/esm/utils/resolveVariable.js +1 -1
  139. package/esm/utils/resolveVariableAndFilter.js +1 -1
  140. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  141. package/esm/utils/scrollPosition.js +1 -1
  142. package/esm/utils/string2regExp.d.ts +1 -1
  143. package/esm/utils/string2regExp.js +4 -3
  144. package/esm/utils/stripNumber.js +1 -1
  145. package/esm/utils/style-helper.d.ts +24 -5
  146. package/esm/utils/style-helper.js +49 -21
  147. package/esm/utils/style.js +1 -1
  148. package/esm/utils/toNumber.js +1 -1
  149. package/esm/utils/tokenize.d.ts +1 -0
  150. package/esm/utils/tokenize.js +10 -3
  151. package/esm/utils/tpl-builtin.js +1 -1
  152. package/esm/utils/tpl-lodash.js +1 -1
  153. package/esm/utils/tpl.js +6 -8
  154. package/esm/utils/uncontrollable.js +1 -1
  155. package/esm/utils/validateId.d.ts +16 -0
  156. package/esm/utils/validateId.js +154 -0
  157. package/esm/utils/validations.js +16 -8
  158. package/lib/Root.js +1 -1
  159. package/lib/RootRenderer.js +3 -2
  160. package/lib/SchemaRenderer.js +4 -1
  161. package/lib/Scoped.d.ts +6 -0
  162. package/lib/Scoped.js +45 -6
  163. package/lib/StatusScoped.js +1 -1
  164. package/lib/WithRootStore.js +1 -1
  165. package/lib/WithStore.js +3 -5
  166. package/lib/actions/Action.js +31 -27
  167. package/lib/actions/AjaxAction.js +1 -1
  168. package/lib/actions/BreakAction.js +1 -1
  169. package/lib/actions/BroadcastAction.js +1 -1
  170. package/lib/actions/CmptAction.js +65 -26
  171. package/lib/actions/ContinueAction.js +1 -1
  172. package/lib/actions/CopyAction.js +1 -1
  173. package/lib/actions/CustomAction.js +4 -3
  174. package/lib/actions/DialogAction.js +1 -1
  175. package/lib/actions/DrawerAction.js +1 -1
  176. package/lib/actions/EmailAction.js +1 -1
  177. package/lib/actions/LinkAction.js +9 -4
  178. package/lib/actions/LoopAction.js +1 -1
  179. package/lib/actions/PageAction.js +1 -1
  180. package/lib/actions/ParallelAction.js +1 -1
  181. package/lib/actions/StatusAction.js +1 -1
  182. package/lib/actions/SwitchAction.js +1 -1
  183. package/lib/actions/ToastAction.js +1 -1
  184. package/lib/components/CustomStyle.d.ts +1 -2
  185. package/lib/components/CustomStyle.js +19 -6
  186. package/lib/components/ErrorBoundary.js +1 -1
  187. package/lib/components/LazyComponent.js +1 -1
  188. package/lib/components/Overlay.js +11 -8
  189. package/lib/components/PopOver.js +8 -5
  190. package/lib/env.d.ts +4 -0
  191. package/lib/env.js +1 -1
  192. package/lib/envOverwrite.js +1 -1
  193. package/lib/factory.js +14 -1
  194. package/lib/index.d.ts +2 -2
  195. package/lib/index.js +19 -4
  196. package/lib/locale.js +1 -1
  197. package/lib/polyfills.js +1 -1
  198. package/lib/renderers/Form.d.ts +4 -3
  199. package/lib/renderers/Form.js +216 -150
  200. package/lib/renderers/Item.d.ts +1 -0
  201. package/lib/renderers/Item.js +17 -17
  202. package/lib/renderers/Options.d.ts +5 -0
  203. package/lib/renderers/Options.js +188 -57
  204. package/lib/renderers/Placeholder.js +1 -1
  205. package/lib/renderers/builtin.js +1 -1
  206. package/lib/renderers/register.js +1 -1
  207. package/lib/renderers/wrapControl.js +38 -29
  208. package/lib/store/app.d.ts +2 -2
  209. package/lib/store/app.js +4 -3
  210. package/lib/store/combo.d.ts +55 -31
  211. package/lib/store/combo.js +1 -1
  212. package/lib/store/crud.d.ts +3 -2
  213. package/lib/store/crud.js +18 -4
  214. package/lib/store/form.d.ts +23 -13
  215. package/lib/store/form.js +5 -5
  216. package/lib/store/formItem.d.ts +2 -1
  217. package/lib/store/formItem.js +3 -2
  218. package/lib/store/iRenderer.d.ts +1 -1
  219. package/lib/store/iRenderer.js +10 -3
  220. package/lib/store/index.js +1 -1
  221. package/lib/store/list.d.ts +1 -1
  222. package/lib/store/list.js +18 -14
  223. package/lib/store/manager.js +1 -1
  224. package/lib/store/modal.d.ts +2 -2
  225. package/lib/store/modal.js +1 -1
  226. package/lib/store/node.js +1 -1
  227. package/lib/store/pagination.d.ts +2 -1
  228. package/lib/store/pagination.js +3 -2
  229. package/lib/store/root.d.ts +2 -2
  230. package/lib/store/root.js +4 -3
  231. package/lib/store/service.d.ts +2 -2
  232. package/lib/store/service.js +11 -7
  233. package/lib/store/status.js +1 -1
  234. package/lib/store/table.d.ts +49 -27
  235. package/lib/store/table.js +54 -26
  236. package/lib/store/table2.d.ts +14 -3
  237. package/lib/store/table2.js +22 -9
  238. package/lib/theme.js +1 -1
  239. package/lib/types.d.ts +7 -0
  240. package/lib/utils/Animation.js +1 -1
  241. package/lib/utils/ColorScale.js +1 -1
  242. package/lib/utils/DataSchema.js +1 -1
  243. package/lib/utils/DataScope.js +1 -1
  244. package/lib/utils/RootClose.js +1 -1
  245. package/lib/utils/SimpleMap.js +1 -1
  246. package/lib/utils/api.js +1 -1
  247. package/lib/utils/arraySlice.js +1 -1
  248. package/lib/utils/attachmentAdpator.js +1 -1
  249. package/lib/utils/autobind.js +1 -1
  250. package/lib/utils/browser.d.ts +1 -0
  251. package/lib/utils/browser.js +15 -0
  252. package/lib/utils/columnsSplit.js +1 -1
  253. package/lib/utils/concatData.d.ts +8 -0
  254. package/lib/utils/concatData.js +43 -0
  255. package/lib/utils/dataMapping.js +1 -1
  256. package/lib/utils/date.js +1 -1
  257. package/lib/utils/debug.js +1 -1
  258. package/lib/utils/decodeEntity.js +1 -1
  259. package/lib/utils/dom.js +1 -1
  260. package/lib/utils/errors.js +1 -1
  261. package/lib/utils/escapeHtml.js +1 -1
  262. package/lib/utils/filter-schema.js +1 -1
  263. package/lib/utils/filter.js +1 -1
  264. package/lib/utils/formatDuration.js +1 -1
  265. package/lib/utils/formula.js +1 -1
  266. package/lib/utils/getVariable.js +1 -1
  267. package/lib/utils/grammar.js +1 -1
  268. package/lib/utils/handleAction.js +1 -1
  269. package/lib/utils/helper.d.ts +14 -2
  270. package/lib/utils/helper.js +50 -12
  271. package/lib/utils/highlight.js +3 -2
  272. package/lib/utils/icon.js +1 -1
  273. package/lib/utils/image.js +1 -1
  274. package/lib/utils/index.d.ts +3 -0
  275. package/lib/utils/isPureVariable.js +1 -1
  276. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  277. package/lib/utils/keyToPath.js +1 -1
  278. package/lib/utils/labelToString.d.ts +1 -0
  279. package/lib/utils/labelToString.js +46 -0
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.js +1 -1
  282. package/lib/utils/memoryParse.js +1 -1
  283. package/lib/utils/normalizeLink.js +1 -1
  284. package/lib/utils/normalizeOptions.js +1 -1
  285. package/lib/utils/object.js +1 -1
  286. package/lib/utils/offset.js +1 -1
  287. package/lib/utils/offsetParent.js +1 -1
  288. package/lib/utils/optionValueCompare.js +1 -1
  289. package/lib/utils/position.js +1 -1
  290. package/lib/utils/prettyBytes.js +1 -1
  291. package/lib/utils/renderer-event.js +19 -3
  292. package/lib/utils/replaceText.js +8 -14
  293. package/lib/utils/resize-sensor.js +1 -1
  294. package/lib/utils/resolveCondition.js +1 -1
  295. package/lib/utils/resolveVariable.js +1 -1
  296. package/lib/utils/resolveVariableAndFilter.js +1 -1
  297. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  298. package/lib/utils/scrollPosition.js +1 -1
  299. package/lib/utils/string2regExp.d.ts +1 -1
  300. package/lib/utils/string2regExp.js +4 -3
  301. package/lib/utils/stripNumber.js +1 -1
  302. package/lib/utils/style-helper.d.ts +24 -5
  303. package/lib/utils/style-helper.js +49 -21
  304. package/lib/utils/style.js +1 -1
  305. package/lib/utils/toNumber.js +1 -1
  306. package/lib/utils/tokenize.d.ts +1 -0
  307. package/lib/utils/tokenize.js +10 -2
  308. package/lib/utils/tpl-builtin.js +1 -1
  309. package/lib/utils/tpl-lodash.js +1 -1
  310. package/lib/utils/tpl.js +5 -7
  311. package/lib/utils/uncontrollable.js +1 -1
  312. package/lib/utils/validateId.d.ts +16 -0
  313. package/lib/utils/validateId.js +160 -0
  314. package/lib/utils/validations.js +16 -8
  315. package/package.json +4 -3
  316. package/LICENSE +0 -201
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -12,7 +12,7 @@ var styleHelper = require('../utils/style-helper.js');
12
12
 
13
13
  var styleIdCount = new Map();
14
14
  function CustomStyle (props) {
15
- var config = props.config, env = props.env;
15
+ var config = props.config, env = props.env, data = props.data;
16
16
  var themeCss = config.themeCss, classNames = config.classNames, id = config.id, defaultData = config.defaultData, wrapperCustomStyle = config.wrapperCustomStyle;
17
17
  if (!themeCss && !wrapperCustomStyle) {
18
18
  return null;
@@ -36,24 +36,37 @@ function CustomStyle (props) {
36
36
  React.useEffect(function () {
37
37
  var _a, _b;
38
38
  if (themeCss && id) {
39
- styleHelper.insertCustomStyle(themeCss, classNames, id, defaultData, env === null || env === void 0 ? void 0 : env.customStyleClassPrefix, (_b = (_a = env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument);
39
+ styleHelper.insertCustomStyle({
40
+ themeCss: themeCss,
41
+ classNames: classNames,
42
+ id: id,
43
+ defaultData: defaultData,
44
+ customStyleClassPrefix: env === null || env === void 0 ? void 0 : env.customStyleClassPrefix,
45
+ doc: (_b = (_a = env === null || env === void 0 ? void 0 : env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument,
46
+ data: data
47
+ });
40
48
  }
41
49
  return function () {
42
50
  var _a, _b;
43
51
  if (id && !styleIdCount.get(id)) {
44
- styleHelper.removeCustomStyle('', id, (_b = (_a = env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument);
52
+ styleHelper.removeCustomStyle('', id, (_b = (_a = env === null || env === void 0 ? void 0 : env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument, data);
45
53
  }
46
54
  };
47
55
  }, [themeCss, id]);
48
56
  React.useEffect(function () {
49
57
  var _a, _b;
50
58
  if (wrapperCustomStyle && id) {
51
- styleHelper.insertEditCustomStyle(wrapperCustomStyle, id, (_b = (_a = env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument);
59
+ styleHelper.insertEditCustomStyle({
60
+ customStyle: wrapperCustomStyle,
61
+ id: id,
62
+ doc: (_b = (_a = env === null || env === void 0 ? void 0 : env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument,
63
+ data: data
64
+ });
52
65
  }
53
66
  return function () {
54
67
  var _a, _b;
55
68
  if (id && !styleIdCount.get(id)) {
56
- styleHelper.removeCustomStyle('wrapperCustomStyle', id, (_b = (_a = env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument);
69
+ styleHelper.removeCustomStyle('wrapperCustomStyle', id, (_b = (_a = env === null || env === void 0 ? void 0 : env.getModalContainer) === null || _a === void 0 ? void 0 : _a.call(env)) === null || _b === void 0 ? void 0 : _b.ownerDocument, data);
57
70
  }
58
71
  };
59
72
  }, [wrapperCustomStyle, id]);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -13,10 +13,11 @@ var cx = require('classnames');
13
13
  var ReactDOM = require('react-dom');
14
14
  var React = require('react');
15
15
  require('../utils/api.js');
16
+ require('../utils/browser.js');
16
17
  require('../utils/ColorScale.js');
17
18
  require('../utils/columnsSplit.js');
18
- require('amis-formula');
19
19
  require('lodash/isPlainObject');
20
+ require('amis-formula');
20
21
  require('../utils/DataSchema.js');
21
22
  require('../utils/DataScope.js');
22
23
  require('moment');
@@ -35,12 +36,12 @@ require('../utils/image.js');
35
36
  require('lodash/isEqual');
36
37
  require('../actions/Action.js');
37
38
  require('lodash/debounce');
38
- require('lodash/cloneDeep');
39
39
  var resizeSensor = require('../utils/resize-sensor.js');
40
40
  var RootClose = require('../utils/RootClose.js');
41
41
  require('../utils/SimpleMap.js');
42
42
  require('lodash/mapValues');
43
43
  require('lodash/camelCase');
44
+ require('lodash/cloneDeep');
44
45
  require('lodash/map');
45
46
  require('lodash/isEmpty');
46
47
  require('lodash/kebabCase');
@@ -96,6 +97,7 @@ var Position = /** @class */ (function (_super) {
96
97
  arrowOffsetTop: null
97
98
  };
98
99
  _this._lastTarget = null;
100
+ _this.componentId = helper.uuid();
99
101
  return _this;
100
102
  }
101
103
  Position.prototype.updatePosition = function (target) {
@@ -107,7 +109,7 @@ var Position = /** @class */ (function (_super) {
107
109
  var parentPopover = (_a = target === null || target === void 0 ? void 0 : target.closest) === null || _a === void 0 ? void 0 : _a.call(target, '[role=popover]');
108
110
  if (!this.parentPopover && parentPopover) {
109
111
  this.parentPopover = parentPopover;
110
- this.parentPopover.setAttribute(SubPopoverDisplayedID, true);
112
+ this.parentPopover.setAttribute(SubPopoverDisplayedID + '-' + this.componentId, true);
111
113
  }
112
114
  }
113
115
  if (!target) {
@@ -148,9 +150,11 @@ var Position = /** @class */ (function (_super) {
148
150
  };
149
151
  Position.prototype.componentWillUnmount = function () {
150
152
  var _a;
153
+ // 一个 PopOver 关闭时,需把挂载父 PopOver 的标记去掉
154
+ // 这里可能会存在多个子 PopOver 的情况,所以需要加上 componentId
151
155
  if (this.parentPopover &&
152
- this.parentPopover.getAttribute(SubPopoverDisplayedID)) {
153
- this.parentPopover.removeAttribute(SubPopoverDisplayedID);
156
+ this.parentPopover.getAttribute(SubPopoverDisplayedID + '-' + this.componentId)) {
157
+ this.parentPopover.removeAttribute(SubPopoverDisplayedID + '-' + this.componentId);
154
158
  this.parentPopover = null;
155
159
  }
156
160
  (_a = this.resizeDispose) === null || _a === void 0 ? void 0 : _a.forEach(function (fn) { return fn(); });
@@ -167,9 +171,8 @@ var Position = /** @class */ (function (_super) {
167
171
  return React.cloneElement(child, tslib.__assign(tslib.__assign(tslib.__assign(tslib.__assign({}, props), arrowPosition), (child.props.offset ? { offset: child.props.offset } : {})), {
168
172
  // FIXME: Don't forward `positionLeft` and `positionTop` via both props
169
173
  // and `props.style`.
170
- positionLeft: positionLeft, positionTop: positionTop, className: cx__default["default"](className, child.props.className), style: tslib.__assign(tslib.__assign({}, child.props.style), { left: positionLeft, top: positionTop }) }));
174
+ positionLeft: positionLeft, positionTop: positionTop, className: cx__default["default"](className, child.props.className), style: tslib.__assign(tslib.__assign({}, child.props.style), { left: positionLeft, top: positionTop }), componentId: this.componentId }));
171
175
  };
172
- // setState: (state: any) => void;
173
176
  Position.defaultProps = {
174
177
  containerPadding: 0,
175
178
  placement: 'right',
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -12,10 +12,11 @@ var React = require('react');
12
12
  var ReactDOM = require('react-dom');
13
13
  var theme = require('../theme.js');
14
14
  require('../utils/api.js');
15
+ require('../utils/browser.js');
15
16
  require('../utils/ColorScale.js');
16
17
  require('../utils/columnsSplit.js');
17
- require('amis-formula');
18
18
  require('lodash/isPlainObject');
19
+ require('amis-formula');
19
20
  require('../utils/DataSchema.js');
20
21
  require('../utils/DataScope.js');
21
22
  require('moment');
@@ -34,12 +35,12 @@ require('../utils/image.js');
34
35
  require('lodash/isEqual');
35
36
  require('../actions/Action.js');
36
37
  require('lodash/debounce');
37
- require('lodash/cloneDeep');
38
38
  require('../utils/resize-sensor.js');
39
39
  require('react-overlays/useRootClose');
40
40
  require('../utils/SimpleMap.js');
41
41
  require('lodash/mapValues');
42
42
  require('lodash/camelCase');
43
+ require('lodash/cloneDeep');
43
44
  require('lodash/map');
44
45
  require('lodash/isEmpty');
45
46
  require('lodash/kebabCase');
@@ -111,7 +112,9 @@ var PopOver = /** @class */ (function (_super) {
111
112
  closeOnOutside &&
112
113
  target &&
113
114
  this.wrapperRef.current &&
114
- !this.wrapperRef.current.getAttribute(Overlay.SubPopoverDisplayedID) &&
115
+ !this.wrapperRef.current
116
+ .getAttributeNames()
117
+ .find(function (n) { return n.startsWith(Overlay.SubPopoverDisplayedID); }) &&
115
118
  ((!this.wrapperRef.current.contains(target) &&
116
119
  !target.closest('[role=dialog]')) ||
117
120
  (target.matches(".".concat(ns, "Modal")) && target === this.wrapperRef.current))); // 干脆过滤掉来自弹框里面的点击
@@ -157,7 +160,7 @@ var PopOver = /** @class */ (function (_super) {
157
160
  });
158
161
  };
159
162
  PopOver.prototype.render = function () {
160
- 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, rest = tslib.__rest(_a, ["placement", "activePlacement", "positionTop", "positionLeft", "arrowOffsetLeft", "arrowOffsetTop", "style", "children", "offset", "overlay", "onHide", "classPrefix", "classnames", "className"]);
163
+ 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 = tslib.__rest(_a, ["placement", "activePlacement", "positionTop", "positionLeft", "arrowOffsetLeft", "arrowOffsetTop", "style", "children", "offset", "overlay", "onHide", "classPrefix", "classnames", "className", "componentId"]);
161
164
  var _b = this.state, xOffset = _b.xOffset, yOffset = _b.yOffset;
162
165
  var outerStyle = tslib.__assign(tslib.__assign({ display: 'block' }, style), { top: positionTop + yOffset, left: positionLeft + xOffset });
163
166
  var placements = typeof activePlacement === 'string' ? activePlacement.split('-') : [];
package/lib/env.d.ts CHANGED
@@ -86,6 +86,10 @@ export interface RendererEnv {
86
86
  * 是否开启 amis 调试
87
87
  */
88
88
  enableAMISDebug?: boolean;
89
+ /**
90
+ * 是否开启 testid 定位
91
+ */
92
+ enableTestid?: boolean;
89
93
  /**
90
94
  * 替换文本,用于实现 URL 替换、语言替换等
91
95
  */
package/lib/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -162,6 +162,19 @@ var defaultOptions = {
162
162
  action.blank === false ? (window.location.href = to) : window.open(to);
163
163
  return;
164
164
  }
165
+ // link动作新增了targetType属性,默认是内容区打开(page),在新窗口打开(blank);在当前页签打开(self)
166
+ if ((action === null || action === void 0 ? void 0 : action.actionType) === 'link' &&
167
+ ['blank', 'self'].includes(action === null || action === void 0 ? void 0 : action.targetType)) {
168
+ if (action.targetType === 'self') {
169
+ // 当前页签打开,需要刷新页面
170
+ window.history.pushState(null, '', to);
171
+ location.reload();
172
+ }
173
+ else {
174
+ window.open(to);
175
+ }
176
+ return;
177
+ }
165
178
  if (/^https?:\/\//.test(to)) {
166
179
  window.location.replace(to);
167
180
  }
package/lib/index.d.ts CHANGED
@@ -19,7 +19,7 @@ import { 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';
22
- import Scoped, { ScopedContext, filterTarget } from './Scoped';
22
+ import Scoped, { ScopedContext, filterTarget, splitTarget } from './Scoped';
23
23
  import type { ScopedComponentType, IScopedContext } from './Scoped';
24
24
  import { classnames, getClassPrefix, setDefaultTheme, theme, getTheme, themeable, makeClassnames } from './theme';
25
25
  import type { ClassNamesFn, ThemeProps } from './theme';
@@ -50,5 +50,5 @@ import type { IItem } from './store/list';
50
50
  import CustomStyle from './components/CustomStyle';
51
51
  import { StatusScoped } from './StatusScoped';
52
52
  export declare const version = "__buildVersion";
53
- 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, CustomStyle, enableDebug, disableDebug };
53
+ 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 };
54
54
  export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,8 +15,10 @@ require('./renderers/register.js');
15
15
  var api = require('./utils/api.js');
16
16
  var attachmentAdpator = require('./utils/attachmentAdpator.js');
17
17
  var autobind = require('./utils/autobind.js');
18
+ var browser = require('./utils/browser.js');
18
19
  var ColorScale = require('./utils/ColorScale.js');
19
20
  var columnsSplit = require('./utils/columnsSplit.js');
21
+ var concatData = require('./utils/concatData.js');
20
22
  var dataMapping = require('./utils/dataMapping.js');
21
23
  var DataSchema = require('./utils/DataSchema.js');
22
24
  var DataScope = require('./utils/DataScope.js');
@@ -39,6 +41,7 @@ var image = require('./utils/image.js');
39
41
  var isPureVariable = require('./utils/isPureVariable.js');
40
42
  var jsonSchema2AmisSchema = require('./utils/json-schema-2-amis-schema.js');
41
43
  var keyToPath = require('./utils/keyToPath.js');
44
+ var labelToString = require('./utils/labelToString.js');
42
45
  var makeSorter = require('./utils/makeSorter.js');
43
46
  var normalizeLink = require('./utils/normalizeLink.js');
44
47
  var normalizeOptions = require('./utils/normalizeOptions.js');
@@ -133,7 +136,7 @@ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
133
136
  (__react_jsx__["default"] || __react_jsx__).Fragment;
134
137
  var classPrefix = theme.getClassPrefix();
135
138
  // @ts-ignore
136
- var version = '3.6.4';
139
+ var version = '6.1.0';
137
140
  function render(schema, props, options, pathPrefix) {
138
141
  if (props === void 0) { props = {}; }
139
142
  if (options === void 0) { options = {}; }
@@ -192,8 +195,12 @@ function AMISRenderer(_a) {
192
195
  props.mobileUI = env$1.isMobile();
193
196
  }
194
197
  // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
195
- schema = envOverwrite.envOverwrite(schema, locale$1);
196
- schema = replaceText.replaceText(schema, options.replaceText, env$1.replaceTextIgnoreKeys);
198
+ schema = React__default["default"].useMemo(function () {
199
+ schema = envOverwrite.envOverwrite(schema, locale$1);
200
+ // todo 和 envOverwrite 一起处理,减少循环次数
201
+ schema = replaceText.replaceText(schema, options.replaceText, env$1.replaceTextIgnoreKeys);
202
+ return schema;
203
+ }, [schema, locale$1]);
197
204
  return (_J$X_(env.EnvContext.Provider, { value: env$1 },
198
205
  _J$X_(Root["default"], tslib.__assign({}, props, { schema: schema, pathPrefix: pathPrefix, rootStore: store, env: env$1, theme: theme$1, locale: locale$1, translate: translate }))));
199
206
  }
@@ -231,8 +238,10 @@ exports.wrapFetcher = api.wrapFetcher;
231
238
  exports.attachmentAdpator = attachmentAdpator.attachmentAdpator;
232
239
  exports.autobindMethod = autobind.autobindMethod;
233
240
  exports.bind = autobind.bind;
241
+ exports.chromeVersion = browser.chromeVersion;
234
242
  exports.ColorScale = ColorScale.ColorScale;
235
243
  exports.columnsSplit = columnsSplit.columnsSplit;
244
+ exports.concatData = concatData.concatData;
236
245
  exports.dataMapping = dataMapping.dataMapping;
237
246
  exports.resolveMapping = dataMapping.resolveMapping;
238
247
  exports.resolveMappingObject = dataMapping.resolveMappingObject;
@@ -273,10 +282,12 @@ exports.handleAction = handleAction.handleAction;
273
282
  exports.JSONTraverse = helper.JSONTraverse;
274
283
  exports.JSONValueMap = helper.JSONValueMap;
275
284
  exports.SkipOperation = helper.SkipOperation;
285
+ exports.TEST_ID_KEY = helper.TEST_ID_KEY;
276
286
  exports.ValidateError = helper.ValidateError;
277
287
  exports.__uri = helper.__uri;
278
288
  exports.anyChanged = helper.anyChanged;
279
289
  exports.autobind = helper.autobind;
290
+ exports.buildTestId = helper.buildTestId;
280
291
  exports.buildTrackExpression = helper.buildTrackExpression;
281
292
  exports.bulkBindFunctions = helper.bulkBindFunctions;
282
293
  exports.camel = helper.camel;
@@ -304,6 +315,7 @@ exports.getPropValue = helper.getPropValue;
304
315
  exports.getRange = helper.getRange;
305
316
  exports.getScrollParent = helper.getScrollParent;
306
317
  exports.getScrollbarWidth = helper.getScrollbarWidth;
318
+ exports.getTestId = helper.getTestId;
307
319
  exports.getTree = helper.getTree;
308
320
  exports.getTreeAncestors = helper.getTreeAncestors;
309
321
  exports.getTreeDepth = helper.getTreeDepth;
@@ -370,6 +382,7 @@ exports.toDataURL = image.toDataURL;
370
382
  exports.isPureVariable = isPureVariable.isPureVariable;
371
383
  exports.JSONSchme2AMisSchema = jsonSchema2AmisSchema.JSONSchme2AMisSchema;
372
384
  exports.keyToPath = keyToPath.keyToPath;
385
+ exports.labelToString = labelToString.labelToString;
373
386
  exports.makeSorter = makeSorter.makeSorter;
374
387
  exports.normalizeLink = normalizeLink.normalizeLink;
375
388
  exports.normalizeOptions = normalizeOptions.normalizeOptions;
@@ -408,6 +421,7 @@ exports.scrollPosition = scrollPosition.scrollPosition;
408
421
  exports.SimpleMap = SimpleMap.SimpleMap;
409
422
  exports.string2regExp = string2regExp.string2regExp;
410
423
  exports.buildStyle = style.buildStyle;
424
+ exports.memoParse = tokenize.memoParse;
411
425
  exports.tokenize = tokenize.tokenize;
412
426
  exports.register = tplBuiltin.register;
413
427
  exports.asyncFilter = tpl.asyncFilter;
@@ -462,6 +476,7 @@ exports.setDefaultLocale = locale.setDefaultLocale;
462
476
  exports.Scoped = Scoped.HocScoped;
463
477
  exports.ScopedContext = Scoped.ScopedContext;
464
478
  exports.filterTarget = Scoped.filterTarget;
479
+ exports.splitTarget = Scoped.splitTarget;
465
480
  exports.classnames = theme.classnames;
466
481
  exports.getClassPrefix = theme.getClassPrefix;
467
482
  exports.getTheme = theme.getTheme;
package/lib/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/polyfills.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.6.4
2
+ * amis-core v6.1.0
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -341,15 +341,16 @@ export default class Form extends React.Component<FormProps, object> {
341
341
  silentReload(target?: string, query?: any): void;
342
342
  initInterval(value: any): any;
343
343
  isValidated(): boolean;
344
- validate(forceValidate?: boolean, throwErrors?: boolean, toastErrors?: boolean): Promise<boolean>;
344
+ validate(forceValidate?: boolean, throwErrors?: boolean, toastErrors?: boolean, skipFlush?: boolean): Promise<boolean>;
345
345
  setErrors(errors: {
346
346
  [propName: string]: string;
347
347
  }, tag?: string): void;
348
348
  clearErrors(): void;
349
349
  getValues(): any;
350
350
  setValues(value: any, replace?: boolean): void;
351
- submit(fn?: (values: object) => Promise<any>, throwErrors?: boolean): Promise<any>;
352
- flush(): void;
351
+ submit(fn?: (values: object) => Promise<any>, throwErrors?: boolean, skipFlush?: boolean): Promise<any>;
352
+ flushing: boolean;
353
+ flush(): Promise<void>;
353
354
  reset(): void;
354
355
  addHook(fn: () => any, type?: 'validate' | 'init' | 'flush'): () => void;
355
356
  removeHook(fn: () => any, type?: string): void;