amis-core 2.9.0 → 3.1.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 (331) hide show
  1. package/esm/Root.d.ts +89 -4
  2. package/esm/Root.js +15 -4
  3. package/esm/RootRenderer.d.ts +3 -1
  4. package/esm/RootRenderer.js +9 -3
  5. package/esm/SchemaRenderer.d.ts +4 -2
  6. package/esm/SchemaRenderer.js +32 -24
  7. package/esm/Scoped.d.ts +8 -0
  8. package/esm/Scoped.js +20 -5
  9. package/esm/StatusScoped.d.ts +58 -0
  10. package/esm/StatusScoped.js +54 -0
  11. package/esm/WithRootStore.d.ts +2 -2
  12. package/esm/WithRootStore.js +1 -1
  13. package/esm/WithStore.js +6 -2
  14. package/esm/actions/Action.d.ts +1 -0
  15. package/esm/actions/Action.js +19 -5
  16. package/esm/actions/AjaxAction.js +1 -1
  17. package/esm/actions/BreakAction.js +1 -1
  18. package/esm/actions/BroadcastAction.js +1 -1
  19. package/esm/actions/CmptAction.js +8 -7
  20. package/esm/actions/ContinueAction.js +1 -1
  21. package/esm/actions/CopyAction.js +1 -1
  22. package/esm/actions/CustomAction.js +4 -4
  23. package/esm/actions/DialogAction.d.ts +16 -2
  24. package/esm/actions/DialogAction.js +23 -7
  25. package/esm/actions/DrawerAction.js +1 -1
  26. package/esm/actions/EmailAction.js +1 -1
  27. package/esm/actions/LinkAction.js +1 -1
  28. package/esm/actions/LoopAction.js +1 -1
  29. package/esm/actions/PageAction.js +1 -1
  30. package/esm/actions/ParallelAction.js +1 -1
  31. package/esm/actions/SwitchAction.js +1 -1
  32. package/esm/actions/ToastAction.js +1 -1
  33. package/esm/components/CustomStyle.d.ts +13 -0
  34. package/esm/components/CustomStyle.js +18 -0
  35. package/esm/components/LazyComponent.d.ts +1 -1
  36. package/esm/components/LazyComponent.js +1 -1
  37. package/esm/components/Overlay.d.ts +3 -3
  38. package/esm/components/Overlay.js +1 -1
  39. package/esm/components/PopOver.d.ts +2 -2
  40. package/esm/components/PopOver.js +1 -1
  41. package/esm/env.d.ts +10 -2
  42. package/esm/env.js +1 -1
  43. package/esm/envOverwrite.js +1 -5
  44. package/esm/factory.d.ts +5 -3
  45. package/esm/factory.js +3 -3
  46. package/esm/index.d.ts +11 -4
  47. package/esm/index.js +55 -33
  48. package/esm/locale.d.ts +2 -2
  49. package/esm/locale.js +10 -3
  50. package/esm/renderers/Form.d.ts +3 -2
  51. package/esm/renderers/Form.js +216 -180
  52. package/esm/renderers/Item.d.ts +55 -41
  53. package/esm/renderers/Item.js +30 -19
  54. package/esm/renderers/Options.js +11 -4
  55. package/esm/renderers/Placeholder.js +1 -1
  56. package/esm/renderers/builtin.js +1 -1
  57. package/esm/renderers/register.js +1 -1
  58. package/esm/renderers/wrapControl.d.ts +2 -2
  59. package/esm/renderers/wrapControl.js +13 -16
  60. package/esm/store/app.d.ts +1 -0
  61. package/esm/store/app.js +1 -1
  62. package/esm/store/combo.d.ts +3 -0
  63. package/esm/store/combo.js +1 -1
  64. package/esm/store/crud.d.ts +2 -0
  65. package/esm/store/crud.js +31 -9
  66. package/esm/store/form.d.ts +1 -0
  67. package/esm/store/form.js +10 -4
  68. package/esm/store/formItem.js +2 -2
  69. package/esm/store/iRenderer.d.ts +1 -0
  70. package/esm/store/iRenderer.js +54 -13
  71. package/esm/store/index.js +1 -1
  72. package/esm/store/list.d.ts +1 -0
  73. package/esm/store/list.js +7 -3
  74. package/esm/store/manager.js +1 -1
  75. package/esm/store/modal.d.ts +1 -0
  76. package/esm/store/modal.js +1 -1
  77. package/esm/store/node.js +1 -1
  78. package/esm/store/pagination.d.ts +1 -0
  79. package/esm/store/pagination.js +2 -2
  80. package/esm/store/root.d.ts +4 -6
  81. package/esm/store/root.js +53 -24
  82. package/esm/store/service.d.ts +1 -0
  83. package/esm/store/service.js +1 -1
  84. package/esm/store/status.d.ts +12 -0
  85. package/esm/store/status.js +38 -0
  86. package/esm/store/table.d.ts +28 -23
  87. package/esm/store/table.js +26 -5
  88. package/esm/store/table2.d.ts +7 -6
  89. package/esm/store/table2.js +27 -23
  90. package/esm/theme.d.ts +1 -1
  91. package/esm/theme.js +1 -1
  92. package/esm/types.d.ts +7 -1
  93. package/esm/utils/Animation.js +1 -1
  94. package/esm/utils/ColorScale.js +1 -1
  95. package/esm/utils/DataSchema.js +1 -1
  96. package/esm/utils/DataScope.d.ts +3 -5
  97. package/esm/utils/DataScope.js +88 -31
  98. package/esm/utils/RootClose.js +1 -1
  99. package/esm/utils/SimpleMap.js +1 -1
  100. package/esm/utils/api.js +14 -5
  101. package/esm/utils/attachmentAdpator.js +2 -2
  102. package/esm/utils/autobind.js +1 -1
  103. package/esm/utils/columnsSplit.js +1 -1
  104. package/esm/utils/dataMapping.js +1 -1
  105. package/esm/utils/date.d.ts +7 -0
  106. package/esm/utils/date.js +34 -2
  107. package/esm/utils/debug.js +4 -4
  108. package/esm/utils/decodeEntity.js +1 -1
  109. package/esm/utils/dom.d.ts +3 -0
  110. package/esm/utils/dom.js +47 -10
  111. package/esm/utils/errors.js +1 -1
  112. package/esm/utils/escapeHtml.js +1 -1
  113. package/esm/utils/filter-schema.js +1 -1
  114. package/esm/utils/filter.js +1 -1
  115. package/esm/utils/formatDuration.js +1 -1
  116. package/esm/utils/formula.js +2 -2
  117. package/esm/utils/getVariable.js +1 -1
  118. package/esm/utils/grammar.js +3 -3
  119. package/esm/utils/handleAction.js +1 -1
  120. package/esm/utils/helper.d.ts +9 -2
  121. package/esm/utils/helper.js +52 -20
  122. package/esm/utils/highlight.js +1 -1
  123. package/esm/utils/icon.d.ts +6 -1
  124. package/esm/utils/icon.js +6 -1
  125. package/esm/utils/image.js +1 -1
  126. package/esm/utils/isPureVariable.js +3 -3
  127. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  128. package/esm/utils/keyToPath.js +1 -1
  129. package/esm/utils/makeSorter.js +1 -1
  130. package/esm/utils/memoryParse.d.ts +17 -0
  131. package/esm/utils/memoryParse.js +26 -0
  132. package/esm/utils/normalizeLink.js +1 -1
  133. package/esm/utils/normalizeOptions.js +4 -2
  134. package/esm/utils/object.d.ts +2 -0
  135. package/esm/utils/object.js +27 -2
  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.js +1 -1
  140. package/esm/utils/prettyBytes.js +1 -1
  141. package/esm/utils/renderer-event.js +35 -32
  142. package/esm/utils/replaceText.js +1 -1
  143. package/esm/utils/resize-sensor.js +1 -1
  144. package/esm/utils/resolveCondition.d.ts +1 -0
  145. package/esm/utils/resolveCondition.js +19 -4
  146. package/esm/utils/resolveVariable.js +4 -3
  147. package/esm/utils/resolveVariableAndFilter.js +1 -1
  148. package/esm/utils/resolveVariableAndFilterForAsync.d.ts +6 -1
  149. package/esm/utils/resolveVariableAndFilterForAsync.js +23 -5
  150. package/esm/utils/scrollPosition.js +1 -1
  151. package/esm/utils/string2regExp.js +1 -1
  152. package/esm/utils/stripNumber.js +1 -1
  153. package/esm/utils/style-helper.d.ts +12 -4
  154. package/esm/utils/style-helper.js +96 -19
  155. package/esm/utils/style.js +2 -2
  156. package/esm/utils/toNumber.js +1 -1
  157. package/esm/utils/tokenize.js +1 -1
  158. package/esm/utils/tpl-builtin.d.ts +2 -1
  159. package/esm/utils/tpl-builtin.js +19 -2
  160. package/esm/utils/tpl-lodash.js +3 -2
  161. package/esm/utils/tpl.d.ts +2 -0
  162. package/esm/utils/tpl.js +24 -2
  163. package/esm/utils/uncontrollable.js +1 -1
  164. package/esm/utils/validations.d.ts +4 -1
  165. package/esm/utils/validations.js +27 -12
  166. package/lib/Root.d.ts +89 -4
  167. package/lib/Root.js +15 -4
  168. package/lib/RootRenderer.d.ts +3 -1
  169. package/lib/RootRenderer.js +8 -2
  170. package/lib/SchemaRenderer.d.ts +4 -2
  171. package/lib/SchemaRenderer.js +32 -23
  172. package/lib/Scoped.d.ts +8 -0
  173. package/lib/Scoped.js +20 -4
  174. package/lib/StatusScoped.d.ts +58 -0
  175. package/lib/StatusScoped.js +63 -0
  176. package/lib/WithRootStore.d.ts +2 -2
  177. package/lib/WithRootStore.js +1 -1
  178. package/lib/WithStore.js +6 -2
  179. package/lib/actions/Action.d.ts +1 -0
  180. package/lib/actions/Action.js +19 -5
  181. package/lib/actions/AjaxAction.js +1 -1
  182. package/lib/actions/BreakAction.js +1 -1
  183. package/lib/actions/BroadcastAction.js +1 -1
  184. package/lib/actions/CmptAction.js +8 -7
  185. package/lib/actions/ContinueAction.js +1 -1
  186. package/lib/actions/CopyAction.js +1 -1
  187. package/lib/actions/CustomAction.js +4 -4
  188. package/lib/actions/DialogAction.d.ts +16 -2
  189. package/lib/actions/DialogAction.js +23 -7
  190. package/lib/actions/DrawerAction.js +1 -1
  191. package/lib/actions/EmailAction.js +1 -1
  192. package/lib/actions/LinkAction.js +1 -1
  193. package/lib/actions/LoopAction.js +1 -1
  194. package/lib/actions/PageAction.js +1 -1
  195. package/lib/actions/ParallelAction.js +1 -1
  196. package/lib/actions/SwitchAction.js +1 -1
  197. package/lib/actions/ToastAction.js +1 -1
  198. package/lib/components/CustomStyle.d.ts +13 -0
  199. package/lib/components/CustomStyle.js +22 -0
  200. package/lib/components/LazyComponent.d.ts +1 -1
  201. package/lib/components/LazyComponent.js +1 -1
  202. package/lib/components/Overlay.d.ts +3 -3
  203. package/lib/components/Overlay.js +1 -1
  204. package/lib/components/PopOver.d.ts +2 -2
  205. package/lib/components/PopOver.js +1 -1
  206. package/lib/env.d.ts +10 -2
  207. package/lib/env.js +1 -1
  208. package/lib/envOverwrite.js +1 -5
  209. package/lib/factory.d.ts +5 -3
  210. package/lib/factory.js +3 -3
  211. package/lib/index.d.ts +11 -4
  212. package/lib/index.js +61 -23
  213. package/lib/locale.d.ts +2 -2
  214. package/lib/locale.js +10 -3
  215. package/lib/renderers/Form.d.ts +3 -2
  216. package/lib/renderers/Form.js +215 -179
  217. package/lib/renderers/Item.d.ts +55 -41
  218. package/lib/renderers/Item.js +30 -19
  219. package/lib/renderers/Options.js +11 -4
  220. package/lib/renderers/Placeholder.js +1 -1
  221. package/lib/renderers/builtin.js +1 -1
  222. package/lib/renderers/register.js +1 -1
  223. package/lib/renderers/wrapControl.d.ts +2 -2
  224. package/lib/renderers/wrapControl.js +12 -15
  225. package/lib/store/app.d.ts +1 -0
  226. package/lib/store/app.js +1 -1
  227. package/lib/store/combo.d.ts +3 -0
  228. package/lib/store/combo.js +1 -1
  229. package/lib/store/crud.d.ts +2 -0
  230. package/lib/store/crud.js +31 -9
  231. package/lib/store/form.d.ts +1 -0
  232. package/lib/store/form.js +10 -4
  233. package/lib/store/formItem.js +2 -2
  234. package/lib/store/iRenderer.d.ts +1 -0
  235. package/lib/store/iRenderer.js +53 -12
  236. package/lib/store/index.js +1 -1
  237. package/lib/store/list.d.ts +1 -0
  238. package/lib/store/list.js +7 -3
  239. package/lib/store/manager.js +1 -1
  240. package/lib/store/modal.d.ts +1 -0
  241. package/lib/store/modal.js +1 -1
  242. package/lib/store/node.js +1 -1
  243. package/lib/store/pagination.d.ts +1 -0
  244. package/lib/store/pagination.js +2 -2
  245. package/lib/store/root.d.ts +4 -6
  246. package/lib/store/root.js +52 -23
  247. package/lib/store/service.d.ts +1 -0
  248. package/lib/store/service.js +1 -1
  249. package/lib/store/status.d.ts +12 -0
  250. package/lib/store/status.js +42 -0
  251. package/lib/store/table.d.ts +28 -23
  252. package/lib/store/table.js +26 -5
  253. package/lib/store/table2.d.ts +7 -6
  254. package/lib/store/table2.js +27 -23
  255. package/lib/theme.d.ts +1 -1
  256. package/lib/theme.js +1 -1
  257. package/lib/types.d.ts +7 -1
  258. package/lib/utils/Animation.js +1 -1
  259. package/lib/utils/ColorScale.js +1 -1
  260. package/lib/utils/DataSchema.js +1 -1
  261. package/lib/utils/DataScope.d.ts +3 -5
  262. package/lib/utils/DataScope.js +86 -29
  263. package/lib/utils/RootClose.js +1 -1
  264. package/lib/utils/SimpleMap.js +1 -1
  265. package/lib/utils/api.js +13 -4
  266. package/lib/utils/attachmentAdpator.js +2 -2
  267. package/lib/utils/autobind.js +1 -1
  268. package/lib/utils/columnsSplit.js +1 -1
  269. package/lib/utils/dataMapping.js +1 -1
  270. package/lib/utils/date.d.ts +7 -0
  271. package/lib/utils/date.js +34 -1
  272. package/lib/utils/debug.js +4 -4
  273. package/lib/utils/decodeEntity.js +1 -1
  274. package/lib/utils/dom.d.ts +3 -0
  275. package/lib/utils/dom.js +48 -9
  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 +2 -2
  282. package/lib/utils/getVariable.js +1 -1
  283. package/lib/utils/grammar.js +3 -3
  284. package/lib/utils/handleAction.js +1 -1
  285. package/lib/utils/helper.d.ts +9 -2
  286. package/lib/utils/helper.js +53 -19
  287. package/lib/utils/highlight.js +1 -1
  288. package/lib/utils/icon.d.ts +6 -1
  289. package/lib/utils/icon.js +6 -1
  290. package/lib/utils/image.js +1 -1
  291. package/lib/utils/isPureVariable.js +3 -3
  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/memoryParse.d.ts +17 -0
  296. package/lib/utils/memoryParse.js +30 -0
  297. package/lib/utils/normalizeLink.js +1 -1
  298. package/lib/utils/normalizeOptions.js +4 -2
  299. package/lib/utils/object.d.ts +2 -0
  300. package/lib/utils/object.js +28 -1
  301. package/lib/utils/offset.js +1 -1
  302. package/lib/utils/offsetParent.js +1 -1
  303. package/lib/utils/optionValueCompare.js +1 -1
  304. package/lib/utils/position.js +1 -1
  305. package/lib/utils/prettyBytes.js +1 -1
  306. package/lib/utils/renderer-event.js +35 -32
  307. package/lib/utils/replaceText.js +1 -1
  308. package/lib/utils/resize-sensor.js +1 -1
  309. package/lib/utils/resolveCondition.d.ts +1 -0
  310. package/lib/utils/resolveCondition.js +19 -3
  311. package/lib/utils/resolveVariable.js +3 -2
  312. package/lib/utils/resolveVariableAndFilter.js +1 -1
  313. package/lib/utils/resolveVariableAndFilterForAsync.d.ts +6 -1
  314. package/lib/utils/resolveVariableAndFilterForAsync.js +22 -3
  315. package/lib/utils/scrollPosition.js +1 -1
  316. package/lib/utils/string2regExp.js +1 -1
  317. package/lib/utils/stripNumber.js +1 -1
  318. package/lib/utils/style-helper.d.ts +12 -4
  319. package/lib/utils/style-helper.js +101 -18
  320. package/lib/utils/style.js +2 -2
  321. package/lib/utils/toNumber.js +1 -1
  322. package/lib/utils/tokenize.js +1 -1
  323. package/lib/utils/tpl-builtin.d.ts +2 -1
  324. package/lib/utils/tpl-builtin.js +19 -2
  325. package/lib/utils/tpl-lodash.js +3 -2
  326. package/lib/utils/tpl.d.ts +2 -0
  327. package/lib/utils/tpl.js +24 -1
  328. package/lib/utils/uncontrollable.js +1 -1
  329. package/lib/utils/validations.d.ts +4 -1
  330. package/lib/utils/validations.js +27 -12
  331. package/package.json +3 -3
