amis-core 3.5.2 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +2 -2
  4. package/esm/SchemaRenderer.js +1 -1
  5. package/esm/Scoped.d.ts +2 -0
  6. package/esm/Scoped.js +49 -7
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.js +1 -1
  9. package/esm/WithStore.js +27 -12
  10. package/esm/actions/Action.js +30 -22
  11. package/esm/actions/AjaxAction.js +2 -2
  12. package/esm/actions/BreakAction.js +1 -1
  13. package/esm/actions/BroadcastAction.js +1 -1
  14. package/esm/actions/CmptAction.js +31 -32
  15. package/esm/actions/ContinueAction.js +1 -1
  16. package/esm/actions/CopyAction.js +3 -3
  17. package/esm/actions/CustomAction.js +1 -1
  18. package/esm/actions/DialogAction.js +1 -1
  19. package/esm/actions/DrawerAction.js +1 -1
  20. package/esm/actions/EmailAction.js +1 -1
  21. package/esm/actions/LinkAction.js +5 -5
  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/StatusAction.js +1 -1
  26. package/esm/actions/SwitchAction.js +1 -1
  27. package/esm/actions/ToastAction.js +3 -3
  28. package/esm/components/CustomStyle.js +1 -1
  29. package/esm/components/ErrorBoundary.d.ts +20 -0
  30. package/esm/components/ErrorBoundary.js +41 -0
  31. package/esm/components/LazyComponent.js +1 -1
  32. package/esm/components/Overlay.js +1 -1
  33. package/esm/components/PopOver.d.ts +4 -0
  34. package/esm/components/PopOver.js +66 -3
  35. package/esm/env.d.ts +9 -0
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.d.ts +1 -1
  38. package/esm/envOverwrite.js +15 -35
  39. package/esm/factory.js +1 -1
  40. package/esm/index.d.ts +2 -1
  41. package/esm/index.js +5 -4
  42. package/esm/locale.js +1 -1
  43. package/esm/polyfills.js +1 -1
  44. package/esm/renderers/Form.d.ts +10 -4
  45. package/esm/renderers/Form.js +64 -32
  46. package/esm/renderers/Item.d.ts +54 -0
  47. package/esm/renderers/Item.js +1 -1
  48. package/esm/renderers/Options.d.ts +5 -1
  49. package/esm/renderers/Options.js +11 -9
  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.js +10 -17
  54. package/esm/store/app.js +1 -1
  55. package/esm/store/combo.d.ts +1154 -48
  56. package/esm/store/combo.js +10 -3
  57. package/esm/store/crud.d.ts +9 -1
  58. package/esm/store/crud.js +50 -15
  59. package/esm/store/form.d.ts +480 -20
  60. package/esm/store/form.js +1 -1
  61. package/esm/store/formItem.d.ts +23 -1
  62. package/esm/store/formItem.js +103 -15
  63. package/esm/store/iRenderer.js +1 -1
  64. package/esm/store/index.js +1 -1
  65. package/esm/store/list.js +1 -1
  66. package/esm/store/manager.js +1 -1
  67. package/esm/store/modal.js +1 -1
  68. package/esm/store/node.js +1 -1
  69. package/esm/store/pagination.js +1 -1
  70. package/esm/store/root.js +1 -1
  71. package/esm/store/service.js +1 -1
  72. package/esm/store/status.js +1 -1
  73. package/esm/store/table.d.ts +1078 -42
  74. package/esm/store/table.js +64 -6
  75. package/esm/store/table2.js +1 -4
  76. package/esm/theme.js +1 -1
  77. package/esm/types.d.ts +8 -2
  78. package/esm/utils/Animation.js +1 -1
  79. package/esm/utils/ColorScale.js +1 -1
  80. package/esm/utils/DataSchema.js +1 -1
  81. package/esm/utils/DataScope.js +1 -1
  82. package/esm/utils/RootClose.js +1 -1
  83. package/esm/utils/SimpleMap.js +1 -1
  84. package/esm/utils/api.js +1 -1
  85. package/esm/utils/arraySlice.js +1 -1
  86. package/esm/utils/attachmentAdpator.js +3 -1
  87. package/esm/utils/autobind.js +1 -1
  88. package/esm/utils/columnsSplit.js +1 -1
  89. package/esm/utils/dataMapping.js +1 -1
  90. package/esm/utils/date.js +1 -1
  91. package/esm/utils/debug.js +1 -1
  92. package/esm/utils/decodeEntity.js +1 -1
  93. package/esm/utils/dom.js +1 -1
  94. package/esm/utils/errors.js +1 -1
  95. package/esm/utils/escapeHtml.js +1 -1
  96. package/esm/utils/filter-schema.d.ts +2 -1
  97. package/esm/utils/filter-schema.js +14 -5
  98. package/esm/utils/filter.js +1 -1
  99. package/esm/utils/formatDuration.js +1 -1
  100. package/esm/utils/formula.js +1 -1
  101. package/esm/utils/getVariable.js +1 -1
  102. package/esm/utils/grammar.js +1 -1
  103. package/esm/utils/handleAction.js +1 -1
  104. package/esm/utils/helper.d.ts +2 -2
  105. package/esm/utils/helper.js +37 -29
  106. package/esm/utils/highlight.js +1 -1
  107. package/esm/utils/icon.js +1 -1
  108. package/esm/utils/image.js +1 -1
  109. package/esm/utils/isPureVariable.js +1 -1
  110. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  111. package/esm/utils/keyToPath.js +1 -1
  112. package/esm/utils/makeSorter.js +1 -1
  113. package/esm/utils/math.js +8 -5
  114. package/esm/utils/memoryParse.js +1 -1
  115. package/esm/utils/normalizeLink.js +1 -1
  116. package/esm/utils/normalizeOptions.js +1 -1
  117. package/esm/utils/object.js +15 -1
  118. package/esm/utils/offset.js +1 -1
  119. package/esm/utils/offsetParent.js +1 -1
  120. package/esm/utils/optionValueCompare.js +1 -1
  121. package/esm/utils/position.js +1 -1
  122. package/esm/utils/prettyBytes.js +1 -1
  123. package/esm/utils/renderer-event.d.ts +7 -0
  124. package/esm/utils/renderer-event.js +30 -18
  125. package/esm/utils/replaceText.js +1 -1
  126. package/esm/utils/resize-sensor.js +1 -1
  127. package/esm/utils/resolveCondition.js +1 -1
  128. package/esm/utils/resolveVariable.js +1 -1
  129. package/esm/utils/resolveVariableAndFilter.js +1 -1
  130. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  131. package/esm/utils/scrollPosition.js +1 -1
  132. package/esm/utils/string2regExp.js +1 -1
  133. package/esm/utils/stripNumber.js +1 -1
  134. package/esm/utils/style-helper.js +12 -15
  135. package/esm/utils/style.js +3 -2
  136. package/esm/utils/toNumber.js +1 -1
  137. package/esm/utils/tokenize.js +1 -1
  138. package/esm/utils/tpl-builtin.js +1 -1
  139. package/esm/utils/tpl-lodash.js +1 -1
  140. package/esm/utils/tpl.js +1 -1
  141. package/esm/utils/uncontrollable.js +1 -1
  142. package/esm/utils/validations.js +1 -1
  143. package/lib/Root.js +1 -1
  144. package/lib/RootRenderer.d.ts +1 -1
  145. package/lib/RootRenderer.js +2 -2
  146. package/lib/SchemaRenderer.js +1 -1
  147. package/lib/Scoped.d.ts +2 -0
  148. package/lib/Scoped.js +48 -6
  149. package/lib/StatusScoped.js +1 -1
  150. package/lib/WithRootStore.js +1 -1
  151. package/lib/WithStore.js +26 -11
  152. package/lib/actions/Action.js +29 -21
  153. package/lib/actions/AjaxAction.js +2 -2
  154. package/lib/actions/BreakAction.js +1 -1
  155. package/lib/actions/BroadcastAction.js +1 -1
  156. package/lib/actions/CmptAction.js +31 -32
  157. package/lib/actions/ContinueAction.js +1 -1
  158. package/lib/actions/CopyAction.js +3 -3
  159. package/lib/actions/CustomAction.js +1 -1
  160. package/lib/actions/DialogAction.js +1 -1
  161. package/lib/actions/DrawerAction.js +1 -1
  162. package/lib/actions/EmailAction.js +1 -1
  163. package/lib/actions/LinkAction.js +5 -5
  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/StatusAction.js +1 -1
  168. package/lib/actions/SwitchAction.js +1 -1
  169. package/lib/actions/ToastAction.js +3 -3
  170. package/lib/components/CustomStyle.js +1 -1
  171. package/lib/components/ErrorBoundary.d.ts +20 -0
  172. package/lib/components/ErrorBoundary.js +52 -0
  173. package/lib/components/LazyComponent.js +1 -1
  174. package/lib/components/Overlay.js +1 -1
  175. package/lib/components/PopOver.d.ts +4 -0
  176. package/lib/components/PopOver.js +64 -1
  177. package/lib/env.d.ts +9 -0
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.d.ts +1 -1
  180. package/lib/envOverwrite.js +18 -34
  181. package/lib/factory.js +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.js +6 -3
  184. package/lib/locale.js +1 -1
  185. package/lib/polyfills.js +1 -1
  186. package/lib/renderers/Form.d.ts +10 -4
  187. package/lib/renderers/Form.js +64 -32
  188. package/lib/renderers/Item.d.ts +54 -0
  189. package/lib/renderers/Item.js +1 -1
  190. package/lib/renderers/Options.d.ts +5 -1
  191. package/lib/renderers/Options.js +11 -9
  192. package/lib/renderers/Placeholder.js +1 -1
  193. package/lib/renderers/builtin.js +1 -1
  194. package/lib/renderers/register.js +1 -1
  195. package/lib/renderers/wrapControl.js +10 -17
  196. package/lib/store/app.js +1 -1
  197. package/lib/store/combo.d.ts +1154 -49
  198. package/lib/store/combo.js +10 -3
  199. package/lib/store/crud.d.ts +9 -1
  200. package/lib/store/crud.js +50 -15
  201. package/lib/store/form.d.ts +480 -21
  202. package/lib/store/form.js +1 -1
  203. package/lib/store/formItem.d.ts +23 -1
  204. package/lib/store/formItem.js +104 -15
  205. package/lib/store/iRenderer.js +1 -1
  206. package/lib/store/index.js +1 -1
  207. package/lib/store/list.js +1 -1
  208. package/lib/store/manager.js +1 -1
  209. package/lib/store/modal.js +1 -1
  210. package/lib/store/node.js +1 -1
  211. package/lib/store/pagination.js +1 -1
  212. package/lib/store/root.js +1 -1
  213. package/lib/store/service.js +1 -1
  214. package/lib/store/status.js +1 -1
  215. package/lib/store/table.d.ts +1078 -43
  216. package/lib/store/table.js +63 -5
  217. package/lib/store/table2.js +1 -4
  218. package/lib/theme.js +1 -1
  219. package/lib/types.d.ts +8 -2
  220. package/lib/utils/Animation.js +1 -1
  221. package/lib/utils/ColorScale.js +1 -1
  222. package/lib/utils/DataSchema.js +1 -1
  223. package/lib/utils/DataScope.js +1 -1
  224. package/lib/utils/RootClose.js +1 -1
  225. package/lib/utils/SimpleMap.js +1 -1
  226. package/lib/utils/api.js +1 -1
  227. package/lib/utils/arraySlice.js +1 -1
  228. package/lib/utils/attachmentAdpator.js +3 -1
  229. package/lib/utils/autobind.js +1 -1
  230. package/lib/utils/columnsSplit.js +1 -1
  231. package/lib/utils/dataMapping.js +1 -1
  232. package/lib/utils/date.js +1 -1
  233. package/lib/utils/debug.js +1 -1
  234. package/lib/utils/decodeEntity.js +1 -1
  235. package/lib/utils/dom.js +1 -1
  236. package/lib/utils/errors.js +1 -1
  237. package/lib/utils/escapeHtml.js +1 -1
  238. package/lib/utils/filter-schema.d.ts +2 -1
  239. package/lib/utils/filter-schema.js +14 -4
  240. package/lib/utils/filter.js +1 -1
  241. package/lib/utils/formatDuration.js +1 -1
  242. package/lib/utils/formula.js +1 -1
  243. package/lib/utils/getVariable.js +1 -1
  244. package/lib/utils/grammar.js +1 -1
  245. package/lib/utils/handleAction.js +1 -1
  246. package/lib/utils/helper.d.ts +2 -2
  247. package/lib/utils/helper.js +36 -28
  248. package/lib/utils/highlight.js +1 -1
  249. package/lib/utils/icon.js +1 -1
  250. package/lib/utils/image.js +1 -1
  251. package/lib/utils/isPureVariable.js +1 -1
  252. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  253. package/lib/utils/keyToPath.js +1 -1
  254. package/lib/utils/makeSorter.js +1 -1
  255. package/lib/utils/math.js +8 -5
  256. package/lib/utils/memoryParse.js +1 -1
  257. package/lib/utils/normalizeLink.js +1 -1
  258. package/lib/utils/normalizeOptions.js +1 -1
  259. package/lib/utils/object.js +15 -1
  260. package/lib/utils/offset.js +1 -1
  261. package/lib/utils/offsetParent.js +1 -1
  262. package/lib/utils/optionValueCompare.js +1 -1
  263. package/lib/utils/position.js +1 -1
  264. package/lib/utils/prettyBytes.js +1 -1
  265. package/lib/utils/renderer-event.d.ts +7 -0
  266. package/lib/utils/renderer-event.js +30 -18
  267. package/lib/utils/replaceText.js +1 -1
  268. package/lib/utils/resize-sensor.js +1 -1
  269. package/lib/utils/resolveCondition.js +1 -1
  270. package/lib/utils/resolveVariable.js +1 -1
  271. package/lib/utils/resolveVariableAndFilter.js +1 -1
  272. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  273. package/lib/utils/scrollPosition.js +1 -1
  274. package/lib/utils/string2regExp.js +1 -1
  275. package/lib/utils/stripNumber.js +1 -1
  276. package/lib/utils/style-helper.js +12 -15
  277. package/lib/utils/style.js +3 -2
  278. package/lib/utils/toNumber.js +1 -1
  279. package/lib/utils/tokenize.js +1 -1
  280. package/lib/utils/tpl-builtin.js +1 -1
  281. package/lib/utils/tpl-lodash.js +1 -1
  282. package/lib/utils/tpl.js +1 -1
  283. package/lib/utils/uncontrollable.js +1 -1
  284. package/lib/utils/validations.js +1 -1
  285. package/package.json +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/utils/math.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -39,14 +39,17 @@ function safeSub(arg1, arg2) {
39
39
  return (arg1 * maxDigits - arg2 * maxDigits) / maxDigits;
40
40
  }
