amis 1.8.0-beta.1 → 1.8.0-beta.13

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 (426) hide show
  1. package/lib/Schema.d.ts +9 -2
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/SchemaRenderer.js +19 -3
  4. package/lib/SchemaRenderer.js.map +2 -2
  5. package/lib/WithRootStore.d.ts +18 -0
  6. package/lib/WithStore.js +2 -1
  7. package/lib/WithStore.js.map +2 -2
  8. package/lib/actions/CmptAction.js +26 -4
  9. package/lib/actions/CmptAction.js.map +2 -2
  10. package/lib/actions/PageAction.d.ts +32 -0
  11. package/lib/actions/PageAction.js +72 -0
  12. package/lib/actions/PageAction.js.map +13 -0
  13. package/lib/actions/index.d.ts +1 -0
  14. package/lib/actions/index.js +1 -0
  15. package/lib/actions/index.js.map +2 -2
  16. package/lib/components/AssociatedSelection.js +9 -2
  17. package/lib/components/AssociatedSelection.js.map +2 -2
  18. package/lib/components/BarCode.js +1 -1
  19. package/lib/components/BarCode.js.map +2 -2
  20. package/lib/components/CalendarMobile.d.ts +84 -84
  21. package/lib/components/Cascader.d.ts +2 -0
  22. package/lib/components/Cascader.js +28 -12
  23. package/lib/components/Cascader.js.map +2 -2
  24. package/lib/components/Checkbox.d.ts +24 -23
  25. package/lib/components/Checkbox.js +5 -1
  26. package/lib/components/Checkbox.js.map +2 -2
  27. package/lib/components/Collapse.d.ts +20 -20
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +8 -5
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +285 -171
  32. package/lib/components/DateRangePicker.js +471 -66
  33. package/lib/components/DateRangePicker.js.map +2 -2
  34. package/lib/components/Drawer.js +1 -1
  35. package/lib/components/Drawer.js.map +2 -2
  36. package/lib/components/ListGroup.d.ts +21 -21
  37. package/lib/components/Modal.js +1 -1
  38. package/lib/components/Modal.js.map +2 -2
  39. package/lib/components/MonthRangePicker.d.ts +84 -84
  40. package/lib/components/Overlay.d.ts +1 -0
  41. package/lib/components/Overlay.js +4 -3
  42. package/lib/components/Overlay.js.map +2 -2
  43. package/lib/components/Progress.d.ts +29 -24
  44. package/lib/components/Progress.js +44 -16
  45. package/lib/components/Progress.js.map +2 -2
  46. package/lib/components/PullRefresh.d.ts +86 -0
  47. package/lib/components/PullRefresh.js +135 -0
  48. package/lib/components/PullRefresh.js.map +13 -0
  49. package/lib/components/Radios.d.ts +22 -22
  50. package/lib/components/Radios.js +3 -5
  51. package/lib/components/Radios.js.map +2 -2
  52. package/lib/components/Range.d.ts +2 -2
  53. package/lib/components/Range.js +24 -11
  54. package/lib/components/Range.js.map +2 -2
  55. package/lib/components/Spinner.d.ts +200 -107
  56. package/lib/components/Spinner.js +30 -26
  57. package/lib/components/Spinner.js.map +2 -2
  58. package/lib/components/Steps.d.ts +6 -0
  59. package/lib/components/Steps.js +13 -9
  60. package/lib/components/Steps.js.map +2 -2
  61. package/lib/components/Tooltip.d.ts +4 -0
  62. package/lib/components/Tooltip.js +6 -4
  63. package/lib/components/Tooltip.js.map +2 -2
  64. package/lib/components/TooltipWrapper.d.ts +66 -4
  65. package/lib/components/TooltipWrapper.js +40 -8
  66. package/lib/components/TooltipWrapper.js.map +2 -2
  67. package/lib/components/Transfer.d.ts +84 -84
  68. package/lib/components/TransferDropDown.d.ts +84 -84
  69. package/lib/components/Tree.d.ts +87 -85
  70. package/lib/components/Tree.js +13 -5
  71. package/lib/components/Tree.js.map +2 -2
  72. package/lib/components/TreeSelection.d.ts +84 -84
  73. package/lib/components/calendar/Calendar.js +0 -13
  74. package/lib/components/calendar/Calendar.js.map +2 -2
  75. package/lib/components/calendar/TimeView.d.ts +1 -0
  76. package/lib/components/calendar/TimeView.js +7 -0
  77. package/lib/components/calendar/TimeView.js.map +2 -2
  78. package/lib/components/calendar/YearsView.js +3 -3
  79. package/lib/components/calendar/YearsView.js.map +2 -2
  80. package/lib/components/condition-builder/Expression.d.ts +1 -0
  81. package/lib/components/condition-builder/Expression.js +4 -4
  82. package/lib/components/condition-builder/Expression.js.map +2 -2
  83. package/lib/components/condition-builder/Field.d.ts +1 -0
  84. package/lib/components/condition-builder/Field.js +3 -2
  85. package/lib/components/condition-builder/Field.js.map +2 -2
  86. package/lib/components/condition-builder/Group.d.ts +1 -0
  87. package/lib/components/condition-builder/Group.js +2 -2
  88. package/lib/components/condition-builder/Group.js.map +2 -2
  89. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  90. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  91. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  92. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  93. package/lib/components/condition-builder/InputSwitch.js +2 -2
  94. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  95. package/lib/components/condition-builder/Item.d.ts +1 -0
  96. package/lib/components/condition-builder/Item.js +9 -8
  97. package/lib/components/condition-builder/Item.js.map +2 -2
  98. package/lib/components/condition-builder/Value.d.ts +1 -0
  99. package/lib/components/condition-builder/Value.js +5 -5
  100. package/lib/components/condition-builder/Value.js.map +2 -2
  101. package/lib/components/condition-builder/index.d.ts +1 -0
  102. package/lib/components/condition-builder/index.js +2 -2
  103. package/lib/components/condition-builder/index.js.map +2 -2
  104. package/lib/components/formula/Editor.d.ts +87 -85
  105. package/lib/components/formula/Editor.js +10 -6
  106. package/lib/components/formula/Editor.js.map +2 -2
  107. package/lib/components/formula/Picker.js +3 -1
  108. package/lib/components/formula/Picker.js.map +2 -2
  109. package/lib/factory.d.ts +5 -0
  110. package/lib/factory.js +22 -1
  111. package/lib/factory.js.map +2 -2
  112. package/lib/index.js +1 -1
  113. package/lib/locale/de-DE.js +18 -1
  114. package/lib/locale/de-DE.js.map +2 -2
  115. package/lib/locale/en-US.js +18 -1
  116. package/lib/locale/en-US.js.map +2 -2
  117. package/lib/locale/zh-CN.js +18 -1
  118. package/lib/locale/zh-CN.js.map +2 -2
  119. package/lib/renderers/Action.d.ts +2 -0
  120. package/lib/renderers/Action.js +23 -5
  121. package/lib/renderers/Action.js.map +2 -2
  122. package/lib/renderers/App.d.ts +1 -0
  123. package/lib/renderers/App.js +3 -0
  124. package/lib/renderers/App.js.map +2 -2
  125. package/lib/renderers/CRUD.d.ts +8 -0
  126. package/lib/renderers/CRUD.js +12 -5
  127. package/lib/renderers/CRUD.js.map +2 -2
  128. package/lib/renderers/Carousel.d.ts +1 -0
  129. package/lib/renderers/Carousel.js +13 -1
  130. package/lib/renderers/Carousel.js.map +2 -2
  131. package/lib/renderers/Chart.d.ts +1 -0
  132. package/lib/renderers/Chart.js +3 -0
  133. package/lib/renderers/Chart.js.map +2 -2
  134. package/lib/renderers/Dialog.d.ts +1 -0
  135. package/lib/renderers/Dialog.js +3 -0
  136. package/lib/renderers/Dialog.js.map +2 -2
  137. package/lib/renderers/Drawer.d.ts +1 -0
  138. package/lib/renderers/Drawer.js +6 -1
  139. package/lib/renderers/Drawer.js.map +2 -2
  140. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  141. package/lib/renderers/Form/Checkbox.js +2 -2
  142. package/lib/renderers/Form/Checkbox.js.map +2 -2
  143. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  144. package/lib/renderers/Form/Checkboxes.js +101 -12
  145. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  146. package/lib/renderers/Form/Combo.d.ts +2 -1
  147. package/lib/renderers/Form/Combo.js +54 -16
  148. package/lib/renderers/Form/Combo.js.map +2 -2
  149. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  150. package/lib/renderers/Form/Editor.d.ts +2 -2
  151. package/lib/renderers/Form/InputCity.d.ts +87 -84
  152. package/lib/renderers/Form/InputCity.js +44 -2
  153. package/lib/renderers/Form/InputCity.js.map +2 -2
  154. package/lib/renderers/Form/InputDate.js +10 -3
  155. package/lib/renderers/Form/InputDate.js.map +2 -2
  156. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  157. package/lib/renderers/Form/InputDateRange.js +12 -3
  158. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  159. package/lib/renderers/Form/InputFile.js +19 -8
  160. package/lib/renderers/Form/InputFile.js.map +2 -2
  161. package/lib/renderers/Form/InputImage.js +18 -7
  162. package/lib/renderers/Form/InputImage.js.map +2 -2
  163. package/lib/renderers/Form/InputMonthRange.js +5 -1
  164. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  165. package/lib/renderers/Form/InputRange.js +13 -14
  166. package/lib/renderers/Form/InputRange.js.map +2 -2
  167. package/lib/renderers/Form/InputText.d.ts +1 -1
  168. package/lib/renderers/Form/InputText.js +8 -10
  169. package/lib/renderers/Form/InputText.js.map +2 -2
  170. package/lib/renderers/Form/InputTree.d.ts +5 -0
  171. package/lib/renderers/Form/InputTree.js +51 -2
  172. package/lib/renderers/Form/InputTree.js.map +2 -2
  173. package/lib/renderers/Form/Item.d.ts +79 -76
  174. package/lib/renderers/Form/Item.js +3 -1
  175. package/lib/renderers/Form/Item.js.map +2 -2
  176. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  177. package/lib/renderers/Form/NestedSelect.js +14 -5
  178. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  179. package/lib/renderers/Form/Options.js +61 -27
  180. package/lib/renderers/Form/Options.js.map +2 -2
  181. package/lib/renderers/Form/Select.js +4 -2
  182. package/lib/renderers/Form/Select.js.map +2 -2
  183. package/lib/renderers/Form/Textarea.js +2 -1
  184. package/lib/renderers/Form/Textarea.js.map +2 -2
  185. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  186. package/lib/renderers/Form/TreeSelect.js +56 -10
  187. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  188. package/lib/renderers/Form/index.d.ts +3 -0
  189. package/lib/renderers/Form/index.js +53 -16
  190. package/lib/renderers/Form/index.js.map +2 -2
  191. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  192. package/lib/renderers/Form/wrapControl.js +41 -19
  193. package/lib/renderers/Form/wrapControl.js.map +2 -2
  194. package/lib/renderers/Nav.d.ts +82 -67
  195. package/lib/renderers/Nav.js +49 -13
  196. package/lib/renderers/Nav.js.map +2 -2
  197. package/lib/renderers/Page.d.ts +21 -0
  198. package/lib/renderers/Page.js +54 -14
  199. package/lib/renderers/Page.js.map +2 -2
  200. package/lib/renderers/Progress.d.ts +3 -6
  201. package/lib/renderers/Progress.js +2 -2
  202. package/lib/renderers/Progress.js.map +2 -2
  203. package/lib/renderers/Service.d.ts +3 -0
  204. package/lib/renderers/Service.js +55 -20
  205. package/lib/renderers/Service.js.map +2 -2
  206. package/lib/renderers/Spinner.d.ts +58 -2
  207. package/lib/renderers/Spinner.js +8 -1
  208. package/lib/renderers/Spinner.js.map +2 -2
  209. package/lib/renderers/Steps.d.ts +8 -0
  210. package/lib/renderers/Steps.js +2 -2
  211. package/lib/renderers/Steps.js.map +2 -2
  212. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  213. package/lib/renderers/Table/ColumnToggler.js +11 -6
  214. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  215. package/lib/renderers/Table/TableCell.js +27 -1
  216. package/lib/renderers/Table/TableCell.js.map +2 -2
  217. package/lib/renderers/Table/index.d.ts +2 -0
  218. package/lib/renderers/Table/index.js +23 -10
  219. package/lib/renderers/Table/index.js.map +2 -2
  220. package/lib/renderers/Tabs.d.ts +4 -0
  221. package/lib/renderers/Tabs.js +22 -6
  222. package/lib/renderers/Tabs.js.map +2 -2
  223. package/lib/renderers/TooltipWrapper.d.ts +35 -6
  224. package/lib/renderers/TooltipWrapper.js +19 -8
  225. package/lib/renderers/TooltipWrapper.js.map +2 -2
  226. package/lib/renderers/Wizard.d.ts +7 -3
  227. package/lib/renderers/Wizard.js +269 -152
  228. package/lib/renderers/Wizard.js.map +2 -2
  229. package/lib/store/combo.d.ts +2 -2
  230. package/lib/store/crud.d.ts +1 -0
  231. package/lib/store/crud.js +55 -19
  232. package/lib/store/crud.js.map +2 -2
  233. package/lib/store/form.d.ts +1 -1
  234. package/lib/store/form.js +5 -1
  235. package/lib/store/form.js.map +2 -2
  236. package/lib/store/formItem.js +1 -1
  237. package/lib/store/formItem.js.map +2 -2
  238. package/lib/store/index.d.ts +5 -0
  239. package/lib/store/index.js +14 -0
  240. package/lib/store/index.js.map +2 -2
  241. package/lib/store/table.d.ts +2 -2
  242. package/lib/store/table.js +2 -2
  243. package/lib/store/table.js.map +2 -2
  244. package/lib/themes/ang-ie11.css +768 -199
  245. package/lib/themes/ang.css +723 -142
  246. package/lib/themes/ang.css.map +1 -1
  247. package/lib/themes/antd-ie11.css +851 -282
  248. package/lib/themes/antd.css +724 -143
  249. package/lib/themes/antd.css.map +1 -1
  250. package/lib/themes/cxd-ie11.css +879 -310
  251. package/lib/themes/cxd.css +727 -146
  252. package/lib/themes/cxd.css.map +1 -1
  253. package/lib/themes/dark-ie11.css +769 -200
  254. package/lib/themes/dark.css +723 -142
  255. package/lib/themes/dark.css.map +1 -1
  256. package/lib/themes/default-ie11.css +879 -310
  257. package/lib/themes/default.css +727 -146
  258. package/lib/themes/default.css.map +1 -1
  259. package/lib/types.d.ts +3 -1
  260. package/lib/types.js.map +1 -1
  261. package/lib/utils/ColorScale.d.ts +19 -0
  262. package/lib/utils/ColorScale.js +104 -0
  263. package/lib/utils/ColorScale.js.map +13 -0
  264. package/lib/utils/api.js +20 -4
  265. package/lib/utils/api.js.map +2 -2
  266. package/lib/utils/columnsSplit.d.ts +1 -0
  267. package/lib/utils/columnsSplit.js +40 -0
  268. package/lib/utils/columnsSplit.js.map +13 -0
  269. package/lib/utils/debug.d.ts +1 -1
  270. package/lib/utils/debug.js +16 -22
  271. package/lib/utils/debug.js.map +2 -2
  272. package/lib/utils/dom.d.ts +1 -1
  273. package/lib/utils/dom.js +7 -5
  274. package/lib/utils/dom.js.map +2 -2
  275. package/lib/utils/position.js +0 -1
  276. package/lib/utils/position.js.map +2 -2
  277. package/lib/utils/scrollPosition.d.ts +6 -0
  278. package/lib/utils/scrollPosition.js +31 -0
  279. package/lib/utils/scrollPosition.js.map +13 -0
  280. package/package.json +3 -2
  281. package/schema.json +29681 -28936
  282. package/scss/_properties.scss +44 -13
  283. package/scss/components/_barcode.scss +1 -1
  284. package/scss/components/_carousel.scss +1 -0
  285. package/scss/components/_column-toggler.scss +21 -11
  286. package/scss/components/_debug.scss +3 -3
  287. package/scss/components/_formula.scss +1 -1
  288. package/scss/components/_nav.scss +51 -6
  289. package/scss/components/_progress.scss +4 -6
  290. package/scss/components/_pull-refresh.scss +25 -0
  291. package/scss/components/_spinner.scss +134 -56
  292. package/scss/components/_steps.scss +199 -8
  293. package/scss/components/_tooltip.scss +4 -9
  294. package/scss/components/form/_checks.scss +125 -2
  295. package/scss/components/form/_combo.scss +13 -1
  296. package/scss/components/form/_date-range.scss +27 -2
  297. package/scss/components/form/_date.scss +13 -1
  298. package/scss/components/form/_editor.scss +2 -1
  299. package/scss/components/form/_file.scss +4 -0
  300. package/scss/components/form/_form.scss +31 -8
  301. package/scss/components/form/_number.scss +3 -2
  302. package/scss/components/form/_select.scss +0 -1
  303. package/scss/components/form/_textarea.scss +1 -23
  304. package/scss/components/form/_transfer.scss +3 -2
  305. package/scss/themes/_antd-variables.scss +1 -1
  306. package/scss/themes/_common.scss +1 -0
  307. package/scss/themes/_cxd-variables.scss +4 -4
  308. package/sdk/ang-ie11.css +816 -182
  309. package/sdk/ang.css +775 -129
  310. package/sdk/antd-ie11.css +896 -262
  311. package/sdk/antd.css +776 -130
  312. package/sdk/barcode.js +51 -51
  313. package/sdk/charts.js +14 -14
  314. package/sdk/codemirror.js +7 -7
  315. package/sdk/color-picker.js +65 -65
  316. package/sdk/cropperjs.js +2 -2
  317. package/sdk/cxd-ie11.css +907 -273
  318. package/sdk/cxd.css +779 -133
  319. package/sdk/dark-ie11.css +817 -183
  320. package/sdk/dark.css +775 -129
  321. package/sdk/exceljs.js +1 -1
  322. package/sdk/locale/de-DE.js +18 -1
  323. package/sdk/markdown.js +69 -69
  324. package/sdk/papaparse.js +1 -1
  325. package/sdk/renderers/Form/CityDB.js +1 -1
  326. package/sdk/rest.js +17 -17
  327. package/sdk/rich-text.js +62 -62
  328. package/sdk/sdk-ie11.css +907 -273
  329. package/sdk/sdk.css +779 -133
  330. package/sdk/sdk.js +1317 -1273
  331. package/sdk/thirds/hls.js/hls.js +1 -1
  332. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  333. package/sdk/tinymce.js +57 -57
  334. package/src/Schema.ts +10 -0
  335. package/src/SchemaRenderer.tsx +32 -14
  336. package/src/WithStore.tsx +3 -1
  337. package/src/actions/CmptAction.ts +28 -0
  338. package/src/actions/PageAction.ts +62 -0
  339. package/src/actions/index.ts +1 -0
  340. package/src/components/AssociatedSelection.tsx +9 -3
  341. package/src/components/BarCode.tsx +2 -2
  342. package/src/components/Cascader.tsx +37 -11
  343. package/src/components/Checkbox.tsx +11 -5
  344. package/src/components/DatePicker.tsx +12 -4
  345. package/src/components/DateRangePicker.tsx +551 -88
  346. package/src/components/Drawer.tsx +1 -0
  347. package/src/components/Modal.tsx +1 -0
  348. package/src/components/Overlay.tsx +6 -3
  349. package/src/components/Progress.tsx +57 -22
  350. package/src/components/PullRefresh.tsx +197 -0
  351. package/src/components/Radios.tsx +6 -17
  352. package/src/components/Range.tsx +26 -12
  353. package/src/components/Spinner.tsx +77 -42
  354. package/src/components/Steps.tsx +28 -27
  355. package/src/components/Tooltip.tsx +12 -3
  356. package/src/components/TooltipWrapper.tsx +137 -33
  357. package/src/components/Tree.tsx +19 -5
  358. package/src/components/calendar/Calendar.tsx +0 -14
  359. package/src/components/calendar/TimeView.tsx +12 -0
  360. package/src/components/calendar/YearsView.tsx +3 -4
  361. package/src/components/condition-builder/Expression.tsx +6 -1
  362. package/src/components/condition-builder/Field.tsx +5 -1
  363. package/src/components/condition-builder/Group.tsx +4 -1
  364. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  365. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  366. package/src/components/condition-builder/Item.tsx +28 -4
  367. package/src/components/condition-builder/Value.tsx +7 -1
  368. package/src/components/condition-builder/index.tsx +4 -2
  369. package/src/components/formula/Editor.tsx +20 -15
  370. package/src/components/formula/Picker.tsx +9 -5
  371. package/src/factory.tsx +29 -1
  372. package/src/locale/de-DE.ts +18 -1
  373. package/src/locale/en-US.ts +18 -1
  374. package/src/locale/zh-CN.ts +18 -1
  375. package/src/renderers/Action.tsx +22 -1
  376. package/src/renderers/App.tsx +4 -0
  377. package/src/renderers/CRUD.tsx +23 -5
  378. package/src/renderers/Carousel.tsx +8 -0
  379. package/src/renderers/Chart.tsx +4 -0
  380. package/src/renderers/Dialog.tsx +4 -0
  381. package/src/renderers/Drawer.tsx +14 -2
  382. package/src/renderers/Form/Checkbox.tsx +11 -2
  383. package/src/renderers/Form/Checkboxes.tsx +106 -23
  384. package/src/renderers/Form/Combo.tsx +104 -49
  385. package/src/renderers/Form/InputCity.tsx +33 -4
  386. package/src/renderers/Form/InputDate.tsx +18 -4
  387. package/src/renderers/Form/InputDateRange.tsx +27 -3
  388. package/src/renderers/Form/InputFile.tsx +23 -7
  389. package/src/renderers/Form/InputImage.tsx +22 -6
  390. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  391. package/src/renderers/Form/InputRange.tsx +18 -16
  392. package/src/renderers/Form/InputText.tsx +14 -4
  393. package/src/renderers/Form/InputTree.tsx +40 -2
  394. package/src/renderers/Form/Item.tsx +7 -0
  395. package/src/renderers/Form/NestedSelect.tsx +23 -4
  396. package/src/renderers/Form/Options.tsx +26 -7
  397. package/src/renderers/Form/Select.tsx +5 -3
  398. package/src/renderers/Form/Textarea.tsx +3 -1
  399. package/src/renderers/Form/TreeSelect.tsx +47 -9
  400. package/src/renderers/Form/index.tsx +56 -25
  401. package/src/renderers/Form/wrapControl.tsx +23 -12
  402. package/src/renderers/Nav.tsx +231 -33
  403. package/src/renderers/Page.tsx +96 -33
  404. package/src/renderers/Progress.tsx +7 -9
  405. package/src/renderers/Service.tsx +66 -27
  406. package/src/renderers/Spinner.tsx +85 -3
  407. package/src/renderers/Steps.tsx +14 -0
  408. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  409. package/src/renderers/Table/TableCell.tsx +39 -1
  410. package/src/renderers/Table/index.tsx +43 -19
  411. package/src/renderers/Tabs.tsx +75 -28
  412. package/src/renderers/TooltipWrapper.tsx +71 -28
  413. package/src/renderers/Wizard.tsx +169 -93
  414. package/src/store/crud.ts +50 -5
  415. package/src/store/form.ts +8 -3
  416. package/src/store/formItem.ts +1 -2
  417. package/src/store/index.ts +20 -0
  418. package/src/store/table.ts +2 -2
  419. package/src/types.ts +8 -1
  420. package/src/utils/ColorScale.ts +138 -0
  421. package/src/utils/api.ts +26 -4
  422. package/src/utils/columnsSplit.tsx +57 -0
  423. package/src/utils/debug.tsx +17 -24
  424. package/src/utils/dom.tsx +7 -6
  425. package/src/utils/position.ts +0 -1
  426. package/src/utils/scrollPosition.ts +29 -0
