amis 1.5.7 → 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 (350) 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.d.ts +20 -20
  15. package/lib/components/ChainedSelection.d.ts +84 -84
  16. package/lib/components/ChainedSelection.js +15 -3
  17. package/lib/components/ChainedSelection.js.map +2 -2
  18. package/lib/components/ColorPicker.d.ts +84 -84
  19. package/lib/components/ColorPicker.js.map +2 -2
  20. package/lib/components/DatePicker.d.ts +84 -84
  21. package/lib/components/DatePicker.js +10 -4
  22. package/lib/components/DatePicker.js.map +2 -2
  23. package/lib/components/DateRangePicker.d.ts +85 -84
  24. package/lib/components/DateRangePicker.js +21 -6
  25. package/lib/components/DateRangePicker.js.map +2 -2
  26. package/lib/components/GroupedSelection.d.ts +84 -84
  27. package/lib/components/GroupedSelection.js +14 -2
  28. package/lib/components/GroupedSelection.js.map +2 -2
  29. package/lib/components/MonthRangePicker.d.ts +85 -84
  30. package/lib/components/MonthRangePicker.js +19 -6
  31. package/lib/components/MonthRangePicker.js.map +2 -2
  32. package/lib/components/Overlay.d.ts +1 -1
  33. package/lib/components/Overlay.js.map +1 -1
  34. package/lib/components/Picker.js +9 -4
  35. package/lib/components/Picker.js.map +2 -2
  36. package/lib/components/PickerColumn.js +0 -1
  37. package/lib/components/PickerColumn.js.map +2 -2
  38. package/lib/components/PickerContainer.d.ts +3 -0
  39. package/lib/components/PickerContainer.js +12 -5
  40. package/lib/components/PickerContainer.js.map +2 -2
  41. package/lib/components/PopUp.d.ts +1 -0
  42. package/lib/components/PopUp.js +5 -5
  43. package/lib/components/PopUp.js.map +2 -2
  44. package/lib/components/ResultBox.js +2 -1
  45. package/lib/components/ResultBox.js.map +2 -2
  46. package/lib/components/ResultList.d.ts +9 -2
  47. package/lib/components/ResultList.js +22 -2
  48. package/lib/components/ResultList.js.map +2 -2
  49. package/lib/components/Select.d.ts +237 -237
  50. package/lib/components/Select.js +1 -1
  51. package/lib/components/Select.js.map +1 -1
  52. package/lib/components/Selection.d.ts +94 -86
  53. package/lib/components/Selection.js +11 -2
  54. package/lib/components/Selection.js.map +2 -2
  55. package/lib/components/Steps.js.map +2 -2
  56. package/lib/components/TableSelection.d.ts +85 -85
  57. package/lib/components/TableSelection.js +1 -9
  58. package/lib/components/TableSelection.js.map +2 -2
  59. package/lib/components/Tabs.js +31 -33
  60. package/lib/components/Tabs.js.map +2 -2
  61. package/lib/components/TabsTransfer.d.ts +87 -256
  62. package/lib/components/TabsTransfer.js +52 -9
  63. package/lib/components/TabsTransfer.js.map +2 -2
  64. package/lib/components/TabsTransferPicker.d.ts +1 -1
  65. package/lib/components/TabsTransferPicker.js +20 -18
  66. package/lib/components/TabsTransferPicker.js.map +2 -2
  67. package/lib/components/Timeline.d.ts +69 -0
  68. package/lib/components/Timeline.js +16 -0
  69. package/lib/components/Timeline.js.map +13 -0
  70. package/lib/components/TimelineItem.d.ts +516 -0
  71. package/lib/components/TimelineItem.js +41 -0
  72. package/lib/components/TimelineItem.js.map +13 -0
  73. package/lib/components/Transfer.d.ts +100 -98
  74. package/lib/components/Transfer.js +2 -3
  75. package/lib/components/Transfer.js.map +2 -2
  76. package/lib/components/TransferDropDown.d.ts +84 -84
  77. package/lib/components/TransferDropDown.js +1 -5
  78. package/lib/components/TransferDropDown.js.map +2 -2
  79. package/lib/components/TransferPicker.d.ts +1 -0
  80. package/lib/components/TransferPicker.js +19 -4
  81. package/lib/components/TransferPicker.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +85 -85
  83. package/lib/components/TreeSelection.js +7 -1
  84. package/lib/components/TreeSelection.js.map +2 -2
  85. package/lib/components/calendar/Calendar.d.ts +5 -0
  86. package/lib/components/calendar/Calendar.js +15 -2
  87. package/lib/components/calendar/Calendar.js.map +2 -2
  88. package/lib/components/calendar/DaysView.d.ts +1 -0
  89. package/lib/components/calendar/DaysView.js +25 -13
  90. package/lib/components/calendar/DaysView.js.map +2 -2
  91. package/lib/components/calendar/MonthsView.d.ts +28 -0
  92. package/lib/components/calendar/MonthsView.js +79 -3
  93. package/lib/components/calendar/MonthsView.js.map +2 -2
  94. package/lib/components/calendar/QuartersView.d.ts +1 -0
  95. package/lib/components/calendar/QuartersView.js +2 -2
  96. package/lib/components/calendar/QuartersView.js.map +2 -2
  97. package/lib/components/calendar/TimeView.d.ts +5 -0
  98. package/lib/components/calendar/TimeView.js +8 -5
  99. package/lib/components/calendar/TimeView.js.map +2 -2
  100. package/lib/components/calendar/YearsView.js +6 -4
  101. package/lib/components/calendar/YearsView.js.map +2 -2
  102. package/lib/components/condition-builder/Field.js +1 -4
  103. package/lib/components/condition-builder/Field.js.map +2 -2
  104. package/lib/components/condition-builder/Func.js +1 -1
  105. package/lib/components/condition-builder/Func.js.map +2 -2
  106. package/lib/components/formula/Editor.d.ts +3 -0
  107. package/lib/components/formula/Editor.js +3 -2
  108. package/lib/components/formula/Editor.js.map +2 -2
  109. package/lib/components/formula/FuncList.js +2 -1
  110. package/lib/components/formula/FuncList.js.map +2 -2
  111. package/lib/components/formula/Picker.js +1 -1
  112. package/lib/components/formula/Picker.js.map +2 -2
  113. package/lib/components/icons.js +2 -0
  114. package/lib/components/icons.js.map +2 -2
  115. package/lib/components/index.d.ts +2 -1
  116. package/lib/components/index.js +4 -2
  117. package/lib/components/index.js.map +2 -2
  118. package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
  119. package/lib/components/virtual-list/index.js +1 -2
  120. package/lib/components/virtual-list/index.js.map +2 -2
  121. package/lib/factory.js +5 -0
  122. package/lib/factory.js.map +2 -2
  123. package/lib/icons/tree-down.js +7 -0
  124. package/lib/index.d.ts +1 -0
  125. package/lib/index.js +2 -1
  126. package/lib/index.js.map +2 -2
  127. package/lib/locale/de-DE.js +13 -2
  128. package/lib/locale/de-DE.js.map +2 -2
  129. package/lib/locale/en-US.js +13 -2
  130. package/lib/locale/en-US.js.map +2 -2
  131. package/lib/locale/zh-CN.js +12 -1
  132. package/lib/locale/zh-CN.js.map +2 -2
  133. package/lib/renderers/Avatar.d.ts +35 -26
  134. package/lib/renderers/Avatar.js +14 -19
  135. package/lib/renderers/Avatar.js.map +2 -2
  136. package/lib/renderers/Card.js +6 -5
  137. package/lib/renderers/Card.js.map +2 -2
  138. package/lib/renderers/Custom.js.map +2 -2
  139. package/lib/renderers/Each.js +5 -2
  140. package/lib/renderers/Each.js.map +2 -2
  141. package/lib/renderers/Flex.js +1 -5
  142. package/lib/renderers/Flex.js.map +2 -2
  143. package/lib/renderers/Form/ChartRadios.js.map +2 -2
  144. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  145. package/lib/renderers/Form/DiffEditor.js +2 -1
  146. package/lib/renderers/Form/DiffEditor.js.map +2 -2
  147. package/lib/renderers/Form/InputCity.d.ts +84 -84
  148. package/lib/renderers/Form/InputColor.d.ts +84 -84
  149. package/lib/renderers/Form/InputColor.js +1 -1
  150. package/lib/renderers/Form/InputColor.js.map +2 -2
  151. package/lib/renderers/Form/InputDate.js +6 -4
  152. package/lib/renderers/Form/InputDate.js.map +2 -2
  153. package/lib/renderers/Form/InputDateRange.js +1 -1
  154. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  155. package/lib/renderers/Form/InputFormula.d.ts +4 -1
  156. package/lib/renderers/Form/InputFormula.js +2 -2
  157. package/lib/renderers/Form/InputFormula.js.map +2 -2
  158. package/lib/renderers/Form/InputImage.d.ts +1 -0
  159. package/lib/renderers/Form/InputImage.js +8 -4
  160. package/lib/renderers/Form/InputImage.js.map +2 -2
  161. package/lib/renderers/Form/InputMonthRange.js +1 -1
  162. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  163. package/lib/renderers/Form/InputQuarterRange.js +1 -1
  164. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  165. package/lib/renderers/Form/InputYearRange.js +1 -1
  166. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  167. package/lib/renderers/Form/Item.js +11 -4
  168. package/lib/renderers/Form/Item.js.map +2 -2
  169. package/lib/renderers/Form/NestedSelect.js +1 -1
  170. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  171. package/lib/renderers/Form/Select.js +1 -1
  172. package/lib/renderers/Form/Select.js.map +2 -2
  173. package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
  174. package/lib/renderers/Form/TabsTransfer.js +20 -1
  175. package/lib/renderers/Form/TabsTransfer.js.map +2 -2
  176. package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
  177. package/lib/renderers/Form/TabsTransferPicker.js +21 -2
  178. package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
  179. package/lib/renderers/Form/Transfer.d.ts +15 -4
  180. package/lib/renderers/Form/Transfer.js +55 -18
  181. package/lib/renderers/Form/Transfer.js.map +2 -2
  182. package/lib/renderers/Form/TransferPicker.d.ts +3 -32
  183. package/lib/renderers/Form/TransferPicker.js +1 -1
  184. package/lib/renderers/Form/TransferPicker.js.map +2 -2
  185. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  186. package/lib/renderers/IFrame.js +0 -2
  187. package/lib/renderers/IFrame.js.map +2 -2
  188. package/lib/renderers/Remark.d.ts +4 -0
  189. package/lib/renderers/Remark.js +38 -7
  190. package/lib/renderers/Remark.js.map +2 -2
  191. package/lib/renderers/Steps.js +5 -5
  192. package/lib/renderers/Steps.js.map +2 -2
  193. package/lib/renderers/Table/index.js +4 -1
  194. package/lib/renderers/Table/index.js.map +2 -2
  195. package/lib/renderers/Tabs.js +1 -1
  196. package/lib/renderers/Tabs.js.map +2 -2
  197. package/lib/renderers/Timeline.d.ts +65 -0
  198. package/lib/renderers/Timeline.js +54 -0
  199. package/lib/renderers/Timeline.js.map +13 -0
  200. package/lib/renderers/Video.js.map +2 -2
  201. package/lib/store/combo.js.map +2 -2
  202. package/lib/themes/ang-ie11.css +659 -25
  203. package/lib/themes/ang.css +659 -25
  204. package/lib/themes/ang.css.map +1 -1
  205. package/lib/themes/antd-ie11.css +694 -25
  206. package/lib/themes/antd.css +694 -25
  207. package/lib/themes/antd.css.map +1 -1
  208. package/lib/themes/cxd-ie11.css +696 -25
  209. package/lib/themes/cxd.css +696 -25
  210. package/lib/themes/cxd.css.map +1 -1
  211. package/lib/themes/dark-ie11.css +660 -25
  212. package/lib/themes/dark.css +660 -25
  213. package/lib/themes/dark.css.map +1 -1
  214. package/lib/themes/default.css +696 -25
  215. package/lib/themes/default.css.map +1 -1
  216. package/lib/utils/RootClose.js +3 -1
  217. package/lib/utils/RootClose.js.map +2 -2
  218. package/lib/utils/helper.d.ts +1 -1
  219. package/lib/utils/helper.js +1 -1
  220. package/lib/utils/helper.js.map +2 -2
  221. package/package.json +13 -6
  222. package/schema.json +1042 -541
  223. package/scss/_properties.scss +8 -0
  224. package/scss/components/_avatar.scss +27 -9
  225. package/scss/components/_calendar.scss +280 -0
  226. package/scss/components/_card.scss +1 -1
  227. package/scss/components/_collapse-group.scss +1 -3
  228. package/scss/components/_formula.scss +30 -6
  229. package/scss/components/_modal.scss +18 -0
  230. package/scss/components/_panel.scss +45 -0
  231. package/scss/components/_popup.scss +10 -6
  232. package/scss/components/_timeline.scss +198 -0
  233. package/scss/components/form/_form.scss +168 -0
  234. package/scss/components/form/_result-list.scss +2 -0
  235. package/scss/components/form/_selection.scss +5 -4
  236. package/scss/themes/_antd-variables.scss +42 -0
  237. package/scss/themes/_common.scss +1 -0
  238. package/scss/themes/_cxd-variables.scss +47 -0
  239. package/scss/themes/_dark-variables.scss +1 -0
  240. package/sdk/ang-ie11.css +782 -23
  241. package/sdk/ang.css +791 -26
  242. package/sdk/antd-ie11.css +782 -23
  243. package/sdk/antd.css +826 -26
  244. package/sdk/charts.js +17 -17
  245. package/sdk/codemirror.js +7 -7
  246. package/sdk/color-picker.js +65 -65
  247. package/sdk/cropperjs.js +3 -3
  248. package/sdk/cxd-ie11.css +782 -23
  249. package/sdk/cxd.css +828 -26
  250. package/sdk/dark-ie11.css +783 -24
  251. package/sdk/dark.css +792 -26
  252. package/sdk/exceljs.js +1 -1
  253. package/sdk/locale/de-DE.js +13 -2
  254. package/sdk/markdown.js +69 -69
  255. package/sdk/papaparse.js +1 -1
  256. package/sdk/renderers/Form/CityDB.js +1 -1
  257. package/sdk/rest.js +18 -18
  258. package/sdk/rich-text.js +62 -62
  259. package/sdk/sdk-ie11.css +782 -23
  260. package/sdk/sdk.css +828 -26
  261. package/sdk/sdk.js +1225 -1285
  262. package/sdk/thirds/hls.js/hls.js +18 -18
  263. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  264. package/sdk/tinymce.js +57 -57
  265. package/src/Schema.ts +3 -0
  266. package/src/components/AssociatedSelection.tsx +5 -1
  267. package/src/components/Avatar.tsx +253 -0
  268. package/src/components/BaiduMapPicker.tsx +19 -14
  269. package/src/components/CalendarMobile.tsx +563 -0
  270. package/src/components/ChainedSelection.tsx +16 -3
  271. package/src/components/ColorPicker.tsx +37 -39
  272. package/src/components/DatePicker.tsx +41 -35
  273. package/src/components/DateRangePicker.tsx +61 -16
  274. package/src/components/GroupedSelection.tsx +14 -2
  275. package/src/components/MonthRangePicker.tsx +57 -17
  276. package/src/components/Overlay.tsx +1 -1
  277. package/src/components/Picker.tsx +41 -36
  278. package/src/components/PickerColumn.tsx +22 -25
  279. package/src/components/PickerContainer.tsx +13 -1
  280. package/src/components/PopUp.tsx +34 -49
  281. package/src/components/ResultBox.tsx +4 -1
  282. package/src/components/ResultList.tsx +36 -6
  283. package/src/components/Select.tsx +1 -1
  284. package/src/components/Selection.tsx +21 -3
  285. package/src/components/Steps.tsx +23 -10
  286. package/src/components/TableSelection.tsx +1 -44
  287. package/src/components/Tabs.tsx +65 -54
  288. package/src/components/TabsTransfer.tsx +78 -9
  289. package/src/components/TabsTransferPicker.tsx +25 -13
  290. package/src/components/Timeline.tsx +31 -0
  291. package/src/components/TimelineItem.tsx +107 -0
  292. package/src/components/Transfer.tsx +11 -8
  293. package/src/components/TransferDropDown.tsx +1 -7
  294. package/src/components/TransferPicker.tsx +25 -4
  295. package/src/components/TreeSelection.tsx +7 -1
  296. package/src/components/calendar/Calendar.tsx +26 -6
  297. package/src/components/calendar/DaysView.tsx +79 -31
  298. package/src/components/calendar/MonthsView.tsx +116 -2
  299. package/src/components/calendar/QuartersView.tsx +3 -2
  300. package/src/components/calendar/TimeView.tsx +26 -16
  301. package/src/components/calendar/YearsView.tsx +14 -16
  302. package/src/components/condition-builder/Field.tsx +1 -3
  303. package/src/components/condition-builder/Func.tsx +1 -1
  304. package/src/components/formula/Editor.tsx +16 -11
  305. package/src/components/formula/FuncList.tsx +3 -1
  306. package/src/components/formula/Picker.tsx +2 -1
  307. package/src/components/icons.tsx +2 -0
  308. package/src/components/index.tsx +2 -0
  309. package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
  310. package/src/components/virtual-list/index.tsx +4 -6
  311. package/src/factory.tsx +6 -0
  312. package/src/icons/tree-down.svg +5 -0
  313. package/src/index.tsx +1 -0
  314. package/src/locale/de-DE.ts +13 -2
  315. package/src/locale/en-US.ts +13 -2
  316. package/src/locale/zh-CN.ts +12 -1
  317. package/src/renderers/Avatar.tsx +83 -74
  318. package/src/renderers/Card.tsx +10 -6
  319. package/src/renderers/Custom.tsx +6 -3
  320. package/src/renderers/Each.tsx +4 -4
  321. package/src/renderers/Flex.tsx +3 -7
  322. package/src/renderers/Form/ChartRadios.tsx +2 -7
  323. package/src/renderers/Form/Checkboxes.tsx +1 -1
  324. package/src/renderers/Form/DiffEditor.tsx +2 -3
  325. package/src/renderers/Form/InputColor.tsx +1 -1
  326. package/src/renderers/Form/InputDate.tsx +38 -19
  327. package/src/renderers/Form/InputDateRange.tsx +0 -1
  328. package/src/renderers/Form/InputFormula.tsx +9 -4
  329. package/src/renderers/Form/InputImage.tsx +9 -4
  330. package/src/renderers/Form/InputMonthRange.tsx +0 -1
  331. package/src/renderers/Form/InputQuarterRange.tsx +0 -1
  332. package/src/renderers/Form/InputYearRange.tsx +0 -1
  333. package/src/renderers/Form/Item.tsx +15 -4
  334. package/src/renderers/Form/NestedSelect.tsx +1 -1
  335. package/src/renderers/Form/Select.tsx +0 -1
  336. package/src/renderers/Form/TabsTransfer.tsx +28 -38
  337. package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
  338. package/src/renderers/Form/Transfer.tsx +75 -24
  339. package/src/renderers/Form/TransferPicker.tsx +6 -38
  340. package/src/renderers/Form/TreeSelect.tsx +12 -14
  341. package/src/renderers/IFrame.tsx +0 -2
  342. package/src/renderers/Remark.tsx +67 -18
  343. package/src/renderers/Steps.tsx +11 -13
  344. package/src/renderers/Table/index.tsx +7 -1
  345. package/src/renderers/Tabs.tsx +6 -2
  346. package/src/renderers/Timeline.tsx +141 -0
  347. package/src/renderers/Video.tsx +4 -20
  348. package/src/store/combo.ts +1 -3
  349. package/src/utils/RootClose.ts +5 -1
  350. package/src/utils/helper.ts +1 -1
