amis-core 6.13.0-beta.2 → 6.13.0-beta.21

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 (326) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +15 -7
  3. package/esm/SchemaRenderer.js +11 -6
  4. package/esm/Scoped.js +1 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/StyleManager.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +60 -15
  10. package/esm/actions/AjaxAction.js +2 -2
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +48 -43
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +7 -7
  17. package/esm/actions/DialogAction.js +8 -8
  18. package/esm/actions/DrawerAction.js +8 -8
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +9 -9
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/Animations.js +7 -7
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +7 -7
  35. package/esm/components/PopOver.js +9 -7
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.js +1 -1
  39. package/esm/globalVar.js +1 -1
  40. package/esm/globalVarClientHandler.js +1 -1
  41. package/esm/globalVarDefaultValueHandler.js +1 -1
  42. package/esm/index.d.ts +2 -2
  43. package/esm/index.js +8 -8
  44. package/esm/locale.js +1 -1
  45. package/esm/polyfills.js +1 -1
  46. package/esm/renderers/Form.d.ts +5 -1
  47. package/esm/renderers/Form.js +72 -24
  48. package/esm/renderers/Item.js +1 -1
  49. package/esm/renderers/Options.js +1 -1
  50. package/esm/renderers/Placeholder.js +1 -1
  51. package/esm/renderers/builtin.js +1 -1
  52. package/esm/renderers/register.js +1 -1
  53. package/esm/renderers/wrapControl.d.ts +0 -1
  54. package/esm/renderers/wrapControl.js +30 -14
  55. package/esm/store/app.d.ts +2 -0
  56. package/esm/store/app.js +8 -8
  57. package/esm/store/combo.d.ts +132 -0
  58. package/esm/store/combo.js +24 -2
  59. package/esm/store/crud.d.ts +3 -0
  60. package/esm/store/crud.js +6 -2
  61. package/esm/store/form.d.ts +52 -0
  62. package/esm/store/form.js +3 -3
  63. package/esm/store/formItem.d.ts +1 -0
  64. package/esm/store/formItem.js +4 -2
  65. package/esm/store/iRenderer.d.ts +2 -0
  66. package/esm/store/iRenderer.js +9 -3
  67. package/esm/store/index.js +1 -1
  68. package/esm/store/list.d.ts +2 -0
  69. package/esm/store/list.js +1 -1
  70. package/esm/store/manager.js +1 -1
  71. package/esm/store/modal.d.ts +4 -0
  72. package/esm/store/modal.js +7 -2
  73. package/esm/store/node.js +1 -1
  74. package/esm/store/pagination.d.ts +2 -0
  75. package/esm/store/pagination.js +1 -1
  76. package/esm/store/root.d.ts +8 -2
  77. package/esm/store/root.js +142 -72
  78. package/esm/store/service.d.ts +2 -0
  79. package/esm/store/service.js +8 -8
  80. package/esm/store/status.js +1 -1
  81. package/esm/store/table.d.ts +146 -92
  82. package/esm/store/table.js +36 -19
  83. package/esm/store/table2.d.ts +2 -0
  84. package/esm/store/table2.js +4 -3
  85. package/esm/theme.js +1 -1
  86. package/esm/utils/Animation.js +1 -1
  87. package/esm/utils/ColorScale.js +1 -1
  88. package/esm/utils/DataSchema.js +1 -1
  89. package/esm/utils/DataScope.js +1 -1
  90. package/esm/utils/RootClose.js +1 -1
  91. package/esm/utils/SimpleMap.js +1 -1
  92. package/esm/utils/animations.js +1 -1
  93. package/esm/utils/api.js +8 -3
  94. package/esm/utils/arraySlice.js +1 -1
  95. package/esm/utils/attachmentAdpator.js +1 -1
  96. package/esm/utils/autobind.js +1 -1
  97. package/esm/utils/browser.js +1 -1
  98. package/esm/utils/columnsSplit.js +1 -1
  99. package/esm/utils/concatData.js +1 -1
  100. package/esm/utils/dataMapping.js +1 -1
  101. package/esm/utils/date.js +6 -9
  102. package/esm/utils/debug.js +1 -1
  103. package/esm/utils/decodeEntity.js +1 -1
  104. package/esm/utils/dom.js +6 -3
  105. package/esm/utils/errors.js +2 -1
  106. package/esm/utils/escapeHtml.js +1 -1
  107. package/esm/utils/filter-schema.js +1 -1
  108. package/esm/utils/filter.js +1 -1
  109. package/esm/utils/formatDuration.js +1 -1
  110. package/esm/utils/formula.js +2 -2
  111. package/esm/utils/getPageId.js +1 -1
  112. package/esm/utils/getVariable.js +1 -1
  113. package/esm/utils/grammar.js +1 -1
  114. package/esm/utils/handleAction.js +1 -1
  115. package/esm/utils/helper.js +3 -3
  116. package/esm/utils/highlight.js +1 -1
  117. package/esm/utils/icon.js +1 -1
  118. package/esm/utils/image.js +1 -1
  119. package/esm/utils/index.d.ts +1 -1
  120. package/esm/utils/index.js +9 -9
  121. package/esm/utils/isPureVariable.js +2 -2
  122. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  123. package/esm/utils/keyToPath.js +1 -1
  124. package/esm/utils/labelToString.js +1 -1
  125. package/esm/utils/loopTooMuch.js +1 -1
  126. package/esm/utils/makeSorter.js +1 -1
  127. package/esm/utils/math.js +1 -1
  128. package/esm/utils/memoryParse.js +1 -1
  129. package/esm/utils/normalizeLink.js +1 -1
  130. package/esm/utils/normalizeOptions.js +6 -2
  131. package/esm/utils/object.js +1 -1
  132. package/esm/utils/offset.js +1 -1
  133. package/esm/utils/offsetParent.js +1 -1
  134. package/esm/utils/optionValueCompare.js +1 -1
  135. package/esm/utils/position.js +1 -1
  136. package/esm/utils/prettyBytes.js +1 -1
  137. package/esm/utils/printElement.js +1 -1
  138. package/esm/utils/renderer-event.js +1 -1
  139. package/esm/utils/replaceText.js +1 -1
  140. package/esm/utils/resize-sensor.d.ts +3 -1
  141. package/esm/utils/resize-sensor.js +63 -29
  142. package/esm/utils/resolveCondition.js +2 -2
  143. package/esm/utils/resolveVariable.js +1 -1
  144. package/esm/utils/resolveVariableAndFilter.js +4 -3
  145. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  146. package/esm/utils/scrollPosition.js +1 -1
  147. package/esm/utils/string2regExp.js +1 -1
  148. package/esm/utils/stripNumber.js +1 -1
  149. package/esm/utils/style-helper.d.ts +12 -1
  150. package/esm/utils/style-helper.js +30 -18
  151. package/esm/utils/style.d.ts +13 -0
  152. package/esm/utils/style.js +44 -4
  153. package/esm/utils/toNumber.js +1 -1
  154. package/esm/utils/tokenize.js +1 -1
  155. package/esm/utils/tpl-builtin.d.ts +1 -0
  156. package/esm/utils/tpl-builtin.js +7 -3
  157. package/esm/utils/tpl-lodash.js +1 -1
  158. package/esm/utils/tpl.js +6 -2
  159. package/esm/utils/uncontrollable.js +1 -1
  160. package/esm/utils/validateId.js +1 -1
  161. package/esm/utils/validations.js +2 -2
  162. package/esm/utils/visitedCache.js +1 -1
  163. package/lib/Root.js +1 -1
  164. package/lib/RootRenderer.d.ts +1 -1
  165. package/lib/RootRenderer.js +15 -7
  166. package/lib/SchemaRenderer.js +10 -5
  167. package/lib/Scoped.js +1 -1
  168. package/lib/StatusScoped.js +1 -1
  169. package/lib/StyleManager.js +1 -1
  170. package/lib/WithRootStore.js +1 -1
  171. package/lib/WithStore.js +1 -1
  172. package/lib/actions/Action.js +62 -14
  173. package/lib/actions/AjaxAction.js +2 -2
  174. package/lib/actions/BreakAction.js +1 -1
  175. package/lib/actions/BroadcastAction.js +1 -1
  176. package/lib/actions/CmptAction.js +48 -43
  177. package/lib/actions/ContinueAction.js +1 -1
  178. package/lib/actions/CopyAction.js +1 -1
  179. package/lib/actions/CustomAction.js +7 -7
  180. package/lib/actions/DialogAction.js +8 -8
  181. package/lib/actions/DrawerAction.js +8 -8
  182. package/lib/actions/EmailAction.js +1 -1
  183. package/lib/actions/EventAction.js +9 -9
  184. package/lib/actions/LinkAction.js +1 -1
  185. package/lib/actions/LoopAction.js +1 -1
  186. package/lib/actions/PageAction.js +1 -1
  187. package/lib/actions/ParallelAction.js +1 -1
  188. package/lib/actions/PrintAction.js +1 -1
  189. package/lib/actions/StatusAction.js +1 -1
  190. package/lib/actions/SwitchAction.js +1 -1
  191. package/lib/actions/ToastAction.js +1 -1
  192. package/lib/actions/WaitAction.js +1 -1
  193. package/lib/components/Animations.js +7 -7
  194. package/lib/components/CustomStyle.js +1 -1
  195. package/lib/components/ErrorBoundary.js +1 -1
  196. package/lib/components/LazyComponent.js +1 -1
  197. package/lib/components/Overlay.js +7 -7
  198. package/lib/components/PopOver.js +9 -7
  199. package/lib/env.js +1 -1
  200. package/lib/envOverwrite.js +1 -1
  201. package/lib/factory.js +1 -1
  202. package/lib/globalVar.js +1 -1
  203. package/lib/globalVarClientHandler.js +1 -1
  204. package/lib/globalVarDefaultValueHandler.js +1 -1
  205. package/lib/index.d.ts +2 -2
  206. package/lib/index.js +12 -6
  207. package/lib/locale.js +1 -1
  208. package/lib/polyfills.js +1 -1
  209. package/lib/renderers/Form.d.ts +5 -1
  210. package/lib/renderers/Form.js +71 -23
  211. package/lib/renderers/Item.js +1 -1
  212. package/lib/renderers/Options.js +1 -1
  213. package/lib/renderers/Placeholder.js +1 -1
  214. package/lib/renderers/builtin.js +1 -1
  215. package/lib/renderers/register.js +1 -1
  216. package/lib/renderers/wrapControl.d.ts +0 -1
  217. package/lib/renderers/wrapControl.js +30 -14
  218. package/lib/store/app.d.ts +2 -0
  219. package/lib/store/app.js +8 -8
  220. package/lib/store/combo.d.ts +156 -25
  221. package/lib/store/combo.js +24 -2
  222. package/lib/store/crud.d.ts +3 -0
  223. package/lib/store/crud.js +6 -2
  224. package/lib/store/form.d.ts +62 -11
  225. package/lib/store/form.js +3 -3
  226. package/lib/store/formItem.d.ts +1 -0
  227. package/lib/store/formItem.js +4 -2
  228. package/lib/store/iRenderer.d.ts +2 -0
  229. package/lib/store/iRenderer.js +9 -3
  230. package/lib/store/index.js +1 -1
  231. package/lib/store/list.d.ts +2 -0
  232. package/lib/store/list.js +1 -1
  233. package/lib/store/manager.js +1 -1
  234. package/lib/store/modal.d.ts +4 -0
  235. package/lib/store/modal.js +7 -2
  236. package/lib/store/node.js +1 -1
  237. package/lib/store/pagination.d.ts +2 -0
  238. package/lib/store/pagination.js +1 -1
  239. package/lib/store/root.d.ts +8 -3
  240. package/lib/store/root.js +140 -70
  241. package/lib/store/service.d.ts +2 -0
  242. package/lib/store/service.js +8 -8
  243. package/lib/store/status.js +1 -1
  244. package/lib/store/table.d.ts +166 -113
  245. package/lib/store/table.js +36 -19
  246. package/lib/store/table2.d.ts +2 -0
  247. package/lib/store/table2.js +4 -3
  248. package/lib/theme.js +1 -1
  249. package/lib/utils/Animation.js +1 -1
  250. package/lib/utils/ColorScale.js +1 -1
  251. package/lib/utils/DataSchema.js +1 -1
  252. package/lib/utils/DataScope.js +1 -1
  253. package/lib/utils/RootClose.js +1 -1
  254. package/lib/utils/SimpleMap.js +1 -1
  255. package/lib/utils/animations.js +1 -1
  256. package/lib/utils/api.js +8 -3
  257. package/lib/utils/arraySlice.js +1 -1
  258. package/lib/utils/attachmentAdpator.js +1 -1
  259. package/lib/utils/autobind.js +1 -1
  260. package/lib/utils/browser.js +1 -1
  261. package/lib/utils/columnsSplit.js +1 -1
  262. package/lib/utils/concatData.js +1 -1
  263. package/lib/utils/dataMapping.js +1 -1
  264. package/lib/utils/date.js +6 -9
  265. package/lib/utils/debug.js +1 -1
  266. package/lib/utils/decodeEntity.js +1 -1
  267. package/lib/utils/dom.js +6 -3
  268. package/lib/utils/errors.js +2 -1
  269. package/lib/utils/escapeHtml.js +1 -1
  270. package/lib/utils/filter-schema.js +1 -1
  271. package/lib/utils/filter.js +1 -1
  272. package/lib/utils/formatDuration.js +1 -1
  273. package/lib/utils/formula.js +2 -2
  274. package/lib/utils/getPageId.js +1 -1
  275. package/lib/utils/getVariable.js +1 -1
  276. package/lib/utils/grammar.js +1 -1
  277. package/lib/utils/handleAction.js +1 -1
  278. package/lib/utils/helper.js +3 -3
  279. package/lib/utils/highlight.js +1 -1
  280. package/lib/utils/icon.js +1 -1
  281. package/lib/utils/image.js +1 -1
  282. package/lib/utils/index.d.ts +1 -1
  283. package/lib/utils/index.js +22 -20
  284. package/lib/utils/isPureVariable.js +2 -2
  285. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  286. package/lib/utils/keyToPath.js +1 -1
  287. package/lib/utils/labelToString.js +1 -1
  288. package/lib/utils/loopTooMuch.js +1 -1
  289. package/lib/utils/makeSorter.js +1 -1
  290. package/lib/utils/math.js +1 -1
  291. package/lib/utils/memoryParse.js +1 -1
  292. package/lib/utils/normalizeLink.js +1 -1
  293. package/lib/utils/normalizeOptions.js +6 -2
  294. package/lib/utils/object.js +1 -1
  295. package/lib/utils/offset.js +1 -1
  296. package/lib/utils/offsetParent.js +1 -1
  297. package/lib/utils/optionValueCompare.js +1 -1
  298. package/lib/utils/position.js +1 -1
  299. package/lib/utils/prettyBytes.js +1 -1
  300. package/lib/utils/printElement.js +1 -1
  301. package/lib/utils/renderer-event.js +1 -1
  302. package/lib/utils/replaceText.js +1 -1
  303. package/lib/utils/resize-sensor.d.ts +3 -1
  304. package/lib/utils/resize-sensor.js +64 -28
  305. package/lib/utils/resolveCondition.js +2 -2
  306. package/lib/utils/resolveVariable.js +1 -1
  307. package/lib/utils/resolveVariableAndFilter.js +3 -2
  308. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  309. package/lib/utils/scrollPosition.js +1 -1
  310. package/lib/utils/string2regExp.js +1 -1
  311. package/lib/utils/stripNumber.js +1 -1
  312. package/lib/utils/style-helper.d.ts +12 -1
  313. package/lib/utils/style-helper.js +30 -17
  314. package/lib/utils/style.d.ts +13 -0
  315. package/lib/utils/style.js +45 -3
  316. package/lib/utils/toNumber.js +1 -1
  317. package/lib/utils/tokenize.js +1 -1
  318. package/lib/utils/tpl-builtin.d.ts +1 -0
  319. package/lib/utils/tpl-builtin.js +7 -2
  320. package/lib/utils/tpl-lodash.js +1 -1
  321. package/lib/utils/tpl.js +6 -2
  322. package/lib/utils/uncontrollable.js +1 -1
  323. package/lib/utils/validateId.js +1 -1
  324. package/lib/utils/validations.js +2 -2
  325. package/lib/utils/visitedCache.js +1 -1
  326. package/package.json +5 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/utils/math.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -64,7 +64,11 @@ function normalizeOptions(options, share, valueField) {
64
64
  }
