amis 2.3.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (457) hide show
  1. package/esm/Schema.d.ts +6 -2
  2. package/esm/_virtual/MiniDecimal.js +1 -1
  3. package/esm/_virtual/classCallCheck.js +1 -1
  4. package/esm/_virtual/createClass.js +1 -1
  5. package/esm/_virtual/interopRequireDefault.js +1 -1
  6. package/esm/_virtual/numberUtil.js +1 -1
  7. package/esm/_virtual/supportUtil.js +1 -1
  8. package/esm/compat.js +1 -1
  9. package/esm/index.d.ts +6 -0
  10. package/esm/index.js +7 -1
  11. package/esm/node_modules/@babel/runtime/helpers/classCallCheck.js +1 -2
  12. package/esm/node_modules/@babel/runtime/helpers/createClass.js +1 -3
  13. package/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js +1 -2
  14. package/esm/node_modules/rc-input-number/lib/utils/MiniDecimal.js +1 -1
  15. package/esm/node_modules/rc-input-number/lib/utils/numberUtil.js +1 -1
  16. package/esm/node_modules/rc-input-number/lib/utils/supportUtil.js +1 -1
  17. package/esm/preset.js +1 -1
  18. package/esm/renderers/Action.js +12 -17
  19. package/esm/renderers/Alert.js +1 -1
  20. package/esm/renderers/AnchorNav.js +1 -1
  21. package/esm/renderers/App.js +1 -1
  22. package/esm/renderers/Audio.js +1 -1
  23. package/esm/renderers/Avatar.js +1 -1
  24. package/esm/renderers/BarCode.js +1 -1
  25. package/esm/renderers/Breadcrumb.js +1 -1
  26. package/esm/renderers/ButtonGroup.js +1 -1
  27. package/esm/renderers/CRUD.d.ts +5 -5
  28. package/esm/renderers/CRUD.js +18 -15
  29. package/esm/renderers/CRUD2.js +1 -1
  30. package/esm/renderers/Calendar.js +1 -1
  31. package/esm/renderers/Card.js +1 -1
  32. package/esm/renderers/Card2.js +1 -1
  33. package/esm/renderers/Cards.js +1 -1
  34. package/esm/renderers/Carousel.js +1 -1
  35. package/esm/renderers/Chart.js +1 -1
  36. package/esm/renderers/Code.d.ts +26 -6
  37. package/esm/renderers/Code.js +112 -48
  38. package/esm/renderers/Collapse.js +7 -5
  39. package/esm/renderers/CollapseGroup.js +1 -1
  40. package/esm/renderers/Color.js +2 -2
  41. package/esm/renderers/Container.js +1 -1
  42. package/esm/renderers/Copyable.js +1 -1
  43. package/esm/renderers/Custom.js +1 -1
  44. package/esm/renderers/Date.js +1 -1
  45. package/esm/renderers/DateRange.d.ts +37 -0
  46. package/esm/renderers/DateRange.js +57 -0
  47. package/esm/renderers/Dialog.js +12 -5
  48. package/esm/renderers/Divider.js +1 -1
  49. package/esm/renderers/Drawer.js +1 -1
  50. package/esm/renderers/DropDownButton.js +9 -11
  51. package/esm/renderers/Each.js +1 -1
  52. package/esm/renderers/Flex.js +1 -1
  53. package/esm/renderers/Form/ButtonGroupSelect.js +8 -1
  54. package/esm/renderers/Form/ButtonToolbar.js +1 -1
  55. package/esm/renderers/Form/ChainedSelect.d.ts +1 -0
  56. package/esm/renderers/Form/ChainedSelect.js +45 -11
  57. package/esm/renderers/Form/ChartRadios.d.ts +2 -1
  58. package/esm/renderers/Form/ChartRadios.js +29 -2
  59. package/esm/renderers/Form/Checkbox.d.ts +1 -0
  60. package/esm/renderers/Form/Checkbox.js +16 -7
  61. package/esm/renderers/Form/Checkboxes.js +8 -1
  62. package/esm/renderers/Form/Combo.d.ts +2 -1
  63. package/esm/renderers/Form/Combo.js +53 -23
  64. package/esm/renderers/Form/ConditionBuilder.js +1 -1
  65. package/esm/renderers/Form/Control.js +1 -1
  66. package/esm/renderers/Form/DiffEditor.d.ts +10 -6
  67. package/esm/renderers/Form/DiffEditor.js +61 -23
  68. package/esm/renderers/Form/Editor.d.ts +3 -9
  69. package/esm/renderers/Form/Editor.js +65 -23
  70. package/esm/renderers/Form/FieldSet.js +1 -1
  71. package/esm/renderers/Form/Formula.js +1 -1
  72. package/esm/renderers/Form/Group.js +1 -1
  73. package/esm/renderers/Form/Hidden.js +1 -1
  74. package/esm/renderers/Form/IconPicker.js +2 -2
  75. package/esm/renderers/Form/IconPickerIcons.js +1 -1
  76. package/esm/renderers/Form/IconSelect.d.ts +52 -0
  77. package/esm/renderers/Form/IconSelect.js +282 -0
  78. package/esm/renderers/Form/IconSelectStore.d.ts +19 -0
  79. package/esm/renderers/Form/IconSelectStore.js +69 -0
  80. package/esm/renderers/Form/InputArray.js +2 -3
  81. package/esm/renderers/Form/InputCity.d.ts +96 -65
  82. package/esm/renderers/Form/InputCity.js +99 -52
  83. package/esm/renderers/Form/InputColor.js +10 -3
  84. package/esm/renderers/Form/InputDate.js +15 -8
  85. package/esm/renderers/Form/InputDateRange.js +14 -9
  86. package/esm/renderers/Form/InputExcel.js +6 -8
  87. package/esm/renderers/Form/InputFile.js +12 -11
  88. package/esm/renderers/Form/InputFormula.js +1 -1
  89. package/esm/renderers/Form/InputGroup.js +1 -1
  90. package/esm/renderers/Form/InputImage.js +13 -10
  91. package/esm/renderers/Form/InputMonthRange.js +9 -2
  92. package/esm/renderers/Form/InputNumber.d.ts +5 -0
  93. package/esm/renderers/Form/InputNumber.js +35 -22
  94. package/esm/renderers/Form/InputQuarterRange.js +9 -2
  95. package/esm/renderers/Form/InputRange.d.ts +5 -6
  96. package/esm/renderers/Form/InputRange.js +61 -30
  97. package/esm/renderers/Form/InputRating.d.ts +1 -0
  98. package/esm/renderers/Form/InputRating.js +17 -7
  99. package/esm/renderers/Form/InputRepeat.js +1 -1
  100. package/esm/renderers/Form/InputRichText.js +1 -1
  101. package/esm/renderers/Form/InputSubForm.js +1 -1
  102. package/esm/renderers/Form/InputTable.d.ts +3 -1
  103. package/esm/renderers/Form/InputTable.js +27 -12
  104. package/esm/renderers/Form/InputTag.js +13 -6
  105. package/esm/renderers/Form/InputText.d.ts +6 -3
  106. package/esm/renderers/Form/InputText.js +125 -66
  107. package/esm/renderers/Form/InputTree.js +12 -7
  108. package/esm/renderers/Form/InputYearRange.js +9 -2
  109. package/esm/renderers/Form/JSONSchema.js +1 -1
  110. package/esm/renderers/Form/JSONSchemaEditor.js +1 -1
  111. package/esm/renderers/Form/ListSelect.d.ts +1 -0
  112. package/esm/renderers/Form/ListSelect.js +36 -2
  113. package/esm/renderers/Form/LocationPicker.d.ts +10 -0
  114. package/esm/renderers/Form/LocationPicker.js +82 -5
  115. package/esm/renderers/Form/MatrixCheckboxes.d.ts +2 -1
  116. package/esm/renderers/Form/MatrixCheckboxes.js +24 -10
  117. package/esm/renderers/Form/NestedSelect.js +15 -8
  118. package/esm/renderers/Form/Picker.d.ts +1 -1
  119. package/esm/renderers/Form/Picker.js +35 -12
  120. package/esm/renderers/Form/Radios.js +15 -7
  121. package/esm/renderers/Form/Select.js +20 -11
  122. package/esm/renderers/Form/Static.js +1 -1
  123. package/esm/renderers/Form/StaticHoc.d.ts +5 -0
  124. package/esm/renderers/Form/StaticHoc.js +107 -0
  125. package/esm/renderers/Form/Switch.d.ts +6 -0
  126. package/esm/renderers/Form/Switch.js +34 -13
  127. package/esm/renderers/Form/TabsTransfer.js +13 -5
  128. package/esm/renderers/Form/TabsTransferPicker.js +11 -4
  129. package/esm/renderers/Form/Textarea.d.ts +1 -0
  130. package/esm/renderers/Form/Textarea.js +59 -18
  131. package/esm/renderers/Form/Transfer.js +18 -8
  132. package/esm/renderers/Form/TransferPicker.js +11 -4
  133. package/esm/renderers/Form/TreeSelect.d.ts +1 -0
  134. package/esm/renderers/Form/TreeSelect.js +19 -17
  135. package/esm/renderers/Form/UUID.js +1 -1
  136. package/esm/renderers/Form/UserSelect.js +8 -7
  137. package/esm/renderers/Grid.js +1 -1
  138. package/esm/renderers/Grid2D.js +1 -1
  139. package/esm/renderers/GridNav.js +1 -1
  140. package/esm/renderers/HBox.js +1 -1
  141. package/esm/renderers/IFrame.js +1 -1
  142. package/esm/renderers/Icon.d.ts +3 -3
  143. package/esm/renderers/Icon.js +11 -1
  144. package/esm/renderers/Image.d.ts +8 -1
  145. package/esm/renderers/Image.js +47 -7
  146. package/esm/renderers/Images.js +1 -1
  147. package/esm/renderers/Json.js +1 -1
  148. package/esm/renderers/Link.js +1 -1
  149. package/esm/renderers/List.d.ts +6 -5
  150. package/esm/renderers/List.js +35 -21
  151. package/esm/renderers/Log.js +1 -1
  152. package/esm/renderers/Mapping.js +1 -1
  153. package/esm/renderers/Markdown.js +1 -1
  154. package/esm/renderers/MultilineText.d.ts +35 -0
  155. package/esm/renderers/MultilineText.js +36 -0
  156. package/esm/renderers/Nav.d.ts +10 -10
  157. package/esm/renderers/Nav.js +1 -1
  158. package/esm/renderers/Operation.js +1 -1
  159. package/esm/renderers/Page.js +1 -1
  160. package/esm/renderers/Pagination.js +1 -1
  161. package/esm/renderers/PaginationWrapper.js +1 -1
  162. package/esm/renderers/Panel.js +3 -3
  163. package/esm/renderers/Password.d.ts +30 -0
  164. package/esm/renderers/Password.js +54 -0
  165. package/esm/renderers/Plain.js +1 -1
  166. package/esm/renderers/PopOver.js +1 -1
  167. package/esm/renderers/Portlet.js +1 -1
  168. package/esm/renderers/Progress.js +1 -1
  169. package/esm/renderers/Property.js +1 -1
  170. package/esm/renderers/QRCode.js +1 -1
  171. package/esm/renderers/QuickEdit.js +5 -3
  172. package/esm/renderers/Remark.js +1 -1
  173. package/esm/renderers/SearchBox.js +1 -1
  174. package/esm/renderers/Service.js +1 -1
  175. package/esm/renderers/SparkLine.js +1 -1
  176. package/esm/renderers/Spinner.js +1 -1
  177. package/esm/renderers/Status.js +1 -1
  178. package/esm/renderers/Steps.js +1 -1
  179. package/esm/renderers/Table/ColumnToggler.js +2 -2
  180. package/esm/renderers/Table/HeadCellFilterDropdown.js +1 -1
  181. package/esm/renderers/Table/HeadCellSearchDropdown.js +1 -1
  182. package/esm/renderers/Table/ItemActionsWrapper.js +1 -1
  183. package/esm/renderers/Table/TableBody.js +1 -1
  184. package/esm/renderers/Table/TableCell.js +1 -1
  185. package/esm/renderers/Table/TableContent.js +1 -1
  186. package/esm/renderers/Table/TableRow.js +1 -1
  187. package/esm/renderers/Table/exportExcel.js +51 -40
  188. package/esm/renderers/Table/index.js +6 -4
  189. package/esm/renderers/Table2/ColumnToggler.js +1 -1
  190. package/esm/renderers/Table2/HeadCellSearchDropdown.js +1 -1
  191. package/esm/renderers/Table2/TableCell.js +1 -1
  192. package/esm/renderers/Table2/index.js +3 -3
  193. package/esm/renderers/TableView.js +1 -1
  194. package/esm/renderers/Tabs.js +6 -6
  195. package/esm/renderers/Tag.js +1 -1
  196. package/esm/renderers/Tasks.js +2 -2
  197. package/esm/renderers/Timeline.js +1 -1
  198. package/esm/renderers/TooltipWrapper.js +1 -1
  199. package/esm/renderers/Tpl.js +1 -1
  200. package/esm/renderers/VBox.js +1 -1
  201. package/esm/renderers/Video.js +1 -1
  202. package/esm/renderers/WebComponent.js +1 -1
  203. package/esm/renderers/Wizard.js +1 -1
  204. package/esm/renderers/Words.d.ts +69 -0
  205. package/esm/renderers/Words.js +163 -0
  206. package/esm/renderers/Wrapper.js +1 -1
  207. package/esm/schemaExtend.js +1 -1
  208. package/lib/Schema.d.ts +6 -2
  209. package/lib/_virtual/MiniDecimal.js +1 -1
  210. package/lib/_virtual/classCallCheck.js +1 -1
  211. package/lib/_virtual/createClass.js +1 -1
  212. package/lib/_virtual/interopRequireDefault.js +1 -1
  213. package/lib/_virtual/numberUtil.js +1 -1
  214. package/lib/_virtual/supportUtil.js +1 -1
  215. package/lib/compat.js +1 -1
  216. package/lib/helper.css +3 -0
  217. package/lib/index.d.ts +6 -0
  218. package/lib/index.js +18 -1
  219. package/lib/node_modules/@babel/runtime/helpers/classCallCheck.js +1 -2
  220. package/lib/node_modules/@babel/runtime/helpers/createClass.js +1 -3
  221. package/lib/node_modules/@babel/runtime/helpers/interopRequireDefault.js +1 -2
  222. package/lib/node_modules/rc-input-number/lib/utils/MiniDecimal.js +1 -1
  223. package/lib/node_modules/rc-input-number/lib/utils/numberUtil.js +1 -1
  224. package/lib/node_modules/rc-input-number/lib/utils/supportUtil.js +1 -1
  225. package/lib/preset.js +1 -1
  226. package/lib/renderers/Action.js +12 -17
  227. package/lib/renderers/Alert.js +1 -1
  228. package/lib/renderers/AnchorNav.js +1 -1
  229. package/lib/renderers/App.js +1 -1
  230. package/lib/renderers/Audio.js +1 -1
  231. package/lib/renderers/Avatar.js +1 -1
  232. package/lib/renderers/BarCode.js +1 -1
  233. package/lib/renderers/Breadcrumb.js +1 -1
  234. package/lib/renderers/ButtonGroup.js +1 -1
  235. package/lib/renderers/CRUD.d.ts +5 -5
  236. package/lib/renderers/CRUD.js +18 -15
  237. package/lib/renderers/CRUD2.js +1 -1
  238. package/lib/renderers/Calendar.js +1 -1
  239. package/lib/renderers/Card.js +1 -1
  240. package/lib/renderers/Card2.js +1 -1
  241. package/lib/renderers/Cards.js +1 -1
  242. package/lib/renderers/Carousel.js +1 -1
  243. package/lib/renderers/Chart.js +1 -1
  244. package/lib/renderers/Code.d.ts +26 -6
  245. package/lib/renderers/Code.js +111 -47
  246. package/lib/renderers/Collapse.js +6 -4
  247. package/lib/renderers/CollapseGroup.js +1 -1
  248. package/lib/renderers/Color.js +2 -2
  249. package/lib/renderers/Container.js +1 -1
  250. package/lib/renderers/Copyable.js +1 -1
  251. package/lib/renderers/Custom.js +1 -1
  252. package/lib/renderers/Date.js +1 -1
  253. package/lib/renderers/DateRange.d.ts +37 -0
  254. package/lib/renderers/DateRange.js +66 -0
  255. package/lib/renderers/Dialog.d.ts +40 -40
  256. package/lib/renderers/Dialog.js +12 -5
  257. package/lib/renderers/Divider.js +1 -1
  258. package/lib/renderers/Drawer.js +1 -1
  259. package/lib/renderers/DropDownButton.js +9 -11
  260. package/lib/renderers/Each.js +1 -1
  261. package/lib/renderers/Flex.js +1 -1
  262. package/lib/renderers/Form/ButtonGroupSelect.js +8 -1
  263. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  264. package/lib/renderers/Form/ChainedSelect.d.ts +1 -0
  265. package/lib/renderers/Form/ChainedSelect.js +44 -9
  266. package/lib/renderers/Form/ChartRadios.d.ts +2 -1
  267. package/lib/renderers/Form/ChartRadios.js +29 -2
  268. package/lib/renderers/Form/Checkbox.d.ts +1 -0
  269. package/lib/renderers/Form/Checkbox.js +15 -6
  270. package/lib/renderers/Form/Checkboxes.js +8 -1
  271. package/lib/renderers/Form/Combo.d.ts +2 -1
  272. package/lib/renderers/Form/Combo.js +52 -22
  273. package/lib/renderers/Form/ConditionBuilder.js +1 -1
  274. package/lib/renderers/Form/Control.js +1 -1
  275. package/lib/renderers/Form/DiffEditor.d.ts +24 -20
  276. package/lib/renderers/Form/DiffEditor.js +59 -21
  277. package/lib/renderers/Form/Editor.d.ts +6 -12
  278. package/lib/renderers/Form/Editor.js +63 -21
  279. package/lib/renderers/Form/FieldSet.js +1 -1
  280. package/lib/renderers/Form/Formula.js +1 -1
  281. package/lib/renderers/Form/Group.js +1 -1
  282. package/lib/renderers/Form/Hidden.js +1 -1
  283. package/lib/renderers/Form/IconPicker.js +2 -2
  284. package/lib/renderers/Form/IconPickerIcons.js +1 -1
  285. package/lib/renderers/Form/IconSelect.d.ts +52 -0
  286. package/lib/renderers/Form/IconSelect.js +291 -0
  287. package/lib/renderers/Form/IconSelectStore.d.ts +19 -0
  288. package/lib/renderers/Form/IconSelectStore.js +79 -0
  289. package/lib/renderers/Form/InputArray.js +2 -3
  290. package/lib/renderers/Form/InputCity.d.ts +96 -65
  291. package/lib/renderers/Form/InputCity.js +98 -51
  292. package/lib/renderers/Form/InputColor.d.ts +40 -40
  293. package/lib/renderers/Form/InputColor.js +9 -2
  294. package/lib/renderers/Form/InputDate.js +14 -7
  295. package/lib/renderers/Form/InputDateRange.js +13 -8
  296. package/lib/renderers/Form/InputExcel.js +5 -7
  297. package/lib/renderers/Form/InputFile.js +11 -10
  298. package/lib/renderers/Form/InputFormula.js +1 -1
  299. package/lib/renderers/Form/InputGroup.d.ts +1 -1
  300. package/lib/renderers/Form/InputGroup.js +1 -1
  301. package/lib/renderers/Form/InputImage.js +12 -9
  302. package/lib/renderers/Form/InputMonthRange.js +8 -1
  303. package/lib/renderers/Form/InputNumber.d.ts +5 -0
  304. package/lib/renderers/Form/InputNumber.js +34 -21
  305. package/lib/renderers/Form/InputQuarterRange.js +8 -1
  306. package/lib/renderers/Form/InputRange.d.ts +5 -6
  307. package/lib/renderers/Form/InputRange.js +60 -29
  308. package/lib/renderers/Form/InputRating.d.ts +1 -0
  309. package/lib/renderers/Form/InputRating.js +16 -6
  310. package/lib/renderers/Form/InputRepeat.js +1 -1
  311. package/lib/renderers/Form/InputRichText.js +1 -1
  312. package/lib/renderers/Form/InputSubForm.js +1 -1
  313. package/lib/renderers/Form/InputTable.d.ts +3 -1
  314. package/lib/renderers/Form/InputTable.js +26 -11
  315. package/lib/renderers/Form/InputTag.js +12 -5
  316. package/lib/renderers/Form/InputText.d.ts +6 -3
  317. package/lib/renderers/Form/InputText.js +124 -65
  318. package/lib/renderers/Form/InputTree.js +11 -6
  319. package/lib/renderers/Form/InputYearRange.js +8 -1
  320. package/lib/renderers/Form/JSONSchema.js +1 -1
  321. package/lib/renderers/Form/JSONSchemaEditor.js +1 -1
  322. package/lib/renderers/Form/ListSelect.d.ts +1 -0
  323. package/lib/renderers/Form/ListSelect.js +35 -1
  324. package/lib/renderers/Form/LocationPicker.d.ts +10 -0
  325. package/lib/renderers/Form/LocationPicker.js +79 -2
  326. package/lib/renderers/Form/MatrixCheckboxes.d.ts +2 -1
  327. package/lib/renderers/Form/MatrixCheckboxes.js +22 -8
  328. package/lib/renderers/Form/NestedSelect.js +14 -7
  329. package/lib/renderers/Form/Picker.d.ts +1 -1
  330. package/lib/renderers/Form/Picker.js +34 -11
  331. package/lib/renderers/Form/Radios.js +14 -6
  332. package/lib/renderers/Form/Select.js +19 -10
  333. package/lib/renderers/Form/Static.js +1 -1
  334. package/lib/renderers/Form/StaticHoc.d.ts +5 -0
  335. package/lib/renderers/Form/StaticHoc.js +115 -0
  336. package/lib/renderers/Form/Switch.d.ts +6 -0
  337. package/lib/renderers/Form/Switch.js +33 -12
  338. package/lib/renderers/Form/TabsTransfer.js +12 -4
  339. package/lib/renderers/Form/TabsTransferPicker.js +10 -3
  340. package/lib/renderers/Form/Textarea.d.ts +1 -0
  341. package/lib/renderers/Form/Textarea.js +57 -16
  342. package/lib/renderers/Form/Transfer.js +17 -7
  343. package/lib/renderers/Form/TransferPicker.js +10 -3
  344. package/lib/renderers/Form/TreeSelect.d.ts +1 -0
  345. package/lib/renderers/Form/TreeSelect.js +18 -16
  346. package/lib/renderers/Form/UUID.js +1 -1
  347. package/lib/renderers/Form/UserSelect.js +7 -6
  348. package/lib/renderers/Grid.js +1 -1
  349. package/lib/renderers/Grid2D.js +1 -1
  350. package/lib/renderers/GridNav.js +1 -1
  351. package/lib/renderers/HBox.js +1 -1
  352. package/lib/renderers/IFrame.js +1 -1
  353. package/lib/renderers/Icon.d.ts +3 -3
  354. package/lib/renderers/Icon.js +11 -1
  355. package/lib/renderers/Image.d.ts +8 -1
  356. package/lib/renderers/Image.js +47 -7
  357. package/lib/renderers/Images.js +1 -1
  358. package/lib/renderers/Json.js +1 -1
  359. package/lib/renderers/Link.js +1 -1
  360. package/lib/renderers/List.d.ts +6 -5
  361. package/lib/renderers/List.js +36 -22
  362. package/lib/renderers/Log.js +1 -1
  363. package/lib/renderers/Mapping.js +1 -1
  364. package/lib/renderers/Markdown.js +1 -1
  365. package/lib/renderers/MultilineText.d.ts +35 -0
  366. package/lib/renderers/MultilineText.js +44 -0
  367. package/lib/renderers/Nav.d.ts +10 -10
  368. package/lib/renderers/Nav.js +1 -1
  369. package/lib/renderers/Operation.js +1 -1
  370. package/lib/renderers/Page.js +1 -1
  371. package/lib/renderers/Pagination.js +1 -1
  372. package/lib/renderers/PaginationWrapper.js +1 -1
  373. package/lib/renderers/Panel.js +3 -3
  374. package/lib/renderers/Password.d.ts +30 -0
  375. package/lib/renderers/Password.js +62 -0
  376. package/lib/renderers/Plain.js +1 -1
  377. package/lib/renderers/PopOver.js +1 -1
  378. package/lib/renderers/Portlet.js +1 -1
  379. package/lib/renderers/Progress.js +1 -1
  380. package/lib/renderers/Property.js +1 -1
  381. package/lib/renderers/QRCode.js +1 -1
  382. package/lib/renderers/QuickEdit.js +5 -3
  383. package/lib/renderers/Remark.d.ts +1 -1
  384. package/lib/renderers/Remark.js +1 -1
  385. package/lib/renderers/SearchBox.js +1 -1
  386. package/lib/renderers/Service.js +1 -1
  387. package/lib/renderers/SparkLine.js +1 -1
  388. package/lib/renderers/Spinner.js +1 -1
  389. package/lib/renderers/Status.js +1 -1
  390. package/lib/renderers/Steps.js +1 -1
  391. package/lib/renderers/Table/ColumnToggler.js +2 -2
  392. package/lib/renderers/Table/HeadCellFilterDropdown.js +1 -1
  393. package/lib/renderers/Table/HeadCellSearchDropdown.js +1 -1
  394. package/lib/renderers/Table/ItemActionsWrapper.js +1 -1
  395. package/lib/renderers/Table/TableBody.js +1 -1
  396. package/lib/renderers/Table/TableCell.js +1 -1
  397. package/lib/renderers/Table/TableContent.js +1 -1
  398. package/lib/renderers/Table/TableRow.js +1 -1
  399. package/lib/renderers/Table/exportExcel.js +50 -39
  400. package/lib/renderers/Table/index.js +6 -4
  401. package/lib/renderers/Table2/ColumnToggler.js +1 -1
  402. package/lib/renderers/Table2/HeadCellSearchDropdown.js +1 -1
  403. package/lib/renderers/Table2/TableCell.js +1 -1
  404. package/lib/renderers/Table2/index.js +3 -3
  405. package/lib/renderers/TableView.js +1 -1
  406. package/lib/renderers/Tabs.js +5 -5
  407. package/lib/renderers/Tag.js +1 -1
  408. package/lib/renderers/Tasks.js +2 -2
  409. package/lib/renderers/Timeline.js +1 -1
  410. package/lib/renderers/TooltipWrapper.js +1 -1
  411. package/lib/renderers/Tpl.js +1 -1
  412. package/lib/renderers/VBox.js +1 -1
  413. package/lib/renderers/Video.js +1 -1
  414. package/lib/renderers/WebComponent.js +1 -1
  415. package/lib/renderers/Wizard.js +1 -1
  416. package/lib/renderers/Words.d.ts +69 -0
  417. package/lib/renderers/Words.js +171 -0
  418. package/lib/renderers/Wrapper.js +1 -1
  419. package/lib/schemaExtend.js +1 -1
  420. package/lib/themes/ang-ie11.css +3715 -2859
  421. package/lib/themes/ang.css +1500 -748
  422. package/lib/themes/antd-ie11.css +2432 -1519
  423. package/lib/themes/antd.css +2721 -886
  424. package/lib/themes/cxd-ie11.css +2256 -1603
  425. package/lib/themes/cxd.css +3104 -1548
  426. package/lib/themes/dark-ie11.css +3368 -2512
  427. package/lib/themes/dark.css +1500 -748
  428. package/lib/themes/default-ie11.css +2256 -1603
  429. package/lib/themes/default.css +3104 -1548
  430. package/package.json +12 -4
  431. package/schema.json +6502 -1084
  432. package/sdk/ang-ie11.css +3883 -2882
  433. package/sdk/ang.css +1635 -738
  434. package/sdk/antd-ie11.css +2602 -1545
  435. package/sdk/antd.css +2861 -881
  436. package/sdk/barcode.js +50 -50
  437. package/sdk/charts.js +13 -13
  438. package/sdk/codemirror.js +7 -7
  439. package/sdk/color-picker.js +65 -65
  440. package/sdk/cropperjs.js +2 -2
  441. package/sdk/cxd-ie11.css +2426 -1697
  442. package/sdk/cxd.css +3199 -1566
  443. package/sdk/dark-ie11.css +3529 -2528
  444. package/sdk/dark.css +1635 -738
  445. package/sdk/exceljs.js +1 -1
  446. package/sdk/helper.css +3 -0
  447. package/sdk/locale/de-DE.js +2 -0
  448. package/sdk/markdown.js +68 -68
  449. package/sdk/papaparse.js +1 -1
  450. package/sdk/rest.js +17 -17
  451. package/sdk/rich-text.js +62 -62
  452. package/sdk/sdk-ie11.css +2426 -1697
  453. package/sdk/sdk.css +3199 -1566
  454. package/sdk/sdk.js +1418 -1493
  455. package/sdk/thirds/hls.js/hls.js +1 -1
  456. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  457. package/sdk/tinymce.js +54 -52
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -332,11 +332,11 @@ var ActionRenderer = /** @class */ (function (_super) {
332
332
  mergedData = amisCore.createObject(data, action.args);
333
333
  }
334
334
  hasOnEvent = $schema.onEvent && Object.keys($schema.onEvent).length;
335
- if (!((!ignoreConfirm || hasOnEvent) && action.confirmText && env.confirm)) return [3 /*break*/, 6];
335
+ if (!((!ignoreConfirm || hasOnEvent) && action.confirmText && env.confirm)) return [3 /*break*/, 5];
336
336
  return [4 /*yield*/, env.confirm(amisCore.filter(action.confirmText, mergedData))];
337
337
  case 1:
338
338
  confirmed = _b.sent();
339
- if (!confirmed) return [3 /*break*/, 4];
339
+ if (!confirmed) return [3 /*break*/, 3];
340
340
  return [4 /*yield*/, dispatchEvent(e, mergedData)];
341
341
  case 2:
342
342
  rendererEvent = _b.sent();
@@ -345,29 +345,24 @@ var ActionRenderer = /** @class */ (function (_super) {
345
345
  return [2 /*return*/];
346
346
  }
347
347
  // 因为crud里面也会处理二次确认,所以如果按钮处理过了就跳过crud的二次确认
348
- return [4 /*yield*/, onAction(e, tslib.__assign(tslib.__assign({}, action), { ignoreConfirm: !!hasOnEvent }), mergedData)];
348
+ onAction(e, tslib.__assign(tslib.__assign({}, action), { ignoreConfirm: !!hasOnEvent }), mergedData);
349
+ return [3 /*break*/, 4];
349
350
  case 3:
350
- // 因为crud里面也会处理二次确认,所以如果按钮处理过了就跳过crud的二次确认
351
- _b.sent();
352
- return [3 /*break*/, 5];
353
- case 4:
354
351
  if (action.countDown) {
355
352
  throw new Error('cancel');
356
353
  }
357
- _b.label = 5;
358
- case 5: return [3 /*break*/, 9];
359
- case 6: return [4 /*yield*/, dispatchEvent(e, mergedData)];
360
- case 7:
354
+ _b.label = 4;
355
+ case 4: return [3 /*break*/, 7];
356
+ case 5: return [4 /*yield*/, dispatchEvent(e, mergedData)];
357
+ case 6:
361
358
  rendererEvent = _b.sent();
362
359
  // 阻止原有动作执行
363
360
  if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
364
361
  return [2 /*return*/];
365
362
  }
366
- return [4 /*yield*/, onAction(e, action, mergedData)];
367
- case 8:
368
- _b.sent();
369
- _b.label = 9;
370
- case 9: return [2 /*return*/];
363
+ onAction(e, action, mergedData);
364
+ _b.label = 7;
365
+ case 7: return [2 /*return*/];
371
366
  }
