amis-core 6.12.0-beta.2 → 6.12.0-beta.4

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 (288) hide show
  1. package/esm/Root.js +1 -1
  2. package/esm/RootRenderer.js +1 -1
  3. package/esm/SchemaRenderer.js +1 -1
  4. package/esm/Scoped.js +2 -1
  5. package/esm/StatusScoped.js +1 -1
  6. package/esm/StyleManager.js +1 -1
  7. package/esm/WithRootStore.js +1 -1
  8. package/esm/WithStore.js +1 -1
  9. package/esm/actions/Action.js +1 -1
  10. package/esm/actions/AjaxAction.js +1 -1
  11. package/esm/actions/BreakAction.js +1 -1
  12. package/esm/actions/BroadcastAction.js +1 -1
  13. package/esm/actions/CmptAction.js +1 -1
  14. package/esm/actions/ContinueAction.js +1 -1
  15. package/esm/actions/CopyAction.js +1 -1
  16. package/esm/actions/CustomAction.js +2 -1
  17. package/esm/actions/DialogAction.js +2 -1
  18. package/esm/actions/DrawerAction.js +2 -1
  19. package/esm/actions/EmailAction.js +1 -1
  20. package/esm/actions/EventAction.js +2 -1
  21. package/esm/actions/LinkAction.js +1 -1
  22. package/esm/actions/LoopAction.js +1 -1
  23. package/esm/actions/PageAction.js +1 -1
  24. package/esm/actions/ParallelAction.js +1 -1
  25. package/esm/actions/PrintAction.js +1 -1
  26. package/esm/actions/StatusAction.js +1 -1
  27. package/esm/actions/SwitchAction.js +1 -1
  28. package/esm/actions/ToastAction.js +1 -1
  29. package/esm/actions/WaitAction.js +1 -1
  30. package/esm/components/Animations.js +2 -1
  31. package/esm/components/CustomStyle.js +1 -1
  32. package/esm/components/ErrorBoundary.js +1 -1
  33. package/esm/components/LazyComponent.js +1 -1
  34. package/esm/components/Overlay.js +2 -1
  35. package/esm/components/PopOver.js +2 -1
  36. package/esm/env.js +1 -1
  37. package/esm/envOverwrite.js +1 -1
  38. package/esm/factory.js +1 -1
  39. package/esm/globalVar.js +1 -1
  40. package/esm/globalVarClientHandler.js +1 -1
  41. package/esm/globalVarDefaultValueHandler.js +1 -1
  42. package/esm/index.js +4 -4
  43. package/esm/locale.js +1 -1
  44. package/esm/polyfills.js +1 -1
  45. package/esm/renderers/Form.js +1 -1
  46. package/esm/renderers/Item.js +1 -1
  47. package/esm/renderers/Options.js +1 -1
  48. package/esm/renderers/Placeholder.js +1 -1
  49. package/esm/renderers/builtin.js +1 -1
  50. package/esm/renderers/register.js +1 -1
  51. package/esm/renderers/wrapControl.js +1 -1
  52. package/esm/store/app.js +2 -1
  53. package/esm/store/combo.js +1 -1
  54. package/esm/store/crud.js +1 -1
  55. package/esm/store/form.js +3 -1
  56. package/esm/store/formItem.js +1 -1
  57. package/esm/store/iRenderer.js +5 -1
  58. package/esm/store/index.js +1 -1
  59. package/esm/store/list.js +1 -1
  60. package/esm/store/manager.js +1 -1
  61. package/esm/store/modal.js +1 -1
  62. package/esm/store/node.js +1 -1
  63. package/esm/store/pagination.js +1 -1
  64. package/esm/store/root.js +2 -1
  65. package/esm/store/service.js +2 -1
  66. package/esm/store/status.js +1 -1
  67. package/esm/store/table.js +3 -1
  68. package/esm/store/table2.js +1 -1
  69. package/esm/theme.js +1 -1
  70. package/esm/utils/Animation.js +1 -1
  71. package/esm/utils/ColorScale.js +1 -1
  72. package/esm/utils/DataSchema.js +1 -1
  73. package/esm/utils/DataScope.js +1 -1
  74. package/esm/utils/RootClose.js +1 -1
  75. package/esm/utils/SimpleMap.js +1 -1
  76. package/esm/utils/animations.d.ts +1 -0
  77. package/esm/utils/animations.js +17 -9
  78. package/esm/utils/api.js +1 -1
  79. package/esm/utils/arraySlice.js +1 -1
  80. package/esm/utils/attachmentAdpator.js +3 -29
  81. package/esm/utils/autobind.js +1 -1
  82. package/esm/utils/browser.js +1 -1
  83. package/esm/utils/columnsSplit.js +1 -1
  84. package/esm/utils/concatData.js +1 -1
  85. package/esm/utils/dataMapping.js +1 -1
  86. package/esm/utils/date.js +1 -1
  87. package/esm/utils/debug.js +1 -1
  88. package/esm/utils/decodeEntity.js +1 -1
  89. package/esm/utils/dom.js +1 -1
  90. package/esm/utils/errors.js +1 -1
  91. package/esm/utils/escapeHtml.js +1 -1
  92. package/esm/utils/filter-schema.js +1 -1
  93. package/esm/utils/filter.js +1 -1
  94. package/esm/utils/formatDuration.js +1 -1
  95. package/esm/utils/formula.js +1 -1
  96. package/esm/utils/getVariable.js +1 -1
  97. package/esm/utils/grammar.js +1 -1
  98. package/esm/utils/handleAction.js +1 -1
  99. package/esm/utils/helper.js +1 -1
  100. package/esm/utils/highlight.js +1 -1
  101. package/esm/utils/icon.js +1 -1
  102. package/esm/utils/image.js +1 -1
  103. package/esm/utils/index.js +2 -1
  104. package/esm/utils/isPureVariable.js +1 -1
  105. package/esm/utils/json-schema-2-amis-schema.js +1 -1
  106. package/esm/utils/keyToPath.js +1 -1
  107. package/esm/utils/labelToString.js +1 -1
  108. package/esm/utils/loopTooMuch.js +1 -1
  109. package/esm/utils/makeSorter.js +1 -1
  110. package/esm/utils/math.js +1 -1
  111. package/esm/utils/memoryParse.js +1 -1
  112. package/esm/utils/normalizeLink.js +1 -1
  113. package/esm/utils/normalizeOptions.js +1 -1
  114. package/esm/utils/object.js +1 -1
  115. package/esm/utils/offset.js +1 -1
  116. package/esm/utils/offsetParent.js +1 -1
  117. package/esm/utils/optionValueCompare.js +1 -1
  118. package/esm/utils/position.js +1 -1
  119. package/esm/utils/prettyBytes.js +1 -1
  120. package/esm/utils/printElement.js +1 -1
  121. package/esm/utils/renderer-event.js +1 -1
  122. package/esm/utils/replaceText.js +1 -1
  123. package/esm/utils/resize-sensor.js +1 -1
  124. package/esm/utils/resolveCondition.js +1 -1
  125. package/esm/utils/resolveVariable.js +1 -1
  126. package/esm/utils/resolveVariableAndFilter.js +1 -1
  127. package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
  128. package/esm/utils/scrollPosition.js +1 -1
  129. package/esm/utils/string2regExp.js +1 -1
  130. package/esm/utils/stripNumber.js +1 -1
  131. package/esm/utils/style-helper.js +1 -1
  132. package/esm/utils/style.js +1 -1
  133. package/esm/utils/toNumber.js +1 -1
  134. package/esm/utils/tokenize.js +1 -1
  135. package/esm/utils/tpl-builtin.js +1 -1
  136. package/esm/utils/tpl-lodash.js +1 -1
  137. package/esm/utils/tpl.js +1 -1
  138. package/esm/utils/uncontrollable.js +1 -1
  139. package/esm/utils/validateId.js +1 -1
  140. package/esm/utils/validations.js +1 -1
  141. package/esm/utils/visitedCache.js +1 -1
  142. package/lib/Root.js +1 -1
  143. package/lib/RootRenderer.d.ts +1 -1
  144. package/lib/RootRenderer.js +1 -1
  145. package/lib/SchemaRenderer.js +1 -1
  146. package/lib/Scoped.js +2 -1
  147. package/lib/StatusScoped.js +1 -1
  148. package/lib/StyleManager.js +1 -1
  149. package/lib/WithRootStore.js +1 -1
  150. package/lib/WithStore.js +1 -1
  151. package/lib/actions/Action.js +1 -1
  152. package/lib/actions/AjaxAction.js +1 -1
  153. package/lib/actions/BreakAction.js +1 -1
  154. package/lib/actions/BroadcastAction.js +1 -1
  155. package/lib/actions/CmptAction.js +1 -1
  156. package/lib/actions/ContinueAction.js +1 -1
  157. package/lib/actions/CopyAction.js +1 -1
  158. package/lib/actions/CustomAction.js +2 -1
  159. package/lib/actions/DialogAction.js +2 -1
  160. package/lib/actions/DrawerAction.js +2 -1
  161. package/lib/actions/EmailAction.js +1 -1
  162. package/lib/actions/EventAction.js +2 -1
  163. package/lib/actions/LinkAction.js +1 -1
  164. package/lib/actions/LoopAction.js +1 -1
  165. package/lib/actions/PageAction.js +1 -1
  166. package/lib/actions/ParallelAction.js +1 -1
  167. package/lib/actions/PrintAction.js +1 -1
  168. package/lib/actions/StatusAction.js +1 -1
  169. package/lib/actions/SwitchAction.js +1 -1
  170. package/lib/actions/ToastAction.js +1 -1
  171. package/lib/actions/WaitAction.js +1 -1
  172. package/lib/components/Animations.js +2 -1
  173. package/lib/components/CustomStyle.js +1 -1
  174. package/lib/components/ErrorBoundary.js +1 -1
  175. package/lib/components/LazyComponent.js +1 -1
  176. package/lib/components/Overlay.js +2 -1
  177. package/lib/components/PopOver.js +2 -1
  178. package/lib/env.js +1 -1
  179. package/lib/envOverwrite.js +1 -1
  180. package/lib/factory.js +1 -1
  181. package/lib/globalVar.js +1 -1
  182. package/lib/globalVarClientHandler.js +1 -1
  183. package/lib/globalVarDefaultValueHandler.js +1 -1
  184. package/lib/index.js +4 -4
  185. package/lib/locale.js +1 -1
  186. package/lib/polyfills.js +1 -1
  187. package/lib/renderers/Form.js +1 -1
  188. package/lib/renderers/Item.js +1 -1
  189. package/lib/renderers/Options.js +1 -1
  190. package/lib/renderers/Placeholder.js +1 -1
  191. package/lib/renderers/builtin.js +1 -1
  192. package/lib/renderers/register.js +1 -1
  193. package/lib/renderers/wrapControl.js +1 -1
  194. package/lib/store/app.js +2 -1
  195. package/lib/store/combo.d.ts +24 -25
  196. package/lib/store/combo.js +1 -1
  197. package/lib/store/crud.js +1 -1
  198. package/lib/store/form.d.ts +10 -11
  199. package/lib/store/form.js +3 -1
  200. package/lib/store/formItem.js +1 -1
  201. package/lib/store/iRenderer.js +5 -1
  202. package/lib/store/index.js +1 -1
  203. package/lib/store/list.js +1 -1
  204. package/lib/store/manager.js +1 -1
  205. package/lib/store/modal.js +1 -1
  206. package/lib/store/node.js +1 -1
  207. package/lib/store/pagination.js +1 -1
  208. package/lib/store/root.d.ts +0 -1
  209. package/lib/store/root.js +2 -1
  210. package/lib/store/service.js +2 -1
  211. package/lib/store/status.js +1 -1
  212. package/lib/store/table.d.ts +20 -21
  213. package/lib/store/table.js +3 -1
  214. package/lib/store/table2.js +1 -1
  215. package/lib/theme.js +1 -1
  216. package/lib/utils/Animation.js +1 -1
  217. package/lib/utils/ColorScale.js +1 -1
  218. package/lib/utils/DataSchema.js +1 -1
  219. package/lib/utils/DataScope.js +1 -1
  220. package/lib/utils/RootClose.js +1 -1
  221. package/lib/utils/SimpleMap.js +1 -1
  222. package/lib/utils/animations.d.ts +1 -0
  223. package/lib/utils/animations.js +17 -9
  224. package/lib/utils/api.js +1 -1
  225. package/lib/utils/arraySlice.js +1 -1
  226. package/lib/utils/attachmentAdpator.js +3 -29
  227. package/lib/utils/autobind.js +1 -1
  228. package/lib/utils/browser.js +1 -1
  229. package/lib/utils/columnsSplit.js +1 -1
  230. package/lib/utils/concatData.js +1 -1
  231. package/lib/utils/dataMapping.js +1 -1
  232. package/lib/utils/date.js +1 -1
  233. package/lib/utils/debug.js +1 -1
  234. package/lib/utils/decodeEntity.js +1 -1
  235. package/lib/utils/dom.js +1 -1
  236. package/lib/utils/errors.js +1 -1
  237. package/lib/utils/escapeHtml.js +1 -1
  238. package/lib/utils/filter-schema.js +1 -1
  239. package/lib/utils/filter.js +1 -1
  240. package/lib/utils/formatDuration.js +1 -1
  241. package/lib/utils/formula.js +1 -1
  242. package/lib/utils/getVariable.js +1 -1
  243. package/lib/utils/grammar.js +1 -1
  244. package/lib/utils/handleAction.js +1 -1
  245. package/lib/utils/helper.js +1 -1
  246. package/lib/utils/highlight.js +1 -1
  247. package/lib/utils/icon.js +1 -1
  248. package/lib/utils/image.js +1 -1
  249. package/lib/utils/index.js +2 -1
  250. package/lib/utils/isPureVariable.js +1 -1
  251. package/lib/utils/json-schema-2-amis-schema.js +1 -1
  252. package/lib/utils/keyToPath.js +1 -1
  253. package/lib/utils/labelToString.js +1 -1
  254. package/lib/utils/loopTooMuch.js +1 -1
  255. package/lib/utils/makeSorter.js +1 -1
  256. package/lib/utils/math.js +1 -1
  257. package/lib/utils/memoryParse.js +1 -1
  258. package/lib/utils/normalizeLink.js +1 -1
  259. package/lib/utils/normalizeOptions.js +1 -1
  260. package/lib/utils/object.js +1 -1
  261. package/lib/utils/offset.js +1 -1
  262. package/lib/utils/offsetParent.js +1 -1
  263. package/lib/utils/optionValueCompare.js +1 -1
  264. package/lib/utils/position.js +1 -1
  265. package/lib/utils/prettyBytes.js +1 -1
  266. package/lib/utils/printElement.js +1 -1
  267. package/lib/utils/renderer-event.js +1 -1
  268. package/lib/utils/replaceText.js +1 -1
  269. package/lib/utils/resize-sensor.js +1 -1
  270. package/lib/utils/resolveCondition.js +1 -1
  271. package/lib/utils/resolveVariable.js +1 -1
  272. package/lib/utils/resolveVariableAndFilter.js +1 -1
  273. package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
  274. package/lib/utils/scrollPosition.js +1 -1
  275. package/lib/utils/string2regExp.js +1 -1
  276. package/lib/utils/stripNumber.js +1 -1
  277. package/lib/utils/style-helper.js +1 -1
  278. package/lib/utils/style.js +1 -1
  279. package/lib/utils/toNumber.js +1 -1
  280. package/lib/utils/tokenize.js +1 -1
  281. package/lib/utils/tpl-builtin.js +1 -1
  282. package/lib/utils/tpl-lodash.js +1 -1
  283. package/lib/utils/tpl.js +1 -1
  284. package/lib/utils/uncontrollable.js +1 -1
  285. package/lib/utils/validateId.js +1 -1
  286. package/lib/utils/validations.js +1 -1
  287. package/lib/utils/visitedCache.js +1 -1
  288. package/package.json +2 -2