65
65
  var option = __assign(__assign({}, item), (_a = {}, _a[valueField] = value, _a));
66
66
  if (typeof option.children !== 'undefined') {
67
- option.children = normalizeOptions(option.children, share, valueField);
67
+ // 用新的 share 避免 children 内部复用全局缓存
68
+ option.children = normalizeOptions(option.children, {
69
+ values: [],
70
+ options: []
71
+ }, valueField);
68
72
  }
69
73
  else if (value !== undefined) {
70
74
  share.values.push(value);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -4,5 +4,7 @@
4
4
  */
5
5
  type EventType = 'both' | 'width' | 'height';
6
6
  export declare function getComputedStyle(element: HTMLElement, prop: string): any;
7
- export declare function resizeSensor(element: HTMLElement, callback: () => void, once?: boolean, type?: EventType): () => void;
7
+ export declare function appearSensor(element: HTMLElement, callback: () => void, once?: boolean): () => void;
8
+ export declare function resizeSensorV2(element: HTMLElement, callback: () => void, once?: boolean, type?: EventType): () => void;
9
+ export declare function resizeSensor(element: HTMLElement, callback: () => void, once?: boolean, type?: EventType, triggerOnAppear?: boolean): () => void;
8
10
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -157,41 +157,75 @@ function detach(element) {
157
157
  delete element.originPosition;
158
158
  }
159
159
  }
