amis-core 6.9.0-rc.1 → 6.9.0-rc.11

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 (315) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.d.ts +13 -0
  4. package/esm/SchemaRenderer.js +76 -6
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.d.ts +18 -0
  9. package/esm/StyleManager.js +55 -0
  10. package/esm/WithRootStore.js +1 -1
  11. package/esm/WithStore.js +1 -1
  12. package/esm/actions/Action.js +4 -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 +57 -50
  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 +3 -3
  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 +0 -4
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +7 -1
  42. package/esm/factory.js +51 -5
  43. package/esm/index.d.ts +6 -4
  44. package/esm/index.js +13 -6
  45. package/esm/locale.d.ts +1 -1
  46. package/esm/locale.js +13 -2
  47. package/esm/polyfills.js +1 -1
  48. package/esm/renderers/Form.d.ts +2 -2
  49. package/esm/renderers/Form.js +11 -6
  50. package/esm/renderers/Item.d.ts +2 -1
  51. package/esm/renderers/Item.js +9 -10
  52. package/esm/renderers/Options.d.ts +46 -1
  53. package/esm/renderers/Options.js +921 -914
  54. package/esm/renderers/Placeholder.js +1 -1
  55. package/esm/renderers/builtin.js +1 -1
  56. package/esm/renderers/register.js +1 -1
  57. package/esm/renderers/wrapControl.d.ts +2 -1
  58. package/esm/renderers/wrapControl.js +8 -7
  59. package/esm/store/app.js +1 -1
  60. package/esm/store/combo.d.ts +2 -0
  61. package/esm/store/combo.js +1 -1
  62. package/esm/store/crud.js +1 -1
  63. package/esm/store/form.d.ts +1 -0
  64. package/esm/store/form.js +5 -1
  65. package/esm/store/formItem.js +4 -4
  66. package/esm/store/iRenderer.js +1 -1
  67. package/esm/store/index.js +1 -1
  68. package/esm/store/list.js +1 -1
  69. package/esm/store/manager.js +1 -1
  70. package/esm/store/modal.js +1 -1
  71. package/esm/store/node.js +1 -1
  72. package/esm/store/pagination.js +1 -1
  73. package/esm/store/root.js +1 -1
  74. package/esm/store/service.js +1 -1
  75. package/esm/store/status.js +1 -1
  76. package/esm/store/table.d.ts +2 -0
  77. package/esm/store/table.js +1 -1
  78. package/esm/store/table2.js +1 -1
  79. package/esm/theme.d.ts +1 -1
  80. package/esm/theme.js +13 -2
  81. package/esm/types.d.ts +2 -0
  82. package/esm/utils/Animation.js +1 -1
  83. package/esm/utils/ColorScale.js +1 -1
  84. package/esm/utils/DataSchema.js +1 -1
  85. package/esm/utils/DataScope.js +1 -1
  86. package/esm/utils/RootClose.js +1 -1
  87. package/esm/utils/SimpleMap.js +1 -1
  88. package/esm/utils/animations.d.ts +19 -0
  89. package/esm/utils/animations.js +58 -0
  90. package/esm/utils/api.d.ts +2 -1
  91. package/esm/utils/api.js +11 -4
  92. package/esm/utils/arraySlice.js +1 -1
  93. package/esm/utils/attachmentAdpator.js +4 -1
  94. package/esm/utils/autobind.js +1 -1
  95. package/esm/utils/browser.js +1 -1
  96. package/esm/utils/columnsSplit.js +1 -1
  97. package/esm/utils/concatData.js +1 -1
  98. package/esm/utils/dataMapping.js +1 -1
  99. package/esm/utils/date.js +1 -1
  100. package/esm/utils/debug.d.ts +3 -3
  101. package/esm/utils/debug.js +104 -37
  102. package/esm/utils/decodeEntity.js +1 -1
  103. package/esm/utils/dom.js +1 -1
  104. package/esm/utils/errors.js +1 -1
  105. package/esm/utils/escapeHtml.js +1 -1
  106. package/esm/utils/filter-schema.js +1 -1
  107. package/esm/utils/filter.js +1 -1
  108. package/esm/utils/formatDuration.js +1 -1
  109. package/esm/utils/formula.js +1 -1
  110. package/esm/utils/getVariable.js +1 -1
  111. package/esm/utils/grammar.js +1 -1
  112. package/esm/utils/handleAction.js +1 -1
  113. package/esm/utils/helper.d.ts +1 -0
  114. package/esm/utils/helper.js +15 -2
  115. package/esm/utils/highlight.js +1 -1
  116. package/esm/utils/icon.js +1 -1
  117. package/esm/utils/image.js +1 -1
  118. package/esm/utils/index.d.ts +1 -0
  119. package/esm/utils/isPureVariable.js +1 -1
  120. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  121. package/esm/utils/keyToPath.js +1 -1
  122. package/esm/utils/labelToString.js +2 -2
  123. package/esm/utils/loopTooMuch.d.ts +1 -0
  124. package/esm/utils/loopTooMuch.js +27 -0
  125. package/esm/utils/makeSorter.js +1 -1
  126. package/esm/utils/math.js +1 -1
  127. package/esm/utils/memoryParse.js +1 -1
  128. package/esm/utils/normalizeLink.js +1 -1
  129. package/esm/utils/normalizeOptions.js +1 -1
  130. package/esm/utils/object.js +1 -1
  131. package/esm/utils/offset.js +1 -1
  132. package/esm/utils/offsetParent.js +1 -1
  133. package/esm/utils/optionValueCompare.js +1 -1
  134. package/esm/utils/position.js +11 -6
  135. package/esm/utils/prettyBytes.js +1 -1
  136. package/esm/utils/printElement.js +1 -1
  137. package/esm/utils/renderer-event.js +1 -1
  138. package/esm/utils/replaceText.js +1 -1
  139. package/esm/utils/resize-sensor.js +1 -1
  140. package/esm/utils/resolveCondition.js +1 -1
  141. package/esm/utils/resolveVariable.js +1 -1
  142. package/esm/utils/resolveVariableAndFilter.js +1 -1
  143. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  144. package/esm/utils/scrollPosition.js +1 -1
  145. package/esm/utils/string2regExp.js +1 -1
  146. package/esm/utils/stripNumber.js +1 -1
  147. package/esm/utils/style-helper.js +1 -1
  148. package/esm/utils/style.js +1 -1
  149. package/esm/utils/toNumber.js +1 -1
  150. package/esm/utils/tokenize.js +1 -1
  151. package/esm/utils/tpl-builtin.js +1 -1
  152. package/esm/utils/tpl-lodash.js +1 -1
  153. package/esm/utils/tpl.js +1 -1
  154. package/esm/utils/uncontrollable.js +1 -1
  155. package/esm/utils/validateId.js +1 -1
  156. package/esm/utils/validations.js +17 -12
  157. package/esm/utils/visitedCache.js +1 -1
  158. package/lib/Root.js +1 -1
  159. package/lib/RootRenderer.js +1 -1
  160. package/lib/SchemaRenderer.d.ts +13 -0
  161. package/lib/SchemaRenderer.js +75 -5
  162. package/lib/Scoped.d.ts +1 -1
  163. package/lib/Scoped.js +1 -1
  164. package/lib/StatusScoped.js +1 -1
  165. package/lib/StyleManager.d.ts +18 -0
  166. package/lib/StyleManager.js +63 -0
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +1 -1
  169. package/lib/actions/Action.js +4 -1
  170. package/lib/actions/AjaxAction.js +1 -1
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.js +56 -49
  174. package/lib/actions/ContinueAction.js +1 -1
  175. package/lib/actions/CopyAction.js +1 -1
  176. package/lib/actions/CustomAction.js +1 -1
  177. package/lib/actions/DialogAction.js +1 -1
  178. package/lib/actions/DrawerAction.js +1 -1
  179. package/lib/actions/EmailAction.js +1 -1
  180. package/lib/actions/EventAction.js +1 -1
  181. package/lib/actions/LinkAction.js +1 -1
  182. package/lib/actions/LoopAction.js +1 -1
  183. package/lib/actions/PageAction.js +1 -1
  184. package/lib/actions/ParallelAction.js +1 -1
  185. package/lib/actions/PrintAction.js +1 -1
  186. package/lib/actions/StatusAction.js +1 -1
  187. package/lib/actions/SwitchAction.js +1 -1
  188. package/lib/actions/ToastAction.js +2 -2
  189. package/lib/actions/WaitAction.js +1 -1
  190. package/lib/components/CustomStyle.js +1 -1
  191. package/lib/components/ErrorBoundary.js +1 -1
  192. package/lib/components/LazyComponent.js +1 -1
  193. package/lib/components/Overlay.js +1 -1
  194. package/lib/components/PopOver.js +1 -1
  195. package/lib/env.d.ts +0 -4
  196. package/lib/env.js +1 -1
  197. package/lib/envOverwrite.js +1 -1
  198. package/lib/factory.d.ts +7 -1
  199. package/lib/factory.js +52 -4
  200. package/lib/index.d.ts +6 -4
  201. package/lib/index.js +17 -2
  202. package/lib/locale.d.ts +1 -1
  203. package/lib/locale.js +13 -2
  204. package/lib/polyfills.js +1 -1
  205. package/lib/renderers/Form.d.ts +2 -2
  206. package/lib/renderers/Form.js +11 -6
  207. package/lib/renderers/Item.d.ts +2 -1
  208. package/lib/renderers/Item.js +8 -9
  209. package/lib/renderers/Options.d.ts +46 -1
  210. package/lib/renderers/Options.js +920 -912
  211. package/lib/renderers/Placeholder.js +1 -1
  212. package/lib/renderers/builtin.js +1 -1
  213. package/lib/renderers/register.js +1 -1
  214. package/lib/renderers/wrapControl.d.ts +2 -1
  215. package/lib/renderers/wrapControl.js +8 -7
  216. package/lib/store/app.js +1 -1
  217. package/lib/store/combo.d.ts +2 -1
  218. package/lib/store/combo.js +1 -1
  219. package/lib/store/crud.js +1 -1
  220. package/lib/store/form.d.ts +1 -1
  221. package/lib/store/form.js +5 -1
  222. package/lib/store/formItem.js +4 -4
  223. package/lib/store/iRenderer.js +1 -1
  224. package/lib/store/index.js +1 -1
  225. package/lib/store/list.js +1 -1
  226. package/lib/store/manager.js +1 -1
  227. package/lib/store/modal.js +1 -1
  228. package/lib/store/node.js +1 -1
  229. package/lib/store/pagination.js +1 -1
  230. package/lib/store/root.js +1 -1
  231. package/lib/store/service.js +1 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +2 -1
  234. package/lib/store/table.js +1 -1
  235. package/lib/store/table2.js +1 -1
  236. package/lib/theme.d.ts +1 -1
  237. package/lib/theme.js +13 -2
  238. package/lib/types.d.ts +2 -0
  239. package/lib/utils/Animation.js +1 -1
  240. package/lib/utils/ColorScale.js +1 -1
  241. package/lib/utils/DataSchema.js +1 -1
  242. package/lib/utils/DataScope.js +1 -1
  243. package/lib/utils/RootClose.js +1 -1
  244. package/lib/utils/SimpleMap.js +1 -1
  245. package/lib/utils/animations.d.ts +19 -0
  246. package/lib/utils/animations.js +62 -0
  247. package/lib/utils/api.d.ts +2 -1
  248. package/lib/utils/api.js +10 -2
  249. package/lib/utils/arraySlice.js +1 -1
  250. package/lib/utils/attachmentAdpator.js +4 -1
  251. package/lib/utils/autobind.js +1 -1
  252. package/lib/utils/browser.js +1 -1
  253. package/lib/utils/columnsSplit.js +1 -1
  254. package/lib/utils/concatData.js +1 -1
  255. package/lib/utils/dataMapping.js +1 -1
  256. package/lib/utils/date.js +1 -1
  257. package/lib/utils/debug.d.ts +3 -3
  258. package/lib/utils/debug.js +103 -36
  259. package/lib/utils/decodeEntity.js +1 -1
  260. package/lib/utils/dom.js +1 -1
  261. package/lib/utils/errors.js +1 -1
  262. package/lib/utils/escapeHtml.js +1 -1
  263. package/lib/utils/filter-schema.js +1 -1
  264. package/lib/utils/filter.js +1 -1
  265. package/lib/utils/formatDuration.js +1 -1
  266. package/lib/utils/formula.js +1 -1
  267. package/lib/utils/getVariable.js +1 -1
  268. package/lib/utils/grammar.js +1 -1
  269. package/lib/utils/handleAction.js +1 -1
  270. package/lib/utils/helper.d.ts +1 -0
  271. package/lib/utils/helper.js +15 -1
  272. package/lib/utils/highlight.js +1 -1
  273. package/lib/utils/icon.js +1 -1
  274. package/lib/utils/image.js +1 -1
  275. package/lib/utils/index.d.ts +1 -0
  276. package/lib/utils/isPureVariable.js +1 -1
  277. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  278. package/lib/utils/keyToPath.js +1 -1
  279. package/lib/utils/labelToString.js +2 -2
  280. package/lib/utils/loopTooMuch.d.ts +1 -0
  281. package/lib/utils/loopTooMuch.js +31 -0
  282. package/lib/utils/makeSorter.js +1 -1
  283. package/lib/utils/math.js +1 -1
  284. package/lib/utils/memoryParse.js +1 -1
  285. package/lib/utils/normalizeLink.js +1 -1
  286. package/lib/utils/normalizeOptions.js +1 -1
  287. package/lib/utils/object.js +1 -1
  288. package/lib/utils/offset.js +1 -1
  289. package/lib/utils/offsetParent.js +1 -1
  290. package/lib/utils/optionValueCompare.js +1 -1
  291. package/lib/utils/position.js +11 -6
  292. package/lib/utils/prettyBytes.js +1 -1
  293. package/lib/utils/printElement.js +1 -1
  294. package/lib/utils/renderer-event.js +1 -1
  295. package/lib/utils/replaceText.js +1 -1
  296. package/lib/utils/resize-sensor.js +1 -1
  297. package/lib/utils/resolveCondition.js +1 -1
  298. package/lib/utils/resolveVariable.js +1 -1
  299. package/lib/utils/resolveVariableAndFilter.js +1 -1
  300. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  301. package/lib/utils/scrollPosition.js +1 -1
  302. package/lib/utils/string2regExp.js +1 -1
  303. package/lib/utils/stripNumber.js +1 -1
  304. package/lib/utils/style-helper.js +1 -1
  305. package/lib/utils/style.js +1 -1
  306. package/lib/utils/toNumber.js +1 -1
  307. package/lib/utils/tokenize.js +1 -1
  308. package/lib/utils/tpl-builtin.js +1 -1
  309. package/lib/utils/tpl-lodash.js +1 -1
  310. package/lib/utils/tpl.js +1 -1
  311. package/lib/utils/uncontrollable.js +1 -1
  312. package/lib/utils/validateId.js +1 -1
  313. package/lib/utils/validations.js +17 -12
  314. package/lib/utils/visitedCache.js +1 -1
  315. package/package.json +5 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -87,6 +87,15 @@ var makeUrlRegexp = memoize(function (options) {
87
87
  }
88
88
  return new RegExp(regex, 'i');
89
89
  });
