amis-core 3.1.1 → 3.3.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 (313) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.d.ts +1 -1
  3. package/esm/RootRenderer.js +3 -3
  4. package/esm/SchemaRenderer.js +6 -2
  5. package/esm/Scoped.d.ts +4 -1
  6. package/esm/Scoped.js +9 -5
  7. package/esm/StatusScoped.js +1 -1
  8. package/esm/WithRootStore.d.ts +4 -24
  9. package/esm/WithRootStore.js +12 -4
  10. package/esm/WithStore.js +23 -16
  11. package/esm/actions/Action.d.ts +1 -0
  12. package/esm/actions/Action.js +70 -45
  13. package/esm/actions/AjaxAction.d.ts +6 -8
  14. package/esm/actions/AjaxAction.js +20 -18
  15. package/esm/actions/BreakAction.js +1 -1
  16. package/esm/actions/BroadcastAction.js +1 -1
  17. package/esm/actions/CmptAction.d.ts +1 -2
  18. package/esm/actions/CmptAction.js +47 -32
  19. package/esm/actions/ContinueAction.js +1 -1
  20. package/esm/actions/CopyAction.js +1 -1
  21. package/esm/actions/CustomAction.js +3 -2
  22. package/esm/actions/DialogAction.d.ts +2 -0
  23. package/esm/actions/DialogAction.js +39 -23
  24. package/esm/actions/DrawerAction.js +4 -4
  25. package/esm/actions/EmailAction.js +1 -1
  26. package/esm/actions/LinkAction.js +1 -1
  27. package/esm/actions/LoopAction.js +1 -1
  28. package/esm/actions/PageAction.js +1 -1
  29. package/esm/actions/ParallelAction.js +1 -1
  30. package/esm/actions/StatusAction.d.ts +15 -0
  31. package/esm/actions/StatusAction.js +49 -0
  32. package/esm/actions/SwitchAction.js +1 -1
  33. package/esm/actions/ToastAction.js +1 -1
  34. package/esm/actions/index.d.ts +1 -0
  35. package/esm/components/CustomStyle.js +1 -1
  36. package/esm/components/LazyComponent.js +1 -1
  37. package/esm/components/Overlay.js +3 -2
  38. package/esm/components/PopOver.js +3 -2
  39. package/esm/env.js +1 -1
  40. package/esm/envOverwrite.js +1 -1
  41. package/esm/factory.js +2 -2
  42. package/esm/index.d.ts +3 -1
  43. package/esm/index.js +16 -14
  44. package/esm/locale.js +1 -1
  45. package/esm/polyfills.d.ts +3 -0
  46. package/esm/polyfills.js +18 -0
  47. package/esm/renderers/Form.d.ts +7 -7
  48. package/esm/renderers/Form.js +182 -128
  49. package/esm/renderers/Item.d.ts +82 -77
  50. package/esm/renderers/Item.js +90 -74
  51. package/esm/renderers/Options.js +1 -2
  52. package/esm/renderers/Placeholder.js +1 -1
  53. package/esm/renderers/builtin.js +1 -1
  54. package/esm/renderers/register.js +1 -1
  55. package/esm/renderers/wrapControl.d.ts +4 -24
  56. package/esm/renderers/wrapControl.js +140 -88
  57. package/esm/store/app.js +42 -4
  58. package/esm/store/combo.d.ts +564 -1892
  59. package/esm/store/combo.js +9 -2
  60. package/esm/store/crud.d.ts +4 -2
  61. package/esm/store/crud.js +17 -4
  62. package/esm/store/form.d.ts +182 -882
  63. package/esm/store/form.js +83 -81
  64. package/esm/store/formItem.d.ts +6 -2
  65. package/esm/store/formItem.js +19 -3
  66. package/esm/store/iRenderer.js +3 -2
  67. package/esm/store/index.js +1 -1
  68. package/esm/store/list.d.ts +1 -0
  69. package/esm/store/list.js +8 -2
  70. package/esm/store/manager.js +1 -1
  71. package/esm/store/modal.js +1 -1
  72. package/esm/store/node.js +1 -1
  73. package/esm/store/pagination.js +1 -1
  74. package/esm/store/root.js +3 -2
  75. package/esm/store/service.js +17 -12
  76. package/esm/store/status.js +1 -1
  77. package/esm/store/table.d.ts +604 -2020
  78. package/esm/store/table.js +86 -56
  79. package/esm/store/table2.d.ts +49 -0
  80. package/esm/store/table2.js +37 -4
  81. package/esm/theme.js +1 -1
  82. package/esm/types.d.ts +22 -5
  83. package/esm/utils/Animation.js +1 -1
  84. package/esm/utils/ColorScale.js +1 -1
  85. package/esm/utils/DataSchema.d.ts +3 -2
  86. package/esm/utils/DataSchema.js +27 -7
  87. package/esm/utils/DataScope.d.ts +10 -3
  88. package/esm/utils/DataScope.js +50 -12
  89. package/esm/utils/RootClose.js +1 -1
  90. package/esm/utils/SimpleMap.js +1 -1
  91. package/esm/utils/api.d.ts +2 -2
  92. package/esm/utils/api.js +152 -112
  93. package/esm/utils/arraySlice.d.ts +1 -0
  94. package/esm/utils/arraySlice.js +76 -0
  95. package/esm/utils/attachmentAdpator.js +1 -1
  96. package/esm/utils/autobind.js +1 -1
  97. package/esm/utils/columnsSplit.js +1 -1
  98. package/esm/utils/dataMapping.js +29 -19
  99. package/esm/utils/date.js +1 -1
  100. package/esm/utils/debug.d.ts +2 -0
  101. package/esm/utils/debug.js +34 -7
  102. package/esm/utils/decodeEntity.js +1 -1
  103. package/esm/utils/dom.js +4 -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.d.ts +0 -1
  110. package/esm/utils/formula.js +6 -9
  111. package/esm/utils/getVariable.js +1 -1
  112. package/esm/utils/grammar.js +1 -1
  113. package/esm/utils/handleAction.js +1 -1
  114. package/esm/utils/helper.d.ts +19 -2
  115. package/esm/utils/helper.js +69 -10
  116. package/esm/utils/highlight.js +1 -1
  117. package/esm/utils/icon.d.ts +4 -2
  118. package/esm/utils/icon.js +3 -2
  119. package/esm/utils/image.js +1 -1
  120. package/esm/utils/index.d.ts +2 -0
  121. package/esm/utils/isPureVariable.js +1 -1
  122. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  123. package/esm/utils/keyToPath.js +1 -1
  124. package/esm/utils/makeSorter.js +1 -1
  125. package/esm/utils/math.d.ts +3 -0
  126. package/esm/utils/math.js +52 -0
  127. package/esm/utils/memoryParse.js +1 -1
  128. package/esm/utils/normalizeLink.js +18 -9
  129. package/esm/utils/normalizeOptions.js +1 -1
  130. package/esm/utils/object.d.ts +7 -0
  131. package/esm/utils/object.js +13 -2
  132. package/esm/utils/offset.js +1 -1
  133. package/esm/utils/offsetParent.js +1 -1
  134. package/esm/utils/optionValueCompare.js +2 -2
  135. package/esm/utils/position.js +1 -1
  136. package/esm/utils/prettyBytes.js +1 -1
  137. package/esm/utils/renderer-event.d.ts +1 -1
  138. package/esm/utils/renderer-event.js +14 -6
  139. package/esm/utils/replaceText.js +1 -1
  140. package/esm/utils/resize-sensor.js +1 -1
  141. package/esm/utils/resolveCondition.js +1 -1
  142. package/esm/utils/resolveVariable.js +1 -1
  143. package/esm/utils/resolveVariableAndFilter.js +1 -1
  144. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  145. package/esm/utils/scrollPosition.js +1 -1
  146. package/esm/utils/string2regExp.js +1 -1
  147. package/esm/utils/stripNumber.js +1 -1
  148. package/esm/utils/style-helper.js +1 -1
  149. package/esm/utils/style.js +1 -1
  150. package/esm/utils/toNumber.js +1 -1
  151. package/esm/utils/tokenize.js +1 -1
  152. package/esm/utils/tpl-builtin.js +1 -1
  153. package/esm/utils/tpl-lodash.js +1 -1
  154. package/esm/utils/tpl.js +1 -1
  155. package/esm/utils/uncontrollable.js +1 -1
  156. package/esm/utils/validations.js +1 -1
  157. package/lib/Root.js +10 -7
  158. package/lib/RootRenderer.d.ts +1 -1
  159. package/lib/RootRenderer.js +11 -8
  160. package/lib/SchemaRenderer.js +13 -6
  161. package/lib/Scoped.d.ts +4 -1
  162. package/lib/Scoped.js +19 -13
  163. package/lib/StatusScoped.js +5 -2
  164. package/lib/WithRootStore.d.ts +4 -24
  165. package/lib/WithRootStore.js +15 -4
  166. package/lib/WithStore.js +27 -17
  167. package/lib/actions/Action.d.ts +1 -0
  168. package/lib/actions/Action.js +70 -45
  169. package/lib/actions/AjaxAction.d.ts +6 -8
  170. package/lib/actions/AjaxAction.js +20 -18
  171. package/lib/actions/BreakAction.js +1 -1
  172. package/lib/actions/BroadcastAction.js +1 -1
  173. package/lib/actions/CmptAction.d.ts +1 -2
  174. package/lib/actions/CmptAction.js +47 -32
  175. package/lib/actions/ContinueAction.js +1 -1
  176. package/lib/actions/CopyAction.js +1 -1
  177. package/lib/actions/CustomAction.js +9 -5
  178. package/lib/actions/DialogAction.d.ts +2 -0
  179. package/lib/actions/DialogAction.js +39 -23
  180. package/lib/actions/DrawerAction.js +4 -4
  181. package/lib/actions/EmailAction.js +1 -1
  182. package/lib/actions/LinkAction.js +1 -1
  183. package/lib/actions/LoopAction.js +1 -1
  184. package/lib/actions/PageAction.js +1 -1
  185. package/lib/actions/ParallelAction.js +1 -1
  186. package/lib/actions/StatusAction.d.ts +15 -0
  187. package/lib/actions/StatusAction.js +53 -0
  188. package/lib/actions/SwitchAction.js +1 -1
  189. package/lib/actions/ToastAction.js +1 -1
  190. package/lib/actions/index.d.ts +1 -0
  191. package/lib/components/CustomStyle.js +1 -1
  192. package/lib/components/LazyComponent.js +12 -14
  193. package/lib/components/Overlay.js +15 -14
  194. package/lib/components/PopOver.js +12 -10
  195. package/lib/env.js +4 -1
  196. package/lib/envOverwrite.js +1 -1
  197. package/lib/factory.js +11 -9
  198. package/lib/index.d.ts +3 -1
  199. package/lib/index.js +26 -19
  200. package/lib/locale.js +6 -3
  201. package/lib/polyfills.d.ts +3 -0
  202. package/lib/polyfills.js +20 -0
  203. package/lib/renderers/Form.d.ts +7 -7
  204. package/lib/renderers/Form.js +194 -135
  205. package/lib/renderers/Item.d.ts +82 -77
  206. package/lib/renderers/Item.js +126 -104
  207. package/lib/renderers/Options.js +10 -5
  208. package/lib/renderers/Placeholder.js +1 -1
  209. package/lib/renderers/builtin.js +1 -1
  210. package/lib/renderers/register.js +1 -1
  211. package/lib/renderers/wrapControl.d.ts +4 -24
  212. package/lib/renderers/wrapControl.js +143 -88
  213. package/lib/store/app.js +44 -3
  214. package/lib/store/combo.d.ts +564 -1892
  215. package/lib/store/combo.js +9 -2
  216. package/lib/store/crud.d.ts +4 -2
  217. package/lib/store/crud.js +17 -4
  218. package/lib/store/form.d.ts +182 -882
  219. package/lib/store/form.js +81 -79
  220. package/lib/store/formItem.d.ts +6 -2
  221. package/lib/store/formItem.js +19 -3
  222. package/lib/store/iRenderer.js +9 -5
  223. package/lib/store/index.js +1 -1
  224. package/lib/store/list.d.ts +1 -0
  225. package/lib/store/list.js +8 -2
  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 +9 -5
  231. package/lib/store/service.js +17 -12
  232. package/lib/store/status.js +1 -1
  233. package/lib/store/table.d.ts +604 -2020
  234. package/lib/store/table.js +85 -55
  235. package/lib/store/table2.d.ts +49 -0
  236. package/lib/store/table2.js +36 -3
  237. package/lib/theme.js +6 -3
  238. package/lib/types.d.ts +22 -5
  239. package/lib/utils/Animation.js +1 -1
  240. package/lib/utils/ColorScale.js +1 -1
  241. package/lib/utils/DataSchema.d.ts +3 -2
  242. package/lib/utils/DataSchema.js +27 -7
  243. package/lib/utils/DataScope.d.ts +10 -3
  244. package/lib/utils/DataScope.js +50 -11
  245. package/lib/utils/RootClose.js +1 -1
  246. package/lib/utils/SimpleMap.js +1 -1
  247. package/lib/utils/api.d.ts +2 -2
  248. package/lib/utils/api.js +151 -111
  249. package/lib/utils/arraySlice.d.ts +1 -0
  250. package/lib/utils/arraySlice.js +80 -0
  251. package/lib/utils/attachmentAdpator.js +1 -1
  252. package/lib/utils/autobind.js +1 -1
  253. package/lib/utils/columnsSplit.js +8 -6
  254. package/lib/utils/dataMapping.js +29 -19
  255. package/lib/utils/date.js +1 -1
  256. package/lib/utils/debug.d.ts +2 -0
  257. package/lib/utils/debug.js +61 -33
  258. package/lib/utils/decodeEntity.js +1 -1
  259. package/lib/utils/dom.js +10 -5
  260. package/lib/utils/errors.js +1 -1
  261. package/lib/utils/escapeHtml.js +1 -1
  262. package/lib/utils/filter-schema.js +1 -1
  263. package/lib/utils/filter.js +1 -1
  264. package/lib/utils/formatDuration.js +1 -1
  265. package/lib/utils/formula.d.ts +0 -1
  266. package/lib/utils/formula.js +6 -10
  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 +19 -2
  271. package/lib/utils/helper.js +70 -9
  272. package/lib/utils/highlight.js +8 -9
  273. package/lib/utils/icon.d.ts +4 -2
  274. package/lib/utils/icon.js +12 -10
  275. package/lib/utils/image.js +1 -1
  276. package/lib/utils/index.d.ts +2 -0
  277. package/lib/utils/isPureVariable.js +1 -1
  278. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  279. package/lib/utils/keyToPath.js +1 -1
  280. package/lib/utils/makeSorter.js +1 -1
  281. package/lib/utils/math.d.ts +3 -0
  282. package/lib/utils/math.js +58 -0
  283. package/lib/utils/memoryParse.js +1 -1
  284. package/lib/utils/normalizeLink.js +18 -9
  285. package/lib/utils/normalizeOptions.js +1 -1
  286. package/lib/utils/object.d.ts +7 -0
  287. package/lib/utils/object.js +13 -1
  288. package/lib/utils/offset.js +1 -1
  289. package/lib/utils/offsetParent.js +1 -1
  290. package/lib/utils/optionValueCompare.js +7 -3
  291. package/lib/utils/position.js +1 -1
  292. package/lib/utils/prettyBytes.js +1 -1
  293. package/lib/utils/renderer-event.d.ts +1 -1
  294. package/lib/utils/renderer-event.js +13 -5
  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/validations.js +1 -1
  313. package/package.json +9 -4
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -98,26 +98,27 @@ function dataMapping(to, from, ignoreFunction, convertKeyToPath, ignoreIfNotMatc
98
98
  }