372
367
  });
373
368
  });
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -271,9 +271,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
271
271
  handleSelect(items: Array<any>, unSelectedItems: Array<any>): void;
272
272
  handleChildPopOverOpen(popOver: any): void;
273
273
  handleChildPopOverClose(popOver: any): void;
274
- handleQuery(values: object, forceReload?: boolean, replace?: boolean): void;
275
- reload(subpath?: string, query?: any, replace?: boolean): void;
276
- receive(values: object, subPath?: string, replace?: boolean): void;
274
+ handleQuery(values: object, forceReload?: boolean, replace?: boolean, resetPage?: boolean): void;
275
+ reload(subpath?: string, query?: any, replace?: boolean, resetPage?: boolean): void;
276
+ receive(values: object, subPath?: string, replace?: boolean, resetPage?: boolean): void;
277
277
  reloadTarget(target: string, data: any): void;
278
278
  closeTarget(target: string): void;
279
279
  doAction(action: ActionObject, data: object, throwErrors?: boolean): any;
@@ -298,8 +298,8 @@ export declare class CRUDRenderer extends CRUD {
298
298
  static contextType: React.Context<IScopedContext>;
299
299
  constructor(props: CRUDProps, context: IScopedContext);
300
300
  componentWillUnmount(): void;
301
- reload(subpath?: string, query?: any, ctx?: any, silent?: boolean, replace?: boolean): void;
302
- receive(values: any, subPath?: string, replace?: boolean): void;
301
+ reload(subpath?: string, query?: any, ctx?: any, silent?: boolean, replace?: boolean, args?: any): void;
302
+ receive(values: any, subPath?: string, replace?: boolean, resetPage?: boolean): void;
303
303
  reloadTarget(target: string, data: any): void;
304
304
  closeTarget(target: string): void;
305
305
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -248,7 +248,7 @@ var CRUD = /** @class */ (function (_super) {
248
248
  })
249
249
  .filter(function (item) { return item; })
250
250
  .join(',');
251
- var ctx = amisCore.createObject(store.mergedData, tslib.__assign(tslib.__assign({}, selectedItems[0]), { rows: selectedItems, items: selectedItems, selectedItems: selectedItems, unSelectedItems: unSelectedItems, ids: ids }));
251
+ var ctx = amisCore.createObject(store.mergedData, tslib.__assign(tslib.__assign({}, selectedItems[0]), { currentPageData: store.mergedData.items.concat(), rows: selectedItems, items: selectedItems, selectedItems: selectedItems, unSelectedItems: unSelectedItems, ids: ids }));
252
252
  var fn = function () {
253
253
  if (action.actionType === 'dialog') {
254
254
  return _this.handleAction(e, tslib.__assign(tslib.__assign({}, action), { __from: 'bulkAction' }), ctx);
@@ -732,7 +732,7 @@ var CRUD = /** @class */ (function (_super) {
732
732
  }
733
733
  store.setSelectedItems(newItems);
734
734
  store.setUnSelectedItems(newUnSelectedItems);
735
- onSelect && onSelect(newItems);
735
+ onSelect && onSelect(newItems, newUnSelectedItems);
736
736
  };
737
737
  CRUD.prototype.handleChildPopOverOpen = function (popOver) {
738
738
  if (this.props.interval &&
@@ -751,25 +751,26 @@ var CRUD = /** @class */ (function (_super) {
751
751
  }
752
752
  }
753
753
  };
754
- CRUD.prototype.handleQuery = function (values, forceReload, replace) {
754
+ CRUD.prototype.handleQuery = function (values, forceReload, replace, resetPage) {
755
755
  var _a;
756
756
  if (forceReload === void 0) { forceReload = false; }
757
757
  var _b = this.props, store = _b.store, syncLocation = _b.syncLocation, env = _b.env, pageField = _b.pageField, perPageField = _b.perPageField;
758
- store.updateQuery(tslib.__assign(tslib.__assign({}, values), (_a = {}, _a[pageField || 'page'] = 1, _a)), syncLocation && env && env.updateLocation
758
+ store.updateQuery(resetPage
759
+ ? tslib.__assign((_a = {}, _a[pageField || 'page'] = 1, _a), values) : values, syncLocation && env && env.updateLocation
759
760
  ? env.updateLocation
760
761
  : undefined, pageField, perPageField, replace);
761
762
  this.search(undefined, undefined, undefined, forceReload);
762
763
  };
763
- CRUD.prototype.reload = function (subpath, query, replace) {
764
+ CRUD.prototype.reload = function (subpath, query, replace, resetPage) {
764
765
  if (query) {
765
- return this.receive(query, undefined, replace);
766
+ return this.receive(query, undefined, replace, resetPage);
766
767
  }
767
768
  else {
768
769
  this.search(undefined, undefined, true, true);
769
770
  }
770
771
  };
771
- CRUD.prototype.receive = function (values, subPath, replace) {
772
- this.handleQuery(values, true, replace);
772
+ CRUD.prototype.receive = function (values, subPath, replace, resetPage) {
773
+ this.handleQuery(values, true, replace, resetPage);
773
774
  };
774
775
  CRUD.prototype.reloadTarget = function (target, data) {
775
776
  // implement this.
@@ -830,6 +831,7 @@ var CRUD = /** @class */ (function (_super) {
830
831
  var bulkBtns = [];
831
832
  var itemBtns = [];
832
833
  var ctx = amisCore.createObject(store.mergedData, {
834
+ currentPageData: store.mergedData.items.concat(),
833
835
  selectedItems: selectedItems.concat(),
834
836
  unSelectedItems: unSelectedItems.concat()
835
837
  });
@@ -942,13 +944,13 @@ var CRUD = /** @class */ (function (_super) {
942
944
  __('CRUD.filter')));
943
945
  };
944
946
  CRUD.prototype.renderExportCSV = function (toolbar) {
945
- var _a = this.props, store = _a.store, ns = _a.classPrefix; _a.classnames; var __ = _a.translate, loadDataOnce = _a.loadDataOnce, data = _a.data;
947
+ var _a = this.props, store = _a.store, ns = _a.classPrefix, __ = _a.translate, loadDataOnce = _a.loadDataOnce;
946
948
  var api = toolbar.api;
947
949
  return (React__default["default"].createElement(amisUi.Button, { classPrefix: ns, onClick: function () {
948
950
  return store.exportAsCSV({
949
951
  loadDataOnce: loadDataOnce,
950
952
  api: api,
951
- data: data
953
+ data: store.filterData /* 因为filter区域可能设置了过滤字段值,所以query信息也要写入数据域 */
952
954
  });
953
955
  } }, toolbar.label || __('CRUD.exportCSV')));
954
956
  };
@@ -1253,19 +1255,20 @@ var CRUD = /** @class */ (function (_super) {
1253
1255
  var scoped = this.context;
1254
1256
  scoped.unRegisterComponent(this);
1255
1257
  };
1256
- CRUDRenderer.prototype.reload = function (subpath, query, ctx, silent, replace) {
1258
+ CRUDRenderer.prototype.reload = function (subpath, query, ctx, silent, replace, args) {
1259
+ var _a;
1257
1260
  var scoped = this.context;
1258
1261
  if (subpath) {
1259
1262
  return scoped.reload(query ? "".concat(subpath, "?").concat(amisCore.qsstringify(query)) : subpath, ctx);
1260
1263
  }
1261
- return _super.prototype.reload.call(this, subpath, query, replace);
1264
+ return _super.prototype.reload.call(this, subpath, query, replace, (_a = args === null || args === void 0 ? void 0 : args.resetPage) !== null && _a !== void 0 ? _a : true);
1262
1265
  };
1263
- CRUDRenderer.prototype.receive = function (values, subPath, replace) {
1266
+ CRUDRenderer.prototype.receive = function (values, subPath, replace, resetPage) {
1264
1267
  var scoped = this.context;
1265
1268
  if (subPath) {
1266
1269
  return scoped.send(subPath, values);
1267
1270
  }
1268
- return _super.prototype.receive.call(this, values, undefined, replace);
1271
+ return _super.prototype.receive.call(this, values, undefined, replace, resetPage);
1269
1272
  };
1270
1273
  CRUDRenderer.prototype.reloadTarget = function (target, data) {
1271
1274
  var scoped = this.context;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -4,6 +4,13 @@
4
4
  import React from 'react';
5
5
  import { BaseSchema } from '../Schema';
6
6
  import { RendererProps } from 'amis-core';
7
+ import type { editor as EditorNamespace } from 'monaco-editor';
8
+ export declare type MonacoEditor = typeof EditorNamespace;
9
+ export declare type CodeBuiltinTheme = EditorNamespace.BuiltinTheme;
10
+ export declare type IMonaco = {
11
+ editor: MonacoEditor;
12
+ [propName: string]: any;
13
+ };
7
14
  export interface Token {
8
15
  /**
9
16
  * token 的正则
@@ -39,6 +46,10 @@ export interface CustomLang {
39
46
  * token
40
47
  */
41
48
  tokens: Token[];
49
+ /**
50
+ * 编辑器颜色相关配置,不传使用内置默认值
51
+ */
52
+ colors?: EditorNamespace.IColors;
42
53
  }
43
54
  /**
44
55
  * 代码高亮组件
@@ -50,7 +61,7 @@ export interface CodeSchema extends BaseSchema {
50
61
  * 语言类型
51
62
  */
52
63
  language?: 'bat' | 'c' | 'coffeescript' | 'cpp' | 'csharp' | 'css' | 'dockerfile' | 'fsharp' | 'go' | 'handlebars' | 'html' | 'ini' | 'java' | 'javascript' | 'json' | 'less' | 'lua' | 'markdown' | 'msdax' | 'objective-c' | 'php' | 'plaintext' | 'postiats' | 'powershell' | 'pug' | 'python' | 'r' | 'razor' | 'ruby' | 'sb' | 'scss' | 'shell' | 'sol' | 'sql' | 'swift' | 'typescript' | 'vb' | 'xml' | 'yaml' | string;
53
- editorTheme?: string;
64
+ editorTheme?: CodeBuiltinTheme;
54
65
  /**
55
66
  * tab 大小
56
67
  */
@@ -63,21 +74,30 @@ export interface CodeSchema extends BaseSchema {
63
74
  * 自定义语言
64
75
  */
65
76
  customLang?: CustomLang;
77
+ /**
78
+ * 使用的标签,默认多行使用pre,单行使用code
79
+ */
80
+ wrapperComponent?: string;
66
81
  }
67
- export interface CodeProps extends RendererProps, Omit<CodeSchema, 'type' | 'className'> {
82
+ export interface CodeProps extends RendererProps, Omit<CodeSchema, 'type' | 'className' | 'wrapperComponent'> {
83
+ wrapperComponent?: any;
68
84
  }
69
85
  export default class Code extends React.Component<CodeProps> {
86
+ static propsList: string[];
70
87
  static defaultProps: Partial<CodeProps>;
71
- monaco: any;
88
+ monaco: IMonaco;
72
89
  toDispose: Array<Function>;
73
90
  codeRef: React.RefObject<HTMLElement>;
74
91
  customLang: CustomLang;
75
92
  sourceCode: string;
76
93
  constructor(props: CodeProps);
94
+ shouldComponentUpdate(nextProps: CodeProps): boolean;
77
95
  componentDidMount(): void;
78
- componentDidUpdate(preProps: CodeProps): void;
79
- handleMonaco(monaco: any): void;
80
- registTheme(): string | null;
96
+ componentDidUpdate(preProps: CodeProps): Promise<void>;
97
+ handleMonaco(monaco: any): Promise<void>;
98
+ resolveLanguage(props?: CodeProps): string;
99
+ /** 注册并返回当前主题名称,如果未自定义主题,则范围editorTheme值,默认为'vs' */
100
+ registerAndGetTheme(): string;
81
101
  render(): JSX.Element;
82
102
  }
83
103
  export declare class CodeRenderer extends Code {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -9,13 +9,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var tslib = require('tslib');
11
11
  var React = require('react');
12
- var isEqual = require('lodash/isEqual');
12
+ var isPlainObject = require('lodash/isPlainObject');
13
13
  var amisCore = require('amis-core');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
- var isEqual__default = /*#__PURE__*/_interopDefaultLegacy(isEqual);
18
+ var isPlainObject__default = /*#__PURE__*/_interopDefaultLegacy(isPlainObject);
19
19
 
20
20
  var Code = /** @class */ (function (_super) {
21
21
  tslib.__extends(Code, _super);
@@ -25,58 +25,113 @@ var Code = /** @class */ (function (_super) {
25
25
  _this.codeRef = React__default["default"].createRef();
26
26
  return _this;
27
27
  }
28
+ Code.prototype.shouldComponentUpdate = function (nextProps) {
29
+ return (amisCore.anyChanged(Code.propsList, this.props, nextProps) ||
30
+ this.resolveLanguage(this.props) !== this.resolveLanguage(nextProps) ||
31
+ amisCore.getPropValue(this.props) !== amisCore.getPropValue(nextProps));
32
+ };
28
33
  Code.prototype.componentDidMount = function () {
29
34
  var _this = this;
30
35
  Promise.resolve().then(function() {return new Promise(function(fullfill) {require(['monaco-editor'], function(mod) {fullfill(tslib.__importStar(mod))})})}).then(function (monaco) { return _this.handleMonaco(monaco); });
31
36
  };
32
37
  Code.prototype.componentDidUpdate = function (preProps) {
33
- var _this = this;
34
- var props = this.props;
35
- var sourceCode = amisCore.getPropValue(this.props);
36
- var preSourceCode = amisCore.getPropValue(this.props);
37
- if (sourceCode !== preSourceCode ||
38
- (props.customLang && !isEqual__default["default"](props.customLang, preProps.customLang))) {
39
- var dom_1 = this.codeRef.current;
40
- dom_1.innerHTML = sourceCode;
41
- var theme_1 = this.registTheme() || this.props.editorTheme || 'vs';
42
- setTimeout(function () {
43
- _this.monaco.editor.colorizeElement(dom_1, {
44
- tabSize: _this.props.tabSize,
45
- theme: theme_1
46
- });
47
- }, 16);
48
- }
38
+ var _a;
39
+ return tslib.__awaiter(this, void 0, void 0, function () {
40
+ var props, dom, tabSize, sourceCode, language, theme, colorizedHtml;
41
+ return tslib.__generator(this, function (_b) {
42
+ switch (_b.label) {
43
+ case 0:
44
+ props = this.props;
45
+ dom = this.codeRef.current;
46
+ if (!(((_a = this === null || this === void 0 ? void 0 : this.monaco) === null || _a === void 0 ? void 0 : _a.editor) && dom)) return [3 /*break*/, 2];
47
+ tabSize = props.tabSize;
48
+ sourceCode = amisCore.getPropValue(this.props);
49
+ language = this.resolveLanguage();
50
+ theme = this.registerAndGetTheme();
51
+ /**
52
+ * FIXME: https://github.com/microsoft/monaco-editor/issues/338
53
+ * 已知问题:变量的样式存储在顶层,所以同页面中存在多个editor时,切换主题对所有editor生效
54
+ * 每个组件单独实例化一个editor可以处理,但是成本较高,目前官方的处理方式是iframe嵌套隔离
55
+ */
56
+ this.monaco.editor.setTheme(theme);
57
+ return [4 /*yield*/, this.monaco.editor.colorize(sourceCode, language, {
58
+ tabSize: tabSize
59
+ })];
60
+ case 1:
61
+ colorizedHtml = _b.sent();
62
+ dom.innerHTML = colorizedHtml;
63
+ _b.label = 2;
64
+ case 2: return [2 /*return*/];
65
+ }
66
+ });
67
+ });
49
68
  };
50
69
  Code.prototype.handleMonaco = function (monaco) {
51
- var _this = this;
52
- this.monaco = monaco;
53
- if (this.codeRef.current) {
54
- var dom_2 = this.codeRef.current;
55
- var theme_2 = this.registTheme() || this.props.editorTheme || 'vs';
56
- // 这里必须是异步才能准确,可能是因为 monaco 里注册主题是异步的
57
- setTimeout(function () {
58
- monaco.editor.colorizeElement(dom_2, {
59
- tabSize: _this.props.tabSize,
60
- theme: theme_2
61
- });
62
- }, 16);
70
+ var _a;
71
+ return tslib.__awaiter(this, void 0, void 0, function () {
72
+ var tabSize, sourceCode, language, dom, theme, colorizedHtml;
73
+ return tslib.__generator(this, function (_b) {
74
+ switch (_b.label) {
75
+ case 0:
76
+ if (!monaco) {
77
+ return [2 /*return*/];
78
+ }
79
+ this.monaco = monaco;
80
+ tabSize = this.props.tabSize;
81
+ sourceCode = amisCore.getPropValue(this.props);
82
+ language = this.resolveLanguage();
83
+ dom = this.codeRef.current;
84
+ if (!(dom && ((_a = this.monaco) === null || _a === void 0 ? void 0 : _a.editor))) return [3 /*break*/, 2];
85
+ theme = this.registerAndGetTheme();
86
+ // 这里必须是异步才能准确,可能是因为 monaco 里注册主题是异步的
87
+ this.monaco.editor.setTheme(theme);
88
+ return [4 /*yield*/, this.monaco.editor.colorize(sourceCode, language, {
89
+ tabSize: tabSize
90
+ })];
91
+ case 1:
92
+ colorizedHtml = _b.sent();
93
+ dom.innerHTML = colorizedHtml;
94
+ _b.label = 2;
95
+ case 2: return [2 /*return*/];
96
+ }
97
+ });
98
+ });
99
+ };
100
+ Code.prototype.resolveLanguage = function (props) {
101
+ var currentProps = props !== null && props !== void 0 ? props : this.props;
102
+ var customLang = currentProps.customLang, data = currentProps.data;
103
+ var _a = currentProps.language, language = _a === void 0 ? 'plaintext' : _a;
104
+ if (amisCore.isPureVariable(language)) {
105
+ language = amisCore.resolveVariableAndFilter(language, data);
106
+ }
107
+ if (customLang) {
108
+ if (customLang.name) {
109
+ language = customLang.name;
110
+ }
63
111
  }
112
+ return language;
64
113
  };
65
- Code.prototype.registTheme = function () {
114
+ /** 注册并返回当前主题名称,如果未自定义主题,则范围editorTheme值,默认为'vs' */
115
+ Code.prototype.registerAndGetTheme = function () {
116
+ var _a, _b;
66
117
  var monaco = this.monaco;
118
+ var _c = this.props.editorTheme, editorTheme = _c === void 0 ? 'vs' : _c;
67
119
  if (!monaco) {
68
- return null;
120
+ return editorTheme;
69
121
  }
70
122
  if (this.customLang &&
71
123
  this.customLang.name &&
72
- this.customLang.tokens &&
124
+ Array.isArray(this.customLang.tokens) &&
73
125
  this.customLang.tokens.length) {
74
126
  var langName = this.customLang.name;
127
+ var colors = ((_a = this.customLang) === null || _a === void 0 ? void 0 : _a.colors) && isPlainObject__default["default"]((_b = this.customLang) === null || _b === void 0 ? void 0 : _b.colors)
128
+ ? this.customLang.colors
129
+ : {};
75
130
  monaco.languages.register({ id: langName });
76
131
  var tokenizers = [];
77
132
  var rules = [];
78
- for (var _i = 0, _a = this.customLang.tokens; _i < _a.length; _i++) {
79
- var token = _a[_i];
133
+ for (var _i = 0, _d = this.customLang.tokens; _i < _d.length; _i++) {
134
+ var token = _d[_i];
80
135
  var regex = new RegExp(token.regex, token.regexFlags || undefined);
81
136
  tokenizers.push([regex, token.name]);
82
137
  rules.push({
@@ -94,27 +149,36 @@ var Code = /** @class */ (function (_super) {
94
149
  monaco.editor.defineTheme(langName, {
95
150
  base: 'vs',
96
151
  inherit: false,
97
- rules: rules
152
+ rules: rules,
153
+ colors: colors
98
154
  });
99
155
  return langName;
100
156
  }
101
- return null;
157
+ return editorTheme;
102
158
  };
103
159
  Code.prototype.render = function () {
104
- var _a = this.props, className = _a.className, cx = _a.classnames, data = _a.data, customLang = _a.customLang, wordWrap = _a.wordWrap;
105
- var language = this.props.language;
106
160
  var sourceCode = amisCore.getPropValue(this.props);
107
- if (amisCore.isPureVariable(language)) {
108
- language = amisCore.resolveVariableAndFilter(language, data);
109
- }
161
+ var _a = this.props, className = _a.className, cx = _a.classnames, editorTheme = _a.editorTheme, customLang = _a.customLang, wordWrap = _a.wordWrap, wrapperComponent = _a.wrapperComponent;
162
+ var language = this.resolveLanguage();
163
+ var isMultiLine = typeof sourceCode === 'string' && sourceCode.split(/\r?\n/).length > 1;
164
+ var Component = wrapperComponent || (isMultiLine ? 'pre' : 'code');
110
165
  if (customLang) {
111
- if (customLang.name) {
112
- language = customLang.name;
113
- }
114
166
  this.customLang = customLang;
115
167
  }
116
- return (React__default["default"].createElement("code", { ref: this.codeRef, className: cx("Code", { 'word-break': wordWrap }, className), "data-lang": language }, sourceCode));
168
+ return (React__default["default"].createElement(Component, { ref: this.codeRef, className: cx('Code', {
169
+ // 使用内置暗色主题时设置一下背景,避免看不清
170
+ 'Code--dark': editorTheme && ['vs-dark', 'hc-black'].includes(editorTheme),
171
+ 'Code-pre-wrap': Component === 'pre',
172
+ 'word-break': wordWrap
173
+ }, className), "data-lang": language }, sourceCode));
117
174
  };
175
+ Code.propsList = [
176
+ 'language',
177
+ 'editorTheme',
178
+ 'tabSize',
179
+ 'wordWrap',
180
+ 'customLang'
181
+ ];
118
182
  Code.defaultProps = {
119
183
  language: 'plaintext',
120
184
  editorTheme: 'vs',
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -24,9 +24,11 @@ var Collapse = /** @class */ (function (_super) {
24
24
  Collapse.prototype.render = function () {
25
25
  var _a = this.props, id = _a.id, ns = _a.classPrefix, cx = _a.classnames, size = _a.size, wrapperComponent = _a.wrapperComponent, headingComponent = _a.headingComponent, className = _a.className, headingClassName = _a.headingClassName, children = _a.children, titlePosition = _a.titlePosition, headerPosition = _a.headerPosition, title = _a.title, collapseTitle = _a.collapseTitle, collapseHeader = _a.collapseHeader, header = _a.header, body = _a.body, bodyClassName = _a.bodyClassName, render = _a.render, collapsable = _a.collapsable; _a.translate; var mountOnEnter = _a.mountOnEnter, unmountOnExit = _a.unmountOnExit, showArrow = _a.showArrow, expandIcon = _a.expandIcon, disabled = _a.disabled, collapsed = _a.collapsed, propsUpdate = _a.propsUpdate, onCollapse = _a.onCollapse;
26
26
  return (React__default["default"].createElement(amisUi.Collapse, { id: id, classnames: cx, classPrefix: ns, mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, size: size, wrapperComponent: wrapperComponent, headingComponent: headingComponent, className: className, headingClassName: headingClassName, bodyClassName: bodyClassName, headerPosition: titlePosition || headerPosition, collapsable: collapsable, collapsed: collapsed, showArrow: showArrow, disabled: disabled, propsUpdate: propsUpdate, expandIcon: expandIcon
27
- ? render('arrow-icon', expandIcon || '', {
28
- className: cx('Collapse-icon-tranform')
29
- })
27
+ ? typeof expandIcon.icon === 'object'
28
+ ? amisCore.generateIcon(cx, expandIcon.icon)
29
+ : render('arrow-icon', expandIcon || '', {
30
+ className: cx('Collapse-icon-tranform')
31
+ })
30
32
  : null, collapseHeader: collapseTitle || collapseHeader
31
33
  ? render('heading', collapseTitle || collapseHeader)
32
34
  : null, header: render('heading', title || header || ''), body: children
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.1
2
+ * amis v2.4.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5