amis 1.5.6 → 1.6.1-beta.0

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 (538) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/README.md +1 -0
  3. package/lib/RootRenderer.d.ts +2 -0
  4. package/lib/RootRenderer.js +19 -1
  5. package/lib/RootRenderer.js.map +2 -2
  6. package/lib/Schema.d.ts +3 -2
  7. package/lib/Schema.js.map +1 -1
  8. package/lib/SchemaRenderer.js +52 -1
  9. package/lib/SchemaRenderer.js.map +2 -2
  10. package/lib/Scoped.d.ts +2 -0
  11. package/lib/Scoped.js +27 -1
  12. package/lib/Scoped.js.map +2 -2
  13. package/lib/actions/Action.d.ts +33 -0
  14. package/lib/actions/Action.js +100 -0
  15. package/lib/actions/Action.js.map +13 -0
  16. package/lib/actions/AjaxAction.d.ts +14 -0
  17. package/lib/actions/AjaxAction.js +68 -0
  18. package/lib/actions/AjaxAction.js.map +13 -0
  19. package/lib/actions/BreakAction.d.ts +12 -0
  20. package/lib/actions/BreakAction.js +28 -0
  21. package/lib/actions/BreakAction.js.map +13 -0
  22. package/lib/actions/BroadcastAction.d.ts +12 -0
  23. package/lib/actions/BroadcastAction.js +40 -0
  24. package/lib/actions/BroadcastAction.js.map +13 -0
  25. package/lib/actions/CmptAction.d.ts +12 -0
  26. package/lib/actions/CmptAction.js +40 -0
  27. package/lib/actions/CmptAction.js.map +13 -0
  28. package/lib/actions/ContinueAction.d.ts +12 -0
  29. package/lib/actions/ContinueAction.js +28 -0
  30. package/lib/actions/ContinueAction.js.map +13 -0
  31. package/lib/actions/CopyAction.d.ts +12 -0
  32. package/lib/actions/CopyAction.js +35 -0
  33. package/lib/actions/CopyAction.js.map +13 -0
  34. package/lib/actions/CustomAction.d.ts +12 -0
  35. package/lib/actions/CustomAction.js +43 -0
  36. package/lib/actions/CustomAction.js.map +13 -0
  37. package/lib/actions/DialogAction.d.ts +12 -0
  38. package/lib/actions/DialogAction.js +31 -0
  39. package/lib/actions/DialogAction.js.map +13 -0
  40. package/lib/actions/DrawerAction.d.ts +12 -0
  41. package/lib/actions/DrawerAction.js +31 -0
  42. package/lib/actions/DrawerAction.js.map +13 -0
  43. package/lib/actions/EmailAction.d.ts +12 -0
  44. package/lib/actions/EmailAction.js +37 -0
  45. package/lib/actions/EmailAction.js.map +13 -0
  46. package/lib/actions/LoopAction.d.ts +12 -0
  47. package/lib/actions/LoopAction.js +93 -0
  48. package/lib/actions/LoopAction.js.map +13 -0
  49. package/lib/actions/OpenPageAction.d.ts +12 -0
  50. package/lib/actions/OpenPageAction.js +33 -0
  51. package/lib/actions/OpenPageAction.js.map +13 -0
  52. package/lib/actions/ParallelAction.d.ts +5 -0
  53. package/lib/actions/ParallelAction.js +33 -0
  54. package/lib/actions/ParallelAction.js.map +13 -0
  55. package/lib/actions/SwitchAction.d.ts +8 -0
  56. package/lib/actions/SwitchAction.js +45 -0
  57. package/lib/actions/SwitchAction.js.map +13 -0
  58. package/lib/actions/index.d.ts +18 -0
  59. package/lib/actions/index.js +22 -0
  60. package/lib/actions/index.js.map +13 -0
  61. package/lib/components/AnchorNav.d.ts +20 -20
  62. package/lib/components/AssociatedSelection.d.ts +84 -84
  63. package/lib/components/AssociatedSelection.js +2 -2
  64. package/lib/components/AssociatedSelection.js.map +2 -2
  65. package/lib/components/Avatar.d.ts +135 -0
  66. package/lib/components/Avatar.js +120 -0
  67. package/lib/components/Avatar.js.map +13 -0
  68. package/lib/components/BaiduMapPicker.js.map +2 -2
  69. package/lib/components/Button.d.ts +20 -20
  70. package/lib/components/CalendarMobile.d.ts +573 -0
  71. package/lib/components/CalendarMobile.js +486 -0
  72. package/lib/components/CalendarMobile.js.map +13 -0
  73. package/lib/components/Cascader.d.ts +123 -0
  74. package/lib/components/Cascader.js +487 -0
  75. package/lib/components/Cascader.js.map +13 -0
  76. package/lib/components/ChainedSelection.d.ts +84 -84
  77. package/lib/components/ChainedSelection.js +15 -3
  78. package/lib/components/ChainedSelection.js.map +2 -2
  79. package/lib/components/CityArea.d.ts +527 -0
  80. package/lib/components/CityArea.js +177 -0
  81. package/lib/components/CityArea.js.map +13 -0
  82. package/lib/components/Collapse.d.ts +20 -20
  83. package/lib/components/ColorPicker.d.ts +84 -84
  84. package/lib/components/ColorPicker.js +4 -3
  85. package/lib/components/ColorPicker.js.map +2 -2
  86. package/lib/components/DatePicker.d.ts +85 -84
  87. package/lib/components/DatePicker.js +21 -8
  88. package/lib/components/DatePicker.js.map +2 -2
  89. package/lib/components/DateRangePicker.d.ts +85 -84
  90. package/lib/components/DateRangePicker.js +19 -6
  91. package/lib/components/DateRangePicker.js.map +2 -2
  92. package/lib/components/GroupedSelection.d.ts +84 -84
  93. package/lib/components/GroupedSelection.js +14 -2
  94. package/lib/components/GroupedSelection.js.map +2 -2
  95. package/lib/components/InputBox.d.ts +21 -21
  96. package/lib/components/ListGroup.d.ts +21 -21
  97. package/lib/components/ListMenu.d.ts +84 -84
  98. package/lib/components/MonthRangePicker.d.ts +85 -84
  99. package/lib/components/MonthRangePicker.js +18 -7
  100. package/lib/components/MonthRangePicker.js.map +2 -2
  101. package/lib/components/Overlay.d.ts +1 -1
  102. package/lib/components/Overlay.js.map +1 -1
  103. package/lib/components/Picker.d.ts +1 -0
  104. package/lib/components/Picker.js +16 -7
  105. package/lib/components/Picker.js.map +2 -2
  106. package/lib/components/PickerColumn.d.ts +1 -0
  107. package/lib/components/PickerColumn.js +21 -18
  108. package/lib/components/PickerColumn.js.map +2 -2
  109. package/lib/components/PickerContainer.d.ts +3 -0
  110. package/lib/components/PickerContainer.js +12 -5
  111. package/lib/components/PickerContainer.js.map +2 -2
  112. package/lib/components/PopOverContainer.d.ts +1 -0
  113. package/lib/components/PopOverContainer.js +5 -3
  114. package/lib/components/PopOverContainer.js.map +2 -2
  115. package/lib/components/PopUp.d.ts +1041 -28
  116. package/lib/components/PopUp.js +32 -8
  117. package/lib/components/PopUp.js.map +2 -2
  118. package/lib/components/Radios.d.ts +21 -21
  119. package/lib/components/Rating.d.ts +21 -21
  120. package/lib/components/ResultBox.d.ts +85 -84
  121. package/lib/components/ResultBox.js +9 -4
  122. package/lib/components/ResultBox.js.map +2 -2
  123. package/lib/components/ResultList.d.ts +9 -2
  124. package/lib/components/ResultList.js +22 -2
  125. package/lib/components/ResultList.js.map +2 -2
  126. package/lib/components/Select.d.ts +238 -238
  127. package/lib/components/Select.js +13 -9
  128. package/lib/components/Select.js.map +2 -2
  129. package/lib/components/Selection.d.ts +94 -86
  130. package/lib/components/Selection.js +11 -2
  131. package/lib/components/Selection.js.map +2 -2
  132. package/lib/components/Steps.js.map +2 -2
  133. package/lib/components/TableSelection.d.ts +85 -85
  134. package/lib/components/TableSelection.js +1 -9
  135. package/lib/components/TableSelection.js.map +2 -2
  136. package/lib/components/Tabs.js +31 -33
  137. package/lib/components/Tabs.js.map +2 -2
  138. package/lib/components/TabsTransfer.d.ts +87 -256
  139. package/lib/components/TabsTransfer.js +52 -9
  140. package/lib/components/TabsTransfer.js.map +2 -2
  141. package/lib/components/TabsTransferPicker.d.ts +1 -1
  142. package/lib/components/TabsTransferPicker.js +20 -18
  143. package/lib/components/TabsTransferPicker.js.map +2 -2
  144. package/lib/components/Timeline.d.ts +69 -0
  145. package/lib/components/Timeline.js +16 -0
  146. package/lib/components/Timeline.js.map +13 -0
  147. package/lib/components/TimelineItem.d.ts +517 -0
  148. package/lib/components/TimelineItem.js +40 -0
  149. package/lib/components/TimelineItem.js.map +13 -0
  150. package/lib/components/Transfer.d.ts +100 -98
  151. package/lib/components/Transfer.js +2 -3
  152. package/lib/components/Transfer.js.map +2 -2
  153. package/lib/components/TransferDropDown.d.ts +85 -84
  154. package/lib/components/TransferDropDown.js +9 -10
  155. package/lib/components/TransferDropDown.js.map +2 -2
  156. package/lib/components/TransferPicker.d.ts +1 -0
  157. package/lib/components/TransferPicker.js +19 -4
  158. package/lib/components/TransferPicker.js.map +2 -2
  159. package/lib/components/Tree.d.ts +84 -84
  160. package/lib/components/TreeSelection.d.ts +85 -85
  161. package/lib/components/TreeSelection.js +7 -1
  162. package/lib/components/TreeSelection.js.map +2 -2
  163. package/lib/components/calendar/Calendar.d.ts +19 -0
  164. package/lib/components/calendar/Calendar.js +71 -1
  165. package/lib/components/calendar/Calendar.js.map +2 -2
  166. package/lib/components/calendar/DaysView.d.ts +21 -0
  167. package/lib/components/calendar/DaysView.js +76 -17
  168. package/lib/components/calendar/DaysView.js.map +2 -2
  169. package/lib/components/calendar/MonthsView.d.ts +34 -0
  170. package/lib/components/calendar/MonthsView.js +68 -3
  171. package/lib/components/calendar/MonthsView.js.map +2 -2
  172. package/lib/components/calendar/QuartersView.d.ts +1 -0
  173. package/lib/components/calendar/QuartersView.js +2 -2
  174. package/lib/components/calendar/QuartersView.js.map +2 -2
  175. package/lib/components/calendar/TimeView.d.ts +30 -18
  176. package/lib/components/calendar/TimeView.js +47 -8
  177. package/lib/components/calendar/TimeView.js.map +2 -2
  178. package/lib/components/calendar/YearsView.d.ts +6 -0
  179. package/lib/components/calendar/YearsView.js +21 -10
  180. package/lib/components/calendar/YearsView.js.map +2 -2
  181. package/lib/components/condition-builder/Field.js +1 -4
  182. package/lib/components/condition-builder/Field.js.map +2 -2
  183. package/lib/components/condition-builder/Func.js +1 -1
  184. package/lib/components/condition-builder/Func.js.map +2 -2
  185. package/lib/components/formula/Editor.d.ts +3 -0
  186. package/lib/components/formula/Editor.js +3 -2
  187. package/lib/components/formula/Editor.js.map +2 -2
  188. package/lib/components/formula/FuncList.js +2 -1
  189. package/lib/components/formula/FuncList.js.map +2 -2
  190. package/lib/components/formula/Picker.js +1 -1
  191. package/lib/components/formula/Picker.js.map +2 -2
  192. package/lib/components/formula/plugin.js +0 -1
  193. package/lib/components/formula/plugin.js.map +2 -2
  194. package/lib/components/icons.js +2 -0
  195. package/lib/components/icons.js.map +2 -2
  196. package/lib/components/index.d.ts +2 -1
  197. package/lib/components/index.js +4 -2
  198. package/lib/components/index.js.map +2 -2
  199. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  200. package/lib/components/virtual-list/index.js +1 -2
  201. package/lib/components/virtual-list/index.js.map +2 -2
  202. package/lib/env.d.ts +4 -0
  203. package/lib/env.js.map +2 -2
  204. package/lib/factory.d.ts +2 -1
  205. package/lib/factory.js +83 -0
  206. package/lib/factory.js.map +2 -2
  207. package/lib/helper.css.map +1 -1
  208. package/lib/icons/tree-down.js +7 -0
  209. package/lib/index.d.ts +3 -0
  210. package/lib/index.js +4 -1
  211. package/lib/index.js.map +2 -2
  212. package/lib/locale/de-DE.js +17 -2
  213. package/lib/locale/de-DE.js.map +2 -2
  214. package/lib/locale/en-US.js +17 -2
  215. package/lib/locale/en-US.js.map +2 -2
  216. package/lib/locale/zh-CN.js +16 -1
  217. package/lib/locale/zh-CN.js.map +2 -2
  218. package/lib/renderers/Action.d.ts +1 -1
  219. package/lib/renderers/Action.js +26 -10
  220. package/lib/renderers/Action.js.map +2 -2
  221. package/lib/renderers/Avatar.d.ts +35 -26
  222. package/lib/renderers/Avatar.js +14 -19
  223. package/lib/renderers/Avatar.js.map +2 -2
  224. package/lib/renderers/CRUD.js +1 -2
  225. package/lib/renderers/CRUD.js.map +2 -2
  226. package/lib/renderers/Card.js +6 -5
  227. package/lib/renderers/Card.js.map +2 -2
  228. package/lib/renderers/Custom.d.ts +1 -1
  229. package/lib/renderers/Custom.js +1 -1
  230. package/lib/renderers/Custom.js.map +2 -2
  231. package/lib/renderers/DropDownButton.d.ts +11 -2
  232. package/lib/renderers/DropDownButton.js +30 -12
  233. package/lib/renderers/DropDownButton.js.map +2 -2
  234. package/lib/renderers/Each.js +5 -2
  235. package/lib/renderers/Each.js.map +2 -2
  236. package/lib/renderers/Flex.js +1 -5
  237. package/lib/renderers/Flex.js.map +2 -2
  238. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  239. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  240. package/lib/renderers/Form/CityDB.js +526 -2
  241. package/lib/renderers/Form/CityDB.js.map +2 -2
  242. package/lib/renderers/Form/DiffEditor.d.ts +6 -0
  243. package/lib/renderers/Form/DiffEditor.js +2 -1
  244. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  245. package/lib/renderers/Form/Editor.d.ts +6 -0
  246. package/lib/renderers/Form/InputCity.d.ts +85 -84
  247. package/lib/renderers/Form/InputCity.js +4 -2
  248. package/lib/renderers/Form/InputCity.js.map +2 -2
  249. package/lib/renderers/Form/InputColor.d.ts +84 -84
  250. package/lib/renderers/Form/InputColor.js +6 -2
  251. package/lib/renderers/Form/InputColor.js.map +2 -2
  252. package/lib/renderers/Form/InputDate.js +10 -5
  253. package/lib/renderers/Form/InputDate.js.map +2 -2
  254. package/lib/renderers/Form/InputDateRange.js +6 -2
  255. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  256. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  257. package/lib/renderers/Form/InputFormula.js +2 -2
  258. package/lib/renderers/Form/InputFormula.js.map +2 -2
  259. package/lib/renderers/Form/InputImage.d.ts +1 -0
  260. package/lib/renderers/Form/InputImage.js +8 -4
  261. package/lib/renderers/Form/InputImage.js.map +2 -2
  262. package/lib/renderers/Form/InputMonthRange.js +1 -1
  263. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  264. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  265. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  266. package/lib/renderers/Form/InputYearRange.js +1 -1
  267. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  268. package/lib/renderers/Form/Item.d.ts +10 -14
  269. package/lib/renderers/Form/Item.js +18 -9
  270. package/lib/renderers/Form/Item.js.map +2 -2
  271. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  272. package/lib/renderers/Form/NestedSelect.js +8 -4
  273. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  274. package/lib/renderers/Form/Options.js +9 -7
  275. package/lib/renderers/Form/Options.js.map +2 -2
  276. package/lib/renderers/Form/Select.d.ts +2 -0
  277. package/lib/renderers/Form/Select.js +9 -6
  278. package/lib/renderers/Form/Select.js.map +2 -2
  279. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  280. package/lib/renderers/Form/TabsTransfer.js +20 -1
  281. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  282. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  283. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  284. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  285. package/lib/renderers/Form/Transfer.d.ts +15 -4
  286. package/lib/renderers/Form/Transfer.js +55 -18
  287. package/lib/renderers/Form/Transfer.js.map +2 -2
  288. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  289. package/lib/renderers/Form/TransferPicker.js +1 -1
  290. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  291. package/lib/renderers/Form/TreeSelect.js +4 -4
  292. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  293. package/lib/renderers/Form/index.js +10 -2
  294. package/lib/renderers/Form/index.js.map +2 -2
  295. package/lib/renderers/IFrame.js +0 -2
  296. package/lib/renderers/IFrame.js.map +2 -2
  297. package/lib/renderers/Link.d.ts +1 -1
  298. package/lib/renderers/Link.js +27 -6
  299. package/lib/renderers/Link.js.map +2 -2
  300. package/lib/renderers/Nav.d.ts +21 -21
  301. package/lib/renderers/Nav.js +4 -1
  302. package/lib/renderers/Nav.js.map +2 -2
  303. package/lib/renderers/Remark.d.ts +5 -1
  304. package/lib/renderers/Remark.js +39 -7
  305. package/lib/renderers/Remark.js.map +2 -2
  306. package/lib/renderers/Steps.js +5 -5
  307. package/lib/renderers/Steps.js.map +2 -2
  308. package/lib/renderers/Table/TableRow.js +4 -1
  309. package/lib/renderers/Table/TableRow.js.map +2 -2
  310. package/lib/renderers/Table/index.js +4 -1
  311. package/lib/renderers/Table/index.js.map +2 -2
  312. package/lib/renderers/Tabs.js +1 -1
  313. package/lib/renderers/Tabs.js.map +2 -2
  314. package/lib/renderers/Timeline.d.ts +65 -0
  315. package/lib/renderers/Timeline.js +54 -0
  316. package/lib/renderers/Timeline.js.map +13 -0
  317. package/lib/renderers/Video.js.map +2 -2
  318. package/lib/schemaExtend.js +23 -9
  319. package/lib/schemaExtend.js.map +2 -2
  320. package/lib/store/combo.js.map +2 -2
  321. package/lib/store/formItem.js +7 -7
  322. package/lib/store/formItem.js.map +2 -2
  323. package/lib/store/table.js +1 -1
  324. package/lib/store/table.js.map +2 -2
  325. package/lib/themes/ang-ie11.css +1149 -53
  326. package/lib/themes/ang.css +1149 -53
  327. package/lib/themes/ang.css.map +1 -1
  328. package/lib/themes/antd-ie11.css +1187 -53
  329. package/lib/themes/antd.css +1187 -53
  330. package/lib/themes/antd.css.map +1 -1
  331. package/lib/themes/cxd-ie11.css +1190 -71
  332. package/lib/themes/cxd.css +1190 -71
  333. package/lib/themes/cxd.css.map +1 -1
  334. package/lib/themes/dark-ie11.css +1152 -53
  335. package/lib/themes/dark.css +1152 -53
  336. package/lib/themes/dark.css.map +1 -1
  337. package/lib/themes/default.css +1190 -71
  338. package/lib/themes/default.css.map +1 -1
  339. package/lib/utils/RootClose.js +3 -1
  340. package/lib/utils/RootClose.js.map +2 -2
  341. package/lib/utils/api.js +14 -3
  342. package/lib/utils/api.js.map +2 -2
  343. package/lib/utils/debug.d.ts +26 -0
  344. package/lib/utils/debug.js +351 -0
  345. package/lib/utils/debug.js.map +13 -0
  346. package/lib/utils/helper.d.ts +1 -6
  347. package/lib/utils/helper.js +6 -17
  348. package/lib/utils/helper.js.map +2 -2
  349. package/lib/utils/renderer-event.d.ts +38 -0
  350. package/lib/utils/renderer-event.js +28 -0
  351. package/lib/utils/renderer-event.js.map +13 -0
  352. package/package.json +12 -6
  353. package/schema.json +3483 -810
  354. package/scss/_properties.scss +20 -6
  355. package/scss/_variables.scss +1 -0
  356. package/scss/components/_avatar.scss +27 -9
  357. package/scss/components/_calendar.scss +291 -0
  358. package/scss/components/_card.scss +1 -1
  359. package/scss/components/_cascader.scss +102 -0
  360. package/scss/components/_city-area.scss +27 -0
  361. package/scss/components/_collapse-group.scss +1 -3
  362. package/scss/components/_debug.scss +167 -0
  363. package/scss/components/_dropdown.scss +39 -9
  364. package/scss/components/_formula.scss +30 -6
  365. package/scss/components/_modal.scss +18 -0
  366. package/scss/components/_panel.scss +45 -0
  367. package/scss/components/_picker-columns.scss +15 -5
  368. package/scss/components/_popup.scss +43 -16
  369. package/scss/components/_result-box.scss +31 -0
  370. package/scss/components/_timeline.scss +198 -0
  371. package/scss/components/form/_checks.scss +2 -0
  372. package/scss/components/form/_color.scss +2 -2
  373. package/scss/components/form/_date-range.scss +34 -1
  374. package/scss/components/form/_date.scss +46 -1
  375. package/scss/components/form/_form.scss +170 -0
  376. package/scss/components/form/_nested-select.scss +3 -0
  377. package/scss/components/form/_result-list.scss +2 -0
  378. package/scss/components/form/_select.scss +32 -3
  379. package/scss/components/form/_selection.scss +5 -4
  380. package/scss/components/form/_transfer.scss +3 -0
  381. package/scss/components/form/_tree-select.scss +1 -1
  382. package/scss/themes/_antd-variables.scss +45 -0
  383. package/scss/themes/_common.scss +5 -0
  384. package/scss/themes/_cxd-variables.scss +51 -2
  385. package/scss/themes/_dark-variables.scss +4 -0
  386. package/scss/themes/cxd.scss +0 -19
  387. package/sdk/ang-ie11.css +1450 -142
  388. package/sdk/ang.css +1473 -159
  389. package/sdk/antd-ie11.css +1451 -142
  390. package/sdk/antd.css +1511 -159
  391. package/sdk/charts.js +15 -15
  392. package/sdk/codemirror.js +7 -7
  393. package/sdk/color-picker.js +65 -65
  394. package/sdk/cropperjs.js +2 -2
  395. package/sdk/cxd-ie11.css +1449 -159
  396. package/sdk/cxd.css +1514 -179
  397. package/sdk/dark-ie11.css +1450 -142
  398. package/sdk/dark.css +1476 -159
  399. package/sdk/exceljs.js +1 -1
  400. package/sdk/helper.css.map +1 -1
  401. package/sdk/locale/de-DE.js +17 -2
  402. package/sdk/markdown.js +69 -69
  403. package/sdk/papaparse.js +1 -1
  404. package/sdk/renderers/Form/CityDB.js +1 -1
  405. package/sdk/rest.js +18 -18
  406. package/sdk/rich-text.js +62 -62
  407. package/sdk/sdk-ie11.css +1449 -159
  408. package/sdk/sdk.css +1514 -179
  409. package/sdk/sdk.js +1311 -1253
  410. package/sdk/thirds/hls.js/hls.js +1 -1
  411. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  412. package/sdk/tinymce.js +57 -57
  413. package/src/RootRenderer.tsx +27 -1
  414. package/src/Schema.ts +3 -0
  415. package/src/SchemaRenderer.tsx +70 -4
  416. package/src/Scoped.tsx +46 -4
  417. package/src/actions/Action.ts +138 -0
  418. package/src/actions/AjaxAction.ts +58 -0
  419. package/src/actions/BreakAction.ts +27 -0
  420. package/src/actions/BroadcastAction.ts +41 -0
  421. package/src/actions/CmptAction.ts +36 -0
  422. package/src/actions/ContinueAction.ts +27 -0
  423. package/src/actions/CopyAction.ts +41 -0
  424. package/src/actions/CustomAction.ts +46 -0
  425. package/src/actions/DialogAction.ts +28 -0
  426. package/src/actions/DrawerAction.ts +28 -0
  427. package/src/actions/EmailAction.ts +38 -0
  428. package/src/actions/LoopAction.ts +77 -0
  429. package/src/actions/OpenPageAction.ts +39 -0
  430. package/src/actions/ParallelAction.ts +26 -0
  431. package/src/actions/SwitchAction.ts +35 -0
  432. package/src/actions/index.ts +20 -0
  433. package/src/components/AssociatedSelection.tsx +5 -1
  434. package/src/components/Avatar.tsx +253 -0
  435. package/src/components/BaiduMapPicker.tsx +19 -14
  436. package/src/components/CalendarMobile.tsx +658 -0
  437. package/src/components/Cascader.tsx +564 -0
  438. package/src/components/ChainedSelection.tsx +16 -3
  439. package/src/components/CityArea.tsx +315 -0
  440. package/src/components/ColorPicker.tsx +41 -40
  441. package/src/components/DatePicker.tsx +80 -34
  442. package/src/components/DateRangePicker.tsx +85 -30
  443. package/src/components/GroupedSelection.tsx +14 -2
  444. package/src/components/MonthRangePicker.tsx +78 -31
  445. package/src/components/Overlay.tsx +1 -1
  446. package/src/components/Picker.tsx +55 -35
  447. package/src/components/PickerColumn.tsx +43 -36
  448. package/src/components/PickerContainer.tsx +13 -1
  449. package/src/components/PopOverContainer.tsx +31 -17
  450. package/src/components/PopUp.tsx +84 -57
  451. package/src/components/ResultBox.tsx +14 -2
  452. package/src/components/ResultList.tsx +36 -6
  453. package/src/components/Select.tsx +24 -26
  454. package/src/components/Selection.tsx +21 -3
  455. package/src/components/Steps.tsx +23 -10
  456. package/src/components/TableSelection.tsx +1 -44
  457. package/src/components/Tabs.tsx +65 -54
  458. package/src/components/TabsTransfer.tsx +78 -9
  459. package/src/components/TabsTransferPicker.tsx +25 -13
  460. package/src/components/Timeline.tsx +36 -0
  461. package/src/components/TimelineItem.tsx +140 -0
  462. package/src/components/Transfer.tsx +11 -8
  463. package/src/components/TransferDropDown.tsx +20 -12
  464. package/src/components/TransferPicker.tsx +25 -4
  465. package/src/components/TreeSelection.tsx +7 -1
  466. package/src/components/calendar/Calendar.tsx +101 -4
  467. package/src/components/calendar/DaysView.tsx +165 -33
  468. package/src/components/calendar/MonthsView.tsx +108 -1
  469. package/src/components/calendar/QuartersView.tsx +3 -2
  470. package/src/components/calendar/TimeView.tsx +104 -41
  471. package/src/components/calendar/YearsView.tsx +34 -17
  472. package/src/components/condition-builder/Field.tsx +1 -3
  473. package/src/components/condition-builder/Func.tsx +1 -1
  474. package/src/components/formula/Editor.tsx +16 -11
  475. package/src/components/formula/FuncList.tsx +3 -1
  476. package/src/components/formula/Picker.tsx +2 -1
  477. package/src/components/formula/plugin.ts +0 -2
  478. package/src/components/icons.tsx +2 -0
  479. package/src/components/index.tsx +2 -0
  480. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  481. package/src/components/virtual-list/index.tsx +4 -6
  482. package/src/env.tsx +22 -0
  483. package/src/factory.tsx +93 -1
  484. package/src/icons/tree-down.svg +5 -0
  485. package/src/index.tsx +5 -0
  486. package/src/locale/de-DE.ts +17 -2
  487. package/src/locale/en-US.ts +17 -2
  488. package/src/locale/zh-CN.ts +16 -1
  489. package/src/renderers/Action.tsx +11 -2
  490. package/src/renderers/Avatar.tsx +83 -74
  491. package/src/renderers/CRUD.tsx +1 -3
  492. package/src/renderers/Card.tsx +10 -6
  493. package/src/renderers/Custom.tsx +7 -4
  494. package/src/renderers/DropDownButton.tsx +69 -35
  495. package/src/renderers/Each.tsx +4 -4
  496. package/src/renderers/Flex.tsx +3 -7
  497. package/src/renderers/Form/ChartRadios.tsx +2 -7
  498. package/src/renderers/Form/Checkboxes.tsx +1 -1
  499. package/src/renderers/Form/CityDB.ts +526 -2
  500. package/src/renderers/Form/DiffEditor.tsx +2 -3
  501. package/src/renderers/Form/InputCity.tsx +23 -3
  502. package/src/renderers/Form/InputColor.tsx +21 -2
  503. package/src/renderers/Form/InputDate.tsx +48 -20
  504. package/src/renderers/Form/InputDateRange.tsx +9 -2
  505. package/src/renderers/Form/InputFormula.tsx +9 -4
  506. package/src/renderers/Form/InputImage.tsx +9 -4
  507. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  508. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  509. package/src/renderers/Form/InputYearRange.tsx +0 -1
  510. package/src/renderers/Form/Item.tsx +29 -8
  511. package/src/renderers/Form/NestedSelect.tsx +32 -4
  512. package/src/renderers/Form/Options.tsx +15 -7
  513. package/src/renderers/Form/Select.tsx +21 -5
  514. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  515. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  516. package/src/renderers/Form/Transfer.tsx +75 -24
  517. package/src/renderers/Form/TransferPicker.tsx +6 -38
  518. package/src/renderers/Form/TreeSelect.tsx +18 -16
  519. package/src/renderers/Form/index.tsx +9 -2
  520. package/src/renderers/IFrame.tsx +0 -2
  521. package/src/renderers/Link.tsx +18 -3
  522. package/src/renderers/Nav.tsx +4 -1
  523. package/src/renderers/Remark.tsx +68 -18
  524. package/src/renderers/Steps.tsx +11 -13
  525. package/src/renderers/Table/TableRow.tsx +3 -1
  526. package/src/renderers/Table/index.tsx +7 -1
  527. package/src/renderers/Tabs.tsx +6 -2
  528. package/src/renderers/Timeline.tsx +141 -0
  529. package/src/renderers/Video.tsx +4 -20
  530. package/src/schemaExtend.ts +22 -10
  531. package/src/store/combo.ts +1 -3
  532. package/src/store/formItem.ts +3 -3
  533. package/src/store/table.ts +2 -1
  534. package/src/utils/RootClose.ts +5 -1
  535. package/src/utils/api.ts +15 -2
  536. package/src/utils/debug.tsx +438 -0
  537. package/src/utils/helper.ts +6 -16
  538. package/src/utils/renderer-event.ts +75 -0
