amis 1.3.5-beta.7 → 1.4.2-beta.11

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 (577) hide show
  1. package/README.md +1 -1
  2. package/lib/Schema.d.ts +26 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/Alert.js +3 -1
  5. package/lib/components/Alert.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.d.ts +16 -3
  14. package/lib/components/Badge.js +54 -5
  15. package/lib/components/Badge.js.map +2 -2
  16. package/lib/components/Button.d.ts +24 -22
  17. package/lib/components/Button.js +13 -7
  18. package/lib/components/Button.js.map +2 -2
  19. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  20. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  21. package/lib/components/ChainedSelection.js.map +13 -0
  22. package/lib/components/Checkbox.d.ts +1 -1
  23. package/lib/components/Checkbox.js +1 -1
  24. package/lib/components/Checkbox.js.map +2 -2
  25. package/lib/components/Collapse.js +1 -1
  26. package/lib/components/Collapse.js.map +2 -2
  27. package/lib/components/ColorPicker.d.ts +84 -84
  28. package/lib/components/DatePicker.d.ts +84 -84
  29. package/lib/components/DatePicker.js +1 -1
  30. package/lib/components/DatePicker.js.map +2 -2
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/DateRangePicker.js +1 -1
  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/Editor.d.ts +84 -84
  37. package/lib/components/GroupedSelection.d.ts +907 -0
  38. package/lib/components/GroupedSelection.js +48 -0
  39. package/lib/components/GroupedSelection.js.map +13 -0
  40. package/lib/components/InputBox.js +1 -1
  41. package/lib/components/InputBox.js.map +2 -2
  42. package/lib/components/Link.d.ts +84 -0
  43. package/lib/components/Link.js +43 -0
  44. package/lib/components/Link.js.map +13 -0
  45. package/lib/components/ListGroup.d.ts +21 -21
  46. package/lib/components/Modal.js +1 -1
  47. package/lib/components/Modal.js.map +2 -2
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/MonthRangePicker.js +1 -1
  52. package/lib/components/MonthRangePicker.js.map +2 -2
  53. package/lib/components/NumberInput.d.ts +20 -20
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/Radios.d.ts +22 -21
  61. package/lib/components/Radios.js +1 -0
  62. package/lib/components/Radios.js.map +2 -2
  63. package/lib/components/Rating.d.ts +21 -21
  64. package/lib/components/ResultBox.d.ts +84 -84
  65. package/lib/components/RichText.d.ts +6 -1
  66. package/lib/components/RichText.js +207 -8
  67. package/lib/components/RichText.js.map +2 -2
  68. package/lib/components/SearchBox.d.ts +84 -84
  69. package/lib/components/SearchBox.js +4 -4
  70. package/lib/components/SearchBox.js.map +2 -2
  71. package/lib/components/Select.d.ts +252 -237
  72. package/lib/components/Select.js +28 -4
  73. package/lib/components/Select.js.map +2 -2
  74. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  75. package/lib/components/Selection.js +134 -0
  76. package/lib/components/Selection.js.map +13 -0
  77. package/lib/components/SparkLine.d.ts +85 -84
  78. package/lib/components/SparkLine.js +2 -2
  79. package/lib/components/SparkLine.js.map +2 -2
  80. package/lib/components/Steps.d.ts +3 -3
  81. package/lib/components/Steps.js.map +1 -1
  82. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  83. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  84. package/lib/components/TableSelection.js.map +13 -0
  85. package/lib/components/Tabs.d.ts +20 -20
  86. package/lib/components/TabsTransfer.d.ts +84 -84
  87. package/lib/components/TabsTransfer.js +9 -9
  88. package/lib/components/TabsTransfer.js.map +2 -2
  89. package/lib/components/TabsTransferPicker.d.ts +489 -0
  90. package/lib/components/TabsTransferPicker.js +60 -0
  91. package/lib/components/TabsTransferPicker.js.map +13 -0
  92. package/lib/components/Toast.js +2 -2
  93. package/lib/components/Toast.js.map +2 -2
  94. package/lib/components/Transfer.d.ts +908 -274
  95. package/lib/components/Transfer.js +31 -24
  96. package/lib/components/Transfer.js.map +2 -2
  97. package/lib/components/TransferDropDown.d.ts +487 -0
  98. package/lib/components/TransferDropDown.js +59 -0
  99. package/lib/components/TransferDropDown.js.map +13 -0
  100. package/lib/components/TransferPicker.d.ts +489 -0
  101. package/lib/components/TransferPicker.js +60 -0
  102. package/lib/components/TransferPicker.js.map +13 -0
  103. package/lib/components/Tree.d.ts +84 -84
  104. package/lib/components/Tree.js +5 -3
  105. package/lib/components/Tree.js.map +2 -2
  106. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  107. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  108. package/lib/components/TreeSelection.js.map +13 -0
  109. package/lib/components/WithRemoteConfig.d.ts +8 -0
  110. package/lib/components/WithRemoteConfig.js +29 -3
  111. package/lib/components/WithRemoteConfig.js.map +2 -2
  112. package/lib/components/calendar/DaysView.js +2 -2
  113. package/lib/components/calendar/DaysView.js.map +2 -2
  114. package/lib/components/condition-builder/Field.js +5 -3
  115. package/lib/components/condition-builder/Field.js.map +2 -2
  116. package/lib/components/condition-builder/Func.js +2 -2
  117. package/lib/components/condition-builder/Func.js.map +2 -2
  118. package/lib/components/condition-builder/InputSwitch.js +2 -2
  119. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  120. package/lib/components/condition-builder/Item.js +3 -3
  121. package/lib/components/condition-builder/Item.js.map +2 -2
  122. package/lib/components/condition-builder/Value.js +2 -1
  123. package/lib/components/condition-builder/Value.js.map +2 -2
  124. package/lib/components/condition-builder/types.d.ts +5 -0
  125. package/lib/components/condition-builder/types.js.map +1 -1
  126. package/lib/components/icons.js +14 -0
  127. package/lib/components/icons.js.map +2 -2
  128. package/lib/components/index.d.ts +8 -8
  129. package/lib/components/index.js +16 -16
  130. package/lib/components/index.js.map +2 -2
  131. package/lib/envOverwrite.js.map +2 -2
  132. package/lib/factory.d.ts +9 -1
  133. package/lib/factory.js +13 -6
  134. package/lib/factory.js.map +2 -2
  135. package/lib/helper.css.map +1 -1
  136. package/lib/hooks/index.d.ts +5 -0
  137. package/lib/hooks/index.js +14 -0
  138. package/lib/hooks/index.js.map +13 -0
  139. package/lib/hooks/use-set-state.d.ts +2 -0
  140. package/lib/hooks/use-set-state.js +15 -0
  141. package/lib/hooks/use-set-state.js.map +13 -0
  142. package/lib/hooks/use-touch.d.ts +16 -0
  143. package/lib/hooks/use-touch.js +73 -0
  144. package/lib/hooks/use-touch.js.map +13 -0
  145. package/lib/hooks/use-update-effect.d.ts +3 -0
  146. package/lib/hooks/use-update-effect.js +17 -0
  147. package/lib/hooks/use-update-effect.js.map +13 -0
  148. package/lib/icons/clock.js +10 -0
  149. package/lib/icons/loading-outline.js +7 -0
  150. package/lib/icons/status-close.js +11 -0
  151. package/lib/icons/status-fail.js +11 -0
  152. package/lib/icons/status-info.js +10 -0
  153. package/lib/icons/status-success.js +11 -0
  154. package/lib/icons/status-warning.js +10 -0
  155. package/lib/index.d.ts +3 -0
  156. package/lib/index.js +4 -1
  157. package/lib/index.js.map +2 -2
  158. package/lib/locale/de-DE.js +5 -0
  159. package/lib/locale/de-DE.js.map +2 -2
  160. package/lib/locale/en-US.js +6 -1
  161. package/lib/locale/en-US.js.map +2 -2
  162. package/lib/locale/zh-CN.js +9 -4
  163. package/lib/locale/zh-CN.js.map +2 -2
  164. package/lib/renderers/Action.d.ts +17 -1
  165. package/lib/renderers/Action.js +21 -8
  166. package/lib/renderers/Action.js.map +2 -2
  167. package/lib/renderers/AnchorNav.d.ts +1 -0
  168. package/lib/renderers/AnchorNav.js +2 -2
  169. package/lib/renderers/AnchorNav.js.map +2 -2
  170. package/lib/renderers/Avatar.js +3 -3
  171. package/lib/renderers/Avatar.js.map +2 -2
  172. package/lib/renderers/Breadcrumb.js +1 -1
  173. package/lib/renderers/Breadcrumb.js.map +2 -2
  174. package/lib/renderers/CRUD.d.ts +9 -0
  175. package/lib/renderers/CRUD.js +48 -23
  176. package/lib/renderers/CRUD.js.map +2 -2
  177. package/lib/renderers/Card.d.ts +4 -0
  178. package/lib/renderers/Card.js +29 -23
  179. package/lib/renderers/Card.js.map +2 -2
  180. package/lib/renderers/Chart.js +1 -1
  181. package/lib/renderers/Chart.js.map +2 -2
  182. package/lib/renderers/Collapse.d.ts +1 -1
  183. package/lib/renderers/Collapse.js +8 -3
  184. package/lib/renderers/Collapse.js.map +2 -2
  185. package/lib/renderers/Dialog.d.ts +0 -252
  186. package/lib/renderers/Dialog.js +1 -4
  187. package/lib/renderers/Dialog.js.map +2 -2
  188. package/lib/renderers/Drawer.js +0 -3
  189. package/lib/renderers/Drawer.js.map +2 -2
  190. package/lib/renderers/DropDownButton.d.ts +13 -1
  191. package/lib/renderers/DropDownButton.js +9 -5
  192. package/lib/renderers/DropDownButton.js.map +2 -2
  193. package/lib/renderers/Form/Checkbox.d.ts +5 -0
  194. package/lib/renderers/Form/Checkbox.js +4 -0
  195. package/lib/renderers/Form/Checkbox.js.map +2 -2
  196. package/lib/renderers/Form/Combo.js +2 -2
  197. package/lib/renderers/Form/Combo.js.map +2 -2
  198. package/lib/renderers/Form/DiffEditor.d.ts +4 -5
  199. package/lib/renderers/Form/Editor.d.ts +3 -4
  200. package/lib/renderers/Form/Editor.js +1 -1
  201. package/lib/renderers/Form/Editor.js.map +2 -2
  202. package/lib/renderers/Form/InputCity.d.ts +84 -84
  203. package/lib/renderers/Form/InputCity.js +7 -6
  204. package/lib/renderers/Form/InputCity.js.map +2 -2
  205. package/lib/renderers/Form/InputColor.d.ts +84 -84
  206. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  207. package/lib/renderers/Form/InputExcel.js +24 -3
  208. package/lib/renderers/Form/InputExcel.js.map +2 -2
  209. package/lib/renderers/Form/InputFile.js +12 -6
  210. package/lib/renderers/Form/InputFile.js.map +2 -2
  211. package/lib/renderers/Form/InputImage.d.ts +8 -0
  212. package/lib/renderers/Form/InputImage.js +18 -8
  213. package/lib/renderers/Form/InputImage.js.map +2 -2
  214. package/lib/renderers/Form/InputTable.d.ts +23 -5
  215. package/lib/renderers/Form/InputTable.js +32 -3
  216. package/lib/renderers/Form/InputTable.js.map +2 -2
  217. package/lib/renderers/Form/Item.d.ts +1 -1
  218. package/lib/renderers/Form/Item.js.map +1 -1
  219. package/lib/renderers/Form/Options.js +19 -6
  220. package/lib/renderers/Form/Options.js.map +2 -2
  221. package/lib/renderers/Form/Picker.js +2 -2
  222. package/lib/renderers/Form/Picker.js.map +2 -2
  223. package/lib/renderers/Form/Select.d.ts +41 -4
  224. package/lib/renderers/Form/Select.js +23 -3
  225. package/lib/renderers/Form/Select.js.map +2 -2
  226. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  227. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  228. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  229. package/lib/renderers/Form/Transfer.js +3 -2
  230. package/lib/renderers/Form/Transfer.js.map +2 -2
  231. package/lib/renderers/Form/TransferPicker.d.ts +48 -0
  232. package/lib/renderers/Form/TransferPicker.js +29 -0
  233. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  234. package/lib/renderers/Form/TreeSelect.js +2 -2
  235. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  236. package/lib/renderers/Form/index.js +1 -1
  237. package/lib/renderers/Form/index.js.map +2 -2
  238. package/lib/renderers/Form/wrapControl.js +15 -3
  239. package/lib/renderers/Form/wrapControl.js.map +2 -2
  240. package/lib/renderers/IFrame.js +3 -5
  241. package/lib/renderers/IFrame.js.map +2 -2
  242. package/lib/renderers/Image.d.ts +1 -0
  243. package/lib/renderers/Image.js +15 -1
  244. package/lib/renderers/Image.js.map +2 -2
  245. package/lib/renderers/Json.d.ts +4 -0
  246. package/lib/renderers/Json.js +7 -12
  247. package/lib/renderers/Json.js.map +2 -2
  248. package/lib/renderers/Link.d.ts +18 -3
  249. package/lib/renderers/Link.js +27 -15
  250. package/lib/renderers/Link.js.map +2 -2
  251. package/lib/renderers/List.js +1 -1
  252. package/lib/renderers/List.js.map +2 -2
  253. package/lib/renderers/Log.d.ts +2 -2
  254. package/lib/renderers/Log.js +7 -1
  255. package/lib/renderers/Log.js.map +2 -2
  256. package/lib/renderers/Mapping.d.ts +9 -2
  257. package/lib/renderers/Mapping.js +18 -6
  258. package/lib/renderers/Mapping.js.map +2 -2
  259. package/lib/renderers/Nav.d.ts +81 -25
  260. package/lib/renderers/Nav.js +292 -31
  261. package/lib/renderers/Nav.js.map +2 -2
  262. package/lib/renderers/Page.js +4 -1
  263. package/lib/renderers/Page.js.map +2 -2
  264. package/lib/renderers/Portlet.d.ts +125 -0
  265. package/lib/renderers/Portlet.js +156 -0
  266. package/lib/renderers/Portlet.js.map +13 -0
  267. package/lib/renderers/Property.js +2 -1
  268. package/lib/renderers/Property.js.map +2 -2
  269. package/lib/renderers/SearchBox.d.ts +6 -1
  270. package/lib/renderers/SearchBox.js +19 -5
  271. package/lib/renderers/SearchBox.js.map +2 -2
  272. package/lib/renderers/Service.d.ts +10 -1
  273. package/lib/renderers/Service.js +85 -3
  274. package/lib/renderers/Service.js.map +2 -2
  275. package/lib/renderers/SparkLine.d.ts +4 -0
  276. package/lib/renderers/SparkLine.js.map +2 -2
  277. package/lib/renderers/Steps.d.ts +4 -4
  278. package/lib/renderers/Steps.js +5 -2
  279. package/lib/renderers/Steps.js.map +2 -2
  280. package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
  281. package/lib/renderers/Table/ColumnToggler.js +216 -0
  282. package/lib/renderers/Table/ColumnToggler.js.map +13 -0
  283. package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
  284. package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
  285. package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
  286. package/lib/renderers/Table/TableBody.d.ts +5 -1
  287. package/lib/renderers/Table/TableBody.js.map +1 -1
  288. package/lib/renderers/Table/TableCell.js +3 -1
  289. package/lib/renderers/Table/TableCell.js.map +2 -2
  290. package/lib/renderers/Table/TableContent.d.ts +5 -2
  291. package/lib/renderers/Table/TableContent.js +21 -1
  292. package/lib/renderers/Table/TableContent.js.map +2 -2
  293. package/lib/renderers/Table/index.d.ts +27 -5
  294. package/lib/renderers/Table/index.js +251 -101
  295. package/lib/renderers/Table/index.js.map +2 -2
  296. package/lib/renderers/Tabs.js +9 -1
  297. package/lib/renderers/Tabs.js.map +2 -2
  298. package/lib/renderers/WebComponent.js +1 -1
  299. package/lib/renderers/WebComponent.js.map +2 -2
  300. package/lib/store/app.d.ts +0 -1
  301. package/lib/store/combo.d.ts +2 -18
  302. package/lib/store/crud.d.ts +0 -1
  303. package/lib/store/crud.js +3 -7
  304. package/lib/store/crud.js.map +2 -2
  305. package/lib/store/form.d.ts +1 -2
  306. package/lib/store/form.js +5 -6
  307. package/lib/store/form.js.map +2 -2
  308. package/lib/store/modal.d.ts +1 -1
  309. package/lib/store/modal.js +4 -0
  310. package/lib/store/modal.js.map +2 -2
  311. package/lib/store/root.d.ts +0 -1
  312. package/lib/store/service.d.ts +0 -1
  313. package/lib/store/service.js +5 -17
  314. package/lib/store/service.js.map +2 -2
  315. package/lib/store/table.d.ts +260 -5
  316. package/lib/store/table.js +83 -7
  317. package/lib/store/table.js.map +2 -2
  318. package/lib/themes/ang-ie11.css +1360 -244
  319. package/lib/themes/ang.css +1360 -244
  320. package/lib/themes/ang.css.map +1 -1
  321. package/lib/themes/antd-ie11.css +1360 -244
  322. package/lib/themes/antd.css +1360 -244
  323. package/lib/themes/antd.css.map +1 -1
  324. package/lib/themes/cxd-ie11.css +1960 -517
  325. package/lib/themes/cxd.css +1960 -517
  326. package/lib/themes/cxd.css.map +1 -1
  327. package/lib/themes/dark-ie11.css +1360 -244
  328. package/lib/themes/dark.css +1360 -244
  329. package/lib/themes/dark.css.map +1 -1
  330. package/lib/themes/default.css +1960 -517
  331. package/lib/themes/default.css.map +1 -1
  332. package/lib/types.d.ts +37 -0
  333. package/lib/types.js +0 -5
  334. package/lib/types.js.map +2 -2
  335. package/lib/utils/api.d.ts +3 -2
  336. package/lib/utils/api.js +43 -15
  337. package/lib/utils/api.js.map +2 -2
  338. package/lib/utils/attachmentAdpator.d.ts +7 -0
  339. package/lib/utils/attachmentAdpator.js +82 -0
  340. package/lib/utils/attachmentAdpator.js.map +13 -0
  341. package/lib/utils/dom.d.ts +4 -0
  342. package/lib/utils/dom.js +11 -1
  343. package/lib/utils/dom.js.map +2 -2
  344. package/lib/utils/handleAction.d.ts +7 -0
  345. package/lib/utils/handleAction.js +30 -0
  346. package/lib/utils/handleAction.js.map +13 -0
  347. package/lib/utils/helper.d.ts +3 -1
  348. package/lib/utils/helper.js +14 -5
  349. package/lib/utils/helper.js.map +2 -2
  350. package/lib/utils/icon.js +3 -0
  351. package/lib/utils/icon.js.map +2 -2
  352. package/lib/utils/tpl-builtin.d.ts +1 -1
  353. package/lib/utils/tpl-builtin.js +25 -15
  354. package/lib/utils/tpl-builtin.js.map +2 -2
  355. package/lib/utils/validations.js +62 -5
  356. package/lib/utils/validations.js.map +2 -2
  357. package/package.json +1 -2
  358. package/schema.json +3638 -1030
  359. package/scss/_mixins.scss +27 -0
  360. package/scss/_properties.scss +88 -13
  361. package/scss/_utilities.scss +4 -0
  362. package/scss/base/_normalize.scss +2 -0
  363. package/scss/components/_anchor-nav.scss +88 -29
  364. package/scss/components/_badge.scss +67 -2
  365. package/scss/components/_button.scss +34 -3
  366. package/scss/components/_card.scss +8 -14
  367. package/scss/components/_collapse.scss +41 -8
  368. package/scss/components/_column-toggler.scss +234 -0
  369. package/scss/components/_dropdown.scss +2 -1
  370. package/scss/components/_image-gallery.scss +1 -1
  371. package/scss/components/_images.scss +2 -1
  372. package/scss/components/_link.scss +6 -0
  373. package/scss/components/_mapping.scss +6 -0
  374. package/scss/components/_markdown.scss +266 -0
  375. package/scss/components/_nav.scss +236 -154
  376. package/scss/components/_page.scss +5 -4
  377. package/scss/components/_picker-columns.scss +123 -0
  378. package/scss/components/_popover.scss +17 -0
  379. package/scss/components/_portlet.scss +51 -0
  380. package/scss/components/_progress.scss +2 -0
  381. package/scss/components/_spinner.scss +6 -2
  382. package/scss/components/_status.scss +1 -1
  383. package/scss/components/_steps.scss +1 -1
  384. package/scss/components/_table.scss +51 -1
  385. package/scss/components/form/_checks.scss +0 -351
  386. package/scss/components/form/_color.scss +1 -0
  387. package/scss/components/form/_date-range.scss +2 -0
  388. package/scss/components/form/_date.scss +2 -0
  389. package/scss/components/form/_fieldset.scss +6 -3
  390. package/scss/components/form/_file.scss +5 -4
  391. package/scss/components/form/_group.scss +4 -0
  392. package/scss/components/form/_image.scss +7 -2
  393. package/scss/components/form/_list.scss +1 -0
  394. package/scss/components/form/_location.scss +1 -1
  395. package/scss/components/form/_selection.scss +354 -0
  396. package/scss/components/form/_text.scss +13 -0
  397. package/scss/components/form/_textarea.scss +10 -0
  398. package/scss/components/form/_transfer.scss +77 -18
  399. package/scss/themes/_common.scss +7 -0
  400. package/scss/themes/_cxd-colors.scss +56 -0
  401. package/scss/themes/_cxd-variables.scss +219 -91
  402. package/scss/themes/cxd.scss +370 -0
  403. package/sdk/ang-ie11.css +1752 -431
  404. package/sdk/ang.css +1706 -323
  405. package/sdk/antd-ie11.css +1739 -420
  406. package/sdk/antd.css +1706 -323
  407. package/sdk/charts.js +13 -13
  408. package/sdk/color-picker.js +65 -69
  409. package/sdk/cropperjs.js +2 -2
  410. package/sdk/cxd-ie11.css +3015 -1397
  411. package/sdk/cxd.css +2402 -651
  412. package/sdk/dark-ie11.css +1750 -429
  413. package/sdk/dark.css +1706 -323
  414. package/sdk/exceljs.js +1 -1
  415. package/sdk/helper.css.map +1 -1
  416. package/sdk/ie11-patch.css +1 -0
  417. package/sdk/locale/de-DE.js +5 -0
  418. package/sdk/markdown.js +69 -69
  419. package/sdk/papaparse.js +1 -1
  420. package/sdk/renderers/Form/CityDB.js +1 -1
  421. package/sdk/rest.js +20 -30
  422. package/sdk/rich-text.js +62 -64
  423. package/sdk/sdk-ie11.css +3015 -1397
  424. package/sdk/sdk.css +2402 -651
  425. package/sdk/sdk.js +1278 -1220
  426. package/sdk/thirds/hls.js/hls.js +1 -1
  427. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  428. package/sdk/tinymce.js +57 -57
  429. package/src/Schema.ts +32 -0
  430. package/src/components/Alert.tsx +3 -1
  431. package/src/components/AnchorNav.tsx +15 -4
  432. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
  433. package/src/components/Badge.tsx +126 -23
  434. package/src/components/Button.tsx +23 -7
  435. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  436. package/src/components/Checkbox.tsx +5 -2
  437. package/src/components/Collapse.tsx +14 -9
  438. package/src/components/DatePicker.tsx +1 -1
  439. package/src/components/DateRangePicker.tsx +23 -11
  440. package/src/components/Drawer.tsx +3 -2
  441. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  442. package/src/components/InputBox.tsx +1 -1
  443. package/src/components/Link.tsx +85 -0
  444. package/src/components/Modal.tsx +3 -2
  445. package/src/components/ModalManager.ts +1 -1
  446. package/src/components/MonthRangePicker.tsx +10 -2
  447. package/src/components/PickerColumn.tsx +429 -0
  448. package/src/components/PickerContainer.tsx +128 -0
  449. package/src/components/Radios.tsx +3 -8
  450. package/src/components/RichText.tsx +244 -3
  451. package/src/components/SearchBox.tsx +4 -5
  452. package/src/components/Select.tsx +61 -5
  453. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  454. package/src/components/SparkLine.tsx +4 -1
  455. package/src/components/Steps.tsx +3 -3
  456. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  457. package/src/components/TabsTransfer.tsx +13 -7
  458. package/src/components/TabsTransferPicker.tsx +85 -0
  459. package/src/components/Toast.tsx +5 -5
  460. package/src/components/Transfer.tsx +71 -50
  461. package/src/components/TransferDropDown.tsx +117 -0
  462. package/src/components/TransferPicker.tsx +84 -0
  463. package/src/components/Tree.tsx +6 -8
  464. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  465. package/src/components/WithRemoteConfig.tsx +44 -4
  466. package/src/components/calendar/DaysView.tsx +2 -2
  467. package/src/components/condition-builder/Field.tsx +6 -7
  468. package/src/components/condition-builder/Func.tsx +3 -3
  469. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  470. package/src/components/condition-builder/Item.tsx +5 -12
  471. package/src/components/condition-builder/Value.tsx +3 -0
  472. package/src/components/condition-builder/types.ts +6 -0
  473. package/src/components/icons.tsx +15 -0
  474. package/src/components/index.tsx +13 -13
  475. package/src/envOverwrite.ts +0 -1
  476. package/src/factory.tsx +31 -6
  477. package/src/hooks/index.ts +5 -0
  478. package/src/hooks/use-set-state.ts +19 -0
  479. package/src/hooks/use-touch.ts +100 -0
  480. package/src/hooks/use-update-effect.ts +16 -0
  481. package/src/icons/clock.svg +1 -0
  482. package/src/icons/loading-outline.svg +4 -0
  483. package/src/icons/status-close.svg +10 -0
  484. package/src/icons/status-fail.svg +10 -0
  485. package/src/icons/status-info.svg +8 -0
  486. package/src/icons/status-success.svg +10 -0
  487. package/src/icons/status-warning.svg +8 -0
  488. package/src/index.tsx +3 -0
  489. package/src/locale/de-DE.ts +5 -0
  490. package/src/locale/en-US.ts +6 -1
  491. package/src/locale/zh-CN.ts +9 -4
  492. package/src/renderers/Action.tsx +99 -15
  493. package/src/renderers/AnchorNav.tsx +4 -0
  494. package/src/renderers/Avatar.tsx +8 -4
  495. package/src/renderers/Breadcrumb.tsx +5 -1
  496. package/src/renderers/CRUD.tsx +70 -56
  497. package/src/renderers/Card.tsx +63 -34
  498. package/src/renderers/Chart.tsx +6 -2
  499. package/src/renderers/Collapse.tsx +9 -3
  500. package/src/renderers/Dialog.tsx +1 -5
  501. package/src/renderers/Drawer.tsx +0 -4
  502. package/src/renderers/DropDownButton.tsx +34 -12
  503. package/src/renderers/Form/Checkbox.tsx +8 -0
  504. package/src/renderers/Form/Combo.tsx +2 -3
  505. package/src/renderers/Form/Editor.tsx +19 -20
  506. package/src/renderers/Form/InputCity.tsx +4 -8
  507. package/src/renderers/Form/InputExcel.tsx +28 -3
  508. package/src/renderers/Form/InputFile.tsx +30 -20
  509. package/src/renderers/Form/InputImage.tsx +39 -13
  510. package/src/renderers/Form/InputTable.tsx +88 -9
  511. package/src/renderers/Form/Item.tsx +1 -1
  512. package/src/renderers/Form/Options.tsx +32 -7
  513. package/src/renderers/Form/Picker.tsx +3 -2
  514. package/src/renderers/Form/Select.tsx +144 -21
  515. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  516. package/src/renderers/Form/Transfer.tsx +3 -2
  517. package/src/renderers/Form/TransferPicker.tsx +123 -0
  518. package/src/renderers/Form/TreeSelect.tsx +25 -0
  519. package/src/renderers/Form/index.tsx +1 -1
  520. package/src/renderers/Form/wrapControl.tsx +28 -3
  521. package/src/renderers/IFrame.tsx +4 -5
  522. package/src/renderers/Image.tsx +10 -0
  523. package/src/renderers/Json.tsx +19 -10
  524. package/src/renderers/Link.tsx +53 -14
  525. package/src/renderers/List.tsx +1 -1
  526. package/src/renderers/Log.tsx +16 -3
  527. package/src/renderers/Mapping.tsx +27 -11
  528. package/src/renderers/Nav.tsx +392 -60
  529. package/src/renderers/Page.tsx +3 -1
  530. package/src/renderers/Portlet.tsx +423 -0
  531. package/src/renderers/Property.tsx +3 -2
  532. package/src/renderers/SearchBox.tsx +23 -4
  533. package/src/renderers/Service.tsx +101 -3
  534. package/src/renderers/SparkLine.tsx +5 -0
  535. package/src/renderers/Steps.tsx +12 -9
  536. package/src/renderers/Table/ColumnToggler.tsx +544 -0
  537. package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
  538. package/src/renderers/Table/TableBody.tsx +1 -1
  539. package/src/renderers/Table/TableCell.tsx +16 -1
  540. package/src/renderers/Table/TableContent.tsx +41 -3
  541. package/src/renderers/Table/index.tsx +318 -92
  542. package/src/renderers/Tabs.tsx +9 -1
  543. package/src/renderers/WebComponent.tsx +2 -2
  544. package/src/store/crud.ts +3 -8
  545. package/src/store/form.ts +5 -10
  546. package/src/store/modal.ts +4 -0
  547. package/src/store/service.ts +5 -23
  548. package/src/store/table.ts +103 -4
  549. package/src/types.ts +57 -0
  550. package/src/utils/api.ts +63 -23
  551. package/src/utils/attachmentAdpator.ts +90 -0
  552. package/src/utils/dom.tsx +12 -0
  553. package/src/utils/handleAction.ts +41 -0
  554. package/src/utils/helper.ts +12 -3
  555. package/src/utils/icon.tsx +4 -0
  556. package/src/utils/tpl-builtin.ts +48 -17
  557. package/src/utils/validations.ts +80 -12
  558. package/dump.rdb +0 -0
  559. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  560. package/lib/components/AssociatedCheckboxes.js +0 -90
  561. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  562. package/lib/components/ChainedCheckboxes.js.map +0 -13
  563. package/lib/components/Checkboxes.js +0 -101
  564. package/lib/components/Checkboxes.js.map +0 -13
  565. package/lib/components/ListCheckboxes.d.ts +0 -739
  566. package/lib/components/ListCheckboxes.js +0 -48
  567. package/lib/components/ListCheckboxes.js.map +0 -13
  568. package/lib/components/ListRadios.d.ts +0 -763
  569. package/lib/components/ListRadios.js +0 -86
  570. package/lib/components/ListRadios.js.map +0 -13
  571. package/lib/components/TableCheckboxes.js.map +0 -13
  572. package/lib/components/TreeCheckboxes.js.map +0 -13
  573. package/lib/components/TreeRadios.d.ts +0 -838
  574. package/lib/components/TreeRadios.js +0 -116
  575. package/lib/components/TreeRadios.js.map +0 -13
  576. package/src/components/ListRadios.tsx +0 -159
  577. package/src/components/TreeRadios.tsx +0 -202
