amis 1.5.6-beta.5 → 1.6.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 (435) hide show
  1. package/.husky/pre-commit +1 -1
  2. package/lib/Schema.d.ts +3 -2
  3. package/lib/Schema.js.map +1 -1
  4. package/lib/components/AssociatedSelection.d.ts +84 -84
  5. package/lib/components/AssociatedSelection.js +2 -2
  6. package/lib/components/AssociatedSelection.js.map +2 -2
  7. package/lib/components/Avatar.d.ts +135 -0
  8. package/lib/components/Avatar.js +120 -0
  9. package/lib/components/Avatar.js.map +13 -0
  10. package/lib/components/BaiduMapPicker.js.map +2 -2
  11. package/lib/components/CalendarMobile.d.ts +547 -0
  12. package/lib/components/CalendarMobile.js +432 -0
  13. package/lib/components/CalendarMobile.js.map +13 -0
  14. package/lib/components/Card.js +1 -1
  15. package/lib/components/Card.js.map +2 -2
  16. package/lib/components/Cascader.d.ts +123 -0
  17. package/lib/components/Cascader.js +487 -0
  18. package/lib/components/Cascader.js.map +13 -0
  19. package/lib/components/ChainedSelection.d.ts +84 -84
  20. package/lib/components/ChainedSelection.js +15 -3
  21. package/lib/components/ChainedSelection.js.map +2 -2
  22. package/lib/components/CityArea.d.ts +527 -0
  23. package/lib/components/CityArea.js +177 -0
  24. package/lib/components/CityArea.js.map +13 -0
  25. package/lib/components/Collapse.js +1 -1
  26. package/lib/components/Collapse.js.map +2 -2
  27. package/lib/components/ColorPicker.d.ts +84 -84
  28. package/lib/components/ColorPicker.js +4 -3
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +85 -84
  31. package/lib/components/DatePicker.js +15 -8
  32. package/lib/components/DatePicker.js.map +2 -2
  33. package/lib/components/DateRangePicker.d.ts +85 -84
  34. package/lib/components/DateRangePicker.js +18 -6
  35. package/lib/components/DateRangePicker.js.map +2 -2
  36. package/lib/components/GroupedSelection.d.ts +84 -84
  37. package/lib/components/GroupedSelection.js +14 -2
  38. package/lib/components/GroupedSelection.js.map +2 -2
  39. package/lib/components/MonthRangePicker.d.ts +85 -84
  40. package/lib/components/MonthRangePicker.js +16 -6
  41. package/lib/components/MonthRangePicker.js.map +2 -2
  42. package/lib/components/Overlay.d.ts +1 -1
  43. package/lib/components/Overlay.js.map +1 -1
  44. package/lib/components/Picker.d.ts +1 -0
  45. package/lib/components/Picker.js +16 -7
  46. package/lib/components/Picker.js.map +2 -2
  47. package/lib/components/PickerColumn.d.ts +1 -0
  48. package/lib/components/PickerColumn.js +21 -18
  49. package/lib/components/PickerColumn.js.map +2 -2
  50. package/lib/components/PickerContainer.d.ts +3 -0
  51. package/lib/components/PickerContainer.js +12 -5
  52. package/lib/components/PickerContainer.js.map +2 -2
  53. package/lib/components/PopOverContainer.d.ts +1 -0
  54. package/lib/components/PopOverContainer.js +5 -3
  55. package/lib/components/PopOverContainer.js.map +2 -2
  56. package/lib/components/PopUp.d.ts +1041 -28
  57. package/lib/components/PopUp.js +32 -8
  58. package/lib/components/PopUp.js.map +2 -2
  59. package/lib/components/Rating.d.ts +203 -73
  60. package/lib/components/Rating.js +147 -31
  61. package/lib/components/Rating.js.map +2 -2
  62. package/lib/components/ResultBox.d.ts +85 -84
  63. package/lib/components/ResultBox.js +9 -4
  64. package/lib/components/ResultBox.js.map +2 -2
  65. package/lib/components/ResultList.d.ts +9 -2
  66. package/lib/components/ResultList.js +22 -2
  67. package/lib/components/ResultList.js.map +2 -2
  68. package/lib/components/Select.d.ts +237 -237
  69. package/lib/components/Select.js +9 -6
  70. package/lib/components/Select.js.map +2 -2
  71. package/lib/components/Selection.d.ts +94 -86
  72. package/lib/components/Selection.js +11 -2
  73. package/lib/components/Selection.js.map +2 -2
  74. package/lib/components/Steps.js.map +2 -2
  75. package/lib/components/TableSelection.d.ts +85 -85
  76. package/lib/components/TableSelection.js +1 -9
  77. package/lib/components/TableSelection.js.map +2 -2
  78. package/lib/components/Tabs.js +31 -33
  79. package/lib/components/Tabs.js.map +2 -2
  80. package/lib/components/TabsTransfer.d.ts +87 -256
  81. package/lib/components/TabsTransfer.js +52 -9
  82. package/lib/components/TabsTransfer.js.map +2 -2
  83. package/lib/components/TabsTransferPicker.d.ts +1 -1
  84. package/lib/components/TabsTransferPicker.js +20 -18
  85. package/lib/components/TabsTransferPicker.js.map +2 -2
  86. package/lib/components/Timeline.d.ts +69 -0
  87. package/lib/components/Timeline.js +16 -0
  88. package/lib/components/Timeline.js.map +13 -0
  89. package/lib/components/TimelineItem.d.ts +516 -0
  90. package/lib/components/TimelineItem.js +41 -0
  91. package/lib/components/TimelineItem.js.map +13 -0
  92. package/lib/components/Transfer.d.ts +100 -98
  93. package/lib/components/Transfer.js +2 -3
  94. package/lib/components/Transfer.js.map +2 -2
  95. package/lib/components/TransferDropDown.d.ts +85 -84
  96. package/lib/components/TransferDropDown.js +9 -10
  97. package/lib/components/TransferDropDown.js.map +2 -2
  98. package/lib/components/TransferPicker.d.ts +1 -0
  99. package/lib/components/TransferPicker.js +19 -4
  100. package/lib/components/TransferPicker.js.map +2 -2
  101. package/lib/components/TreeSelection.d.ts +85 -85
  102. package/lib/components/TreeSelection.js +7 -1
  103. package/lib/components/TreeSelection.js.map +2 -2
  104. package/lib/components/calendar/Calendar.d.ts +19 -0
  105. package/lib/components/calendar/Calendar.js +71 -1
  106. package/lib/components/calendar/Calendar.js.map +2 -2
  107. package/lib/components/calendar/DaysView.d.ts +21 -0
  108. package/lib/components/calendar/DaysView.js +76 -17
  109. package/lib/components/calendar/DaysView.js.map +2 -2
  110. package/lib/components/calendar/MonthsView.d.ts +34 -0
  111. package/lib/components/calendar/MonthsView.js +68 -3
  112. package/lib/components/calendar/MonthsView.js.map +2 -2
  113. package/lib/components/calendar/QuartersView.d.ts +1 -0
  114. package/lib/components/calendar/QuartersView.js +2 -2
  115. package/lib/components/calendar/QuartersView.js.map +2 -2
  116. package/lib/components/calendar/TimeView.d.ts +30 -18
  117. package/lib/components/calendar/TimeView.js +47 -8
  118. package/lib/components/calendar/TimeView.js.map +2 -2
  119. package/lib/components/calendar/YearsView.d.ts +6 -0
  120. package/lib/components/calendar/YearsView.js +21 -10
  121. package/lib/components/calendar/YearsView.js.map +2 -2
  122. package/lib/components/condition-builder/Field.js +1 -4
  123. package/lib/components/condition-builder/Field.js.map +2 -2
  124. package/lib/components/condition-builder/Func.js +1 -1
  125. package/lib/components/condition-builder/Func.js.map +2 -2
  126. package/lib/components/formula/Editor.d.ts +3 -0
  127. package/lib/components/formula/Editor.js +3 -2
  128. package/lib/components/formula/Editor.js.map +2 -2
  129. package/lib/components/formula/FuncList.js +2 -1
  130. package/lib/components/formula/FuncList.js.map +2 -2
  131. package/lib/components/formula/Picker.js +1 -1
  132. package/lib/components/formula/Picker.js.map +2 -2
  133. package/lib/components/icons.js +4 -0
  134. package/lib/components/icons.js.map +2 -2
  135. package/lib/components/index.d.ts +2 -1
  136. package/lib/components/index.js +4 -2
  137. package/lib/components/index.js.map +2 -2
  138. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  139. package/lib/components/virtual-list/index.js +1 -2
  140. package/lib/components/virtual-list/index.js.map +2 -2
  141. package/lib/factory.js +5 -0
  142. package/lib/factory.js.map +2 -2
  143. package/lib/icons/star.js +12 -0
  144. package/lib/icons/tree-down.js +7 -0
  145. package/lib/index.d.ts +1 -0
  146. package/lib/index.js +2 -1
  147. package/lib/index.js.map +2 -2
  148. package/lib/locale/de-DE.js +17 -2
  149. package/lib/locale/de-DE.js.map +2 -2
  150. package/lib/locale/en-US.js +17 -2
  151. package/lib/locale/en-US.js.map +2 -2
  152. package/lib/locale/zh-CN.js +16 -1
  153. package/lib/locale/zh-CN.js.map +2 -2
  154. package/lib/renderers/Avatar.d.ts +35 -26
  155. package/lib/renderers/Avatar.js +14 -19
  156. package/lib/renderers/Avatar.js.map +2 -2
  157. package/lib/renderers/CRUD.js +1 -2
  158. package/lib/renderers/CRUD.js.map +2 -2
  159. package/lib/renderers/Card.js +6 -5
  160. package/lib/renderers/Card.js.map +2 -2
  161. package/lib/renderers/Custom.js.map +2 -2
  162. package/lib/renderers/DropDownButton.d.ts +11 -2
  163. package/lib/renderers/DropDownButton.js +30 -12
  164. package/lib/renderers/DropDownButton.js.map +2 -2
  165. package/lib/renderers/Each.js +5 -2
  166. package/lib/renderers/Each.js.map +2 -2
  167. package/lib/renderers/Flex.js +1 -5
  168. package/lib/renderers/Flex.js.map +2 -2
  169. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  170. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  171. package/lib/renderers/Form/CityDB.js +526 -2
  172. package/lib/renderers/Form/CityDB.js.map +2 -2
  173. package/lib/renderers/Form/DiffEditor.js +2 -1
  174. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  175. package/lib/renderers/Form/InputCity.d.ts +85 -84
  176. package/lib/renderers/Form/InputCity.js +4 -2
  177. package/lib/renderers/Form/InputCity.js.map +2 -2
  178. package/lib/renderers/Form/InputColor.d.ts +84 -84
  179. package/lib/renderers/Form/InputColor.js +6 -2
  180. package/lib/renderers/Form/InputColor.js.map +2 -2
  181. package/lib/renderers/Form/InputDate.js +10 -5
  182. package/lib/renderers/Form/InputDate.js.map +2 -2
  183. package/lib/renderers/Form/InputDateRange.js +6 -2
  184. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  185. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  186. package/lib/renderers/Form/InputFormula.js +2 -2
  187. package/lib/renderers/Form/InputFormula.js.map +2 -2
  188. package/lib/renderers/Form/InputImage.d.ts +1 -0
  189. package/lib/renderers/Form/InputImage.js +8 -4
  190. package/lib/renderers/Form/InputImage.js.map +2 -2
  191. package/lib/renderers/Form/InputMonthRange.js +1 -1
  192. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  193. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  194. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  195. package/lib/renderers/Form/InputRating.d.ts +37 -0
  196. package/lib/renderers/Form/InputRating.js +6 -2
  197. package/lib/renderers/Form/InputRating.js.map +2 -2
  198. package/lib/renderers/Form/InputYearRange.js +1 -1
  199. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +10 -14
  201. package/lib/renderers/Form/Item.js +18 -9
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  204. package/lib/renderers/Form/NestedSelect.js +8 -4
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Select.d.ts +2 -0
  207. package/lib/renderers/Form/Select.js +7 -4
  208. package/lib/renderers/Form/Select.js.map +2 -2
  209. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  210. package/lib/renderers/Form/TabsTransfer.js +20 -1
  211. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  212. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  213. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  214. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  215. package/lib/renderers/Form/Transfer.d.ts +15 -4
  216. package/lib/renderers/Form/Transfer.js +55 -18
  217. package/lib/renderers/Form/Transfer.js.map +2 -2
  218. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  219. package/lib/renderers/Form/TransferPicker.js +1 -1
  220. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  221. package/lib/renderers/Form/TreeSelect.js +4 -4
  222. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  223. package/lib/renderers/Form/index.js +2 -1
  224. package/lib/renderers/Form/index.js.map +2 -2
  225. package/lib/renderers/IFrame.js +0 -2
  226. package/lib/renderers/IFrame.js.map +2 -2
  227. package/lib/renderers/Json.js +7 -0
  228. package/lib/renderers/Json.js.map +2 -2
  229. package/lib/renderers/Nav.js +4 -1
  230. package/lib/renderers/Nav.js.map +2 -2
  231. package/lib/renderers/Remark.d.ts +4 -0
  232. package/lib/renderers/Remark.js +39 -7
  233. package/lib/renderers/Remark.js.map +2 -2
  234. package/lib/renderers/Steps.js +5 -5
  235. package/lib/renderers/Steps.js.map +2 -2
  236. package/lib/renderers/Table/TableRow.js +4 -1
  237. package/lib/renderers/Table/TableRow.js.map +2 -2
  238. package/lib/renderers/Table/index.js +4 -1
  239. package/lib/renderers/Table/index.js.map +2 -2
  240. package/lib/renderers/Tabs.js +1 -1
  241. package/lib/renderers/Tabs.js.map +2 -2
  242. package/lib/renderers/Timeline.d.ts +65 -0
  243. package/lib/renderers/Timeline.js +54 -0
  244. package/lib/renderers/Timeline.js.map +13 -0
  245. package/lib/renderers/Video.js.map +2 -2
  246. package/lib/schemaExtend.js +23 -9
  247. package/lib/schemaExtend.js.map +2 -2
  248. package/lib/store/combo.js.map +2 -2
  249. package/lib/store/formItem.js +6 -6
  250. package/lib/store/formItem.js.map +2 -2
  251. package/lib/store/table.js +1 -1
  252. package/lib/store/table.js.map +2 -2
  253. package/lib/themes/ang-ie11.css +1018 -67
  254. package/lib/themes/ang.css +1018 -67
  255. package/lib/themes/ang.css.map +1 -1
  256. package/lib/themes/antd-ie11.css +1053 -67
  257. package/lib/themes/antd.css +1053 -67
  258. package/lib/themes/antd.css.map +1 -1
  259. package/lib/themes/cxd-ie11.css +1058 -78
  260. package/lib/themes/cxd.css +1058 -78
  261. package/lib/themes/cxd.css.map +1 -1
  262. package/lib/themes/dark-ie11.css +1019 -67
  263. package/lib/themes/dark.css +1019 -67
  264. package/lib/themes/dark.css.map +1 -1
  265. package/lib/themes/default.css +1058 -78
  266. package/lib/themes/default.css.map +1 -1
  267. package/lib/utils/RootClose.js +3 -1
  268. package/lib/utils/RootClose.js.map +2 -2
  269. package/lib/utils/helper.d.ts +1 -6
  270. package/lib/utils/helper.js +6 -17
  271. package/lib/utils/helper.js.map +2 -2
  272. package/package.json +12 -6
  273. package/schema.json +3696 -971
  274. package/scss/_properties.scss +21 -7
  275. package/scss/components/_avatar.scss +27 -9
  276. package/scss/components/_calendar.scss +287 -0
  277. package/scss/components/_card.scss +1 -1
  278. package/scss/components/_cascader.scss +102 -0
  279. package/scss/components/_city-area.scss +27 -0
  280. package/scss/components/_collapse-group.scss +1 -3
  281. package/scss/components/_dropdown.scss +39 -9
  282. package/scss/components/_formula.scss +30 -6
  283. package/scss/components/_modal.scss +18 -0
  284. package/scss/components/_panel.scss +45 -0
  285. package/scss/components/_picker-columns.scss +15 -5
  286. package/scss/components/_popup.scss +42 -15
  287. package/scss/components/_result-box.scss +31 -0
  288. package/scss/components/_timeline.scss +198 -0
  289. package/scss/components/form/_checks.scss +2 -0
  290. package/scss/components/form/_color.scss +2 -2
  291. package/scss/components/form/_date-range.scss +1 -1
  292. package/scss/components/form/_date.scss +46 -1
  293. package/scss/components/form/_form.scss +168 -0
  294. package/scss/components/form/_nested-select.scss +3 -0
  295. package/scss/components/form/_rating.scss +60 -21
  296. package/scss/components/form/_result-list.scss +2 -0
  297. package/scss/components/form/_select.scss +32 -3
  298. package/scss/components/form/_selection.scss +5 -4
  299. package/scss/components/form/_transfer.scss +3 -0
  300. package/scss/components/form/_tree-select.scss +1 -1
  301. package/scss/themes/_antd-variables.scss +42 -0
  302. package/scss/themes/_common.scss +3 -0
  303. package/scss/themes/_cxd-variables.scss +51 -2
  304. package/scss/themes/_dark-variables.scss +1 -0
  305. package/scss/themes/cxd.scss +0 -12
  306. package/sdk/ang-ie11.css +1278 -141
  307. package/sdk/ang.css +1296 -153
  308. package/sdk/antd-ie11.css +1278 -141
  309. package/sdk/antd.css +1331 -153
  310. package/sdk/charts.js +14 -14
  311. package/sdk/codemirror.js +7 -7
  312. package/sdk/color-picker.js +65 -65
  313. package/sdk/cropperjs.js +2 -2
  314. package/sdk/cxd-ie11.css +1258 -132
  315. package/sdk/cxd.css +1338 -168
  316. package/sdk/dark-ie11.css +1278 -141
  317. package/sdk/dark.css +1297 -153
  318. package/sdk/exceljs.js +1 -1
  319. package/sdk/locale/de-DE.js +17 -2
  320. package/sdk/markdown.js +69 -69
  321. package/sdk/papaparse.js +1 -1
  322. package/sdk/renderers/Form/CityDB.js +1 -1
  323. package/sdk/rest.js +18 -18
  324. package/sdk/rich-text.js +62 -62
  325. package/sdk/sdk-ie11.css +1258 -132
  326. package/sdk/sdk.css +1338 -168
  327. package/sdk/sdk.js +1242 -1218
  328. package/sdk/thirds/hls.js/hls.js +1 -1
  329. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  330. package/sdk/tinymce.js +57 -57
  331. package/src/Schema.ts +3 -0
  332. package/src/components/AssociatedSelection.tsx +5 -1
  333. package/src/components/Avatar.tsx +253 -0
  334. package/src/components/BaiduMapPicker.tsx +19 -14
  335. package/src/components/CalendarMobile.tsx +563 -0
  336. package/src/components/Card.tsx +2 -2
  337. package/src/components/Cascader.tsx +564 -0
  338. package/src/components/ChainedSelection.tsx +16 -3
  339. package/src/components/CityArea.tsx +315 -0
  340. package/src/components/Collapse.tsx +1 -1
  341. package/src/components/ColorPicker.tsx +41 -40
  342. package/src/components/DatePicker.tsx +54 -38
  343. package/src/components/DateRangePicker.tsx +83 -29
  344. package/src/components/GroupedSelection.tsx +14 -2
  345. package/src/components/MonthRangePicker.tsx +76 -30
  346. package/src/components/Overlay.tsx +1 -1
  347. package/src/components/Picker.tsx +55 -35
  348. package/src/components/PickerColumn.tsx +43 -36
  349. package/src/components/PickerContainer.tsx +13 -1
  350. package/src/components/PopOverContainer.tsx +31 -17
  351. package/src/components/PopUp.tsx +84 -57
  352. package/src/components/Rating.tsx +235 -47
  353. package/src/components/ResultBox.tsx +14 -2
  354. package/src/components/ResultList.tsx +36 -6
  355. package/src/components/Select.tsx +20 -23
  356. package/src/components/Selection.tsx +21 -3
  357. package/src/components/Steps.tsx +23 -10
  358. package/src/components/TableSelection.tsx +1 -44
  359. package/src/components/Tabs.tsx +65 -54
  360. package/src/components/TabsTransfer.tsx +78 -9
  361. package/src/components/TabsTransferPicker.tsx +25 -13
  362. package/src/components/Timeline.tsx +31 -0
  363. package/src/components/TimelineItem.tsx +107 -0
  364. package/src/components/Transfer.tsx +11 -8
  365. package/src/components/TransferDropDown.tsx +20 -12
  366. package/src/components/TransferPicker.tsx +25 -4
  367. package/src/components/TreeSelection.tsx +7 -1
  368. package/src/components/calendar/Calendar.tsx +101 -4
  369. package/src/components/calendar/DaysView.tsx +165 -33
  370. package/src/components/calendar/MonthsView.tsx +108 -1
  371. package/src/components/calendar/QuartersView.tsx +3 -2
  372. package/src/components/calendar/TimeView.tsx +104 -41
  373. package/src/components/calendar/YearsView.tsx +34 -17
  374. package/src/components/condition-builder/Field.tsx +1 -3
  375. package/src/components/condition-builder/Func.tsx +1 -1
  376. package/src/components/formula/Editor.tsx +16 -11
  377. package/src/components/formula/FuncList.tsx +3 -1
  378. package/src/components/formula/Picker.tsx +2 -1
  379. package/src/components/icons.tsx +4 -0
  380. package/src/components/index.tsx +2 -0
  381. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  382. package/src/components/virtual-list/index.tsx +4 -6
  383. package/src/factory.tsx +6 -0
  384. package/src/icons/star.svg +12 -0
  385. package/src/icons/tree-down.svg +5 -0
  386. package/src/index.tsx +1 -0
  387. package/src/locale/de-DE.ts +17 -2
  388. package/src/locale/en-US.ts +17 -2
  389. package/src/locale/zh-CN.ts +16 -1
  390. package/src/renderers/Avatar.tsx +83 -74
  391. package/src/renderers/CRUD.tsx +1 -3
  392. package/src/renderers/Card.tsx +10 -6
  393. package/src/renderers/Custom.tsx +6 -3
  394. package/src/renderers/DropDownButton.tsx +69 -35
  395. package/src/renderers/Each.tsx +4 -4
  396. package/src/renderers/Flex.tsx +3 -7
  397. package/src/renderers/Form/ChartRadios.tsx +2 -7
  398. package/src/renderers/Form/Checkboxes.tsx +1 -1
  399. package/src/renderers/Form/CityDB.ts +526 -2
  400. package/src/renderers/Form/DiffEditor.tsx +2 -3
  401. package/src/renderers/Form/InputCity.tsx +23 -3
  402. package/src/renderers/Form/InputColor.tsx +21 -2
  403. package/src/renderers/Form/InputDate.tsx +48 -20
  404. package/src/renderers/Form/InputDateRange.tsx +9 -2
  405. package/src/renderers/Form/InputFormula.tsx +9 -4
  406. package/src/renderers/Form/InputImage.tsx +9 -4
  407. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  408. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  409. package/src/renderers/Form/InputRating.tsx +66 -3
  410. package/src/renderers/Form/InputYearRange.tsx +0 -1
  411. package/src/renderers/Form/Item.tsx +29 -8
  412. package/src/renderers/Form/NestedSelect.tsx +32 -4
  413. package/src/renderers/Form/Select.tsx +15 -3
  414. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  415. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  416. package/src/renderers/Form/Transfer.tsx +75 -24
  417. package/src/renderers/Form/TransferPicker.tsx +6 -38
  418. package/src/renderers/Form/TreeSelect.tsx +18 -16
  419. package/src/renderers/Form/index.tsx +2 -1
  420. package/src/renderers/IFrame.tsx +0 -2
  421. package/src/renderers/Json.tsx +5 -0
  422. package/src/renderers/Nav.tsx +4 -1
  423. package/src/renderers/Remark.tsx +68 -18
  424. package/src/renderers/Steps.tsx +11 -13
  425. package/src/renderers/Table/TableRow.tsx +3 -1
  426. package/src/renderers/Table/index.tsx +7 -1
  427. package/src/renderers/Tabs.tsx +6 -2
  428. package/src/renderers/Timeline.tsx +141 -0
  429. package/src/renderers/Video.tsx +4 -20
  430. package/src/schemaExtend.ts +22 -10
  431. package/src/store/combo.ts +1 -3
  432. package/src/store/formItem.ts +2 -2
  433. package/src/store/table.ts +2 -1
  434. package/src/utils/RootClose.ts +5 -1
  435. package/src/utils/helper.ts +6 -16
