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
@@ -204,6 +204,7 @@ export class Drawer extends React.Component<DrawerProps, DrawerState> {
204
204
  <Transition
205
205
  mountOnEnter
206
206
  unmountOnExit
207
+ appear
207
208
  in={show}
208
209
  timeout={500}
209
210
  onEnter={this.handleEnter}
@@ -236,6 +236,7 @@ export class Modal extends React.Component<ModalProps, ModalState> {
236
236
  <Transition
237
237
  mountOnEnter
238
238
  unmountOnExit
239
+ appear
239
240
  in={show}
240
241
  timeout={500}
241
242
  onEnter={this.handleEnter}
@@ -97,7 +97,8 @@ class Position extends React.Component<any, any> {
97
97
  overlay,
98
98
  target,
99
99
  container,
100
- this.props.containerPadding
100
+ this.props.containerPadding,
101
+ this.props.offset
101
102
  )
102
103
  );
103
104
  }
@@ -173,7 +174,7 @@ interface OverlayProps {
173
174
  container?: React.ReactNode | Function;
174
175
  target?: React.ReactNode | Function;
175
176
  watchTargetSizeChange?: boolean;
176
-
177
+ offset?: [number, number];
177
178
  onEnter?(node: HTMLElement): any;
178
179
  onEntering?(node: HTMLElement): any;
179
180
  onEntered?(node: HTMLElement): any;
@@ -238,6 +239,7 @@ export default class Overlay extends React.Component<
238
239
  children,
239
240
  watchTargetSizeChange,
240
241
  transition: Transition,
242
+ offset,
241
243
  ...props
242
244
  } = this.props;
243
245
 
@@ -259,7 +261,8 @@ export default class Overlay extends React.Component<
259
261
  containerPadding,
260
262
  target,
261
263
  placement,
262
- shouldUpdatePosition
264
+ shouldUpdatePosition,
265
+ offset
263
266
  }}
264
267
  ref={this.positionRef}
265
268
  >
@@ -3,21 +3,26 @@ import cx from 'classnames';
3
3
  import {Circle} from 'rc-progress';
4
4
  import {ClassNamesFn, themeable, ThemeProps} from '../theme';
5
5
  import {SchemaClassName} from '../Schema';
6
+ interface ColorProps {
7
+ value: number;
8
+ color: string;
9
+ }
10
+
11
+ export type ColorMapType = Array<string> | Array<ColorProps> | string;
12
+
6
13
  interface ProgressProps extends ThemeProps {
7
14
  type: 'line' | 'circle' | 'dashboard';
8
15
  showLabel: boolean;
9
16
  value: number;
10
17
  stripe?: boolean;
11
18
  animate?: boolean;
12
- map?: Array<string>;
19
+ map?: ColorMapType;
13
20
  placeholder?: string;
14
21
  format?: (value?: number) => JSX.Element;
15
22
  gapDegree?: number;
16
23
  gapPosition?: 'top' | 'bottom' | 'left' | 'right';
17
24
  strokeWidth?: number;
18
- classNames?: string;
19
25
  progressClassName?: SchemaClassName;
20
- progressBarClassName?: SchemaClassName;
21
26
  classnames: ClassNamesFn;
22
27
  }
23
28
  export class Progress extends React.Component<ProgressProps, Object> {
@@ -25,19 +30,46 @@ export class Progress extends React.Component<ProgressProps, Object> {
25
30
  type: 'line',
26
31
  placeholder: '-',
27
32
  progressClassName: '',
28
- progressBarClassName: '',
29
33
  map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],
30
34
  showLabel: true
31
35
  };
32
36
 