@@ -1,4 +1,4 @@
1
- import {BaseCheckboxes, BaseCheckboxesProps} from './Checkboxes';
1
+ import {BaseSelection, BaseSelectionProps} from './Selection';
2
2
  import {themeable} from '../theme';
3
3
  import React from 'react';
4
4
  import {uncontrollable} from 'uncontrollable';
@@ -7,7 +7,7 @@ import {Option} from './Select';
7
7
  import {resolveVariable} from '../utils/tpl-builtin';
8
8
  import {localeable} from '../locale';
9
9
 
10
- export interface TableCheckboxesProps extends BaseCheckboxesProps {
10
+ export interface TableSelectionProps extends BaseSelectionProps {
11
11
  columns: Array<{
12
12
  name: string;
13
13
  label: string;
@@ -25,9 +25,9 @@ export interface TableCheckboxesProps extends BaseCheckboxesProps {
25
25
  ) => JSX.Element;
26
26
  }
27
27
 
28
- export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
28
+ export class TableSelection extends BaseSelection<TableSelectionProps> {
29
29
  static defaultProps = {
30
- ...BaseCheckboxes.defaultProps,
30
+ ...BaseSelection.defaultProps,
31
31
  cellRender: (
32
32
  column: {
33
33
  name: string;
@@ -50,9 +50,16 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
50
50
  }
51
51
 
52
52
  renderTHead() {
53
- const {options, classnames: cx, value, disabled, option2value} = this.props;
53
+ const {
54
+ options,
55
+ classnames: cx,
56
+ value,
57
+ disabled,
58
+ option2value,
59
+ multiple
60
+ } = this.props;
54
61
  let columns = this.getColumns();
55
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
62
+ let valueArray = BaseSelection.value2array(value, options, option2value);
56
63
  const availableOptions = options.filter(option => !option.disabled);
57
64
  let partialChecked = false;
58
65
  let allChecked = !!availableOptions.length;
@@ -70,9 +77,10 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
70
77
  return (
71
78
  <thead>
72
79
  <tr>
73
- {Array.isArray(options) && options.length ? (
80
+ {multiple && Array.isArray(options) && options.length ? (
74
81
  <th className={cx('Table-checkCell')}>
75
82
  <Checkbox
83
+ key="checkbox"
76
84
  size="sm"
77
85
  disabled={disabled}
78
86
  onChange={this.toggleAll}
@@ -97,11 +105,13 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
97
105
  cellRender,
98
106
  value,
99
107
  disabled,
108
+ multiple,
100
109
  option2value,
101
- translate: __
110
+ translate: __,
111
+ itemClassName
102
112
  } = this.props;
103
113
  const columns = this.getColumns();
104
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
114
+ let valueArray = BaseSelection.value2array(value, options, option2value);
105
115
 
106
116
  return (
107
117
  <tbody>
@@ -113,10 +123,18 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
113
123
  <tr
114
124
  key={rowIndex}
115
125
  onClick={e => e.defaultPrevented || this.toggleOption(option)}
126
+ className={cx(
127
+ itemClassName,
128
+ option.className,
129
+ disabled || option.disabled ? 'is-disabled' : '',
130
+ !!~valueArray.indexOf(option) ? 'is-active' : ''
131
+ )}
116
132
  >
117
- <td className={cx('Table-checkCell')}>
118
- <Checkbox size="sm" checked={checked} disabled={disabled} />
119
- </td>
133
+ {multiple ? (
134
+ <td className={cx('Table-checkCell')} key="checkbox">
135
+ <Checkbox size="sm" checked={checked} disabled={disabled} />
136
+ </td>
137
+ ) : null}
120
138
  {columns.map((column, colIndex) => (
121
139
  <td key={colIndex}>
122
140
  {cellRender(column, option, colIndex, rowIndex)}
@@ -144,10 +162,11 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
144
162
  classnames: cx,
145
163
  option2value,
146
164
  itemClassName,
147
- itemRender
165
+ itemRender,
166
+ multiple
148
167
  } = this.props;
149
168
 
150
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
169
+ let valueArray = BaseSelection.value2array(value, options, option2value);
151
170
  let body: Array<React.ReactNode> = [];
152
171
 
153
172
  if (Array.isArray(options) && options.length) {
@@ -155,30 +174,32 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
155
174
  <div
156
175
  key={key}
157
176
  className={cx(
158
- 'TableCheckboxes-item',
177
+ 'TableSelection-item',
159
178
  itemClassName,
160
179
  option.className,
161
180
  disabled || option.disabled ? 'is-disabled' : ''
162
181
  )}
163
182
  onClick={() => this.toggleOption(option)}
164
183
  >
165
- <div className={cx('TableCheckboxes-itemLabel')}>
184
+ <div className={cx('TableSelection-itemLabel')}>
166
185
  {itemRender(option)}
167
186
  </div>
168
187
 
169
- <Checkbox
170
- size="sm"
171
- checked={!!~valueArray.indexOf(option)}
172
- disabled={disabled || option.disabled}
173
- labelClassName={labelClassName}
174
- description={option.description}
175
- />
188
+ {multiple ? (
189
+ <Checkbox
190
+ size="sm"
191
+ checked={!!~valueArray.indexOf(option)}
192
+ disabled={disabled || option.disabled}
193
+ labelClassName={labelClassName}
194
+ description={option.description}
195
+ />
196
+ ) : null}
176
197
  </div>
177
198
  ));
178
199
  }
179
200
 
180
201
  return (
181
- <div className={cx('TableCheckboxes', className)}>
202
+ <div className={cx('TableSelection', className)}>
182
203
  <div className={cx('Table-content')}>
183
204
  <table className={cx('Table-table')}>
184
205
  {this.renderTHead()}
@@ -192,7 +213,7 @@ export class TableCheckboxes extends BaseCheckboxes<TableCheckboxesProps> {
192
213
 
193
214
  export default themeable(
194
215
  localeable(
195
- uncontrollable(TableCheckboxes, {
216
+ uncontrollable(TableSelection, {
196
217
  value: 'onChange'
197
218
  })
198
219
  )
@@ -2,14 +2,14 @@ import React from 'react';
2
2
  import {autobind} from '../utils/helper';
3
3
  import Tabs, {Tab} from './Tabs';
4
4
  import SearchBox from './SearchBox';
5
- import TableCheckboxes from './TableCheckboxes';
6
- import TreeCheckboxes from './TreeCheckboxes';
7
- import ChainedCheckboxes from './ChainedCheckboxes';
8
- import ListCheckboxes from './ListCheckboxes';
5
+ import TableCheckboxes from './TableSelection';
6
+ import TreeCheckboxes from './TreeSelection';
7
+ import ChainedCheckboxes from './ChainedSelection';
8
+ import ListCheckboxes from './GroupedSelection';
9
9
  import {Options, Option} from './Select';
10
10
  import Transfer, {TransferProps} from './Transfer';
11
11
  import {themeable} from '../theme';
12
- import AssociatedCheckboxes from './AssociatedCheckboxes';
12
+ import AssociatedCheckboxes from './AssociatedSelection';
13
13
  import {localeable} from '../locale';
14
14
 
15
15
  export interface TabsTransferProps
@@ -121,7 +121,7 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
121
121
  return (
122
122
  <Tabs
123
123
  mode="card"
124
- className={cx('Transfer-tabs')}
124
+ className={cx('TabsTransfer-tabs')}
125
125
  activeKey={searchResult !== null ? 0 : undefined}
126
126
  toolbar={
127
127
  searchable ? (
@@ -134,7 +134,12 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
134
134
  >
135
135
  {searchResult !== null
136
136
  ? [
137
- <Tab title={__('searchResult')} key={0} eventKey={0}>
137
+ <Tab
138
+ className="TabsTransfer-tab"
139
+ title={__('searchResult')}
140
+ key={0}
141
+ eventKey={0}
142
+ >
138
143
  {this.renderSearchResult(searchResult)}
139
144
  </Tab>
140
145
  ]
@@ -143,6 +148,7 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
143
148
  eventKey={index}
144
149
  key={index}
145
150
  title={option.label || option.title}
151
+ className="TabsTransfer-tab"
146
152
  >
147
153
  {option.selectMode === 'table' ? (
148
154
  <TableCheckboxes
@@ -0,0 +1,85 @@
1
+ import {localeable} from '../locale';
2
+ import {themeable} from '../theme';
3
+ import {uncontrollable} from 'uncontrollable';
4
+ import React from 'react';
5
+ import ResultBox from './ResultBox';
6
+ import {Icon} from './icons';
7
+ import PickerContainer from './PickerContainer';
8
+ import {autobind} from '../utils/helper';
9
+ import TabsTransfer, {TabsTransferProps} from './TabsTransfer';
10
+
11
+ export interface TabsTransferPickerProps
12
+ extends Omit<TabsTransferProps, 'itemRender'> {
13
+ // 新的属性?
14
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
15
+ }
16
+
17
+ export class TransferPicker extends React.Component<TabsTransferPickerProps> {
18
+ @autobind
19
+ handleClose() {
20
+ this.setState({
21
+ inputValue: '',
22
+ searchResult: null
23
+ });
24
+ }
25
+
26
+ @autobind
27
+ handleConfirm(value: any) {
28
+ this.props.onChange?.(value);
29
+ this.handleClose();
30
+ }
31
+
32
+ render() {
33
+ const {
34
+ classnames: cx,
35
+ value,
36
+ translate: __,
37
+ disabled,
38
+ className,
39
+ onChange,
40
+ size,
41
+ ...rest
42
+ } = this.props;
43
+
44
+ return (
45
+ <PickerContainer
46
+ title={__('Select.placeholder')}
47
+ popOverRender={({onClose, value, onChange}) => {
48
+ return <TabsTransfer {...rest} value={value} onChange={onChange} />;
49
+ }}
50
+ value={value}
51
+ onConfirm={this.handleConfirm}
52
+ onCancel={this.handleClose}
53
+ size={size}
54
+ >
55
+ {({onClick, isOpened}) => (
56
+ <ResultBox
57
+ className={cx(
58
+ 'TransferPicker',
59
+ className,
60
+ isOpened ? 'is-active' : ''
61
+ )}
62
+ allowInput={false}
63
+ result={value}
64
+ onResultChange={onChange}
65
+ onResultClick={onClick}
66
+ placeholder={__('Select.placeholder')}
67
+ disabled={disabled}
68
+ >
69
+ <span className={cx('TransferPicker-icon')}>
70
+ <Icon icon="pencil" className="icon" />
71
+ </span>
72
+ </ResultBox>
73
+ )}
74
+ </PickerContainer>
75
+ );
76
+ }
77
+ }
78
+
79
+ export default themeable(
80
+ localeable(
81
+ uncontrollable(TransferPicker, {
82
+ value: 'onChange'
83
+ })
84
+ )
85
+ );
@@ -311,13 +311,13 @@ export class ToastMessage extends React.Component<
311
311
  {showIcon === false ? null : (
312
312
  <div className={cx('Toast-icon')}>
313
313
  {level === 'success' ? (
314
- <Icon icon="success" className="icon" />
314
+ <Icon icon="status-success" className="icon" />
315
315
  ) : level == 'error' ? (
316
- <Icon icon="fail" className="icon" />
316
+ <Icon icon="status-fail" className="icon" />
317
317
  ) : level == 'info' ? (
318
- <Icon icon="info-circle" className="icon" />
318
+ <Icon icon="status-info" className="icon" />
319
319
  ) : level == 'warning' ? (
320
- <Icon icon="warning" className="icon" />
320
+ <Icon icon="status-warning" className="icon" />
321
321
  ) : null}
322
322
  </div>
323
323
  )}
@@ -327,7 +327,7 @@ export class ToastMessage extends React.Component<
327
327
 
328
328
  {closeButton ? (
329
329
  <a onClick={this.close} className={cx(`Toast-close`)}>
330
- <Icon icon="close" className="icon" />
330
+ <Icon icon="status-close" className="icon" />
331
331
  </a>
332
332
  ) : null}
333
333
  </div>
@@ -1,30 +1,31 @@
1
1
  import React from 'react';
2
2
  import {ThemeProps, themeable} from '../theme';
3
- import {BaseCheckboxesProps, BaseCheckboxes} from './Checkboxes';
3
+ import {BaseSelectionProps, BaseSelection} from './Selection';
4
4
  import {Options, Option} from './Select';
5
5
  import {uncontrollable} from 'uncontrollable';
6
6
  import ResultList from './ResultList';
7
- import TableCheckboxes from './TableCheckboxes';
8
- import ListCheckboxes from './ListCheckboxes';
9
- import TreeCheckboxes from './TreeCheckboxes';
7
+ import TableSelection from './TableSelection';
8
+ import TreeSelection from './TreeSelection';
10
9
  import {autobind, flattenTree} from '../utils/helper';
11
10
  import InputBox from './InputBox';
12
11
  import {Icon} from './icons';
13
12
  import debounce from 'lodash/debounce';
14
- import ChainedCheckboxes from './ChainedCheckboxes';
15
- import AssociatedCheckboxes from './AssociatedCheckboxes';
13
+ import AssociatedSelection from './AssociatedSelection';
16
14
  import {LocaleProps, localeable} from '../locale';
15
+ import GroupedSelection from './GroupedSelection';
16
+ import ChainedSelection from './ChainedSelection';
17
17
 
18
18
  export interface TransferProps
19
19
  extends ThemeProps,
20
20
  LocaleProps,
21
- BaseCheckboxesProps {
21
+ BaseSelectionProps {
22
22
  inline?: boolean;
23
23
  statistics?: boolean;
24
24
  showArrow?: boolean;
25
+ multiple?: boolean;
25
26
 
26
27
  selectTitle?: string;
27
- selectMode?: 'table' | 'list' | 'tree' | 'chained' | 'associated';
28
+ selectMode?: 'table' | 'group' | 'list' | 'tree' | 'chained' | 'associated';
28
29
  columns?: Array<{
29
30
  name: string;
30
31
  label: string;
@@ -41,12 +42,12 @@ export interface TransferProps
41
42
  rowIndex: number
42
43
  ) => JSX.Element;
43
44
  leftOptions?: Array<Option>;
44
- leftMode?: 'tree' | 'list';
45
+ leftMode?: 'tree' | 'list' | 'group';
45
46
  leftDefaultValue?: any;
46
- rightMode?: 'table' | 'list' | 'tree' | 'chained';
47
+ rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
47
48
 
48
49
  // search 相关
49
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
50
+ searchResultMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
50
51
  searchResultColumns?: Array<{
51
52
  name: string;
52
53
  label: string;
@@ -79,8 +80,11 @@ export interface TransferState {
79
80
  searchResult: Options | null;
80
81
  }
81
82
 
82
- export class Transfer extends React.Component<TransferProps, TransferState> {
83
- static defaultProps = {
83
+ export class Transfer<
84
+ T extends TransferProps = TransferProps
85
+ > extends React.Component<T, TransferState> {
86
+ static defaultProps: Pick<TransferProps, 'itemRender' | 'multiple'> = {
87
+ multiple: true,
84
88
  itemRender: (option: Option) => <span>{option.label}</span>
85
89
  };
86
90
 
@@ -102,7 +106,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
102
106
  @autobind
103
107
  toggleAll() {
104
108
  const {options, option2value, onChange, value} = this.props;
105
- let valueArray = BaseCheckboxes.value2array(value, options, option2value);
109
+ let valueArray = BaseSelection.value2array(value, options, option2value);
106
110
  const availableOptions = flattenTree(options).filter(
107
111
  (option, index, list) =>
108
112
  !option.disabled &&
@@ -192,7 +196,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
192
196
  }
193
197
  );
194
198
 
195
- renderSelect() {
199
+ renderSelect(
200
+ props: TransferProps & {
201
+ onToggleAll?: () => void;
202
+ }
203
+ ) {
196
204
  const {
197
205
  selectRender,
198
206
  selectMode,
@@ -203,11 +211,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
203
211
  options,
204
212
  statistics,
205
213
  translate: __
206
- } = this.props;
214
+ } = props;
207
215
 
208
216
  if (selectRender) {
209
217
  return selectRender({
210
- ...this.props,
218
+ ...props,
211
219
  onSearch: this.handleSearch,
212
220
  onSearchCancel: this.handleSeachCancel,
213
221
  searchResult: this.state.searchResult
@@ -223,7 +231,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
223
231
  )}
224
232
  >
225
233
  <span>
226
- {__(selectTitle || 'Select.placeholder')}
234
+ {__(selectTitle || 'Transfer.available')}
227
235
  {statistics !== false ? (
228
236
  <span>
229
237
  ({this.valueArray.length}/{this.availableOptions.length})
@@ -232,13 +240,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
232
240
  </span>
233
241
  {selectMode !== 'table' ? (
234
242
  <a
235
- onClick={this.toggleAll}
243
+ onClick={props.onToggleAll || this.toggleAll}
236
244
  className={cx(
237
245
  'Transfer-checkAll',
238
246
  disabled || !options.length ? 'is-disabled' : ''
239
247
  )}
240
248
  >
241
- {__('Select.placeholder')}
249
+ {__('Select.checkAll')}
242
250
  </a>
243
251
  ) : null}
244
252
  </div>
@@ -264,13 +272,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
264
272
  ) : null}
265
273
 
266
274
  {this.state.searchResult !== null
267
- ? this.renderSearchResult()
268
- : this.renderOptions()}
275
+ ? this.renderSearchResult(props)
276
+ : this.renderOptions(props)}
269
277
  </>
270
278
  );
271
279
  }
272
280
 
273
- renderSearchResult() {
281
+ renderSearchResult(props: TransferProps) {
274
282
  const {
275
283
  searchResultMode,
276
284
  selectMode,
@@ -283,16 +291,17 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
283
291
  onChange,
284
292
  option2value,
285
293
  optionItemRender,
286
- cellRender
287
- } = this.props;
294
+ cellRender,
295
+ multiple
296
+ } = props;
288
297
  const options = this.state.searchResult || [];
289
298
  const mode = searchResultMode || selectMode;
290
299
  const resultColumns = searchResultColumns || columns;
291
300
 
292
301
  return mode === 'table' ? (
293
- <TableCheckboxes
302
+ <TableSelection
294
303
  placeholder={noResultsText}
295
- className={cx('Transfer-checkboxes')}
304
+ className={cx('Transfer-selection')}
296
305
  columns={resultColumns!}
297
306
  options={options}
298
307
  value={value}
@@ -301,44 +310,48 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
301
310
  option2value={option2value}
302
311
  cellRender={cellRender}
303
312
  itemRender={optionItemRender}
313
+ multiple={multiple}
304
314
  />
305
315
  ) : mode === 'tree' ? (
306
- <TreeCheckboxes
316
+ <TreeSelection
307
317
  placeholder={noResultsText}
308
- className={cx('Transfer-checkboxes')}
318
+ className={cx('Transfer-selection')}
309
319
  options={options}
310
320
  value={value}
311
321
  disabled={disabled}
312
322
  onChange={onChange}
313
323
  option2value={option2value}
314
324
  itemRender={optionItemRender}
325
+ multiple={multiple}
315
326
  />
316
327
  ) : mode === 'chained' ? (
317
- <ChainedCheckboxes
328
+ <ChainedSelection
318
329
  placeholder={noResultsText}
319
- className={cx('Transfer-checkboxes')}
330
+ className={cx('Transfer-selection')}
320
331
  options={options}
321
332
  value={value}
322
333
  disabled={disabled}
323
334
  onChange={onChange}
324
335
  option2value={option2value}
325
336
  itemRender={optionItemRender}
337
+ multiple={multiple}
326
338
  />
327
339
  ) : (
328
- <ListCheckboxes
340
+ <GroupedSelection
329
341
  placeholder={noResultsText}
330
- className={cx('Transfer-checkboxes')}
342
+ className={cx('Transfer-selection')}
331
343
  options={options}
332
344
  value={value}
333
345
  disabled={disabled}
334
346
  onChange={onChange}
335
347
  option2value={option2value}
336
348
  itemRender={optionItemRender}
349
+ multiple={multiple}
337
350
  />
338
351
  );
339
352
  }
340
353
 
341
- renderOptions() {
354
+ renderOptions(props: TransferProps) {
342
355
  const {
343
356
  selectMode,
344
357
  columns,
@@ -354,12 +367,13 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
354
367
  rightMode,
355
368
  cellRender,
356
369
  leftDefaultValue,
357
- optionItemRender
358
- } = this.props;
370
+ optionItemRender,
371
+ multiple
372
+ } = props;
359
373
 
360
374
  return selectMode === 'table' ? (
361
- <TableCheckboxes
362
- className={cx('Transfer-checkboxes')}
375
+ <TableSelection
376
+ className={cx('Transfer-selection')}
363
377
  columns={columns!}
364
378
  options={options || []}
365
379
  value={value}
@@ -369,10 +383,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
369
383
  onDeferLoad={onDeferLoad}
370
384
  cellRender={cellRender}
371
385
  itemRender={optionItemRender}
386
+ multiple={multiple}
372
387
  />
373
388
  ) : selectMode === 'tree' ? (
374
- <TreeCheckboxes
375
- className={cx('Transfer-checkboxes')}
389
+ <TreeSelection
390
+ className={cx('Transfer-selection')}
376
391
  options={options || []}
377
392
  value={value}
378
393
  disabled={disabled}
@@ -380,10 +395,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
380
395
  option2value={option2value}
381
396
  onDeferLoad={onDeferLoad}
382
397
  itemRender={optionItemRender}
398
+ multiple={multiple}
383
399
  />
384
400
  ) : selectMode === 'chained' ? (
385
- <ChainedCheckboxes
386
- className={cx('Transfer-checkboxes')}
401
+ <ChainedSelection
402
+ className={cx('Transfer-selection')}
387
403
  options={options || []}
388
404
  value={value}
389
405
  disabled={disabled}
@@ -391,10 +407,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
391
407
  option2value={option2value}
392
408
  onDeferLoad={onDeferLoad}
393
409
  itemRender={optionItemRender}
410
+ multiple={multiple}
394
411
  />
395
412
  ) : selectMode === 'associated' ? (
396
- <AssociatedCheckboxes
397
- className={cx('Transfer-checkboxes')}
413
+ <AssociatedSelection
414
+ className={cx('Transfer-selection')}
398
415
  options={options || []}
399
416
  value={value}
400
417
  disabled={disabled}
@@ -407,10 +424,11 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
407
424
  rightMode={rightMode}
408
425
  leftDefaultValue={leftDefaultValue}
409
426
  itemRender={optionItemRender}
427
+ multiple={multiple}
410
428
  />
411
429
  ) : (
412
- <ListCheckboxes
413
- className={cx('Transfer-checkboxes')}
430
+ <GroupedSelection
431
+ className={cx('Transfer-selection')}
414
432
  options={options || []}
415
433
  value={value}
416
434
  disabled={disabled}
@@ -418,6 +436,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
418
436
  option2value={option2value}
419
437
  onDeferLoad={onDeferLoad}
420
438
  itemRender={optionItemRender}
439
+ multiple={multiple}
421
440
  />
422
441
  );
423
442
  }
@@ -440,7 +459,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
440
459
  translate: __
441
460
  } = this.props;
442
461
 
443
- this.valueArray = BaseCheckboxes.value2array(value, options, option2value);
462
+ this.valueArray = BaseSelection.value2array(value, options, option2value);
444
463
  this.availableOptions = flattenTree(options).filter(
445
464
  (option, index, list) =>
446
465
  !option.disabled &&
@@ -452,7 +471,9 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
452
471
  <div
453
472
  className={cx('Transfer', className, inline ? 'Transfer--inline' : '')}
454
473
  >
455
- <div className={cx('Transfer-select')}>{this.renderSelect()}</div>
474
+ <div className={cx('Transfer-select')}>
475
+ {this.renderSelect(this.props)}
476
+ </div>
456
477
  <div className={cx('Transfer-mid')}>
457
478
  {showArrow /*todo 需要改成确认模式,即:点了按钮才到右边 */ ? (
458
479
  <div className={cx('Transfer-arrow')}>
@@ -481,7 +502,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
481
502
  </a>
482
503
  </div>
483
504
  <ResultList
484
- className={cx('Transfer-selections')}
505
+ className={cx('Transfer-value')}
485
506
  sortable={sortable}
486
507
  disabled={disabled}
487
508
  value={value}
@@ -497,7 +518,7 @@ export class Transfer extends React.Component<TransferProps, TransferState> {
497
518
 
498
519
  export default themeable(
499
520
  localeable(
500
- uncontrollable(Transfer, {
521
+ uncontrollable(class extends Transfer {}, {
501
522
  value: 'onChange'
502
523
  })
503
524
  )