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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.d.ts +13 -0
  4. package/esm/SchemaRenderer.js +76 -6
  5. package/esm/Scoped.d.ts +1 -1
  6. package/esm/Scoped.js +1 -1
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/StyleManager.d.ts +18 -0
  9. package/esm/StyleManager.js +55 -0
  10. package/esm/WithRootStore.js +1 -1
  11. package/esm/WithStore.js +1 -1
  12. package/esm/actions/Action.js +4 -1
  13. package/esm/actions/AjaxAction.js +1 -1
  14. package/esm/actions/BreakAction.js +1 -1
  15. package/esm/actions/BroadcastAction.js +1 -1
  16. package/esm/actions/CmptAction.js +57 -50
  17. package/esm/actions/ContinueAction.js +1 -1
  18. package/esm/actions/CopyAction.js +1 -1
  19. package/esm/actions/CustomAction.js +1 -1
  20. package/esm/actions/DialogAction.js +1 -1
  21. package/esm/actions/DrawerAction.js +1 -1
  22. package/esm/actions/EmailAction.js +1 -1
  23. package/esm/actions/EventAction.js +1 -1
  24. package/esm/actions/LinkAction.js +1 -1
  25. package/esm/actions/LoopAction.js +1 -1
  26. package/esm/actions/PageAction.js +1 -1
  27. package/esm/actions/ParallelAction.js +1 -1
  28. package/esm/actions/PrintAction.js +1 -1
  29. package/esm/actions/StatusAction.js +1 -1
  30. package/esm/actions/SwitchAction.js +1 -1
  31. package/esm/actions/ToastAction.js +3 -3
  32. package/esm/actions/WaitAction.js +1 -1
  33. package/esm/components/CustomStyle.js +1 -1
  34. package/esm/components/ErrorBoundary.js +1 -1
  35. package/esm/components/LazyComponent.js +1 -1
  36. package/esm/components/Overlay.js +1 -1
  37. package/esm/components/PopOver.js +1 -1
  38. package/esm/env.d.ts +0 -4
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.d.ts +7 -1
  42. package/esm/factory.js +51 -5
  43. package/esm/index.d.ts +6 -4
  44. package/esm/index.js +13 -6
  45. package/esm/locale.d.ts +1 -1
  46. package/esm/locale.js +13 -2
  47. package/esm/polyfills.js +1 -1
  48. package/esm/renderers/Form.d.ts +2 -2
  49. package/esm/renderers/Form.js +11 -6
  50. package/esm/renderers/Item.d.ts +2 -1
  51. package/esm/renderers/Item.js +9 -10
  52. package/esm/renderers/Options.d.ts +46 -1
  53. package/esm/renderers/Options.js +921 -914
  54. package/esm/renderers/Placeholder.js +1 -1
  55. package/esm/renderers/builtin.js +1 -1
  56. package/esm/renderers/register.js +1 -1
  57. package/esm/renderers/wrapControl.d.ts +2 -1
  58. package/esm/renderers/wrapControl.js +8 -7
  59. package/esm/store/app.js +1 -1
  60. package/esm/store/combo.d.ts +2 -0
  61. package/esm/store/combo.js +1 -1
  62. package/esm/store/crud.js +1 -1
  63. package/esm/store/form.d.ts +1 -0
  64. package/esm/store/form.js +5 -1
  65. package/esm/store/formItem.js +4 -4
  66. package/esm/store/iRenderer.js +1 -1
  67. package/esm/store/index.js +1 -1
  68. package/esm/store/list.js +1 -1
  69. package/esm/store/manager.js +1 -1
  70. package/esm/store/modal.js +1 -1
  71. package/esm/store/node.js +1 -1
  72. package/esm/store/pagination.js +1 -1
  73. package/esm/store/root.js +1 -1
  74. package/esm/store/service.js +1 -1
  75. package/esm/store/status.js +1 -1
  76. package/esm/store/table.d.ts +2 -0
  77. package/esm/store/table.js +1 -1
  78. package/esm/store/table2.js +1 -1
  79. package/esm/theme.d.ts +1 -1
  80. package/esm/theme.js +13 -2
  81. package/esm/types.d.ts +2 -0
  82. package/esm/utils/Animation.js +1 -1
  83. package/esm/utils/ColorScale.js +1 -1
  84. package/esm/utils/DataSchema.js +1 -1
  85. package/esm/utils/DataScope.js +1 -1
  86. package/esm/utils/RootClose.js +1 -1
  87. package/esm/utils/SimpleMap.js +1 -1
  88. package/esm/utils/animations.d.ts +19 -0
  89. package/esm/utils/animations.js +58 -0
  90. package/esm/utils/api.d.ts +2 -1
  91. package/esm/utils/api.js +11 -4
  92. package/esm/utils/arraySlice.js +1 -1
  93. package/esm/utils/attachmentAdpator.js +4 -1
  94. package/esm/utils/autobind.js +1 -1
  95. package/esm/utils/browser.js +1 -1
  96. package/esm/utils/columnsSplit.js +1 -1
  97. package/esm/utils/concatData.js +1 -1
  98. package/esm/utils/dataMapping.js +1 -1
  99. package/esm/utils/date.js +1 -1
  100. package/esm/utils/debug.d.ts +3 -3
  101. package/esm/utils/debug.js +104 -37
  102. package/esm/utils/decodeEntity.js +1 -1
  103. package/esm/utils/dom.js +1 -1
  104. package/esm/utils/errors.js +1 -1
  105. package/esm/utils/escapeHtml.js +1 -1
  106. package/esm/utils/filter-schema.js +1 -1
  107. package/esm/utils/filter.js +1 -1
  108. package/esm/utils/formatDuration.js +1 -1
  109. package/esm/utils/formula.js +1 -1
  110. package/esm/utils/getVariable.js +1 -1
  111. package/esm/utils/grammar.js +1 -1
  112. package/esm/utils/handleAction.js +1 -1
  113. package/esm/utils/helper.d.ts +1 -0
  114. package/esm/utils/helper.js +15 -2
  115. package/esm/utils/highlight.js +1 -1
  116. package/esm/utils/icon.js +1 -1
  117. package/esm/utils/image.js +1 -1
  118. package/esm/utils/index.d.ts +1 -0
  119. package/esm/utils/isPureVariable.js +1 -1
  120. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  121. package/esm/utils/keyToPath.js +1 -1
  122. package/esm/utils/labelToString.js +2 -2
  123. package/esm/utils/loopTooMuch.d.ts +1 -0
  124. package/esm/utils/loopTooMuch.js +27 -0
  125. package/esm/utils/makeSorter.js +1 -1
  126. package/esm/utils/math.js +1 -1
  127. package/esm/utils/memoryParse.js +1 -1
  128. package/esm/utils/normalizeLink.js +1 -1
  129. package/esm/utils/normalizeOptions.js +1 -1
  130. package/esm/utils/object.js +1 -1
  131. package/esm/utils/offset.js +1 -1
  132. package/esm/utils/offsetParent.js +1 -1
  133. package/esm/utils/optionValueCompare.js +1 -1
  134. package/esm/utils/position.js +11 -6
  135. package/esm/utils/prettyBytes.js +1 -1
  136. package/esm/utils/printElement.js +1 -1
  137. package/esm/utils/renderer-event.js +1 -1
  138. package/esm/utils/replaceText.js +1 -1
  139. package/esm/utils/resize-sensor.js +1 -1
  140. package/esm/utils/resolveCondition.js +1 -1
  141. package/esm/utils/resolveVariable.js +1 -1
  142. package/esm/utils/resolveVariableAndFilter.js +1 -1
  143. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  144. package/esm/utils/scrollPosition.js +1 -1
  145. package/esm/utils/string2regExp.js +1 -1
  146. package/esm/utils/stripNumber.js +1 -1
  147. package/esm/utils/style-helper.js +1 -1
  148. package/esm/utils/style.js +1 -1
  149. package/esm/utils/toNumber.js +1 -1
  150. package/esm/utils/tokenize.js +1 -1
  151. package/esm/utils/tpl-builtin.js +1 -1
  152. package/esm/utils/tpl-lodash.js +1 -1
  153. package/esm/utils/tpl.js +1 -1
  154. package/esm/utils/uncontrollable.js +1 -1
  155. package/esm/utils/validateId.js +1 -1
  156. package/esm/utils/validations.js +17 -12
  157. package/esm/utils/visitedCache.js +1 -1
  158. package/lib/Root.js +1 -1
  159. package/lib/RootRenderer.js +1 -1
  160. package/lib/SchemaRenderer.d.ts +13 -0
  161. package/lib/SchemaRenderer.js +75 -5
  162. package/lib/Scoped.d.ts +1 -1
  163. package/lib/Scoped.js +1 -1
  164. package/lib/StatusScoped.js +1 -1
  165. package/lib/StyleManager.d.ts +18 -0
  166. package/lib/StyleManager.js +63 -0
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +1 -1
  169. package/lib/actions/Action.js +4 -1
  170. package/lib/actions/AjaxAction.js +1 -1
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.js +56 -49
  174. package/lib/actions/ContinueAction.js +1 -1
  175. package/lib/actions/CopyAction.js +1 -1
  176. package/lib/actions/CustomAction.js +1 -1
  177. package/lib/actions/DialogAction.js +1 -1
  178. package/lib/actions/DrawerAction.js +1 -1
  179. package/lib/actions/EmailAction.js +1 -1
  180. package/lib/actions/EventAction.js +1 -1
  181. package/lib/actions/LinkAction.js +1 -1
  182. package/lib/actions/LoopAction.js +1 -1
  183. package/lib/actions/PageAction.js +1 -1
  184. package/lib/actions/ParallelAction.js +1 -1
  185. package/lib/actions/PrintAction.js +1 -1
  186. package/lib/actions/StatusAction.js +1 -1
  187. package/lib/actions/SwitchAction.js +1 -1
  188. package/lib/actions/ToastAction.js +2 -2
  189. package/lib/actions/WaitAction.js +1 -1
  190. package/lib/components/CustomStyle.js +1 -1
  191. package/lib/components/ErrorBoundary.js +1 -1
  192. package/lib/components/LazyComponent.js +1 -1
  193. package/lib/components/Overlay.js +1 -1
  194. package/lib/components/PopOver.js +1 -1
  195. package/lib/env.d.ts +0 -4
  196. package/lib/env.js +1 -1
  197. package/lib/envOverwrite.js +1 -1
  198. package/lib/factory.d.ts +7 -1
  199. package/lib/factory.js +52 -4
  200. package/lib/index.d.ts +6 -4
  201. package/lib/index.js +17 -2
  202. package/lib/locale.d.ts +1 -1
  203. package/lib/locale.js +13 -2
  204. package/lib/polyfills.js +1 -1
  205. package/lib/renderers/Form.d.ts +2 -2
  206. package/lib/renderers/Form.js +11 -6
  207. package/lib/renderers/Item.d.ts +2 -1
  208. package/lib/renderers/Item.js +8 -9
  209. package/lib/renderers/Options.d.ts +46 -1
  210. package/lib/renderers/Options.js +920 -912
  211. package/lib/renderers/Placeholder.js +1 -1
  212. package/lib/renderers/builtin.js +1 -1
  213. package/lib/renderers/register.js +1 -1
  214. package/lib/renderers/wrapControl.d.ts +2 -1
  215. package/lib/renderers/wrapControl.js +8 -7
  216. package/lib/store/app.js +1 -1
  217. package/lib/store/combo.d.ts +2 -1
  218. package/lib/store/combo.js +1 -1
  219. package/lib/store/crud.js +1 -1
  220. package/lib/store/form.d.ts +1 -1
  221. package/lib/store/form.js +5 -1
  222. package/lib/store/formItem.js +4 -4
  223. package/lib/store/iRenderer.js +1 -1
  224. package/lib/store/index.js +1 -1
  225. package/lib/store/list.js +1 -1
  226. package/lib/store/manager.js +1 -1
  227. package/lib/store/modal.js +1 -1
  228. package/lib/store/node.js +1 -1
  229. package/lib/store/pagination.js +1 -1
  230. package/lib/store/root.js +1 -1
  231. package/lib/store/service.js +1 -1
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +2 -1
  234. package/lib/store/table.js +1 -1
  235. package/lib/store/table2.js +1 -1
  236. package/lib/theme.d.ts +1 -1
  237. package/lib/theme.js +13 -2
  238. package/lib/types.d.ts +2 -0
  239. package/lib/utils/Animation.js +1 -1
  240. package/lib/utils/ColorScale.js +1 -1
  241. package/lib/utils/DataSchema.js +1 -1
  242. package/lib/utils/DataScope.js +1 -1
  243. package/lib/utils/RootClose.js +1 -1
  244. package/lib/utils/SimpleMap.js +1 -1
  245. package/lib/utils/animations.d.ts +19 -0
  246. package/lib/utils/animations.js +62 -0
  247. package/lib/utils/api.d.ts +2 -1
  248. package/lib/utils/api.js +10 -2
  249. package/lib/utils/arraySlice.js +1 -1
  250. package/lib/utils/attachmentAdpator.js +4 -1
  251. package/lib/utils/autobind.js +1 -1
  252. package/lib/utils/browser.js +1 -1
  253. package/lib/utils/columnsSplit.js +1 -1
  254. package/lib/utils/concatData.js +1 -1
  255. package/lib/utils/dataMapping.js +1 -1
  256. package/lib/utils/date.js +1 -1
  257. package/lib/utils/debug.d.ts +3 -3
  258. package/lib/utils/debug.js +103 -36
  259. package/lib/utils/decodeEntity.js +1 -1
  260. package/lib/utils/dom.js +1 -1
  261. package/lib/utils/errors.js +1 -1
  262. package/lib/utils/escapeHtml.js +1 -1
  263. package/lib/utils/filter-schema.js +1 -1
  264. package/lib/utils/filter.js +1 -1
  265. package/lib/utils/formatDuration.js +1 -1
  266. package/lib/utils/formula.js +1 -1
  267. package/lib/utils/getVariable.js +1 -1
  268. package/lib/utils/grammar.js +1 -1
  269. package/lib/utils/handleAction.js +1 -1
  270. package/lib/utils/helper.d.ts +1 -0
  271. package/lib/utils/helper.js +15 -1
  272. package/lib/utils/highlight.js +1 -1
  273. package/lib/utils/icon.js +1 -1
  274. package/lib/utils/image.js +1 -1
  275. package/lib/utils/index.d.ts +1 -0
  276. package/lib/utils/isPureVariable.js +1 -1
  277. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  278. package/lib/utils/keyToPath.js +1 -1
  279. package/lib/utils/labelToString.js +2 -2
  280. package/lib/utils/loopTooMuch.d.ts +1 -0
  281. package/lib/utils/loopTooMuch.js +31 -0
  282. package/lib/utils/makeSorter.js +1 -1
  283. package/lib/utils/math.js +1 -1
  284. package/lib/utils/memoryParse.js +1 -1
  285. package/lib/utils/normalizeLink.js +1 -1
  286. package/lib/utils/normalizeOptions.js +1 -1
  287. package/lib/utils/object.js +1 -1
  288. package/lib/utils/offset.js +1 -1
  289. package/lib/utils/offsetParent.js +1 -1
  290. package/lib/utils/optionValueCompare.js +1 -1
  291. package/lib/utils/position.js +11 -6
  292. package/lib/utils/prettyBytes.js +1 -1
  293. package/lib/utils/printElement.js +1 -1
  294. package/lib/utils/renderer-event.js +1 -1
  295. package/lib/utils/replaceText.js +1 -1
  296. package/lib/utils/resize-sensor.js +1 -1
  297. package/lib/utils/resolveCondition.js +1 -1
  298. package/lib/utils/resolveVariable.js +1 -1
  299. package/lib/utils/resolveVariableAndFilter.js +1 -1
  300. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  301. package/lib/utils/scrollPosition.js +1 -1
  302. package/lib/utils/string2regExp.js +1 -1
  303. package/lib/utils/stripNumber.js +1 -1
  304. package/lib/utils/style-helper.js +1 -1
  305. package/lib/utils/style.js +1 -1
  306. package/lib/utils/toNumber.js +1 -1
  307. package/lib/utils/tokenize.js +1 -1
  308. package/lib/utils/tpl-builtin.js +1 -1
  309. package/lib/utils/tpl-lodash.js +1 -1
  310. package/lib/utils/tpl.js +1 -1
  311. package/lib/utils/uncontrollable.js +1 -1
  312. package/lib/utils/validateId.js +1 -1
  313. package/lib/utils/validations.js +17 -12
  314. package/lib/utils/visitedCache.js +1 -1
  315. package/package.json +5 -4