99
99
  }
100
100
  else {
101
- Object.keys(to).forEach(function (key) {
102
- var value = to[key];
103
- var keys;
104
- if (typeof ignoreFunction === 'function' && ignoreFunction(key, value)) {
105
- // 如果被ignore,不做数据映射处理。
106
- object.setVariable(ret, key, value, convertKeyToPath);
107
- }
108
- else if (key === '&' && value === '$$') {
101
+ var objectKeys = Object.keys(to);
102
+ // 如果存在 '&' 作为 key,则特殊处理
103
+ // 就是无论这个 key 的位置在什么地方始终都是当放在最前面
104
+ var idx = objectKeys.indexOf('&');
105
+ if (~idx) {
106
+ var value_1 = to['&'];
107
+ objectKeys.splice(idx, 1);
108
+ if (value_1 === '$$') {
109
109
  ret = tslib.__assign(tslib.__assign({}, ret), from);
110
110
  }
111
- else if (key === '&') {
112
- var v = isPlainObject__default["default"](value) &&
113
- (keys = Object.keys(value)) &&
114
- keys.length === 1 &&
115
- from[keys[0].substring(1)] &&
116
- Array.isArray(from[keys[0].substring(1)])
117
- ? from[keys[0].substring(1)].map(function (raw) {
118
- return dataMapping(value[keys[0]], object.createObject(from, raw), ignoreFunction, convertKeyToPath, ignoreIfNotMatch);
111
+ else {
112
+ var keys_1;
113
+ var v = isPlainObject__default["default"](value_1) &&
114
+ (keys_1 = Object.keys(value_1)) &&
115
+ keys_1.length === 1 &&
116
+ from[keys_1[0].substring(1)] &&
117
+ Array.isArray(from[keys_1[0].substring(1)])
118
+ ? from[keys_1[0].substring(1)].map(function (raw) {
119
+ return dataMapping(value_1[keys_1[0]], object.createObject(from, raw), ignoreFunction, convertKeyToPath, ignoreIfNotMatch);
119
120
  })
120
- : resolveMapping(value, from, undefined, ignoreIfNotMatch);
121
+ : resolveMapping(value_1, from, undefined, ignoreIfNotMatch);
121
122
  if (Array.isArray(v) || typeof v === 'string') {
122
123
  ret = v;
123
124
  }
@@ -128,10 +129,19 @@ function dataMapping(to, from, ignoreFunction, convertKeyToPath, ignoreIfNotMatc
128
129
  ret = tslib.__assign(tslib.__assign({}, ret), v);
129
130
  }
130
131
  }
132
+ }
133
+ objectKeys.forEach(function (key) {
134
+ var value = to[key];
135
+ if (typeof ignoreFunction === 'function' && ignoreFunction(key, value)) {
136
+ // 如果被ignore,不做数据映射处理。
137
+ object.setVariable(ret, key, value, convertKeyToPath);
138
+ }
131
139
  else if (value === '$$') {
132
140
  object.setVariable(ret, key, from, convertKeyToPath);
133
141
  }
134
- else if (value && value[0] === '$') {
142
+ else if (typeof value === 'string' &&
143
+ value.length > 0 &&
144
+ value[0] === '$') {
135
145
  var v = resolveMapping(value, from, undefined, ignoreIfNotMatch);
136
146
  object.setVariable(ret, key, v, convertKeyToPath);
137
147
  if (v === '__undefined') {
package/lib/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -2,7 +2,9 @@
2
2
  * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
3
3
  */
4
4
  import React, { Component } from 'react';
5
+ export declare const JsonView: React.LazyExoticComponent<React.ComponentType<import("react-json-view").ReactJsonViewProps>>;
5
6
  export declare function enableDebug(): void;
7
+ export declare function disableDebug(): void;
6
8
  interface DebugWrapperProps {
7
9
  renderer: any;
8
10
  children?: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -11,7 +11,6 @@ var tslib = require('tslib');
11
11
  var React = require('react');
12
12
  var cx = require('classnames');
13
13
  var ReactDOM = require('react-dom');
14
- var JsonView = require('react-json-view');
15
14
  var mobx = require('mobx');
16
15
  var mobxReact = require('mobx-react');
17
16
  var helper = require('./helper.js');
@@ -21,11 +20,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
21
20
 
22
21
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
22
  var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
24
- var JsonView__default = /*#__PURE__*/_interopDefaultLegacy(JsonView);
25
23
 
26
- /**
27
- * amis 运行时调试功能,为了避免循环引用,这个组件不要依赖 amis 里的组件
28
- */
24
+ var __react_jsx__ = require('react');
25
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
26
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
27
+ var JsonView = React__default["default"].lazy(function () { return Promise.resolve().then(function() {return new Promise(function(fullfill) {require(['react-json-view'], function(mod) {fullfill(tslib.__importStar(mod))})})}); });
29
28
  /** @class */ ((function () {
30
29
  function Log() {
31
30
  this.cat = '';
@@ -116,14 +115,15 @@ var LogView = mobxReact.observer(function (_a) {
116
115
  var store = _a.store;
117
116
  var logs = store.logs;
118
117
  var ellipsisThreshold = (_b = store.ellipsisThreshold) !== null && _b !== void 0 ? _b : 50;
119
- return (React__default["default"].createElement(React__default["default"].Fragment, null, logs.map(function (log, index) {
120
- return (React__default["default"].createElement("div", { className: "AMISDebug-logLine", key: "log-".concat(index) },
121
- React__default["default"].createElement("div", { className: "AMISDebug-logLineMsg" },
118
+ return (_J$X_(React__default["default"].Fragment, null, logs.map(function (log, index) {
119
+ return (_J$X_("div", { className: "AMISDebug-logLine", key: "log-".concat(index) },
120
+ _J$X_("div", { className: "AMISDebug-logLineMsg" },
122
121
  "[",
123
122
  log.cat,
124
123
  "] ",
125
124
  log.msg),
126
- log.ext ? (React__default["default"].createElement(JsonView__default["default"], { name: null, theme: "monokai", src: JSON.parse(log.ext), collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" })) : null));
125
+ log.ext ? (_J$X_(React__default["default"].Suspense, { fallback: _J$X_("div", null, "Loading...") },
126
+ _J$X_(JsonView, { name: null, theme: "monokai", src: JSON.parse(log.ext), collapsed: true, enableClipboard: false, displayDataTypes: false, collapseStringsAfterLength: ellipsisThreshold, iconStyle: "square" }))) : null));
127
127
  })));
128
128
  });
129
129
  var AMISDebug = mobxReact.observer(function (_a) {
@@ -149,11 +149,12 @@ var AMISDebug = mobxReact.observer(function (_a) {
149
149
  try {
150
150
  for (var stacks_1 = tslib.__values(stacks), stacks_1_1 = stacks_1.next(); !stacks_1_1.done; stacks_1_1 = stacks_1.next()) {
151
151
  var stack = stacks_1_1.value;
152
- stackDataView.push(React__default["default"].createElement("div", { key: "data-".concat(level) },
153
- React__default["default"].createElement("h3", null,
152
+ stackDataView.push(_J$X_("div", { key: "data-".concat(level) },
153
+ _J$X_("h3", null,
154
154
  "Data Level-",
155
155
  level),
156
- React__default["default"].createElement(JsonView__default["default"], { key: "dataview-".concat(stack), name: null, theme: "monokai", src: stack, collapsed: level === 0 ? false : true, enableClipboard: false, displayDataTypes: false, iconStyle: "square" })));
156
+ _J$X_(React__default["default"].Suspense, { fallback: _J$X_("div", null, "Loading...") },
157
+ _J$X_(JsonView, { key: "dataview-".concat(stack), name: null, theme: "monokai", src: stack, collapsed: level === 0 ? false : true, enableClipboard: false, displayDataTypes: false, iconStyle: "square" }))));
157
158
  level += 1;
158
159
  }
159
160
  }
@@ -199,47 +200,47 @@ var AMISDebug = mobxReact.observer(function (_a) {
199
200
  }
200
201
  };
201
202
  }, [isResizing]);
202
- return (React__default["default"].createElement("div", { className: cx__default["default"]('AMISDebug', {
203
+ return (_J$X_("div", { className: cx__default["default"]('AMISDebug', {
203
204
  'is-expanded': store.isExpanded,
204
205
  'is-left': store.position === 'left'
205
206
  }), ref: panelRef },
206
- React__default["default"].createElement("div", { className: "AMISDebug-toggle", title: "open debug", onClick: function () {
207
+ _J$X_("div", { className: "AMISDebug-toggle", title: "open debug", onClick: function () {
207
208
  store.isExpanded = true;
208
- } }, store.isExpanded ? (React__default["default"].createElement("i", { className: "fas fa-times" })) : (React__default["default"].createElement("i", { className: "fas fa-bug" }))),
209
- React__default["default"].createElement("div", { className: cx__default["default"]('AMISDebug-content') },
210
- React__default["default"].createElement("div", { className: "AMISDebug-close", title: "Close", onClick: function () {
209
+ } }, store.isExpanded ? (_J$X_("i", { className: "fas fa-times" })) : (_J$X_("i", { className: "fas fa-bug" }))),
210
+ _J$X_("div", { className: cx__default["default"]('AMISDebug-content') },
211
+ _J$X_("div", { className: "AMISDebug-close", title: "Close", onClick: function () {
211
212
  store.isExpanded = false;
212
213
  store.activeId = '';
213
214
  store.hoverId = '';
214
215
  } },
215
- React__default["default"].createElement("i", { className: "fas fa-times" })),
216
- React__default["default"].createElement("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
216
+ _J$X_("i", { className: "fas fa-times" })),
217
+ _J$X_("div", { className: "AMISDebug-resize", onMouseDown: function (event) {
217
218
  setStartX(event.clientX);
218
219
  setPanelWidth(parseInt(getComputedStyle(panelRef.current).getPropertyValue('width'), 10));
219
220
  setResizing(true);
220
221
  } }),
221
- React__default["default"].createElement("div", { className: "AMISDebug-tab" },
222
- React__default["default"].createElement("button", { className: cx__default["default"]({ active: store.tab === 'log' }), onClick: function () {
222
+ _J$X_("div", { className: "AMISDebug-tab" },
223
+ _J$X_("button", { className: cx__default["default"]({ active: store.tab === 'log' }), onClick: function () {
223
224
  store.tab = 'log';
224
225
  } }, "Log"),
225
- React__default["default"].createElement("button", { className: cx__default["default"]({ active: store.tab === 'inspect' }), onClick: function () {
226
+ _J$X_("button", { className: cx__default["default"]({ active: store.tab === 'inspect' }), onClick: function () {
226
227
  store.tab = 'inspect';
227
228
  } }, "Inspect")),
228
- React__default["default"].createElement("div", { className: "AMISDebug-changePosition" }, store.position === 'right' ? (React__default["default"].createElement("i", { className: "fas fa-chevron-left", title: "move to left", onClick: function () {
229
+ _J$X_("div", { className: "AMISDebug-changePosition" }, store.position === 'right' ? (_J$X_("i", { className: "fas fa-chevron-left", title: "move to left", onClick: function () {
229
230
  store.position = 'left';
230
- } })) : (React__default["default"].createElement("i", { className: "fas fa-chevron-right", title: "move to right", onClick: function () {
231
+ } })) : (_J$X_("i", { className: "fas fa-chevron-right", title: "move to right", onClick: function () {
231
232
  store.position = 'right';
232
233
  } }))),
233
- store.tab === 'log' ? (React__default["default"].createElement("div", { className: "AMISDebug-log" },
234
- React__default["default"].createElement("button", { onClick: function () {
234
+ store.tab === 'log' ? (_J$X_("div", { className: "AMISDebug-log" },
235
+ _J$X_("button", { onClick: function () {
235
236
  store.logs = [];
236
237
  } }, "Clear Log"),
237
- React__default["default"].createElement(LogView, { store: store }))) : null,
238
- store.tab === 'inspect' ? (React__default["default"].createElement("div", { className: "AMISDebug-inspect" }, activeId ? (React__default["default"].createElement(React__default["default"].Fragment, null,
239
- React__default["default"].createElement("h3", null,
238
+ _J$X_(LogView, { store: store }))) : null,
239
+ store.tab === 'inspect' ? (_J$X_("div", { className: "AMISDebug-inspect" }, activeId ? (_J$X_(React__default["default"].Fragment, null,
240
+ _J$X_("h3", null,
240
241
  "Component:",
241
242
  ' ',
242
- React__default["default"].createElement("span", { className: "primary" }, activeComponentInspect.name)),
243
+ _J$X_("span", { className: "primary" }, activeComponentInspect.name)),
243
244
  stackDataView)) : ('Click component to display inspect'))) : null)));
244
245
  });
245
246
  /**
@@ -264,7 +265,7 @@ function handleMouseclick(e) {
264
265
  }
265
266
  var dom = e.target;
266
267
  var target = dom.closest("[data-debug-id]");
267
- if (target) {
268
+ if (target && !target.closest('.AMISDebug')) {
268
269
  store.activeId = target.getAttribute('data-debug-id');
269
270
  store.tab = 'inspect';
270
271
  }
@@ -304,6 +305,7 @@ mobx.autorun(function () {
304
305
  });
305
306
  // 页面中只能有一个实例
306
307
  var isEnabled = false;
308
+ var unmount;
307
309
  function enableDebug() {
308
310
  if (isEnabled) {
309
311
  return;
@@ -311,13 +313,37 @@ function enableDebug() {
311
313
  isEnabled = true;
312
314
  var amisDebugElement = document.createElement('div');
313
315
  document.body.appendChild(amisDebugElement);
314
- var element = React__default["default"].createElement(AMISDebug, { store: store });
316
+ var element = _J$X_(AMISDebug, { store: store });
317
+ // if (parseInt(version.split('.')[0], 10) >= 18) {
318
+ // const root = createRoot(amisDebugElement);
319
+ // root.render(element);
320
+ // unmount = () => {
321
+ // root.unmount();
322
+ // document.body.removeChild(amisDebugElement);
323
+ // };
324
+ // } else {
315
325
  ReactDOM.render(element, amisDebugElement);
326
+ unmount = function () {
327
+ ReactDOM.unmountComponentAtNode(amisDebugElement);
328
+ document.body.removeChild(amisDebugElement);
329
+ };
330
+ // }
316
331
  document.body.appendChild(amisHoverBox);
317
332
  document.body.appendChild(amisActiveBox);
318
333
  document.addEventListener('mousemove', handleMouseMove);
319
334
  document.addEventListener('click', handleMouseclick);
320
335
  }
336
+ function disableDebug() {
337
+ if (!isEnabled) {
338
+ return;
339
+ }
340
+ isEnabled = false;
341
+ unmount === null || unmount === void 0 ? void 0 : unmount();
342
+ document.body.removeChild(amisHoverBox);
343
+ document.body.removeChild(amisActiveBox);
344
+ document.removeEventListener('mousemove', handleMouseMove);
345
+ document.removeEventListener('click', handleMouseclick);
346
+ }
321
347
  var DebugWrapper = /** @class */ (function (_super) {
322
348
  tslib.__extends(DebugWrapper, _super);
323
349
  function DebugWrapper() {
@@ -397,6 +423,8 @@ function warning(cat, msg, ext) {
397
423
  }
398
424
 
399
425
  exports.DebugWrapper = DebugWrapper;
426
+ exports.JsonView = JsonView;
400
427
  exports.debug = debug;
428
+ exports.disableDebug = disableDebug;
401
429
  exports.enableDebug = enableDebug;
402
430
  exports.warning = warning;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -9,15 +9,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var ReactDOM = require('react-dom');
12
- var React = require('react');
12
+ require('react');
13
13
  var offset = require('./offset.js');
14
14
  var position = require('./position.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
18
18
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
19
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
19
 
20
+ var __react_jsx__ = require('react');
21
+ var _J$X_ = (__react_jsx__["default"] || __react_jsx__).createElement;
22
+ (__react_jsx__["default"] || __react_jsx__).Fragment;
21
23
  function getContainer(container, defaultContainer) {
22
24
  container = typeof container === 'function' ? container() : container;
23
25
  return ReactDOM__default["default"].findDOMNode(container) || defaultContainer;
@@ -219,12 +221,15 @@ function getStyleNumber(element, styleName) {
219
221
  }
220
222
  /** 根据关键字高亮显示文本内容 */
221
223
  function renderTextByKeyword(rendererText, curKeyword) {
224
+ if (!rendererText || typeof rendererText !== 'string') {
225
+ return rendererText;
226
+ }
222
227
  if (curKeyword && ~rendererText.indexOf(curKeyword)) {
223
228
  var keywordStartIndex = rendererText.indexOf(curKeyword);
224
229
  var keywordEndIndex = keywordStartIndex + curKeyword.length;
225
- return (React__default["default"].createElement("span", null,
230
+ return (_J$X_("span", null,
226
231
  rendererText.substring(0, keywordStartIndex),
227
- React__default["default"].createElement("span", { className: "is-keyword" }, curKeyword),
232
+ _J$X_("span", { className: "is-keyword" }, curKeyword),
228
233
  rendererText.substring(keywordEndIndex)));
229
234
  }
230
235
  else {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -13,5 +13,4 @@ export declare function isNeedFormula(expression: any, prevData: {
13
13
  }, curData: {
14
14
  [propName: string]: any;
15
15
  }): boolean;
16
- export declare function isNowFormula(expression: string): boolean;
17
16
  export declare function replaceExpression(expression: any): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
- var isObjectByLodash = require('lodash/isObject');
10
+ var isObject = require('lodash/isObject');
11
11
  var isString = require('lodash/isString');
12
12
  var isBoolean = require('lodash/isBoolean');
13
13
  var amisFormula = require('amis-formula');
@@ -22,7 +22,7 @@ var grammar = require('./grammar.js');
22
22
 
23
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
24
 
25
- var isObjectByLodash__default = /*#__PURE__*/_interopDefaultLegacy(isObjectByLodash);
25
+ var isObject__default = /*#__PURE__*/_interopDefaultLegacy(isObject);
26
26
  var isString__default = /*#__PURE__*/_interopDefaultLegacy(isString);
27
27
  var isBoolean__default = /*#__PURE__*/_interopDefaultLegacy(isBoolean);
28
28
 
@@ -124,7 +124,7 @@ var FormulaExec = {
124
124
  },
125
125
  collect: function (expression) {
126
126
  var variables = [];
127
- if (isObjectByLodash__default["default"](expression) || isString__default["default"](expression)) {
127
+ if (isObject__default["default"](expression) || isString__default["default"](expression)) {
128
128
  // 仅对 Object类型 和 String类型 进行变量提取
129
129
  variables = grammar.collectVariables(expression);
130
130
  }
@@ -208,7 +208,8 @@ function isNeedFormula(expression, prevData, curData) {
208
208
  try {
209
209
  var variables = FormulaExec.collect(expression);
210
210
  return variables.some(function (variable) {
211
- return FormulaExec.var(variable, prevData) !== FormulaExec.var(variable, curData);
211
+ return FormulaExec.var(variable, prevData) !==
212
+ FormulaExec.var(variable, curData);
212
213
  });
213
214
  }
214
215
  catch (e) {
@@ -216,10 +217,6 @@ function isNeedFormula(expression, prevData, curData) {
216
217
  return false;
217
218
  }
218
219
  }
219
- function isNowFormula(expression) {
220
- var block = expression.split(/\${|\||}/).filter(function (item) { return item; });
221
- return block[1] === 'now';
222
- }
223
220
  // 将 \${xx} 替换成 ${xx}
224
221
  function replaceExpression(expression) {
225
222
  if (expression &&
@@ -234,6 +231,5 @@ exports.FormulaExec = FormulaExec;
234
231
  exports.formulaExec = formulaExec;
235
232
  exports.isExpression = isExpression;
236
233
  exports.isNeedFormula = isNeedFormula;
237
- exports.isNowFormula = isNowFormula;
238
234
  exports.registerFormulaExec = registerFormulaExec;
239
235
  exports.replaceExpression = replaceExpression;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v3.1.1
2
+ * amis-core v3.3.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -256,7 +256,7 @@ export declare const autobind: typeof autobindMethod;
256
256
  export declare const bulkBindFunctions: <T extends {
257
257
  [propName: string]: any;
258
258
  }>(context: T, funNames: FunctionPropertyNames<T>[]) => void;
259
- export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1): Array<T>;
259
+ export declare function sortArray<T extends any>(items: Array<T>, field: string, dir: -1 | 1, fieldGetter?: (item: T, field: string) => any): Array<T>;
260
260
  export declare function hasFile(object: any): boolean;
261
261
  export declare function qsstringify(data: any, options?: any, keepEmptyArray?: boolean): string;
262
262
  export declare function qsparse(data: string, options?: any): qs.ParsedQs;
@@ -268,6 +268,15 @@ export declare function loadScript(src: string): Promise<void>;
268
268
  export declare function loadStyle(href: string): Promise<void>;
269
269
  export declare class SkipOperation extends Error {
270
270
  }
271
+ export declare class ValidateError extends Error {
272
+ name: 'ValidateError';
273
+ detail: {
274
+ [propName: string]: Array<string> | string;
275
+ };
276
+ constructor(message: string, error: {
277
+ [propName: string]: Array<string> | string;
278
+ });
279
+ }
271
280
  /**
272
281
  * 深度查找具有某个 key 名字段的对象,实际实现是 internalFindObjectsWithKey,这里包一层是为了做循环引用检测
273
282
  * @param obj
@@ -283,7 +292,8 @@ export declare function getPropValue<T extends {
283
292
  name?: string;
284
293
  data?: any;
285
294
  defaultValue?: any;
286
- }>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean): any;
295
+ canAccessSuperData?: boolean;
296
+ }>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean | undefined): any;
287
297
  export declare function detectPropValueChanged<T extends {
288
298
  value?: any;
289
299
  name?: string;
@@ -314,6 +324,13 @@ export declare function hashCode(s: string): number;
314
324
  * @param mapper
315
325
  */
316
326
  export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
327
+ /**
328
+ * 每层都会执行,返回新的对象,新对象不会递归下去
329
+ * @param json
330
+ * @param mapper
331
+ * @returns
332
+ */
333
+ export declare function JSONValueMap(json: any, mapper: (value: any, key: string | number, host: Object, stack: Array<Object>) => any, stack?: Array<Object>): any;
317
334
  export declare function convertArrayValueToMoment(value: number[], types: string[], mom: moment.Moment): moment.Moment;
318
335
  export declare function getRange(min: number, max: number, step?: number): number[];
319
336
  export declare function repeatCount(count: number, iterator: (index: number) => any): any[];