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,107 @@
1
+ import React, {ReactNode, useState} from 'react';
2
+ import {localeable, LocaleProps} from '../locale';
3
+ import {SchemaExpression} from '../Schema';
4
+ import {themeable, ThemeProps} from '../theme';
5
+ import {Icon} from './icons';
6
+
7
+ export interface TimelineItemProps {
8
+ /**
9
+ * 时间点
10
+ */
11
+ time: string;
12
+
13
+ /**
14
+ * 事件名称
15
+ */
16
+ title?: string| ReactNode;
17
+
18
+ /**
19
+ * 详细内容
20
+ */
21
+ detail?: string;
22
+
23
+ /**
24
+ * detail折叠时文案
25
+ */
26
+ detailCollapsedText?: string;
27
+
28
+ /**
29
+ * detail展开时文案
30
+ */
31
+ detailExpandedText?: string;
32
+
33
+ /**
34
+ * 时间点圆圈颜色,可传入英文/颜色值/level样式(info、success、warning、danger)
35
+ */
36
+ color?: SchemaExpression;
37
+
38
+ /**
39
+ * 图标
40
+ */
41
+ icon?: string | ReactNode;
42
+ }
43
+
44
+ export interface TimelineItem extends ThemeProps, LocaleProps, TimelineItemProps {}
45
+
46
+ export function TimelineItem(props: TimelineItem) {
47
+ const {
48
+ time,
49
+ title,
50
+ detail,
51
+ detailCollapsedText,
52
+ detailExpandedText,
53
+ color,
54
+ icon,
55
+ classnames: cx,
56
+ translate: __,
57
+ } = props;
58
+
59
+ const [detailVisible, setDetailVisible] = useState<boolean>(false);
60
+
61
+ const renderDetail = (detail: string, detailCollapsedText: string = __('Timeline.collapseText'), detailExpandedText: string = __('Timeline.expandText')) : ReactNode => {
62
+
63
+ return (
64
+ <>
65
+ <div className={cx('TimelineItem-detail-button')} onClick={() => setDetailVisible(!detailVisible)}>
66
+ {detailVisible ? detailExpandedText : detailCollapsedText}
67
+ <div className={cx('TimelineItem-detail-arrow', `${detailVisible && 'TimelineItem-detail-arrow-top'}`)}>
68
+ <Icon icon="tree-down"/>
69
+ </div>
70
+ </div>
71
+ <div className={cx(`${detailVisible ? 'TimelineItem-detail-visible' : 'TimelineItem-detail-invisible'}`)}>
72
+ {detail}
73
+ </div>
74
+ </>);
75
+ }
76
+
77
+ // 判断是否为颜色值
78
+ const isColorVal = color && /^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(color);
79
+
80
+ // 取level级颜色
81
+ const levelColor = !isColorVal && color;
82
+
83
+ return (
84
+ <div className={cx('TimelineItem')}>
85
+ <div className={cx('TimelineItem-axle')}>
86
+ <div className={cx('TimelineItem-line')}></div>
87
+ {icon
88
+ ? <div className={cx('TimelineItem-icon')}>
89
+ <Icon icon={icon} className="icon"/>
90
+ </div>
91
+ : <div
92
+ className={cx('TimelineItem-round',
93
+ levelColor && `TimelineItem-round--${levelColor}`)}
94
+ style={isColorVal ? {backgroundColor: color} : undefined}
95
+ ></div>
96
+ }
97
+ </div>
98
+ <div className={cx('TimelineItem-content')}>
99
+ <div className={cx('TimelineItem-time')}>{time}</div>
100
+ <div className={cx('TimelineItem-title')}>{title}</div>
101
+ {detail
102
+ && <div className={cx('TimelineItem-detail')}>{renderDetail(detail, detailCollapsedText, detailExpandedText)}</div>}
103
+ </div>
104
+ </div>)
105
+ }
106
+
107
+ export default themeable(localeable(TimelineItem));
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import {ThemeProps, themeable} from '../theme';
3
- import {BaseSelectionProps, BaseSelection} from './Selection';
3
+ import {BaseSelectionProps, BaseSelection, ItemRenderStates} from './Selection';
4
4
  import {Options, Option} from './Select';
5
5
  import {uncontrollable} from 'uncontrollable';
6
6
  import ResultList from './ResultList';
@@ -14,11 +14,12 @@ import AssociatedSelection from './AssociatedSelection';
14
14
  import {LocaleProps, localeable} from '../locale';
15
15
  import GroupedSelection from './GroupedSelection';
16
16
  import ChainedSelection from './ChainedSelection';
17
+ import {ItemRenderStates as ResultItemRenderStates} from './ResultList';
17
18
 
18
19
  export interface TransferProps
19
20
  extends ThemeProps,
