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
@@ -7,77 +7,112 @@
7
7
 
8
8
  import React from 'react';
9
9
  import {themeable, ThemeProps} from '../theme';
10
- import Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';
11
- import {Icon} from './icons';
10
+ import Transition, {ENTERED} from 'react-transition-group/Transition';
11
+ import {Icon, hasIcon} from './icons';
12
+ import {generateIcon} from '../utils/icon';
12
13
 
13
14
  const fadeStyles: {
14
15
  [propName: string]: string;
15
16
  } = {
16
- [ENTERING]: 'in',
17
17
  [ENTERED]: 'in'
18
18
  };
19
19
 
20
- interface SpinnerProps extends ThemeProps {
21
- overlay: boolean;
22
- spinnerClassName: string;
23
- mode: string;
24
- size: 'sm' | 'lg' | '';
25
- show: boolean;
26
- icon?: string;
20
+ // Spinner Props
21
+ export interface SpinnerProps extends ThemeProps {
22
+ show: boolean; // 控制Spinner显示与隐藏
23
+ className?: string; // 自定义最外层元素class
24
+ spinnerClassName?: string; // spin图标位置包裹元素的自定义class
25
+ /**
26
+ * @deprecated 已废弃,没有作用
27
+ */
28
+ mode?: string;
29
+ size?: 'sm' | 'lg' | ''; // spinner Icon 大小
30
+ icon?: string | React.ReactNode; // 自定义icon
31
+ tip?: string; // spinner文案
32
+ tipPlacement?: 'top' | 'right' | 'bottom' | 'left'; // spinner文案位置
33
+ delay?: number; // 延迟显示
34
+ overlay?: boolean; // 是否显示遮罩层,有children属性才生效
27
35
  }
28
36
 
29
- export class Spinner extends React.Component<SpinnerProps, object> {
37
+ export class Spinner extends React.Component<SpinnerProps> {
30
38
  static defaultProps = {
31
- overlay: false,
39
+ show: true,
40
+ className: '',
32
41
  spinnerClassName: '',
33
- mode: '',
34
42
  size: '' as '',
35
- show: true
43
+ icon: '',
44
+ tip: '',
45
+ tipPlacement: 'bottom' as 'bottom',
46
+ delay: 0,
47
+ overlay: false
36
48
  };
37
49
 
38
- div: React.RefObject<HTMLDivElement> = React.createRef();
39
- overlay: React.RefObject<HTMLDivElement> = React.createRef();
40
-
41
50
  render() {
42
51
  const {
43
- show,
44
52
  classnames: cx,
53
+ show,
54
+ className,
45
55
  spinnerClassName,
46
- mode,
47
- size,
56
+ size = '',
48
57
  overlay,
49
- icon
58
+ delay,
59
+ icon,
60
+ tip,
61
+ tipPlacement = ''
50
62
  } = this.props;
63
+ const isCustomIcon = icon && React.isValidElement(icon);
64
+ const timeout = {enter: delay, exit: 0};
65
+
51
66
  return (
52
- <Transition mountOnEnter unmountOnExit in={show} timeout={350}>
67
+ <Transition mountOnEnter unmountOnExit in={show} timeout={timeout}>
53
68
  {(status: string) => {
54
- if (status === ENTERING) {
55
- // force reflow
56
- // 由于从 mount 进来到加上 in 这个 class 估计是时间太短,上次的样式还没应用进去,所以这里强制reflow一把。
57
- // 否则看不到动画。
58
- // this.div.current!.offsetWidth;
59
- this.overlay.current && this.overlay.current.offsetWidth;
60
- }
61
-
62
69
  return (
63
70
  <>
71
+ {/* 遮罩层 */}
64
72
  {overlay ? (
65
- <div
66
- ref={this.overlay}
67
- className={cx(`Spinner-overlay`, fadeStyles[status])}
68
- />
73
+ <div className={cx(`Spinner-overlay`, fadeStyles[status])} />
69
74
  ) : null}
70
75
 
76
+ {/* spinner图标和文案 */}
71
77
  <div
72
- ref={this.div}
73
- className={cx(`Spinner`, spinnerClassName, fadeStyles[status], {
74
- [`Spinner--${mode}`]: mode,
75
- [`Spinner--overlay`]: overlay,
76
- [`Spinner--${size}`]: size,
77
- [`Spinner--icon`]: icon
78
- })}
78
+ className={cx(
79
+ `Spinner`,
80
+ tip && {
81
+ [`Spinner-tip--${tipPlacement}`]: [
82
+ 'top',
83
+ 'right',
84
+ 'bottom',
85
+ 'left'
86
+ ].includes(tipPlacement)
87
+ },
88
+ {[`Spinner--overlay`]: overlay},
89
+ fadeStyles[status],
90
+ className
91
+ )}
79
92
  >
80
- {icon ? <Icon icon={icon} className="icon" /> : null}
93
+ <div
94
+ className={cx(
95
+ `Spinner-icon`,
96
+ {
97
+ [`Spinner-icon--${size}`]: ['lg', 'sm'].includes(size),
98
+ [`Spinner-icon--default`]: !icon,
99
+ [`Spinner-icon--simple`]: !isCustomIcon && icon,
100
+ [`Spinner-icon--custom`]: isCustomIcon
101
+ },
102
+ spinnerClassName
103
+ )}
104
+ >
105
+ {icon ? (
106
+ isCustomIcon ? (
107
+ icon
108
+ ) : hasIcon(icon as string) ? (
109
+ <Icon icon={icon} className="icon" />
110
+ ) : (
111
+ generateIcon(cx, icon as string, 'icon')
112
+ )
113
+ ) : null}
114
+ </div>
115
+ {tip ? <span className={cx(`Spinner-tip`)}>{tip}</span> : ''}
81
116
  </div>
82
117
  </>
83
118
  );
@@ -69,8 +69,12 @@ export interface StepsSchema extends BaseSchema {
69
69
  * 展示模式
70
70
  */
71
71
  mode?: 'horizontal' | 'vertical';
72
- }
73
72
 
73
+ /**
74
+ * 标签放置位置
75
+ */
76
+ labelPlacement?: 'horizontal' | 'vertical';
77
+ }
74
78
  export interface StepsProps extends ThemeProps {
75
79
  steps: StepSchema[];
76
80
  className: string;
@@ -81,6 +85,8 @@ export interface StepsProps extends ThemeProps {
81
85
  [propName: string]: StepStatus;
82
86
  };
83
87
  mode?: 'horizontal' | 'vertical';
88
+ labelPlacement?: 'horizontal' | 'vertical';
89
+ progressDot?: boolean;
84
90
  useMobileUI?: boolean;
85
91
  }
86
92
 
@@ -92,6 +98,8 @@ export function Steps(props: StepsProps) {
92
98
  current,
93
99
  status,
94
100
  mode = 'horizontal',
101
+ labelPlacement = 'horizontal',
102
+ progressDot = false,
95
103
  useMobileUI
96
104
  } = props;
97
105
  const FINISH_ICON = 'check';
@@ -129,48 +137,41 @@ export function Steps(props: StepsProps) {
129
137
 
130
138
  const mobileUI = useMobileUI && isMobile();
131
139
  return (
132
- <ul
133
- className={cx(
134
- 'Steps',
135
- `Steps--${mode}`,
136
- mobileUI ? 'Steps-mobile' : '',
137
- className
138
- )}
139
- >
140
+ <ul className={cx( // 纵向步骤条暂时不支持labelPlacement属性
141
+ 'Steps',
142
+ `Steps--Placement-${(progressDot || (labelPlacement === 'vertical' && mode != 'vertical')) ? 'vertical' : ''}`,
143
+ `Steps--${progressDot ? 'ProgressDot' : ''}`,
144
+ `Steps--${mode}`,
145
+ mobileUI ? 'Steps-mobile' : '', className)}>
140
146
  {stepsRow.map((step, i) => {
141
147
  const {stepStatus, icon} = getStepStatus(step, i);
142
-
143
148
  return (
144
149
  <li
145
150
  key={i}
146
- className={cx('StepsItem', `is-${stepStatus}`, step.className)}
151
+ className={cx('StepsItem', `is-${stepStatus}`, step.className, `StepsItem-${progressDot ? 'ProgressDot' : ''}`)}
147
152
  >
148
153
  <div className={cx('StepsItem-container')}>
149
- <div
150
- className={cx(
151
- 'StepsItem-containerIcon',
152
- i < current && 'is-success'
153
- )}
154
- >
155
- <span className={cx('StepsItem-icon')}>
156
- {icon ? <Icon icon={icon} className="icon" /> : i + 1}
157
- </span>
158
- </div>
154
+ <div className={cx('StepsItem-containerTail')}></div>
155
+ {progressDot ? <div className={cx('StepsItem-containerProgressDot')}></div>
156
+ : <div className={cx('StepsItem-containerIcon', i < current && 'is-success')}>
157
+ <span className={cx('StepsItem-icon')}>
158
+ {icon ? <Icon icon={icon} className="icon" /> : i + 1}
159
+ </span>
160
+ </div>}
159
161
  <div className={cx('StepsItem-containerWrapper')}>
160
162
  <div className={cx('StepsItem-body')}>
161
163
  <div
162
164
  className={cx(
163
165
  'StepsItem-title',
166
+ `StepsItem-${progressDot ? 'vertical-ProgressDot' : ''}`,
164
167
  i < current && 'is-success'
165
168
  )}
166
169
  >
167
- <span>{step.title}</span>
168
- <span className={cx('StepsItem-subTitle')}>
169
- {step.subTitle}
170
- </span>
170
+ <span className={cx('StepsItem-ellText')} title={String(step.title)}>{step.title}</span>
171
+ <span className={cx('StepsItem-subTitle', 'StepsItem-ellText')} title={String(step.subTitle)}>{step.subTitle}</span>
171
172
  </div>
172
- <div className={cx('StepsItem-description')}>
173
- {step.description}
173
+ <div className={cx('StepsItem-description', 'StepsItem-ellText')} title={String(step.description)}>
174
+ <span>{step.description}</span>
174
175
  </div>
175
176
  </div>
176
177
  </div>
@@ -16,6 +16,7 @@ import {Icon} from './icons';
16
16
  import debounce from 'lodash/debounce';
17
17
  import {findDOMNode} from 'react-dom';
18
18
  import TooltipWrapper, {TooltipObject, Trigger} from './TooltipWrapper';
19
+ import {resizeSensor} from '../utils/resize-sensor';
19
20
 
20
21
  import Sortable from 'sortablejs';
21
22
 
@@ -26,7 +27,7 @@ const transitionStyles: {
26
27
  [ENTERED]: 'in'
27
28
  };
28
29
 
29
- export type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong';
30
+ export type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong' | 'tiled' |'sidebar';
30
31
 
31
32
  export interface TabProps extends ThemeProps {
32
33
  title?: string | React.ReactNode; // 标题
@@ -114,6 +115,8 @@ export interface TabsProps extends ThemeProps {
114
115
  scrollable?: boolean; // 属性废弃,为了兼容暂且保留
115
116
  editable?: boolean;
116
117
  onEdit?: (index: number, text: string) => void;
118
+ sidePosition?: 'left' | 'right';
119
+ addBtnText?: string;
117
120
  }
118
121
 
119
122
  export interface IDragInfo {
@@ -122,21 +125,25 @@ export interface IDragInfo {
122
125
 
123
126
  export class Tabs extends React.Component<TabsProps, any> {
124
127
  static defaultProps: Pick<TabsProps,
125
- 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName'
128
+ 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName' | 'sidePosition' | 'addBtnText'
126
129
  > = {
127
130
  mode: '',
128
131
  contentClassName: '',
129
132
  showTip: false,
130
- showTipClassName: ''
133
+ showTipClassName: '',
134
+ sidePosition: 'left',
135
+ addBtnText: '增加'
131
136
  };
132
137
 
133
138
  static Tab = Tab;
134
- navMain = React.createRef<HTMLDivElement>();
139
+ navMain = React.createRef<HTMLUListElement>(); // HTMLDivElement
135
140
  scroll: boolean = false;
136
141
  sortable?: Sortable;
137
142
  dragTip?: HTMLElement;
138
143
  id: string = guid();
139
144
  draging: boolean = false;
145
+ toDispose: Array<() => void> = [];
146
+ resizeDom = React.createRef<HTMLDivElement>();
140
147
 
141
148
  checkArrowStatus = debounce(
142
149
  () => {
@@ -200,6 +207,12 @@ export class Tabs extends React.Component<TabsProps, any> {
200
207
  });
201
208
  this.checkArrowStatus();
202
209
  }
210
+
211
+ this.resizeDom?.current && this.toDispose.push(
212
+ resizeSensor(this.resizeDom.current as HTMLElement, () =>
213
+ this.computedWidth()
214
+ )
215
+ );
203
216
  }
204
217
 
205
218
  componentDidUpdate() {
@@ -212,6 +225,8 @@ export class Tabs extends React.Component<TabsProps, any> {
212
225
 
213
226
  componentWillUnmount() {
214
227
  this.checkArrowStatus.cancel();
228
+ this.toDispose.forEach(fn => fn());
229
+ this.toDispose = [];
215
230
  }
216
231
 
217
232
  /**
@@ -220,7 +235,7 @@ export class Tabs extends React.Component<TabsProps, any> {
220
235
  computedWidth() {
221
236
  const {mode: dMode, tabsMode} = this.props;
222
237
  const mode = tabsMode || dMode;
223
- if (mode === 'vertical') {
238
+ if (['vertical', 'sidebar'].includes(mode)) {
224
239
  return;
225
240
  }
226
241
 
@@ -246,7 +261,7 @@ export class Tabs extends React.Component<TabsProps, any> {
246
261
  const {mode: dMode, tabsMode} = this.props;
247
262
  const {isOverflow} = this.state;
248
263
  const mode = tabsMode || dMode;
249
- if (mode === 'vertical' || !isOverflow) {
264
+ if (['vertical', 'sidebar'].includes(mode) || !isOverflow) {
250
265
  return;
251
266
  }
252
267
  const {activeKey, children} = this.props;
@@ -254,7 +269,7 @@ export class Tabs extends React.Component<TabsProps, any> {
254
269
  const currentIndex = (children as any[])?.findIndex(
255
270
  (item: any) => item.props.eventKey === currentKey
256
271
  );
257
- const li = this.navMain.current?.children[0]?.children || [];
272
+ const li = this.navMain.current?.children || [];
258
273
  const currentLi = li[currentIndex] as HTMLElement;
259
274
  const liOffsetLeft = currentLi?.offsetLeft;
260
275
  const liClientWidth = currentLi?.clientWidth;
@@ -569,7 +584,7 @@ export class Tabs extends React.Component<TabsProps, any> {
569
584
  renderArrow(type: 'left' | 'right') {
570
585
  const {mode: dMode, tabsMode} = this.props;
571
586
  const mode = tabsMode || dMode;
572
- if (mode === 'vertical') {
587
+ if (['vertical', 'sidebar'].includes(mode)) {
573
588
  return;
574
589
  }
575
590
  const {classnames: cx} = this.props;
@@ -607,7 +622,9 @@ export class Tabs extends React.Component<TabsProps, any> {
607
622
  toolbar,
608
623
  linksClassName,
609
624
  addable,
610
- draggable
625
+ draggable,
626
+ sidePosition,
627
+ addBtnText
611
628
  } = this.props;
612
629
 
613
630
  const {isOverflow} = this.state;
@@ -617,19 +634,35 @@ export class Tabs extends React.Component<TabsProps, any> {
617
634
 
618
635
  const mode = tabsMode || dMode;
619
636
 
637
+ const toolButtons = (
638
+ <>
639
+ {addable && (
640
+ <div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>
641
+ <Icon icon="plus" className={cx('Tabs-addable-icon')} />
642
+ {addBtnText}
643
+ </div>
644
+ )}
645
+ {toolbar}
646
+ </>
647
+ );
648
+
620
649
  return (
621
650
  <div
622
651
  className={cx(
623
652
  `Tabs`,
624
653
  {
625
- [`Tabs--${mode}`]: mode
654
+ [`Tabs--${mode}`]: mode,
655
+ [`sidebar--${sidePosition}`]: mode === 'sidebar'
626
656
  },
627
657
  className
628
658
  )}
629
659
  >
630
660
  {
631
- !['vertical', 'chrome'].includes(mode) ? (
632
- <div className={cx('Tabs-linksContainer-wrapper')}>
661
+ !['vertical', 'sidebar', 'chrome'].includes(mode) ? (
662
+ <div
663
+ className={cx('Tabs-linksContainer-wrapper', toolbar && 'Tabs-linksContainer-wrapper--toolbar')}
664
+ ref={this.resizeDom}
665
+ >
633
666
  <div
634
667
  className={cx(
635
668
  'Tabs-linksContainer',
@@ -637,22 +670,19 @@ export class Tabs extends React.Component<TabsProps, any> {
637
670
  )}
638
671
  >
639
672
  {this.renderArrow('left')}
640
- <div className={cx('Tabs-linksContainer-main')} ref={this.navMain}>
641
- <ul className={cx('Tabs-links', linksClassName)} role="tablist">
673
+ <div className={cx('Tabs-linksContainer-main')}>
674
+ <ul className={cx('Tabs-links', linksClassName)} role="tablist" ref={this.navMain}>
642
675
  {children.map((tab, index) => this.renderNav(tab, index))}
643
676
  {additionBtns}
644
- {toolbar}
677
+ {
678
+ !isOverflow && toolButtons
679
+ }
645
680
  </ul>
646
681
  </div>
647
682
  {this.renderArrow('right')}
648
683
  </div>
649
684
  {
650
- addable && (
651
- <div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>
652
- <Icon icon="plus" className={cx('Tabs-addable-icon')} />
653
- 增加
654
- </div>
655
- )
685
+ isOverflow && toolButtons
656
686
  }
657
687
  </div>
658
688
  ) : (
@@ -18,18 +18,23 @@ interface TooltipProps extends React.HTMLProps<HTMLDivElement> {
18
18
  style?: any;
19
19
  arrowProps?: any;
20
20
  placement?: string;
21
+ showArrow?: boolean;
22
+ tooltipTheme?: string;
21
23
  [propName: string]: any;
22
24
  }
23
25
 
24
26
  export class Tooltip extends React.Component<TooltipProps> {
25
27
  static defaultProps = {
26
- className: ''
28
+ className: '',
29
+ tooltipTheme: 'light',
30
+ showArrow: true
27
31
  };
28
32
 
29
33
  render() {
30
34
  const {
31
35
  classPrefix: ns,
32
36
  className,
37
+ tooltipTheme,
33
38
  title,
34
39
  children,
35
40
  arrowProps,
@@ -41,6 +46,7 @@ export class Tooltip extends React.Component<TooltipProps> {
41
46
  positionTop,
42
47
  classnames: cx,
43
48
  activePlacement,
49
+ showArrow,
44
50
  onMouseEnter,
45
51
  onMouseLeave,
46
52
  ...rest
@@ -52,14 +58,17 @@ export class Tooltip extends React.Component<TooltipProps> {
52
58
  className={cx(
53
59
  `Tooltip`,
54
60
  activePlacement ? `Tooltip--${activePlacement}` : '',
55
- className
61
+ className,
62
+ `Tooltip--${tooltipTheme === 'dark' ? 'dark' : 'light'}`
56
63
  )}
57
64
  style={style}
58
65
  onMouseEnter={onMouseEnter}
59
66
  onMouseLeave={onMouseLeave}
60
67
  role="tooltip"
61
68
  >
62
- <div className={cx(`Tooltip-arrow`)} {...arrowProps} />
69
+ {showArrow ? (
70
+ <div className={cx(`Tooltip-arrow`)} {...arrowProps} />
71
+ ) : null}
63
72
  {title ? <div className={cx('Tooltip-title')}>{title}</div> : null}
64
73
  <div className={cx('Tooltip-body')}>{children}</div>
65
74
  </div>