amis 1.5.6-beta.4 → 1.5.8-beta.2

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 (427) 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/AsideNav.d.ts +1 -1
  5. package/lib/components/AsideNav.js.map +1 -1
  6. package/lib/components/AssociatedSelection.d.ts +84 -84
  7. package/lib/components/AssociatedSelection.js +2 -2
  8. package/lib/components/AssociatedSelection.js.map +2 -2
  9. package/lib/components/Avatar.d.ts +135 -0
  10. package/lib/components/Avatar.js +120 -0
  11. package/lib/components/Avatar.js.map +13 -0
  12. package/lib/components/BaiduMapPicker.js.map +2 -2
  13. package/lib/components/CalendarMobile.d.ts +547 -0
  14. package/lib/components/CalendarMobile.js +432 -0
  15. package/lib/components/CalendarMobile.js.map +13 -0
  16. package/lib/components/Card.d.ts +20 -20
  17. package/lib/components/Card.js +1 -1
  18. package/lib/components/Card.js.map +2 -2
  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/CodeMirror.d.ts +26 -0
  23. package/lib/components/CodeMirror.js +104 -0
  24. package/lib/components/CodeMirror.js.map +13 -0
  25. package/lib/components/Collapse.d.ts +22 -21
  26. package/lib/components/Collapse.js +1 -1
  27. package/lib/components/Collapse.js.map +2 -2
  28. package/lib/components/ColorPicker.d.ts +85 -84
  29. package/lib/components/ColorPicker.js +15 -3
  30. package/lib/components/ColorPicker.js.map +2 -2
  31. package/lib/components/DatePicker.d.ts +84 -84
  32. package/lib/components/DatePicker.js +15 -5
  33. package/lib/components/DatePicker.js.map +2 -2
  34. package/lib/components/DateRangePicker.d.ts +86 -84
  35. package/lib/components/DateRangePicker.js +22 -5
  36. package/lib/components/DateRangePicker.js.map +2 -2
  37. package/lib/components/GroupedSelection.d.ts +84 -84
  38. package/lib/components/GroupedSelection.js +14 -2
  39. package/lib/components/GroupedSelection.js.map +2 -2
  40. package/lib/components/MonthRangePicker.d.ts +86 -84
  41. package/lib/components/MonthRangePicker.js +20 -5
  42. package/lib/components/MonthRangePicker.js.map +2 -2
  43. package/lib/components/Overlay.d.ts +1 -1
  44. package/lib/components/Overlay.js.map +1 -1
  45. package/lib/components/Picker.js +9 -4
  46. package/lib/components/Picker.js.map +2 -2
  47. package/lib/components/PickerColumn.js +0 -1
  48. package/lib/components/PickerColumn.js.map +2 -2
  49. package/lib/components/PickerContainer.d.ts +5 -1
  50. package/lib/components/PickerContainer.js +14 -7
  51. package/lib/components/PickerContainer.js.map +2 -2
  52. package/lib/components/PopUp.d.ts +94 -0
  53. package/lib/components/PopUp.js +58 -0
  54. package/lib/components/PopUp.js.map +13 -0
  55. package/lib/components/Rating.d.ts +203 -73
  56. package/lib/components/Rating.js +147 -31
  57. package/lib/components/Rating.js.map +2 -2
  58. package/lib/components/ResultBox.js +2 -1
  59. package/lib/components/ResultBox.js.map +2 -2
  60. package/lib/components/ResultList.d.ts +9 -2
  61. package/lib/components/ResultList.js +22 -2
  62. package/lib/components/ResultList.js.map +2 -2
  63. package/lib/components/Select.d.ts +237 -237
  64. package/lib/components/Select.js +1 -1
  65. package/lib/components/Select.js.map +1 -1
  66. package/lib/components/Selection.d.ts +94 -86
  67. package/lib/components/Selection.js +11 -2
  68. package/lib/components/Selection.js.map +2 -2
  69. package/lib/components/Steps.d.ts +1 -0
  70. package/lib/components/Steps.js +5 -3
  71. package/lib/components/Steps.js.map +2 -2
  72. package/lib/components/TableSelection.d.ts +85 -85
  73. package/lib/components/TableSelection.js +1 -9
  74. package/lib/components/TableSelection.js.map +2 -2
  75. package/lib/components/Tabs.js +31 -33
  76. package/lib/components/Tabs.js.map +2 -2
  77. package/lib/components/TabsTransfer.d.ts +87 -256
  78. package/lib/components/TabsTransfer.js +52 -9
  79. package/lib/components/TabsTransfer.js.map +2 -2
  80. package/lib/components/TabsTransferPicker.d.ts +1 -1
  81. package/lib/components/TabsTransferPicker.js +21 -19
  82. package/lib/components/TabsTransferPicker.js.map +2 -2
  83. package/lib/components/Timeline.d.ts +69 -0
  84. package/lib/components/Timeline.js +16 -0
  85. package/lib/components/Timeline.js.map +13 -0
  86. package/lib/components/TimelineItem.d.ts +516 -0
  87. package/lib/components/TimelineItem.js +41 -0
  88. package/lib/components/TimelineItem.js.map +13 -0
  89. package/lib/components/Transfer.d.ts +100 -98
  90. package/lib/components/Transfer.js +2 -3
  91. package/lib/components/Transfer.js.map +2 -2
  92. package/lib/components/TransferDropDown.d.ts +84 -84
  93. package/lib/components/TransferDropDown.js +1 -5
  94. package/lib/components/TransferDropDown.js.map +2 -2
  95. package/lib/components/TransferPicker.d.ts +1 -1
  96. package/lib/components/TransferPicker.js +21 -19
  97. package/lib/components/TransferPicker.js.map +2 -2
  98. package/lib/components/TreeSelection.d.ts +85 -85
  99. package/lib/components/TreeSelection.js +7 -1
  100. package/lib/components/TreeSelection.js.map +2 -2
  101. package/lib/components/calendar/Calendar.d.ts +5 -0
  102. package/lib/components/calendar/Calendar.js +15 -2
  103. package/lib/components/calendar/Calendar.js.map +2 -2
  104. package/lib/components/calendar/DaysView.d.ts +1 -0
  105. package/lib/components/calendar/DaysView.js +25 -13
  106. package/lib/components/calendar/DaysView.js.map +2 -2
  107. package/lib/components/calendar/MonthsView.d.ts +28 -0
  108. package/lib/components/calendar/MonthsView.js +79 -3
  109. package/lib/components/calendar/MonthsView.js.map +2 -2
  110. package/lib/components/calendar/QuartersView.d.ts +1 -0
  111. package/lib/components/calendar/QuartersView.js +2 -2
  112. package/lib/components/calendar/QuartersView.js.map +2 -2
  113. package/lib/components/calendar/TimeView.d.ts +5 -0
  114. package/lib/components/calendar/TimeView.js +8 -5
  115. package/lib/components/calendar/TimeView.js.map +2 -2
  116. package/lib/components/calendar/YearsView.js +6 -4
  117. package/lib/components/calendar/YearsView.js.map +2 -2
  118. package/lib/components/condition-builder/Field.js +1 -4
  119. package/lib/components/condition-builder/Field.js.map +2 -2
  120. package/lib/components/condition-builder/Func.js +1 -1
  121. package/lib/components/condition-builder/Func.js.map +2 -2
  122. package/lib/components/formula/Editor.d.ts +563 -0
  123. package/lib/components/formula/Editor.js +187 -0
  124. package/lib/components/formula/Editor.js.map +13 -0
  125. package/lib/components/formula/FuncList.d.ts +67 -0
  126. package/lib/components/formula/FuncList.js +36 -0
  127. package/lib/components/formula/FuncList.js.map +13 -0
  128. package/lib/components/formula/Picker.d.ts +493 -0
  129. package/lib/components/formula/Picker.js +48 -0
  130. package/lib/components/formula/Picker.js.map +13 -0
  131. package/lib/components/formula/VariableList.d.ts +9 -0
  132. package/lib/components/formula/VariableList.js +15 -0
  133. package/lib/components/formula/VariableList.js.map +13 -0
  134. package/lib/components/formula/plugin.d.ts +18 -0
  135. package/lib/components/formula/plugin.js +136 -0
  136. package/lib/components/formula/plugin.js.map +13 -0
  137. package/lib/components/icons.js +4 -0
  138. package/lib/components/icons.js.map +2 -2
  139. package/lib/components/index.d.ts +2 -1
  140. package/lib/components/index.js +4 -2
  141. package/lib/components/index.js.map +2 -2
  142. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  143. package/lib/components/virtual-list/index.js +1 -2
  144. package/lib/components/virtual-list/index.js.map +2 -2
  145. package/lib/factory.js +5 -0
  146. package/lib/factory.js.map +2 -2
  147. package/lib/helper.css +57 -57
  148. package/lib/helper.css.map +1 -1
  149. package/lib/icons/star.js +12 -0
  150. package/lib/icons/tree-down.js +7 -0
  151. package/lib/index.d.ts +2 -0
  152. package/lib/index.js +3 -1
  153. package/lib/index.js.map +2 -2
  154. package/lib/locale/de-DE.js +13 -2
  155. package/lib/locale/de-DE.js.map +2 -2
  156. package/lib/locale/en-US.js +13 -2
  157. package/lib/locale/en-US.js.map +2 -2
  158. package/lib/locale/zh-CN.js +12 -1
  159. package/lib/locale/zh-CN.js.map +2 -2
  160. package/lib/renderers/Avatar.d.ts +35 -26
  161. package/lib/renderers/Avatar.js +14 -19
  162. package/lib/renderers/Avatar.js.map +2 -2
  163. package/lib/renderers/CRUD.js +1 -2
  164. package/lib/renderers/CRUD.js.map +2 -2
  165. package/lib/renderers/Card.js +6 -5
  166. package/lib/renderers/Card.js.map +2 -2
  167. package/lib/renderers/Custom.js.map +2 -2
  168. package/lib/renderers/Each.js +5 -2
  169. package/lib/renderers/Each.js.map +2 -2
  170. package/lib/renderers/Flex.js +1 -5
  171. package/lib/renderers/Flex.js.map +2 -2
  172. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  173. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  174. package/lib/renderers/Form/DiffEditor.js +2 -1
  175. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  176. package/lib/renderers/Form/InputCity.d.ts +84 -84
  177. package/lib/renderers/Form/InputColor.d.ts +84 -84
  178. package/lib/renderers/Form/InputColor.js +1 -1
  179. package/lib/renderers/Form/InputColor.js.map +2 -2
  180. package/lib/renderers/Form/InputDate.js +6 -4
  181. package/lib/renderers/Form/InputDate.js.map +2 -2
  182. package/lib/renderers/Form/InputDateRange.js +1 -1
  183. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  184. package/lib/renderers/Form/InputFormula.d.ts +38 -0
  185. package/lib/renderers/Form/InputFormula.js +25 -0
  186. package/lib/renderers/Form/InputFormula.js.map +13 -0
  187. package/lib/renderers/Form/InputImage.d.ts +1 -0
  188. package/lib/renderers/Form/InputImage.js +8 -4
  189. package/lib/renderers/Form/InputImage.js.map +2 -2
  190. package/lib/renderers/Form/InputMonthRange.js +1 -1
  191. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  192. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  193. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  194. package/lib/renderers/Form/InputRating.d.ts +37 -0
  195. package/lib/renderers/Form/InputRating.js +6 -2
  196. package/lib/renderers/Form/InputRating.js.map +2 -2
  197. package/lib/renderers/Form/InputYearRange.js +1 -1
  198. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  199. package/lib/renderers/Form/Item.js +11 -4
  200. package/lib/renderers/Form/Item.js.map +2 -2
  201. package/lib/renderers/Form/NestedSelect.js +1 -1
  202. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  203. package/lib/renderers/Form/Select.js +1 -1
  204. package/lib/renderers/Form/Select.js.map +2 -2
  205. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  206. package/lib/renderers/Form/TabsTransfer.js +20 -1
  207. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  208. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  209. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  210. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  211. package/lib/renderers/Form/Transfer.d.ts +15 -4
  212. package/lib/renderers/Form/Transfer.js +55 -18
  213. package/lib/renderers/Form/Transfer.js.map +2 -2
  214. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  215. package/lib/renderers/Form/TransferPicker.js +1 -1
  216. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  217. package/lib/renderers/Form/TreeSelect.d.ts +1 -0
  218. package/lib/renderers/Form/TreeSelect.js +11 -8
  219. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  220. package/lib/renderers/Form/index.js +2 -1
  221. package/lib/renderers/Form/index.js.map +2 -2
  222. package/lib/renderers/IFrame.js +0 -2
  223. package/lib/renderers/IFrame.js.map +2 -2
  224. package/lib/renderers/Json.js +7 -0
  225. package/lib/renderers/Json.js.map +2 -2
  226. package/lib/renderers/Nav.js +4 -1
  227. package/lib/renderers/Nav.js.map +2 -2
  228. package/lib/renderers/Remark.d.ts +4 -0
  229. package/lib/renderers/Remark.js +38 -7
  230. package/lib/renderers/Remark.js.map +2 -2
  231. package/lib/renderers/Steps.js +5 -5
  232. package/lib/renderers/Steps.js.map +2 -2
  233. package/lib/renderers/Table/TableRow.js +4 -1
  234. package/lib/renderers/Table/TableRow.js.map +2 -2
  235. package/lib/renderers/Table/index.js +4 -1
  236. package/lib/renderers/Table/index.js.map +2 -2
  237. package/lib/renderers/Tabs.js +1 -1
  238. package/lib/renderers/Tabs.js.map +2 -2
  239. package/lib/renderers/Timeline.d.ts +65 -0
  240. package/lib/renderers/Timeline.js +54 -0
  241. package/lib/renderers/Timeline.js.map +13 -0
  242. package/lib/renderers/Video.js.map +2 -2
  243. package/lib/store/combo.js.map +2 -2
  244. package/lib/store/formItem.js +6 -6
  245. package/lib/store/formItem.js.map +2 -2
  246. package/lib/store/table.js +1 -1
  247. package/lib/store/table.js.map +2 -2
  248. package/lib/themes/ang-ie11.css +952 -23
  249. package/lib/themes/ang.css +952 -23
  250. package/lib/themes/ang.css.map +1 -1
  251. package/lib/themes/antd-ie11.css +987 -23
  252. package/lib/themes/antd.css +987 -23
  253. package/lib/themes/antd.css.map +1 -1
  254. package/lib/themes/cxd-ie11.css +991 -24
  255. package/lib/themes/cxd.css +991 -24
  256. package/lib/themes/cxd.css.map +1 -1
  257. package/lib/themes/dark-ie11.css +953 -23
  258. package/lib/themes/dark.css +953 -23
  259. package/lib/themes/dark.css.map +1 -1
  260. package/lib/themes/default.css +991 -24
  261. package/lib/themes/default.css.map +1 -1
  262. package/lib/utils/RootClose.js +3 -1
  263. package/lib/utils/RootClose.js.map +2 -2
  264. package/lib/utils/api.js +2 -2
  265. package/lib/utils/api.js.map +2 -2
  266. package/lib/utils/helper.d.ts +1 -1
  267. package/lib/utils/helper.js +1 -1
  268. package/lib/utils/helper.js.map +2 -2
  269. package/package.json +12 -3
  270. package/schema.json +1224 -671
  271. package/scss/_properties.scss +11 -1
  272. package/scss/_variables.scss +1 -1
  273. package/scss/components/_avatar.scss +27 -9
  274. package/scss/components/_calendar.scss +280 -0
  275. package/scss/components/_card.scss +1 -1
  276. package/scss/components/_collapse-group.scss +1 -3
  277. package/scss/components/_formula.scss +146 -0
  278. package/scss/components/_modal.scss +18 -0
  279. package/scss/components/_panel.scss +45 -0
  280. package/scss/components/_popup.scss +127 -0
  281. package/scss/components/_steps.scss +60 -0
  282. package/scss/components/_timeline.scss +198 -0
  283. package/scss/components/form/_color.scss +4 -0
  284. package/scss/components/form/_date-range.scss +4 -0
  285. package/scss/components/form/_date.scss +3 -0
  286. package/scss/components/form/_form.scss +168 -0
  287. package/scss/components/form/_rating.scss +60 -21
  288. package/scss/components/form/_result-list.scss +2 -0
  289. package/scss/components/form/_selection.scss +5 -4
  290. package/scss/components/form/_tree-select.scss +4 -0
  291. package/scss/helper/background/_background-color.scss +1 -1
  292. package/scss/helper/border/_border-color.scss +1 -1
  293. package/scss/helper/typography/_text-color.scss +1 -1
  294. package/scss/themes/_antd-variables.scss +42 -0
  295. package/scss/themes/_common.scss +3 -0
  296. package/scss/themes/_cxd-variables.scss +50 -1
  297. package/scss/themes/_dark-variables.scss +1 -0
  298. package/sdk/ang-ie11.css +1692 -19
  299. package/sdk/ang.css +1705 -24
  300. package/sdk/antd-ie11.css +1692 -19
  301. package/sdk/antd.css +1740 -24
  302. package/sdk/charts.js +17 -17
  303. package/sdk/codemirror.js +14 -0
  304. package/sdk/color-picker.js +65 -65
  305. package/sdk/cropperjs.js +3 -3
  306. package/sdk/cxd-ie11.css +1693 -20
  307. package/sdk/cxd.css +1744 -25
  308. package/sdk/dark-ie11.css +1693 -20
  309. package/sdk/dark.css +1706 -24
  310. package/sdk/exceljs.js +1 -1
  311. package/sdk/helper.css +57 -57
  312. package/sdk/helper.css.map +1 -1
  313. package/sdk/locale/de-DE.js +13 -2
  314. package/sdk/markdown.js +69 -69
  315. package/sdk/papaparse.js +1 -1
  316. package/sdk/renderers/Form/CityDB.js +1 -1
  317. package/sdk/rest.js +18 -18
  318. package/sdk/rich-text.js +62 -62
  319. package/sdk/sdk-ie11.css +1693 -20
  320. package/sdk/sdk.css +1744 -25
  321. package/sdk/sdk.js +1235 -1275
  322. package/sdk/thirds/hls.js/hls.js +18 -18
  323. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  324. package/sdk/tinymce.js +57 -57
  325. package/src/Schema.ts +4 -0
  326. package/src/components/AsideNav.tsx +1 -1
  327. package/src/components/AssociatedSelection.tsx +5 -1
  328. package/src/components/Avatar.tsx +253 -0
  329. package/src/components/BaiduMapPicker.tsx +19 -14
  330. package/src/components/CalendarMobile.tsx +563 -0
  331. package/src/components/Card.tsx +2 -2
  332. package/src/components/ChainedSelection.tsx +16 -3
  333. package/src/components/CodeMirror.tsx +99 -0
  334. package/src/components/Collapse.tsx +3 -2
  335. package/src/components/ColorPicker.tsx +43 -3
  336. package/src/components/DatePicker.tsx +44 -8
  337. package/src/components/DateRangePicker.tsx +64 -5
  338. package/src/components/GroupedSelection.tsx +14 -2
  339. package/src/components/MonthRangePicker.tsx +59 -5
  340. package/src/components/Overlay.tsx +1 -1
  341. package/src/components/Picker.tsx +41 -36
  342. package/src/components/PickerColumn.tsx +22 -25
  343. package/src/components/PickerContainer.tsx +23 -7
  344. package/src/components/PopUp.tsx +118 -0
  345. package/src/components/Rating.tsx +235 -47
  346. package/src/components/ResultBox.tsx +4 -1
  347. package/src/components/ResultList.tsx +36 -6
  348. package/src/components/Select.tsx +1 -1
  349. package/src/components/Selection.tsx +21 -3
  350. package/src/components/Steps.tsx +27 -9
  351. package/src/components/TableSelection.tsx +1 -44
  352. package/src/components/Tabs.tsx +65 -54
  353. package/src/components/TabsTransfer.tsx +78 -9
  354. package/src/components/TabsTransferPicker.tsx +25 -13
  355. package/src/components/Timeline.tsx +31 -0
  356. package/src/components/TimelineItem.tsx +107 -0
  357. package/src/components/Transfer.tsx +11 -8
  358. package/src/components/TransferDropDown.tsx +1 -7
  359. package/src/components/TransferPicker.tsx +25 -14
  360. package/src/components/TreeSelection.tsx +7 -1
  361. package/src/components/calendar/Calendar.tsx +26 -6
  362. package/src/components/calendar/DaysView.tsx +79 -31
  363. package/src/components/calendar/MonthsView.tsx +116 -2
  364. package/src/components/calendar/QuartersView.tsx +3 -2
  365. package/src/components/calendar/TimeView.tsx +26 -16
  366. package/src/components/calendar/YearsView.tsx +14 -16
  367. package/src/components/condition-builder/Field.tsx +1 -3
  368. package/src/components/condition-builder/Func.tsx +1 -1
  369. package/src/components/formula/Editor.tsx +266 -0
  370. package/src/components/formula/FuncList.tsx +84 -0
  371. package/src/components/formula/Picker.tsx +87 -0
  372. package/src/components/formula/VariableList.tsx +49 -0
  373. package/src/components/formula/plugin.ts +177 -0
  374. package/src/components/icons.tsx +4 -0
  375. package/src/components/index.tsx +2 -0
  376. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  377. package/src/components/virtual-list/index.tsx +4 -6
  378. package/src/factory.tsx +6 -0
  379. package/src/icons/star.svg +12 -0
  380. package/src/icons/tree-down.svg +5 -0
  381. package/src/index.tsx +2 -0
  382. package/src/locale/de-DE.ts +13 -2
  383. package/src/locale/en-US.ts +13 -2
  384. package/src/locale/zh-CN.ts +12 -1
  385. package/src/renderers/Avatar.tsx +83 -74
  386. package/src/renderers/CRUD.tsx +1 -3
  387. package/src/renderers/Card.tsx +10 -6
  388. package/src/renderers/Custom.tsx +6 -3
  389. package/src/renderers/Each.tsx +4 -4
  390. package/src/renderers/Flex.tsx +3 -7
  391. package/src/renderers/Form/ChartRadios.tsx +2 -7
  392. package/src/renderers/Form/Checkboxes.tsx +1 -1
  393. package/src/renderers/Form/DiffEditor.tsx +2 -3
  394. package/src/renderers/Form/InputColor.tsx +1 -2
  395. package/src/renderers/Form/InputDate.tsx +39 -18
  396. package/src/renderers/Form/InputDateRange.tsx +1 -0
  397. package/src/renderers/Form/InputFormula.tsx +80 -0
  398. package/src/renderers/Form/InputImage.tsx +9 -4
  399. package/src/renderers/Form/InputMonthRange.tsx +1 -0
  400. package/src/renderers/Form/InputQuarterRange.tsx +1 -0
  401. package/src/renderers/Form/InputRating.tsx +66 -3
  402. package/src/renderers/Form/InputYearRange.tsx +1 -0
  403. package/src/renderers/Form/Item.tsx +15 -4
  404. package/src/renderers/Form/NestedSelect.tsx +1 -1
  405. package/src/renderers/Form/Select.tsx +0 -1
  406. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  407. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  408. package/src/renderers/Form/Transfer.tsx +75 -24
  409. package/src/renderers/Form/TransferPicker.tsx +6 -38
  410. package/src/renderers/Form/TreeSelect.tsx +80 -63
  411. package/src/renderers/Form/index.tsx +2 -1
  412. package/src/renderers/IFrame.tsx +0 -2
  413. package/src/renderers/Json.tsx +5 -0
  414. package/src/renderers/Nav.tsx +4 -1
  415. package/src/renderers/Remark.tsx +67 -18
  416. package/src/renderers/Steps.tsx +13 -13
  417. package/src/renderers/Table/TableRow.tsx +3 -1
  418. package/src/renderers/Table/index.tsx +7 -1
  419. package/src/renderers/Tabs.tsx +6 -2
  420. package/src/renderers/Timeline.tsx +141 -0
  421. package/src/renderers/Video.tsx +4 -20
  422. package/src/store/combo.ts +1 -3
  423. package/src/store/formItem.ts +2 -2
  424. package/src/store/table.ts +2 -1
  425. package/src/utils/RootClose.ts +5 -1
  426. package/src/utils/api.ts +5 -2
  427. package/src/utils/helper.ts +1 -1