@@ -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}
@@ -839,37 +892,38 @@ export class DateRangePicker extends React.Component<
839
892
  <Icon icon="clock" className="icon" />
840
893
  </a>
841
894
 
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() && (
895
+ {isOpened ? (
896
+ useMobileUI && isMobile() ? (
864
897
  <PopUp
865
898
  isShow={isOpened}
866
- className={cx(`${ns}DateRangePicker-popup`)}
867
- onHide={this.handleClick}
899
+ container={popOverContainer}
900
+ className={cx(`${ns}CalendarMobile-pop`)}
901
+ onHide={this.close}
902
+ header={CalendarMobileTitle}
868
903
  >
869
- {this.renderCalendar()}
904
+ {useCalendarMobile ? calendarMobile : this.renderCalendar()}
870
905
  </PopUp>
906
+ ) : (
907
+ <Overlay
908
+ target={() => this.dom.current}
909
+ onHide={this.close}
910
+ container={popOverContainer || (() => findDOMNode(this))}
911
+ rootClose={false}
912
+ placement={overlayPlacement}
913
+ show
914
+ >
915
+ <PopOver
916
+ classPrefix={ns}
917
+ className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
918
+ onHide={this.close}
919
+ onClick={this.handlePopOverClick}
920
+ overlay
921
+ >
922
+ {this.renderCalendar()}
923
+ </PopOver>
924
+ </Overlay>
871
925
  )
872
- }
926
+ ) : null}
873
927
  </div>