@@ -16,18 +16,18 @@ export declare class DebugWrapper extends Component<DebugWrapperProps> {
16
16
  componentWillUnmount(): void;
17
17
  render(): React.ReactNode;
18
18
  }
19
- type Category = 'api' | 'event';
19
+ type Category = 'api' | 'event' | 'action' | 'debug' | 'error';
20
20
  /**
21
21
  * 一般调试日志
22
22
  * @param msg 简单消息
23
23
  * @param ext 扩展信息
24
24
  */
25
- export declare function debug(cat: Category, msg: string, ext?: object): void;
25
+ export declare function debug(cat: Category, msg: string, ext?: any): void;
26
26
  /**
27
27
  * 警告日志
28
28
  * @param msg 简单消息
29
29
  * @param ext 扩展信息
30
30
  */
31
- export declare function warning(cat: Category, msg: string, ext?: object): void;
31
+ export declare function warning(cat: Category, msg: string, ext?: any): void;
32
32
  export declare function traceProps(props: any, prevProps: any, componentName: string): void;
33
33
  export {};
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -7,10 +7,12 @@ import { __decorate, __metadata, __values, __read, __extends } from 'tslib';
7
7
  import React, { useRef, useState, useEffect, Component } from 'react';
8
8
  import cx from 'classnames';