@@ -4,7 +4,7 @@ import moment from 'moment';
4
4
  import React from 'react';
5
5
  import {LocaleProps, localeable} from '../../locale';
6
6
  import Picker from '../Picker';
7
- import {convertDateToObject, getRange, isMobile} from "../../utils/helper";
7
+ import {convertDateToObject, getRange, isMobile} from '../../utils/helper';
8
8
 
9
9
  export class CustomYearsView extends YearsView {
10
10
  props: {
@@ -38,28 +38,30 @@ export class CustomYearsView extends YearsView {
38
38
  };
39
39
 
40
40
  onConfirm = (value: number[]) => {
41
- this.props.onConfirm && this.props.onConfirm(value, ["year"])
42
- }
41
+ this.props.onConfirm && this.props.onConfirm(value, ['year']);
42
+ };
43
43
 
44
44
  renderYearPicker = () => {
45
- const {minDate, maxDate, selectedDate, viewDate} = this.props;
45
+ const {minDate, maxDate, selectedDate, viewDate} = this.props;
46
46
  const year = (selectedDate || viewDate || moment()).year();
47
47
  const maxYear = maxDate ? convertDateToObject(maxDate)!.year : year + 100;
48
48
  const minYear = minDate ? convertDateToObject(minDate)!.year : year - 100;
49
-
50
- const columns = [{
51
- options: getRange(minYear, maxYear, 1)
52
- }];
49
+
50
+ const columns = [
51
+ {
52
+ options: getRange(minYear, maxYear, 1)
53
+ }
54
+ ];
53
55
 
54
56
  return (
55
57
  <Picker
56
58
  translate={this.props.translate}
57
59
  locale={this.props.locale}
58
60
  columns={columns}
59
- value={[year]}
61
+ value={[year]}
60
62
  onConfirm={this.onConfirm}
61
63
  onClose={this.props.onClose}
62
- />
64
+ />
63
65
  );
64
66
  };
65
67
 
@@ -67,13 +69,9 @@ export class CustomYearsView extends YearsView {
67
69
  let year = this.props.viewDate.year();
68
70
  year = year - (year % 10);
69
71
  const __ = this.props.translate;
70
-
72
+
71
73
  if (isMobile() && this.props.useMobileUI) {
72
- return (
73
- <div className="rdtYears">
74
- {this.renderYearPicker()}
75
- </div>
76
- );
74
+ return <div className="rdtYears">{this.renderYearPicker()}</div>;
77
75
  }
78
76
  return (
79
77
  <div className="rdtYears">
@@ -114,9 +114,7 @@ export class ConditionField extends React.Component<
114
114
  ref={ref}
115
115
  allowInput={false}
116
116
  result={
117
- value
118
- ? findTree(options, item => item.name === value)?.label
119
- : ''
117
+ value ? findTree(options, item => item.name === value) : ''
120
118
  }
121
119
  onResultChange={noop}
122
120
  onResultClick={onClick}
@@ -97,7 +97,7 @@ export class ConditionFunc extends React.Component<ConditionFuncProps> {
97
97
  )}
98
98
  ref={ref}
99
99
  allowInput={false}
100
- result={func?.label}
100
+ result={func}
101
101
  onResultChange={noop}
102
102
  onResultClick={onClick}
103
103
  placeholder="请选择字段"
@@ -0,0 +1,266 @@
1
+ /**
2
+ * @file 公式编辑器
3
+ */
4
+ import React from 'react';
5
+ import {uncontrollable} from 'uncontrollable';
6
+ import {FormulaPlugin, editorFactory} from './plugin';
7
+ import {doc} from 'amis-formula/dist/doc';
8
+ import FuncList from './FuncList';
9
+ import {VariableList} from './VariableList';
10
+ import {parse} from 'amis-formula';
11
+ import {autobind} from '../../utils/helper';
12
+ import CodeMirrorEditor from '../CodeMirror';
13
+ import {themeable, ThemeProps} from '../../theme';
14
+ import {localeable, LocaleProps} from '../../locale';
15
+
16
+ export interface VariableItem {
17
+ label: string;
18
+ value?: string;
19
+ children?: Array<VariableItem>;
20
+ selectMode?: 'tree' | 'tabs';
21
+ }
22
+
23
+ export interface FuncGroup {
24
+ groupName: string;
25
+ items: Array<FuncItem>;
26
+ }
27
+
28
+ export interface FuncItem {
29
+ name: string;
30
+ [propName: string]: any;
31
+ }
32
+
33
+ export interface FormulaEditorProps extends ThemeProps, LocaleProps {
34
+ onChange?: (value: string) => void;
35
+ value: string;
36
+ /**
37
+ * evalMode 即直接就是表达式,否则
38
+ * 需要 ${这里面才是表达式}
39
+ * 默认为 true
40
+ */
41
+ evalMode?: boolean;
42
+
43
+ /**
44
+ * 用于提示的变量集合,默认为空
45
+ */
46
+ variables: Array<VariableItem>;
47
+
48
+ /**
49
+ * 变量展现模式,可选值:'tabs' | 'tree'
50
+ */
51
+ variableMode?: 'tabs' | 'tree';
52
+
53
+ /**
54
+ * 函数集合,默认不需要传,即 amis-formula 里面那个函数
55
+ * 如果有扩充,则需要传。
56
+ */
57
+ functions: Array<FuncGroup>;
58
+
59
+ /**
60
+ * 顶部标题,默认为表达式
61
+ */
62
+ header: string;
63
+ }
64
+
65
+ export interface FunctionsProps {
66
+ name: string;
67
+ items: FunctionProps[];
68
+ }
69
+
70
+ export interface FunctionProps {
71
+ name: string;
72
+ intro: string;
73
+ usage: string;
74
+ example: string;
75
+ }
76
+
77
+ export interface FormulaState {
78
+ focused: boolean;
79
+ }
80
+
81
+ export class FormulaEditor extends React.Component<
82
+ FormulaEditorProps,
83
+ FormulaState
84
+ > {
85
+ state: FormulaState = {
86
+ focused: false
87
+ };
88
+ editorPlugin?: FormulaPlugin;
89
+
90
+ static buildDefaultFunctions(
91
+ doc: Array<{
92
+ namespace: string;
93
+ name: string;
94
+ [propName: string]: any;
95
+ }>
96
+ ) {
97
+ const funcs: Array<FuncGroup> = [];
98
+
99
+ doc.forEach(item => {
100
+ const namespace = item.namespace || 'Others';
101
+ let exists = funcs.find(item => item.groupName === namespace);
102
+ if (!exists) {
103
+ exists = {
104
+ groupName: namespace,
105
+ items: []
106
+ };
107
+ funcs.push(exists);
108
+ }
109
+ exists.items.push(item);
110
+ });
111
+
112
+ return funcs;
113
+ }
114
+
115
+ static defaultProps: Pick<
116
+ FormulaEditorProps,
117
+ 'functions' | 'variables' | 'evalMode'
118
+ > = {
119
+ functions: this.buildDefaultFunctions(doc),
120
+ variables: [],
121
+ evalMode: true
122
+ };
123
+
124
+ static highlightValue(
125
+ value: string,
126
+ variables: Array<VariableItem>,
127
+ functions: Array<FuncGroup>
128
+ ) {
129
+ // todo 高亮原始文本
130
+ return value;
131
+ }
132
+
133
+ componentWillUnmount() {
134
+ this.editorPlugin?.dispose();
135
+ }
136
+
137
+ @autobind
138
+ handleFocus() {
139
+ this.setState({
140
+ focused: true
141
+ });
142
+ }
143
+
144
+ @autobind
145
+ handleBlur() {
146
+ this.setState({
147
+ focused: false
148
+ });
149
+ }
150
+
151
+ @autobind
152
+ insertValue(value: any, type: 'variable' | 'func') {
153
+ this.editorPlugin?.insertContent(value, type);
154
+ }
155
+
156
+ @autobind
157
+ handleEditorMounted(cm: any, editor: any) {
158
+ this.editorPlugin = new FormulaPlugin(editor, cm, () => this.props);
159
+ }
160
+
161
+ @autobind
162
+ validate() {
163
+ const value = this.props.value;
164
+
165
+ try {
166
+ value
167
+ ? parse(value, {
168
+ evalMode: this.props.evalMode
169
+ })
170
+ : null;
171
+ } catch (e) {
172
+ return e.message;
173
+ }
174
+
175
+ return;
176
+ }
177
+
178
+ @autobind
179
+ handleFunctionSelect(item: FuncItem) {
180
+ this.editorPlugin?.insertContent(`${item.name}`, 'func');
181
+ }
182
+
183
+ @autobind
184
+ handleVariableSelect(item: VariableItem) {
185
+ this.editorPlugin?.insertContent(
186
+ {
187
+ key: item.value,
188
+ name: item.label
189
+ },
190
+ 'variable'
191
+ );
192
+ }
193
+
194
+ @autobind
195
+ handleOnChange(value: any) {
196
+ const onChange = this.props.onChange;
197
+ onChange?.(value);
198
+ }
199
+
200
+ @autobind
201
+ editorFactory(dom: HTMLElement, cm: any) {
202
+ return editorFactory(dom, cm, this.props);
203
+ }
204
+
205
+ render() {
206
+ const {
207
+ variables,
208
+ header,
209
+ value,
210
+ functions,
211
+ variableMode,
212
+ classnames: cx
213
+ } = this.props;
214
+ const {focused} = this.state;
215
+
216
+ return (
217
+ <div
218
+ className={cx(`FormulaEditor`, {
219
+ 'is-focused': focused
220
+ })}
221
+ >
222
+ <div className={cx(`FormulaEditor-content`)}>
223
+ <div className={cx(`FormulaEditor-header`)}>{header ?? '表达式'}</div>
224
+
225
+ <CodeMirrorEditor
226
+ className={cx('FormulaEditor-editor')}
227
+ value={value}
228
+ onChange={this.handleOnChange}
229
+ editorFactory={this.editorFactory}
230
+ editorDidMount={this.handleEditorMounted}
231
+ onFocus={this.handleFocus}
232
+ onBlur={this.handleBlur}
233
+ ></CodeMirrorEditor>
234
+ </div>
235
+
236
+ <div className={cx('FormulaEditor-settings')}>
237
+ {Array.isArray(functions) && functions.length ? (
238
+ <div>
239
+ <h3>变量</h3>
240
+ <VariableList
241
+ className={cx('VariableList')}
242
+ selectMode={variableMode}
243
+ data={variables}
244
+ onSelect={this.handleVariableSelect}
245
+ />
246
+ </div>
247
+ ) : null}
248
+ {Array.isArray(variables) && variables.length ? (
249
+ <div>
250
+ <h3>函数</h3>
251
+ <FuncList data={functions} onSelect={this.handleFunctionSelect} />
252
+ </div>
253
+ ) : null}
254
+ </div>
255
+ </div>
256
+ );
257
+ }
258
+ }
259
+
260
+ export default uncontrollable(
261
+ themeable(localeable(FormulaEditor)),
262
+ {
263
+ value: 'onChange'
264
+ },
265
+ ['validate']
266
+ );
@@ -0,0 +1,84 @@
1
+ import React from 'react';
2
+ import {themeable, ThemeProps} from '../../theme';
3
+ import Collapse from '../Collapse';
4
+ import CollapseGroup from '../CollapseGroup';
5
+ import SearchBox from '../SearchBox';
6
+ import type {FuncGroup, FuncItem} from './Editor';
7
+
8
+ export interface FuncListProps extends ThemeProps {
9
+ data: Array<FuncGroup>;
10
+ onSelect?: (item: FuncItem) => void;
11
+ }
12
+
13
+ export function FuncList(props: FuncListProps) {
14
+ const cx = props.classnames;
15
+ const [filteredFuncs, setFiteredFuncs] = React.useState(props.data);
16
+ const [activeFunc, setActiveFunc] = React.useState<any>(null);
17
+ function onSearch(term: string) {
18
+ const filtered = props.data
19
+ .map(item => {
20
+ return {
21
+ ...item,
22
+ items: term
23
+ ? item.items.filter(item => ~item.name.indexOf(term.toUpperCase()))
24
+ : item.items
25
+ };
26
+ })
27
+ .filter(item => item.items.length);
28
+ setFiteredFuncs(filtered);
29
+ }
30
+
31
+ return (
32
+ <div className={cx('FormulaFuncList')}>
33
+ <SearchBox
34
+ className="FormulaFuncList-searchBox"
35
+ mini={false}
36
+ onSearch={onSearch}
37
+ />
38
+ <div className={cx('FormulaFuncList-columns')}>
39
+ <CollapseGroup
40
+ className="FormulaFuncList-group"
41
+ defaultActiveKey={filteredFuncs[0]?.groupName}
42
+ accordion
43
+ >
44
+ {filteredFuncs.map(item => (
45
+ <Collapse
46
+ headingClassName="FormulaFuncList-groupTitle"
47
+ bodyClassName="FormulaFuncList-groupBody"
48
+ propKey={item.groupName}
49
+ header={item.groupName}
50
+ key={item.groupName}
51
+ >
52
+ {item.items.map(item => (
53
+ <div
54
+ className={cx(
55
+ `FormulaFuncList-funcItem ${
56
+ item.name === activeFunc?.name ? 'is-active' : ''
57
+ }`
58
+ )}
59
+ onMouseEnter={() => setActiveFunc(item)}
60
+ onClick={() => props.onSelect?.(item)}
61
+ key={item.name}
62
+ >
63
+ {item.name}
64
+ </div>
65
+ ))}
66
+ </Collapse>
67
+ ))}
68
+ </CollapseGroup>
69
+ <div className={cx('FormulaFuncList-column')}>
70
+ {activeFunc ? (
71
+ <div className={cx('FormulaFuncList-funcDetail')}>
72
+ <pre>
73
+ <code>{activeFunc.example}</code>
74
+ </pre>
75
+ <div>{activeFunc.description}</div>
76
+ </div>
77
+ ) : null}
78
+ </div>
79
+ </div>
80
+ </div>
81
+ );
82
+ }
83
+
84
+ export default themeable(FuncList);
@@ -0,0 +1,87 @@
1
+ import {uncontrollable} from 'uncontrollable';
2
+ import React from 'react';
3
+ import {FormulaEditor, FormulaEditorProps} from './Editor';
4
+ import {autobind, noop} from '../../utils/helper';
5
+ import PickerContainer from '../PickerContainer';
6
+ import Editor from './Editor';
7
+ import ResultBox from '../ResultBox';
8
+ import {Icon} from '../icons';
9
+ import {themeable} from '../../theme';
10
+ import {localeable} from '../../locale';
11
+
12
+ export interface FormulaPickerProps extends FormulaEditorProps {
13
+ // 新的属性?
14
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
15
+
16
+ /**
17
+ * 边框模式,全边框,还是半边框,或者没边框。
18
+ */
19
+ borderMode?: 'full' | 'half' | 'none';
20
+
21
+ disabled?: boolean;
22
+ }
23
+
24
+ export class FormulaPicker extends React.Component<FormulaPickerProps> {
25
+ @autobind
26
+ handleConfirm(value: any) {
27
+ this.props.onChange?.(value);
28
+ }
29
+
30
+ render() {
31
+ const {
32
+ classnames: cx,
33
+ value,
34
+ translate: __,
35
+ disabled,
36
+ className,
37
+ onChange,
38
+ size,
39
+ borderMode,
40
+ ...rest
41
+ } = this.props;
42
+
43
+ return (
44
+ <PickerContainer
45
+ showTitle={false}
46
+ bodyRender={({onClose, value, onChange}) => {
47
+ return <Editor {...rest} value={value} onChange={onChange} />;
48
+ }}
49
+ value={value}
50
+ onConfirm={this.handleConfirm}
51
+ size={'md'}
52
+ >
53
+ {({onClick, isOpened}) => (
54
+ <ResultBox
55
+ className={cx(
56
+ 'FormulaPicker',
57
+ className,
58
+ isOpened ? 'is-active' : ''
59
+ )}
60
+ allowInput={false}
61
+ result={FormulaEditor.highlightValue(
62
+ value,
63
+ rest.variables,
64
+ rest.functions
65
+ )}
66
+ onResultChange={noop}
67
+ onResultClick={onClick}
68
+ disabled={disabled}
69
+ borderMode={borderMode}
70
+ >
71
+ <span className={cx('FormulaPicker-icon')}>
72
+ <Icon icon="pencil" className="icon" />
73
+ </span>
74
+ </ResultBox>
75
+ )}
76
+ </PickerContainer>
77
+ );
78
+ }
79
+ }
80
+
81
+ export default themeable(
82
+ localeable(
83
+ uncontrollable(FormulaPicker, {
84
+ value: 'onChange'
85
+ })
86
+ )
87
+ );
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+ import GroupedSelection from '../GroupedSelection';
3
+ import Tabs, {Tab} from '../Tabs';
4
+ import TreeSelection from '../TreeSelection';
5
+ import type {VariableItem} from './Editor';
6
+
7
+ export interface VariableListProps {
8
+ className?: string;
9
+ data: Array<VariableItem>;
10
+ selectMode?: 'list' | 'tree' | 'tabs';
11
+ onSelect?: (item: VariableItem) => void;
12
+ }
13
+
14
+ export function VariableList({
15
+ data: list,
16
+ className,
17
+ selectMode,
18
+ onSelect
19
+ }: VariableListProps) {
20
+ return (
21
+ <div className={className}>
22
+ {selectMode === 'tabs' ? (
23
+ <Tabs tabsMode="radio">
24
+ {list.map((item, index) => (
25
+ <Tab eventKey={index} key={index} title={item.label}>
26
+ <VariableList
27
+ selectMode={item.selectMode}
28
+ data={item.children!}
29
+ onSelect={onSelect}
30
+ />
31
+ </Tab>
32
+ ))}
33
+ </Tabs>
34
+ ) : selectMode === 'tree' ? (
35
+ <TreeSelection
36
+ multiple={false}
37
+ options={list}
38
+ onChange={(item: any) => onSelect?.(item)}
39
+ />
40
+ ) : (
41
+ <GroupedSelection
42
+ multiple={false}
43
+ options={list}
44
+ onChange={(item: any) => onSelect?.(item)}
45
+ />
46
+ )}
47
+ </div>
48
+ );
49
+ }