874
928
  );
875
929
  }
@@ -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}
@@ -606,37 +651,38 @@ export class MonthRangePicker extends React.Component<
606
651
  <Icon icon="clock" className="icon" />
607
652
  </a>
608
653
 
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() && (
654
+ {isOpened ? (
655
+ mobileUI ? (
631
656
  <PopUp
632
- className={cx(`${ns}DateRangePicker-popup`)}
633
657
  isShow={isOpened}
634
- onHide={this.handleClick}
658
+ container={popOverContainer}
659
+ className={cx(`${ns}CalendarMobile-pop`)}
660
+ onHide={this.close}
661
+ header={CalendarMobileTitle}
635
662
  >
636
- {this.renderCalendar()}
663
+ {calendarMobile}
637
664
  </PopUp>
665
+ ) : (
666
+ <Overlay
667
+ target={() => this.dom.current}
668
+ onHide={this.close}
669
+ container={popOverContainer || (() => findDOMNode(this))}
670
+ rootClose={false}
671
+ placement={overlayPlacement}
672
+ show
673
+ >
674
+ <PopOver
675
+ classPrefix={ns}
676
+ className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}
677
+ onHide={this.close}
678
+ onClick={this.handlePopOverClick}
679
+ overlay
680
+ >
681
+ {this.renderCalendar()}
682
+ </PopOver>
683
+ </Overlay>
638
684
  )
639
- }
685
+ ) : null}
640
686
  </div>