9
9
  import { findDOMNode, render, unmountComponentAtNode } from 'react-dom';
10
- import { observable, autorun } from 'mobx';
10
+ import { observable, action, autorun } from 'mobx';
11
11
  import { observer } from 'mobx-react';
12
12
  import { importLazyComponent, uuidv4 } from './helper.js';
13
13
  import { position } from './position.js';
14
+ import { resolveVariableAndFilter } from './resolveVariableAndFilter.js';
15
+ import { callStrFunction } from './api.js';
14
16
 
15
17
  /**
16
18
  * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
@@ -66,6 +68,19 @@ var AMISDebugStore = /** @class */ (function () {
66
68
  */
67
69
  this.inspectMode = false;
68
70
  }
71
+ AMISDebugStore.prototype.open = function () {
72
+ this.isExpanded = true;
73
+ this.inspectMode = true;
74
+ };
75
+ AMISDebugStore.prototype.close = function () {
76
+ this.isExpanded = false;
77
+ this.activeId = '';
78
+ this.hoverId = '';
79
+ this.inspectMode = false;
80
+ };
81
+ AMISDebugStore.prototype.toggleInspectMode = function () {
82
+ this.inspectMode = !this.inspectMode;
83
+ };
69
84
  __decorate([
70
85
  observable,
71
86
  __metadata("design:type", String)
@@ -98,6 +113,24 @@ var AMISDebugStore = /** @class */ (function () {
98
113
  observable,
99
114
  __metadata("design:type", Number)
100
115
  ], AMISDebugStore.prototype, "ellipsisThreshold", void 0);
116
+ __decorate([
117
+ action.bound,
118
+ __metadata("design:type", Function),
119
+ __metadata("design:paramtypes", []),
120
+ __metadata("design:returntype", void 0)
121
+ ], AMISDebugStore.prototype, "open", null);
122
+ __decorate([
123
+ action.bound,
124
+ __metadata("design:type", Function),
125
+ __metadata("design:paramtypes", []),
126
+ __metadata("design:returntype", void 0)
127
+ ], AMISDebugStore.prototype, "close", null);
128
+ __decorate([
129
+ action.bound,
130
+ __metadata("design:type", Function),
131
+ __metadata("design:paramtypes", []),
132
+ __metadata("design:returntype", void 0)
133
+ ], AMISDebugStore.prototype, "toggleInspectMode", null);
101
134
  return AMISDebugStore;
102
135
  }());
103
136
  var store = new AMISDebugStore();
@@ -115,8 +148,10 @@ var LogView = observer(function (_a) {
115
148
  log.cat,
116
149
  "] ",
117
150
  log.msg),
118
- log.ext ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null, "Loading...") },
119
- React.createElement(JsonView, { name: null, theme: "monokai", src: JSON.parse(log.ext), collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : null));
151
+ (typeof log.ext === 'string' &&
152
+ (log.ext.startsWith('{') || log.ext.startsWith('['))) ||
153
+ typeof log.ext === 'object' ? (React.createElement(React.Suspense, { fallback: React.createElement("div", null, "Loading...") },
154
+ React.createElement(JsonView, { name: null, theme: "monokai", src: typeof log.ext === 'string' ? parseJson(log.ext) : log.ext, collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : (React.createElement("pre", { className: "AMISDebug-value" }, JSON.stringify(log.ext)))));
120
155
  })));
