amis-core 6.9.0-beta.0 → 6.9.0-beta.1

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 (284) 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 +73 -4
  5. package/esm/Scoped.js +1 -1
  6. package/esm/StatusScoped.js +1 -1
  7. package/esm/StyleManager.d.ts +18 -0
  8. package/esm/StyleManager.js +55 -0
  9. package/esm/WithRootStore.js +1 -1
  10. package/esm/WithStore.js +1 -1
  11. package/esm/actions/Action.js +1 -1
  12. package/esm/actions/AjaxAction.js +1 -1
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.js +1 -1
  15. package/esm/actions/CmptAction.js +1 -1
  16. package/esm/actions/ContinueAction.js +1 -1
  17. package/esm/actions/CopyAction.js +1 -1
  18. package/esm/actions/CustomAction.js +1 -1
  19. package/esm/actions/DialogAction.js +1 -1
  20. package/esm/actions/DrawerAction.js +1 -1
  21. package/esm/actions/EmailAction.js +1 -1
  22. package/esm/actions/EventAction.js +1 -1
  23. package/esm/actions/LinkAction.js +1 -1
  24. package/esm/actions/LoopAction.js +1 -1
  25. package/esm/actions/PageAction.js +1 -1
  26. package/esm/actions/ParallelAction.js +1 -1
  27. package/esm/actions/PrintAction.js +1 -1
  28. package/esm/actions/StatusAction.js +1 -1
  29. package/esm/actions/SwitchAction.js +1 -1
  30. package/esm/actions/ToastAction.js +1 -1
  31. package/esm/actions/WaitAction.js +1 -1
  32. package/esm/components/CustomStyle.js +1 -1
  33. package/esm/components/ErrorBoundary.js +1 -1
  34. package/esm/components/LazyComponent.js +1 -1
  35. package/esm/components/Overlay.js +1 -1
  36. package/esm/components/PopOver.js +1 -1
  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.d.ts +3 -1
  41. package/esm/index.js +7 -5
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.js +1 -1
  45. package/esm/renderers/Item.js +1 -1
  46. package/esm/renderers/Options.js +1 -1
  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 +1 -1
  51. package/esm/store/app.js +1 -1
  52. package/esm/store/combo.js +1 -1
  53. package/esm/store/crud.js +1 -1
  54. package/esm/store/form.js +1 -1
  55. package/esm/store/formItem.js +1 -1
  56. package/esm/store/iRenderer.js +1 -1
  57. package/esm/store/index.js +1 -1
  58. package/esm/store/list.js +1 -1
  59. package/esm/store/manager.js +1 -1
  60. package/esm/store/modal.js +1 -1
  61. package/esm/store/node.js +1 -1
  62. package/esm/store/pagination.js +1 -1
  63. package/esm/store/root.js +1 -1
  64. package/esm/store/service.js +1 -1
  65. package/esm/store/status.js +1 -1
  66. package/esm/store/table.js +1 -1
  67. package/esm/store/table2.js +1 -1
  68. package/esm/theme.js +1 -1
  69. package/esm/types.d.ts +2 -0
  70. package/esm/utils/Animation.js +1 -1
  71. package/esm/utils/ColorScale.js +1 -1
  72. package/esm/utils/DataSchema.js +1 -1
  73. package/esm/utils/DataScope.js +1 -1
  74. package/esm/utils/RootClose.js +1 -1
  75. package/esm/utils/SimpleMap.js +1 -1
  76. package/esm/utils/animations.d.ts +19 -0
  77. package/esm/utils/animations.js +58 -0
  78. package/esm/utils/api.js +1 -1
  79. package/esm/utils/arraySlice.js +1 -1
  80. package/esm/utils/attachmentAdpator.js +1 -1
  81. package/esm/utils/autobind.js +1 -1
  82. package/esm/utils/browser.js +1 -1
  83. package/esm/utils/columnsSplit.js +1 -1
  84. package/esm/utils/concatData.js +1 -1
  85. package/esm/utils/dataMapping.js +1 -1
  86. package/esm/utils/date.js +1 -1
  87. package/esm/utils/debug.js +1 -1
  88. package/esm/utils/decodeEntity.js +1 -1
  89. package/esm/utils/dom.js +1 -1
  90. package/esm/utils/errors.js +1 -1
  91. package/esm/utils/escapeHtml.js +1 -1
  92. package/esm/utils/filter-schema.js +1 -1
  93. package/esm/utils/filter.js +1 -1
  94. package/esm/utils/formatDuration.js +1 -1
  95. package/esm/utils/formula.js +1 -1
  96. package/esm/utils/getVariable.js +1 -1
  97. package/esm/utils/grammar.js +1 -1
  98. package/esm/utils/handleAction.js +1 -1
  99. package/esm/utils/helper.d.ts +1 -0
  100. package/esm/utils/helper.js +15 -2
  101. package/esm/utils/highlight.js +1 -1
  102. package/esm/utils/icon.js +1 -1
  103. package/esm/utils/image.js +1 -1
  104. package/esm/utils/isPureVariable.js +1 -1
  105. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  106. package/esm/utils/keyToPath.js +1 -1
  107. package/esm/utils/labelToString.js +1 -1
  108. package/esm/utils/makeSorter.js +1 -1
  109. package/esm/utils/math.js +1 -1
  110. package/esm/utils/memoryParse.js +1 -1
  111. package/esm/utils/normalizeLink.js +1 -1
  112. package/esm/utils/normalizeOptions.js +1 -1
  113. package/esm/utils/object.js +1 -1
  114. package/esm/utils/offset.js +1 -1
  115. package/esm/utils/offsetParent.js +1 -1
  116. package/esm/utils/optionValueCompare.js +1 -1
  117. package/esm/utils/position.js +1 -1
  118. package/esm/utils/prettyBytes.js +1 -1
  119. package/esm/utils/printElement.js +1 -1
  120. package/esm/utils/renderer-event.js +1 -1
  121. package/esm/utils/replaceText.js +1 -1
  122. package/esm/utils/resize-sensor.js +1 -1
  123. package/esm/utils/resolveCondition.js +1 -1
  124. package/esm/utils/resolveVariable.js +1 -1
  125. package/esm/utils/resolveVariableAndFilter.js +1 -1
  126. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  127. package/esm/utils/scrollPosition.js +1 -1
  128. package/esm/utils/string2regExp.js +1 -1
  129. package/esm/utils/stripNumber.js +1 -1
  130. package/esm/utils/style-helper.js +1 -1
  131. package/esm/utils/style.js +1 -1
  132. package/esm/utils/toNumber.js +1 -1
  133. package/esm/utils/tokenize.js +1 -1
  134. package/esm/utils/tpl-builtin.js +1 -1
  135. package/esm/utils/tpl-lodash.js +1 -1
  136. package/esm/utils/tpl.js +1 -1
  137. package/esm/utils/uncontrollable.js +1 -1
  138. package/esm/utils/validateId.js +1 -1
  139. package/esm/utils/validations.js +13 -10
  140. package/esm/utils/visitedCache.js +1 -1
  141. package/lib/Root.js +1 -1
  142. package/lib/RootRenderer.js +1 -1
  143. package/lib/SchemaRenderer.d.ts +13 -0
  144. package/lib/SchemaRenderer.js +72 -3
  145. package/lib/Scoped.js +1 -1
  146. package/lib/StatusScoped.js +1 -1
  147. package/lib/StyleManager.d.ts +18 -0
  148. package/lib/StyleManager.js +63 -0
  149. package/lib/WithRootStore.js +1 -1
  150. package/lib/WithStore.js +1 -1
  151. package/lib/actions/Action.js +1 -1
  152. package/lib/actions/AjaxAction.js +1 -1
  153. package/lib/actions/BreakAction.js +1 -1
  154. package/lib/actions/BroadcastAction.js +1 -1
  155. package/lib/actions/CmptAction.js +1 -1
  156. package/lib/actions/ContinueAction.js +1 -1
  157. package/lib/actions/CopyAction.js +1 -1
  158. package/lib/actions/CustomAction.js +1 -1
  159. package/lib/actions/DialogAction.js +1 -1
  160. package/lib/actions/DrawerAction.js +1 -1
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/EventAction.js +1 -1
  163. package/lib/actions/LinkAction.js +1 -1
  164. package/lib/actions/LoopAction.js +1 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/PrintAction.js +1 -1
  168. package/lib/actions/StatusAction.js +1 -1
  169. package/lib/actions/SwitchAction.js +1 -1
  170. package/lib/actions/ToastAction.js +1 -1
  171. package/lib/actions/WaitAction.js +1 -1
  172. package/lib/components/CustomStyle.js +1 -1
  173. package/lib/components/ErrorBoundary.js +1 -1
  174. package/lib/components/LazyComponent.js +1 -1
  175. package/lib/components/Overlay.js +1 -1
  176. package/lib/components/PopOver.js +1 -1
  177. package/lib/env.js +1 -1
  178. package/lib/envOverwrite.js +1 -1
  179. package/lib/factory.js +1 -1
  180. package/lib/index.d.ts +3 -1
  181. package/lib/index.js +9 -4
  182. package/lib/locale.js +1 -1
  183. package/lib/polyfills.js +1 -1
  184. package/lib/renderers/Form.js +1 -1
  185. package/lib/renderers/Item.js +1 -1
  186. package/lib/renderers/Options.js +1 -1
  187. package/lib/renderers/Placeholder.js +1 -1
  188. package/lib/renderers/builtin.js +1 -1
  189. package/lib/renderers/register.js +1 -1
  190. package/lib/renderers/wrapControl.js +1 -1
  191. package/lib/store/app.js +1 -1
  192. package/lib/store/combo.d.ts +1 -0
  193. package/lib/store/combo.js +1 -1
  194. package/lib/store/crud.js +1 -1
  195. package/lib/store/form.d.ts +1 -0
  196. package/lib/store/form.js +1 -1
  197. package/lib/store/formItem.js +1 -1
  198. package/lib/store/iRenderer.js +1 -1
  199. package/lib/store/index.js +1 -1
  200. package/lib/store/list.js +1 -1
  201. package/lib/store/manager.js +1 -1
  202. package/lib/store/modal.js +1 -1
  203. package/lib/store/node.js +1 -1
  204. package/lib/store/pagination.js +1 -1
  205. package/lib/store/root.js +1 -1
  206. package/lib/store/service.js +1 -1
  207. package/lib/store/status.js +1 -1
  208. package/lib/store/table.d.ts +1 -0
  209. package/lib/store/table.js +1 -1
  210. package/lib/store/table2.js +1 -1
  211. package/lib/theme.js +1 -1
  212. package/lib/types.d.ts +2 -0
  213. package/lib/utils/Animation.js +1 -1
  214. package/lib/utils/ColorScale.js +1 -1
  215. package/lib/utils/DataSchema.js +1 -1
  216. package/lib/utils/DataScope.js +1 -1
  217. package/lib/utils/RootClose.js +1 -1
  218. package/lib/utils/SimpleMap.js +1 -1
  219. package/lib/utils/animations.d.ts +19 -0
  220. package/lib/utils/animations.js +62 -0
  221. package/lib/utils/api.js +1 -1
  222. package/lib/utils/arraySlice.js +1 -1
  223. package/lib/utils/attachmentAdpator.js +1 -1
  224. package/lib/utils/autobind.js +1 -1
  225. package/lib/utils/browser.js +1 -1
  226. package/lib/utils/columnsSplit.js +1 -1
  227. package/lib/utils/concatData.js +1 -1
  228. package/lib/utils/dataMapping.js +1 -1
  229. package/lib/utils/date.js +1 -1
  230. package/lib/utils/debug.js +1 -1
  231. package/lib/utils/decodeEntity.js +1 -1
  232. package/lib/utils/dom.js +1 -1
  233. package/lib/utils/errors.js +1 -1
  234. package/lib/utils/escapeHtml.js +1 -1
  235. package/lib/utils/filter-schema.js +1 -1
  236. package/lib/utils/filter.js +1 -1
  237. package/lib/utils/formatDuration.js +1 -1
  238. package/lib/utils/formula.js +1 -1
  239. package/lib/utils/getVariable.js +1 -1
  240. package/lib/utils/grammar.js +1 -1
  241. package/lib/utils/handleAction.js +1 -1
  242. package/lib/utils/helper.d.ts +1 -0
  243. package/lib/utils/helper.js +15 -1
  244. package/lib/utils/highlight.js +1 -1
  245. package/lib/utils/icon.js +1 -1
  246. package/lib/utils/image.js +1 -1
  247. package/lib/utils/isPureVariable.js +1 -1
  248. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  249. package/lib/utils/keyToPath.js +1 -1
  250. package/lib/utils/labelToString.js +1 -1
  251. package/lib/utils/makeSorter.js +1 -1
  252. package/lib/utils/math.js +1 -1
  253. package/lib/utils/memoryParse.js +1 -1
  254. package/lib/utils/normalizeLink.js +1 -1
  255. package/lib/utils/normalizeOptions.js +1 -1
  256. package/lib/utils/object.js +1 -1
  257. package/lib/utils/offset.js +1 -1
  258. package/lib/utils/offsetParent.js +1 -1
  259. package/lib/utils/optionValueCompare.js +1 -1
  260. package/lib/utils/position.js +1 -1
  261. package/lib/utils/prettyBytes.js +1 -1
  262. package/lib/utils/printElement.js +1 -1
  263. package/lib/utils/renderer-event.js +1 -1
  264. package/lib/utils/replaceText.js +1 -1
  265. package/lib/utils/resize-sensor.js +1 -1
  266. package/lib/utils/resolveCondition.js +1 -1
  267. package/lib/utils/resolveVariable.js +1 -1
  268. package/lib/utils/resolveVariableAndFilter.js +1 -1
  269. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  270. package/lib/utils/scrollPosition.js +1 -1
  271. package/lib/utils/string2regExp.js +1 -1
  272. package/lib/utils/stripNumber.js +1 -1
  273. package/lib/utils/style-helper.js +1 -1
  274. package/lib/utils/style.js +1 -1
  275. package/lib/utils/toNumber.js +1 -1
  276. package/lib/utils/tokenize.js +1 -1
  277. package/lib/utils/tpl-builtin.js +1 -1
  278. package/lib/utils/tpl-lodash.js +1 -1
  279. package/lib/utils/tpl.js +1 -1
  280. package/lib/utils/uncontrollable.js +1 -1
  281. package/lib/utils/validateId.js +1 -1
  282. package/lib/utils/validations.js +13 -10
  283. package/lib/utils/visitedCache.js +1 -1
  284. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
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-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
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) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
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-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
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-beta.0
2
+ * amis-core v6.9.0-beta.1
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;
@@ -233,6 +275,24 @@ var SchemaRenderer = /** @class */ (function (_super) {
233
275
  this.resolveRenderer(this.props, true);
234
276
  this.forceUpdate();
235
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
+ };
236
296
  SchemaRenderer.prototype.render = function () {
237
297
  var e_1, _a;
238
298
  var _this = this;
@@ -335,6 +395,7 @@ var SchemaRenderer = /** @class */ (function (_super) {
335
395
  schema = factory.filterSchema(schema, renderer, rest);
336
396
  var defaultData = schema.data, defaultValue = schema.value, defaultActiveKey = schema.activeKey, restSchema = tslib.__rest(schema, ["data", "value", "activeKey"]);
337
397
  var Component = renderer.component;
398
+ var animationIn = true;
338
399
  // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的
339
400
  // 而 visibleOn 和 hiddenOn 是无效的,
340
401
  // 这个本来就是个bug,但是已经被广泛使用了
@@ -344,7 +405,12 @@ var SchemaRenderer = /** @class */ (function (_super) {
344
405
  exprProps.visible === false ||
345
406
  !renderer.isFormItem ||
346
407
  (schema.visible !== false && !schema.hidden))) {
347
- return null;
408
+ if (schema.animations) {
409
+ animationIn = false;
410
+ }
411
+ else {
412
+ return null;
413
+ }
348
414
  }
349
415
  // withStore 里面会处理,而且会实时处理
350
416
  // 这里处理反而导致了问题
@@ -394,6 +460,9 @@ var SchemaRenderer = /** @class */ (function (_super) {
394
460
  }
395
461
  }
396
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
+ }
397
466
  return this.props.env.enableAMISDebug ? (_J$X_(debug.DebugWrapper, { renderer: renderer }, component)) : (component);
398
467
  };
399
468
  SchemaRenderer.displayName = 'Renderer';
package/lib/Scoped.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
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-beta.1
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-beta.0
2
+ * amis-core v6.9.0-beta.1
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-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-beta.0
2
+ * amis-core v6.9.0-beta.1
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5