641
687
  );
642
688
  }
@@ -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>
@@ -21,6 +21,7 @@ import useTouch from '../hooks/use-touch';
21
21
 
22
22
  export interface PickerColumnItem {
23
23
  labelField?: string;
24
+ valueField?: string;
24
25
  readonly?: boolean;
25
26
  value?: PickerOption;
26
27
  swipeDuration?: number;
@@ -33,7 +34,7 @@ export interface PickerColumnItem {
33
34
  index?: number,
34
35
  confirm?: boolean
35
36
  ) => void;
36
- };
37
+ }
37
38
 
38
39
  export interface PickerColumnProps extends PickerColumnItem, ThemeProps {}
39
40
 
@@ -64,12 +65,13 @@ function getElementTranslateY(element: HTMLElement | null) {
64
65
  function isOptionDisabled(option: PickerOption) {
65
66
  return isObject(option) && option.disabled;
66
67
  }
67
-
68
+
68
69
  const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
69
70
  const {
70
71
  visibleItemCount = 5,
71
- itemHeight = 30,
72
+ itemHeight = 48,
72
73
  value,
74
+ valueField = 'value',
73
75
  swipeDuration = 1000,
74
76
  labelField = 'text',
75
77
  options = [],
@@ -88,7 +90,24 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
88
90
 
89
91
  const touch = useTouch();
90
92
  const count = options.length;
91
- const defaultIndex = options.findIndex(item => item === value);
93
+
94
+ const getOptionText = (option: [] | PickerOption) => {
95
+ if (isObject(option) && labelField in option) {
96
+ //@ts-ignore
97
+ return option[labelField];
98
+ }
99
+ return option;
100
+ };
101
+
102
+ const getOptionValue = (option: [] | PickerOption) => {
103
+ if (isObject(option) && valueField in option) {
104
+ //@ts-ignore
105
+ return option[valueField];
106
+ }
107
+ return option;
108
+ };
109
+
110
+ const defaultIndex = options.findIndex(item => getOptionValue(item) === value);
92
111
 
93
112
  const baseOffset = useMemo(() => {
94
113
  // 默认转入第一个选项的位置
@@ -134,12 +153,9 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
134
153
  if (emitChange && props.onChange) {
135
154
  requestAnimationFrame(
136
155
  () => {
137
- props.onChange?.(options[index], index, confirm);
156
+ props.onChange?.(getOptionValue(options[index]), index, confirm);
138
157
  }
139
158
  );
140
- // setTimeout(() => {
141
- // props.onChange?.(options[index], index, confirm);
142
- // }, 0);
143
159
  }
144
160
  };
145
161
 
@@ -156,7 +172,7 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
156
172
  const setOptions = (options: Array<PickerOption>) => {
157
173
  if (JSON.stringify(options) !== JSON.stringify(state.options)) {
158
174
  updateState({options});
159
- const index = options.findIndex(item => item === value) || 0;
175
+ const index = options.findIndex(item => getOptionValue(item) === value) || 0;
160
176
  setIndex(index, true, true);
161
177
  }
162
178
  };
@@ -170,14 +186,6 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
170
186
  setIndex(index, true, true);
171
187
  };
172
188
 
173
- const getOptionText = (option: [] | PickerOption) => {
174
- if (isObject(option) && labelField in option) {
175
- //@ts-ignore
176
- return option[labelField];
177
- }
178
- return option;
179
- };
180
-
181
189
  const getIndexByOffset = (offset: number) =>
182
190
  range(Math.round(-offset / itemHeight), 0, count - 1);
183
191
 
@@ -301,7 +309,7 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
301
309
  onClickItem(index);
302
310
  }
303
311
  };
