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
@@ -0,0 +1,315 @@
1
+ /**
2
+ * @file 移动端城市选择器
3
+ */
4
+ import React, {useEffect, useState, memo} from 'react';
5
+
6
+ import Picker from './Picker';
7
+ import ResultBox from './ResultBox';
8
+ import {useSetState, useUpdateEffect} from '../hooks';
9
+ import {localeable, LocaleProps} from '../locale';
10
+ import {themeable, ThemeProps} from '../theme';
11
+ import {uncontrollable} from 'uncontrollable';
12
+ import PopUp from './PopUp';
13
+ import {PickerObjectOption} from './PickerColumn';
14
+
15
+ export type AreaColumnOption = {
16
+ text: string;
17
+ value: number;
18
+ };
19
+
20
+ export interface AreaProps extends LocaleProps, ThemeProps {
21
+ value: any;
22
+ /**
23
+ * 允许选择城市?
24
+ */
25
+ allowCity?: boolean;
26
+ /**
27
+ * 允许选择地区?
28
+ */
29
+ allowDistrict?: boolean;
30
+ /**
31
+ * 允许选择街道?
32
+ */
33
+ allowStreet?: boolean;
34
+ /**
35
+ * 开启后只会存城市的 code 信息
36
+ */
37
+ extractValue?: boolean;
38
+ /**
39
+ * 是否将各个信息拼接成字符串。
40
+ */
41
+ joinValues?: boolean;
42
+ /**
43
+ * 拼接的符号是啥?
44
+ */
45
+ delimiter?: string;
46
+ /**
47
+ * 是否禁用
48
+ */
49
+ disabled?: boolean;
50
+ useMobileUI?: boolean;
51
+ onChange: (value: any) => void;
52
+ /** 点击完成按钮时触发 */
53
+ onConfirm?: (result: AreaColumnOption[], index: number) => void;
54
+ /** 点击取消按钮时触发 */
55
+ onCancel?: (...args: unknown[]) => void;
56
+
57
+ popOverContainer?: any;
58
+ }
59
+ /**
60
+ * 街道
61
+ */
62
+ type district = {
63
+ [propName: number]: {
64
+ [propName: number]: Array<number>;
65
+ };
66
+ };
67
+ interface DbState {
68
+ province: number[];
69
+ district: district;
70
+ [key: number]: string;
71
+ city: {
72
+ [key: number]: number[];
73
+ };
74
+ }
75
+ interface StateObj {
76
+ columns: {options: Array<AreaColumnOption>}[];
77
+ }
78
+
79
+ const CityArea = memo<AreaProps>(props => {
80
+ const {
81
+ joinValues = true,
82
+ extractValue = true,
83
+ delimiter = ',',
84
+ allowCity = true,
85
+ allowDistrict = true,
86
+ allowStreet = false,
87
+ // 默认北京东城区
88
+ value = 110101,
89
+ classnames: cx,
90
+ translate: __,
91
+ disabled = false,
92
+ popOverContainer,
93
+ useMobileUI
94
+ } = props;
95
+
96
+ const [values, setValues] = useState<Array<number>>([]);
97
+ const [street, setStreet] = useState('');
98
+ const [confirmValues, setConfirmValues] =
99
+ useState<Array<PickerObjectOption>>();
100
+ const [db, updateDb] = useSetState<DbState>();
101
+ const [state, updateState] = useSetState<StateObj>({
102
+ columns: []
103
+ });
104
+ const [isOpened, setIsOpened] = useState(false);
105
+
106
+ const onChange = (columnValues: Array<number>, columnIndex: number) => {
107
+ // 清空后面的值
108
+ while (columnValues[columnIndex++]) {
109
+ columnValues[columnIndex++] = -1;
110
+ }
111
+ let [provience, city, district] = columnValues;
112
+ if (city === -1) {
113
+ city = db.city?.[provience]?.[0];
114
+ }
115
+ if (district === -1) {
116
+ district = db.district?.[provience]?.[city]?.[0];
117
+ }
118
+ let tempValues = [provience, city, district];
119
+ if (!allowDistrict) {
120
+ tempValues.splice(2, 1);
121
+ }
122
+ if (!allowCity) {
123
+ tempValues.splice(1, 1);
124
+ }
125
+ setValues(tempValues);
126
+ };
127
+
128
+ const propsChange = () => {
129
+ const {onChange} = props;
130
+ const [province, city, district] = values;
131
+ const code =
132
+ allowDistrict && district
133
+ ? district
134
+ : allowCity && city
135
+ ? city
136
+ : province;
137
+ if (typeof extractValue === 'undefined' ? joinValues : extractValue) {
138
+ code
139
+ ? onChange(
140
+ allowStreet && street
141
+ ? [code, street].join(delimiter)
142
+ : String(code)
143
+ )
144
+ : onChange('');
145
+ } else {
146
+ onChange({
147
+ code,
148
+ province: db[province],
149
+ city: db[city],
150
+ district: db[district],
151
+ street
152
+ });
153
+ }
154
+ };
155
+
156
+ const onConfirm = () => {
157
+ const confirmValues = values.map((item: number) => ({
158
+ text: db[item],
159
+ value: item
160
+ }));
161
+ setConfirmValues(confirmValues);
162
+ propsChange();
163
+ setIsOpened(false);
164
+ };
165
+
166
+ const onCancel = () => {
167
+ setIsOpened(false);
168
+ if (props.onCancel) props.onCancel();
169
+ };
170
+
171
+ const getPropsValue = () => {
172
+ // 最后一项的值
173
+ let code =
174
+ (value && value.code) ||
175
+ (typeof value === 'number' && value) ||
176
+ (typeof value === 'string' && /(\d{6})/.test(value) && RegExp.$1);
177
+ const values: Array<number> = [];
178
+ if (code && db[code]) {
179
+ code = parseInt(code, 10);
180
+ let provinceCode = code - (code % 10000);
181
+ let cityCode = code - (code % 100);
182
+ if (db[provinceCode]) {
183
+ values[0] = provinceCode;
184
+ }
185
+ if (db[cityCode] && allowCity) {
186
+ values[1] = cityCode;
187
+ } else if (~db.city[provinceCode]?.indexOf(code) && allowCity) {
188
+ values[1] = code;
189
+ }
190
+
191
+ if (code % 100 && allowDistrict) {
192
+ values[2] = code;
193
+ }
194
+ setValues(values);
195
+ }
196
+ };
197
+
198
+ const updateColumns = () => {
199
+ if (!db) {
200
+ return;
201
+ }
202
+ let [provience, city, district] = values;
203
+ const provienceColumn = db.province.map((code: number) => {
204
+ return {text: db[code], value: code, disabled};
205
+ });
206
+ const cityColumn = city
207
+ ? db.city[provience].map((code: number) => {
208
+ return {text: db[code], value: code, disabled};
209
+ })
210
+ : [];
211
+ const districtColumn =
212
+ city && district
213
+ ? db.district[provience][city].map((code: number) => {
214
+ return {text: db[code], value: code, disabled};
215
+ })
216
+ : [];
217
+ const columns = [
218
+ {options: provienceColumn},
219
+ {options: cityColumn},
220
+ {options: districtColumn}
221
+ ];
222
+ if (!allowDistrict || !allowCity) {
223
+ columns.splice(2, 1);
224
+ }
225
+ if (!allowCity) {
226
+ columns.splice(1, 1);
227
+ }
228
+ updateState({columns});
229
+ };
230
+
231
+ const loadDb = () => {
232
+ import('../renderers/Form/CityDB').then(db => {
233
+ updateDb({
234
+ ...db.default,
235
+ province: db.province as any,
236
+ city: db.city,
237
+ district: db.district as district
238
+ });
239
+ });
240
+ };
241
+
242
+ useEffect(() => {
243
+ loadDb();
244
+ }, []);
245
+
246
+ useEffect(() => {
247
+ isOpened && db && getPropsValue();
248
+ }, [db, isOpened]);
249
+
250
+ useEffect(() => {
251
+ street && propsChange();
252
+ }, [street]);
253
+
254
+ useUpdateEffect(() => {
255
+ values.length && updateColumns();
256
+ }, [values]);
257
+
258
+ const result = confirmValues
259
+ ?.filter(item => item?.value)
260
+ ?.map(item => item.text)
261
+ .join(delimiter);
262
+
263
+ return (
264
+ <div className={cx(`CityArea`)}>
265
+ <ResultBox
266
+ className={cx('CityArea-Input', isOpened ? 'is-active' : '')}
267
+ allowInput={false}
268
+ result={result}
269
+ onResultChange={() => {}}
270
+ onResultClick={() => setIsOpened(!isOpened)}
271
+ placeholder={__('Condition.cond_placeholder')}
272
+ useMobileUI={useMobileUI}
273
+ ></ResultBox>
274
+ {allowStreet && values[0] ? (
275
+ <input
276
+ className={cx('CityArea-Input')}
277
+ value={street}
278
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
279
+ setStreet(e.currentTarget.value)
280
+ }
281
+ placeholder={__('City.street')}
282
+ disabled={disabled}
283
+ />
284
+ ) : null}
285
+ <PopUp
286
+ className={cx(`CityArea-popup`)}
287
+ container={popOverContainer}
288
+ isShow={isOpened}
289
+ showConfirm
290
+ onConfirm={onConfirm}
291
+ onHide={onCancel}
292
+ >
293
+ <Picker
294
+ className={'CityArea-picker'}
295
+ columns={state.columns}
296
+ onChange={onChange as any}
297
+ showToolbar={false}
298
+ labelField="text"
299
+ itemHeight={40}
300
+ value={values}
301
+ classnames={props.classnames}
302
+ classPrefix={props.classPrefix}
303
+ />
304
+ </PopUp>
305
+ </div>
306
+ );
307
+ });
308
+
309
+ export default themeable(
310
+ localeable(
311
+ uncontrollable(CityArea, {
312
+ value: 'onChange'
313
+ })
314
+ )
315
+ );
@@ -79,7 +79,7 @@ export class Collapse extends React.Component<CollapseProps, CollapseState> {
79
79
  super(props);
80
80
 
81
81
  this.toggleCollapsed = this.toggleCollapsed.bind(this);
82
- this.state.collapsed = !!props.collapsed;
82
+ this.state.collapsed = props.collapsable ? !!props.collapsed : false;
83
83
  }
