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
@@ -18,6 +18,7 @@ import {ClassNamesFn, themeable, ThemeProps} from '../theme';
18
18
  import {PlainObject} from '../types';
19
19
  import {isMobile, noop, ucFirst} from '../utils/helper';
20
20
  import {LocaleProps, localeable} from '../locale';
21
+ import CalendarMobile from './CalendarMobile';
21
22
 
22
23
  export interface DateRangePickerProps extends ThemeProps, LocaleProps {
23
24
  className?: string;
@@ -287,6 +288,7 @@ export class DateRangePicker extends React.Component<
287
288
  this.handlePopOverClick = this.handlePopOverClick.bind(this);
288
289
  this.renderDay = this.renderDay.bind(this);
289
290
  this.renderQuarter = this.renderQuarter.bind(this);
291
+ this.handleMobileChange = this.handleMobileChange.bind(this);
290
292
  const {format, joinValues, delimiter, value} = this.props;
291
293
 
292
294
  this.state = {
@@ -499,6 +501,16 @@ export class DateRangePicker extends React.Component<
499
501
  );
500
502
  }
501
503
 
504
+ handleMobileChange(data: any, callback?: () => void) {
505
+ this.setState(
506
+ {
507
+ startDate: data.startDate,
508
+ endDate: data.endDate
509
+ },
510
+ callback
511
+ );
512
+ }
513
+
502
514
  selectRannge(range: PlainObject) {
503
515
  const {closeOnSelect, minDate, maxDate} = this.props;
504
516
  const now = moment();
@@ -763,10 +775,22 @@ export class DateRangePicker extends React.Component<
763
775
  embed,
764
776
  overlayPlacement,
765
777
  borderMode,
766
- useMobileUI
778
+ useMobileUI,
779
+ timeFormat,
780
+ minDate,
781
+ maxDate,
782
+ minDuration,
783
+ maxDuration,
784
+ dateFormat,
785
+ viewMode = 'days',
786
+ ranges
767
787
  } = this.props;
788
+ const useCalendarMobile =
789
+ useMobileUI &&
790
+ isMobile() &&
791
+ ['days', 'months', 'quarters'].indexOf(viewMode) > -1;
768
792
 
769
- const {isOpened, isFocused} = this.state;
793
+ const {isOpened, isFocused, startDate, endDate} = this.state;
770
794
 
771
795
  const selectedDate = DateRangePicker.unFormatValue(
772
796
  value,
@@ -785,6 +809,29 @@ export class DateRangePicker extends React.Component<
785
809
  endViewValue && arr.push(endViewValue);
786
810
  const __ = this.props.translate;
787
811
 
812
+ const calendarMobile = (
813
+ <CalendarMobile
814
+ timeFormat={timeFormat}
815
+ inputFormat={inputFormat}
816
+ startDate={startDate}
817
+ endDate={endDate}
818
+ minDate={minDate}
819
+ maxDate={maxDate}
820
+ minDuration={minDuration}
821
+ maxDuration={maxDuration}
822
+ dateFormat={dateFormat}
823
+ embed={embed}
824
+ viewMode={viewMode}
825
+ close={this.close}
826
+ confirm={this.confirm}
827
+ onChange={this.handleMobileChange}
828
+ footerExtra={this.renderRanges(ranges)}
829
+ showViewMode={
830
+ viewMode === 'quarters' || viewMode === 'months' ? 'years' : 'months'
831
+ }
832
+ />
833
+ );
834
+
788
835
  if (embed) {
789
836
  return (
790
837
  <div
@@ -796,11 +843,17 @@ export class DateRangePicker extends React.Component<
796
843
  className
797
844
  )}
798
845
  >
799
- {this.renderCalendar()}
846
+ {useCalendarMobile ? calendarMobile : this.renderCalendar()}
800
847
  </div>
801
848
  );
802
849
  }
803
850
 
851
+ const CalendarMobileTitle = (
852
+ <div className={`${ns}CalendarMobile-title`}>
853
+ {__('Calendar.datepicker')}
854
+ </div>
855
+ );
856
+
804
857
  return (
805
858
  <div
806
859
  tabIndex={0}
@@ -812,7 +865,8 @@ export class DateRangePicker extends React.Component<
812
865
  {
813
866
  'is-disabled': disabled,
814
867
  'is-focused': isFocused,
815
- [`${ns}DateRangePicker--border${ucFirst(borderMode)}`]: borderMode
868
+ [`${ns}DateRangePicker--border${ucFirst(borderMode)}`]: borderMode,
869
+ 'is-mobile': useMobileUI && isMobile()
816
870
  },
817
871
  className
818
872
  )}