@@ -0,0 +1,138 @@
1
+ // 代码修改自 https://github.com/dalisc/color-scales-js
2
+ // 主要是将校验功能改成修正而不是报错,比如 min 和 max 相等的时候自动给 max + 1
3
+
4
+ class Color {
5
+ public r: number;
6
+ public g: number;
7
+ public b: number;
8
+ public a: number;
9
+
10
+ constructor(r: number, g: number, b: number, a: number = 1) {
11
+ this.r = r;
12
+ this.g = g;
13
+ this.b = b;
14
+ this.a = a;
15
+ }
16
+
17
+ toRGBString() {
18
+ return `rgb(${Math.floor(this.r * this.a)},${Math.floor(
19
+ this.g * this.a
20
+ )},${Math.floor(this.b * this.a)})`;
21
+ }
22
+
23
+ toRGBAString() {
24
+ return `rgba(${this.r},${this.g},${this.b},${this.a})`;
25
+ }
26
+
27
+ toHexString() {
28
+ return rgbaToHex(this);
29
+ }
30
+ }
31
+
32
+ function hexToColor(hex: string, alpha: number) {
33
+ if (isValid3DigitHexColor(hex)) {
34
+ hex = convertTo6DigitHexColor(hex);
35
+ }
36
+
37
+ const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
38
+ if (result) {
39
+ return new Color(
40
+ parseInt(result[1], 16),
41
+ parseInt(result[2], 16),
42
+ parseInt(result[3], 16),
43
+ alpha
44
+ );
45
+ } else {
46
+ throw new Error(`${hex} is not a valid hex color.`);
47
+ }
48
+ }
49
+
50
+ function isValidHexColor(colorString: string) {
51
+ return (
52
+ isValid3DigitHexColor(colorString) || isValid6DigitHexColor(colorString)
53
+ );
54
+ }
55
+
56
+ function isValid3DigitHexColor(colorString: string) {
57
+ const hexColorRegex = /^#(?:[0-9a-fA-F]{3})$/;
58
+ return colorString.match(hexColorRegex);
59
+ }
60
+
61
+ function isValid6DigitHexColor(colorString: string) {
62
+ const hexColorRegex = /^#(?:[0-9a-fA-F]{6})$/;
63
+ return colorString.match(hexColorRegex);
64
+ }
65
+
66
+ function convertTo6DigitHexColor(threeDigitHex: string) {
67
+ return threeDigitHex
68
+ .substring(1)
69
+ .split('')
70
+ .map(char => {
71
+ return char + char;
72
+ })
73
+ .join('');
74
+ }
75
+
76
+ function componentToHex(c: number) {
77
+ const hex = c.toString(16);
78
+ return hex.length === 1 ? '0' + hex : hex;
79
+ }
80
+
81
+ function rgbaToHex(color: Color) {
82
+ const r = Math.floor(color.r * color.a);
83
+ const g = Math.floor(color.g * color.a);
84
+ const b = Math.floor(color.b * color.a);
85
+ return `#${componentToHex(r)}${componentToHex(g)}${componentToHex(b)}`;
86
+ }
87
+
88
+ export default class ColorScale {
89
+ private min: number;
90
+ private max: number;
91
+ private alpha: number;
92
+ private colorStops: Color[];
93
+
94
+ constructor(
95
+ min: number,
96
+ max: number,
97
+ colorStops: string[],
98
+ alpha: number = 1
99
+ ) {
100
+ this.min = isNaN(min) ? 0 : min;
101
+ this.max = isNaN(max) ? 0 : max;
102
+ if (this.min === this.max) {
103
+ this.max = this.min + 1;
104
+ }
105
+ if (this.max < this.min) {
106
+ [this.max, this.min] = [this.min, this.max];
107
+ }
108
+ if (colorStops.length < 2) {
109
+ colorStops = ['#FFEF9C', '#FF7127'];
110
+ }
111
+ this.alpha = alpha;
112
+ this.colorStops = colorStops.map(colorStop => hexToColor(colorStop, alpha));
113
+ }
114
+
115
+ getColor(value: number) {
116
+ const numOfColorStops = this.colorStops.length;
117
+ if (value < this.min) return this.colorStops[0];
118
+ if (value > this.max) return this.colorStops[numOfColorStops - 1];
119
+
120
+ const range = this.max - this.min;
121
+ let weight = (value - this.min) / range;
122
+ const colorStopIndex = Math.max(
123
+ Math.ceil(weight * (numOfColorStops - 1)),
124
+ 1
125
+ );
126
+
127
+ const minColor = this.colorStops[colorStopIndex - 1];
128
+ const maxColor = this.colorStops[colorStopIndex];
129
+
130
+ weight = weight * (numOfColorStops - 1) - (colorStopIndex - 1);
131
+
132
+ const r = Math.floor(weight * maxColor.r + (1 - weight) * minColor.r);
133
+ const g = Math.floor(weight * maxColor.g + (1 - weight) * minColor.g);
134
+ const b = Math.floor(weight * maxColor.b + (1 - weight) * minColor.b);
135
+
136
+ return new Color(r, g, b, this.alpha);
137
+ }
138
+ }
package/src/utils/api.ts CHANGED
@@ -125,19 +125,25 @@ export function buildApi(
125
125
  undefined,
126
126
  api.convertKeyToPath
127
127
  );
