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
@@ -11,7 +11,7 @@ import find from 'lodash/find';
11
11
  import debouce from 'lodash/debounce';
12
12
  import {Api} from '../../types';
13
13
  import {isEffectiveApi} from '../../utils/api';
14
- import {isEmpty, createObject, autobind} from '../../utils/helper';
14
+ import {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';
15
15
  import {dataMapping} from '../../utils/tpl-builtin';
16
16
  import {SchemaApi} from '../../Schema';
17
17
  import Spinner from '../../components/Spinner';
@@ -91,6 +91,7 @@ export interface SelectProps extends OptionsControlProps {
91
91
  autoComplete?: Api;
92
92
  searchable?: boolean;
93
93
  defaultOpen?: boolean;
94
+ useMobileUI?: boolean;
94
95
  }
95
96
 
96
97
  export default class SelectControl extends React.Component<SelectProps, any> {
@@ -298,6 +299,7 @@ export default class SelectControl extends React.Component<SelectProps, any> {
298
299
  borderMode,
299
300
  selectMode,
300
301
  env,
302
+ useMobileUI,
301
303
  ...rest
302
304
  } = this.props;
303
305
 
@@ -305,6 +307,8 @@ export default class SelectControl extends React.Component<SelectProps, any> {
305
307
  noResultsText = render('noResultText', noResultsText);
306
308
  }
307
309
 
310
+ const mobileUI = useMobileUI && isMobile();
311
+
308
312
  return (
309
313
  <div className={cx(`${classPrefix}SelectControl`, className)}>
310
314
  {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(
@@ -314,7 +318,12 @@ export default class SelectControl extends React.Component<SelectProps, any> {
314
318
  ) : (
315
319
  <Select
316
320
  {...rest}
317
- useMobileUI={env.useMobileUI}
321
+ useMobileUI={useMobileUI}
322
+ popOverContainer={
323
+ mobileUI && env && env.getModalContainer
324
+ ? env.getModalContainer
325
+ : undefined
326
+ }
318
327
  borderMode={borderMode}
319
328
  placeholder={placeholder}
320
329
  multiple={multiple || multi}
@@ -348,6 +357,7 @@ export interface TransferDropDownProps
348
357
  | 'descriptionClassName'
349
358
  > {
350
359
  borderMode?: 'full' | 'half' | 'none';
360
+ useMobileUI?: boolean;
351
361
  }
352
362
 
353
363
  class TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {
@@ -368,7 +378,8 @@ class TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProp
368
378
  multiple,
369
379
  columns,
370
380
  leftMode,
371
- borderMode
381
+ borderMode,
382
+ useMobileUI
372
383
  } = this.props;
373
384
 
374
385
  // 目前 LeftOptions 没有接口可以动态加载
@@ -408,6 +419,7 @@ class TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProp
408
419
  leftMode={leftMode}
409
420
  leftOptions={leftOptions}
410
421
  borderMode={borderMode}
422
+ useMobileUI={useMobileUI}
411
423
  />
412
424
 
413
425
  <Spinner overlay key="info" show={loading} />
@@ -6,51 +6,19 @@ import {
6
6
  import React from 'react';
7
7
  import {Api} from '../../types';
8
8
  import Spinner from '../../components/Spinner';
9
- import {BaseTransferRenderer} from './Transfer';
9
+ import {BaseTransferRenderer, TransferControlSchema} from './Transfer';
10
10
  import TabsTransfer from '../../components/TabsTransfer';
11
- import {SchemaApi} from '../../Schema';
11
+ import {SchemaApi, SchemaObject} from '../../Schema';
12
+ import {autobind, createObject} from '../../utils/helper';
13
+ import {BaseSelection, ItemRenderStates} from '../../components/Selection';
12
14
 
13
15
  /**
14
16
  * TabsTransfer
15
17
  * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer
16
18
  */
17
- export interface TabsTransferControlSchema extends FormOptionsControl {
19
+ export interface TabsTransferControlSchema
20
+ extends Omit<TransferControlSchema, 'type'> {
18
21
  type: 'tabs-transfer';
19
-
20
- /**
21
- * 是否显示剪头
22
- */
23
- showArrow?: boolean;
24
-
25
- /**
26
- * 可排序?
27
- */
28
- sortable?: boolean;
29
-
30
- /**
31
- * 搜索结果展示模式
32
- */
33
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
34
-
35
- /**
36
- * 可搜索?
37
- */
38
- searchable?: boolean;
39
-
40
- /**
41
- * 搜索 API
42
- */
43
- searchApi?: SchemaApi;
44
-
45
- /**
46
- * 左侧的标题文字
47
- */
48
- selectTitle?: string;
49
-
50
- /**
51
- * 右侧结果的标题文字
52
- */
53
- resultTitle?: string;
54
22
  }
55
23
 
56
24
  export interface TabsTransferProps
@@ -68,6 +36,26 @@ export interface TabsTransferProps
68
36
  type: 'tabs-transfer'
69
37
  })
70
38
  export class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {
39
+ @autobind
40
+ optionItemRender(option: any, states: ItemRenderStates) {
41
+ const {menuTpl, render, data} = this.props;
42
+ const ctx = arguments[2] || {};
43
+
44
+ if (menuTpl) {
45
+ return render(`item/${states.index}`, menuTpl, {
46
+ data: createObject(
47
+ createObject(data, {
48
+ ...states,
49
+ ...ctx
50
+ }),
51
+ option
52
+ )
53
+ });
54
+ }
55
+
56
+ return BaseSelection.itemRender(option, states);
57
+ }
58
+
71
59
  render() {
72
60
  const {
73
61
  className,
@@ -100,6 +88,8 @@ export class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps
100
88
  onDeferLoad={deferLoad}
101
89
  selectTitle={selectTitle}
102
90
  resultTitle={resultTitle}
91
+ optionItemRender={this.optionItemRender}
92
+ resultItemRender={this.resultItemRender}
103
93
  />
104
94
 
105
95
  <Spinner overlay key="info" show={loading} />
@@ -4,60 +4,21 @@ import {
4
4
  FormOptionsControl
5
5
  } from './Options';
6
6
  import React from 'react';
7
- import {Api} from '../../types';
8
7
  import Spinner from '../../components/Spinner';
9
8
  import {BaseTransferRenderer} from './Transfer';
10
- import TabsTransfer from '../../components/TabsTransfer';
11
- import {SchemaApi} from '../../Schema';
12
- import TransferPicker from '../../components/TransferPicker';
9
+ import {SchemaApi, SchemaObject} from '../../Schema';
13
10
  import TabsTransferPicker from '../../components/TabsTransferPicker';
11
+ import {TabsTransferControlSchema} from './TabsTransfer';
12
+ import {autobind, createObject} from '../../utils/helper';
13
+ import {BaseSelection, ItemRenderStates} from '../../components/Selection';
14
14
 
15
15
  /**
16
16
  * TabsTransferPicker 穿梭器的弹框形态
17
17
  * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker
18
18
  */
19
- export interface TabsTransferPickerControlSchema extends FormOptionsControl {
19
+ export interface TabsTransferPickerControlSchema
20
+ extends Omit<TabsTransferControlSchema, 'type'> {
20
21
  type: 'tabs-transfer-picker';
21
-
22
- /**
23
- * 是否显示剪头
24
- */
25
- showArrow?: boolean;
26
-
27
- /**
28
- * 可排序?
29
- */
30
- sortable?: boolean;
31
-
32
- /**
33
- * 搜索结果展示模式
34
- */
35
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
36
-
37
- /**
38
- * 可搜索?
39
- */
40
- searchable?: boolean;
41
-
42
- /**
43
- * 搜索 API
44
- */
45
- searchApi?: SchemaApi;
46
-
47
- /**
48
- * 左侧的标题文字
49
- */
50
- selectTitle?: string;
51
-
52
- /**
53
- * 右侧结果的标题文字
54
- */
55
- resultTitle?: string;
56
-
57
- /**
58
- * 弹窗大小
59
- */
60
- pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
61
22
  }
62
23
 
63
24
  export interface TabsTransferProps
@@ -75,6 +36,26 @@ export interface TabsTransferProps
75
36
  type: 'tabs-transfer-picker'
76
37
  })
77
38
  export class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
39
+ @autobind
40
+ optionItemRender(option: any, states: ItemRenderStates) {
41
+ const {menuTpl, render, data} = this.props;
42
+ const ctx = arguments[2] || {};
43
+
44
+ if (menuTpl) {
45
+ return render(`item/${states.index}`, menuTpl, {
46
+ data: createObject(
47
+ createObject(data, {
48
+ ...states,
49
+ ...ctx
50
+ }),
51
+ option
52
+ )
53
+ });
54
+ }
55
+
56
+ return BaseSelection.itemRender(option, states);
57
+ }
58
+
78
59
  render() {
79
60
  const {
80
61
  className,
@@ -91,7 +72,6 @@ export class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransfe
91
72
  selectTitle,
92
73
  resultTitle,
93
74
  pickerSize,
94
- columns,
95
75
  leftMode,
96
76
  leftOptions
97
77
  } = this.props;
@@ -114,6 +94,8 @@ export class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransfe
114
94
  size={pickerSize}
115
95
  leftMode={leftMode}
116
96
  leftOptions={leftOptions}
97
+ optionItemRender={this.optionItemRender}
98
+ resultItemRender={this.resultItemRender}
117
99
  />
118
100
 
119
101
  <Spinner overlay key="info" show={loading} />
@@ -5,20 +5,28 @@ import {
5
5
  } from './Options';
6
6
  import React from 'react';
7
7
  import Transfer from '../../components/Transfer';
8
- import {Option} from './Options';
8
+ import type {Option} from './Options';
9
9
  import {
10
10
  autobind,
11
11
  filterTree,
12
12
  string2regExp,
13
13
  createObject,
14
- findTree
14
+ findTree,
15
+ findTreeIndex,
16
+ getTree,
17
+ spliceTree
15
18
  } from '../../utils/helper';
16
19
  import {Api} from '../../types';
17
20
  import Spinner from '../../components/Spinner';
18
21
  import find from 'lodash/find';
19
22
  import {optionValueCompare} from '../../components/Select';
20
23
  import {resolveVariable} from '../../utils/tpl-builtin';
21
- import {SchemaApi} from '../../Schema';
24
+ import {SchemaApi, SchemaObject} from '../../Schema';
25
+ import {BaseSelection, ItemRenderStates} from '../../components/Selection';
26
+ import {
27
+ ItemRenderStates as ResultItemRenderStates,
28
+ ResultList
29
+ } from '../../components/ResultList';
22
30
 
23
31
  /**
24
32
  * Transfer
@@ -91,6 +99,16 @@ export interface TransferControlSchema extends FormOptionsControl {
91
99
  * 右侧结果的标题文字
92
100
  */
93
101
  resultTitle?: string;
102
+
103
+ /**
104
+ * 用来丰富选项展示
105
+ */
106
+ menuTpl?: SchemaObject;
107
+
108
+ /**
109
+ * 用来丰富值的展示
110
+ */
111
+ valueTpl?: SchemaObject;
94
112
  }
95
113
 
96
114
  export interface BaseTransferProps
@@ -103,7 +121,6 @@ export interface BaseTransferProps
103
121
  | 'descriptionClassName'
104
122
  | 'inputClassName'
105
123
  > {
106
- optionItemRender?: (option: Option) => JSX.Element;
107
124
  resultItemRender?: (option: Option) => JSX.Element;
108
125
  }
109
126
 
@@ -111,7 +128,7 @@ export class BaseTransferRenderer<
111
128
  T extends OptionsControlProps = BaseTransferProps
112
129
  > extends React.Component<T> {
113
130
  @autobind
114
- handleChange(value: Array<Option>) {
131
+ handleChange(value: Array<Option>, optionModified?: boolean) {
115
132
  const {
116
133
  onChange,
117
134
  joinValues,
@@ -125,30 +142,37 @@ export class BaseTransferRenderer<
125
142
  let newOptions = options.concat();
126
143
 
127
144
  if (Array.isArray(value)) {
128
- if (joinValues || extractValue) {
129
- newValue = value.map(item => {
130
- const resolved = findTree(
131
- options,
132
- optionValueCompare(
133
- item[(valueField as string) || 'value'],
134
- (valueField as string) || 'value'
135
- )
136
- );
145
+ newValue = value.map(item => {
146
+ const indexes = findTreeIndex(
147
+ options,
148
+ optionValueCompare(
149
+ item[(valueField as string) || 'value'],
150
+ (valueField as string) || 'value'
151
+ )
152
+ );
137
153
 
138
- if (!resolved) {
139
- newOptions.push(item);
140
- }
154
+ if (!indexes) {
155
+ newOptions.push(item);
156
+ } else if (optionModified) {
157
+ const origin = getTree(newOptions, indexes);
158
+ newOptions = spliceTree(newOptions, indexes, 1, {
159
+ ...origin,
160
+ ...item
161
+ });
162
+ }
141
163
 
142
- return item[(valueField as string) || 'value'];
143
- });
144
- }
164
+ return joinValues || extractValue
165
+ ? item[(valueField as string) || 'value']
166
+ : item;
167
+ });
145
168
 
146
169
  if (joinValues) {
147
170
  newValue = newValue.join(delimiter || ',');
148
171
  }
149
172
  }
150
173
 
151
- newOptions.length > options.length && setOptions(newOptions, true);
174
+ (newOptions.length > options.length || optionModified) &&
175
+ setOptions(newOptions, true);
152
176
  onChange(newValue);
153
177
  }
154
178
 
@@ -220,6 +244,33 @@ export class BaseTransferRenderer<
220
244
  }
221
245
  }
222
246
 
247
+ @autobind
248
+ optionItemRender(option: Option, states: ItemRenderStates) {
249
+ const {menuTpl, render, data} = this.props;
250
+
251
+ if (menuTpl) {
252
+ return render(`item/${states.index}`, menuTpl, {
253
+ data: createObject(createObject(data, states), option)
254
+ });
255
+ }
256
+
257
+ return BaseSelection.itemRender(option, states);
258
+ }
259
+
260
+ @autobind
261
+ resultItemRender(option: Option, states: ResultItemRenderStates) {
262
+ const {valueTpl, render, data} = this.props;
263
+
264
+ if (valueTpl) {
265
+ return render(`value/${states.index}`, valueTpl, {
266
+ onChange: states.onChange,
267
+ data: createObject(createObject(data, states), option)
268
+ });
269
+ }
270
+
271
+ return ResultList.itemRender(option);
272
+ }
273
+
223
274
  @autobind
224
275
  renderCell(
225
276
  column: {
@@ -264,7 +315,7 @@ export class BaseTransferRenderer<
264
315
  disabled,
265
316
  selectTitle,
266
317
  resultTitle,
267
- optionItemRender,
318
+ menuTpl,
268
319
  resultItemRender
269
320
  } = this.props;
270
321
 
@@ -306,8 +357,8 @@ export class BaseTransferRenderer<
306
357
  cellRender={this.renderCell}
307
358
  selectTitle={selectTitle}
308
359
  resultTitle={resultTitle}
309
- optionItemRender={optionItemRender}
310
- resultItemRender={resultItemRender}
360
+ optionItemRender={this.optionItemRender}
361
+ resultItemRender={this.resultItemRender}
311
362
  />
312
363
 
313
364
  <Spinner overlay key="info" show={loading} />
@@ -6,57 +6,23 @@ import {
6
6
  import React from 'react';
7
7
  import {Api} from '../../types';
8
8
  import Spinner from '../../components/Spinner';
9
- import {BaseTransferRenderer} from './Transfer';
9
+ import {BaseTransferRenderer, TransferControlSchema} from './Transfer';
10
10
  import TabsTransfer from '../../components/TabsTransfer';
11
- import {SchemaApi} from '../../Schema';
11
+ import {SchemaApi, SchemaObject} from '../../Schema';
12
12
  import TransferPicker from '../../components/TransferPicker';
13
13
 
14
14
  /**
15
15
  * TransferPicker 穿梭器的弹框形态
16
16
  * 文档:https://baidu.gitee.io/amis/docs/components/form/transfer-picker
17
17
  */
18
- export interface TransferPickerControlSchema extends FormOptionsControl {
18
+ export interface TransferPickerControlSchema
19
+ extends Omit<TransferControlSchema, 'type'> {
19
20
  type: 'transfer-picker';
20
21
  /**
21
22
  * 边框模式,全边框,还是半边框,或者没边框。
22
23
  */
23
24
  borderMode?: 'full' | 'half' | 'none';
24
25
 
25
- /**
26
- * 是否显示剪头
27
- */
28
- showArrow?: boolean;
29
-
30
- /**
31
- * 可排序?
32
- */
33
- sortable?: boolean;
34
-
35
- /**
36
- * 搜索结果展示模式
37
- */
38
- searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
39
-
40
- /**
41
- * 可搜索?
42
- */
43
- searchable?: boolean;
44
-
45
- /**
46
- * 搜索 API
47
- */
48
- searchApi?: SchemaApi;
49
-
50
- /**
51
- * 左侧的标题文字
52
- */
53
- selectTitle?: string;
54
-
55
- /**
56
- * 右侧结果的标题文字
57
- */
58
- resultTitle?: string;
59
-
60
26
  /**
61
27
  * 弹窗大小
62
28
  */
@@ -136,6 +102,8 @@ export class TransferPickerRenderer extends BaseTransferRenderer<TabsTransferPro
136
102
  columns={columns}
137
103
  leftMode={leftMode}
138
104
  leftOptions={leftOptions}
105
+ optionItemRender={this.optionItemRender}
106
+ resultItemRender={this.resultItemRender}
139
107
  />
140
108
 
141
109
  <Spinner overlay key="info" show={loading} />
@@ -568,12 +568,13 @@ export default class TreeSelectControl extends React.Component<
568
568
  selectedOptions,
569
569
  placeholder,
570
570
  popOverContainer,
571
- env,
572
- translate: __
571
+ useMobileUI,
572
+ translate: __,
573
+ env
573
574
  } = this.props;
574
575
 
575
- const { isOpened } = this.state;
576
- const { useMobileUI } = env;
576
+ const {isOpened} = this.state;
577
+ const mobileUI = useMobileUI && isMobile();
577
578
  return (
578
579
  <div ref={this.container} className={cx(`TreeSelectControl`, className)}>
579
580
  <ResultBox
@@ -612,7 +613,7 @@ export default class TreeSelectControl extends React.Component<
612
613
  >
613
614
  {loading ? <Spinner size="sm" /> : undefined}
614
615
  </ResultBox>
615
- { !(useMobileUI && isMobile()) && isOpened ? (
616
+ {!mobileUI && isOpened ? (
616
617
  <Overlay
617
618
  container={popOverContainer || (() => this.container.current)}
618
619
  target={() => this.target}
@@ -631,17 +632,18 @@ export default class TreeSelectControl extends React.Component<
631
632
  </PopOver>
632
633
  </Overlay>
633
634
  ) : null}
634
- {
635
- useMobileUI && isMobile() && (
636
- <PopUp
637
- className={cx(`${ns}TreeSelect-popup`)}
638
- isShow={isOpened}
639
- onHide={this.close}
640
- >
641
- {this.renderOuter()}
642
- </PopUp>
643
- )
644
- }
635
+ {mobileUI ? (
636
+ <PopUp
637
+ container={
638
+ env && env.getModalContainer ? env.getModalContainer : undefined
639
+ }
640
+ className={cx(`${ns}TreeSelect-popup`)}
641
+ isShow={isOpened}
642
+ onHide={this.close}
643
+ >
644
+ {this.renderOuter()}
645
+ </PopUp>
646
+ ) : null}
645
647
  </div>
646
648
  );
647
649
  }
@@ -398,7 +398,8 @@ export default class Form extends React.Component<FormProps, object> {
398
398
  'simpleMode',
399
399
  'inputOnly',
400
400
  'value',
401
- 'actions'
401
+ 'actions',
402
+ 'multiple'
402
403
  ];
403
404
 
404
405
  hooks: {
@@ -161,8 +161,6 @@ export default class IFrame extends React.Component<IFrameProps, object> {
161
161
  ...style
162
162
  };
163
163
 
164
- src = dataMapping(src, data);
165
-
166
164
  const finalSrc = src ? buildApi(src, data).url : undefined;
167
165
 
168
166
  if (
@@ -94,6 +94,11 @@ export class JSONField extends React.Component<JSONProps, object> {
94
94
  let data = value;
95
95
  if (source !== undefined && isPureVariable(source)) {
96
96
  data = resolveVariableAndFilter(source, this.props.data, '| raw');
97
+ } else if (typeof value === 'string') {
98
+ // 尝试解析 json
99
+ try {
100
+ data = JSON.parse(value);
101
+ } catch (e) {}
97
102
  }
98
103
 
99
104
  let jsonThemeValue = jsonTheme;
@@ -415,7 +415,10 @@ export class Navigation extends React.Component<
415
415
  />
416
416
  ) : hasSub ? (
417
417
  <span
418
- onClick={() => this.toggleLink(link)}
418
+ onClick={e => {
419
+ this.toggleLink(link);
420
+ e.stopPropagation();
421
+ }}
419
422
  className={cx('Nav-itemToggler', togglerClassName)}
420
423
  >
421
424
  <Icon icon="caret" className="icon" />