41
41
  function numberFormatter(num, precision) {
42
- if (precision === void 0) { precision = 0; }
42
+ var _a;
43
43
  var ZERO = 0;
44
44
  var number = +num;
45
+ var finalP = typeof precision === 'number'
46
+ ? precision
47
+ : ((_a = number.toString().split('.')[1]) === null || _a === void 0 ? void 0 : _a.length) || 0;
45
48
  if (typeof number === 'number' && !isNaN(number)) {
46
- var regexp = precision ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(\d{3})+$)/g;
47
- return number.toFixed(precision).replace(regexp, '$1,');
49
+ var regexp = finalP ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(\d{3})+$)/g;
50
+ return number.toFixed(finalP).replace(regexp, '$1,');
48
51
  }
49
- return ZERO.toFixed(precision);
52
+ return ZERO.toFixed(finalP);
50
53
  }
51
54
  /**
52
55
  * 判断一个数字是否为整数,且在给定范围内
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -100,7 +100,9 @@ function setVariable(data, key, value, convertKeyToPath) {
100
100
  }
101
101
  var parts = convertKeyToPath !== false ? keyToPath(key) : [key];
102
102
  var last = parts.pop();
103
+ var stack = [];
103
104
  while (parts.length) {
105
+ var host = data;
104
106
  var key_1 = parts.shift();
105
107
  if (isPlainObject(data[key_1])) {
106
108
  data = data[key_1] = __assign({}, data[key_1]);
@@ -116,9 +118,21 @@ function setVariable(data, key, value, convertKeyToPath) {
116
118
  data = data[key_1];
117
119
  }
118
120
  else {
121
+ // 如果是数字,那么就是数组
122
+ if (/^\d+$/.test(key_1) && stack.length) {
123
+ var prev = stack[stack.length - 1];
124
+ if (!Array.isArray(prev.host[prev.key]) &&
125
+ !Object.keys(prev.host[prev.key]).length) {
126
+ host = data = prev.host[prev.key] = [];
127
+ }
128
+ }
119
129
  data[key_1] = {};
120
130
  data = data[key_1];
121
131
  }
132
+ stack.push({
133
+ host: host,
134
+ key: key_1
135
+ });
122
136
  }
123
137
  data[last] = value;
124
138
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -8,9 +8,14 @@ export interface debounceConfig {
8
8
  leading?: boolean;
9
9
  trailing?: boolean;
10
10
  }
11
+ export interface trackConfig {
12
+ id: string;
13
+ name: string;
14
+ }
11
15
  export interface EventListeners {
12
16
  [propName: string]: {
13
17
  debounce?: debounceConfig;
18
+ track?: trackConfig;
14
19
  weight?: number;
15
20
  actions: ListenerAction[];
16
21
  };
@@ -21,6 +26,7 @@ export interface OnEventProps {
21
26
  weight?: number;
22
27
  actions: ListenerAction[];
23
28
  debounce?: debounceConfig;
29
+ track?: trackConfig;
24
30
  };
25
31
  };
26
32
  }
@@ -29,6 +35,7 @@ export interface RendererEventListener {
29
35
  type: string;
30
36
  weight: number;
31
37
  debounce: debounceConfig | null;
38
+ track: trackConfig | null;
32
39
  actions: ListenerAction[];
33
40
  executing?: boolean;
34
41
  debounceInstance?: any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -57,6 +57,7 @@ var bindEvent = function (renderer) {
57
57
  renderer: renderer,
58
58
  type: key,
59
59
  debounce: listener.debounce || null,
60
+ track: listeners[key].track || null,
60
61
  weight: listener.weight || 0,
61
62
  actions: listener.actions
62
63
  });
@@ -66,6 +67,7 @@ var bindEvent = function (renderer) {
66
67
  renderer: renderer,
67
68
  type: key,
68
69
  debounce: listeners[key].debounce || null,
70
+ track: listeners[key].track || null,
69
71
  weight: listeners[key].weight || 0,
70
72
  actions: listeners[key].actions
71
73
  });
@@ -98,13 +100,13 @@ var bindEvent = function (renderer) {
98
100
  };
99
101
  // 触发事件
100
102
  function dispatchEvent(e, renderer, scoped, data, broadcast) {
101
- var _a, _b, _c, _d, _e, _f, _g, _h;
103
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
102
104
  return __awaiter(this, void 0, void 0, function () {
103
105
  var unbindEvent, eventName, eventConfig, rendererEvent, listeners, executedCount, checkExecuted, _loop_2, listeners_1, listeners_1_1, listener, state_1, e_2_1;
104
- var e_2, _j;
106
+ var e_2, _l;
105
107
  var _this = this;
106
- return __generator(this, function (_k) {
107
- switch (_k.label) {
108
+ return __generator(this, function (_m) {
109
+ switch (_m.label) {
108
110
  case 0:
109
111
  unbindEvent = null;
110
112
  eventName = typeof e === 'string' ? e : e.type;
@@ -145,11 +147,11 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
145
147
  }
146
148
  };
147
149
  _loop_2 = function (listener) {
148
- var _l, _m, wait, _o, trailing, _p, leading, _q, maxWait, debounced_1;
149
- return __generator(this, function (_r) {
150
- switch (_r.label) {
150
+ var _o, _p, wait, _q, trailing, _r, leading, _s, maxWait, debounced_1, _t, trackId, trackName;
151
+ return __generator(this, function (_u) {
152
+ switch (_u.label) {
151
153
  case 0:
152
- _l = (listener === null || listener === void 0 ? void 0 : listener.debounce) || {}, _m = _l.wait, wait = _m === void 0 ? 100 : _m, _o = _l.trailing, trailing = _o === void 0 ? true : _o, _p = _l.leading, leading = _p === void 0 ? false : _p, _q = _l.maxWait, maxWait = _q === void 0 ? 10000 : _q;
154
+ _o = (listener === null || listener === void 0 ? void 0 : listener.debounce) || {}, _p = _o.wait, wait = _p === void 0 ? 100 : _p, _q = _o.trailing, trailing = _q === void 0 ? true : _q, _r = _o.leading, leading = _r === void 0 ? false : _r, _s = _o.maxWait, maxWait = _s === void 0 ? 10000 : _s;
153
155
  if (!(listener === null || listener === void 0 ? void 0 : listener.debounce)) return [3 /*break*/, 1];