33
- autoClassName(value: number) {
34
- const map = this.props.map;
35
- if (!map || !map.length) {
36
- return '';
37
+ getCurrentColor() {
38
+ const color = this.props.map;
39
+ if (!color || !color.length) {
40
+ return 'bg-primary';
41
+ }
42
+ if (typeof color === 'string') {
43
+ return color;
44
+ } else {
45
+ return this.getLevelColor(color);
37
46
  }
38
- let index = Math.floor((value * map.length) / 100);
39
- index = Math.max(0, Math.min(map.length - 1, index));
40
- return map[index];
47
+ }
48
+
49
+ getLevelColor(color: Array<string> | Array<ColorProps>) {
50
+ const value = this.props.value;
51
+ const colorArray = this.getColorArray(color).sort(
52
+ (a: {value: number}, b: {value: number}) => a.value - b.value
53
+ );
54
+ for (let i = 0; i < colorArray.length; i++) {
55
+ if (colorArray[i].value > value) {
56
+ return colorArray[i].color;
57
+ }
58
+ }
59
+ return colorArray[colorArray.length - 1].color;
60
+ }
61
+
62
+ getColorArray(color: Array<string> | Array<ColorProps>) {
63
+ const span = 100 / color.length;
64
+ return color.map((item, index) => {
65
+ if (typeof item === 'string') {
66
+ return {
67
+ color: item,
68
+ value: (index + 1) * span
69
+ };
70
+ }
71
+ return item;
72
+ });
41
73
  }
42
74
 
43
75
  getLabel(prefixCls: string) {
@@ -56,15 +88,13 @@ export class Progress extends React.Component<ProgressProps, Object> {
56
88
 
57
89
  render() {
58
90
  const {
59
- classNames,
91
+ className,
60
92
  progressClassName,
61
- progressBarClassName,
62
93
  type,
63
94
  value,
64
95
  placeholder,
65
96
  stripe,
66
97
  animate,
67
- showLabel,
68
98
  gapDegree,
69
99
  gapPosition,
70
100
  strokeWidth,
@@ -73,28 +103,33 @@ export class Progress extends React.Component<ProgressProps, Object> {
73
103
 
74
104
  const isLineType = type === 'line';
75
105
  const prefixCls = isLineType ? 'Progress-line' : 'Progress-circle';
106
+ const bgColor = this.getCurrentColor();
107
+ const isColorClass = /bg-/.test(bgColor);
76
108
 
77
109
  let viewValue: React.ReactNode;
78
110
  if (typeof value !== 'number') {
79
111
  viewValue = <span className="text-muted">{placeholder}</span>;
80
112
  } else if (type === 'line') {
81
113
  const style: any = {};
114
+ const barStyle: any = {
115
+ width: `${value}%`
116
+ };
82
117
  strokeWidth && (style.height = strokeWidth);
118
+ !isColorClass && (barStyle.backgroundColor = bgColor);
119
+
83
120
  viewValue = [
84
121
  <div key="progress" className={cx(prefixCls, progressClassName)}>
85
122
  <div className={cx(`${prefixCls}-inter`)} style={style}>
86
123
  <div
87
124
  className={cx(
88
125
  `${prefixCls}-bar`,
89
- progressBarClassName || this.autoClassName(value),
126
+ {[bgColor]: isColorClass},
90
127
  {[`${prefixCls}-bar--stripe`]: stripe},
91
128
  {[`${prefixCls}-bar--animate`]: animate && !stripe},
92
129
  {[`${prefixCls}-bar--stripe-animate`]: animate && stripe}
93
130
  )}
94
131
  title={`${value}%`}
95
- style={{
96
- width: `${value}%`
97
- }}
132
+ style={barStyle}
98
133
  />
99
134
  </div>
100
135
  </div>,
@@ -114,13 +149,13 @@ export class Progress extends React.Component<ProgressProps, Object> {
114
149
  };
115
150
 
116
151
  viewValue = [
117
- <div className={cx(prefixCls)} key="circle">
152
+ <div className={cx(prefixCls, progressClassName)} key="circle">
118
153
  <Circle
119
154
  percent={value}
120
- strokeColor=""
155
+ strokeColor={!isColorClass ? bgColor : ''}
121
156
  strokeWidth={circleWidth}
122
157
  trailWidth={circleWidth}
123
- prefixCls={this.autoClassName(value)}
158
+ prefixCls={isColorClass ? bgColor : ''}
124
159
  gapDegree={getGapDegree()}
125
160
  gapPosition={gapPos}
126
161
  />
@@ -129,7 +164,7 @@ export class Progress extends React.Component<ProgressProps, Object> {
129
164
  ];
130
165
  }
131
166
 
132
- return <div className={cx('Progress', classNames)}>{viewValue}</div>;
167
+ return <div className={cx('Progress', className)}>{viewValue}</div>;
133
168
  }
134
169
  }
135
170
 
@@ -0,0 +1,197 @@
1
+ /**
2
+ * @file PullRefresh.tsx
3
+ * @description 下拉刷新
4
+ * @author hongyang03
5
+ */
6
+
7
+ import React, {forwardRef, useEffect} from 'react';
8
+ import {ClassNamesFn, themeable} from '../theme';
9
+ import {useSetState} from '../hooks';
10
+ import useTouch from '../hooks/use-touch';
11
+ import {Icon} from './icons';
12
+ import {TranslateFn} from '../locale';
13
+
14
+ export interface PullRefreshProps {
15
+ classnames: ClassNamesFn;
16
+ classPrefix: string;
17
+ translate: TranslateFn;
18
+ disabled?: boolean;
19
+ pullingText?: string;
20
+ loosingText?: string;
21
+ loadingText?: string;
22
+ successText?: string;
23
+ onRefresh?: () => void;
24
+ loading?: boolean;
25
+ successDuration?: number;
26
+ loadingDuration?: number;
27
+ }
28
+
29
+ type statusText = 'normal' | 'pulling' | 'loosing' | 'success' | 'loading';
30
+
31
+ export interface PullRefreshState {
32
+ status: statusText;
33
+ offsetY: number;
34
+ }
35
+
36
+ const defaultProps = {
37
+ successDuration: 0,
38
+ loadingDuration: 0
39
+ };
40
+
41
+ const defaultHeaderHeight = 28;
42
+
43
+ const PullRefresh = forwardRef<{}, PullRefreshProps>((props, ref) => {
44
+ const {
45
+ classnames: cx,
46
+ translate: __,
47
+ children,
48
+ successDuration,
49
+ loadingDuration
50
+ } = props;
51
+
52
+ const refreshText = {
53
+ pullingText: __('pullRefresh.pullingText'),
54
+ loosingText: __('pullRefresh.loosingText'),
55
+ loadingText: __('pullRefresh.loadingText'),
56
+ successText: __('pullRefresh.successText')
57
+ };
58
+
59
+ const touch = useTouch();
60
+
61
+ useEffect(() => {
62
+ if (props.loading === false) {
63
+ loadSuccess();
64
+ }
65
+ }, [props.loading]);
66
+
67
+ const [state, updateState] = useSetState({
68
+ status: 'normal',
69
+ offsetY: 0
70
+ } as PullRefreshState);
71
+
72
+ const isTouchable = () => {
73
+ return (
74
+ !props.disabled &&
75
+ state.status !== 'loading' &&
76
+ state.status !== 'success'
77
+ );
78
+ };
79
+
80
+ const ease = (distance: number) => {
81
+ const pullDistance = defaultHeaderHeight;
82
+
83
+ if (distance > pullDistance) {
84
+ if (distance < pullDistance * 2) {
85
+ distance = pullDistance + (distance - pullDistance) / 2;
86
+ } else {
87
+ distance = pullDistance * 1.5 + (distance - pullDistance * 2) / 4;
88
+ }
89
+ }
90
+
91
+ return Math.round(distance);
92
+ };
93
+
94
+ const setStatus = (distance: number, isLoading?: boolean) => {
95
+ const pullDistance = defaultHeaderHeight;
96
+ let status: statusText = 'normal';
97
+
98
+ if (isLoading) {
99
+ status = 'loading';
100
+ } else if (distance === 0) {
101
+ status = 'normal';
102
+ } else if (distance < pullDistance) {
103
+ status = 'pulling';
104
+ } else {
105
+ status = 'loosing';
106
+ }
107
+
108
+ updateState({offsetY: distance, status});
109
+ };
110
+
111
+ const loadSuccess = () => {
112
+ if (!successDuration) {
113
+ setStatus(0);
114
+ return;
115
+ }
116
+ updateState({status: 'success'});
117
+
118
+ setTimeout(() => {
119
+ setStatus(0);
120
+ }, successDuration);
121
+ };
122
+
123
+ const onTouchStart = (event: any) => {
124
+ event.stopPropagation();
125
+
126
+ if (isTouchable() && state.offsetY === 0) {
127
+ touch.start(event);
128
+ updateState({});
129
+ }
130
+ };
131
+
132
+ const onTouchMove = (event: any) => {
133
+ event.stopPropagation();
134
+
135
+ if (isTouchable()) {
136
+ touch.move(event);
137
+ updateState({});
138
+ if (touch.isVertical() && touch.deltaY > 0) {
139
+ setStatus(ease(touch.deltaY));
140
+ }
141
+ }
142
+ return false;
143
+ };
144
+
145
+ const onTouchEnd = (event: any) => {
146
+ event.stopPropagation();
147
+
148
+ if (isTouchable() && state.offsetY > 0) {
149
+ if (state.status === 'loosing') {
150
+ if (loadingDuration) {
151
+ setStatus(defaultHeaderHeight, true);
152
+ } else {
153
+ setStatus(0);
154
+ }
155
+ props.onRefresh && props.onRefresh();
156
+ } else {
157
+ setStatus(0);
158
+ }
159
+ }
160
+ };
161
+
162
+ const transformStyle = {
163
+ transform: `translate3d(0, ${state.offsetY}px, 0)`,
164
+ touchAction: 'none'
165
+ };
166
+
167
+ const getStatusText = (status: statusText) => {
168
+ if (status === 'normal') {
169
+ return '';
170
+ }
171
+ return props[`${status}Text`] || refreshText[`${status}Text`];
172
+ };
173
+
174
+ return (
175
+ <div
176
+ className={cx('PullRefresh')}
177
+ onTouchStart={onTouchStart}
178
+ onTouchMove={onTouchMove}
179
+ onTouchEnd={onTouchEnd}
180
+ onTouchCancel={onTouchEnd}
181
+ >
182
+ <div className={cx('PullRefresh-wrap')} style={transformStyle}>
183
+ <div className={cx('PullRefresh-header')}>
184
+ {state.status === 'loading' && (
185
+ <Icon icon="loading-outline" className="icon loading-icon" />
186
+ )}
187
+ {getStatusText(state.status)}
188
+ </div>
189
+ {children}
190
+ </div>
191
+ </div>
192
+ );
193
+ });
194
+
195
+ PullRefresh.defaultProps = defaultProps;
196
+
197
+ export default themeable(PullRefresh);
@@ -21,11 +21,12 @@ import Button from './Button';
21
21
  import {value2array, OptionProps, Option} from './Select';
22
22
  import chunk from 'lodash/chunk';
23
23
  import {ClassNamesFn, themeable} from '../theme';
24
+ import {columnsSplit} from '../utils/columnsSplit';
24
25
 
25
26
  interface RadioProps extends OptionProps {
26
27
  id?: string;
27
28
  type: string;
28
- optionType?: string,
29
+ optionType?: string;
29
30
  value?: string;
30
31
  className?: string;
31
32
  style?: React.CSSProperties;
@@ -34,7 +35,7 @@ interface RadioProps extends OptionProps {
34
35
  btnActiveLevel?: string;
35
36
  disabled?: boolean;
36
37
  onChange?: Function;
37
- columnsCount: number;
38
+ columnsCount: number | number[];
38
39
  itemClassName?: string;
39
40
  labelField?: string;
40
41
  labelClassName?: string;
@@ -78,7 +79,7 @@ export class Radios extends React.Component<RadioProps, any> {
78
79
  }
79
80
 
80
81
  renderGroup(option: Option, index: number, valueArray: Array<Option>) {
81
- const {classnames: cx, optionType, classPrefix: ns,} = this.props;
82
+ const {classnames: cx, optionType, classPrefix: ns} = this.props;
82
83
 
83
84
  return (
84
85
  <div key={index} className={cx('RadiosControl-group', option.className)}>
@@ -178,20 +179,8 @@ export class Radios extends React.Component<RadioProps, any> {
178
179
  );
179
180
  }
180
181
 
181
- if (!inline && columnsCount > 1) {
182
- let weight = 12 / (columnsCount as number);
183
- let cellClassName = `Grid-col--sm${
184
- weight === Math.round(weight) ? weight : ''
185
- }`;
186
- body = chunk(body, columnsCount).map((group, groupIndex) => (
187
- <div className={cx('Grid')} key={groupIndex}>
188
- {Array.from({length: columnsCount as number}).map((_, index) => (
189
- <div key={index} className={cx(cellClassName)}>
190
- {group[index]}
191
- </div>
192
- ))}
193
- </div>
194
- ));
182
+ if (!inline) {
183
+ body = columnsSplit(body, cx, columnsCount);
195
184
  }
196
185
 
197
186
  return (
@@ -11,11 +11,11 @@ import difference from 'lodash/difference';
11
11
  import React from 'react';
12
12
  import {uncontrollable} from 'uncontrollable';
13
13
 
14
- import {RendererProps} from '../factory';
15
14
  import Overlay from './Overlay';
16
- import {ThemeProps, themeable} from '../theme';
15
+ import type { ThemeProps } from '../theme'
16
+ import {themeable} from '../theme';
17
17
  import {autobind, camel} from '../utils/helper';
18
- import {
18
+ import type {
19
19
  MultipleValue,
20
20
  Value,
21
21
  FormatValue,
@@ -71,7 +71,7 @@ interface LabelProps extends ThemeProps {
71
71
  * @returns position.left
72
72
  */
73
73
  const valueToOffsetLeft = (value: any, min: number, max: number) =>
74
- (value * 100) / (max - min) + '%';
74
+ ((value - min) * 100) / (max - min) + '%';
75
75
 
76
76
  /**
77
77
  * 滑块handle
@@ -298,7 +298,7 @@ export class Range extends React.Component<RangeItemProps, any> {
298
298
  pageXToValue(pageX: number) {
299
299
  const {x, width} = this.getBoundingClient(this.trackRef.current as Element);
300
300
  const {max, min} = this.props;
301
- return ((pageX - x) * (max - min)) / width;
301
+ return ((pageX - x) * (max - min)) / width + min;
302
302
  }
303
303
 
304
304
  /**
@@ -366,16 +366,30 @@ export class Range extends React.Component<RangeItemProps, any> {
366
366
  */
367
367
  @autobind
368
368
  renderSteps() {
369
- const {max, min, step, showSteps, classnames: cx} = this.props;
370
- const steps = Math.floor((max - min) / step);
369
+ const {max, min, step, showSteps, classnames: cx, parts} = this.props;
370
+ let isShowSteps = showSteps;
371
+ // 只要设置了 parts 就展示分隔
372
+ if (parts > 1 || Array.isArray(parts)) {
373
+ isShowSteps = true;
374
+ }
375
+ // 总区间
376
+ const section = max - min;
377
+ // 总区间被平均分为多少块
378
+ const steps = parts > 1 ? parts : Math.floor(section / step);
379
+ // 平均分 每块的长度
380
+ const partLength = section / steps;
381
+ // parts为数组时,以0为起点(传入的值 - min)
382
+ const partLengthList = Array.isArray(parts)
383
+ ? parts.map(item => item - min)
384
+ : range(steps - 1).map(item => (item + 1) * partLength);
371
385
  return (
372
- showSteps && (
386
+ isShowSteps && (
373
387
  <div>
374
- {range(steps - 1).map(item => (
388
+ {partLengthList.map(item => (
375
389
  <span
376
390
  key={item}
377
391
  className={cx('InputRange-track-dot')}
378
- style={{left: ((item + 1) * 100) / steps + '%'}}
392
+ style={{left: (item * 100) / (max - min) + '%'}}
379
393
  ></span>
380
394
  ))}
381
395
  </div>
@@ -437,13 +451,13 @@ export class Range extends React.Component<RangeItemProps, any> {
437
451
  const traceActiveStyle = {
438
452
  width: valueToOffsetLeft(
439
453
  multiple
440
- ? (value as MultipleValue).max - (value as MultipleValue).min
454
+ ? (value as MultipleValue).max - (value as MultipleValue).min + min
441
455
  : value,
442
456
  min,
443
457
  max
444
458
  ),
445
459
  left: valueToOffsetLeft(
446
- multiple ? (value as MultipleValue).min : 0,
460
+ multiple ? (value as MultipleValue).min : min,
447
461
  min,
448
462
  max
449
463
  )