84
84
 
85
85
  static getDerivedStateFromProps(
@@ -227,6 +227,7 @@ export class ColorControl extends React.PureComponent<
227
227
  const __ = this.props.translate;
228
228
  const isOpened = this.state.isOpened;
229
229
  const isFocused = this.state.isFocused;
230
+ const mobileUI = useMobileUI && isMobile();
230
231
 
231
232
  return (
232
233
  <div
@@ -261,6 +262,7 @@ export class ColorControl extends React.PureComponent<
261
262
  onFocus={this.handleFocus}
262
263
  onBlur={this.handleBlur}
263
264
  onClick={this.handleClick}
265
+ readOnly={mobileUI}
264
266
  />
265
267
 
266
268
  {clearable && !disabled && value ? (
@@ -273,7 +275,7 @@ export class ColorControl extends React.PureComponent<
273
275
  <Icon icon="caret" className="icon" onClick={this.handleClick} />
274
276
  </span>
275
277
 
276
- {!(useMobileUI && isMobile()) && isOpened ? (
278
+ {!mobileUI && isOpened ? (
277
279
  <Overlay
278
280
  placement={placement || 'auto'}
279
281
  target={() => findDOMNode(this)}
@@ -320,45 +322,44 @@ export class ColorControl extends React.PureComponent<
320
322
  </PopOver>
321
323
  </Overlay>
322
324
  ) : null}
323
- {
324
- useMobileUI && isMobile() && (
325
- <PopUp
326
- className={cx(`${ns}ColorPicker-popup`)}
327
- isShow={isOpened}
328
- onHide={this.handleClick}
329
- >
330
- {allowCustomColor ? (
331
- <SketchPicker
332
- styles={{}}
333
- disableAlpha={!!~['rgb', 'hex'].indexOf(format as string)}
334
- color={value}
335
- presetColors={presetColors}
336
- onChangeComplete={this.handleChange}
337
- />
338
- ) : (
339
- <GithubPicker
340
- color={value}
341
- colors={
342
- Array.isArray(presetColors)
343
- ? (presetColors
344
- .filter(
345
- item => typeof item === 'string' || isObject(item)
346
- )
347
- .map(item =>
348
- typeof item === 'string'
349
- ? item
350
- : isObject(item)
351
- ? item?.color
352
- : item
353
- ) as string[])
354
- : undefined
355
- }
356
- onChangeComplete={this.handleChange}
357
- />
358
- )}
359
- </PopUp>
360
- )
361
- }
325
+ {mobileUI && (
326
+ <PopUp
327
+ className={cx(`${ns}ColorPicker-popup`)}
328
+ container={popOverContainer}
329
+ isShow={isOpened}
330
+ onHide={this.handleClick}
331
+ >
332
+ {allowCustomColor ? (
333
+ <SketchPicker
334
+ styles={{}}
335
+ disableAlpha={!!~['rgb', 'hex'].indexOf(format as string)}
336
+ color={value}
337
+ presetColors={presetColors}
338
+ onChangeComplete={this.handleChange}
339
+ />
340
+ ) : (
341
+ <GithubPicker
342
+ color={value}
343
+ colors={
344
+ Array.isArray(presetColors)
345
+ ? (presetColors
346
+ .filter(
347
+ item => typeof item === 'string' || isObject(item)
348
+ )
349
+ .map(item =>
350
+ typeof item === 'string'
351
+ ? item
352
+ : isObject(item)
353
+ ? item?.color
354
+ : item
355
+ ) as string[])
356
+ : undefined
357
+ }
358
+ onChangeComplete={this.handleChange}
359
+ />
360
+ )}
361
+ </PopUp>
362
+ )}
362
363
  </div>
363
364
  );
364
365
  }
@@ -15,7 +15,7 @@ import {ClassNamesFn, themeable, ThemeProps} from '../theme';
15
15
  import {PlainObject} from '../types';
16
16
  import Calendar from './calendar/Calendar';
17
17
  import 'react-datetime/css/react-datetime.css';
18
- import { localeable, LocaleProps, TranslateFn } from '../locale';
18
+ import {localeable, LocaleProps, TranslateFn} from '../locale';
19
19
  import {isMobile, ucFirst} from '../utils/helper';
20
20
 
21
21
  const availableShortcuts: {[propName: string]: any} = {
@@ -280,16 +280,17 @@ export interface DateProps extends LocaleProps, ThemeProps {
280
280
  // 是否为内嵌模式,如果开启就不是 picker 了,直接页面点选。
281
281
  embed?: boolean;
282
282
  schedules?: Array<{
283
- startTime: Date,
284
- endTime: Date,
285
- content: any,
286
- className?: string
283
+ startTime: Date;
284
+ endTime: Date;
285
+ content: any;
286
+ className?: string;
287
287
  }>;
288
288
  scheduleClassNames?: Array<string>;
289
289
  largeMode?: boolean;
290
290
  onScheduleClick?: (scheduleData: any) => void;
291
-
292
291
  useMobileUI?: boolean;
292
+ // 在移动端日期展示有多种形式,一种是picker 滑动选择,一种是日历展开选择,mobileCalendarMode为calendar表示日历展开选择
293
+ mobileCalendarMode?: 'picker' | 'calendar';
293
294
 
294
295
  // 下面那个千万不要写,写了就会导致 keyof DateProps 得到的结果是 string | number;
295
296
  // [propName: string]: any;
@@ -315,7 +316,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
315
316
  shortcuts: '',
316
317
  closeOnSelect: true,
317
318
  overlayPlacement: 'auto',
318
- scheduleClassNames: ['bg-warning', 'bg-danger', 'bg-success', 'bg-info', 'bg-secondary']
319
+ scheduleClassNames: [
320
+ 'bg-warning',
321
+ 'bg-danger',
322
+ 'bg-success',
323
+ 'bg-info',
324
+ 'bg-secondary'
325
+ ]
319
326
  };
320
327
  state: DatePickerState = {
321
328
  isOpened: false,
@@ -561,17 +568,18 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
561
568
  embed,
562
569
  minDate,
563
570
  useMobileUI,
571
+ maxDate,
564
572
  schedules,
565
573
  largeMode,
566
574
  scheduleClassNames,
567
- onScheduleClick
575
+ onScheduleClick,
576
+ mobileCalendarMode
568
577
  } = this.props;
569
578
 
570
579
  const __ = this.props.translate;
571
580
  const isOpened = this.state.isOpened;
572
581
  let date: moment.Moment | undefined = this.state.value;
573
582
 
574
-
575
583
  if (embed) {
576
584
  let schedulesData: DateProps['schedules'] = undefined;
577
585
  if (schedules && Array.isArray(schedules)) {
@@ -617,10 +625,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
617
625
  onClose={this.close}
618
626
  locale={locale}
619
627
  minDate={minDate}
628
+ maxDate={maxDate}
620
629
  // utc={utc}
621
630
  schedules={schedulesData}
622
631
  largeMode={largeMode}
623
632
  onScheduleClick={onScheduleClick}
633
+ embed={embed}
634
+ useMobileUI={useMobileUI}
624
635
  />
625
636
  </div>
626
637
  );
@@ -637,7 +648,8 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
637
648
  {
638
649
  'is-disabled': disabled,
639
650
  'is-focused': this.state.isFocused,
640
- [`DatePicker--border${ucFirst(borderMode)}`]: borderMode
651
+ [`DatePicker--border${ucFirst(borderMode)}`]: borderMode,
652
+ 'is-mobile': useMobileUI && isMobile()
641
653
  },
642
654
  className
643
655
  )}
@@ -695,39 +707,43 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
695
707
  onClose={this.close}
696
708
  locale={locale}
697
709
  minDate={minDate}
710
+ maxDate={maxDate}
711
+ useMobileUI={useMobileUI}
698
712
  // utc={utc}
699
713
  />
700
714
  </PopOver>
701
715
  </Overlay>
702
716
  ) : null}
703
- {
704
- useMobileUI && isMobile() ? (
705
- <PopUp
706
- className={cx(`${ns}DatePicker-popup`)}
707
- isShow={isOpened}
708
- onHide={this.handleClick}
709
- >
710
- {this.renderShortCuts(shortcuts)}
711
-
712
- <Calendar
713
- value={date}
714
- onChange={this.handleChange}
715
- requiredConfirm={!!(dateFormat && timeFormat)}
716
- dateFormat={dateFormat}
717
- inputFormat={inputFormat}
718
- timeFormat={timeFormat}
719
- isValidDate={this.checkIsValidDate}
720
- viewMode={viewMode}
721
- timeConstraints={timeConstraints}
722
- input={false}
723
- onClose={this.close}
724
- locale={locale}
725
- minDate={minDate}
726
- // utc={utc}
727
- />
728
- </PopUp>
729
- ) : null
730
- }
717
+ {useMobileUI && isMobile() ? (
718
+ <PopUp
719
+ className={cx(`${ns}DatePicker-popup DatePicker-mobile`)}
720
+ container={popOverContainer}
721
+ isShow={isOpened}
722
+ showClose={false}
723
+ onHide={this.handleClick}
724
+ >
725
+ {mobileCalendarMode === 'calendar' && this.renderShortCuts(shortcuts)}
726
+
727
+ <Calendar
728
+ value={date}
729
+ onChange={this.handleChange}
730
+ requiredConfirm={!!(dateFormat && timeFormat)}
731
+ dateFormat={dateFormat}
732
+ inputFormat={inputFormat}
733
+ timeFormat={timeFormat}
734
+ isValidDate={this.checkIsValidDate}
735
+ viewMode={viewMode}
736
+ timeConstraints={timeConstraints}
737
+ input={false}
738
+ onClose={this.close}
739
+ locale={locale}
740
+ minDate={minDate}
741
+ maxDate={maxDate}
742
+ useMobileUI={useMobileUI}
743
+ // utc={utc}
744
+ />
745
+ </PopUp>
746
+ ) : null}
731
747
  </div>
732
748
  );
733
749
  }