@@ -37,6 +37,7 @@ import Spinner from './Spinner';
37
37
  import {Option, Options} from '../Schema';
38
38
  import {RemoteOptionsProps, withRemoteConfig} from './WithRemoteConfig';
39
39
  import Picker from './Picker';
40
+ import PopUp from './PopUp';
40
41
 
41
42
  export {Option, Options};
42
43
 
@@ -183,7 +184,8 @@ export function normalizeOptions(
183
184
  } = {
184
185
  values: [],
185
186
  options: []
186
- }
187
+ },
188
+ valueField = 'value'
187
189
  ): Options {
188
190
  if (typeof options === 'string') {
189
191
  return options.split(',').map(item => {
@@ -224,7 +226,7 @@ export function normalizeOptions(
224
226
  });
225
227
  } else if (Array.isArray(options as Options)) {
226
228
  return (options as Options).map(item => {
227
- const value = item && item.value;
229
+ const value = item && item[valueField];
228
230
 
229
231
  const idx =
230
232
  value !== undefined && !item.children
@@ -241,7 +243,7 @@ export function normalizeOptions(
241
243
  };
242
244
 
243
245
  if (typeof option.children !== 'undefined') {
244
- option.children = normalizeOptions(option.children, share);
246
+ option.children = normalizeOptions(option.children, share, valueField);
245
247
  } else if (value !== undefined) {
246
248
  share.values.push(value);
247
249
  share.options.push(option);
@@ -923,23 +925,13 @@ export class Select extends React.Component<SelectProps, SelectState> {
923
925
  labelField: 'label',
924
926
  options: filtedOptions
925
927
  };
926
- const menu = mobileUI ? (
927
- <Picker
928
- className={cx('PickerColumns-column', mobileClassName)}
929
- labelField='label'
930
- value={value[0]}
931
- translate={this.props.translate}
932
- locale={this.props.locale}
933
- columns={[column]}
934
- onChange={checkAll ? noop : this.handlePickerChange}
935
- onClose={this.close}
936
- onConfirm={this.confirm}
937
- />
938
- ) : (
928
+ const menu = (
939
929
  <div
940
930
  ref={this.menu}
941
931
  className={cx('Select-menu', {
942
- 'Select--longlist': filtedOptions.length && filtedOptions.length > 100
932
+ 'Select--longlist':
933
+ filtedOptions.length && filtedOptions.length > 100,
934
+ 'is-mobile': mobileUI
943
935
  })}
944
936
  >
945
937
  {searchable ? (
@@ -1021,8 +1013,16 @@ export class Select extends React.Component<SelectProps, SelectState> {
1021
1013
  )}
1022
1014
  </div>
1023
1015
  );
1024
-
1025
- return (
1016
+ return mobileUI ? (
1017
+ <PopUp
1018
+ className={cx(`Select-popup`)}
1019
+ container={popOverContainer}
1020
+ isShow={this.state.isOpen}
1021
+ onHide={this.close}
1022
+ >
1023
+ {menu}
1024
+ </PopUp>
1025
+ ) : (
1026
1026
  <Overlay
1027
1027
  container={popOverContainer || this.getTarget}
1028
1028
  target={this.getTarget}
@@ -1031,11 +1031,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
1031
1031
  >
1032
1032
  <PopOver
1033
1033
  overlay
1034
- className={cx(
1035
- 'Select-popover',
1036
- popoverClassName,
1037
- mobileUI ? 'PopOver-isMobile' : ''
1038
- )}
1034
+ className={cx('Select-popover')}
1039
1035
  style={{
1040
1036
  minWidth: this.target ? this.target.offsetWidth : 'auto'
1041
1037
  }}
@@ -1061,13 +1057,14 @@ export class Select extends React.Component<SelectProps, SelectState> {
1061
1057
  labelField,
1062
1058
  disabled,
1063
1059
  checkAll,
1064
- borderMode
1060
+ borderMode,
1061
+ useMobileUI
1065
1062
  } = this.props;
1066
1063
 
1067
1064
  const selection = this.state.selection;
1068
1065
  const inputValue = this.state.inputValue;
1069
1066
  const resetValue = this.props.resetValue;
1070
-
1067
+ const mobileUI = useMobileUI && isMobile();
1071
1068
  return (
1072
1069
  <Downshift
1073
1070
  selectedItem={selection}
@@ -1101,6 +1098,7 @@ export class Select extends React.Component<SelectProps, SelectState> {
1101
1098
  'is-opened': isOpen,
1102
1099
  'is-focused': this.state.isFocused,
1103
1100
  'is-disabled': disabled,
1101
+ 'is-mobile': mobileUI,
1104
1102
  [`Select--border${ucFirst(borderMode)}`]: borderMode
1105
1103
  },
1106
1104
  className
@@ -29,18 +29,30 @@ export interface BaseSelectionProps extends ThemeProps, LocaleProps {
29
29
  labelClassName?: string;
30
30
  option2value?: (option: Option) => any;
31
31
  itemClassName?: string;
32
- itemRender: (option: Option) => JSX.Element;
32
+ itemRender: (option: Option, states: ItemRenderStates) => JSX.Element;
33
33
  disabled?: boolean;
34
34
  onClick?: (e: React.MouseEvent) => void;
35
35
  }
36
36
 
37
+ export interface ItemRenderStates {
38
+ index: number;
39
+ multiple?: boolean;
40
+ checked: boolean;
41
+ onChange: () => void;
42
+ disabled?: boolean;
43
+ }
44
+
37
45
  export class BaseSelection<
38
46
  T extends BaseSelectionProps = BaseSelectionProps,
39
47
  S = any
40
48
  > extends React.Component<T, S> {
49
+ static itemRender(option: Option, states: ItemRenderStates) {
50
+ return <span>{option.label}</span>;
51
+ }
52
+
41
53
  static defaultProps = {
42
54
  placeholder: 'placeholder.noOption',
43
- itemRender: (option: Option) => <span>{option.label}</span>,
55
+ itemRender: BaseSelection.itemRender,
44
56
  multiple: true,
45
57
  clearable: false
46
58
  };
@@ -182,7 +194,13 @@ export class BaseSelection<
182
194
  labelClassName={labelClassName}
183
195
  description={option.description}
184
196
  >
185
- {itemRender(option)}
197
+ {itemRender(option, {
198
+ index: key,
199
+ multiple: multiple,
200
+ checked: !!~valueArray.indexOf(option),
201
+ onChange: () => this.toggleOption(option),
202
+ disabled: disabled || option.disabled
203
+ })}
186
204
  </Checkbox>
187
205
  ));
188
206
  }
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import {themeable, ThemeProps} from '../theme';
3
3
  import {Icon} from './icons';
4
4
  import {BaseSchema} from '../Schema';
5
- import { isMobile } from '../utils/helper';
5
+ import {isMobile} from '../utils/helper';
6
6
 
7
7
  export enum StepStatus {
8
8
  wait = 'wait',
@@ -63,7 +63,7 @@ export interface StepsSchema extends BaseSchema {
63
63
  */
64
64
  name?: string;
65
65
 
66
- status: StepStatus
66
+ status: StepStatus;
67
67
 
68
68
  /**
69
69
  * 展示模式
@@ -75,9 +75,11 @@ export interface StepsProps extends ThemeProps {
75
75
  steps: StepSchema[];
76
76
  className: string;
77
77
  current: number;
78
- status?: StepStatus | {
79
- [propName: string]: StepStatus;
80
- };
78
+ status?:
79
+ | StepStatus
80
+ | {
81
+ [propName: string]: StepStatus;
82
+ };
81
83
  mode?: 'horizontal' | 'vertical';
82
84
  useMobileUI?: boolean;
83
85
  }
@@ -127,7 +129,14 @@ export function Steps(props: StepsProps) {
127
129
 
128
130
  const mobileUI = useMobileUI && isMobile();
129
131
  return (
130
- <ul className={cx('Steps', `Steps--${mode}`, mobileUI ? 'Steps-mobile' : '', className)}>
132
+ <ul
133
+ className={cx(
134
+ 'Steps',
135
+ `Steps--${mode}`,
136
+ mobileUI ? 'Steps-mobile' : '',
137
+ className
138
+ )}
139
+ >
131
140
  {stepsRow.map((step, i) => {
132
141
  const {stepStatus, icon} = getStepStatus(step, i);
133
142
 
@@ -137,8 +146,12 @@ export function Steps(props: StepsProps) {
137
146
  className={cx('StepsItem', `is-${stepStatus}`, step.className)}
138
147
  >
139
148
  <div className={cx('StepsItem-container')}>
140
- <div className={cx('StepsItem-containerIcon',
141
- i < current && 'is-success')}>
149
+ <div
150
+ className={cx(
151
+ 'StepsItem-containerIcon',
152
+ i < current && 'is-success'
153
+ )}
154
+ >
142
155
  <span className={cx('StepsItem-icon')}>
143
156
  {icon ? <Icon icon={icon} className="icon" /> : i + 1}
144
157
  </span>
@@ -166,7 +179,7 @@ export function Steps(props: StepsProps) {
166
179
  );
167
180
  })}
168
181
  </ul>
169
- )
182
+ );
170
183
  }
171
184
 
172
- export default themeable(Steps);
185
+ export default themeable(Steps);
@@ -153,50 +153,7 @@ export class TableSelection extends BaseSelection<TableSelectionProps> {
153
153
  }
154
154
 
155
155
  render() {
156
- const {
157
- value,
158
- options,
159
- className,
160
- labelClassName,
161
- disabled,
162
- classnames: cx,
163
- option2value,
164
- itemClassName,
165
- itemRender,
166
- multiple
167
- } = this.props;
168
-
169
- let valueArray = BaseSelection.value2array(value, options, option2value);
170
- let body: Array<React.ReactNode> = [];
171
-
172
- if (Array.isArray(options) && options.length) {
173
- body = options.map((option, key) => (
174
- <div
175
- key={key}
176
- className={cx(
177
- 'TableSelection-item',
178
- itemClassName,
179
- option.className,
180
- disabled || option.disabled ? 'is-disabled' : ''
181
- )}
182
- onClick={() => this.toggleOption(option)}
183
- >
184
- <div className={cx('TableSelection-itemLabel')}>
185
- {itemRender(option)}
186
- </div>
187
-
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}
197
- </div>
198
- ));
199
- }
156
+ const {className, classnames: cx} = this.props;
200
157
 
201
158
  return (
202
159
  <div className={cx('TableSelection', className)}>
@@ -96,7 +96,7 @@ export interface TabsProps extends ThemeProps {
96
96
  tabs?: Array<TabProps>;
97
97
  tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;
98
98
  toolbar?: React.ReactNode;
99
- scrollable?: boolean // 是否支持溢出滚动
99
+ scrollable?: boolean; // 是否支持溢出滚动
100
100
  }
101
101
 
102
102
  export class Tabs extends React.Component<TabsProps, any> {
@@ -107,23 +107,25 @@ export class Tabs extends React.Component<TabsProps, any> {
107
107
 
108
108
  static Tab = Tab;
109
109
  navMain = React.createRef<HTMLDivElement>();
110
- scroll:boolean = false;
110
+ scroll: boolean = false;
111
111
 
112
112
  checkArrowStatus = debounce(
113
113
  () => {
114
- const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
115
- || {
116
- scrollLeft: 0,
117
- scrollWidth: 0,
118
- clientWidth: 0
119
- }
114
+ const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
115
+ scrollLeft: 0,
116
+ scrollWidth: 0,
117
+ clientWidth: 0
118
+ };
120
119
  const {arrowRightDisabled, arrowLeftDisabled} = this.state;
121
120
  if (scrollLeft === 0 && !arrowLeftDisabled) {
122
121
  this.setState({
123
122
  arrowRightDisabled: false,
124
123
  arrowLeftDisabled: true
125
124
  });
126
- } else if (scrollWidth === scrollLeft + clientWidth && !arrowRightDisabled) {
125
+ } else if (
126
+ scrollWidth === scrollLeft + clientWidth &&
127
+ !arrowRightDisabled
128
+ ) {
127
129
  this.setState({
128
130
  arrowRightDisabled: true,
129
131
  arrowLeftDisabled: false
@@ -132,7 +134,10 @@ export class Tabs extends React.Component<TabsProps, any> {
132
134
  this.setState({
133
135
  arrowLeftDisabled: false
134
136
  });
135
- } else if (scrollWidth !== scrollLeft + clientWidth && arrowRightDisabled) {
137
+ } else if (
138
+ scrollWidth !== scrollLeft + clientWidth &&
139
+ arrowRightDisabled
140
+ ) {
136
141
  this.setState({
137
142
  arrowRightDisabled: false
138
143
  });
@@ -143,21 +148,23 @@ export class Tabs extends React.Component<TabsProps, any> {
143
148
  trailing: true,
144
149
  leading: false
145
150
  }
146
- )
151
+ );
147
152
 
148
153
  constructor(props: TabsProps) {
149
154
  super(props);
150
155
  this.state = {
151
156
  isOverflow: false,
152
157
  arrowLeftDisabled: false,
153
- arrowRightDisabled: false,
158
+ arrowRightDisabled: false
154
159
  };
155
160
  }
156
161
 
157
162
  componentDidMount() {
158
163
  this.computedWidth();
159
164
  if (this.navMain) {
160
- this.navMain.current?.addEventListener('wheel', this.handleWheel, {passive: false});
165
+ this.navMain.current?.addEventListener('wheel', this.handleWheel, {
166
+ passive: false
167
+ });
161
168
  this.checkArrowStatus();
162
169
  }
163
170
  }
@@ -207,7 +214,9 @@ export class Tabs extends React.Component<TabsProps, any> {
207
214
  }
208
215
  const {activeKey, children} = this.props;
209
216
  const currentKey = key !== undefined ? key : activeKey;
210
- const currentIndex = (children as any[])?.findIndex((item: any) => item.props.eventKey === currentKey);
217
+ const currentIndex = (children as any[])?.findIndex(
218
+ (item: any) => item.props.eventKey === currentKey
219
+ );
211
220
  const li = this.navMain.current?.children[0]?.children || [];
212
221
  const currentLi = li[currentIndex] as HTMLElement;
213
222
  const liOffsetLeft = currentLi?.offsetLeft - 20;
@@ -241,12 +250,11 @@ export class Tabs extends React.Component<TabsProps, any> {
241
250
  }
242
251
 
243
252
  handleArrow(type: 'left' | 'right') {
244
- const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current
245
- || {
246
- scrollLeft: 0,
247
- scrollWidth: 0,
248
- clientWidth: 0
249
- }
253
+ const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {
254
+ scrollLeft: 0,
255
+ scrollWidth: 0,
256
+ clientWidth: 0
257
+ };
250
258
  if (type === 'left' && scrollLeft > 0) {
251
259
  this.navMain.current?.scrollTo({
252
260
  left: 0,
@@ -369,7 +377,7 @@ export class Tabs extends React.Component<TabsProps, any> {
369
377
  }
370
378
 
371
379
  renderArrow(type: 'left' | 'right') {
372
- const {mode: dMode, tabsMode,} = this.props;
380
+ const {mode: dMode, tabsMode} = this.props;
373
381
  const mode = tabsMode || dMode;
374
382
  if (mode === 'vertical') {
375
383
  return;
@@ -377,17 +385,18 @@ export class Tabs extends React.Component<TabsProps, any> {
377
385
  const {classnames: cx} = this.props;
378
386
  const {isOverflow, arrowLeftDisabled, arrowRightDisabled} = this.state;
379
387
  const disabled = type === 'left' ? arrowLeftDisabled : arrowRightDisabled;
380
- return (isOverflow
381
- ? (<div onClick={() => this.handleArrow(type)}
382
- className={cx(
383
- 'Tabs-linksContainer-arrow',
384
- 'Tabs-linksContainer-arrow--' + type,
385
- disabled && 'Tabs-linksContainer-arrow--disabled'
386
- )}>
387
- <i className={'iconfont icon-arrow-' + type} />
388
- </div>)
389
- : null
390
- )
388
+ return isOverflow ? (
389
+ <div
390
+ onClick={() => this.handleArrow(type)}
391
+ className={cx(
392
+ 'Tabs-linksContainer-arrow',
393
+ 'Tabs-linksContainer-arrow--' + type,
394
+ disabled && 'Tabs-linksContainer-arrow--disabled'
395
+ )}
396
+ >
397
+ <i className={'iconfont icon-arrow-' + type} />
398
+ </div>
399
+ ) : null;
391
400
  }
392
401
 
393
402
  render() {
@@ -421,28 +430,30 @@ export class Tabs extends React.Component<TabsProps, any> {
421
430
  className
422
431
  )}
423
432
  >
424
- {
425
- scrollable && !['vertical', 'chrome'].includes(mode) ?
426
- (<div className={cx('Tabs-linksContainer', isOverflow && 'Tabs-linksContainer--overflow')}>
427
- {this.renderArrow('left')}
428
- <div
429
- className={cx('Tabs-linksContainer-main')}
430
- ref={this.navMain}
431
- >
432
- <ul className={cx('Tabs-links', linksClassName)} role="tablist">
433
- {children.map((tab, index) => this.renderNav(tab, index))}
434
- {additionBtns}
435
- {toolbar}
436
- </ul>
437
- </div>
438
- {this.renderArrow('right')}
439
- </div>)
440
- : (<ul className={cx('Tabs-links', linksClassName)} role="tablist">
441
- {children.map((tab, index) => this.renderNav(tab, index))}
442
- {additionBtns}
443
- {toolbar}
444
- </ul>)
445
- }
433
+ {scrollable && !['vertical', 'chrome'].includes(mode) ? (
434
+ <div
435
+ className={cx(
436
+ 'Tabs-linksContainer',
437
+ isOverflow && 'Tabs-linksContainer--overflow'
438
+ )}
439
+ >
440
+ {this.renderArrow('left')}
441
+ <div className={cx('Tabs-linksContainer-main')} ref={this.navMain}>
442
+ <ul className={cx('Tabs-links', linksClassName)} role="tablist">
443
+ {children.map((tab, index) => this.renderNav(tab, index))}
444
+ {additionBtns}
445
+ {toolbar}
446
+ </ul>
447
+ </div>
448
+ {this.renderArrow('right')}
449
+ </div>
450
+ ) : (
451
+ <ul className={cx('Tabs-links', linksClassName)} role="tablist">
452
+ {children.map((tab, index) => this.renderNav(tab, index))}
453
+ {additionBtns}
454
+ {toolbar}
455
+ </ul>
456
+ )}
446
457
 
447
458
  <div className={cx('Tabs-content', contentClassName)}>
448
459
  {children.map((child, index) => {
@@ -11,12 +11,22 @@ import Transfer, {TransferProps} from './Transfer';
11
11
  import {themeable} from '../theme';
12
12
  import AssociatedCheckboxes from './AssociatedSelection';
13
13
  import {localeable} from '../locale';
14
+ import {ItemRenderStates} from './Selection';
14
15
 
15
16
  export interface TabsTransferProps
16
17
  extends Omit<
17
18
  TransferProps,
18
- 'selectMode' | 'columns' | 'selectRender' | 'statistics'
19
+ | 'selectMode'
20
+ | 'columns'
21
+ | 'selectRender'
22
+ | 'statistics'
23
+ | 'optionItemRender'
19
24
  > {
25
+ optionItemRender?: (
26
+ option: Option,
27
+ states: ItemRenderStates,
28
+ tab: Option
29
+ ) => JSX.Element;
20
30
  cellRender?: (
21
31
  column: {
22
32
  name: string;
@@ -30,10 +40,6 @@ export interface TabsTransferProps
30
40
  }
31
41
 
32
42
  export class TabsTransfer extends React.Component<TabsTransferProps> {
33
- static defaultProps = {
34
- itemRender: (option: Option) => <span>{option.label}</span>
35
- };
36
-
37
43
  renderSearchResult(searchResult: Options | null) {
38
44
  const {
39
45
  searchResultMode,
@@ -44,7 +50,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
44
50
  disabled,
45
51
  onChange,
46
52
  option2value,
47
- cellRender
53
+ cellRender,
54
+ optionItemRender
48
55
  } = this.props;
49
56
  const options = searchResult || [];
50
57
  const mode = searchResultMode;
@@ -70,6 +77,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
70
77
  disabled={disabled}
71
78
  onChange={onChange}
72
79
  option2value={option2value}
80
+ itemRender={
81
+ optionItemRender
82
+ ? (item: Option, states: ItemRenderStates) =>
83
+ optionItemRender(item, states, {
84
+ panel: 'result'
85
+ })
86
+ : undefined
87
+ }
73
88
  />
74
89
  ) : mode === 'chained' ? (
75
90
  <ChainedCheckboxes
@@ -80,6 +95,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
80
95
  disabled={disabled}
81
96
  onChange={onChange}
82
97
  option2value={option2value}
98
+ itemRender={
99
+ optionItemRender
100
+ ? (item: Option, states: ItemRenderStates) =>
101
+ optionItemRender(item, states, {
102
+ panel: 'result'
103
+ })
104
+ : undefined
105
+ }
83
106
  />
84
107
  ) : (
85
108
  <ListCheckboxes
@@ -90,6 +113,14 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
90
113
  disabled={disabled}
91
114
  onChange={onChange}
92
115
  option2value={option2value}
116
+ itemRender={
117
+ optionItemRender
118
+ ? (item: Option, states: ItemRenderStates) =>
119
+ optionItemRender(item, states, {
120
+ panel: 'result'
121
+ })
122
+ : undefined
123
+ }
93
124
  />
94
125
  );
95
126
  }
@@ -107,7 +138,8 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
107
138
  option2value,
108
139
  onDeferLoad,
109
140
  cellRender,
110
- translate: __
141
+ translate: __,
142
+ optionItemRender
111
143
  } = this.props;
112
144
 
113
145
  if (!Array.isArray(options) || !options.length) {
@@ -171,6 +203,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
171
203
  onChange={onChange}
172
204
  option2value={option2value}
173
205
  onDeferLoad={onDeferLoad}
206
+ itemRender={
207
+ optionItemRender
208
+ ? (item: Option, states: ItemRenderStates) =>
209
+ optionItemRender(item, states, {
210
+ panel: 'tab',
211
+ tag: option
212
+ })
213
+ : undefined
214
+ }
174
215
  />
175
216
  ) : option.selectMode === 'chained' ? (
176
217
  <ChainedCheckboxes
@@ -182,6 +223,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
182
223
  option2value={option2value}
183
224
  onDeferLoad={onDeferLoad}
184
225
  defaultSelectedIndex={option.defaultSelectedIndex}
226
+ itemRender={
227
+ optionItemRender
228
+ ? (item: Option, states: ItemRenderStates) =>
229
+ optionItemRender(item, states, {
230
+ panel: 'tab',
231
+ tag: option
232
+ })
233
+ : undefined
234
+ }
185
235
  />
186
236
  ) : option.selectMode === 'associated' ? (
187
237
  <AssociatedCheckboxes
@@ -195,6 +245,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
195
245
  leftMode={option.leftMode}
196
246
  leftOptions={option.leftOptions}
197
247
  leftDefaultValue={option.leftDefaultValue}
248
+ itemRender={
249
+ optionItemRender
250
+ ? (item: Option, states: ItemRenderStates) =>
251
+ optionItemRender(item, states, {
252
+ panel: 'tab',
253
+ tag: option
254
+ })
255
+ : undefined
256
+ }
198
257
  />
199
258
  ) : (
200
259
  <ListCheckboxes
@@ -205,6 +264,15 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
205
264
  onChange={onChange}
206
265
  option2value={option2value}
207
266
  onDeferLoad={onDeferLoad}
267
+ itemRender={
268
+ optionItemRender
269
+ ? (item: Option, states: ItemRenderStates) =>
270
+ optionItemRender(item, states, {
271
+ panel: 'tab',
272
+ tag: option
273
+ })
274
+ : undefined
275
+ }
208
276
  />
209
277
  )}
210
278
  </Tab>
@@ -214,12 +282,13 @@ export class TabsTransfer extends React.Component<TabsTransferProps> {
214
282
  }
215
283
 
216
284
  render() {
217
- const {className, classnames: cx} = this.props;
285
+ const {className, classnames: cx, optionItemRender, ...reset} = this.props;
218
286
 
219
287
  return (
220
288
  <Transfer
221
- {...this.props}
289
+ {...reset}
222
290
  statistics={false}
291
+ classnames={cx}
223
292
  className={cx('TabsTransfer', className)}
224
293
  selectRender={this.renderSelect}
225
294
  />