amis-core 2.0.2 → 2.2.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 (327) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +2 -2
  4. package/esm/Scoped.js +1 -1
  5. package/esm/WithRootStore.js +1 -1
  6. package/esm/WithStore.js +1 -1
  7. package/esm/_virtual/index.js +1 -1
  8. package/esm/_virtual/index2.js +1 -1
  9. package/esm/_virtual/react-is.development.js +1 -1
  10. package/esm/_virtual/react-is.production.min.js +1 -1
  11. package/esm/actions/Action.js +1 -1
  12. package/esm/actions/AjaxAction.js +39 -38
  13. package/esm/actions/BreakAction.js +1 -1
  14. package/esm/actions/BroadcastAction.js +1 -1
  15. package/esm/actions/CmptAction.js +1 -1
  16. package/esm/actions/ContinueAction.js +1 -1
  17. package/esm/actions/CopyAction.js +1 -1
  18. package/esm/actions/CustomAction.js +32 -6
  19. package/esm/actions/Decorators.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/LinkAction.js +1 -1
  24. package/esm/actions/LoopAction.js +1 -1
  25. package/esm/actions/PageAction.js +1 -1
  26. package/esm/actions/ParallelAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/components/LazyComponent.js +1 -1
  30. package/esm/components/Overlay.d.ts +2 -0
  31. package/esm/components/Overlay.js +19 -2
  32. package/esm/components/PopOver.js +1 -1
  33. package/esm/env.js +1 -1
  34. package/esm/envOverwrite.js +1 -1
  35. package/esm/factory.d.ts +4 -1
  36. package/esm/factory.js +2 -2
  37. package/esm/index.d.ts +2 -2
  38. package/esm/index.js +107 -25
  39. package/esm/locale.js +3 -2
  40. package/esm/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  41. package/esm/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  42. package/esm/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  43. package/esm/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  44. package/esm/node_modules/dom-helpers/esm/contains.js +1 -1
  45. package/esm/node_modules/dom-helpers/esm/listen.js +1 -1
  46. package/esm/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  47. package/esm/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  48. package/esm/node_modules/object-assign/index.js +1 -1
  49. package/esm/node_modules/prop-types/checkPropTypes.js +1 -1
  50. package/esm/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  51. package/esm/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  52. package/esm/node_modules/prop-types/index.js +1 -1
  53. package/esm/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  54. package/esm/node_modules/prop-types/lib/has.js +1 -1
  55. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  56. package/esm/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  57. package/esm/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  58. package/esm/node_modules/react-overlays/esm/Portal.js +1 -1
  59. package/esm/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  60. package/esm/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  61. package/esm/node_modules/react-overlays/esm/useRootClose.js +1 -1
  62. package/esm/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  63. package/esm/node_modules/warning/warning.js +1 -1
  64. package/esm/renderers/Form.d.ts +32 -2
  65. package/esm/renderers/Form.js +28 -10
  66. package/esm/renderers/Item.d.ts +127 -0
  67. package/esm/renderers/Item.js +8 -6
  68. package/esm/renderers/Options.d.ts +8 -0
  69. package/esm/renderers/Options.js +67 -39
  70. package/esm/renderers/Placeholder.js +1 -1
  71. package/esm/renderers/builtin.js +1 -1
  72. package/esm/renderers/wrapControl.js +11 -3
  73. package/esm/store/app.js +2 -2
  74. package/esm/store/combo.d.ts +24 -0
  75. package/esm/store/combo.js +1 -1
  76. package/esm/store/crud.d.ts +1 -0
  77. package/esm/store/crud.js +35 -20
  78. package/esm/store/form.d.ts +10 -0
  79. package/esm/store/form.js +48 -22
  80. package/esm/store/formItem.d.ts +1 -0
  81. package/esm/store/formItem.js +12 -5
  82. package/esm/store/iRenderer.js +1 -1
  83. package/esm/store/index.d.ts +2 -2
  84. package/esm/store/index.js +4 -4
  85. package/esm/store/list.js +1 -1
  86. package/esm/store/manager.js +1 -1
  87. package/esm/store/modal.js +1 -1
  88. package/esm/store/node.js +1 -1
  89. package/esm/store/pagination.js +1 -1
  90. package/esm/store/root.js +1 -1
  91. package/esm/store/service.js +11 -11
  92. package/esm/store/table.d.ts +30 -4
  93. package/esm/store/table.js +34 -25
  94. package/{lib/store/table-v2.d.ts → esm/store/table2.d.ts} +32 -32
  95. package/esm/store/{table-v2.js → table2.js} +17 -17
  96. package/esm/theme.js +1 -1
  97. package/esm/types.d.ts +3 -2
  98. package/esm/utils/Animation.js +1 -1
  99. package/esm/utils/ColorScale.js +1 -1
  100. package/esm/utils/DataSchema.js +1 -1
  101. package/esm/utils/DataScope.js +1 -1
  102. package/esm/utils/RootClose.js +1 -1
  103. package/esm/utils/SimpleMap.js +1 -1
  104. package/esm/utils/api.d.ts +7 -0
  105. package/esm/utils/api.js +49 -7
  106. package/esm/utils/attachmentAdpator.js +1 -1
  107. package/esm/utils/autobind.js +1 -1
  108. package/esm/utils/columnsSplit.js +1 -1
  109. package/esm/utils/dataMapping.d.ts +6 -0
  110. package/esm/utils/dataMapping.js +16 -2
  111. package/esm/utils/date.js +1 -1
  112. package/esm/utils/debug.js +1 -1
  113. package/esm/utils/dom.js +1 -1
  114. package/esm/utils/errors.js +1 -1
  115. package/esm/utils/escapeHtml.js +1 -1
  116. package/esm/utils/filter-schema.js +1 -1
  117. package/esm/utils/filter.js +1 -1
  118. package/esm/utils/formatDuration.js +1 -1
  119. package/esm/utils/formula.js +1 -1
  120. package/esm/utils/getVariable.js +1 -1
  121. package/esm/utils/grammar.js +1 -1
  122. package/esm/utils/handleAction.js +1 -1
  123. package/esm/utils/helper.d.ts +30 -4
  124. package/esm/utils/helper.js +45 -14
  125. package/esm/utils/highlight.js +1 -1
  126. package/esm/utils/icon.js +1 -1
  127. package/esm/utils/image.js +1 -1
  128. package/esm/utils/index.d.ts +1 -0
  129. package/esm/utils/isPureVariable.js +1 -1
  130. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  131. package/esm/utils/keyToPath.js +1 -1
  132. package/esm/utils/makeSorter.js +1 -1
  133. package/esm/utils/normalizeLink.js +1 -1
  134. package/esm/utils/normalizeOptions.js +1 -1
  135. package/esm/utils/object.js +1 -1
  136. package/esm/utils/offset.js +1 -1
  137. package/esm/utils/offsetParent.js +1 -1
  138. package/esm/utils/optionValueCompare.js +1 -1
  139. package/esm/utils/position.d.ts +1 -1
  140. package/esm/utils/position.js +9 -1
  141. package/esm/utils/prettyBytes.js +1 -1
  142. package/esm/utils/renderer-event.js +1 -1
  143. package/esm/utils/replaceText.js +1 -1
  144. package/esm/utils/resize-sensor.js +1 -1
  145. package/esm/utils/resolveVariable.d.ts +1 -1
  146. package/esm/utils/resolveVariable.js +3 -3
  147. package/esm/utils/resolveVariableAndFilter.js +1 -1
  148. package/esm/utils/scrollPosition.d.ts +1 -1
  149. package/esm/utils/scrollPosition.js +1 -1
  150. package/esm/utils/string2regExp.js +1 -1
  151. package/esm/utils/stripNumber.js +2 -2
  152. package/esm/utils/style.js +1 -1
  153. package/esm/utils/toNumber.d.ts +7 -0
  154. package/esm/utils/toNumber.js +18 -0
  155. package/esm/utils/tokenize.js +1 -1
  156. package/esm/utils/tpl-builtin.d.ts +2 -2
  157. package/esm/utils/tpl-builtin.js +1 -1
  158. package/esm/utils/tpl-lodash.js +1 -1
  159. package/esm/utils/tpl.js +2 -2
  160. package/esm/utils/uncontrollable.js +1 -1
  161. package/esm/utils/validations.d.ts +1 -1
  162. package/esm/utils/validations.js +60 -3
  163. package/lib/Root.js +1 -1
  164. package/lib/RootRenderer.js +1 -1
  165. package/lib/SchemaRenderer.js +2 -2
  166. package/lib/Scoped.js +1 -1
  167. package/lib/WithRootStore.js +1 -1
  168. package/lib/WithStore.js +1 -1
  169. package/lib/_virtual/index.js +1 -1
  170. package/lib/_virtual/index2.js +1 -1
  171. package/lib/_virtual/react-is.development.js +1 -1
  172. package/lib/_virtual/react-is.production.min.js +1 -1
  173. package/lib/actions/Action.js +1 -1
  174. package/lib/actions/AjaxAction.js +38 -37
  175. package/lib/actions/BreakAction.js +1 -1
  176. package/lib/actions/BroadcastAction.js +1 -1
  177. package/lib/actions/CmptAction.js +1 -1
  178. package/lib/actions/ContinueAction.js +1 -1
  179. package/lib/actions/CopyAction.js +1 -1
  180. package/lib/actions/CustomAction.js +32 -6
  181. package/lib/actions/Decorators.js +1 -1
  182. package/lib/actions/DialogAction.js +1 -1
  183. package/lib/actions/DrawerAction.js +1 -1
  184. package/lib/actions/EmailAction.js +1 -1
  185. package/lib/actions/LinkAction.js +1 -1
  186. package/lib/actions/LoopAction.js +1 -1
  187. package/lib/actions/PageAction.js +1 -1
  188. package/lib/actions/ParallelAction.js +1 -1
  189. package/lib/actions/SwitchAction.js +1 -1
  190. package/lib/actions/ToastAction.js +1 -1
  191. package/lib/components/LazyComponent.js +1 -1
  192. package/lib/components/Overlay.d.ts +2 -0
  193. package/lib/components/Overlay.js +19 -2
  194. package/lib/components/PopOver.js +1 -1
  195. package/lib/env.js +1 -1
  196. package/lib/envOverwrite.js +1 -1
  197. package/lib/factory.d.ts +4 -1
  198. package/lib/factory.js +2 -1
  199. package/lib/index.d.ts +2 -2
  200. package/lib/index.js +191 -113
  201. package/lib/locale.js +3 -2
  202. package/lib/node_modules/@restart/hooks/esm/useCommittedRef.js +1 -1
  203. package/lib/node_modules/@restart/hooks/esm/useEventCallback.js +1 -1
  204. package/lib/node_modules/dom-helpers/esm/addEventListener.js +1 -1
  205. package/lib/node_modules/dom-helpers/esm/canUseDOM.js +1 -1
  206. package/lib/node_modules/dom-helpers/esm/contains.js +1 -1
  207. package/lib/node_modules/dom-helpers/esm/listen.js +1 -1
  208. package/lib/node_modules/dom-helpers/esm/ownerDocument.js +1 -1
  209. package/lib/node_modules/dom-helpers/esm/removeEventListener.js +1 -1
  210. package/lib/node_modules/object-assign/index.js +1 -1
  211. package/lib/node_modules/prop-types/checkPropTypes.js +1 -1
  212. package/lib/node_modules/prop-types/factoryWithThrowingShims.js +1 -1
  213. package/lib/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
  214. package/lib/node_modules/prop-types/index.js +1 -1
  215. package/lib/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -1
  216. package/lib/node_modules/prop-types/lib/has.js +1 -1
  217. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -1
  218. package/lib/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -1
  219. package/lib/node_modules/prop-types/node_modules/react-is/index.js +1 -1
  220. package/lib/node_modules/react-overlays/esm/Portal.js +1 -1
  221. package/lib/node_modules/react-overlays/esm/ownerDocument.js +1 -1
  222. package/lib/node_modules/react-overlays/esm/safeFindDOMNode.js +1 -1
  223. package/lib/node_modules/react-overlays/esm/useRootClose.js +1 -1
  224. package/lib/node_modules/react-overlays/esm/useWaitForDOMRef.js +1 -1
  225. package/lib/node_modules/warning/warning.js +1 -1
  226. package/lib/renderers/Form.d.ts +32 -2
  227. package/lib/renderers/Form.js +29 -10
  228. package/lib/renderers/Item.d.ts +127 -0
  229. package/lib/renderers/Item.js +7 -4
  230. package/lib/renderers/Options.d.ts +8 -0
  231. package/lib/renderers/Options.js +67 -40
  232. package/lib/renderers/Placeholder.js +1 -1
  233. package/lib/renderers/builtin.js +1 -1
  234. package/lib/renderers/wrapControl.js +11 -3
  235. package/lib/store/app.js +1 -1
  236. package/lib/store/combo.d.ts +24 -0
  237. package/lib/store/combo.js +1 -1
  238. package/lib/store/crud.d.ts +1 -0
  239. package/lib/store/crud.js +35 -20
  240. package/lib/store/form.d.ts +10 -0
  241. package/lib/store/form.js +49 -22
  242. package/lib/store/formItem.d.ts +1 -0
  243. package/lib/store/formItem.js +13 -6
  244. package/lib/store/iRenderer.js +1 -1
  245. package/lib/store/index.d.ts +2 -2
  246. package/lib/store/index.js +4 -4
  247. package/lib/store/list.js +1 -1
  248. package/lib/store/manager.js +1 -1
  249. package/lib/store/modal.js +1 -1
  250. package/lib/store/node.js +1 -1
  251. package/lib/store/pagination.js +1 -1
  252. package/lib/store/root.js +1 -1
  253. package/lib/store/service.js +11 -11
  254. package/lib/store/table.d.ts +30 -4
  255. package/lib/store/table.js +33 -24
  256. package/{esm/store/table-v2.d.ts → lib/store/table2.d.ts} +32 -32
  257. package/lib/store/{table-v2.js → table2.js} +16 -16
  258. package/lib/theme.js +1 -1
  259. package/lib/types.d.ts +3 -2
  260. package/lib/utils/Animation.js +1 -1
  261. package/lib/utils/ColorScale.js +1 -1
  262. package/lib/utils/DataSchema.js +1 -1
  263. package/lib/utils/DataScope.js +1 -1
  264. package/lib/utils/RootClose.js +1 -1
  265. package/lib/utils/SimpleMap.js +1 -1
  266. package/lib/utils/api.d.ts +7 -0
  267. package/lib/utils/api.js +50 -6
  268. package/lib/utils/attachmentAdpator.js +1 -1
  269. package/lib/utils/autobind.js +1 -1
  270. package/lib/utils/columnsSplit.js +1 -1
  271. package/lib/utils/dataMapping.d.ts +6 -0
  272. package/lib/utils/dataMapping.js +16 -1
  273. package/lib/utils/date.js +1 -1
  274. package/lib/utils/debug.js +1 -1
  275. package/lib/utils/dom.js +1 -1
  276. package/lib/utils/errors.js +1 -1
  277. package/lib/utils/escapeHtml.js +1 -1
  278. package/lib/utils/filter-schema.js +1 -1
  279. package/lib/utils/filter.js +1 -1
  280. package/lib/utils/formatDuration.js +1 -1
  281. package/lib/utils/formula.js +1 -1
  282. package/lib/utils/getVariable.js +1 -1
  283. package/lib/utils/grammar.js +1 -1
  284. package/lib/utils/handleAction.js +1 -1
  285. package/lib/utils/helper.d.ts +30 -4
  286. package/lib/utils/helper.js +44 -12
  287. package/lib/utils/highlight.js +1 -1
  288. package/lib/utils/icon.js +1 -1
  289. package/lib/utils/image.js +1 -1
  290. package/lib/utils/index.d.ts +1 -0
  291. package/lib/utils/isPureVariable.js +1 -1
  292. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  293. package/lib/utils/keyToPath.js +1 -1
  294. package/lib/utils/makeSorter.js +1 -1
  295. package/lib/utils/normalizeLink.js +1 -1
  296. package/lib/utils/normalizeOptions.js +1 -1
  297. package/lib/utils/object.js +1 -1
  298. package/lib/utils/offset.js +1 -1
  299. package/lib/utils/offsetParent.js +1 -1
  300. package/lib/utils/optionValueCompare.js +1 -1
  301. package/lib/utils/position.d.ts +1 -1
  302. package/lib/utils/position.js +9 -1
  303. package/lib/utils/prettyBytes.js +1 -1
  304. package/lib/utils/renderer-event.js +1 -1
  305. package/lib/utils/replaceText.js +1 -1
  306. package/lib/utils/resize-sensor.js +1 -1
  307. package/lib/utils/resolveVariable.d.ts +1 -1
  308. package/lib/utils/resolveVariable.js +3 -3
  309. package/lib/utils/resolveVariableAndFilter.js +1 -1
  310. package/lib/utils/scrollPosition.d.ts +1 -1
  311. package/lib/utils/scrollPosition.js +1 -1
  312. package/lib/utils/string2regExp.js +1 -1
  313. package/lib/utils/stripNumber.js +2 -2
  314. package/lib/utils/style.js +1 -1
  315. package/lib/utils/toNumber.d.ts +7 -0
  316. package/lib/utils/toNumber.js +22 -0
  317. package/lib/utils/tokenize.js +1 -1
  318. package/lib/utils/tpl-builtin.d.ts +2 -2
  319. package/lib/utils/tpl-builtin.js +1 -1
  320. package/lib/utils/tpl-lodash.js +1 -1
  321. package/lib/utils/tpl.js +1 -1
  322. package/lib/utils/uncontrollable.js +1 -1
  323. package/lib/utils/validations.d.ts +1 -1
  324. package/lib/utils/validations.js +61 -3
  325. package/package.json +9 -8
  326. package/esm/index2.js +0 -134
  327. package/lib/index2.js +0 -330
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -18,6 +18,20 @@ function resolveMapping(value, data, defaultFilter) {
18
18
  ? tokenize(value, data, defaultFilter)
19
19
  : value;
20
20
  }