@@ -1,4 +1,3 @@
1
- /// <reference types="lodash" />
2
1
  import { SnapshotIn, IAnyModelType, Instance } from 'mobx-state-tree';
3
2
  import { IFormStore } from './form';
4
3
  export declare enum SELECTED_STATUS {
@@ -668,7 +667,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
668
667
  closeDialog: (confirmed?: any, result?: any) => void;
669
668
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
670
669
  closePopOver: (confirmed?: any, result?: any) => void;
671
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
670
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
672
671
  changeEmitedValue: (value: any) => void;
673
672
  addSubFormItem: (item: {
674
673
  id: string;
@@ -1203,7 +1202,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
1203
1202
  closeDialog: (confirmed?: any, result?: any) => void;
1204
1203
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1205
1204
  closePopOver: (confirmed?: any, result?: any) => void;
1206
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1205
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1207
1206
  changeEmitedValue: (value: any) => void;
1208
1207
  addSubFormItem: (item: {
1209
1208
  id: string;
@@ -1742,7 +1741,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
1742
1741
  closeDialog: (confirmed?: any, result?: any) => void;
1743
1742
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
1744
1743
  closePopOver: (confirmed?: any, result?: any) => void;
1745
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
1744
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
1746
1745
  changeEmitedValue: (value: any) => void;
1747
1746
  addSubFormItem: (item: {
1748
1747
  id: string;
@@ -2277,7 +2276,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
2277
2276
  closeDialog: (confirmed?: any, result?: any) => void;
2278
2277
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
2279
2278
  closePopOver: (confirmed?: any, result?: any) => void;
2280
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
2279
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
2281
2280
  changeEmitedValue: (value: any) => void;
2282
2281
  addSubFormItem: (item: {
2283
2282
  id: string;
@@ -2821,7 +2820,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
2821
2820
  closeDialog: (confirmed?: any, result?: any) => void;
2822
2821
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
2823
2822
  closePopOver: (confirmed?: any, result?: any) => void;
2824
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
2823
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
2825
2824
  changeEmitedValue: (value: any) => void;
2826
2825
  addSubFormItem: (item: {
2827
2826
  id: string;
@@ -3356,7 +3355,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
3356
3355
  closeDialog: (confirmed?: any, result?: any) => void;
3357
3356
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
3358
3357
  closePopOver: (confirmed?: any, result?: any) => void;
3359
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
3358
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
3360
3359
  changeEmitedValue: (value: any) => void;
3361
3360
  addSubFormItem: (item: {
3362
3361
  id: string;
@@ -3895,7 +3894,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
3895
3894
  closeDialog: (confirmed?: any, result?: any) => void;
3896
3895
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
3897
3896
  closePopOver: (confirmed?: any, result?: any) => void;
3898
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
3897
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
3899
3898
  changeEmitedValue: (value: any) => void;
3900
3899
  addSubFormItem: (item: {
3901
3900
  id: string;
@@ -4430,7 +4429,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
4430
4429
  closeDialog: (confirmed?: any, result?: any) => void;
4431
4430
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4432
4431
  closePopOver: (confirmed?: any, result?: any) => void;
4433
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4432
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4434
4433
  changeEmitedValue: (value: any) => void;
4435
4434
  addSubFormItem: (item: {
4436
4435
  id: string;
@@ -4969,7 +4968,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
4969
4968
  closeDialog: (confirmed?: any, result?: any) => void;
4970
4969
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
4971
4970
  closePopOver: (confirmed?: any, result?: any) => void;
4972
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
4971
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
4973
4972
  changeEmitedValue: (value: any) => void;
4974
4973
  addSubFormItem: (item: {
4975
4974
  id: string;
@@ -5504,7 +5503,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
5504
5503
  closeDialog: (confirmed?: any, result?: any) => void;
5505
5504
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
5506
5505
  closePopOver: (confirmed?: any, result?: any) => void;
5507
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
5506
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
5508
5507
  changeEmitedValue: (value: any) => void;
5509
5508
  addSubFormItem: (item: {
5510
5509
  id: string;
@@ -6166,7 +6165,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
6166
6165
  closeDialog: (confirmed?: any, result?: any) => void;
6167
6166
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
6168
6167
  closePopOver: (confirmed?: any, result?: any) => void;
6169
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
6168
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
6170
6169
  changeEmitedValue: (value: any) => void;
6171
6170
  addSubFormItem: (item: {
6172
6171
  id: string;
@@ -6701,7 +6700,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
6701
6700
  closeDialog: (confirmed?: any, result?: any) => void;
6702
6701
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
6703
6702
  closePopOver: (confirmed?: any, result?: any) => void;
6704
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
6703
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
6705
6704
  changeEmitedValue: (value: any) => void;
6706
6705
  addSubFormItem: (item: {
6707
6706
  id: string;
@@ -7240,7 +7239,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
7240
7239
  closeDialog: (confirmed?: any, result?: any) => void;
7241
7240
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
7242
7241
  closePopOver: (confirmed?: any, result?: any) => void;
7243
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
7242
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
7244
7243
  changeEmitedValue: (value: any) => void;
7245
7244
  addSubFormItem: (item: {
7246
7245
  id: string;
@@ -7775,7 +7774,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
7775
7774
  closeDialog: (confirmed?: any, result?: any) => void;
7776
7775
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
7777
7776
  closePopOver: (confirmed?: any, result?: any) => void;
7778
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
7777
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
7779
7778
  changeEmitedValue: (value: any) => void;
7780
7779
  addSubFormItem: (item: {
7781
7780
  id: string;
@@ -8319,7 +8318,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
8319
8318
  closeDialog: (confirmed?: any, result?: any) => void;
8320
8319
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
8321
8320
  closePopOver: (confirmed?: any, result?: any) => void;
8322
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
8321
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
8323
8322
  changeEmitedValue: (value: any) => void;
8324
8323
  addSubFormItem: (item: {
8325
8324
  id: string;
@@ -8854,7 +8853,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
8854
8853
  closeDialog: (confirmed?: any, result?: any) => void;
8855
8854
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
8856
8855
  closePopOver: (confirmed?: any, result?: any) => void;
8857
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
8856
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
8858
8857
  changeEmitedValue: (value: any) => void;
8859
8858
  addSubFormItem: (item: {
8860
8859
  id: string;
@@ -9393,7 +9392,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
9393
9392
  closeDialog: (confirmed?: any, result?: any) => void;
9394
9393
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
9395
9394
  closePopOver: (confirmed?: any, result?: any) => void;
9396
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
9395
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
9397
9396
  changeEmitedValue: (value: any) => void;
9398
9397
  addSubFormItem: (item: {
9399
9398
  id: string;
@@ -9928,7 +9927,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
9928
9927
  closeDialog: (confirmed?: any, result?: any) => void;
9929
9928
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
9930
9929
  closePopOver: (confirmed?: any, result?: any) => void;
9931
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
9930
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
9932
9931
  changeEmitedValue: (value: any) => void;
9933
9932
  addSubFormItem: (item: {
9934
9933
  id: string;
@@ -10467,7 +10466,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
10467
10466
  closeDialog: (confirmed?: any, result?: any) => void;
10468
10467
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
10469
10468
  closePopOver: (confirmed?: any, result?: any) => void;
10470
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
10469
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
10471
10470
  changeEmitedValue: (value: any) => void;
10472
10471
  addSubFormItem: (item: {
10473
10472
  id: string;
@@ -11002,7 +11001,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
11002
11001
  closeDialog: (confirmed?: any, result?: any) => void;
11003
11002
  openPopOver: (schema: any, ctx: any, callback?: ((confirmed?: any, value?: any) => void) | undefined) => void;
11004
11003
  closePopOver: (confirmed?: any, result?: any) => void;
11005
- changeTmpValue: (value: any, changeReason?: "input" | "initialValue" | "formInited" | "dataChanged" | "formulaChanged" | "controlled" | "defaultValue" | undefined) => void;
11004
+ changeTmpValue: (value: any, changeReason?: "input" | "defaultValue" | "formInited" | "initialValue" | "dataChanged" | "formulaChanged" | "controlled" | undefined) => void;
11006
11005
  changeEmitedValue: (value: any) => void;
11007
11006
  addSubFormItem: (item: {
11008
11007
  id: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -307,6 +307,7 @@ var Row = mobxStateTree.types
307
307
  change: function (values, savePristine) {
308
308
  var data = helper.immutableExtends(self.data, values);
309
309
  Object.isExtensible(data) &&
310
+ !data.__pristine &&
310
311
  Object.defineProperty(data, '__pristine', {
311
312
  value: savePristine ? data : self.pristine,
312
313
  enumerable: false,
@@ -378,6 +379,7 @@ var Row = mobxStateTree.types
378
379
  var children = _a.children, rest = tslib.__rest(_a, ["children"]);
379
380
  var data = tslib.__assign(tslib.__assign({}, self.data), rest);
380
381
  Object.isExtensible(data) &&
382
+ !data.__pristine &&
381
383
  Object.defineProperty(data, '__pristine', {
382
384
  value: self.data.__pristine || self.pristine,
383
385
  enumerable: false,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/theme.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -16,6 +16,7 @@ export interface AnimationsProps {
16
16
  type: string;
17
17
  duration?: number;
18
18
  delay?: number;
19
+ repeat?: string;
19
20
  };
20
21
  exit?: {
21
22
  type: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -7,6 +7,7 @@
7
7
 
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
+ var tslib = require('tslib');
10
11
  var StyleManager = require('../StyleManager.js');
11
12
 
12
13
  function generateStyleByAnimation(className, animation) {
@@ -23,12 +24,18 @@ function generateStyleByAnimation(className, animation) {
23
24
  _a;
24
25
  }
25
26
  function generateStyleByHover(className, animation) {
26
- var _a;
27
- return _a = {},
28
- _a[className.join(',')] = {
29
- transition: "all ".concat(animation.duration || 1, "s ease ").concat(animation.delay || 0, "s")
30
- },
31
- _a;
27
+ var _a, _b;
28
+ var style = {};
29
+ if (['hoverFlash', 'hoverShake'].includes(animation.name)) {
30
+ style = (_a = {},
31
+ _a["".concat(className, ":hover,").concat(className, "-show")] = {
32
+ animation: "".concat(animation.name, " ").concat(animation.duration || 1, "s ease ").concat(animation.delay || 0, "s ").concat(animation.repeat || 1)
33
+ },
34
+ _a);
35
+ }
36
+ return tslib.__assign((_b = {}, _b[className] = {
37
+ transition: "all ".concat(animation.duration || 1, "s ease ").concat(animation.delay || 0, "s")
38
+ }, _b), style);
32
39
  }
33
40
  function createAnimationStyle(id, animationsConfig) {
34
41
  var _a;
@@ -39,10 +46,11 @@ function createAnimationStyle(id, animationsConfig) {
39
46
  return;
40
47
  }
41
48
  styleConfig = Object.assign(styleConfig, key === 'hover'
42
- ? generateStyleByHover([".".concat(animationConfig.type, "-").concat(id, "-").concat(key)], {
49
+ ? generateStyleByHover(".".concat(animationConfig.type, "-").concat(id, "-").concat(key), {
43
50
  name: animationConfig.type,
44
51
  duration: animationConfig.duration,
45
- delay: animationConfig.delay
52
+ delay: animationConfig.delay,
53
+ repeat: animationConfig.repeat
46
54
  })
47
55
  : generateStyleByAnimation([".".concat(animationConfig.type, "-").concat(id, "-").concat(key)], {
48
56
  name: animationConfig.type,
package/lib/utils/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -8,6 +8,7 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
+ var fileSaver = require('file-saver');
11
12
 
12
13
  /**
13
14
  * 处理接口返回附件的情况,好几个地方用
@@ -47,34 +48,7 @@ function attachmentAdpator(response, __, api) {
47
48
  var blob = response.data.toString() === '[object Blob]'
48
49
  ? response.data
49
50
  : new Blob([response.data], { type: type });
50
- if (typeof window.navigator.msSaveBlob !== 'undefined') {
51
- // IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
52
- window.navigator.msSaveBlob(blob, filename);
53
- }
54
- else {
55
- var URL_1 = window.URL || window.webkitURL;
56
- var downloadUrl_1 = URL_1.createObjectURL(blob);
57
- if (filename) {
58
- // use HTML5 a[download] attribute to specify filename
59
- var a = document.createElement('a');
60
- // safari doesn't support this yet
61
- if (typeof a.download === 'undefined') {
62
- window.location = downloadUrl_1;
63
- }
64
- else {
65
- a.href = downloadUrl_1;
66
- a.download = filename;
67
- document.body.appendChild(a);
68
- a.click();
69
- }
70
- }
71
- else {
72
- window.location = downloadUrl_1;
73
- }
74
- setTimeout(function () {
75
- URL_1.revokeObjectURL(downloadUrl_1);
76
- }, 100); // cleanup
77
- }
51
+ fileSaver.saveAs(blob, filename);
78
52
  return tslib.__assign(tslib.__assign({}, response), { data: {
79
53
  status: 0,
80
54
  msg: __('Embed.downloading')
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/date.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/dom.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
package/lib/utils/icon.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -9,6 +9,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var api = require('./api.js');
11
11
  require('tslib');
12
+ require('file-saver');
12
13
  var browser = require('./browser.js');
13
14
  var ColorScale = require('./ColorScale.js');
14
15
  var columnsSplit = require('./columnsSplit.js');
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-core v6.12.0-beta.2
2
+ * amis-core v6.12.0-beta.4
3
3
  * Copyright 2018-2025 fex
4
4
  */
5
5