amis 1.7.0 → 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 (469) hide show
  1. package/lib/Schema.d.ts +10 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/SchemaRenderer.js +19 -3
  5. package/lib/SchemaRenderer.js.map +2 -2
  6. package/lib/WithRootStore.d.ts +18 -0
  7. package/lib/WithStore.js +2 -1
  8. package/lib/WithStore.js.map +2 -2
  9. package/lib/actions/CmptAction.js +26 -4
  10. package/lib/actions/CmptAction.js.map +2 -2
  11. package/lib/actions/PageAction.d.ts +32 -0
  12. package/lib/actions/PageAction.js +72 -0
  13. package/lib/actions/PageAction.js.map +13 -0
  14. package/lib/actions/index.d.ts +1 -0
  15. package/lib/actions/index.js +1 -0
  16. package/lib/actions/index.js.map +2 -2
  17. package/lib/components/Alert2.js +4 -2
  18. package/lib/components/Alert2.js.map +2 -2
  19. package/lib/components/AssociatedSelection.js +9 -2
  20. package/lib/components/AssociatedSelection.js.map +2 -2
  21. package/lib/components/Avatar.d.ts +20 -20
  22. package/lib/components/BarCode.js +1 -1
  23. package/lib/components/BarCode.js.map +2 -2
  24. package/lib/components/CalendarMobile.d.ts +84 -84
  25. package/lib/components/Card.d.ts +20 -20
  26. package/lib/components/Cascader.d.ts +2 -0
  27. package/lib/components/Cascader.js +28 -12
  28. package/lib/components/Cascader.js.map +2 -2
  29. package/lib/components/Checkbox.d.ts +24 -23
  30. package/lib/components/Checkbox.js +5 -1
  31. package/lib/components/Checkbox.js.map +2 -2
  32. package/lib/components/CityArea.js +3 -0
  33. package/lib/components/CityArea.js.map +2 -2
  34. package/lib/components/Collapse.d.ts +20 -20
  35. package/lib/components/DatePicker.d.ts +87 -84
  36. package/lib/components/DatePicker.js +48 -11
  37. package/lib/components/DatePicker.js.map +2 -2
  38. package/lib/components/DateRangePicker.d.ts +285 -171
  39. package/lib/components/DateRangePicker.js +471 -66
  40. package/lib/components/DateRangePicker.js.map +2 -2
  41. package/lib/components/Drawer.js +1 -1
  42. package/lib/components/Drawer.js.map +2 -2
  43. package/lib/components/ListGroup.d.ts +21 -21
  44. package/lib/components/Modal.js +1 -1
  45. package/lib/components/Modal.js.map +2 -2
  46. package/lib/components/MonthRangePicker.d.ts +84 -84
  47. package/lib/components/Overlay.d.ts +1 -0
  48. package/lib/components/Overlay.js +4 -3
  49. package/lib/components/Overlay.js.map +2 -2
  50. package/lib/components/Progress.d.ts +29 -24
  51. package/lib/components/Progress.js +52 -21
  52. package/lib/components/Progress.js.map +2 -2
  53. package/lib/components/PullRefresh.d.ts +86 -0
  54. package/lib/components/PullRefresh.js +135 -0
  55. package/lib/components/PullRefresh.js.map +13 -0
  56. package/lib/components/Radios.d.ts +22 -22
  57. package/lib/components/Radios.js +3 -5
  58. package/lib/components/Radios.js.map +2 -2
  59. package/lib/components/Range.d.ts +2 -2
  60. package/lib/components/Range.js +24 -11
  61. package/lib/components/Range.js.map +2 -2
  62. package/lib/components/Spinner.d.ts +200 -107
  63. package/lib/components/Spinner.js +30 -26
  64. package/lib/components/Spinner.js.map +2 -2
  65. package/lib/components/Steps.d.ts +6 -0
  66. package/lib/components/Steps.js +13 -9
  67. package/lib/components/Steps.js.map +2 -2
  68. package/lib/components/Tabs.d.ts +27 -23
  69. package/lib/components/Tabs.js +37 -22
  70. package/lib/components/Tabs.js.map +2 -2
  71. package/lib/components/Tooltip.d.ts +4 -0
  72. package/lib/components/Tooltip.js +6 -4
  73. package/lib/components/Tooltip.js.map +2 -2
  74. package/lib/components/TooltipWrapper.d.ts +87 -24
  75. package/lib/components/TooltipWrapper.js +40 -8
  76. package/lib/components/TooltipWrapper.js.map +2 -2
  77. package/lib/components/Transfer.d.ts +84 -84
  78. package/lib/components/TransferDropDown.d.ts +84 -84
  79. package/lib/components/Tree.d.ts +87 -85
  80. package/lib/components/Tree.js +13 -5
  81. package/lib/components/Tree.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +84 -84
  83. package/lib/components/calendar/Calendar.js +3 -12
  84. package/lib/components/calendar/Calendar.js.map +2 -2
  85. package/lib/components/calendar/TimeView.d.ts +1 -0
  86. package/lib/components/calendar/TimeView.js +7 -0
  87. package/lib/components/calendar/TimeView.js.map +2 -2
  88. package/lib/components/calendar/YearsView.js +3 -3
  89. package/lib/components/calendar/YearsView.js.map +2 -2
  90. package/lib/components/condition-builder/Expression.d.ts +1 -0
  91. package/lib/components/condition-builder/Expression.js +4 -4
  92. package/lib/components/condition-builder/Expression.js.map +2 -2
  93. package/lib/components/condition-builder/Field.d.ts +1 -0
  94. package/lib/components/condition-builder/Field.js +3 -2
  95. package/lib/components/condition-builder/Field.js.map +2 -2
  96. package/lib/components/condition-builder/Group.d.ts +1 -0
  97. package/lib/components/condition-builder/Group.js +2 -2
  98. package/lib/components/condition-builder/Group.js.map +2 -2
  99. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  100. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  101. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  102. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  103. package/lib/components/condition-builder/InputSwitch.js +2 -2
  104. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  105. package/lib/components/condition-builder/Item.d.ts +1 -0
  106. package/lib/components/condition-builder/Item.js +9 -8
  107. package/lib/components/condition-builder/Item.js.map +2 -2
  108. package/lib/components/condition-builder/Value.d.ts +1 -0
  109. package/lib/components/condition-builder/Value.js +5 -5
  110. package/lib/components/condition-builder/Value.js.map +2 -2
  111. package/lib/components/condition-builder/index.d.ts +1 -0
  112. package/lib/components/condition-builder/index.js +2 -2
  113. package/lib/components/condition-builder/index.js.map +2 -2
  114. package/lib/components/formula/Editor.d.ts +90 -86
  115. package/lib/components/formula/Editor.js +26 -4
  116. package/lib/components/formula/Editor.js.map +2 -2
  117. package/lib/components/formula/Picker.d.ts +5 -0
  118. package/lib/components/formula/Picker.js +21 -4
  119. package/lib/components/formula/Picker.js.map +2 -2
  120. package/lib/components/icons.js +2 -0
  121. package/lib/components/icons.js.map +2 -2
  122. package/lib/factory.d.ts +5 -0
  123. package/lib/factory.js +24 -3
  124. package/lib/factory.js.map +2 -2
  125. package/lib/icons/trash.js +10 -0
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.js +2 -1
  128. package/lib/index.js.map +2 -2
  129. package/lib/locale/de-DE.js +18 -1
  130. package/lib/locale/de-DE.js.map +2 -2
  131. package/lib/locale/en-US.js +18 -1
  132. package/lib/locale/en-US.js.map +2 -2
  133. package/lib/locale/zh-CN.js +18 -1
  134. package/lib/locale/zh-CN.js.map +2 -2
  135. package/lib/renderers/Action.d.ts +3 -1
  136. package/lib/renderers/Action.js +23 -5
  137. package/lib/renderers/Action.js.map +2 -2
  138. package/lib/renderers/App.d.ts +1 -0
  139. package/lib/renderers/App.js +3 -0
  140. package/lib/renderers/App.js.map +2 -2
  141. package/lib/renderers/ButtonGroup.d.ts +2 -2
  142. package/lib/renderers/ButtonGroup.js.map +1 -1
  143. package/lib/renderers/CRUD.d.ts +8 -0
  144. package/lib/renderers/CRUD.js +12 -5
  145. package/lib/renderers/CRUD.js.map +2 -2
  146. package/lib/renderers/Carousel.d.ts +1 -0
  147. package/lib/renderers/Carousel.js +13 -1
  148. package/lib/renderers/Carousel.js.map +2 -2
  149. package/lib/renderers/Chart.d.ts +1 -0
  150. package/lib/renderers/Chart.js +3 -0
  151. package/lib/renderers/Chart.js.map +2 -2
  152. package/lib/renderers/Dialog.d.ts +5 -0
  153. package/lib/renderers/Dialog.js +7 -3
  154. package/lib/renderers/Dialog.js.map +2 -2
  155. package/lib/renderers/Drawer.d.ts +1 -0
  156. package/lib/renderers/Drawer.js +6 -1
  157. package/lib/renderers/Drawer.js.map +2 -2
  158. package/lib/renderers/DropDownButton.d.ts +2 -0
  159. package/lib/renderers/DropDownButton.js +13 -4
  160. package/lib/renderers/DropDownButton.js.map +2 -2
  161. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  162. package/lib/renderers/Form/Checkbox.js +2 -2
  163. package/lib/renderers/Form/Checkbox.js.map +2 -2
  164. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  165. package/lib/renderers/Form/Checkboxes.js +101 -12
  166. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  167. package/lib/renderers/Form/Combo.d.ts +6 -4
  168. package/lib/renderers/Form/Combo.js +132 -45
  169. package/lib/renderers/Form/Combo.js.map +2 -2
  170. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  171. package/lib/renderers/Form/Editor.d.ts +2 -2
  172. package/lib/renderers/Form/InputCity.d.ts +87 -84
  173. package/lib/renderers/Form/InputCity.js +48 -3
  174. package/lib/renderers/Form/InputCity.js.map +2 -2
  175. package/lib/renderers/Form/InputDate.js +10 -3
  176. package/lib/renderers/Form/InputDate.js.map +2 -2
  177. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  178. package/lib/renderers/Form/InputDateRange.js +12 -3
  179. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  180. package/lib/renderers/Form/InputFile.js +19 -8
  181. package/lib/renderers/Form/InputFile.js.map +2 -2
  182. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  183. package/lib/renderers/Form/InputFormula.js +2 -2
  184. package/lib/renderers/Form/InputFormula.js.map +2 -2
  185. package/lib/renderers/Form/InputImage.js +18 -7
  186. package/lib/renderers/Form/InputImage.js.map +2 -2
  187. package/lib/renderers/Form/InputMonthRange.js +5 -1
  188. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  189. package/lib/renderers/Form/InputRange.d.ts +2 -2
  190. package/lib/renderers/Form/InputRange.js +13 -14
  191. package/lib/renderers/Form/InputRange.js.map +2 -2
  192. package/lib/renderers/Form/InputTable.js +4 -2
  193. package/lib/renderers/Form/InputTable.js.map +2 -2
  194. package/lib/renderers/Form/InputText.d.ts +1 -1
  195. package/lib/renderers/Form/InputText.js +8 -10
  196. package/lib/renderers/Form/InputText.js.map +2 -2
  197. package/lib/renderers/Form/InputTree.d.ts +5 -0
  198. package/lib/renderers/Form/InputTree.js +51 -2
  199. package/lib/renderers/Form/InputTree.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +79 -76
  201. package/lib/renderers/Form/Item.js +3 -1
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  204. package/lib/renderers/Form/NestedSelect.js +14 -5
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Options.js +61 -27
  207. package/lib/renderers/Form/Options.js.map +2 -2
  208. package/lib/renderers/Form/Select.js +4 -2
  209. package/lib/renderers/Form/Select.js.map +2 -2
  210. package/lib/renderers/Form/Textarea.js +2 -1
  211. package/lib/renderers/Form/Textarea.js.map +2 -2
  212. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  213. package/lib/renderers/Form/TreeSelect.js +56 -10
  214. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  215. package/lib/renderers/Form/index.d.ts +3 -0
  216. package/lib/renderers/Form/index.js +53 -16
  217. package/lib/renderers/Form/index.js.map +2 -2
  218. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  219. package/lib/renderers/Form/wrapControl.js +41 -19
  220. package/lib/renderers/Form/wrapControl.js.map +2 -2
  221. package/lib/renderers/Nav.d.ts +82 -67
  222. package/lib/renderers/Nav.js +49 -13
  223. package/lib/renderers/Nav.js.map +2 -2
  224. package/lib/renderers/Page.d.ts +21 -0
  225. package/lib/renderers/Page.js +56 -17
  226. package/lib/renderers/Page.js.map +2 -2
  227. package/lib/renderers/Progress.d.ts +4 -7
  228. package/lib/renderers/Progress.js +3 -3
  229. package/lib/renderers/Progress.js.map +2 -2
  230. package/lib/renderers/Service.d.ts +3 -0
  231. package/lib/renderers/Service.js +55 -20
  232. package/lib/renderers/Service.js.map +2 -2
  233. package/lib/renderers/Spinner.d.ts +58 -2
  234. package/lib/renderers/Spinner.js +8 -1
  235. package/lib/renderers/Spinner.js.map +2 -2
  236. package/lib/renderers/Steps.d.ts +8 -0
  237. package/lib/renderers/Steps.js +2 -2
  238. package/lib/renderers/Steps.js.map +2 -2
  239. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  240. package/lib/renderers/Table/ColumnToggler.js +11 -6
  241. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  242. package/lib/renderers/Table/TableCell.js +27 -1
  243. package/lib/renderers/Table/TableCell.js.map +2 -2
  244. package/lib/renderers/Table/TableRow.js +1 -1
  245. package/lib/renderers/Table/TableRow.js.map +2 -2
  246. package/lib/renderers/Table/index.d.ts +2 -0
  247. package/lib/renderers/Table/index.js +23 -10
  248. package/lib/renderers/Table/index.js.map +2 -2
  249. package/lib/renderers/Tabs.d.ts +14 -2
  250. package/lib/renderers/Tabs.js +24 -8
  251. package/lib/renderers/Tabs.js.map +2 -2
  252. package/lib/renderers/TooltipWrapper.d.ts +133 -0
  253. package/lib/renderers/TooltipWrapper.js +70 -0
  254. package/lib/renderers/TooltipWrapper.js.map +13 -0
  255. package/lib/renderers/Wizard.d.ts +7 -3
  256. package/lib/renderers/Wizard.js +269 -152
  257. package/lib/renderers/Wizard.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/crud.d.ts +1 -0
  260. package/lib/store/crud.js +55 -19
  261. package/lib/store/crud.js.map +2 -2
  262. package/lib/store/form.d.ts +1 -1
  263. package/lib/store/form.js +5 -1
  264. package/lib/store/form.js.map +2 -2
  265. package/lib/store/formItem.js +1 -1
  266. package/lib/store/formItem.js.map +2 -2
  267. package/lib/store/index.d.ts +5 -0
  268. package/lib/store/index.js +14 -0
  269. package/lib/store/index.js.map +2 -2
  270. package/lib/store/table.d.ts +2 -2
  271. package/lib/store/table.js +4 -4
  272. package/lib/store/table.js.map +2 -2
  273. package/lib/themes/ang-ie11.css +965 -210
  274. package/lib/themes/ang.css +955 -175
  275. package/lib/themes/ang.css.map +1 -1
  276. package/lib/themes/antd-ie11.css +1080 -325
  277. package/lib/themes/antd.css +956 -176
  278. package/lib/themes/antd.css.map +1 -1
  279. package/lib/themes/cxd-ie11.css +1048 -293
  280. package/lib/themes/cxd.css +961 -180
  281. package/lib/themes/cxd.css.map +1 -1
  282. package/lib/themes/dark-ie11.css +965 -210
  283. package/lib/themes/dark.css +955 -175
  284. package/lib/themes/dark.css.map +1 -1
  285. package/lib/themes/default-ie11.css +1048 -293
  286. package/lib/themes/default.css +961 -180
  287. package/lib/themes/default.css.map +1 -1
  288. package/lib/types.d.ts +3 -1
  289. package/lib/types.js.map +1 -1
  290. package/lib/utils/ColorScale.d.ts +19 -0
  291. package/lib/utils/ColorScale.js +104 -0
  292. package/lib/utils/ColorScale.js.map +13 -0
  293. package/lib/utils/api.js +20 -4
  294. package/lib/utils/api.js.map +2 -2
  295. package/lib/utils/columnsSplit.d.ts +1 -0
  296. package/lib/utils/columnsSplit.js +40 -0
  297. package/lib/utils/columnsSplit.js.map +13 -0
  298. package/lib/utils/debug.d.ts +1 -1
  299. package/lib/utils/debug.js +16 -22
  300. package/lib/utils/debug.js.map +2 -2
  301. package/lib/utils/dom.d.ts +1 -1
  302. package/lib/utils/dom.js +7 -5
  303. package/lib/utils/dom.js.map +2 -2
  304. package/lib/utils/position.js +0 -1
  305. package/lib/utils/position.js.map +2 -2
  306. package/lib/utils/scrollPosition.d.ts +6 -0
  307. package/lib/utils/scrollPosition.js +31 -0
  308. package/lib/utils/scrollPosition.js.map +13 -0
  309. package/package.json +3 -2
  310. package/schema.json +30213 -29222
  311. package/scss/_properties.scss +67 -25
  312. package/scss/components/_alert.scss +1 -1
  313. package/scss/components/_barcode.scss +1 -1
  314. package/scss/components/_button-group.scss +15 -0
  315. package/scss/components/_carousel.scss +1 -0
  316. package/scss/components/_column-toggler.scss +21 -11
  317. package/scss/components/_debug.scss +3 -3
  318. package/scss/components/_formula.scss +19 -1
  319. package/scss/components/_nav.scss +51 -6
  320. package/scss/components/_progress.scss +7 -14
  321. package/scss/components/_pull-refresh.scss +25 -0
  322. package/scss/components/_spinner.scss +134 -56
  323. package/scss/components/_steps.scss +199 -8
  324. package/scss/components/_tabs.scss +145 -13
  325. package/scss/components/_tooltip.scss +76 -9
  326. package/scss/components/form/_checks.scss +125 -2
  327. package/scss/components/form/_combo.scss +13 -1
  328. package/scss/components/form/_date-range.scss +27 -2
  329. package/scss/components/form/_date.scss +25 -0
  330. package/scss/components/form/_editor.scss +2 -1
  331. package/scss/components/form/_file.scss +4 -0
  332. package/scss/components/form/_form.scss +31 -8
  333. package/scss/components/form/_number.scss +5 -2
  334. package/scss/components/form/_select.scss +0 -1
  335. package/scss/components/form/_textarea.scss +1 -23
  336. package/scss/components/form/_transfer.scss +3 -2
  337. package/scss/themes/_antd-variables.scss +1 -1
  338. package/scss/themes/_common.scss +1 -0
  339. package/scss/themes/_cxd-variables.scss +6 -5
  340. package/sdk/ang-ie11.css +1059 -198
  341. package/sdk/ang.css +1050 -164
  342. package/sdk/antd-ie11.css +1167 -306
  343. package/sdk/antd.css +1051 -165
  344. package/sdk/barcode.js +51 -51
  345. package/sdk/charts.js +14 -14
  346. package/sdk/codemirror.js +7 -7
  347. package/sdk/color-picker.js +65 -65
  348. package/sdk/cropperjs.js +2 -2
  349. package/sdk/cxd-ie11.css +1145 -284
  350. package/sdk/cxd.css +1056 -169
  351. package/sdk/dark-ie11.css +1056 -195
  352. package/sdk/dark.css +1050 -164
  353. package/sdk/exceljs.js +1 -1
  354. package/sdk/locale/de-DE.js +18 -1
  355. package/sdk/markdown.js +69 -69
  356. package/sdk/papaparse.js +1 -1
  357. package/sdk/renderers/Form/CityDB.js +1 -1
  358. package/sdk/rest.js +17 -17
  359. package/sdk/rich-text.js +62 -62
  360. package/sdk/sdk-ie11.css +1145 -284
  361. package/sdk/sdk.css +1056 -169
  362. package/sdk/sdk.js +1321 -1273
  363. package/sdk/thirds/hls.js/hls.js +1 -1
  364. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  365. package/sdk/tinymce.js +57 -57
  366. package/src/Schema.ts +15 -2
  367. package/src/SchemaRenderer.tsx +32 -14
  368. package/src/WithStore.tsx +3 -1
  369. package/src/actions/CmptAction.ts +28 -0
  370. package/src/actions/PageAction.ts +62 -0
  371. package/src/actions/index.ts +1 -0
  372. package/src/components/Alert2.tsx +9 -3
  373. package/src/components/AssociatedSelection.tsx +9 -3
  374. package/src/components/BarCode.tsx +2 -2
  375. package/src/components/Cascader.tsx +37 -11
  376. package/src/components/Checkbox.tsx +11 -5
  377. package/src/components/CityArea.tsx +3 -0
  378. package/src/components/DatePicker.tsx +68 -22
  379. package/src/components/DateRangePicker.tsx +551 -88
  380. package/src/components/Drawer.tsx +1 -0
  381. package/src/components/Modal.tsx +1 -0
  382. package/src/components/Overlay.tsx +6 -3
  383. package/src/components/Progress.tsx +64 -33
  384. package/src/components/PullRefresh.tsx +197 -0
  385. package/src/components/Radios.tsx +6 -17
  386. package/src/components/Range.tsx +26 -12
  387. package/src/components/Spinner.tsx +77 -42
  388. package/src/components/Steps.tsx +28 -27
  389. package/src/components/Tabs.tsx +51 -21
  390. package/src/components/Tooltip.tsx +12 -3
  391. package/src/components/TooltipWrapper.tsx +140 -33
  392. package/src/components/Tree.tsx +19 -5
  393. package/src/components/calendar/Calendar.tsx +4 -13
  394. package/src/components/calendar/TimeView.tsx +12 -0
  395. package/src/components/calendar/YearsView.tsx +3 -4
  396. package/src/components/condition-builder/Expression.tsx +6 -1
  397. package/src/components/condition-builder/Field.tsx +5 -1
  398. package/src/components/condition-builder/Group.tsx +4 -1
  399. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  400. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  401. package/src/components/condition-builder/Item.tsx +28 -4
  402. package/src/components/condition-builder/Value.tsx +7 -1
  403. package/src/components/condition-builder/index.tsx +4 -2
  404. package/src/components/formula/Editor.tsx +46 -10
  405. package/src/components/formula/Picker.tsx +32 -1
  406. package/src/components/icons.tsx +2 -0
  407. package/src/factory.tsx +31 -3
  408. package/src/icons/trash.svg +8 -0
  409. package/src/index.tsx +1 -0
  410. package/src/locale/de-DE.ts +18 -1
  411. package/src/locale/en-US.ts +18 -1
  412. package/src/locale/zh-CN.ts +18 -1
  413. package/src/renderers/Action.tsx +24 -2
  414. package/src/renderers/App.tsx +4 -0
  415. package/src/renderers/ButtonGroup.tsx +2 -2
  416. package/src/renderers/CRUD.tsx +23 -5
  417. package/src/renderers/Carousel.tsx +8 -0
  418. package/src/renderers/Chart.tsx +4 -0
  419. package/src/renderers/Dialog.tsx +21 -3
  420. package/src/renderers/Drawer.tsx +14 -2
  421. package/src/renderers/DropDownButton.tsx +14 -3
  422. package/src/renderers/Form/Checkbox.tsx +11 -2
  423. package/src/renderers/Form/Checkboxes.tsx +106 -23
  424. package/src/renderers/Form/Combo.tsx +179 -66
  425. package/src/renderers/Form/InputCity.tsx +46 -5
  426. package/src/renderers/Form/InputDate.tsx +18 -4
  427. package/src/renderers/Form/InputDateRange.tsx +27 -3
  428. package/src/renderers/Form/InputFile.tsx +23 -7
  429. package/src/renderers/Form/InputFormula.tsx +7 -0
  430. package/src/renderers/Form/InputImage.tsx +22 -6
  431. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  432. package/src/renderers/Form/InputRange.tsx +20 -22
  433. package/src/renderers/Form/InputTable.tsx +6 -2
  434. package/src/renderers/Form/InputText.tsx +14 -4
  435. package/src/renderers/Form/InputTree.tsx +40 -2
  436. package/src/renderers/Form/Item.tsx +7 -0
  437. package/src/renderers/Form/NestedSelect.tsx +23 -4
  438. package/src/renderers/Form/Options.tsx +26 -7
  439. package/src/renderers/Form/Select.tsx +5 -3
  440. package/src/renderers/Form/Textarea.tsx +3 -1
  441. package/src/renderers/Form/TreeSelect.tsx +47 -9
  442. package/src/renderers/Form/index.tsx +56 -25
  443. package/src/renderers/Form/wrapControl.tsx +23 -12
  444. package/src/renderers/Nav.tsx +231 -33
  445. package/src/renderers/Page.tsx +97 -35
  446. package/src/renderers/Progress.tsx +9 -11
  447. package/src/renderers/Service.tsx +66 -27
  448. package/src/renderers/Spinner.tsx +85 -3
  449. package/src/renderers/Steps.tsx +14 -0
  450. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  451. package/src/renderers/Table/TableCell.tsx +39 -1
  452. package/src/renderers/Table/TableRow.tsx +1 -1
  453. package/src/renderers/Table/index.tsx +43 -19
  454. package/src/renderers/Tabs.tsx +90 -31
  455. package/src/renderers/TooltipWrapper.tsx +262 -0
  456. package/src/renderers/Wizard.tsx +169 -93
  457. package/src/store/crud.ts +50 -5
  458. package/src/store/form.ts +8 -3
  459. package/src/store/formItem.ts +1 -2
  460. package/src/store/index.ts +20 -0
  461. package/src/store/table.ts +4 -4
  462. package/src/types.ts +8 -1
  463. package/src/utils/ColorScale.ts +138 -0
  464. package/src/utils/api.ts +26 -4
  465. package/src/utils/columnsSplit.tsx +57 -0
  466. package/src/utils/debug.tsx +17 -24
  467. package/src/utils/dom.tsx +7 -6
  468. package/src/utils/position.ts +0 -1
  469. 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,32 +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