21
+ /**
22
+ * 遍历对象,对每个字符串 key 进行数据映射
23
+ * @param value 要映射的对象
24
+ * @param data 数据上下文
25
+ */
26
+ function resolveMappingObject(value, data) {
27
+ for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {
28
+ var key = _a[_i];
29
+ if (typeof value[key] === 'string') {
30
+ value[key] = resolveMapping(value[key], data);
31
+ }
32
+ }
33
+ return value;
34
+ }
21
35
  function dataMapping(to, from, ignoreFunction, convertKeyToPath) {
22
36
  if (from === void 0) { from = {}; }
23
37
  if (ignoreFunction === void 0) { ignoreFunction = false; }
@@ -124,4 +138,4 @@ function dataMapping(to, from, ignoreFunction, convertKeyToPath) {
124
138
  return ret;
125
139
  }
126
140
 
127
- export { dataMapping, resolveMapping };
141
+ export { dataMapping, resolveMapping, resolveMappingObject };
package/esm/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/esm/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -79,7 +79,13 @@ export declare function makeHorizontalDeeper(horizontal: {
79
79
  export declare function promisify<T extends Function>(fn: T): (...args: Array<any>) => Promise<any> & {
80
80
  raw: T;
81
81
  };
82
- export declare function getScrollParent(node: HTMLElement): HTMLElement | null;
82
+ /**
83
+ *
84
+ * @param node 当前元素
85
+ * @param compute 自定义计算,找到的父元素是否满足特殊场景
86
+ * @returns 返回控制当前元素滚动的父元素
87
+ */
88
+ export declare function getScrollParent(node: HTMLElement, compute?: (parent: HTMLElement) => boolean): HTMLElement | null;
83
89
  /**
84
90
  * Deep diff between two object, using lodash
85
91
  * @param {Object} object Object compared
@@ -93,7 +99,7 @@ export declare function difference<T extends {
93
99
  }>(object: T, base: U, keepProps?: Array<string>): {
94
100
  [propName: string]: any;
95
101
  };
96
- export declare const padArr: (arr: Array<any>, size?: number) => Array<Array<any>>;
102
+ export declare const padArr: (arr: Array<any>, size?: number, fillUndefined?: boolean) => Array<Array<any>>;
97
103
  export declare function __uri(id: string): string;
98
104
  export declare function isBreakpoint(str: string): boolean;
99
105
  export declare function until(fn: () => Promise<any>, when: (ret: any) => boolean, getCanceler: (fn: () => any) => void, interval?: number): Promise<unknown>;
@@ -184,6 +190,26 @@ export declare function someTree<T extends TreeItem>(tree: Array<T>, iterator: (
184
190
  */
185
191
  export declare function flattenTree<T extends TreeItem>(tree: Array<T>): Array<T>;
186
192
  export declare function flattenTree<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number) => U): Array<U>;
193
+ /**
194
+ * 将树打平变成一维数组,用法和flattenTree类似,区别是结果仅保留叶节点
195
+ *
196
+ * 比如:
197
+ *
198
+ * flattenTreeWithLeafNodes([
199
+ * {
200
+ * id: 1,
201
+ * children: [
202
+ * { id: 2 },
203
+ * { id: 3 },
204
+ * ]
205
+ * }
206
+ * ], item => item.id); // 输出为 [2, 3]
207
+ *
208
+ * @param tree
209
+ * @param mapper
210
+ */
211
+ export declare function flattenTreeWithLeafNodes<T extends TreeItem>(tree: Array<T>): Array<T>;
212
+ export declare function flattenTreeWithLeafNodes<T extends TreeItem, U>(tree: Array<T>, mapper: (value: T, index: number) => U): Array<U>;
187
213
  /**
188
214
  * 操作树,遵循 imutable, 每次返回一个新的树。
189
215
  * 类似数组的 splice 不同的地方这个方法不修改原始数据,
@@ -231,7 +257,7 @@ export declare function qsparse(data: string, options?: any): qs.ParsedQs;
231
257
  export declare function object2formData(data: any, options?: any, fd?: FormData): any;
232
258
  export declare function chainFunctions(...fns: Array<(...args: Array<any>) => void>): (...args: Array<any>) => void;
233
259
  export declare function chainEvents(props: any, schema: any): any;
234
- export declare function mapObject(value: any, fn: Function): any;
260
+ export declare function mapObject(value: any, fn: Function, skipFn?: (value: any) => boolean): any;
235
261
  export declare function loadScript(src: string): Promise<void>;
236
262
  export declare class SkipOperation extends Error {
237
263
  }
@@ -250,7 +276,7 @@ export declare function getPropValue<T extends {
250
276
  name?: string;
251
277
  data?: any;
252
278
  defaultValue?: any;
253
- }>(props: T, getter?: (props: T) => any): any;
279
+ }>(props: T, getter?: (props: T) => any, canAccessSuper?: boolean): any;
254
280
  export declare function detectPropValueChanged<T extends {
255
281
  value?: any;
256
282
  name?: string;
@@ -1,9 +1,9 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
- import { __extends, __assign, __awaiter, __generator, __spreadArray } from 'tslib';
6
+ import { __extends, __assign, __spreadArray, __awaiter, __generator } from 'tslib';
7
7
  import isPlainObject from 'lodash/isPlainObject';
8
8
  import isEqual from 'lodash/isEqual';
9
9
  import isNaN from 'lodash/isNaN';
@@ -332,7 +332,14 @@ function promisify(fn) {
332
332
  promisified.raw = fn;
333
333
  return promisified;
334
334
  }
335
- function getScrollParent(node) {
335
+ /**
336
+ *
337
+ * @param node 当前元素
338
+ * @param compute 自定义计算,找到的父元素是否满足特殊场景
339
+ * @returns 返回控制当前元素滚动的父元素
340
+ */
341
+ function getScrollParent(node, compute) {
342
+ if (compute === void 0) { compute = function () { return true; }; }
336
343
  if (node == null) {
337
344
  return null;
338
345
  }
@@ -343,10 +350,10 @@ function getScrollParent(node) {
343
350
  var text = style.getPropertyValue('overflow') +
344
351
  style.getPropertyValue('overflow-x') +
345
352
  style.getPropertyValue('overflow-y');
346
- if (/auto|scroll/.test(text) || node.nodeName === 'BODY') {
353
+ if (node.nodeName === 'BODY' || (/auto|scroll/.test(text) && compute(node))) {
347
354
  return node;
348
355
  }
349
- return getScrollParent(node.parentNode);
356
+ return getScrollParent(node.parentNode, compute);
350
357
  }
351
358
  /**
352
359
  * Deep diff between two object, using lodash
@@ -386,12 +393,13 @@ function difference(object, base, keepProps) {
386
393
  }
387
394
  return changes(object, base);
388
395
  }
389
- var padArr = function (arr, size) {
396
+ var padArr = function (arr, size, fillUndefined) {
390
397
  if (size === void 0) { size = 4; }
391
- var ret = [];
398
+ if (fillUndefined === void 0) { fillUndefined = false; }
399
+ var ret = [[]];
392
400
  var pool = arr.concat();
393
401
  var from = 0;
394
- while (pool.length) {
402
+ while (pool.length || (fillUndefined && ret[ret.length - 1].length < size)) {
395
403
  var host = ret[from] || (ret[from] = []);
396
404
  if (host.length >= size) {
397
405
  from += 1;
@@ -698,6 +706,15 @@ function flattenTree(tree, mapper) {
698
706
  });
699
707
  return flattened;
700
708
  }
709
+ function flattenTreeWithLeafNodes(tree, mapper) {
710
+ var flattened = [];
711
+ eachTree(tree, function (item, index) {
712
+ if (!item.hasOwnProperty('children')) {
713
+ flattened.push(mapper ? mapper(item, index) : item);
714
+ }
715
+ });
716
+ return flattened;
717
+ }
701
718
  /**
702
719
  * 操作树,遵循 imutable, 每次返回一个新的树。
703
720
  * 类似数组的 splice 不同的地方这个方法不修改原始数据,
@@ -931,7 +948,21 @@ function chainEvents(props, schema) {
931
948
  });
932
949
  return ret;
933
950
  }
934
- function mapObject(value, fn) {
951
+ function mapObject(value, fn, skipFn) {
952
+ // 如果value值满足skipFn条件则不做map操作
953
+ skipFn =
954
+ skipFn && typeof skipFn === 'function'
955
+ ? skipFn
956
+ : function (value) {
957
+ // File类型处理之后会变成plain object
958
+ if (value instanceof File) {
959
+ return true;
960
+ }
961
+ return false;
962
+ };
963
+ if (!!skipFn(value)) {
964
+ return value;
965
+ }
935
966
  if (Array.isArray(value)) {
936
967
  return value.map(function (item) { return mapObject(item, fn); });
937
968
  }
@@ -1044,16 +1075,16 @@ function getScrollbarWidth() {
1044
1075
  return scrollbarWidth;
1045
1076
  }
1046
1077
  // 后续改用 FormulaExec['formula']
1047
- function resolveValueByName(data, name) {
1078
+ function resolveValueByName(data, name, canAccessSuper) {
1048
1079
  return isPureVariable(name)
1049
1080
  ? resolveVariableAndFilter(name, data)
1050
- : resolveVariable(name, data);
1081
+ : resolveVariable(name, data, canAccessSuper);
1051
1082
  }
1052
1083
  // 统一的获取 value 值方法
1053
- function getPropValue(props, getter) {
1084
+ function getPropValue(props, getter, canAccessSuper) {
1054
1085
  var _a, _b;
1055
1086
  var name = props.name, value = props.value, data = props.data, defaultValue = props.defaultValue;
1056
- return ((_b = (_a = value !== null && value !== void 0 ? value : getter === null || getter === void 0 ? void 0 : getter(props)) !== null && _a !== void 0 ? _a : resolveValueByName(data, name)) !== null && _b !== void 0 ? _b : defaultValue);
1087
+ return ((_b = (_a = value !== null && value !== void 0 ? value : getter === null || getter === void 0 ? void 0 : getter(props)) !== null && _a !== void 0 ? _a : resolveValueByName(data, name, canAccessSuper)) !== null && _b !== void 0 ? _b : defaultValue);
1057
1088
  }
1058
1089
  // 检测 value 是否有变化,有变化就执行 onChange
1059
1090
  function detectPropValueChanged(props, prevProps, onChange, getter) {
@@ -1199,4 +1230,4 @@ function isNumeric(value) {
1199
1230
  return /^[-+]?(?:\d*[.])?\d+$/.test(value);
1200
1231
  }
1201
1232
 
1202
- export { JSONTraverse, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeIndex, flattenTree, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
1233
+ export { JSONTraverse, SkipOperation, __uri, anyChanged, autobind, bulkBindFunctions, camel, chainEvents, chainFunctions, convertArrayValueToMoment, detectPropValueChanged, difference, eachTree, everyTree, filterTree, findIndex, findObjectsWithKey, findTree, findTreeIndex, flattenTree, flattenTreeWithLeafNodes, getLevelFromClassName, getPropValue, getRange, getScrollParent, getScrollbarWidth, getTree, getTreeAncestors, getTreeDepth, getTreeParent, getWidthRate, guid, hasAbility, hasFile, hasOwnPropertyInPath, hasVisibleExpression, hashCode, immutableExtends, injectPropsToObject, isArrayChildrenModified, isBreakpoint, isClickOnInput, isDisabled, isEmpty, isMobile, isNumeric, isObjectShallowModified, isSuperDataModified, isUnfolded, isVisible, lcFirst, loadScript, makeColumnClassBuild, makeHorizontalDeeper, mapObject, mapTree, noop, normalizeNodePath, object2formData, omitControls, padArr, pickEventsProps, preventDefault, promisify, qsparse, qsstringify, range, removeHTMLTag, repeatCount, rmUndefined, someTree, sortArray, spliceTree, syncDataFromSuper, ucFirst, until, uuid, uuidv4, visibilityFilter };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
package/esm/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -49,5 +49,6 @@ export * from './tpl-builtin';
49
49
  export * from './tpl';
50
50
  export * from './uncontrollable';
51
51
  export * from './validations';
52
+ export * from './toNumber';
52
53
  import animation from './Animation';
53
54
  export { animation };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -10,8 +10,8 @@
10
10
  export declare function position(node: HTMLElement, offsetParent?: HTMLElement): {
11
11
  top: number;
12
12
  left: number;
13
- height: number;
14
13
  width: number;
14
+ height: number;
15
15
  } | {
16
16
  top: number;
17
17
  left: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -30,6 +30,14 @@ function position(node, offsetParent$1) {
30
30
  else {
31
31
  var parent_1 = offsetParent$1 || offsetParent(node);
32
32
  offset$1 = offset(node);
33
+ if (parent_1 === node) {
34
+ return {
35
+ top: 0,
36
+ left: 0,
37
+ width: offset$1.width,
38
+ height: offset$1.height
39
+ };
40
+ }
33
41
  if (nodeName(parent_1) !== 'html')
34
42
  parentOffset = offset(parent_1);
35
43
  var borderTop = String(getComputedStyle(parent_1).getPropertyValue('border-top-width') || 0);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1 +1 @@
1
- export declare function resolveVariable(path?: string, data?: any): any;
1
+ export declare function resolveVariable(path?: string, data?: any, canAccessSuper?: boolean): any;
@@ -1,12 +1,12 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  import { Evaluator, parse } from 'amis-formula';
7
7
  import { getVariable } from './getVariable.js';
8
8
 
9
- function resolveVariable(path, data) {
9
+ function resolveVariable(path, data, canAccessSuper) {
10
10
  if (data === void 0) { data = {}; }
11
11
  if (path === '&' || path == '$$') {
12
12
  return data;
@@ -16,7 +16,7 @@ function resolveVariable(path, data) {
16
16
  }
17
17
  else if (!~path.indexOf(':')) {
18
18
  // 简单用法直接用 getVariable
19
- return getVariable(data, path[0] === '$' ? path.substring(1) : path);
19
+ return getVariable(data, path[0] === '$' ? path.substring(1) : path, canAccessSuper);
20
20
  }
21
21
  // window:xxx ls:xxx.xxx
22
22
  // 带 namespace 的用公式
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,8 +1,8 @@
1
1
  export declare function scrollPosition(dom: HTMLElement): {
2
2
  top: number;
3
3
  left: number;
4
- height: number;
5
4
  width: number;
5
+ height: number;
6
6
  } | {
7
7
  top: number;
8
8
  left: number;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -1,11 +1,11 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
6
6
  // 主要用于解决 0.1+0.2 结果的精度问题导致太长
7
7
  function stripNumber(number) {
8
- if (typeof number === 'number') {
8
+ if (typeof number === 'number' && !Number.isInteger(number)) {
9
9
  return parseFloat(number.toPrecision(12));
10
10
  }
11
11
  else {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 默认的 parseInt 如果解析失败会返回 NaN,这个函数会返回 0
3
+ * @param value 要解析的值
4
+ * @param defaultValue
5
+ * @returns 默认按十进制解析,失败就返回 defaultValue 或 0
6
+ */
7
+ export declare function toNumber(value: any, defaultValue?: number): number;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * amis-core v2.2.0
3
+ * Copyright 2018-2022 fex
4
+ */
5
+
6
+ /**
7
+ * 默认的 parseInt 如果解析失败会返回 NaN,这个函数会返回 0
8
+ * @param value 要解析的值
9
+ * @param defaultValue
10
+ * @returns 默认按十进制解析,失败就返回 defaultValue 或 0
11
+ */
12
+ function toNumber(value, defaultValue) {
13
+ if (defaultValue === void 0) { defaultValue = 0; }
14
+ var num = parseInt(value, 10);
15
+ return isNaN(num) ? defaultValue : num;
16
+ }
17
+
18
+ export { toNumber };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5
 
@@ -10,9 +10,9 @@ import { stripNumber } from './stripNumber';
10
10
  import { tokenize } from './tokenize';
11
11
  import { resolveVariable } from './resolveVariable';
12
12
  import { resolveVariableAndFilter } from './resolveVariableAndFilter';
13
- import { dataMapping, resolveMapping } from './dataMapping';
13
+ import { dataMapping, resolveMapping, resolveMappingObject } from './dataMapping';
14
14
  import './filter';
15
- export { prettyBytes, escapeHtml, formatDuration, filterDate, relativeValueRe, parseDuration, getFilters, registerFilter, pickValues, isPureVariable, stripNumber, tokenize, resolveVariable, resolveVariableAndFilter, resolveMapping, dataMapping };
15
+ export { prettyBytes, escapeHtml, formatDuration, filterDate, relativeValueRe, parseDuration, getFilters, registerFilter, pickValues, isPureVariable, stripNumber, tokenize, resolveVariable, resolveVariableAndFilter, resolveMapping, resolveMappingObject, dataMapping };
16
16
  export declare function register(): Enginer & {
17
17
  name: string;
18
18
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.0.2
2
+ * amis-core v2.2.0
3
3
  * Copyright 2018-2022 fex
4
4
  */
5
5