128
- } else if (api.method === 'post' || api.method === 'put') {
128
+ } else if (
129
+ api.method === 'post' ||
130
+ api.method === 'put' ||
131
+ api.method === 'patch'
132
+ ) {
129
133
  api.body = api.data = cloneObject(data);
130
134
  }
131
135
 
132
136
  // get 类请求,把 data 附带到 url 上。
133
137
  if (api.method === 'get' || api.method === 'jsonp') {
134
- if (!~raw.indexOf('$') && !api.data && autoAppend) {
138
+ if (
139
+ !api.data &&
140
+ ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)
141
+ ) {
135
142
  api.query = api.data = data;
136
143
  } else if (
137
144
  api.attachDataToQuery === false &&
138
145
  api.data &&
139
- !~raw.indexOf('$') &&
140
- autoAppend
146
+ ((!~raw.indexOf('$') && autoAppend) || api.forceAppendDataToQuery)
141
147
  ) {
142
148
  const idx = api.url.indexOf('?');
143
149
  if (~idx) {
@@ -168,6 +174,22 @@ export function buildApi(
168
174
  }
169
175
  }
170
176
 
177
+ if (api.graphql) {
178
+ if (api.method === 'get') {
179
+ api.query = api.data = {...api.query, query: api.graphql};
180
+ } else if (
181
+ api.method === 'post' ||
182
+ api.method === 'put' ||
183
+ api.method === 'patch'
184
+ ) {
185
+ api.body = api.data = {
186
+ query: api.graphql,
187
+ operationName: api.operationName,
188
+ variables: cloneObject(api.data)
189
+ };
190
+ }
191
+ }
192
+
171
193
  return api;
172
194
  }
173
195
 
@@ -0,0 +1,57 @@
1
+ /**
2
+ * columnsCount 支持数字和数组两种格式
3
+ */
4
+ import React from 'react';
5
+ import chunk from 'lodash/chunk';
6
+
7
+ export function columnsSplit(
8
+ body: any[],
9
+ cx: any,
10
+ columnsCount?: number | number[]
11
+ ) {
12
+ if (Array.isArray(columnsCount) && columnsCount.length) {
13
+ let bodyIndex = 0;
14
+ const bodyList: JSX.Element[] = [];
15
+ const maxSize = Math.max(Math.round(12 / Math.max(...columnsCount)), 1);
16
+ let cellClassName = `Grid-col--sm${maxSize}`;
17
+ columnsCount.forEach((columnSize, groupIndex) => {
18
+ if (columnSize) {
19
+ bodyList.push(
20
+ <div className={cx('Grid')} key={groupIndex}>
21
+ {Array.from({length: columnSize}).map((_, index) => {
22
+ if (bodyIndex + index < body.length) {
23
+ // 避免溢出
24
+ return (
25
+ <div key={index} className={cx(cellClassName)}>
26
+ {body[bodyIndex + index]}
27
+ </div>
28
+ );
29
+ } else {
30
+ return null;
31
+ }
32
+ })}
33
+ </div>
34
+ );
35
+ bodyIndex = bodyIndex + columnSize;
36
+ }
37
+ });
38
+
39
+ body = bodyList;
40
+ } else if (typeof columnsCount === 'number' && columnsCount > 1) {
41
+ let weight = 12 / (columnsCount as number);
42
+ let cellClassName = `Grid-col--sm${
43
+ weight === Math.round(weight) ? weight : ''
44
+ }`;
45
+ body = chunk(body, columnsCount).map((group, groupIndex) => (
46
+ <div className={cx('Grid')} key={groupIndex}>
47
+ {Array.from({length: columnsCount as number}).map((_, index) => (
48
+ <div key={index} className={cx(cellClassName)}>
49
+ {group[index]}
50
+ </div>
51
+ ))}
52
+ </div>
53
+ ));
54
+ }
55
+
56
+ return body;
57
+ }
@@ -182,6 +182,7 @@ const AMISDebug = observer(({store}: {store: AMISDebugStore}) => {
182
182
  >
183
183
  <div
184
184
  className="AMISDebug-toggle"
185
+ title="open debug"
185
186
  onClick={() => {
186
187
  store.isExpanded = true;
187
188
  }}
@@ -284,24 +285,6 @@ const AMISDebug = observer(({store}: {store: AMISDebugStore}) => {
284
285
  );
285
286
  });
286
287
 
287
- export let enableAMISDebug = false;
288
-
289
- // 开启 debug 有两种方法,一个是设置 enableAMISDebug 全局变量,另一个是通过 amisDebug=1 query
290
- if (
291
- (window as any).enableAMISDebug ||
292
- location.search.indexOf('amisDebug=1') !== -1
293
- ) {
294
- enableAMISDebug = true;
295
- // 页面只有一个
296
- if (!(window as any).amisDebugElement) {
297
- const amisDebugElement = document.createElement('div');
298
- document.body.appendChild(amisDebugElement);
299
- const element = <AMISDebug store={store} />;
300
- render(element, amisDebugElement);
301
- (window as any).amisDebugElement = true;
302
- }
303
- }
304
-
305
288
  /**
306
289
  * 鼠标移动到某个组件的效果
307
290
  */
@@ -365,7 +348,20 @@ autorun(() => {
365
348
  }
366
349
  });
367
350
 
368
- if (enableAMISDebug) {
351
+ // 页面中只能有一个实例
352
+ let isEnabled = false;
353
+
354
+ export function enableDebug() {
355
+ if (isEnabled) {
356
+ return;
357
+ }
358
+ isEnabled = true;
359
+
360
+ const amisDebugElement = document.createElement('div');
361
+ document.body.appendChild(amisDebugElement);
362
+ const element = <AMISDebug store={store} />;
363
+ render(element, amisDebugElement);
364
+
369
365
  document.body.appendChild(amisHoverBox);
370
366
  document.body.appendChild(amisActiveBox);
371
367
  document.addEventListener('mousemove', handleMouseMove);
@@ -378,9 +374,6 @@ interface DebugWrapperProps {
378
374
 
379
375
  export class DebugWrapper extends Component<DebugWrapperProps> {
380
376
  componentDidMount() {
381
- if (!enableAMISDebug) {
382
- return;
383
- }
384
377
  const root = findDOMNode(this) as HTMLElement;
385
378
  if (!root) {
386
379
  return;
@@ -407,7 +400,7 @@ type Category = 'api' | 'event';
407
400
  * @param ext 扩展信息
408
401
  */
409
402
  export function debug(cat: Category, msg: string, ext?: object) {
410
- if (!enableAMISDebug) {
403
+ if (!isEnabled) {
411
404
  return;
412
405
  }
413
406
  const log = {
@@ -426,7 +419,7 @@ export function debug(cat: Category, msg: string, ext?: object) {
426
419
  * @param ext 扩展信息
427
420
  */
428
421
  export function warning(cat: Category, msg: string, ext?: object) {
429
- if (!enableAMISDebug) {
422
+ if (!isEnabled) {
430
423
  return;
431
424
  }
432
425
  store.logs.push({
package/src/utils/dom.tsx CHANGED
@@ -82,7 +82,8 @@ export function calculatePosition(
82
82
  overlayNode: any,
83
83
  target: HTMLElement,
84
84
  container: any,
85
- padding: any = 0
85
+ padding: any = 0,
86
+ customOffset: [number, number] = [0, 0]
86
87
  ) {
87
88
  const childOffset: any =
88
89
  container.tagName === 'BODY'
@@ -215,12 +216,12 @@ export function calculatePosition(
215
216
  `calcOverlayPosition(): No such placement of "${placement}" found.`
216
217
  );
217
218
  }
218
-
219
+ const [offSetX = 0, offSetY = 0] = customOffset;
219
220
  return {
220
- positionLeft: positionLeft / scaleX,
221
- positionTop: positionTop / scaleY,
222
- arrowOffsetLeft: arrowOffsetLeft / scaleX,
223
- arrowOffsetTop: arrowOffsetTop / scaleY,
221
+ positionLeft: (positionLeft + offSetX) / scaleX,
222
+ positionTop: (positionTop + offSetY) / scaleY,
223
+ arrowOffsetLeft: (arrowOffsetLeft + offSetX) / scaleX,
224
+ arrowOffsetTop: (arrowOffsetTop + offSetY) / scaleY,
224
225
  activePlacement
225
226
  };
226
227
  }
@@ -20,7 +20,6 @@ export default function position(
20
20
  ) {
21
21
  let parentOffset = {top: 0, left: 0};
22
22
  let offset;
23
- getComputedStyle;
24
23
  // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
25
24
  // because it is its only offset parent
26
25
  if (getComputedStyle(node).getPropertyValue('position') === 'fixed') {
@@ -0,0 +1,29 @@
1
+ import position from './position';
2
+
3
+ function getScrollParent(element: HTMLElement | null, includeHidden?: boolean) {
4
+ if (!element) {
5
+ return document.body;
6
+ }
7
+
8
+ let style = getComputedStyle(element);
9
+ const excludeStaticParent = style.position === 'absolute';
10
+ const overflowRegex = includeHidden
11
+ ? /(auto|scroll|hidden)/
12
+ : /(auto|scroll)/;
13
+
14
+ if (style.position === 'fixed') return document.body;
15
+ for (let parent = element; (parent = parent.parentElement!); ) {
16
+ style = getComputedStyle(parent);
17
+ if (excludeStaticParent && style.position === 'static') {
18
+ continue;
19
+ }
20
+ if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX))
21
+ return parent;
22
+ }
23
+
24
+ return document.body;
25
+ }
26
+
27
+ export function scrollPosition(dom: HTMLElement) {
28
+ return position(dom, getScrollParent(dom));
29
+ }