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
 
@@ -10,7 +10,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
10
10
  var memoryParse = require('./memoryParse.js');
11
11
 
12
12
  function isPureVariable(path) {
13
- if (typeof path === 'string') {
13
+ if (typeof path === 'string' && path.includes('$')) {
14
14
  try {
15
15
  var ast = memoryParse.memoryParse(path);
16
16
  // 只有一个成员说明是纯表达式模式
@@ -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
 
package/lib/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
 
@@ -72,7 +72,11 @@ function normalizeOptions(options, share, valueField) {
72
72
  }
73
73
  var option = tslib.__assign(tslib.__assign({}, item), (_a = {}, _a[valueField] = value, _a));
74
74
  if (typeof option.children !== 'undefined') {
75
- option.children = normalizeOptions(option.children, share, valueField);
75
+ // 用新的 share 避免 children 内部复用全局缓存
76
+ option.children = normalizeOptions(option.children, {
77
+ values: [],
78
+ options: []
79
+ }, valueField);
76
80
  }
77
81
  else if (value !== undefined) {
78
82
  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
 
@@ -161,41 +161,75 @@ function detach(element) {
161
161
  delete element.originPosition;
162
162
  }
163
163
  }
164
- function resizeSensor(element, callback, once, type) {
164
+ function appearSensor(element, callback, once) {
165
+ if (once === void 0) { once = false; }
166
+ if (once) {
167
+ callback = (function (original) {
168
+ return function () {
169
+ original();
170
+ dispose();
171
+ };
172
+ })(callback);
173
+ }
174
+ element.addEventListener('animationstart', callback);
175
+ var originalAnimationName = element.style.animationName;
176
+ var originalAnimationDuration = element.style.animationDuration;
177
+ element.style.cssText =
178
+ 'animation-name: apearSensor; animation-duration: 0.2s;';
179
+ var dispose = function () {
180
+ element.style.animationName = originalAnimationName;
181
+ element.style.animationDuration = originalAnimationDuration;
182
+ element.removeEventListener('animationstart', callback);
183
+ };
184
+ return dispose;
185
+ }
186
+ function resizeSensorV2(element, callback, once, type) {
187
+ if (once === void 0) { once = false; }
188
+ if (type === void 0) { type = 'both'; }
189
+ var rect = element.getBoundingClientRect();
190
+ var originWidth = rect.width;
191
+ var originHeight = rect.height;
192
+ var observer = new ResizeObserver(function (entries) {
193
+ if (once) {
194
+ observer.disconnect();
195
+ }
196
+ var entry = entries[0];
197
+ var cr = entry.contentRect;
198
+ // 变化大于0.5px时才触发回调,允许一定的误差
199
+ var widthChanged = Math.abs(cr.width - originWidth) > 0.5;
200
+ var heightChanged = Math.abs(cr.height - originHeight) > 0.5;
201
+ if (widthChanged || heightChanged) {
202
+ if (type === 'both') {
203
+ callback();
204
+ }
205
+ else if ((type === 'width' && widthChanged) ||
206
+ (type === 'height' && heightChanged)) {
207
+ callback();
208
+ }
209
+ originWidth = cr.width;
210
+ originHeight = cr.height;
211
+ }
212
+ });
213
+ observer.observe(element);
214
+ return function () {
215
+ observer.disconnect();
216
+ };
217
+ }
218
+ function resizeSensor(element, callback, once, type, triggerOnAppear) {
165
219
  if (once === void 0) { once = false; }
166
220
  if (type === void 0) { type = 'both'; }
221
+ if (triggerOnAppear === void 0) { triggerOnAppear = false; }
167
222
  if (!element) {
168
223
  return function () { };
169
224
  }
170
225
  // 优先用 ResizeObserver
171
226
  if (typeof ResizeObserver !== 'undefined') {
172
- var rect = element.getBoundingClientRect();
173
- var originWidth_1 = rect.width;
174
- var originHeight_1 = rect.height;
175
- var observer_1 = new ResizeObserver(function (entries) {
176
- if (once) {
177
- observer_1.disconnect();
178
- }
179
- var entry = entries[0];
180
- var cr = entry.contentRect;
181
- // 变化大于0.5px时才触发回调,允许一定的误差
182
- var widthChanged = Math.abs(cr.width - originWidth_1) > 0.5;
183
- var heightChanged = Math.abs(cr.height - originHeight_1) > 0.5;
184
- if (widthChanged || heightChanged) {
185
- if (type === 'both') {
186
- callback();
187
- }
188
- else if ((type === 'width' && widthChanged) ||
189
- (type === 'height' && heightChanged)) {
190
- callback();
191
- }
192
- originWidth_1 = cr.width;
193
- originHeight_1 = cr.height;
194
- }
195
- });
196
- observer_1.observe(element);
227
+ var disposes_1 = [
228
+ resizeSensorV2(element, callback, once, type),
229
+ triggerOnAppear ? appearSensor(element, callback, true) : undefined
230
+ ];
197
231
  return function () {
198
- observer_1.disconnect();
232
+ disposes_1.forEach(function (dispose) { return dispose === null || dispose === void 0 ? void 0 : dispose(); });
199
233
  };
200
234
  }
201
235
  // 不支持 ResizeObserver 的话,用 polyfill
@@ -219,5 +253,7 @@ function resizeSensor(element, callback, once, type) {
219
253
  };
220
254
  }
221
255
 
256
+ exports.appearSensor = appearSensor;
222
257
  exports.getComputedStyle = getComputedStyle;
223
258
  exports.resizeSensor = resizeSensor;
259
+ exports.resizeSensorV2 = 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
 
@@ -19,9 +19,9 @@ var capitalize = require('lodash/capitalize');
19
19
  require('amis-formula');
20
20
  require('lodash/isPlainObject');
21
21
  require('./memoryParse.js');
22
+ var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
22
23
  var isPureVariable = require('./isPureVariable.js');
23
24
  require('@rc-component/mini-decimal');
24
- var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
25
25
  require('./filter.js');
26
26
 
27
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -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
 
@@ -8,6 +8,7 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var amisFormula = require('amis-formula');
11
+ var tokenize = require('./tokenize.js');
11
12
 
12
13
  var resolveVariableAndFilter = function (path, data, defaultFilter, fallbackValue) {
13
14
  if (data === void 0) { data = {}; }
@@ -17,7 +18,7 @@ var resolveVariableAndFilter = function (path, data, defaultFilter, fallbackValu
17
18
  return undefined;
18
19
  }
19
20
  try {
20
- var ast = amisFormula.parse(path, {
21
+ var ast = tokenize.memoParse(path, {
21
22
  evalMode: false,
22
23
  allowFilter: true
23
24
  });
@@ -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
 
@@ -324,7 +324,15 @@ function traverseStyle(style, path, result) {
324
324
  Object.keys(style).forEach(function (key) {
325
325
  if (key !== '$$id') {
326
326
  if (isObject__default["default"](style[key])) {
327
- var nowPath = path ? "".concat(path, " ").concat(key) : key;
327
+ var keys = key.split(',');
328
+ var nowPath = path
329
+ ? keys
330
+ .map(function (key) {
331
+ var paths = path.split(',');
332
+ return paths.map(function (path) { return "".concat(path, " ").concat(key); }).join(',');
333
+ })
334
+ .join(',')
335
+ : key;
328
336
  traverseStyle(style[key], nowPath, result);
329
337
  }
330
338
  else if (path === '') {
@@ -338,12 +346,9 @@ function traverseStyle(style, path, result) {
338
346
  }
339
347
  });
340
348
  }
341
- /**
342
- * 设置源码编辑自定义样式
343
- */
344
- function insertEditCustomStyle(params) {
349
+ function formatCustomStyle(params) {
345
350
  var _a, _b;
346
- var customStyle = params.customStyle, doc = params.doc, data = params.data, customStyleClassPrefix = params.customStyleClassPrefix;
351
+ var customStyle = params.customStyle; params.doc; var data = params.data, customStyleClassPrefix = params.customStyleClassPrefix;
347
352
  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 + '';
348
353
  var styles = {};
349
354
  traverseStyle(customStyle, '', styles);
@@ -361,33 +366,40 @@ function insertEditCustomStyle(params) {
361
366
  if (!isObject__default["default"](styles[key])) {
362
367
  content += "\n".concat(className_1, " {\n ").concat(key, ": ").concat(resolveVariableAndFilter.resolveVariableAndFilter(styles[key].replace(/['|"]/g, ''), data, '| raw') || styles[key], "\n}");
363
368
  }
364
- else if (key === 'root') {
365
- var res = map__default["default"](styles[key], function (value, key) {
366
- return "".concat(key, ": ").concat(resolveVariableAndFilter.resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
367
- });
368
- content += "\n".concat(className_1, " {\n ").concat(res.join('\n '), "\n}");
369
- }
370
- else if (/^root:/.test(key)) {
369
+ else if (key.startsWith('root')) {
371
370
  var res = map__default["default"](styles[key], function (value, key) {
372
371
  return "".concat(key, ": ").concat(resolveVariableAndFilter.resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
373
372
  });
374
- var nowKey = key.replace('root', '');
375
- content += "\n".concat(className_1).concat(nowKey, " {\n ").concat(res.join('\n '), "\n}");
373
+ content += "\n".concat(key.replace(/root/g, className_1), " {\n ").concat(res.join('\n '), "\n}");
376
374
  }
377
375
  else {
378
376
  var res = map__default["default"](styles[key], function (value, key) {
379
377
  return "".concat(key, ": ").concat(resolveVariableAndFilter.resolveVariableAndFilter(value.replace(/['|"]/g, ''), data, '| raw') || value, ";");
380
378
  });
381
- content += "\n".concat(className_1, " ").concat(key, " {\n ").concat(res.join('\n '), "\n}");
379
+ var keys = key.split(',');
380
+ content += "\n".concat(keys.map(function (key) { return "".concat(className_1, " ").concat(key); }), " {\n ").concat(res.join('\n '), "\n}");
382
381
  }
383
382
  });
384
383
  }
384
+ return {
385
+ content: content,
386
+ index: index,
387
+ id: id
388
+ };
389
+ }
390
+ /**
391
+ * 设置源码编辑自定义样式
392
+ */
393
+ function insertEditCustomStyle(params) {
394
+ var doc = params.doc;
395
+ var _a = formatCustomStyle(params), content = _a.content, index = _a.index, id = _a.id;
385
396
  insertStyle({
386
397
  style: content,
387
398
  classId: 'wrapperCustomStyle-' + (id || helper.uuid()) + index,
388
399
  doc: doc,
389
400
  id: id.replace(/(-.*)/, '')
390
401
  });
402
+ return content;
391
403
  }
392
404
  /**
393
405
  * 移除自定义样式
@@ -445,6 +457,7 @@ function setThemeClassName(params) {
445
457
 
446
458
  exports.addStyle = addStyle;
447
459
  exports.findOrCreateStyle = findOrCreateStyle;
460
+ exports.formatCustomStyle = formatCustomStyle;
448
461
  exports.formatInputThemeCss = formatInputThemeCss;
449
462
  exports.formatStyle = formatStyle;
450
463
  exports.getValueByPath = getValueByPath;
@@ -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,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
 
@@ -7,13 +7,13 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- require('tslib');
10
+ var tslib = require('tslib');
11
11
  require('amis-formula');
12
12
  require('moment');
13
13
  require('lodash/isPlainObject');
14
14
  require('./memoryParse.js');
15
- require('@rc-component/mini-decimal');
16
15
  var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
16
+ require('@rc-component/mini-decimal');
17
17
  require('./filter.js');
18
18
  var mapValues = require('lodash/mapValues');
19
19
  var camelCase = require('lodash/camelCase');
@@ -78,5 +78,47 @@ function buildStyle(style, data) {
78
78
  }
79
79
  return styleVar;
80
80
  }
81
+ /**
82
+ * 将 style 转换为对象
83
+ * @param style
84
+ * @returns
85
+ */
86
+ function normalizeStyle(style) {
87
+ if (!style) {
88
+ return {};
89
+ }
90
+ else if (typeof style === 'string') {
91
+ return style.split(';').reduce(function (acc, item) {
92
+ var _a = tslib.__read(item.split(':').map(function (item) { return item.trim(); }), 2), key = _a[0], value = _a[1];
93
+ if (key && value) {
94
+ acc[camelCase__default["default"](key)] = value;
95
+ }
96
+ return acc;
97
+ }, {});
98
+ }
99
+ else {
100
+ return style;
101
+ }
102
+ }
103
+ /**
104
+ * 合并 style
105
+ * @param to
106
+ * @param from
107
+ * @returns
108
+ */
109
+ function mergeStyle(to, from) {
110
+ if (!to && !from) {
111
+ return {};
112
+ }
113
+ if (!to) {
114
+ return from;
115
+ }
116
+ if (!from) {
117
+ return to;
118
+ }
119
+ return Object.assign({}, normalizeStyle(to), normalizeStyle(from));
120
+ }
81
121
 
82
122
  exports.buildStyle = buildStyle;
123
+ exports.mergeStyle = mergeStyle;
124
+ exports.normalizeStyle = 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
 
@@ -12,8 +12,9 @@ var amisFormula = require('amis-formula');
12
12
  require('moment');
13
13
  require('lodash/isPlainObject');
14
14
  require('./memoryParse.js');
15
- var tokenize = require('./tokenize.js');
15
+ var resolveVariableAndFilter = require('./resolveVariableAndFilter.js');
16
16
  require('@rc-component/mini-decimal');
17
+ var tokenize = require('./tokenize.js');
17
18
  var resolveVariableAndFilterForAsync = require('./resolveVariableAndFilterForAsync.js');
18
19
  require('./filter.js');
19
20
 
@@ -76,6 +77,8 @@ function register() {
76
77
  }
77
78
  };
78
79
  }
80
+ // 避免 resolveVariableAndFilter 被摇了
81
+ var testResolveVariableAndFilter = resolveVariableAndFilter.resolveVariableAndFilter;
79
82
 
80
83
  Object.defineProperty(exports, 'getFilters', {
81
84
  enumerable: true,
@@ -89,6 +92,8 @@ Object.defineProperty(exports, 'registerFunction', {
89
92
  enumerable: true,
90
93
  get: function () { return amisFormula.registerFunction; }
91
94
  });
95
+ exports.resolveVariableAndFilter = resolveVariableAndFilter.resolveVariableAndFilter;
92
96
  exports.tokenize = tokenize.tokenize;
93
97
  exports.resolveVariableAndFilterForAsync = resolveVariableAndFilterForAsync.resolveVariableAndFilterForAsync;
94
98
  exports.register = register;
99
+ exports.testResolveVariableAndFilter = 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