121
156
  });
122
157
  var AMISDebug = observer(function (_a) {
@@ -193,19 +228,35 @@ var AMISDebug = observer(function (_a) {
193
228
  }
194
229
  };
195
230
  }, [isResizing]);
231
+ var handleInputKeyUp = React.useCallback(function (e) {
232
+ var _a;
233
+ if (e.key === 'Enter') {
234
+ var input = e.target;
235
+ var expression = input.value;
236
+ input.value = '';
237
+ try {
238
+ var activeId_1 = store.activeId;
239
+ var ctx = ((_a = ComponentInfo[activeId_1]) === null || _a === void 0 ? void 0 : _a.component.props.data) || {};
240
+ var result = expression.startsWith('${')
241
+ ? resolveVariableAndFilter(expression, ctx, '| raw')
242
+ : callStrFunction(new Function('data', "with(data) {return ".concat(expression, ";}")), ['data'], ctx);
243
+ debug('debug', "evaluate expression `".concat(expression, "`"), result);
244
+ }
245
+ catch (e) {
246
+ debug('error', "evaluate expression `".concat(expression, "`"), "Error: ".concat(e.message));
247
+ }
248
+ finally {
249
+ store.tab = 'log';
250
+ }
251
+ }
252
+ }, []);
196
253
  return (React.createElement("div", { className: cx('AMISDebug', {
197
254
  'is-expanded': store.isExpanded,
198
255
  'is-left': store.position === 'left'
199
256
  }), ref: panelRef },
200
- React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: function () {
201
- store.isExpanded = true;
202
- } }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
257
+ React.createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: store.open }, store.isExpanded ? (React.createElement("i", { className: "fas fa-times" })) : (React.createElement("i", { className: "fas fa-bug" }))),
203
258
  React.createElement("div", { className: cx('AMISDebug-content') },
204
- React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick: function () {
205
- store.isExpanded = false;
206
- store.activeId = '';
207
- store.hoverId = '';
208
- } },
259
+ React.createElement("div", { className: "AMISDebug-close", title: "Close", onClick: store.close },
209
260
  React.createElement("i", { className: "fas fa-times" })),
