amis 2.3.1 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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