- let viewValue: React.ReactNode = (
78
- <span className="text-muted">{placeholder}</span>
79
- );
109
+ let viewValue: React.ReactNode;
110
+ if (typeof value !== 'number') {
111
+ viewValue = <span className="text-muted">{placeholder}</span>;
112
+ } else if (type === 'line') {
113
+ const style: any = {};
114
+ const barStyle: any = {
115
+ width: `${value}%`
116
+ };
117
+ strokeWidth && (style.height = strokeWidth);
118
+ !isColorClass && (barStyle.backgroundColor = bgColor);
80
119
 
81
- if (type === 'line') {
82
120
  viewValue = [
83
- <div
84
- key="progress"
85
- className={cx(prefixCls, progressClassName, {
86
- [`${prefixCls}-no-label`]: !showLabel
87
- })}
88
- >
89
- <div className={cx(`${prefixCls}-inter`)}>
121
+ <div key="progress" className={cx(prefixCls, progressClassName)}>
122
+ <div className={cx(`${prefixCls}-inter`)} style={style}>
90
123
  <div
91
124
  className={cx(
92
125
  `${prefixCls}-bar`,
93
- progressBarClassName || this.autoClassName(value),
126
+ {[bgColor]: isColorClass},
94
127
  {[`${prefixCls}-bar--stripe`]: stripe},
95
128
  {[`${prefixCls}-bar--animate`]: animate && !stripe},
96
129
  {[`${prefixCls}-bar--stripe-animate`]: animate && stripe}
97
130
  )}
98
131
  title={`${value}%`}
99
- style={{
100
- width: `${value}%`
101
- }}
132
+ style={barStyle}
102
133
  />
103
134
  </div>
104
135
  </div>,
@@ -118,13 +149,13 @@ export class Progress extends React.Component<ProgressProps, Object> {
118
149
  };
119
150
 
120
151
  viewValue = [
121
- <div className={cx(prefixCls)} key="circle">
152
+ <div className={cx(prefixCls, progressClassName)} key="circle">
122
153
  <Circle
123
154
  percent={value}
124
- strokeColor=""
155
+ strokeColor={!isColorClass ? bgColor : ''}
125
156
  strokeWidth={circleWidth}
126
157
  trailWidth={circleWidth}
127
- prefixCls={this.autoClassName(value)}
158
+ prefixCls={isColorClass ? bgColor : ''}
128
159
  gapDegree={getGapDegree()}
129
160
  gapPosition={gapPos}
130
161
  />
@@ -133,7 +164,7 @@ export class Progress extends React.Component<ProgressProps, Object> {
133
164
  ];
134
165
  }
135
166
 
136
- return <div className={cx('Progress', classNames)}>{viewValue}</div>;
167
+ return <div className={cx('Progress', className)}>{viewValue}</div>;
137
168
  }
138
169
  }
139
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
  )