@@ -72,7 +72,8 @@ export default class SizeAndPositionManager {
72
72
  }
73
73
 
74
74
  if (index > this.lastMeasuredIndex) {
75
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
75
+ const lastMeasuredSizeAndPosition =
76
+ this.getSizeAndPositionOfLastMeasuredItem();
76
77
  let offset =
77
78
  lastMeasuredSizeAndPosition.offset + lastMeasuredSizeAndPosition.size;
78
79
 
@@ -109,7 +110,8 @@ export default class SizeAndPositionManager {
109
110
  * As items as measured the estimate will be updated.
110
111
  */
111
112
  getTotalSize(): number {
112
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
113
+ const lastMeasuredSizeAndPosition =
114
+ this.getSizeAndPositionOfLastMeasuredItem();
113
115
 
114
116
  return (
115
117
  lastMeasuredSizeAndPosition.offset +
@@ -232,7 +234,8 @@ export default class SizeAndPositionManager {
232
234
  // So make sure the offset is at least 0 or no match will be found.
233
235
  offset = Math.max(0, offset);
234
236
 
235
- const lastMeasuredSizeAndPosition = this.getSizeAndPositionOfLastMeasuredItem();
237
+ const lastMeasuredSizeAndPosition =
238
+ this.getSizeAndPositionOfLastMeasuredItem();
236
239
  const lastMeasuredIndex = Math.max(0, this.lastMeasuredIndex);
237
240
 
238
241
  if (lastMeasuredSizeAndPosition.offset >= offset) {
@@ -181,8 +181,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
181
181
  const itemsDom = this.rootNode.children[0].children;
182
182
  const scrollbarWidth =
183
183
  window.innerWidth - document.documentElement.clientWidth || 15;
184
- const containerWidth = this.rootNode.parentElement!.getBoundingClientRect()
185
- .width;
184
+ const containerWidth =
185
+ this.rootNode.parentElement!.getBoundingClientRect().width;
186
186
  let maxItemWidth = 0;
187
187
  for (let i = 0; i < itemsDom.length; i++) {
188
188
  let itemWidth = itemsDom[i].getBoundingClientRect().width;
@@ -427,10 +427,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
427
427
  }
428
428
 
429
429
  const {scrollDirection = DIRECTION.VERTICAL} = this.props;
430
- const {
431
- size,
432
- offset
433
- } = this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
430
+ const {size, offset} =
431
+ this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
434
432
 
435
433
  return (this.styleCache[index] = sticky
436
434
  ? {
package/src/factory.tsx CHANGED
@@ -257,6 +257,7 @@ const defaultOptions: RenderOptions = {
257
257
  affixOffsetTop: 0,
258
258
  affixOffsetBottom: 0,
259
259
  richTextToken: '',
260
+ useMobileUI: true, // 是否启用移动端原生 UI
260
261
  loadRenderer,
261
262
  fetcher() {
262
263
  return Promise.reject('fetcher is required');
@@ -410,6 +411,11 @@ export function render(
410
411
  env.locale = locale;
411
412
  }
412
413
 
414
+ // 默认将开启移动端原生 UI
415
+ if (typeof options.useMobileUI) {
416
+ props.useMobileUI = true;
417
+ }
418
+
413
419
  // 进行文本替换
414
420
  if (env.replaceText && isObject(env.replaceText)) {
415
421
  const replaceKeys = Object.keys(env.replaceText);
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg"
2
+ viewBox="0 0 1024 1024" width="30"
3
+ fill="currentColor">
4
+ <path d="M512 704L256 384h512z"></path>
5
+ </svg>
package/src/index.tsx CHANGED
@@ -165,6 +165,7 @@ import './renderers/Icon';
165
165
  import './renderers/Carousel';
166
166
  import './renderers/AnchorNav';
167
167
  import './renderers/Steps';
168
+ import './renderers/Timeline';
168
169
  import './renderers/Markdown';
169
170
  import './renderers/TableView';
170
171
  import './renderers/Code';
@@ -6,6 +6,15 @@ register('de-DE', {
6
6
  'asc': 'Aufsteigend',
7
7
  'App.home': 'Startseite',
8
8
  'App.navigation': 'Navigation',
9
+ 'Calendar.datepicker': 'Auswahl des Datums',
10
+ 'Calendar.yearmonth': 'YYYY MM',
11
+ 'Calendar.year': 'YYYY',
12
+ 'Calendar.begin': 'beginnt',
13
+ 'Calendar.end': 'ende',
14
+ 'Calendar.beginAndEnd': 'b/e',
15
+ 'Calendar.toast': 'Außerhalb des Datumsbereichs',
16
+ 'Calendar.startPick': 'Wählen Sie Startzeit',
17
+ 'Calendar.endPick': 'Wählen Sie Endzeit',
9
18
  'cancel': 'Abbrechen',
10
19
  'Card.dragTip': 'Obere Schaltfläche zum Sortieren ziehen',
11
20
  'Card.toggleDrag': 'Zum Sortieren umschalten',
@@ -215,7 +224,7 @@ register('de-DE', {
215
224
  'validate.minimum': 'Der Eingabewert ist kleiner als der Mindestwert von $1.',
216
225
  'validate.minLength': 'Geben Sie weitere Zeichen ein, mindestens $1.',
217
226
  'validate.notEmptyString': 'Geben Sie nicht nur Leerzeichen ein.',
218
- 'validateFailed': 'Fehler bei der Überprüfung,',
227
+ 'validateFailed': 'Fehler bei der Überprüfung',
219
228
  'Wizard.configError': 'Konfigurationsfehler',
220
229
  'Wizard.finish': 'Ende',
221
230
  'Wizard.next': 'Weiter',
@@ -254,5 +263,7 @@ register('de-DE', {
254
263
  'Condition.cond_placeholder': 'Bedingung auswählen',
255
264
  'Condition.field_placeholder': 'Feld auswählen',
256
265
  'Condition.blank': 'leer',
257
- 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
266
+ 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
267
+ 'Timeline.collapseText': 'Entfalten',
268
+ 'Timeline.expandText': 'Falten'
258
269
  });
@@ -6,6 +6,15 @@ register('en-US', {
6
6
  'App.home': 'Home',
7
7
  'App.navigation': 'Navigation',
8
8
  'asc': 'Asc',
9
+ 'Calendar.datepicker': 'Date Picker',
10
+ 'Calendar.yearmonth': 'YYYY MM',
11
+ 'Calendar.year': 'YYYY',
12
+ 'Calendar.begin': 'begin',
13
+ 'Calendar.end': 'end',
14
+ 'Calendar.beginAndEnd': 'b/e',
15
+ 'Calendar.toast': 'Out of date range',
16
+ 'Calendar.startPick': 'Select start time',
17
+ 'Calendar.endPick': 'Select end time',
9
18
  'cancel': 'Cancel',
10
19
  'Card.dragTip': 'Drag top button to sort',
11
20
  'Card.toggleDrag': 'Toggle drag to sort',
@@ -217,7 +226,7 @@ register('en-US', {
217
226
  'validate.minimum': 'The input value is lower than the minimum value of $1',
218
227
  'validate.minLength': 'Please enter more, at least $1 characters.',
219
228
  'validate.notEmptyString': 'Please do not enter all blank characters',
220
- 'validateFailed': 'Validate failed,',
229
+ 'validateFailed': 'Validate failed',
221
230
  'Wizard.configError': 'Config error',
222
231
  'Wizard.finish': 'Finish',
223
232
  'Wizard.next': 'Next',
@@ -256,5 +265,7 @@ register('en-US', {
256
265
  'Condition.cond_placeholder': 'select condition',
257
266
  'Condition.field_placeholder': 'select field',
258
267
  'Condition.blank': 'blank',
259
- 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
268
+ 'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
269
+ 'Timeline.collapseText': 'Unfold',
270
+ 'Timeline.expandText': 'Fold'
260
271
  });
@@ -6,6 +6,15 @@ register('zh-CN', {
6
6
  'App.home': '首页',
7
7
  'App.navigation': '导航',
8
8
  'asc': '正序',
9
+ 'Calendar.datepicker': '日期选择',
10
+ 'Calendar.yearmonth': 'YYYY年MM月',
11
+ 'Calendar.year': 'YYYY年',
12
+ 'Calendar.begin': '开始',
13
+ 'Calendar.end': '结束',
14
+ 'Calendar.beginAndEnd': '始/终',
15
+ 'Calendar.toast': '超出日期范围',
16
+ 'Calendar.startPick': '选择开始时间',
17
+ 'Calendar.endPick': '选择结束时间',
9
18
  'cancel': '取消',
10
19
  'Card.dragTip': '请拖动顶部的按钮进行排序',
11
20
  'Card.toggleDrag': '对卡片进行排序操作',
@@ -260,5 +269,7 @@ register('zh-CN', {
260
269
  'Condition.cond_placeholder': '请选择操作',
261
270
  'Condition.field_placeholder': '请选择字段',
262
271
  'Condition.blank': '空',
263
- 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证'
272
+ 'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证',
273
+ 'Timeline.collapseText': '展开',
274
+ 'Timeline.expandText': '折叠'
264
275
  });
@@ -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
  }
@@ -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> = {
@@ -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
  }
@@ -98,9 +98,8 @@ export class DiffEditor extends React.Component<DiffEditorProps, any> {
98
98
  this.handleBlur = this.handleBlur.bind(this);
99
99
  this.editorFactory = this.editorFactory.bind(this);
100
100
  this.handleEditorMounted = this.handleEditorMounted.bind(this);
101
- this.handleModifiedEditorChange = this.handleModifiedEditorChange.bind(
102
- this
103
- );
101
+ this.handleModifiedEditorChange =
102
+ this.handleModifiedEditorChange.bind(this);
104
103
  }
105
104
 
106
105
  componentWillUnmount() {
@@ -72,7 +72,7 @@ export default class ColorControl extends React.PureComponent<
72
72
  return (
73
73
  <div className={cx(`${ns}ColorControl`, className)}>
74
74
  <Suspense fallback={<div>...</div>}>
75
- <ColorPicker classPrefix={ns} {...rest} value={value || ''} useMobileUI={env.useMobileUI}/>
75
+ <ColorPicker classPrefix={ns} {...rest} value={value || ''} />
76
76
  </Suspense>
77
77
  </div>
78
78
  );
@@ -1,7 +1,11 @@
1
1
  import React from 'react';
2
2
  import {FormItem, FormControlProps, FormBaseControl} from './Item';
3
3
  import cx from 'classnames';
4
- import {filterDate, isPureVariable, resolveVariableAndFilter} from '../../utils/tpl-builtin';
4
+ import {
5
+ filterDate,
6
+ isPureVariable,
7
+ resolveVariableAndFilter
8
+ } from '../../utils/tpl-builtin';
5
9
  import moment from 'moment';
6
10
  import 'moment/locale/zh-cn';
7
11
  import DatePicker from '../../components/DatePicker';
@@ -91,12 +95,14 @@ export interface DateControlSchema extends InputDateBaseControlSchema {
91
95
  /**
92
96
  * 日程
93
97
  */
94
- schedules?: Array<{
95
- startTime: Date,
96
- endTime: Date,
97
- content: any,
98
- className?: string
99
- }> | string;
98
+ schedules?:
99
+ | Array<{
100
+ startTime: Date;
101
+ endTime: Date;
102
+ content: any;
103
+ className?: string;
104
+ }>
105
+ | string;
100
106
  /**
101
107
  * 日程显示颜色自定义
102
108
  */
@@ -288,10 +294,10 @@ interface DateControlState {
288
294
  minDate?: moment.Moment;
289
295
  maxDate?: moment.Moment;
290
296
  schedules?: Array<{
291
- startTime: Date,
292
- endTime: Date,
293
- content: any,
294
- className?: string
297
+ startTime: Date;
298
+ endTime: Date;
299
+ content: any;
300
+ className?: string;
295
301
  }>;
296
302
  }
297
303
 
@@ -370,15 +376,25 @@ export default class DateControl extends React.PureComponent<
370
376
  });
371
377
  }
372
378
 
373
- if (anyChanged(['schedules', 'data'], prevProps, props)
374
- && (typeof props.schedules === 'string' && isPureVariable(props.schedules))
379
+ if (
380
+ anyChanged(['schedules', 'data'], prevProps, props) &&
381
+ typeof props.schedules === 'string' &&
382
+ isPureVariable(props.schedules)
375
383
  ) {
376
- const schedulesData = resolveVariableAndFilter(props.schedules, props.data, '| raw');
377
- const preSchedulesData = resolveVariableAndFilter(prevProps.schedules, prevProps.data, '| raw');
384
+ const schedulesData = resolveVariableAndFilter(
385
+ props.schedules,
386
+ props.data,
387
+ '| raw'
388
+ );
389
+ const preSchedulesData = resolveVariableAndFilter(
390
+ prevProps.schedules,
391
+ prevProps.data,
392
+ '| raw'
393
+ );
378
394
  if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {
379
395
  this.setState({
380
396
  schedules: schedulesData
381
- })
397
+ });
382
398
  }
383
399
  }
384
400
  }
@@ -408,8 +424,12 @@ export default class DateControl extends React.PureComponent<
408
424
  }
409
425
  };
410
426
 
411
- onAction && onAction(null, scheduleAction || defaultscheduleAction, createObject(data, scheduleData));
412
-
427
+ onAction &&
428
+ onAction(
429
+ null,
430
+ scheduleAction || defaultscheduleAction,
431
+ createObject(data, scheduleData)
432
+ );
413
433
  }
414
434
 
415
435
  render() {
@@ -442,7 +462,6 @@ export default class DateControl extends React.PureComponent<
442
462
  format={valueFormat || format}
443
463
  {...this.state}
444
464
  classnames={cx}
445
- useMobileUI={env.useMobileUI}
446
465
  schedules={this.state.schedules}
447
466
  largeMode={largeMode}
448
467
  onScheduleClick={this.onScheduleClick.bind(this)}
@@ -187,7 +187,6 @@ export default class DateRangeControl extends React.Component<DateRangeProps> {
187
187
  maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}
188
188
  minDuration={minDuration ? parseDuration(minDuration) : undefined}
189
189
  maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}
190
- useMobileUI={env.useMobileUI}
191
190
  />
192
191
  </div>
193
192
  );