154
156
  debounced_1 = debounce(function () { return __awaiter(_this, void 0, void 0, function () {
155
157
  return __generator(this, function (_a) {
@@ -178,10 +180,20 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
178
180
  return [3 /*break*/, 3];
179
181
  case 1: return [4 /*yield*/, runActions(listener.actions, listener.renderer, rendererEvent)];
180
182
  case 2:
181
- _r.sent();
183
+ _u.sent();
182
184
  checkExecuted();
183
- _r.label = 3;
185
+ _u.label = 3;
184
186
  case 3:
187
+ if (listener === null || listener === void 0 ? void 0 : listener.track) {
188
+ _t = listener.track, trackId = _t.id, trackName = _t.name;
189
+ (_k = (_j = renderer === null || renderer === void 0 ? void 0 : renderer.props) === null || _j === void 0 ? void 0 : _j.env) === null || _k === void 0 ? void 0 : _k.tracker({
190
+ eventType: listener.type,
191
+ eventData: {
192
+ trackId: trackId,
193
+ trackName: trackName
194
+ }
195
+ });
196
+ }
185
197
  // 停止后续监听器执行
186
198
  if (rendererEvent.stoped) {
187
199
  return [2 /*return*/, "break"];
@@ -190,31 +202,31 @@ function dispatchEvent(e, renderer, scoped, data, broadcast) {
190
202
  }
191
203
  });
192
204
  };
193
- _k.label = 1;
205
+ _m.label = 1;
194
206
  case 1:
195
- _k.trys.push([1, 6, 7, 8]);
207
+ _m.trys.push([1, 6, 7, 8]);
196
208
  listeners_1 = __values(listeners), listeners_1_1 = listeners_1.next();
197
- _k.label = 2;
209
+ _m.label = 2;
198
210
  case 2:
199
211
  if (!!listeners_1_1.done) return [3 /*break*/, 5];
200
212
  listener = listeners_1_1.value;
201
213
  return [5 /*yield**/, _loop_2(listener)];
202
214
  case 3:
203
- state_1 = _k.sent();
215
+ state_1 = _m.sent();
204
216
  if (state_1 === "break")
205
217
  return [3 /*break*/, 5];
206
- _k.label = 4;
218
+ _m.label = 4;
207
219
  case 4:
208
220
  listeners_1_1 = listeners_1.next();
209
221
  return [3 /*break*/, 2];
210
222
  case 5: return [3 /*break*/, 8];
211
223
  case 6:
212
- e_2_1 = _k.sent();
224
+ e_2_1 = _m.sent();
213
225
  e_2 = { error: e_2_1 };
214
226
  return [3 /*break*/, 8];
215
227
  case 7:
216
228
  try {
217
- if (listeners_1_1 && !listeners_1_1.done && (_j = listeners_1.return)) _j.call(listeners_1);
229
+ if (listeners_1_1 && !listeners_1_1.done && (_l = listeners_1.return)) _l.call(listeners_1);
218
230
  }
219
231
  finally { if (e_2) throw e_2.error; }
220
232
  return [7 /*endfinally*/];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -151,7 +151,7 @@ function formatStyle(themeCss, classNames, id, defaultData) {
151
151
  var styles = [];
152
152
  var fn = function (key, value) {
153
153
  key = valueMap[key] || key;
154
- styles.push("".concat(kebabCase(key), ": ").concat(value, ";"));
154
+ styles.push("".concat(kebabCase(key), ": ").concat(value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''), ";"));
155
155
  };
156
156
  Object.keys(statusMap[status]).forEach(function (key) {
157
157
  if (key !== '$$id') {
@@ -163,14 +163,16 @@ function formatStyle(themeCss, classNames, id, defaultData) {
163
163
  style_1['top-left-border-radius'] || 0,
164
164
  style_1['top-right-border-radius'] || 0,
165
165
  style_1['bottom-right-border-radius'] || 0,
166
- style_1['bottom-left-border-radius'] || 0
166
+ style_1['bottom-left-border-radius'] || 0,
167
+ (weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''
167
168
  ].join(' '));
168
169
  }
169
170
  else {
170
171
  Object.keys(style_1).forEach(function (k) {
171
172
  if (k !== '$$id') {
172
173
  var value = style_1[k];
173
- value && fn(k, value);
174
+ value &&
175
+ fn(k, value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''));
174
176
  }
175
177
  });
176
178
  }
@@ -178,13 +180,12 @@ function formatStyle(themeCss, classNames, id, defaultData) {
178
180
  else {
179
181
  var value = style_1;
180
182
  if (key === 'iconSize') {
181
- fn('width', value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''));
182
- fn('height', value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''));
183
- fn('font-size', value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''));
183
+ fn('width', value);
184
+ fn('height', value);
185
+ fn('font-size', value);
184
186
  }
185
187
  else {
186
- value &&
187
- fn(key, value + ((weights === null || weights === void 0 ? void 0 : weights.important) ? ' !important' : ''));
188
+ value && fn(key, value);
188
189
  }
189
190
  }
190
191
  }
@@ -229,12 +230,8 @@ function insertCustomStyle(themeCss, classNames, id, defaultData, customStyleCla
229
230
  return;
230
231
  }
231
232
  var value = formatStyle(themeCss, classNames, id, defaultData).value;
232
- if (value) {
233
- value = customStyleClassPrefix
234
- ? "".concat(customStyleClassPrefix, " ").concat(value)
235
- : value;
236
- insertStyle(value, id.replace('u:', ''), doc);
237
- }
233
+ value = customStyleClassPrefix ? "".concat(customStyleClassPrefix, " ").concat(value) : value;
234
+ insertStyle(value, id.replace('u:', ''), doc);
238
235
  }
239
236
  /**
240
237
  * 根据路径获取默认值
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -50,7 +50,8 @@ function buildStyle(style, data) {
50
50
  styleVar.radius['bottom-left-border-radius'];
51
51
  delete styleVar['radius'];
52
52
  }
53
- if (key.indexOf('-') !== -1) {
53
+ // 将属性短横线命名转换为驼峰命名,如background-color => backgroundColor。但不处理css variable,如--colors-brand-5
54
+ if (key.indexOf('-') > 0) {
54
55
  styleVar[camelCase(valueMap[key] || key)] = styleVar[key];
55
56
  delete styleVar[key];
56
57
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/esm/utils/tpl.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/Root.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -30,5 +30,5 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
30
30
  renderError(): React.ReactNode;
31
31
  renderDialog(): React.ReactNode;
32
32
  renderDrawer(): React.ReactNode;
33
- render(): React.JSX.Element;
33
+ render(): string | number | boolean | Iterable<React.ReactNode> | React.JSX.Element | null | undefined;
34
34
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -332,7 +332,7 @@ var RootRenderer = /** @class */ (function (_super) {
332
332
  var _a = this.props, pathPrefix = _a.pathPrefix, schema = _a.schema, render = _a.render, rest = tslib.__rest(_a, ["pathPrefix", "schema", "render"]);
333
333
  var store = this.store;
334
334
  if (store.runtimeError) {
335
- this.renderRuntimeError();
335
+ return this.renderRuntimeError();
336
336
  }
337
337
  return (_J$X_(React__default["default"].Fragment, null,
338
338
  render(pathPrefix, schema, tslib.__assign(tslib.__assign({}, rest), { topStore: this.store, data: this.store.downStream, context: store.context, onAction: this.handleAction })),
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.5.2
2
+ * amis-core v3.6.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/Scoped.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  import React from 'react';
6
6
  import { RendererEnv, RendererProps } from './factory';
7
7
  import { RendererData, ActionObject } from './types';
8
+ import { ListenerAction } from './actions';
8
9
  /**
9
10
  * target 里面可能包含 ?xxx=xxx,这种情况下,需要把 ?xxx=xxx 保留下来,然后对前面的部分进行 filter
10
11
  * 因为后面会对 query 部分做不一样的处理。会保留原始的值。而不是会转成字符串。
@@ -36,6 +37,7 @@ export interface IScopedContext {
36
37
  close: (target: string) => void;
37
38
  closeById: (target: string) => void;
38
39
  getComponentsByRefPath: (session: string, path: string) => ScopedComponentType[];
40
+ doAction: (actions: ListenerAction | ListenerAction[], ctx: any) => void;
39
41
  }
40
42
  type AliasIScopedContext = IScopedContext;
41
43
  export declare const ScopedContext: React.Context<IScopedContext>;