90
+ var valueToString = function (value) {
91
+ return typeof value === 'undefined' || value === null
92
+ ? ''
93
+ : typeof value === 'string'
94
+ ? value
95
+ : value instanceof Date
96
+ ? value.toISOString()
97
+ : JSON.stringify(value);
98
+ };
90
99
  var validations = {
91
100
  isRequired: function (values, value) {
92
101
  return (value !== undefined &&
@@ -144,9 +153,7 @@ var validations = {
144
153
  },
145
154
  isLength: function (values, value, length) {
146
155
  // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
147
- if (typeof value === 'number') {
148
- value = String(value);
149
- }
156
+ value = valueToString(value);
150
157
  return !isExisty(value) || isEmpty(value) || value.length === length;
151
158
  },
152
159
  equals: function (values, value, eql) {
@@ -157,16 +164,12 @@ var validations = {
157
164
  },
158
165
  maxLength: function (values, value, length) {
159
166
  // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
160
- if (typeof value === 'number') {
161
- value = String(value);
162
- }
167
+ value = valueToString(value);
163
168
  return !isExisty(value) || value.length <= length;
164
169
  },
165
170
  minLength: function (values, value, length) {
166
171
  // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string
167
- if (typeof value === 'number') {
168
- value = String(value);
169
- }
172
+ value = valueToString(value);
170
173
  return !isExisty(value) || isEmpty(value) || value.length >= length;
171
174
  },
172
175
  isUrlPath: function (values, value, regexp) {
@@ -208,12 +211,14 @@ var validations = {
208
211
  return true;
209
212
  },
210
213
  isPhoneNumber: function (values, value) {
211
- return (!isExisty(value) || isEmpty(value) || /^[1]([3-9])[0-9]{9}$/.test(value));
214
+ return (!isExisty(value) ||
215
+ isEmpty(value) ||
216
+ /^(\+\d{2}-)?[1]([3-9])[0-9]{9}$/.test(value));
212
217
  },
213
218
  isTelNumber: function (values, value) {
214
219
  return (!isExisty(value) ||
215
220
  isEmpty(value) ||
216
- /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(value));
221
+ /^(\+\d{2}-)?(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(value));
217
222
  },
218
223
  isZipcode: function (values, value) {
219
224
  return !isExisty(value) || isEmpty(value) || /^\d{6}$/.test(value);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -19,12 +19,23 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
19
19
  cRef: any;
20
20
  schema: any;
21
21
  path: string;
22
+ animationTimeout: {
23
+ enter?: number;
24
+ exit?: number;
25
+ };
26
+ animationClassNames: {
27
+ appear?: string;
28
+ enter?: string;
29
+ exit?: string;
30
+ };
22
31
  reaction: any;
23
32
  unbindEvent: (() => void) | undefined;
24
33
  isStatic: any;
25
34
  constructor(props: SchemaRendererProps);
35
+ componentDidMount(): void;
26
36
  componentWillUnmount(): void;
27
37
  shouldComponentUpdate(nextProps: SchemaRendererProps): boolean;
38
+ removeAnimationStyle(): void;
28
39
  resolveRenderer(props: SchemaRendererProps, force?: boolean): any;
29
40
  getWrappedInstance(): any;
30
41
  refFn(ref: any): void;
@@ -35,6 +46,8 @@ export declare class SchemaRenderer extends React.Component<SchemaRendererProps,
35
46
  [propName: string]: any;
36
47
  }): any;
37
48
  reRender(): void;
49
+ addAnimationAttention(node: HTMLElement): void;
50
+ removeAnimationAttention(node: HTMLElement): void;
38
51
  render(): JSX.Element | null;
39
52
  }
40
53
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -33,6 +33,9 @@ require('./utils/filter.js');
33
33
  var style = require('./utils/style.js');
34
34
  var formula = require('./utils/formula.js');
35
35
  var tpl = require('./utils/tpl.js');
36
+ var reactTransitionGroup = require('react-transition-group');
37
+ var animations = require('./utils/animations.js');
38
+ var StyleManager = require('./StyleManager.js');
36
39
 
37
40
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
38
41
 
@@ -84,15 +87,39 @@ var componentCache = new SimpleMap.SimpleMap();
84
87
  var SchemaRenderer = /** @class */ (function (_super) {
85
88
  tslib.__extends(SchemaRenderer, _super);
86
89
  function SchemaRenderer(props) {
87
- var _this = _super.call(this, props) || this;
90
+ var _this = this;
91
+ var _a;
92
+ _this = _super.call(this, props) || this;
88
93
  _this.rendererKey = '';
94
+ _this.animationTimeout = {};
95
+ _this.animationClassNames = {};
89
96
  _this.unbindEvent = undefined;
90
97
  _this.isStatic = undefined;
98
+ var animations = (_a = props === null || props === void 0 ? void 0 : props.schema) === null || _a === void 0 ? void 0 : _a.animations;
99
+ if (animations) {
100
+ var id = props === null || props === void 0 ? void 0 : props.schema.id;
101
+ id = helper.formateId(id);
102
+ if (animations.enter) {
103
+ _this.animationTimeout.enter =
104
+ ((animations.enter.duration || 1) + (animations.enter.delay || 0)) *
105
+ 1000;
106
+ _this.animationClassNames.enter = "".concat(animations.enter.type, "-").concat(id, "-enter");
107
+ _this.animationClassNames.appear = _this.animationClassNames.enter;
108
+ }
109
+ if (animations.exit) {
110
+ _this.animationTimeout.exit =
111
+ ((animations.exit.duration || 1) + (animations.exit.delay || 0)) *
112
+ 1000;
113
+ _this.animationClassNames.exit = "".concat(animations.exit.type, "-").concat(id, "-exit");
114
+ }
115
+ }
91
116
  _this.refFn = _this.refFn.bind(_this);
92
117
  _this.renderChild = _this.renderChild.bind(_this);
93
118
  _this.reRender = _this.reRender.bind(_this);
94
119
  _this.resolveRenderer(_this.props);
95
120
  _this.dispatchEvent = _this.dispatchEvent.bind(_this);
121
+ _this.addAnimationAttention = _this.addAnimationAttention.bind(_this);
122
+ _this.removeAnimationAttention = _this.removeAnimationAttention.bind(_this);
96
123
  // 监听statusStore更新
97
124
  _this.reaction = mobx.reaction(function () {
98
125
  var _a, _b, _c;
@@ -102,10 +129,18 @@ var SchemaRenderer = /** @class */ (function (_super) {
102
129
  }, function () { return _this.forceUpdate(); });
103
130
  return _this;
104
131
  }
132
+ SchemaRenderer.prototype.componentDidMount = function () {
133
+ if (this.props.schema.animations) {
134
+ var _a = this.props.schema, animations$1 = _a.animations, id = _a.id;
135
+ id = helper.formateId(id);
136
+ animations.createAnimationStyle(id, animations$1);
137
+ }
138
+ };
105
139
  SchemaRenderer.prototype.componentWillUnmount = function () {
106
140
  var _a, _b;
107
141
  (_a = this.reaction) === null || _a === void 0 ? void 0 : _a.call(this);
108
142
  (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
143
+ this.removeAnimationStyle();
109
144
  };
110
145
  // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。
111
146
  SchemaRenderer.prototype.shouldComponentUpdate = function (nextProps) {
@@ -128,6 +163,13 @@ var SchemaRenderer = /** @class */ (function (_super) {
128
163
  }
129
164
  return false;
130
165
  };
166
+ SchemaRenderer.prototype.removeAnimationStyle = function () {
167
+ if (this.props.schema.animations) {
168
+ var id = this.props.schema.id;
169
+ id = helper.formateId(id);
170
+ StyleManager["default"].removeStyles(id);
171
+ }
172
+ };
131
173
  SchemaRenderer.prototype.resolveRenderer = function (props, force) {
132
174
  if (force === void 0) { force = false; }
133
175
  var schema = props.schema;
@@ -177,7 +219,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
177
219
  };
178
220
  SchemaRenderer.prototype.childRef = function (ref) {
179
221
  var _this = this;
180
- var _a;
222
+ var _a, _b;
181
223
  // todo 这里有个问题,就是注意以下的这段注释
182
224
  // > // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
183
225
  // > 而 visibleOn 和 hiddenOn 是无效的,
@@ -195,7 +237,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
195
237
  }
196
238
  if (ref) {
197
239
  // 这里无法区分监听的是不是广播,所以又bind一下,主要是为了绑广播
198
- this.unbindEvent = rendererEvent.bindEvent(this.ref);
240
+ (_b = this.unbindEvent) === null || _b === void 0 ? void 0 : _b.call(this);
241
+ this.unbindEvent = rendererEvent.bindEvent(ref);
199
242
  }
200
243
  this.cRef = ref;
201
244
  };
@@ -232,6 +275,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
232
275
  this.resolveRenderer(this.props, true);
233
276
  this.forceUpdate();
234
277
  };
278
+ SchemaRenderer.prototype.addAnimationAttention = function (node) {
279
+ var schema = (this.props || {}).schema;
280
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
281
+ if (attention) {
282
+ var id = schema.id;
283
+ id = helper.formateId(id);
284
+ node.classList.add("".concat(attention.type, "-").concat(id, "-attention"));
285
+ }
286
+ };
287
+ SchemaRenderer.prototype.removeAnimationAttention = function (node) {
288
+ var schema = (this.props || {}).schema;
289
+ var attention = ((schema === null || schema === void 0 ? void 0 : schema.animations) || {}).attention;
290
+ if (attention) {
291
+ var id = schema.id;
292
+ id = helper.formateId(id);
293
+ node.classList.remove("".concat(attention.type, "-").concat(id, "-attention"));
294
+ }
295
+ };
235
296
  SchemaRenderer.prototype.render = function () {
236
297
  var e_1, _a;
237
298
  var _this = this;
@@ -334,6 +395,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
334
395
  schema = factory.filterSchema(schema, renderer, rest);
335
396
  var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = tslib.__rest(schema, ["data", "value", "activeKey"]);
336
397
  var Component = renderer.component;
398
+ var animationIn = true;
337
399
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
338
400
  // 而 visibleOn 和 hiddenOn 是无效的,
339
401
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -343,7 +405,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
343
405
  exprProps.visible === false ||
344
406
  !renderer.isFormItem ||
345
407
  (schema.visible !== false && !schema.hidden))) {
346
- return null;
408
+ if (schema.animations) {
409
+ animationIn = false;
410
+ }
411
+ else {
412
+ return null;
413
+ }
347
414
  }
348
415
  // withStore 里面会处理,而且会实时处理
349
416
  // 这里处理反而导致了问题
@@ -393,6 +460,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
393
460
  }
394
461
  }
395
462
  var component = supportRef ? (_J$X_(Component, tslib.__assign({}, props, { ref: this.childRef }))) : (_J$X_(Component, tslib.__assign({}, props, { forwardedRef: this.childRef })));
463
+ if (schema.animations) {
464
+ component = (_J$X_(reactTransitionGroup.CSSTransition, { in: animationIn, timeout: this.animationTimeout, classNames: this.animationClassNames, onEntered: this.addAnimationAttention, onExit: this.removeAnimationAttention, appear: true, unmountOnExit: true }, component));
465
+ }
396
466
  return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
397
467
  };
398
468
  SchemaRenderer.displayName = 'Renderer';
package/lib/Scoped.d.ts CHANGED
@@ -39,7 +39,7 @@ export interface IScopedContext {
39
39
  getComponentById: (id: string) => ScopedComponentType | undefined;
40
40
  getComponentByIdUnderCurrentScope: (id: string, ignoreScope?: IScopedContext) => ScopedComponentType | undefined;
41
41
  getComponents: () => Array<ScopedComponentType>;
42
- reload: (target: string, ctx: RendererData) => void;
42
+ reload: (target: string, ctx: RendererData) => void | Promise<void>;
43
43
  send: (target: string, ctx: RendererData) => void;
44
44
  close: (target: string) => void;
45
45
  closeById: (target: string) => void;
package/lib/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -0,0 +1,18 @@
1
+ interface Style {
2
+ [id: string]: {
3
+ [className: string]: {
4
+ [propName: string]: string | number;
5
+ };
6
+ };
7
+ }
8
+ declare class StyleManager {
9
+ styles: Style;
10
+ styleDom: HTMLStyleElement;
11
+ styleText: string;
12
+ constructor();
13
+ updateStyle(style: Style): void;
14
+ removeStyles(id: string): void;
15
+ updateStyleDom(): void;
16
+ }
17
+ declare const _default: StyleManager;
18
+ export default _default;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * amis-core v6.9.0-rc.11
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, '__esModule', { value: true });
9
+
10
+ var tslib = require('tslib');
11
+ var kebabCase = require('lodash/kebabCase');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var kebabCase__default = /*#__PURE__*/_interopDefaultLegacy(kebabCase);
16
+
17
+ var StyleManager = /** @class */ (function () {
18
+ function StyleManager() {
19
+ this.styles = {};
20
+ this.styleDom = document.createElement('style');
21
+ this.styleDom.id = 'amis-styles';
22
+ document.head.appendChild(this.styleDom);
23
+ }
24
+ StyleManager.prototype.updateStyle = function (style) {
25
+ var _this = this;
26
+ Object.keys(style).forEach(function (className) {
27
+ if (!_this.styles[className]) {
28
+ _this.styles[className] = style[className];
29
+ }
30
+ else {
31
+ _this.styles[className] = tslib.__assign(tslib.__assign({}, _this.styles[className]), style[className]);
32
+ }
33
+ });
34
+ this.updateStyleDom();
35
+ };
36
+ StyleManager.prototype.removeStyles = function (id) {
37
+ delete this.styles[id];
38
+ this.updateStyleDom();
39
+ };
40
+ StyleManager.prototype.updateStyleDom = function () {
41
+ var _this = this;
42
+ var styleText = Object.keys(this.styles)
43
+ .map(function (id) {
44
+ var style = _this.styles[id];
45
+ return Object.keys(style)
46
+ .map(function (className) {
47
+ return "".concat(className, " {").concat(Object.keys(style[className])
48
+ .map(function (propName) {
49
+ return "".concat(kebabCase__default["default"](propName), ": ").concat(style[className][propName], ";");
50
+ })
51
+ .join(''), "}");
52
+ })
53
+ .join('');
54
+ })
55
+ .join('');
56
+ this.styleDom.innerHTML = styleText;
57
+ this.styleText = styleText;
58
+ };
59
+ return StyleManager;
60
+ }());
61
+ var styleManager = new StyleManager();
62
+
63
+ exports["default"] = styleManager;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/lib/WithStore.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -18,6 +18,7 @@ require('../utils/memoryParse.js');
18
18
  require('@rc-component/mini-decimal');
19
19
  var dataMapping = require('../utils/dataMapping.js');
20
20
  require('../utils/filter.js');
21
+ var debug = require('../utils/debug.js');
21
22
 
22
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
24
 
@@ -285,6 +286,8 @@ var runAction = function (actionInstrance, actionConfig, renderer, event) { retu
285
286
  : mergeData;
286
287
  (_x = console.group) === null || _x === void 0 ? void 0 : _x.call(console, "run action ".concat(action.actionType));
287
288
  console.debug("[".concat(action.actionType, "] action args, data"), args, data);
289
+ debug.debug('action', "run action ".concat(action.actionType, " with args"), args);
290
+ debug.debug('action', "run action ".concat(action.actionType, " with data"), data);
288
291
  stopped = false;
289
292
  return [4 /*yield*/, actionInstrance.run(tslib.__assign(tslib.__assign(tslib.__assign({}, action), { args: args, rawData: actionConfig.data, data: action.actionType === 'reload' ? actionData : data }), key), renderer, event, mergeData)];
290
293
  case 5:
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5