@@ -839,37 +893,38 @@ export class DateRangePicker extends React.Component<
839
893
  <Icon icon="clock" className="icon" />
840
894
  </a>
841
895
 
842
- {!(useMobileUI && isMobile()) && isOpened ? (
843
- <Overlay
844
- target={() => this.dom.current}
845
- onHide={this.close}
846
- container={popOverContainer || (() => findDOMNode(this))}
847
- rootClose={false}
848
- placement={overlayPlacement}
849
- show
850
- >
851
- <PopOver
852
- classPrefix={ns}
853
- className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
854
- onHide={this.close}
855
- onClick={this.handlePopOverClick}
856
- overlay
857
- >
858
- {this.renderCalendar()}
859
- </PopOver>
860
- </Overlay>
861
- ) : null}
862
- {
863
- useMobileUI && isMobile() && (
896
+ {isOpened ? (
897
+ useMobileUI && isMobile() ? (
864
898
  <PopUp
865
899
  isShow={isOpened}
866
- className={cx(`${ns}DateRangePicker-popup`)}
867
- onHide={this.handleClick}
900
+ container={popOverContainer}
901
+ className={cx(`${ns}CalendarMobile-pop`)}
902
+ onHide={this.close}
903
+ header={CalendarMobileTitle}
868
904
  >
869
- {this.renderCalendar()}
905
+ {useCalendarMobile ? calendarMobile : this.renderCalendar()}
870
906
  </PopUp>
907
+ ) : (
908
+ <Overlay
909
+ target={() => this.dom.current}
910
+ onHide={this.close}
911
+ container={popOverContainer || (() => findDOMNode(this))}
912
+ rootClose={false}
913
+ placement={overlayPlacement}
914
+ show
915
+ >
916
+ <PopOver
917
+ classPrefix={ns}
918
+ className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
919
+ onHide={this.close}
920
+ onClick={this.handlePopOverClick}
921
+ overlay
922
+ >
923
+ {this.renderCalendar()}
924
+ </PopOver>
925
+ </Overlay>
871
926
  )
872
- }
927
+ ) : null}
873
928
  </div>
874
929
  );
875
930
  }