20
21
  LocaleProps,
21
- BaseSelectionProps {
22
+ Omit<BaseSelectionProps, 'itemRender'> {
22
23
  inline?: boolean;
23
24
  statistics?: boolean;
24
25
  showArrow?: boolean;
@@ -55,6 +56,7 @@ export interface TransferProps
55
56
  }>;
56
57
  searchPlaceholder?: string;
57
58
  noResultsText?: string;
59
+ onChange?: (value: Array<Option>, optionModified?: boolean) => void;
58
60
  onSearch?: (
59
61
  term: string,
60
62
  setCancel: (cancel: () => void) => void
@@ -70,8 +72,11 @@ export interface TransferProps
70
72
  ) => JSX.Element;
71
73
 
72
74
  resultTitle?: string;
73
- optionItemRender?: (option: Option) => JSX.Element;
74
- resultItemRender?: (option: Option) => JSX.Element;
75
+ optionItemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;
76
+ resultItemRender?: (
77
+ option: Option,
78
+ states: ResultItemRenderStates
79
+ ) => JSX.Element;
75
80
  sortable?: boolean;
76
81
  }
77
82
 
@@ -83,9 +88,8 @@ export interface TransferState {
83
88
  export class Transfer<
84
89
  T extends TransferProps = TransferProps
85
90
  > extends React.Component<T, TransferState> {
86
- static defaultProps: Pick<TransferProps, 'itemRender' | 'multiple'> = {
87
- multiple: true,
88
- itemRender: (option: Option) => <span>{option.label}</span>
91
+ static defaultProps: Pick<TransferProps, 'multiple'> = {
92
+ multiple: true
89
93
  };
90
94
 
91
95
  state = {
@@ -382,7 +386,6 @@ export class Transfer<
382
386
  option2value={option2value}
383
387
  onDeferLoad={onDeferLoad}
384
388
  cellRender={cellRender}
385
- itemRender={optionItemRender}
386
389
  multiple={multiple}
387
390
  />
388
391
  ) : selectMode === 'tree' ? (
@@ -7,11 +7,13 @@ import ResultBox from './ResultBox';
7
7
  import {Icon} from './icons';
8
8
  import InputBox from './InputBox';
9
9
  import PopOverContainer from './PopOverContainer';
10
+ import {isMobile} from '../utils/helper';
10
11
 
11
12
  export interface TransferDropDownProps extends TransferProps {
12
13
  // 新的属性?
13
14
  multiple?: boolean;
14
15
  borderMode?: 'full' | 'half' | 'none';
16
+ useMobileUI?: boolean;
15
17
  }
16
18
 
17
19
  export class TransferDropDown extends Transfer<TransferDropDownProps> {
@@ -25,15 +27,22 @@ export class TransferDropDown extends Transfer<TransferDropDownProps> {
25
27
  onChange,
26
28
  onSearch,
27
29
  multiple,
28
- borderMode
30
+ borderMode,
31
+ useMobileUI
29
32
  } = this.props;
30
33
  const {inputValue, searchResult} = this.state;
31
34
 
35
+ const mobileUI = useMobileUI && isMobile();
32
36
  return (
33
37
  <PopOverContainer
38
+ useMobileUI={useMobileUI}
34
39
  popOverClassName={cx('TransferDropDown-popover')}
35
40
  popOverRender={({onClose}) => (
36
- <div className={cx('TransferDropDown-content')}>
41
+ <div
42
+ className={cx('TransferDropDown-content', {
43
+ 'is-mobile': mobileUI
44
+ })}
45
+ >
37
46
  {onSearch ? (
38
47
  <div className={cx('Transfer-search')}>
39
48
  <InputBox
@@ -88,22 +97,21 @@ export class TransferDropDown extends Transfer<TransferDropDownProps> {
88
97
  )}
89
98
  borderMode={borderMode}
90
99
  allowInput={false}
91
- result={
92
- multiple
93
- ? value
94
- : value?.[0]
95
- ? this.props.itemRender(value[0])
96
- : null
97
- }
100
+ result={multiple ? value : value?.[0] ? value?.[0] : null}
98
101
  onResultChange={onChange}
99
102
  onResultClick={onClick}
100
103
  placeholder={__('Select.placeholder')}
101
104
  disabled={disabled}
102
105
  ref={ref}
106
+ useMobileUI={useMobileUI}
103
107
  >
104
- <span className={cx('TransferDropDown-icon')}>
105
- <Icon icon="caret" className="icon" />
106
- </span>
108
+ {!mobileUI ? (
109
+ <span className={cx('TransferDropDown-icon')}>
110
+ <Icon icon="caret" className="icon" />
111
+ </span>
112
+ ) : (
113
+ <></>
114
+ )}
107
115
  </ResultBox>
108
116
  )}
109
117
  </PopOverContainer>
@@ -6,7 +6,7 @@ import React from 'react';
6
6
  import ResultBox from './ResultBox';
7
7
  import {Icon} from './icons';
8
8
  import PickerContainer from './PickerContainer';
9
- import {autobind} from '../utils/helper';
9
+ import {autobind, mapTree} from '../utils/helper';
10
10
 
11
11
  export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
12
12
  // 新的属性?
@@ -19,9 +19,11 @@ export interface TransferPickerProps extends Omit<TransferProps, 'itemRender'> {
19
19
  }
20
20
 
21
21
  export class TransferPicker extends React.Component<TransferPickerProps> {
22
+ optionModified = false;
22
23
  @autobind
23
24
  handleConfirm(value: any) {
24
- this.props.onChange?.(value);
25
+ this.props.onChange?.(value, this.optionModified);
26
+ this.optionModified = false;
25
27
  }
26
28
 
27
29
  render() {
@@ -40,8 +42,27 @@ export class TransferPicker extends React.Component<TransferPickerProps> {
40
42
  return (
41
43
  <PickerContainer
42
44
  title={__('Select.placeholder')}
43
- bodyRender={({onClose, value, onChange}) => {
44
- return <Transfer {...rest} value={value} onChange={onChange} />;
45
+ bodyRender={({onClose, value, onChange, setState, ...states}) => {
46
+ return (
47
+ <Transfer
48
+ {...rest}
49
+ {...states}
50
+ value={value}
51
+ onChange={(value: any, optionModified) => {
52
+ if (optionModified) {
53
+ let options = mapTree(rest.options, item => {
54
+ return (
55
+ value.find((a: any) => a.value === item.value) || item
56
+ );
57
+ });
58
+ this.optionModified = true;
59
+ setState({options, value});
60
+ } else {
61
+ onChange(value);
62
+ }
63
+ }}
64
+ />
65
+ );
45
66
  }}
46
67
  value={value}
47
68
  onConfirm={this.handleConfirm}
@@ -239,7 +239,13 @@ export class TreeSelection extends BaseSelection<
239
239
  ) : null}
240
240
 
241
241
  <div className={cx('TreeSelection-itemLabel')}>
242
- {itemRender(option)}
242
+ {itemRender(option, {
243
+ index: index,
244
+ multiple: multiple,
245
+ checked: checked,
246
+ onChange: () => this.toggleOption(option),
247
+ disabled: disabled || option.disabled
248
+ })}
243
249
  </div>
244
250
 
245
251
  {option.defer && option.loading ? <Spinner show size="sm" /> : null}
@@ -7,7 +7,23 @@ import CustomCalendarContainer from './CalendarContainer';
7
7
  import cx from 'classnames';
8
8
  import moment from 'moment';
9
9
  import {themeable, ThemeOutterProps, ThemeProps} from '../../theme';
10
- import {convertDateArrayToDate} from "../../utils/helper";
10
+ import {convertArrayValueToMoment, getRange} from "../../utils/helper";
11
+ import {PickerOption} from '../PickerColumn';
12
+
13
+ export type DateType = 'year' | 'month' | 'date' | 'hours' | 'minutes' | 'seconds';
14
+ export interface BoundaryObject {
15
+ max: number;
16
+ min: number;
17
+ }
18
+
19
+ export interface DateBoundary {
20
+ year: BoundaryObject;
21
+ month: BoundaryObject;
22
+ date: BoundaryObject;
23
+ hours: BoundaryObject;
24
+ minutes: BoundaryObject;
25
+ seconds: BoundaryObject;
26
+ }
11
27
 
12
28
  interface BaseDatePickerProps
13
29
  extends Omit<ReactDatePicker.DatetimepickerProps, 'viewMode'> {
@@ -18,6 +34,7 @@ interface BaseDatePickerProps
18
34
  onClose?: () => void;
19
35
  isEndDate?: boolean;
20
36
  minDate?: moment.Moment;
37
+ maxDate?: moment.Moment;
21
38
  renderDay?: (
22
39
  props: any,
23
40
  currentDate: moment.Moment,
@@ -37,6 +54,11 @@ interface BaseDatePickerProps
37
54
  }>;
38
55
  largeMode?: boolean;
39
56
  onScheduleClick?: (scheduleData: any) => void;
57
+ hideHeader?: boolean;
58
+ updateOn?: string;
59
+ useMobileUI?: boolean;
60
+ embed?: boolean;
61
+ showToolbar?: boolean;
40
62
  }
41
63
 
42
64
  class BaseDatePicker extends ReactDatePicker {
@@ -45,6 +67,16 @@ class BaseDatePicker extends ReactDatePicker {
45
67
  setState: (state: any) => void;
46
68
  getStateFromProps: any;
47
69
 
70
+ timeCellLength = {
71
+ year: 4,
72
+ month: 2,
73
+ date: 2,
74
+ hours: 2,
75
+ minutes: 2,
76
+ seconds: 2,
77
+ milliseconds: 3
78
+ };
79
+
48
80
  constructor(props: any) {
49
81
  super(props);
50
82
  const state = this.getStateFromProps(this.props);
@@ -92,8 +124,15 @@ class BaseDatePicker extends ReactDatePicker {
92
124
  'isEndDate',
93
125
  'classnames',
94
126
  'minDate',
127
+ 'maxDate',
95
128
  'schedules',
96
129
  'largeMode',
130
+ 'onScheduleClick',
131
+ 'hideHeader',
132
+ 'updateOn',
133
+ 'useMobileUI',
134
+ 'showToolbar',
135
+ 'embed',
97
136
  'onScheduleClick'
98
137
  ].forEach(key => (props[key] = (this.props as any)[key]));
99
138
 
@@ -192,10 +231,58 @@ class BaseDatePicker extends ReactDatePicker {
192
231
  that.props.onChange(date);
193
232
  };
194
233
 
234
+ getDateBoundary = (currentDate: moment.Moment) => {
235
+ const {years, months} = currentDate.toObject();
236
+ const maxDateObject = this.props.maxDate?.toObject();
237
+ const minDateObject = this.props.minDate?.toObject();
238
+
239
+ const yearBoundary = {
240
+ max: maxDateObject ? maxDateObject.years : years + 100,
241
+ min: minDateObject ? minDateObject.years : years - 100,
242
+ };
243
+ const monthBoundary = {
244
+ max: years === maxDateObject?.years ? maxDateObject.months : 11,
245
+ min: years === minDateObject?.years ? minDateObject.months : 0
246
+ };
247
+ const dateBoundary = {
248
+ max: years === maxDateObject?.years && months === maxDateObject?.months ? maxDateObject.date : currentDate.daysInMonth(),
249
+ min: years === minDateObject?.years && months === minDateObject?.months ? minDateObject.date : 1
250
+ }
251
+ return {
252
+ year: yearBoundary,
253
+ month: monthBoundary,
254
+ date: dateBoundary,
255
+ hours: {max: 23, min: 0},
256
+ minutes: {max: 59, min: 0},
257
+ seconds: {max: 59, min: 0}
258
+ };
259
+ };
260
+
261
+ timeCell = (value: number, type: DateType) => {
262
+ let str = value + '';
263
+ while (str.length < this.timeCellLength[type])
264
+ str = '0' + str;
265
+ return str;
266
+ };
267
+
268
+ getColumns = (types: DateType[], dateBoundary: DateBoundary) => {
269
+ const columns: { options: PickerOption[] }[] = [];
270
+ types.map((type: DateType) => {
271
+ const options = getRange(dateBoundary[type].min, dateBoundary[type].max, 1).map(item => {
272
+
273
+ return {
274
+ text: type === 'month' ? this.timeCell(item+1, type) : this.timeCell(item, type),
275
+ value: item
276
+ };
277
+ });
278
+ columns.push({options})
279
+ });
280
+ return columns;
281
+ };
282
+
195
283
  onConfirm = (value: number[], types: string[]) => {
196
284
  const currentDate = (this.state.selectedDate || this.state.viewDate || moment()).clone();
197
-
198
- const date = convertDateArrayToDate(value, types, currentDate);
285
+ const date = convertArrayValueToMoment(value, types, currentDate);
199
286
 
200
287
  if (!this.props.value) {
201
288
  this.setState({
@@ -205,7 +292,7 @@ class BaseDatePicker extends ReactDatePicker {
205
292
  }
206
293
  this.props.onChange && this.props.onChange(date);
207
294
  this.props.onClose && this.props.onClose();
208
- }
295
+ };
209
296
 
210
297
 
211
298
  render() {
@@ -218,8 +305,18 @@ class BaseDatePicker extends ReactDatePicker {
218
305
  this.props.renderQuarter
219
306
  ];
220
307
  }
308
+ else if (this.props.viewMode === 'years') {
309
+ viewProps.updateOn = 'years';
310
+ }
311
+ else if (this.props.viewMode === 'months') {
312
+ viewProps.updateOn = 'months';
313
+ }
221
314
 
222
315
  viewProps.onConfirm = this.onConfirm;
316
+ viewProps.getDateBoundary = this.getDateBoundary;
317
+ viewProps.getColumns = this.getColumns;
318
+ viewProps.timeCell = this.timeCell;
319
+
223
320
  return (
224
321
  <div className={cx('rdt rdtStatic rdtOpen', this.props.className)}>
225
322
  <div key="dt" className="rdtPicker">