210
261
  React.createElement("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
211
262
  setStartX(event.clientX);
@@ -229,18 +280,26 @@ var AMISDebug = observer(function (_a) {
229
280
  store.logs = [];
230
281
  } }, "Clear Log"),
231
282
  React.createElement(LogView, { store: store }))) : null,
232
- store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" }, activeId ? (React.createElement(React.Fragment, null,
233
- React.createElement("h3", null,
234
- "Component:",
235
- ' ',
236
- React.createElement("span", { className: "primary" }, activeComponentInspect.name)),
237
- stackDataView)) : ('Click component to display inspect'))) : null)));
283
+ store.tab === 'inspect' ? (React.createElement("div", { className: "AMISDebug-inspect" },
284
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024", className: "AMISDebug-inspectIcon ".concat(store.inspectMode ? 'is-active' : ''), onClick: store.toggleInspectMode },
285
+ React.createElement("path", { d: "M64 192L128 128h768l64 64v384H896v-384H128v512h320V768H128l-64-64v-512z m941.226667 621.226667L576 384v602.496l173.226667-173.226667h256zM640 832v-293.504l210.773333 210.773333h-128L640 832z" })),
286
+ store.inspectMode ? (React.createElement("span", null, "Select an element in the page to inspect it.")) : (React.createElement("span", null, "Click to inspect an element.")),
287
+ activeId ? (React.createElement(React.Fragment, null,
288
+ React.createElement("h3", null,
289
+ "Component:",
290
+ ' ',
291
+ React.createElement("span", { className: "primary" }, activeComponentInspect === null || activeComponentInspect === void 0 ? void 0 : activeComponentInspect.name)),
292
+ stackDataView)) : null)) : null,
293
+ activeId ? (React.createElement("div", { className: "AMISDebug-footer" },
294
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 1024 1024" },
295
+ React.createElement("path", { d: "M724.48 521.728c-1.8432 7.7824-5.7344 14.848-11.3664 20.48l-341.9136 342.016c-16.6912 16.6912-43.7248 16.6912-60.3136 0s-16.6912-43.7248 0-60.3136L622.6944 512 310.8864 200.0896c-16.6912-16.6912-16.6912-43.7248 0-60.3136 16.6912-16.6912 43.7248-16.6912 60.3136 0l341.9136 341.9136c10.8544 10.8544 14.6432 26.112 11.3664 40.0384z", fill: "currentColor" })),
296
+ React.createElement("input", { type: "text", placeholder: "", onKeyUp: handleInputKeyUp }))) : null)));
238
297
  });