package/lib/factory.d.ts CHANGED
@@ -4,7 +4,8 @@ import { fetcherResult, SchemaNode, Schema, PlainObject } from './types';
4
4
  import { ThemeProps } from './theme';
5
5
  import { LocaleProps } from './locale';
6
6
  import type { RendererEnv } from './env';
7
- import { OnEventProps } from './utils/renderer-event';
7
+ import { OnEventProps, RendererEvent } from './utils/renderer-event';
8
+ import { StatusScopedProps } from './StatusScoped';
8
9
  export interface TestFunc {
9
10
  (path: string, schema?: Schema, resolveRenderer?: (path: string, schema?: Schema, props?: any) => null | RendererConfig): boolean;
10
11
  }
@@ -20,7 +21,7 @@ export interface RendererBasicConfig {
20
21
  isFormItem?: boolean;
21
22
  autoVar?: boolean;
22
23
  }
23
- export interface RendererProps extends ThemeProps, LocaleProps, OnEventProps {
24
+ export interface RendererProps extends ThemeProps, LocaleProps, OnEventProps, StatusScopedProps {
24
25
  render: (region: string, node: SchemaNode, props?: PlainObject) => JSX.Element;
25
26
  env: RendererEnv;
26
27
  $path: string;
@@ -35,6 +36,7 @@ export interface RendererProps extends ThemeProps, LocaleProps, OnEventProps {
35
36
  style?: {
36
37
  [propName: string]: any;
37
38
  };
39
+ onBroadcast?: (type: string, rawEvent: RendererEvent<any>, ctx: any) => any;
38
40
  [propName: string]: any;
39
41
  }
40
42
  export type RendererComponent = React.ComponentType<RendererProps> & {
@@ -71,7 +73,7 @@ export declare function filterSchema(schema: Schema, render: RendererConfig, pro
71
73
  export declare function Renderer(config: RendererBasicConfig): <T extends RendererComponent>(component: T) => T;
72
74
  export declare function registerRenderer(config: RendererConfig): RendererConfig;
73
75
  export declare function unRegisterRenderer(config: RendererConfig | string): void;
74
- export declare function loadRenderer(schema: Schema, path: string): JSX.Element;
76
+ export declare function loadRenderer(schema: Schema, path: string): React.JSX.Element;
75
77
  export declare const defaultOptions: RenderOptions;
76
78
  export declare const stores: {
77
79
  [propName: string]: IRendererStore;
package/lib/factory.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -147,11 +147,11 @@ var defaultOptions = {
147
147
  }
148
148
  },
149
149
  isCancel: function () {
150
- console.error('Please implement isCancel. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
150
+ console.error('Please implement isCancel. see https://aisuda.bce.baidu.com/amis/zh-CN/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
151
151
  return false;
152
152
  },
153
153
  updateLocation: function () {
154
- console.error('Please implement updateLocation. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
154
+ console.error('Please implement updateLocation. see https://aisuda.bce.baidu.com/amis/zh-CN/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97');
155
155
  },
156
156
  jumpTo: function (to, action) {
157
157
  if (to === 'goBack') {
package/lib/index.d.ts CHANGED
@@ -14,10 +14,11 @@ export * from './types';
14
14
  export * from './store';
15
15
  import * as utils from './utils/helper';
16
16
  import { RegisterStore } from './store';
17
+ import type { IColumn, IColumn2, IRow, IRow2 } from './store';
17
18
  import { setDefaultLocale, getDefaultLocale, makeTranslator, register as registerLocale, extendLocale, removeLocaleData, localeable } from './locale';
18
19
  import type { LocaleProps, TranslateFn } from './locale';
19
- import Scoped, { ScopedContext } from './Scoped';
20
- import type { IScopedContext } from './Scoped';
20
+ import Scoped, { ScopedContext, filterTarget } from './Scoped';
21
+ import type { ScopedComponentType, IScopedContext } from './Scoped';
21
22
  import { classnames, getClassPrefix, setDefaultTheme, theme, getTheme, themeable, makeClassnames } from './theme';
22
23
  import type { ClassNamesFn, ThemeProps } from './theme';
23
24
  declare const classPrefix: string | undefined;
@@ -37,7 +38,13 @@ import LazyComponent from './components/LazyComponent';
37
38
  import Overlay from './components/Overlay';
38
39
  import PopOver from './components/PopOver';
39
40
  import { FormRenderer } from './renderers/Form';
40
- import type { FormHorizontal } from './renderers/Form';
41
+ import type { FormHorizontal, FormSchemaBase } from './renderers/Form';
42
+ import type { OnEventProps } from './utils/index';
43
+ import { valueMap as styleMap } from './utils/style-helper';
44
+ import { RENDERER_TRANSMISSION_OMIT_PROPS } from './SchemaRenderer';
45
+ import type { IItem } from './store/list';
46
+ import CustomStyle from './components/CustomStyle';
47
+ import { StatusScoped } from './StatusScoped';
41
48
  export declare const version = "__buildVersion";
42
- export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig };
49
+ export { clearStoresCache, updateEnv, Renderer, RendererProps, RenderOptions, RendererEnv, EnvContext, RegisterStore, FormItem, FormItemWrap, FormItemProps, OptionsControl, FormRenderer, FormHorizontal, utils, getRendererByName, registerRenderer, unRegisterRenderer, getRenderers, registerFormItem, getFormItemByName, registerOptionsControl, resolveRenderer, filterSchema, Scoped, ScopedContext, IScopedContext, StatusScoped, setDefaultTheme, theme, themeable, ThemeProps, getTheme, classPrefix, getClassPrefix, classnames, makeClassnames, getDefaultLocale, setDefaultLocale, registerLocale, makeTranslator, extendLocale, removeLocaleData, localeable, LocaleProps, TranslateFn, ClassNamesFn, parse, lexer, Evaluator, AsyncEvaluator, FilterContext, filters, getFilters, registerFilter, extendsFilters, registerFunction, evaluate, evaluateForAsync, LazyComponent, Overlay, PopOver, addSchemaFilter, OptionsControlProps, FormOptionsControl, FormControlProps, FormBaseControl, extendDefaultEnv, addRootWrapper, RendererConfig, styleMap, RENDERER_TRANSMISSION_OMIT_PROPS, ScopedComponentType, IItem, IColumn, IRow, IColumn2, IRow2, OnEventProps, FormSchemaBase, filterTarget, CustomStyle };
43
50
  export declare function render(schema: Schema, props?: RootRenderProps, options?: RenderOptions, pathPrefix?: string): JSX.Element;
package/lib/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -101,6 +101,9 @@ var LazyComponent = require('./components/LazyComponent.js');
101
101
  var Overlay = require('./components/Overlay.js');
102
102
  var PopOver = require('./components/PopOver.js');
103
103
  var Form = require('./renderers/Form.js');
104
+ var SchemaRenderer = require('./SchemaRenderer.js');
105
+ var CustomStyle = require('./components/CustomStyle.js');
106
+ var StatusScoped = require('./StatusScoped.js');
104
107
  var stripNumber = require('./utils/stripNumber.js');
105
108
  var iRenderer = require('./store/iRenderer.js');
106
109
  var service = require('./store/service.js');
@@ -129,35 +132,52 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
129
132
  */
130
133
  var classPrefix = theme.getClassPrefix();
131
134
  // @ts-ignore
132
- var version = '2.9.0';
135
+ var version = '3.1.0';
133
136
  function render(schema, props, options, pathPrefix) {
134
137
  if (props === void 0) { props = {}; }
135
138
  if (options === void 0) { options = {}; }
136
139
  if (pathPrefix === void 0) { pathPrefix = ''; }
140
+ return (React__default["default"].createElement(AMISRenderer, tslib.__assign({}, props, { schema: schema, pathPrefix: pathPrefix, options: options })));
141
+ }
142
+ function AMISRenderer(_a) {
143
+ var schema = _a.schema, options = _a.options, pathPrefix = _a.pathPrefix, props = tslib.__rest(_a, ["schema", "options", "pathPrefix"]);
137
144
  var locale$1 = props.locale || locale.getDefaultLocale();
138
145
  // 兼容 locale 的不同写法
139
- locale$1 = locale$1.replace('_', '-');
140
- locale$1 = locale$1 === 'en' ? 'en-US' : locale$1;
141
- locale$1 = locale$1 === 'zh' ? 'zh-CN' : locale$1;
142
- locale$1 = locale$1 === 'cn' ? 'zh-CN' : locale$1;
143
- var translate = props.translate || locale.makeTranslator(locale$1);
144
- var store = factory.stores[options.session || 'global'];
145
- // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
146
- envOverwrite.envOverwrite(schema, locale$1);
147
- if (!store) {
148
- options = tslib.__assign(tslib.__assign(tslib.__assign({}, factory.defaultOptions), options), { fetcher: options.fetcher
149
- ? api.wrapFetcher(options.fetcher, options.tracker)
150
- : factory.defaultOptions.fetcher, confirm: helper.promisify(options.confirm || factory.defaultOptions.confirm || window.confirm), locale: locale$1, translate: translate });
151
- if (options.enableAMISDebug) {
152
- // 因为里面还有 render
153
- setTimeout(function () {
154
- debug.enableDebug();
155
- }, 10);
146
+ locale$1 =
147
+ locale$1 === 'en'
148
+ ? 'en-US'
149
+ : locale$1 === 'zh' || locale$1 === 'cn'
150
+ ? 'zh-CN'
151
+ : locale$1.replace('_', '-');
152
+ var translate = React__default["default"].useCallback(function () {
153
+ var fn = props.translate || locale.makeTranslator(locale$1);
154
+ return fn.apply(null, arguments);
155
+ }, [locale$1, props.translate]);
156
+ var store = React__default["default"].useMemo(function () {
157
+ var store = factory.stores[options.session || 'global'];
158
+ if (!store) {
159
+ options = tslib.__assign(tslib.__assign(tslib.__assign({}, factory.defaultOptions), options), { fetcher: options.fetcher
160
+ ? api.wrapFetcher(options.fetcher, options.tracker)
161
+ : factory.defaultOptions.fetcher, confirm: helper.promisify(options.confirm || factory.defaultOptions.confirm || window.confirm), locale: locale$1, translate: translate });
162
+ if (options.enableAMISDebug) {
163
+ // 因为里面还有 render
164
+ setTimeout(function () {
165
+ debug.enableDebug();
166
+ }, 10);
167
+ }
168
+ store = index.RendererStore.create({}, options);
169
+ factory.stores[options.session || 'global'] = store;
156
170
  }
157
- store = index.RendererStore.create({}, options);
158
- factory.stores[options.session || 'global'] = store;
159
- }
160
- window.amisStore = store; // 为了方便 debug.
171
+ else {
172
+ // 更新 env
173
+ var env_1 = mobxStateTree.getEnv(store);
174
+ Object.assign(env_1, tslib.__assign(tslib.__assign({}, options), { fetcher: options.fetcher
175
+ ? api.wrapFetcher(options.fetcher, options.tracker)
176
+ : env_1.fetcher, confirm: options.confirm ? helper.promisify(options.confirm) : env_1.confirm, locale: locale$1, translate: translate }));
177
+ }
178
+ window.amisStore = store; // 为了方便 debug.
179
+ return store;
180
+ }, Object.keys(options).concat(Object.values(options)).concat(locale$1));
161
181
  var env$1 = mobxStateTree.getEnv(store);
162
182
  var theme$1 = props.theme || options.theme || 'cxd';
163
183
  if (theme$1 === 'default') {
@@ -172,6 +192,8 @@ function render(schema, props, options, pathPrefix) {
172
192
  if (options.useMobileUI !== false) {
173
193
  props.useMobileUI = true;
174
194
  }
195
+ // 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
196
+ envOverwrite.envOverwrite(schema, locale$1);
175
197
  schema = replaceText.replaceText(schema, options.replaceText, env$1.replaceTextIgnoreKeys);
176
198
  return (React__default["default"].createElement(env.EnvContext.Provider, { value: env$1 },
177
199
  React__default["default"].createElement(Root["default"], tslib.__assign({}, props, { schema: schema, pathPrefix: pathPrefix, rootStore: store, env: env$1, theme: theme$1, locale: locale$1, translate: translate }))));
@@ -217,6 +239,7 @@ exports.resolveMappingObject = dataMapping.resolveMappingObject;
217
239
  exports.DataSchema = DataSchema.DataSchema;
218
240
  exports.DataScope = DataScope.DataScope;
219
241
  exports.filterDate = date.filterDate;
242
+ exports.normalizeDate = date.normalizeDate;
220
243
  exports.parseDuration = date.parseDuration;
221
244
  exports.relativeValueRe = date.relativeValueRe;
222
245
  exports.DebugWrapper = debug.DebugWrapper;
@@ -227,6 +250,7 @@ exports.calculatePosition = dom.calculatePosition;
227
250
  exports.getContainer = dom.getContainer;
228
251
  exports.getStyleNumber = dom.getStyleNumber;
229
252
  exports.ownerDocument = dom.ownerDocument;
253
+ exports.renderTextByKeyword = dom.renderTextByKeyword;
230
254
  exports.ServerError = errors.ServerError;
231
255
  exports.escapeHtml = escapeHtml.escapeHtml;
232
256
  exports.getExprProperties = filterSchema.getExprProperties;
@@ -259,6 +283,7 @@ exports.filterTree = helper.filterTree;
259
283
  exports.findIndex = helper.findIndex;
260
284
  exports.findObjectsWithKey = helper.findObjectsWithKey;
261
285
  exports.findTree = helper.findTree;
286
+ exports.findTreeAll = helper.findTreeAll;
262
287
  exports.findTreeIndex = helper.findTreeIndex;
263
288
  exports.flattenTree = helper.flattenTree;
264
289
  exports.flattenTreeWithLeafNodes = helper.flattenTreeWithLeafNodes;
@@ -293,6 +318,7 @@ exports.isUnfolded = helper.isUnfolded;
293
318
  exports.isVisible = helper.isVisible;
294
319
  exports.lcFirst = helper.lcFirst;
295
320
  exports.loadScript = helper.loadScript;
321
+ exports.loadStyle = helper.loadStyle;
296
322
  exports.makeColumnClassBuild = helper.makeColumnClassBuild;
297
323
  exports.makeHorizontalDeeper = helper.makeHorizontalDeeper;
298
324
  exports.mapObject = helper.mapObject;
@@ -334,8 +360,10 @@ exports.normalizeLink = normalizeLink.normalizeLink;
334
360
  exports.normalizeOptions = normalizeOptions.normalizeOptions;
335
361
  exports.cloneObject = object.cloneObject;
336
362
  exports.createObject = object.createObject;
363
+ exports.createObjectFromChain = object.createObjectFromChain;
337
364
  exports.deleteVariable = object.deleteVariable;
338
365
  exports.extendObject = object.extendObject;
366
+ exports.extractObjectChain = object.extractObjectChain;
339
367
  exports.isObject = object.isObject;
340
368
  exports.pickValues = object.pickValues;
341
369
  exports.setVariable = object.setVariable;
@@ -356,6 +384,7 @@ exports.resizeSensor = resizeSensor.resizeSensor;
356
384
  exports.resolveVariable = resolveVariable.resolveVariable;
357
385
  exports.resolveVariableAndFilter = resolveVariableAndFilter.resolveVariableAndFilter;
358
386
  exports.resolveVariableAndFilterForAsync = resolveVariableAndFilterForAsync.resolveVariableAndFilterForAsync;
387
+ exports.setFormulaEvalErrorHandler = resolveVariableAndFilterForAsync.setFormulaEvalErrorHandler;
359
388
  exports.RootClose = RootClose.RootClose;
360
389
  exports.scrollPosition = scrollPosition.scrollPosition;
361
390
  exports.SimpleMap = SimpleMap.SimpleMap;
@@ -363,6 +392,7 @@ exports.string2regExp = string2regExp.string2regExp;
363
392
  exports.buildStyle = style.buildStyle;
364
393
  exports.tokenize = tokenize.tokenize;
365
394
  exports.register = tplBuiltin.register;
395
+ exports.asyncFilter = tpl.asyncFilter;
366
396
  exports.evalExpression = tpl.evalExpression;
367
397
  exports.evalExpressionWithConditionBuilder = tpl.evalExpressionWithConditionBuilder;
368
398
  exports.evalJS = tpl.evalJS;
@@ -382,12 +412,16 @@ exports.decodeEntity = decodeEntity.decodeEntity;
382
412
  exports.addStyle = styleHelper.addStyle;
383
413
  exports.findOrCreactStyle = styleHelper.findOrCreactStyle;
384
414
  exports.formatStyle = styleHelper.formatStyle;
415
+ exports.getValueByPath = styleHelper.getValueByPath;
416
+ exports.inheritValueMap = styleHelper.inheritValueMap;
385
417
  exports.insertCustomStyle = styleHelper.insertCustomStyle;
386
418
  exports.insertStyle = styleHelper.insertStyle;
419
+ exports.styleMap = styleHelper.valueMap;
387
420
  exports.valueMap = styleHelper.valueMap;
388
421
  exports.getConditionComputers = resolveCondition.getConditionComputers;
389
422
  exports.registerConditionComputer = resolveCondition.registerConditionComputer;
390
423
  exports.resolveCondition = resolveCondition.resolveCondition;
424
+ exports.setConditionComputeErrorHandler = resolveCondition.setConditionComputeErrorHandler;
391
425
  exports.animation = Animation["default"];
392
426
  exports.RegisterStore = index.RegisterStore;
393
427
  exports.RendererStore = index.RendererStore;
@@ -400,6 +434,7 @@ exports.removeLocaleData = locale.removeLocaleData;
400
434
  exports.setDefaultLocale = locale.setDefaultLocale;
401
435
  exports.Scoped = Scoped.HocScoped;
402
436
  exports.ScopedContext = Scoped.ScopedContext;
437
+ exports.filterTarget = Scoped.filterTarget;
403
438
  exports.classnames = theme.classnames;
404
439
  exports.getClassPrefix = theme.getClassPrefix;
405
440
  exports.getTheme = theme.getTheme;
@@ -471,6 +506,9 @@ exports.LazyComponent = LazyComponent["default"];
471
506
  exports.Overlay = Overlay["default"];
472
507
  exports.PopOver = PopOver["default"];
473
508
  exports.FormRenderer = Form.FormRenderer;
509
+ exports.RENDERER_TRANSMISSION_OMIT_PROPS = SchemaRenderer.RENDERER_TRANSMISSION_OMIT_PROPS;
510
+ exports.CustomStyle = CustomStyle["default"];
511
+ exports.StatusScoped = StatusScoped.StatusScoped;
474
512
  exports.stripNumber = stripNumber.stripNumber;
475
513
  exports.iRendererStore = iRenderer.iRendererStore;
476
514
  exports.ServiceStore = service.ServiceStore;
package/lib/locale.d.ts CHANGED
@@ -5,7 +5,7 @@ interface LocaleConfig {
5
5
  [propsName: string]: string;
6
6
  }
7
7
  export declare function register(name: string, config: LocaleConfig): void;
8
- export declare function extendLocale(name: string, config: LocaleConfig): void;
8
+ export declare function extendLocale(name: string, config: LocaleConfig, cover?: boolean): void;
9
9
  /** 删除语料数据 */
10
10
  export declare function removeLocaleData(name: string, key: Array<string> | string): void;
11
11
  export declare function makeTranslator(locale?: string): TranslateFn;
@@ -24,7 +24,7 @@ export declare function localeable<T extends React.ComponentType<React.Component
24
24
  ref: any;
25
25
  childRef(ref: any): void;
26
26
  getWrappedInstance(): any;
27
- render(): JSX.Element;
27
+ render(): React.JSX.Element;
28
28
  context: unknown;
29
29
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof LocaleProps>> & {
30
30
  locale?: string | undefined;
package/lib/locale.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v2.9.0
2
+ * amis-core v3.1.0
3
3
  * Copyright 2018-2023 fex
4
4
  */
5
5
 
@@ -27,8 +27,15 @@ function register(name, config) {
27
27
  // 修改为扩展,防止已注册的语料被覆盖
28
28
  extendLocale(name, config);
29
29
  }
30
- function extendLocale(name, config) {
31
- locales[name] = tslib.__assign(tslib.__assign({}, (locales[name] || {})), config);
30
+ function extendLocale(name, config, cover) {
31
+ if (cover === void 0) { cover = true; }
32
+ if (cover) {
33
+ // 覆盖式扩展语料
34
+ locales[name] = tslib.__assign(tslib.__assign({}, (locales[name] || {})), config);
35
+ }
36
+ else {
37
+ locales[name] = tslib.__assign(tslib.__assign({}, config), (locales[name] || {}));
38
+ }
32
39
  }
33
40
  /** 删除语料数据 */
34
41
  function removeLocaleData(name, key) {
@@ -120,7 +120,7 @@ export interface FormSchemaBase {
120
120
  /**
121
121
  * Form 用来保存数据的 api。
122
122
  *
123
- * 详情:https://baidu.gitee.io/amis/docs/components/form/index#%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4
123
+ * 详情:https://aisuda.bce.baidu.com/amis/zh-CN/components/form/index#%E8%A1%A8%E5%8D%95%E6%8F%90%E4%BA%A4
124
124
  */
125
125
  api?: string | BaseApiObject;
126
126
  /**
@@ -326,6 +326,7 @@ export default class Form extends React.Component<FormProps, object> {
326
326
  componentDidMount(): void;
327
327
  componentDidUpdate(prevProps: FormProps): void;
328
328
  componentWillUnmount(): void;
329
+ dispatchInited(value: any): Promise<any>;
329
330
  blockRouting(): any;
330
331
  beforePageUnload(e: any): any;
331
332
  onInit(): Promise<void>;
@@ -368,7 +369,7 @@ export default class Form extends React.Component<FormProps, object> {
368
369
  }, region?: string, otherProps?: Partial<FormProps>): React.ReactNode;
369
370
  renderChildren(children: Array<any>, region: string, otherProps?: Partial<FormProps>): React.ReactNode;
370
371
  renderChild(control: SchemaNode, key?: any, otherProps?: Partial<FormProps>, region?: string): React.ReactNode;
371
- renderBody(): JSX.Element;
372
+ renderBody(): React.JSX.Element;
372
373
  render(): JSX.Element;
373
374
  }
374
375
  export declare class FormRenderer extends Form {