@@ -27,7 +27,13 @@ export class GroupedSelection extends BaseSelection {
27
27
  className={cx('GroupedSelection-group', option.className)}
28
28
  >
29
29
  <div className={cx('GroupedSelection-itemLabel')}>
30
- {itemRender(option)}
30
+ {itemRender(option, {
31
+ index: index,
32
+ multiple: multiple,
33
+ checked: false,
34
+ onChange: () => undefined,
35
+ disabled: disabled || option.disabled
36
+ })}
31
37
  </div>
32
38
 
33
39
  <div className={cx('GroupedSelection-items', option.className)}>
@@ -52,7 +58,13 @@ export class GroupedSelection extends BaseSelection {
52
58
  onClick={() => this.toggleOption(option)}
53
59
  >
54
60
  <div className={cx('GroupedSelection-itemLabel')}>
55
- {itemRender(option)}
61
+ {itemRender(option, {
62
+ index: index,
63
+ multiple: multiple,
64
+ checked: !!~valueArray.indexOf(option),
65
+ onChange: () => this.toggleOption(option),
66
+ disabled: disabled || option.disabled
67
+ })}
56
68
  </div>
57
69
 
58
70
  {multiple ? (
@@ -20,7 +20,8 @@ import {LocaleProps, localeable} from '../locale';
20
20
  import {DateRangePicker} from './DateRangePicker';
21
21
  import capitalize from 'lodash/capitalize';
22
22
  import {ShortCuts, ShortCutDateRange} from './DatePicker';
23
- import { availableRanges } from './DateRangePicker';
23
+ import {availableRanges} from './DateRangePicker';
24
+ import CalendarMobile from './CalendarMobile';
24
25
 
25
26
  export interface MonthRangePickerProps extends ThemeProps, LocaleProps {
26
27
  className?: string;
@@ -99,6 +100,7 @@ export class MonthRangePicker extends React.Component<
99
100
  this.handleKeyPress = this.handleKeyPress.bind(this);
100
101
  this.handlePopOverClick = this.handlePopOverClick.bind(this);
101
102
  this.renderMonth = this.renderMonth.bind(this);
103
+ this.handleMobileChange = this.handleMobileChange.bind(this);
102
104
  const {format, joinValues, delimiter, value} = this.props;
103
105
 
104
106
  this.state = {
@@ -280,6 +282,16 @@ export class MonthRangePicker extends React.Component<
280
282
  );
281
283
  }
282
284
 
285
+ handleMobileChange(data: any, callback?: () => void) {
286
+ this.setState(
287
+ {
288
+ startDate: data.startDate,
289
+ endDate: data.endDate
290
+ },
291
+ callback
292
+ );
293
+ }
294
+
283
295
  selectRannge(range: PlainObject) {
284
296
  const {closeOnSelect, minDate, maxDate} = this.props;
285
297
  this.setState(
@@ -531,10 +543,17 @@ export class MonthRangePicker extends React.Component<
531
543
  disabled,
532
544
  embed,
533
545
  overlayPlacement,
534
- useMobileUI
546
+ useMobileUI,
547
+ timeFormat,
548
+ minDate,
549
+ maxDate,
550
+ minDuration,
551
+ maxDuration,
552
+ ranges
535
553
  } = this.props;
554
+ const mobileUI = isMobile() && useMobileUI;
536
555
 
537
- const {isOpened, isFocused} = this.state;
556
+ const {isOpened, isFocused, startDate, endDate} = this.state;
538
557
 
539
558
  const selectedDate = DateRangePicker.unFormatValue(
540
559
  value,
@@ -553,6 +572,26 @@ export class MonthRangePicker extends React.Component<
553
572
  endViewValue && arr.push(endViewValue);
554
573
  const __ = this.props.translate;
555
574
 
575
+ const calendarMobile = (
576
+ <CalendarMobile
577
+ timeFormat={timeFormat}
578
+ inputFormat={inputFormat}
579
+ startDate={startDate}
580
+ endDate={endDate}
581
+ minDate={minDate}
582
+ maxDate={maxDate}
583
+ minDuration={minDuration}
584
+ maxDuration={maxDuration}
585
+ embed={embed}
586
+ viewMode="months"
587
+ close={this.close}
588
+ confirm={this.confirm}
589
+ onChange={this.handleMobileChange}
590
+ footerExtra={this.renderRanges(ranges)}
591
+ showViewMode="years"
592
+ />
593
+ );
594
+
556
595
  if (embed) {
557
596
  return (
558
597
  <div
@@ -564,11 +603,17 @@ export class MonthRangePicker extends React.Component<
564
603
  className
565
604
  )}
566
605
  >
567
- {this.renderCalendar()}
606
+ {mobileUI ? calendarMobile : this.renderCalendar()}
568
607
  </div>
569
608
  );
570
609
  }
571
610
 
611
+ const CalendarMobileTitle = (
612
+ <div className={`${ns}CalendarMobile-title`}>
613
+ {__('Calendar.datepicker')}
614
+ </div>
615
+ );
616
+
572
617
  return (
573
618
  <div
574
619
  tabIndex={0}
@@ -579,7 +624,8 @@ export class MonthRangePicker extends React.Component<
579
624
  `${ns}DateRangePicker`,
580
625
  {
581
626
  'is-disabled': disabled,
582
- 'is-focused': isFocused
627
+ 'is-focused': isFocused,
628
+ 'is-mobile': useMobileUI && isMobile()
583
629
  },
584
630
  className
585
631
  )}
@@ -606,37 +652,38 @@ export class MonthRangePicker extends React.Component<
606
652
  <Icon icon="clock" className="icon" />
607
653
  </a>
608
654
 
609
- {!(useMobileUI && isMobile()) && isOpened ? (
610
- <Overlay
611
- target={() => this.dom.current}
612
- onHide={this.close}
613
- container={popOverContainer || (() => findDOMNode(this))}
614
- rootClose={false}
615
- placement={overlayPlacement}
616
- show
617
- >
618
- <PopOver
619
- classPrefix={ns}
620
- className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
621
- onHide={this.close}
622
- onClick={this.handlePopOverClick}
623
- overlay
624
- >
625
- {this.renderCalendar()}
626
- </PopOver>
627
- </Overlay>
628
- ) : null}
629
- {
630
- useMobileUI && isMobile() && (
655
+ {isOpened ? (
656
+ mobileUI ? (
631
657
  <PopUp
632
- className={cx(`${ns}DateRangePicker-popup`)}
633
658
  isShow={isOpened}
634
- onHide={this.handleClick}
659
+ container={popOverContainer}
660
+ className={cx(`${ns}CalendarMobile-pop`)}
661
+ onHide={this.close}
662
+ header={CalendarMobileTitle}
635
663
  >
636
- {this.renderCalendar()}
664
+ {calendarMobile}
637
665
  </PopUp>
666
+ ) : (
667
+ <Overlay
668
+ target={() => this.dom.current}
669
+ onHide={this.close}
670
+ container={popOverContainer || (() => findDOMNode(this))}
671
+ rootClose={false}
672
+ placement={overlayPlacement}
673
+ show
674
+ >
675
+ <PopOver
676
+ classPrefix={ns}
677
+ className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
678
+ onHide={this.close}
679
+ onClick={this.handlePopOverClick}
680
+ overlay
681
+ >
682
+ {this.renderCalendar()}
683
+ </PopOver>
684
+ </Overlay>
638
685
  )
639
- }
686
+ ) : null}
640
687
  </div>
641
688
  );
642
689
  }
@@ -165,7 +165,7 @@ class Position extends React.Component<any, any> {
165
165
  interface OverlayProps {
166
166
  placement?: string;
167
167
  show?: boolean;
168
- transition?: React.ReactType;
168
+ transition?: React.ElementType;
169
169
  containerPadding?: number;
170
170
  shouldUpdatePosition?: boolean;
171
171
  rootClose?: boolean;
@@ -5,7 +5,8 @@
5
5
  import React, {
6
6
  memo,
7
7
  ReactNode,
8
- useState
8
+ useState,
9
+ useEffect
9
10
  } from 'react';
10
11
  import {uncontrollable} from 'uncontrollable';
11
12
 
@@ -18,8 +19,9 @@ import {PickerColumnItem, default as Column} from './PickerColumn';
18
19
  export type PickerValue = string | number;
19
20
 
20
21
  export interface PickerProps extends ThemeProps, LocaleProps {
21
- title?: String | ReactNode,
22
+ title?: String | ReactNode;
22
23
  labelField?: string;
24
+ valueField?: string;
23
25
  className?: string;
24
26
  showToolbar?: boolean;
25
27
  defaultValue?: PickerValue[];
@@ -28,17 +30,9 @@ export interface PickerProps extends ThemeProps, LocaleProps {
28
30
  visibleItemCount?: number;
29
31
  itemHeight?: number;
30
32
  columns: PickerColumnItem[] | PickerColumnItem;
31
- onChange?: (
32
- value?: PickerValue[],
33
- index?: number,
34
- confirm?: boolean
35
- ) => void;
36
- onClose?: (
37
- value?: PickerValue[]
38
- ) => void;
39
- onConfirm?: (
40
- value?: PickerValue[]
41
- ) => void;
33
+ onChange?: (value?: PickerValue[], index?: number, confirm?: boolean) => void;
34
+ onClose?: (value?: PickerValue[]) => void;
35
+ onConfirm?: (value?: PickerValue[]) => void;
42
36
  }
43
37
 
44
38
  function fixToArray(data: any) {
@@ -48,16 +42,18 @@ function fixToArray(data: any) {
48
42
  return data;
49
43
  }
50
44
 
51
- const Picker = memo<PickerProps>((props) => {
45
+ const Picker = memo<PickerProps>(props => {
52
46
  const {
47
+ title,
53
48
  labelField,
49
+ valueField,
54
50
  visibleItemCount = 5,
55
51
  value = [],
56
52
  swipeDuration = 1000,
57
53
  columns = [],
58
- itemHeight = 30,
54
+ itemHeight = 48,
59
55
  showToolbar = true,
60
- className='',
56
+ className = '',
61
57
  classnames: cx,
62
58
  classPrefix: ns,
63
59
  translate: __
@@ -65,9 +61,14 @@ const Picker = memo<PickerProps>((props) => {
65
61
 
66
62
  const _columns = fixToArray(columns);
67
63
  const [innerValue, setInnerValue] = useState<PickerValue[]>(
68
- fixToArray(props.value === undefined ? props.defaultValue || [] : value )
64
+ fixToArray(props.value === undefined ? props.defaultValue || [] : value)
69
65
  );
70
66
 
67
+ useEffect(() => {
68
+ if (value === innerValue) return
69
+ setInnerValue(fixToArray(value));
70
+ }, [value])
71
+
71
72
  const close = () => {
72
73
  if (props.onClose) {
73
74
  props.onClose(innerValue);
@@ -80,7 +81,11 @@ const Picker = memo<PickerProps>((props) => {
80
81
  }
81
82
  };
82
83
 
83
- const onChange = (itemValue: PickerValue, columnIndex: number, confirm?: boolean) => {
84
+ const onChange = (
85
+ itemValue: PickerValue,
86
+ columnIndex: number,
87
+ confirm?: boolean
88
+ ) => {
84
89
  const nextInnerValue = [...innerValue];
85
90
  nextInnerValue[columnIndex] = itemValue;
86
91
  setInnerValue(nextInnerValue);
@@ -95,7 +100,8 @@ const Picker = memo<PickerProps>((props) => {
95
100
  {...item}
96
101
  classnames={cx}
97
102
  classPrefix={ns}
98
- labelField={labelField}
103
+ labelField={labelField || item.labelField}
104
+ valueField={valueField || item.valueField}
99
105
  itemHeight={itemHeight}
100
106
  swipeDuration={swipeDuration}
101
107
  visibleItemCount={visibleItemCount}
@@ -103,7 +109,9 @@ const Picker = memo<PickerProps>((props) => {
103
109
  onChange={(val: string | number, i, confirm) => {
104
110
  onChange(val, index, confirm);
105
111
  }}
106
- />)
112
+ key={`column${index}`}
113
+ />
114
+ );
107
115
  };
108
116
 
109
117
  const wrapHeight = itemHeight * +visibleItemCount;
@@ -112,23 +120,35 @@ const Picker = memo<PickerProps>((props) => {
112
120
  const maskStyle = {
113
121
  backgroundSize: `100% ${(wrapHeight - itemHeight) / 2}px`
114
122
  };
115
-
123
+ const hasHeader = showToolbar || title;
116
124
  return (
117
- <div
118
- className={cx(className, 'PickerColumns', 'PickerColumns-popOver')}
119
- >
120
- {showToolbar && <div className={cx('PickerColumns-toolbar')}>
121
- <Button className="PickerColumns-cancel" level="default" onClick={close}>
122
- {__('cancel')}
123
- </Button>
124
- <Button className="PickerColumns-confirm" level="primary" onClick={confirm}>
125
- {__('confirm')}
126
- </Button>
127
- </div>}
125
+ <div className={cx(className, 'PickerColumns', 'PickerColumns-popOver')}>
126
+ {hasHeader && (<div className={cx('PickerColumns-header')}>
127
+ {showToolbar && (<Button
128
+ className="PickerColumns-cancel"
129
+ level="default"
130
+ onClick={close}
131
+ >
132
+ {__('cancel')}
133
+ </Button>)}
134
+ {title && (
135
+ <div className={cx('PickerColumns-title')}>
136
+ {title}
137
+ </div>
138
+ )}
139
+ {showToolbar && (<Button
140
+ className="PickerColumns-confirm"
141
+ level="primary"
142
+ onClick={confirm}
143
+ >
144
+ {__('confirm')}
145
+ </Button>)}
146
+ </div>
147
+ )}
128
148
  <div className={cx('PickerColumns-columns')} style={columnsStyle}>
129
- {
130
- _columns.map((column: PickerColumnItem, index: number) => renderColumnItem(column, index))
131
- }
149
+ {_columns.map((column: PickerColumnItem, index: number) =>
150
+ renderColumnItem(column, index)
151
+ )}
132
152
  <div className={cx('PickerColumns-mask')} style={maskStyle}></div>
133
153
  <div className={cx('PickerColumns-frame')} style={frameStyle}></div>
134
154
  </div>