239
298
  /**
240
299
  * 鼠标移动到某个组件的效果
241
300
  */
242
301
  function handleMouseMove(e) {
243
- if (!store.isExpanded) {
302
+ if (!store.inspectMode) {
244
303
  return;
245
304
  }
246
305
  var dom = e.target;
@@ -253,14 +312,16 @@ function handleMouseMove(e) {
253
312
  * 点选某个组件
254
313
  */
255
314
  function handleMouseclick(e) {
256
- if (!store.isExpanded) {
315
+ if (!store.inspectMode) {
257
316
  return;
258
317
  }
318
+ e.preventDefault();
259
319
  var dom = e.target;
260
320
  var target = dom.closest("[data-debug-id]");
261
321
  if (target && !target.closest('.AMISDebug')) {
262
322
  store.activeId = target.getAttribute('data-debug-id');
263
323
  store.tab = 'inspect';
324
+ store.inspectMode = false;
264
325
  }
265
326
  }
266
327
  // hover 及点击后的高亮
@@ -268,6 +329,7 @@ var amisHoverBox = document.createElement('div');
268
329
  amisHoverBox.className = 'AMISDebug-hoverBox';
269
330
  var amisActiveBox = document.createElement('div');
270
331
  amisActiveBox.className = 'AMISDebug-activeBox';
332
+ var timer = null;
271
333
  autorun(function () {
272
334
  var hoverId = store.hoverId;
273
335
  var hoverElement = document.querySelector("[data-debug-id=\"".concat(hoverId, "\"]"));
@@ -291,6 +353,11 @@ autorun(function () {
291
353
  amisActiveBox.style.left = "".concat(offset.left, "px");
292
354
  amisActiveBox.style.width = "".concat(offset.width, "px");
293
355
  amisActiveBox.style.height = "".concat(offset.height, "px");
356
+ amisActiveBox.classList.add('shake');
357
+ clearTimeout(timer);
358
+ timer = setTimeout(function () {
359
+ amisActiveBox.classList.remove('shake');
360
+ }, 500);
294
361
  }
295
362
  else {
296
363
  amisActiveBox.style.top = '-999999px';
@@ -324,7 +391,7 @@ function enableDebug() {
324
391
  document.body.appendChild(amisHoverBox);
325
392
  document.body.appendChild(amisActiveBox);
326
393
  document.addEventListener('mousemove', handleMouseMove);
327
- document.addEventListener('click', handleMouseclick);
394
+ document.addEventListener('click', handleMouseclick, true);
328
395
  }
329
396
  function disableDebug() {
330
397
  if (!isEnabled) {
@@ -368,12 +435,26 @@ var DebugWrapper = /** @class */ (function (_super) {
368
435
  };
369
436
  DebugWrapper.prototype.componentWillUnmount = function () {
370
437
  delete ComponentInfo[this.debugId];
438
+ if (this.debugId === store.activeId) {
439
+ store.activeId = '';
440
+ }
441
+ if (this.debugId === store.hoverId) {
442
+ store.hoverId = '';
443
+ }
371
444
  };
372
445
  DebugWrapper.prototype.render = function () {
373
446
  return this.props.children;
374
447
  };
375
448
  return DebugWrapper;
376
449
  }(Component));
450
+ function parseJson(str) {
451
+ try {
452
+ return JSON.parse(str);
453
+ }
454
+ catch (e) {
455
+ return e;
456
+ }
457
+ }
377
458
  /**
378
459
  * 一般调试日志
379
460
  * @param msg 简单消息
@@ -386,18 +467,11 @@ function debug(cat, msg, ext) {
386
467
  console.groupCollapsed('[amis debug]', msg);
387
468
  console.debug(ext);
388
469
  console.groupEnd();
389
- var extStr = '';
390
- try {
391
- extStr = JSON.stringify(ext);
392
- }
393
- catch (e) {
394
- console.error(e);
395
- }
396
470
  var log = {
397
471
  cat: cat,
398
472
  level: 'debug',
399
473
  msg: msg,
400
- ext: extStr
474
+ ext: ext
401
475
  };
402
476
  store.logs.push(log);
403
477
  }
@@ -410,18 +484,11 @@ function warning(cat, msg, ext) {
410
484
  if (!isEnabled) {
411
485
  return;
412
486
  }
413
- var extStr = '';
414
- try {
415
- extStr = JSON.stringify(ext);
416
- }
417
- catch (e) {
418
- console.error(e);
419
- }
420
487
  var log = {
421
488
  cat: cat,
422
489
  level: 'warn',
423
490
  msg: msg,
424
- ext: extStr
491
+ ext: ext
425
492
  };
426
493
  console.groupCollapsed('amis debug', msg);
427
494
  console.trace(log);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -400,3 +400,4 @@ export declare class TestIdBuilder {
400
400
  getTestIdValue(data?: object): string | undefined;
401
401
  }
402
402
  export declare function supportsMjs(): boolean;
403
+ export declare function formateId(id: string): string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1684,5 +1684,18 @@ function supportsMjs() {
1684
1684
  return false;
1685
1685
  }
1686
1686
  }
1687
+ function formateId(id) {
1688
+ // 将className非法字符替换为短横线
1689
+ id = id.replace(/[^a-zA-Z0-9-]/g, '-');
1690
+ // 将连续的-替换为单个-
1691
+ id = id.replace(/-{2,}/g, '-');
1692
+ // 去掉首尾的-
1693
+ id = id.replace(/^-|-$/g, '');
1694
+ // 首字母不能为数字
1695
+ if (/^\d/.test(id)) {
1696
+ id = 'amis-' + id;
1697
+ }
1698
+ return id;
1699
+ }
1687
1700
 
1688
- export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, supportsMjs, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1701
+ export { JSONTraverse, JSONValueMap, SkipOperation, TEST_ID_KEY, TestIdBuilder, ValidateError, __uri, anyChanged, autobind, buildTrackExpression, bulkBindFunctions, camel, chainEvents, chainFunctions, changedEffect, convertArrayValueToMoment, countTree, detectPropValueChanged, difference, differenceFromAll, eachTree, evalTrackExpression, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeAll, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, formateId, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, importLazyComponent, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, loadStyle, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, parsePrimitiveQueryString, parseQuery, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, replaceUrlParams, rmUndefined, someTree, sortArray, spliceTree, supportsMjs, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -28,6 +28,7 @@ export * from './isPureVariable';
28
28
  export * from './json-schema-2-amis-schema';
29
29
  export * from './keyToPath';
30
30
  export * from './labelToString';
31
+ export * from './loopTooMuch';
31
32
  export * from './makeSorter';
32
33
  export * from './normalizeLink';
33
34
  export * from './normalizeOptions';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -15,7 +15,7 @@ function labelToString(label) {
15
15
  else if (type === 'number') {
16
16
  return "".concat(label);
17
17
  }
18
- else if (label === 'boolean') {
18
+ else if (type === 'boolean') {
19
19
  return String(label);
20
20
  }
21
21
  if (isPlainObject(label)) {
@@ -0,0 +1 @@
1
+ export declare function loopTooMuch(key: string, maxSpeed?: number): boolean;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * amis-core v6.9.0-rc.11
3
+ * Copyright 2018-2024 fex
4
+ */
5
+
6
+ var loopCount = {};
7
+ var loopTimer = {};
8
+ var loopResult = {};
9
+ function loopTooMuch(key, maxSpeed) {
10
+ if (maxSpeed === void 0) { maxSpeed = 20; }
11
+ if (loopResult[key]) {
12
+ return loopResult[key];
13
+ }
14
+ clearTimeout(loopTimer[key]);
15
+ loopTimer[key] = setTimeout(function () {
16
+ delete loopCount[key];
17
+ delete loopTimer[key];
18
+ }, 1000);
19
+ if (loopCount[key] && loopCount[key] > maxSpeed) {
20
+ loopResult[key] = true;
21
+ return true;
22
+ }
23
+ loopCount[key] = (loopCount[key] || 0) + 1;
24
+ return false;
25
+ }
26
+
27
+ export { loopTooMuch };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
package/esm/utils/math.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -40,15 +40,20 @@ function position(node, offsetParent$1) {
40
40
  }
41
41
  if (nodeName(parent_1) !== 'html')
42
42
  parentOffset = offset(parent_1);
43
- var borderTop = String(getComputedStyle(parent_1).getPropertyValue('border-top-width') || 0);
43
+ var parentStyle = getComputedStyle(parent_1);
44
+ var borderTop = String(parentStyle.getPropertyValue('border-top-width') || 0);
44
45
  parentOffset.top += parseInt(borderTop, 10) - parent_1.scrollTop || 0;
45
- var borderLeft = String(getComputedStyle(parent_1).getPropertyValue('border-left-width') || 0);
46
+ var borderLeft = String(parentStyle.getPropertyValue('border-left-width') || 0);
46
47
  parentOffset.left += parseInt(borderLeft, 10) - parent_1.scrollLeft || 0;
47
48
  }
48
- var marginTop = String(getComputedStyle(node).getPropertyValue('margin-top') || 0);
49
- var marginLeft = String(getComputedStyle(node).getPropertyValue('margin-left') || 0);
49
+ // const marginTop = String(
50
+ // getComputedStyle(node).getPropertyValue('margin-top') || 0
51
+ // );
52
+ // const marginLeft = String(
53
+ // getComputedStyle(node).getPropertyValue('margin-left') || 0
54
+ // );
50
55
  // Subtract parent offsets and node margins
51
- return __assign(__assign({}, offset$1), { top: offset$1.top - parentOffset.top - (parseInt(marginTop, 10) || 0), left: offset$1.left - parentOffset.left - (parseInt(marginLeft, 10) || 0) });
56
+ return __assign(__assign({}, offset$1), { top: offset$1.top - parentOffset.top /*- (parseInt(marginTop, 10) || 0)*/, left: offset$1.left - parentOffset.left /* - (parseInt(marginLeft, 10) || 0)*/ });
52
57
  }
53
58
 
54
59
  export { position as default, position };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.9.0-rc.1
2
+ * amis-core v6.9.0-rc.11
3
3
  * Copyright 2018-2024 fex
4
4
  */
5
5