160
- function resizeSensor(element, callback, once, type) {
160
+ function appearSensor(element, callback, once) {
161
+ if (once === void 0) { once = false; }
162
+ if (once) {
163
+ callback = (function (original) {
164
+ return function () {
165
+ original();
166
+ dispose();
167
+ };
168
+ })(callback);
169
+ }
170
+ element.addEventListener('animationstart', callback);
171
+ var originalAnimationName = element.style.animationName;
172
+ var originalAnimationDuration = element.style.animationDuration;
173
+ element.style.cssText =
174
+ 'animation-name: apearSensor; animation-duration: 0.2s;';
175
+ var dispose = function () {
176
+ element.style.animationName = originalAnimationName;
177
+ element.style.animationDuration = originalAnimationDuration;
178
+ element.removeEventListener('animationstart', callback);
179
+ };
180
+ return dispose;
181
+ }
182
+ function resizeSensorV2(element, callback, once, type) {
183
+ if (once === void 0) { once = false; }
184
+ if (type === void 0) { type = 'both'; }
185
+ var rect = element.getBoundingClientRect();
186
+ var originWidth = rect.width;
187
+ var originHeight = rect.height;
188
+ var observer = new ResizeObserver(function (entries) {
189
+ if (once) {
190
+ observer.disconnect();
191
+ }
192
+ var entry = entries[0];
193
+ var cr = entry.contentRect;
194
+ // 变化大于0.5px时才触发回调,允许一定的误差
195
+ var widthChanged = Math.abs(cr.width - originWidth) > 0.5;
196
+ var heightChanged = Math.abs(cr.height - originHeight) > 0.5;
197
+ if (widthChanged || heightChanged) {
198
+ if (type === 'both') {
199
+ callback();
200
+ }
201
+ else if ((type === 'width' && widthChanged) ||
202
+ (type === 'height' && heightChanged)) {
203
+ callback();
204
+ }
205
+ originWidth = cr.width;
206
+ originHeight = cr.height;
207
+ }
208
+ });
209
+ observer.observe(element);
210
+ return function () {
211
+ observer.disconnect();
212
+ };
213
+ }
214
+ function resizeSensor(element, callback, once, type, triggerOnAppear) {
161
215
  if (once === void 0) { once = false; }
162
216
  if (type === void 0) { type = 'both'; }
217
+ if (triggerOnAppear === void 0) { triggerOnAppear = false; }
163
218
  if (!element) {
164
219
  return function () { };
165
220
  }
166
221
  // 优先用 ResizeObserver
167
222
  if (typeof ResizeObserver !== 'undefined') {
168
- var rect = element.getBoundingClientRect();
169
- var originWidth_1 = rect.width;
170
- var originHeight_1 = rect.height;
171
- var observer_1 = new ResizeObserver(function (entries) {
172
- if (once) {
173
- observer_1.disconnect();
174
- }
175
- var entry = entries[0];
176
- var cr = entry.contentRect;
177
- // 变化大于0.5px时才触发回调,允许一定的误差
178
- var widthChanged = Math.abs(cr.width - originWidth_1) > 0.5;
179
- var heightChanged = Math.abs(cr.height - originHeight_1) > 0.5;
180
- if (widthChanged || heightChanged) {
181
- if (type === 'both') {
182
- callback();
183
- }
184
- else if ((type === 'width' && widthChanged) ||
185
- (type === 'height' && heightChanged)) {
186
- callback();
187
- }
188
- originWidth_1 = cr.width;
189
- originHeight_1 = cr.height;
190
- }
191
- });
192
- observer_1.observe(element);
223
+ var disposes_1 = [
224
+ resizeSensorV2(element, callback, once, type),
225
+ triggerOnAppear ? appearSensor(element, callback, true) : undefined
226
+ ];
193
227
  return function () {
194
- observer_1.disconnect();
228
+ disposes_1.forEach(function (dispose) { return dispose === null || dispose === void 0 ? void 0 : dispose(); });
195
229
  };
196
230
  }
197
231
  // 不支持 ResizeObserver 的话,用 polyfill
@@ -215,4 +249,4 @@ function resizeSensor(element, callback, once, type) {
215
249
  };
216
250
  }
217
251
 
218
- export { getComputedStyle, resizeSensor };
252
+ export { appearSensor, getComputedStyle, resizeSensor, resizeSensorV2 };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -15,9 +15,9 @@ import capitalize from 'lodash/capitalize';
15
15
  import 'amis-formula';
16
16
  import 'lodash/isPlainObject';
17
17
  import './memoryParse.js';
18
+ import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
18
19
  import { isPureVariable } from './isPureVariable.js';
19
20
  import '@rc-component/mini-decimal';
20
- import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
21
21
  import './filter.js';
22
22
 
23
23
  var conditionResolverMap = {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,9 +1,10 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
6
- import { parse, Evaluator } from 'amis-formula';
6
+ import { Evaluator } from 'amis-formula';
7
+ import { memoParse } from './tokenize.js';
7
8
 
8
9
  var resolveVariableAndFilter = function (path, data, defaultFilter, fallbackValue) {
9
10
  if (data === void 0) { data = {}; }
@@ -13,7 +14,7 @@ var resolveVariableAndFilter = function (path, data, defaultFilter, fallbackValu
13
14
  return undefined;
14
15
  }
15
16
  try {
16
- var ast = parse(path, {
17
+ var ast = memoParse(path, {
17
18
  evalMode: false,
18
19
  allowFilter: true
19
20
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -60,6 +60,17 @@ export declare function insertCustomStyle(params: {
60
60
  * 根据路径获取默认值
61
61
  */
62
62
  export declare function getValueByPath(path: string, data: any): any;
63
+ export declare function formatCustomStyle(params: {
64
+ customStyle: any;
65
+ id?: string;
66
+ doc?: Document;
67
+ customStyleClassPrefix?: string;
68
+ [propName: string]: any;
69
+ }): {
70
+ content: string;
71
+ index?: string;
72
+ id: string;
73
+ };
63
74
  /**
64
75
  * 设置源码编辑自定义样式
65
76
  */
@@ -69,7 +80,7 @@ export declare function insertEditCustomStyle(params: {
69
80
  doc?: Document;
70
81
  customStyleClassPrefix?: string;
71
82
  [propName: string]: any;
72
- }): void;
83
+ }): string;
73
84
  export interface InsertCustomStyle {
74
85
  themeCss: any;
75
86
  classNames: CustomStyleClassName[];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -312,7 +312,15 @@ function traverseStyle(style, path, result) {
312
312
  Object.keys(style).forEach(function (key) {
313
313
  if (key !== '$$id') {
314
314
  if (isObject(style[key])) {
315
- var nowPath = path ? "".concat(path, " ").concat(key) : key;
315
+ var keys = key.split(',');
316
+ var nowPath = path
317
+ ? keys
318
+ .map(function (key) {
319
+ var paths = path.split(',');
320
+ return paths.map(function (path) { return "".concat(path, " ").concat(key); }).join(',');
321
+ })
322
+ .join(',')
323
+ : key;
316
324
  traverseStyle(style[key], nowPath, result);
317
325
  }
318
326
  else if (path === '') {
@@ -326,12 +334,9 @@ function traverseStyle(style, path, result) {
326
334
  }
327
335
  });
328
336
  }
329
- /**
330
- * 设置源码编辑自定义样式
331
- */
332
- function insertEditCustomStyle(params) {
337
+ function formatCustomStyle(params) {
333
338
  var _a, _b;
334
- var customStyle = params.customStyle, doc = params.doc, data = params.data, customStyleClassPrefix = params.customStyleClassPrefix;
339
+ var customStyle = params.customStyle; params.doc; var data = params.data, customStyleClassPrefix = params.customStyleClassPrefix;
335
340
  var id = ((_b = (_a = params.id) === null || _a === void 0 ? void 0 : _a.replace) === null || _b === void 0 ? void 0 : _b.call(_a, 'u:', '')) || params.id + '';
336
341
  var styles = {};
337
342
  traverseStyle(customStyle, '', styles);
@@ -349,33 +354,40 @@ function insertEditCustomStyle(params) {
349
354
  if (!isObject(styles[key])) {
350
355
  content += "\n".concat(className_1, " {\n ").concat(key, ": ").concat(resolveVariableAndFilter(styles[key].replace(/['|"]/g, ''), data, '| raw') || styles[key], "\n}");
351
356
  }
352
- else if (key === 'root') {
353
- var res = map(styles[key], function (value, key) {
354
- return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
355
- });
356
- content += "\n".concat(className_1, " {\n ").concat(res.join('\n '), "\n}");
357
- }
358
- else if (/^root:/.test(key)) {
357
+ else if (key.startsWith('root')) {
359
358
  var res = map(styles[key], function (value, key) {
360
359
  return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
361
360
  });
362
- var nowKey = key.replace('root', '');
363
- content += "\n".concat(className_1).concat(nowKey, " {\n ").concat(res.join('\n '), "\n}");
361
+ content += "\n".concat(key.replace(/root/g, className_1), " {\n ").concat(res.join('\n '), "\n}");
364
362
  }
365
363
  else {
366
364
  var res = map(styles[key], function (value, key) {
367
365
  return "".concat(key, ": ").concat(resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
368
366
  });
369
- content += "\n".concat(className_1, " ").concat(key, " {\n ").concat(res.join('\n '), "\n}");
367
+ var keys = key.split(',');
368
+ content += "\n".concat(keys.map(function (key) { return "".concat(className_1, " ").concat(key); }), " {\n ").concat(res.join('\n '), "\n}");
370
369
  }
371
370
  });
372
371
  }
372
+ return {
373
+ content: content,
374
+ index: index,
375
+ id: id
376
+ };
377
+ }
378
+ /**
379
+ * 设置源码编辑自定义样式
380
+ */
381
+ function insertEditCustomStyle(params) {
382
+ var doc = params.doc;
383
+ var _a = formatCustomStyle(params), content = _a.content, index = _a.index, id = _a.id;
373
384
  insertStyle({
374
385
  style: content,
375
386
  classId: 'wrapperCustomStyle-' + (id || uuid()) + index,
376
387
  doc: doc,
377
388
  id: id.replace(/(-.*)/, '')
378
389
  });
390
+ return content;
379
391
  }
380
392
  /**
381
393
  * 移除自定义样式
@@ -431,4 +443,4 @@ function setThemeClassName(params) {
431
443
  }
432
444
  }
433
445
 
434
- export { addStyle, findOrCreateStyle, formatInputThemeCss, formatStyle, getValueByPath, inheritValueMap, insertCustomStyle, insertEditCustomStyle, insertStyle, removeCustomStyle, setThemeClassName, valueMap };
446
+ export { addStyle, findOrCreateStyle, formatCustomStyle, formatInputThemeCss, formatStyle, getValueByPath, inheritValueMap, insertCustomStyle, insertEditCustomStyle, insertStyle, removeCustomStyle, setThemeClassName, valueMap };
@@ -8,3 +8,16 @@
8
8
  * 3. 针对 image 自动加 url
9
9
  */
10
10
  export declare function buildStyle(style: any, data: any): any;
11
+ /**
12
+ * 将 style 转换为对象
13
+ * @param style
14
+ * @returns
15
+ */
16
+ export declare function normalizeStyle(style: any): any;
17
+ /**
18
+ * 合并 style
19
+ * @param to
20
+ * @param from
21
+ * @returns
22
+ */
23
+ export declare function mergeStyle(to: any, from: any): any;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
6
- import 'tslib';
6
+ import { __read } from 'tslib';
7
7
  import 'amis-formula';
8
8
  import 'moment';
9
9
  import 'lodash/isPlainObject';
10
10
  import './memoryParse.js';
11
- import '@rc-component/mini-decimal';
12
11
  import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
12
+ import '@rc-component/mini-decimal';
13
13
  import './filter.js';
14
14
  import mapValues from 'lodash/mapValues';
15
15
  import camelCase from 'lodash/camelCase';
@@ -69,5 +69,45 @@ function buildStyle(style, data) {
69
69
  }
70
70
  return styleVar;
71
71
  }
72
+ /**
73
+ * 将 style 转换为对象
74
+ * @param style
75
+ * @returns
76
+ */
77
+ function normalizeStyle(style) {
78
+ if (!style) {
79
+ return {};
80
+ }
81
+ else if (typeof style === 'string') {
82
+ return style.split(';').reduce(function (acc, item) {
83
+ var _a = __read(item.split(':').map(function (item) { return item.trim(); }), 2), key = _a[0], value = _a[1];
84
+ if (key && value) {
85
+ acc[camelCase(key)] = value;
86
+ }
87
+ return acc;
88
+ }, {});
89
+ }
90
+ else {
91
+ return style;
92
+ }
93
+ }
94
+ /**
95
+ * 合并 style
96
+ * @param to
97
+ * @param from
98
+ * @returns
99
+ */
100
+ function mergeStyle(to, from) {
101
+ if (!to && !from) {
102
+ return {};
103
+ }
104
+ if (!to) {
105
+ return from;
106
+ }
107
+ if (!from) {
108
+ return to;
109
+ }
110
+ return Object.assign({}, normalizeStyle(to), normalizeStyle(from));
111
+ }
72
112
 
73
- export { buildStyle };
113
+ export { buildStyle, mergeStyle, normalizeStyle };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -17,3 +17,4 @@ export { prettyBytes, escapeHtml, formatDuration, filterDate, relativeValueRe, p
17
17
  export declare function register(): Enginer & {
18
18
  name: string;
19
19
  };
20
+ export declare const testResolveVariableAndFilter: (path?: string | undefined, data?: object, defaultFilter?: string, fallbackValue?: (value: any) => any) => any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -8,9 +8,11 @@ export { getFilters, registerFilter, registerFunction } from 'amis-formula';
8
8
  import 'moment';
9
9
  import 'lodash/isPlainObject';
10
10
  import './memoryParse.js';
11
+ import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
12
+ export { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
13
+ import '@rc-component/mini-decimal';
11
14
  import { tokenize } from './tokenize.js';
12
15
  export { tokenize } from './tokenize.js';
13
- import '@rc-component/mini-decimal';
14
16
  import { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
15
17
  export { resolveVariableAndFilterForAsync } from './resolveVariableAndFilterForAsync.js';
16
18
  import './filter.js';
@@ -74,5 +76,7 @@ function register() {
74
76
  }
75
77
  };
76
78
  }
79
+ // 避免 resolveVariableAndFilter 被摇了
80
+ var testResolveVariableAndFilter = resolveVariableAndFilter;
77
81
 
78
- export { register };
82
+ export { register, testResolveVariableAndFilter };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -58,6 +58,7 @@ function asyncFilter(tpl, data) {
58
58
  }
59
59
  // 缓存一下提升性能
60
60
  var EVAL_CACHE = {};
61
+ var WARNING_CACHE = {};
61
62
  var customEvalExpressionFn;
62
63
  function setCustomEvalExpression(fn) {
63
64
  customEvalExpressionFn = fn;
@@ -98,7 +99,10 @@ function evalExpression(expression, data) {
98
99
  return fn.call(data, data, getFilters());
99
100
  }
100
101
  catch (e) {
101
- console.warn(expression, e);
102
+ if (!WARNING_CACHE[expression]) {
103
+ console.warn(expression, e);
104
+ WARNING_CACHE[expression] = true;
105
+ }
102
106
  return false;
103
107
  }
104
108
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.13.0-beta.2
2
+ * amis-core v6.13.0-beta.21
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5