304
-
312
+
305
313
  const childData = {
306
314
  className: 'text-ellipsis',
307
315
  children: text
@@ -357,23 +365,23 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
357
365
  transitionProperty: state.duration ? 'all' : 'none'
358
366
  };
359
367
  return (
360
- <div
361
- ref={root}
362
- className={props.classnames('PickerColumns', props.className)}
363
- onTouchStart={onTouchStart}
364
- onTouchMove={onTouchMove}
365
- onTouchEnd={onTouchEnd}
366
- onTouchCancel={onTouchEnd}
368
+ <div
369
+ ref={root}
370
+ className={props.classnames('PickerColumns', props.className)}
371
+ onTouchStart={onTouchStart}
372
+ onTouchMove={onTouchMove}
373
+ onTouchEnd={onTouchEnd}
374
+ onTouchCancel={onTouchEnd}
375
+ >
376
+ <ul
377
+ ref={wrapper}
378
+ style={wrapperStyle}
379
+ className={props.classnames('PickerColumns-columnWrapper')}
380
+ onTransitionEnd={stopMomentum}
367
381
  >
368
- <ul
369
- ref={wrapper}
370
- style={wrapperStyle}
371
- className={props.classnames('PickerColumns-columnWrapper')}
372
- onTransitionEnd={stopMomentum}
373
- >
374
- {renderOptions()}
375
- </ul>
376
- </div>
382
+ {renderOptions()}
383
+ </ul>
384
+ </div>
377
385
  );
378
386
  });
379
387
 
@@ -381,7 +389,7 @@ PickerColumn.defaultProps = {
381
389
  options: [],
382
390
  visibleItemCount: 5,
383
391
  swipeDuration: 1000,
384
- itemHeight: 30
392
+ itemHeight: 48
385
393
  };
386
394
 
387
395
  export default themeable(
@@ -389,4 +397,3 @@ export default themeable(
389
397
  value: 'onChange'
390
398
  })
391
399
  );
392
-