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
@@ -3,38 +3,36 @@
3
3
  */
4
4
  import React from 'react';
5
5
  import {Renderer, RendererProps} from '../factory';
6
- import {
7
- BaseSchema,
8
- SchemaClassName,
9
- SchemaIcon,
10
- SchemaUrlPath
11
- } from '../Schema';
6
+ import Avatar from '../components/Avatar';
12
7
  import {BadgeSchema, withBadge} from '../components/Badge';
13
- import {
14
- isPureVariable,
15
- resolveVariable,
16
- resolveVariableAndFilter
17
- } from '../utils/tpl-builtin';
8
+ import {BaseSchema, SchemaClassName} from '../Schema';
9
+ import {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
18
10
 
19
- /**
20
- * Avatar 用户头像显示
21
- * 文档:https://baidu.gitee.io/amis/docs/components/avatar
22
- */
23
11
  export interface AvatarSchema extends BaseSchema {
12
+ // 指定类型
13
+ type: 'avatar';
14
+
24
15
  /**
25
- * 指定为用户头像控件
16
+ * 类名
26
17
  */
27
- type: 'avatar';
18
+ className?: SchemaClassName;
28
19
 
29
20
  /**
30
- * 大小
21
+ * 自定义样式
31
22
  */
32
- size?: number;
23
+ style?: {
24
+ [propName: string]: any;
25
+ };
33
26
 
34
27
  /**
35
- * 形状
28
+ * 角标
29
+ */
30
+ badge?: BadgeSchema;
31
+
32
+ /**
33
+ * 图片地址
36
34
  */
37
- shape?: 'circle' | 'square';
35
+ src?: string;
38
36
 
39
37
  /**
40
38
  * 图标
@@ -42,19 +40,29 @@ export interface AvatarSchema extends BaseSchema {
42
40
  icon?: string;
43
41
 
44
42
  /**
45
- * 文本
43
+ * 图片相对于容器的缩放方式
46
44
  */
47
- text?: string;
45
+ fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
48
46
 
49
47
  /**
50
- * 图片地址
48
+ * 形状
51
49
  */
52
- src?: string;
50
+ shape?: 'circle' | 'square' | 'rounded';
53
51
 
54
52
  /**
55
- * 图片相对于容器的缩放方式
53
+ * 大小
56
54
  */
57
- fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
55
+ size?: number | 'small' | 'default' | 'large';
56
+
57
+ /**
58
+ * 文本
59
+ */
60
+ text?: string;
61
+
62
+ /**
63
+ * 字符类型距离左右两侧边界单位像素
64
+ */
65
+ gap?: number;
58
66
 
59
67
  /**
60
68
  * 图片无法显示时的替换文字地址
@@ -62,82 +70,83 @@ export interface AvatarSchema extends BaseSchema {
62
70
  alt?: string;
63
71
 
64
72
  /**
65
- * 类名
73
+ * 图片是否允许拖动
66
74
  */
67
- className?: SchemaClassName;
75
+ draggable?: boolean;
68
76
 
69
77
  /**
70
- * 自定义样式
78
+ * 图片CORS属性
71
79
  */
72
- style?: {
73
- [propName: string]: any;
74
- };
80
+ crossOrigin: 'anonymous' | 'use-credentials' | '';
75
81
 
76
82
  /**
77
- * 角标
83
+ * 图片加载失败的是否默认处理,字符串函数
78
84
  */
79
- badge?: BadgeSchema;
85
+ onError?: string
80
86
  }
81
87
 
82
- export interface AvatarProps
83
- extends RendererProps,
84
- Omit<AvatarSchema, 'type' | 'className'> {}
88
+ export interface AvatarProps extends RendererProps, Omit<AvatarSchema, 'type' | 'className'> {}
89
+
90
+ export class AvatarField extends React.Component<AvatarProps> {
85
91
 
86
- export class AvatarField extends React.Component<AvatarProps, object> {
87
92
  render() {
88
93
  let {
94
+ style = {},
89
95
  className,
96
+ classnames: cx,
97
+ src,
90
98
  icon = 'fa fa-user',
99
+ fit,
100
+ shape,
101
+ size,
91
102
  text,
92
- src,
93
- fit = 'cover',
94
- data,
95
- shape = 'circle',
96
- size = 40,
97
- style,
98
- classnames: cx,
99
- props
103
+ gap,
104
+ alt,
105
+ draggable,
106
+ crossOrigin,
107
+ onError,
108
+ data
100
109
  } = this.props;
101
110
 
102
- let sizeStyle = {
103
- height: size,
104
- width: size,
105
- lineHeight: size + 'px'
106
- };
111
+ let errHandler = () => false;
107
112
 
108
- if (isPureVariable(text)) {
109
- text = resolveVariableAndFilter(text, data);
113
+ if (typeof onError === 'string') {
114
+ try {
115
+ errHandler = new Function('event', onError) as () => boolean;
116
+ } catch (e) {
117
+ console.warn(onError, e);
118
+ }
110
119
  }
111
120
 
112
121
  if (isPureVariable(src)) {
113
122
  src = resolveVariableAndFilter(src, data, '| raw');
114
123
  }
115
124
 
116
- if (isPureVariable(icon)) {
117
- icon = resolveVariableAndFilter(icon, data);
118
- }
119
-
120
- let avatar = <i className={icon} />;
121
-
122
- if (text) {
123
- if (text.length > 2) {
124
- text = text.substring(0, 2).toUpperCase();
125
- }
126
- avatar = <span>{text}</span>;
125
+ if (isPureVariable(text)) {
126
+ text = resolveVariableAndFilter(text, data);
127
127
  }
128
128
 
129
- if (src) {
130
- avatar = <img src={src} style={{objectFit: fit}} />;
129
+ if (isPureVariable(icon)) {
130
+ icon = resolveVariableAndFilter(icon, data);
131
131
  }
132
132
 
133
133
  return (
134
- <div
135
- className={cx('Avatar', className, `Avatar--${shape}`)}
136
- style={{...sizeStyle, ...style}}
137
- {...props}
138
- >
139
- {avatar}
140
- </div>
134
+ <Avatar
135
+ style={style}
136
+ className={className}
137
+ classnames={cx}
138
+ src={src}
139
+ icon={icon}
140
+ fit={fit}
141
+ shape={shape}
142
+ size={size}
143
+ text={text}
144
+ gap={gap}
145
+ alt={alt}
146
+ draggable={draggable}
147
+ crossOrigin={crossOrigin}
148
+ onError={errHandler}
149
+ />
141
150
  );
142
151
  }
143
152
  }
@@ -1532,9 +1532,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
1532
1532
  renderBulkActions(childProps: any) {
1533
1533
  let {bulkActions, itemActions, store, render, classnames: cx} = this.props;
1534
1534
 
1535
- const items = childProps.items;
1536
-
1537
- if (!items.length || !bulkActions || !bulkActions.length) {
1535
+ if (!bulkActions || !bulkActions.length) {
1538
1536
  return null;
1539
1537
  }
1540
1538
 
@@ -4,7 +4,7 @@ import {SchemaNode, Schema, Action, PlainObject} from '../types';
4
4
  import {filter, evalExpression} from '../utils/tpl';
5
5
  import Checkbox from '../components/Checkbox';
6
6
  import {padArr, isVisible, isDisabled, noop, hashCode} from '../utils/helper';
7
- import {resolveVariable} from '../utils/tpl-builtin';
7
+ import {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
8
8
  import QuickEdit, {SchemaQuickEdit} from './QuickEdit';
9
9
  import PopOver, {SchemaPopOver} from './PopOver';
10
10
  import {TableCell} from './Table';
@@ -644,15 +644,19 @@ export class CardRenderer extends React.Component<CardProps> {
644
644
  }
645
645
 
646
646
  renderMedia() {
647
- const {media, classnames: cx, render, region} = this.props;
647
+ const {media, classnames: cx, render, region, data} = this.props;
648
648
  if (media) {
649
649
  const {type, url, className, autoPlay, isLive, poster} = media;
650
+ const mediaUrl = resolveVariableAndFilter(url, data, '| raw');
650
651
 
651
- if (type === 'image' && url) {
652
+ if (type === 'image' && mediaUrl) {
652
653
  return (
653
- <img className={cx('Card-multiMedia-img', className)} src={url} />
654
+ <img
655
+ className={cx('Card-multiMedia-img', className)}
656
+ src={mediaUrl}
657
+ />
654
658
  );
655
- } else if (type === 'video' && url) {
659
+ } else if (type === 'video' && mediaUrl) {
656
660
  return (
657
661
  <div className={cx('Card-multiMedia-video', className)}>
658
662
  {
@@ -660,7 +664,7 @@ export class CardRenderer extends React.Component<CardProps> {
660
664
  type: type,
661
665
  autoPlay: autoPlay,
662
666
  poster: poster,
663
- src: url,
667
+ src: mediaUrl,
664
668
  isLive: isLive
665
669
  }) as JSX.Element
666
670
  }
@@ -33,9 +33,12 @@ export interface CustomProps extends FormControlProps, CustomSchema {
33
33
 
34
34
  // 添加resolver,指定所有参数的联合字符串为key。因为最后一个参数为函数体
35
35
  // 缓存一下,避免在 crud 中的自定义组件被大量执行
36
- const getFunction = memoize((...args) => {
37
- return new Function(...args);
38
- }, (...args) => JSON.stringify(args));
36
+ const getFunction = memoize(
37
+ (...args) => {
38
+ return new Function(...args);
39
+ },
40
+ (...args) => JSON.stringify(args)
41
+ );
39
42
 
40
43
  export class Custom extends React.Component<CustomProps, object> {
41
44
  static defaultProps: Partial<CustomProps> = {
@@ -13,6 +13,13 @@ import {DividerSchema} from './Divider';
13
13
  import {RootClose} from '../utils/RootClose';
14
14
  import {generateIcon} from '../utils/icon';
15
15
 
16
+ import type {Option} from '../components/Select';
17
+
18
+ export type DropdownButton =
19
+ | (ActionSchema & {children?: Array<DropdownButton>})
20
+ | DividerSchema
21
+ | 'divider';
22
+
16
23
  /**
17
24
  * 下拉按钮渲染器。
18
25
  * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button
@@ -34,9 +41,9 @@ export interface DropdownButtonSchema extends BaseSchema {
34
41
  btnClassName?: SchemaClassName;
35
42
 
36
43
  /**
37
- * 按钮集合
44
+ * 按钮集合,支持分组
38
45
  */
39
- buttons?: Array<ActionSchema | DividerSchema | 'divider'>;
46
+ buttons?: Array<DropdownButton>;
40
47
 
41
48
  /**
42
49
  * 按钮文字
@@ -92,6 +99,11 @@ export interface DropdownButtonSchema extends BaseSchema {
92
99
  * 是否显示下拉按钮
93
100
  */
94
101
  hideCaret?: boolean;
102
+
103
+ /**
104
+ * 菜单 CSS 样式
105
+ */
106
+ menuClassName?: string;
95
107
  }
96
108
 
97
109
  export interface DropDownButtonProps
@@ -110,6 +122,7 @@ export interface DropDownButtonProps
110
122
  label?: any;
111
123
  // 激活状态
112
124
  isActived?: boolean;
125
+ menuClassName?: string;
113
126
  }
114
127
 
115
128
  export interface DropDownButtonState {
@@ -175,6 +188,49 @@ export default class DropDownButton extends React.Component<
175
188
  });
176
189
  }
177
190
 
191
+ renderButton(
192
+ button: DropdownButton,
193
+ index: number | string
194
+ ): React.ReactNode {
195
+ const {render, classnames: cx, data} = this.props;
196
+ index = typeof index === 'number' ? index.toString() : index;
197
+
198
+ if (typeof button !== 'string' && Array.isArray(button?.children)) {
199
+ return (
200
+ <div key={index} className={cx('DropDown-menu')}>
201
+ <li key={`${index}/0`} className={cx('DropDown-groupTitle')}>
202
+ {button.icon ? generateIcon(cx, button.icon, 'm-r-xs') : null}
203
+ <span>{button.label}</span>
204
+ </li>
205
+ {button.children.map((child, childIndex) =>
206
+ this.renderButton(child, `${index}/${childIndex + 1}`)
207
+ )}
208
+ </div>
209
+ );
210
+ }
211
+
212
+ if (typeof button !== 'string' && !isVisible(button, data)) {
213
+ return null;
214
+ } else if (button === 'divider' || button.type === 'divider') {
215
+ return <li key={index} className={cx('DropDown-divider')} />;
216
+ } else {
217
+ return (
218
+ <li
219
+ key={index}
220
+ className={cx('DropDown-button', {
221
+ ['is-disabled']: isDisabled(button, data)
222
+ })}
223
+ >
224
+ {render(`button/${index}`, {
225
+ type: 'button',
226
+ ...(button as any),
227
+ isMenuItem: true
228
+ })}
229
+ </li>
230
+ );
231
+ }
232
+ }
233
+
178
234
  renderOuter() {
179
235
  const {
180
236
  render,
@@ -186,7 +242,8 @@ export default class DropDownButton extends React.Component<
186
242
  children,
187
243
  align,
188
244
  closeOnClick,
189
- closeOnOutside
245
+ closeOnOutside,
246
+ menuClassName
190
247
  } = this.props;
191
248
 
192
249
  let body = (
@@ -197,43 +254,20 @@ export default class DropDownButton extends React.Component<
197
254
  {(ref: any) => {
198
255
  return (
199
256
  <ul
200
- className={cx('DropDown-menu')}
257
+ className={cx(
258
+ 'DropDown-menu-root',
259
+ 'DropDown-menu',
260
+ menuClassName
261
+ )}
201
262
  onClick={closeOnClick ? this.close : noop}
202
263
  ref={ref}
203
264
  >
204
265
  {children
205
266
  ? children
206
267
  : Array.isArray(buttons)
207
- ? buttons.map((button, index) => {
208
- if (
209
- typeof button !== 'string' &&
210
- !isVisible(button, data)
211
- ) {
212
- return null;
213
- } else if (
214
- button === 'divider' ||
215
- button.type === 'divider'
216
- ) {
217
- return (
218
- <li key={index} className={cx('DropDown-divider')} />
219
- );
220
- }
221
-
222
- return (
223
- <li
224
- key={index}
225
- className={
226
- isDisabled(button, data) ? 'is-disabled' : ''
227
- }
228
- >
229
- {render(`button/${index}`, {
230
- type: 'button',
231
- ...(button as any),
232
- isMenuItem: true
233
- })}
234
- </li>
235
- );
236
- })
268
+ ? buttons.map((button, index) =>
269
+ this.renderButton(button, index)
270
+ )
237
271
  : null}
238
272
  </ul>
239
273
  );
@@ -248,7 +282,7 @@ export default class DropDownButton extends React.Component<
248
282
  overlay
249
283
  onHide={this.close}
250
284
  classPrefix={ns}
251
- className={cx('DropDown-popover')}
285
+ className={cx('DropDown-popover', menuClassName)}
252
286
  style={{minWidth: this.target?.offsetWidth}}
253
287
  >
254
288
  {body}
@@ -54,10 +54,10 @@ export default class Each extends React.Component<EachProps> {
54
54
  translate: __
55
55
  } = this.props;
56
56
 
57
- const value = getPropValue(
58
- this.props,
59
- props => props.source && !props.name
60
- ? resolveVariableAndFilter(props.source, props.data, '| raw') : undefined
57
+ const value = getPropValue(this.props, props =>
58
+ props.source && !props.name
59
+ ? resolveVariableAndFilter(props.source, props.data, '| raw')
60
+ : undefined
61
61
  );
62
62
 
63
63
  const arr = isObject(value)
@@ -112,13 +112,9 @@ export default class Flex extends React.Component<FlexProps, object> {
112
112
 
113
113
  return (
114
114
  <div style={flexStyle} className={className}>
115
- {(Array.isArray(items)
116
- ? items
117
- : items
118
- ? [items]
119
- : []
120
- ).map((item, key) =>
121
- render(`flexItem/${key}`, item, {key: `flexItem/${key}`})
115
+ {(Array.isArray(items) ? items : items ? [items] : []).map(
116
+ (item, key) =>
117
+ render(`flexItem/${key}`, item, {key: `flexItem/${key}`})
122
118
  )}
123
119
  </div>
124
120
  );
@@ -98,13 +98,8 @@ export default class ChartRadiosControl extends React.Component<
98
98
  }
99
99
 
100
100
  render() {
101
- const {
102
- options,
103
- labelField,
104
- chartValueField,
105
- valueField,
106
- render
107
- } = this.props;
101
+ const {options, labelField, chartValueField, valueField, render} =
102
+ this.props;
108
103
  const config = {
109
104
  legend: {
110
105
  top: 10
@@ -216,7 +216,7 @@ export default class CheckboxesControl extends React.Component<
216
216
  inline={inline}
217
217
  labelClassName={labelClassName}
218
218
  >
219
- {__('Checkboxes.selectAll')}
219
+ {__('Checkboxes.selectAll')}
220
220
  </Checkbox>
221
221
  );
222
222
  }