amis 2.3.2-beta.1 → 2.4.1-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (472) hide show
  1. package/esm/Schema.d.ts +6 -2
  2. package/esm/compat.js +1 -1
  3. package/esm/index.d.ts +6 -0
  4. package/esm/index.js +7 -1
  5. package/esm/preset.js +1 -1
  6. package/esm/renderers/Action.js +18 -19
  7. package/esm/renderers/Alert.js +1 -1
  8. package/esm/renderers/AnchorNav.js +1 -1
  9. package/esm/renderers/App.js +1 -1
  10. package/esm/renderers/Audio.js +1 -1
  11. package/esm/renderers/Avatar.js +1 -1
  12. package/esm/renderers/BarCode.js +1 -1
  13. package/esm/renderers/Breadcrumb.js +1 -1
  14. package/esm/renderers/ButtonGroup.js +1 -1
  15. package/esm/renderers/CRUD.d.ts +5 -5
  16. package/esm/renderers/CRUD.js +28 -21
  17. package/esm/renderers/CRUD2.js +1 -1
  18. package/esm/renderers/Calendar.js +1 -1
  19. package/esm/renderers/Card.js +1 -1
  20. package/esm/renderers/Card2.js +1 -1
  21. package/esm/renderers/Cards.js +1 -1
  22. package/esm/renderers/Carousel.js +1 -1
  23. package/esm/renderers/Chart.d.ts +16 -2
  24. package/esm/renderers/Chart.js +82 -18
  25. package/esm/renderers/Code.d.ts +26 -6
  26. package/esm/renderers/Code.js +112 -48
  27. package/esm/renderers/Collapse.js +7 -5
  28. package/esm/renderers/CollapseGroup.js +1 -1
  29. package/esm/renderers/Color.js +2 -2
  30. package/esm/renderers/Container.js +1 -1
  31. package/esm/renderers/Copyable.js +1 -1
  32. package/esm/renderers/Custom.js +1 -1
  33. package/esm/renderers/Date.js +1 -1
  34. package/esm/renderers/DateRange.d.ts +37 -0
  35. package/esm/renderers/DateRange.js +57 -0
  36. package/esm/renderers/Dialog.js +1 -1
  37. package/esm/renderers/Divider.js +1 -1
  38. package/esm/renderers/Drawer.js +1 -1
  39. package/esm/renderers/DropDownButton.js +3 -3
  40. package/esm/renderers/Each.js +1 -1
  41. package/esm/renderers/Flex.js +1 -1
  42. package/esm/renderers/Form/ButtonGroupSelect.js +8 -1
  43. package/esm/renderers/Form/ButtonToolbar.js +1 -1
  44. package/esm/renderers/Form/ChainedSelect.d.ts +1 -0
  45. package/esm/renderers/Form/ChainedSelect.js +40 -2
  46. package/esm/renderers/Form/ChartRadios.d.ts +2 -1
  47. package/esm/renderers/Form/ChartRadios.js +29 -2
  48. package/esm/renderers/Form/Checkbox.d.ts +1 -0
  49. package/esm/renderers/Form/Checkbox.js +12 -1
  50. package/esm/renderers/Form/Checkboxes.js +8 -1
  51. package/esm/renderers/Form/Combo.d.ts +3 -1
  52. package/esm/renderers/Form/Combo.js +75 -75
  53. package/esm/renderers/Form/ConditionBuilder.js +1 -1
  54. package/esm/renderers/Form/Control.js +1 -1
  55. package/esm/renderers/Form/DiffEditor.d.ts +7 -0
  56. package/esm/renderers/Form/DiffEditor.js +1 -1
  57. package/esm/renderers/Form/Editor.d.ts +3 -1
  58. package/esm/renderers/Form/Editor.js +1 -1
  59. package/esm/renderers/Form/FieldSet.js +1 -1
  60. package/esm/renderers/Form/Formula.js +1 -1
  61. package/esm/renderers/Form/Group.js +4 -3
  62. package/esm/renderers/Form/Hidden.js +1 -1
  63. package/esm/renderers/Form/IconPicker.js +2 -2
  64. package/esm/renderers/Form/IconPickerIcons.js +1 -1
  65. package/esm/renderers/Form/IconSelect.d.ts +52 -0
  66. package/esm/renderers/Form/IconSelect.js +282 -0
  67. package/esm/renderers/Form/IconSelectStore.d.ts +19 -0
  68. package/esm/renderers/Form/IconSelectStore.js +69 -0
  69. package/esm/renderers/Form/InputArray.d.ts +4 -0
  70. package/esm/renderers/Form/InputArray.js +12 -5
  71. package/esm/renderers/Form/InputCity.d.ts +96 -65
  72. package/esm/renderers/Form/InputCity.js +95 -46
  73. package/esm/renderers/Form/InputColor.js +10 -3
  74. package/esm/renderers/Form/InputDate.js +8 -1
  75. package/esm/renderers/Form/InputDateRange.js +8 -1
  76. package/esm/renderers/Form/InputExcel.js +1 -1
  77. package/esm/renderers/Form/InputFile.js +1 -1
  78. package/esm/renderers/Form/InputFormula.js +1 -1
  79. package/esm/renderers/Form/InputGroup.js +1 -1
  80. package/esm/renderers/Form/InputImage.js +1 -1
  81. package/esm/renderers/Form/InputMonthRange.js +9 -2
  82. package/esm/renderers/Form/InputNumber.d.ts +5 -0
  83. package/esm/renderers/Form/InputNumber.js +34 -15
  84. package/esm/renderers/Form/InputQuarterRange.js +9 -2
  85. package/esm/renderers/Form/InputRange.d.ts +3 -4
  86. package/esm/renderers/Form/InputRange.js +16 -9
  87. package/esm/renderers/Form/InputRating.d.ts +1 -0
  88. package/esm/renderers/Form/InputRating.js +38 -4
  89. package/esm/renderers/Form/InputRepeat.js +1 -1
  90. package/esm/renderers/Form/InputRichText.js +1 -1
  91. package/esm/renderers/Form/InputSubForm.js +1 -1
  92. package/esm/renderers/Form/InputTable.d.ts +3 -1
  93. package/esm/renderers/Form/InputTable.js +39 -17
  94. package/esm/renderers/Form/InputTag.js +8 -1
  95. package/esm/renderers/Form/InputText.d.ts +3 -0
  96. package/esm/renderers/Form/InputText.js +64 -34
  97. package/esm/renderers/Form/InputTree.js +8 -1
  98. package/esm/renderers/Form/InputYearRange.js +9 -2
  99. package/esm/renderers/Form/JSONSchema.js +1 -1
  100. package/esm/renderers/Form/JSONSchemaEditor.js +1 -1
  101. package/esm/renderers/Form/ListSelect.d.ts +1 -0
  102. package/esm/renderers/Form/ListSelect.js +36 -2
  103. package/esm/renderers/Form/LocationPicker.d.ts +10 -0
  104. package/esm/renderers/Form/LocationPicker.js +82 -5
  105. package/esm/renderers/Form/MatrixCheckboxes.d.ts +2 -1
  106. package/esm/renderers/Form/MatrixCheckboxes.js +20 -4
  107. package/esm/renderers/Form/NestedSelect.js +8 -1
  108. package/esm/renderers/Form/Picker.js +26 -4
  109. package/esm/renderers/Form/Radios.js +8 -1
  110. package/esm/renderers/Form/Select.js +8 -1
  111. package/esm/renderers/Form/Static.js +1 -1
  112. package/esm/renderers/Form/StaticHoc.d.ts +5 -0
  113. package/esm/renderers/Form/StaticHoc.js +107 -0
  114. package/esm/renderers/Form/Switch.d.ts +6 -0
  115. package/esm/renderers/Form/Switch.js +30 -7
  116. package/esm/renderers/Form/TabsTransfer.js +8 -1
  117. package/esm/renderers/Form/TabsTransferPicker.js +8 -1
  118. package/esm/renderers/Form/Textarea.d.ts +1 -0
  119. package/esm/renderers/Form/Textarea.js +17 -1
  120. package/esm/renderers/Form/Transfer.js +14 -5
  121. package/esm/renderers/Form/TransferPicker.js +8 -1
  122. package/esm/renderers/Form/TreeSelect.js +8 -1
  123. package/esm/renderers/Form/UUID.js +1 -1
  124. package/esm/renderers/Form/UserSelect.js +1 -1
  125. package/esm/renderers/Grid.js +1 -1
  126. package/esm/renderers/Grid2D.js +1 -1
  127. package/esm/renderers/GridNav.js +1 -1
  128. package/esm/renderers/HBox.js +1 -1
  129. package/esm/renderers/IFrame.d.ts +2 -0
  130. package/esm/renderers/IFrame.js +18 -4
  131. package/esm/renderers/Icon.d.ts +3 -3
  132. package/esm/renderers/Icon.js +12 -3
  133. package/esm/renderers/Image.js +1 -1
  134. package/esm/renderers/Images.js +1 -1
  135. package/esm/renderers/Json.js +1 -1
  136. package/esm/renderers/Link.js +1 -1
  137. package/esm/renderers/List.d.ts +6 -5
  138. package/esm/renderers/List.js +35 -21
  139. package/esm/renderers/Log.js +1 -1
  140. package/esm/renderers/Mapping.js +1 -1
  141. package/esm/renderers/Markdown.js +1 -1
  142. package/esm/renderers/MultilineText.d.ts +35 -0
  143. package/esm/renderers/MultilineText.js +36 -0
  144. package/esm/renderers/Nav.d.ts +10 -10
  145. package/esm/renderers/Nav.js +1 -1
  146. package/esm/renderers/Operation.js +1 -1
  147. package/esm/renderers/Page.js +1 -1
  148. package/esm/renderers/Pagination.js +1 -1
  149. package/esm/renderers/PaginationWrapper.js +1 -1
  150. package/esm/renderers/Panel.js +3 -3
  151. package/esm/renderers/Password.d.ts +30 -0
  152. package/esm/renderers/Password.js +54 -0
  153. package/esm/renderers/Plain.js +1 -1
  154. package/esm/renderers/PopOver.js +1 -1
  155. package/esm/renderers/Portlet.js +1 -1
  156. package/esm/renderers/Progress.js +1 -1
  157. package/esm/renderers/Property.js +1 -1
  158. package/esm/renderers/QRCode.js +1 -1
  159. package/esm/renderers/QuickEdit.js +5 -3
  160. package/esm/renderers/Remark.js +3 -3
  161. package/esm/renderers/SearchBox.js +1 -1
  162. package/esm/renderers/Service.js +1 -1
  163. package/esm/renderers/SparkLine.js +1 -1
  164. package/esm/renderers/Spinner.js +1 -1
  165. package/esm/renderers/Status.js +1 -1
  166. package/esm/renderers/Steps.js +1 -1
  167. package/esm/renderers/Table/ColumnToggler.js +2 -2
  168. package/esm/renderers/Table/HeadCellFilterDropdown.js +1 -1
  169. package/esm/renderers/Table/HeadCellSearchDropdown.js +1 -1
  170. package/esm/renderers/Table/ItemActionsWrapper.js +1 -1
  171. package/esm/renderers/Table/TableBody.js +1 -1
  172. package/esm/renderers/Table/TableCell.js +1 -1
  173. package/esm/renderers/Table/TableContent.js +1 -1
  174. package/esm/renderers/Table/TableRow.d.ts +1 -1
  175. package/esm/renderers/Table/TableRow.js +6 -4
  176. package/esm/renderers/Table/exportExcel.js +51 -40
  177. package/esm/renderers/Table/index.js +4 -4
  178. package/esm/renderers/Table2/ColumnToggler.js +1 -1
  179. package/esm/renderers/Table2/HeadCellSearchDropdown.js +1 -1
  180. package/esm/renderers/Table2/TableCell.js +1 -1
  181. package/esm/renderers/Table2/index.js +3 -3
  182. package/esm/renderers/TableView.js +1 -1
  183. package/esm/renderers/Tabs.js +1 -1
  184. package/esm/renderers/Tag.js +1 -1
  185. package/esm/renderers/Tasks.js +2 -2
  186. package/esm/renderers/Timeline.js +3 -2
  187. package/esm/renderers/TooltipWrapper.js +1 -1
  188. package/esm/renderers/Tpl.js +1 -1
  189. package/esm/renderers/VBox.js +1 -1
  190. package/esm/renderers/Video.js +1 -1
  191. package/esm/renderers/WebComponent.js +1 -1
  192. package/esm/renderers/Wizard.js +1 -1
  193. package/esm/renderers/Words.d.ts +69 -0
  194. package/esm/renderers/Words.js +163 -0
  195. package/esm/renderers/Wrapper.js +1 -1
  196. package/esm/schemaExtend.js +1 -1
  197. package/lib/Schema.d.ts +6 -2
  198. package/lib/compat.js +1 -1
  199. package/lib/helper.css +3 -0
  200. package/lib/index.d.ts +6 -0
  201. package/lib/index.js +18 -1
  202. package/lib/preset.js +1 -1
  203. package/lib/renderers/Action.js +18 -19
  204. package/lib/renderers/Alert.js +1 -1
  205. package/lib/renderers/AnchorNav.js +1 -1
  206. package/lib/renderers/App.js +1 -1
  207. package/lib/renderers/Audio.js +1 -1
  208. package/lib/renderers/Avatar.js +1 -1
  209. package/lib/renderers/BarCode.js +1 -1
  210. package/lib/renderers/Breadcrumb.js +1 -1
  211. package/lib/renderers/ButtonGroup.js +1 -1
  212. package/lib/renderers/CRUD.d.ts +5 -5
  213. package/lib/renderers/CRUD.js +28 -21
  214. package/lib/renderers/CRUD2.js +1 -1
  215. package/lib/renderers/Calendar.js +1 -1
  216. package/lib/renderers/Card.js +1 -1
  217. package/lib/renderers/Card2.js +1 -1
  218. package/lib/renderers/Cards.js +1 -1
  219. package/lib/renderers/Carousel.js +1 -1
  220. package/lib/renderers/Chart.d.ts +16 -2
  221. package/lib/renderers/Chart.js +81 -16
  222. package/lib/renderers/Code.d.ts +26 -6
  223. package/lib/renderers/Code.js +111 -47
  224. package/lib/renderers/Collapse.js +6 -4
  225. package/lib/renderers/CollapseGroup.js +1 -1
  226. package/lib/renderers/Color.js +2 -2
  227. package/lib/renderers/Container.js +1 -1
  228. package/lib/renderers/Copyable.js +1 -1
  229. package/lib/renderers/Custom.js +1 -1
  230. package/lib/renderers/Date.js +1 -1
  231. package/lib/renderers/DateRange.d.ts +37 -0
  232. package/lib/renderers/DateRange.js +66 -0
  233. package/lib/renderers/Dialog.d.ts +40 -41
  234. package/lib/renderers/Dialog.js +1 -1
  235. package/lib/renderers/Divider.js +1 -1
  236. package/lib/renderers/Drawer.js +1 -1
  237. package/lib/renderers/DropDownButton.js +3 -3
  238. package/lib/renderers/Each.js +1 -1
  239. package/lib/renderers/Flex.js +1 -1
  240. package/lib/renderers/Form/ButtonGroupSelect.js +8 -1
  241. package/lib/renderers/Form/ButtonToolbar.js +1 -1
  242. package/lib/renderers/Form/ChainedSelect.d.ts +1 -0
  243. package/lib/renderers/Form/ChainedSelect.js +40 -1
  244. package/lib/renderers/Form/ChartRadios.d.ts +2 -1
  245. package/lib/renderers/Form/ChartRadios.js +29 -2
  246. package/lib/renderers/Form/Checkbox.d.ts +1 -0
  247. package/lib/renderers/Form/Checkbox.js +12 -1
  248. package/lib/renderers/Form/Checkboxes.js +8 -1
  249. package/lib/renderers/Form/Combo.d.ts +3 -1
  250. package/lib/renderers/Form/Combo.js +75 -75
  251. package/lib/renderers/Form/ConditionBuilder.js +1 -1
  252. package/lib/renderers/Form/Control.js +1 -1
  253. package/lib/renderers/Form/DiffEditor.d.ts +9 -3
  254. package/lib/renderers/Form/DiffEditor.js +1 -1
  255. package/lib/renderers/Form/Editor.d.ts +4 -2
  256. package/lib/renderers/Form/Editor.js +1 -1
  257. package/lib/renderers/Form/FieldSet.js +1 -1
  258. package/lib/renderers/Form/Formula.js +1 -1
  259. package/lib/renderers/Form/Group.js +4 -3
  260. package/lib/renderers/Form/Hidden.js +1 -1
  261. package/lib/renderers/Form/IconPicker.js +2 -2
  262. package/lib/renderers/Form/IconPickerIcons.js +1 -1
  263. package/lib/renderers/Form/IconSelect.d.ts +52 -0
  264. package/lib/renderers/Form/IconSelect.js +291 -0
  265. package/lib/renderers/Form/IconSelectStore.d.ts +19 -0
  266. package/lib/renderers/Form/IconSelectStore.js +79 -0
  267. package/lib/renderers/Form/InputArray.d.ts +4 -0
  268. package/lib/renderers/Form/InputArray.js +12 -5
  269. package/lib/renderers/Form/InputCity.d.ts +96 -65
  270. package/lib/renderers/Form/InputCity.js +95 -46
  271. package/lib/renderers/Form/InputColor.js +9 -2
  272. package/lib/renderers/Form/InputDate.js +8 -1
  273. package/lib/renderers/Form/InputDateRange.js +8 -1
  274. package/lib/renderers/Form/InputExcel.js +1 -1
  275. package/lib/renderers/Form/InputFile.js +1 -1
  276. package/lib/renderers/Form/InputFormula.js +1 -1
  277. package/lib/renderers/Form/InputGroup.js +1 -1
  278. package/lib/renderers/Form/InputImage.js +1 -1
  279. package/lib/renderers/Form/InputMonthRange.js +8 -1
  280. package/lib/renderers/Form/InputNumber.d.ts +5 -0
  281. package/lib/renderers/Form/InputNumber.js +33 -14
  282. package/lib/renderers/Form/InputQuarterRange.js +8 -1
  283. package/lib/renderers/Form/InputRange.d.ts +3 -4
  284. package/lib/renderers/Form/InputRange.js +16 -9
  285. package/lib/renderers/Form/InputRating.d.ts +1 -0
  286. package/lib/renderers/Form/InputRating.js +37 -3
  287. package/lib/renderers/Form/InputRepeat.js +1 -1
  288. package/lib/renderers/Form/InputRichText.js +1 -1
  289. package/lib/renderers/Form/InputSubForm.js +1 -1
  290. package/lib/renderers/Form/InputTable.d.ts +3 -1
  291. package/lib/renderers/Form/InputTable.js +38 -16
  292. package/lib/renderers/Form/InputTag.js +8 -1
  293. package/lib/renderers/Form/InputText.d.ts +3 -0
  294. package/lib/renderers/Form/InputText.js +64 -34
  295. package/lib/renderers/Form/InputTree.js +8 -1
  296. package/lib/renderers/Form/InputYearRange.js +8 -1
  297. package/lib/renderers/Form/JSONSchema.js +1 -1
  298. package/lib/renderers/Form/JSONSchemaEditor.js +1 -1
  299. package/lib/renderers/Form/ListSelect.d.ts +1 -0
  300. package/lib/renderers/Form/ListSelect.js +35 -1
  301. package/lib/renderers/Form/LocationPicker.d.ts +10 -0
  302. package/lib/renderers/Form/LocationPicker.js +79 -2
  303. package/lib/renderers/Form/MatrixCheckboxes.d.ts +2 -1
  304. package/lib/renderers/Form/MatrixCheckboxes.js +19 -3
  305. package/lib/renderers/Form/NestedSelect.js +8 -1
  306. package/lib/renderers/Form/Picker.js +26 -4
  307. package/lib/renderers/Form/Radios.js +8 -1
  308. package/lib/renderers/Form/Select.js +8 -1
  309. package/lib/renderers/Form/Static.js +1 -1
  310. package/lib/renderers/Form/StaticHoc.d.ts +5 -0
  311. package/lib/renderers/Form/StaticHoc.js +115 -0
  312. package/lib/renderers/Form/Switch.d.ts +6 -0
  313. package/lib/renderers/Form/Switch.js +30 -7
  314. package/lib/renderers/Form/TabsTransfer.js +8 -1
  315. package/lib/renderers/Form/TabsTransferPicker.js +8 -1
  316. package/lib/renderers/Form/Textarea.d.ts +1 -0
  317. package/lib/renderers/Form/Textarea.js +17 -1
  318. package/lib/renderers/Form/Transfer.js +14 -5
  319. package/lib/renderers/Form/TransferPicker.js +8 -1
  320. package/lib/renderers/Form/TreeSelect.js +8 -1
  321. package/lib/renderers/Form/UUID.js +1 -1
  322. package/lib/renderers/Form/UserSelect.js +1 -1
  323. package/lib/renderers/Grid.js +1 -1
  324. package/lib/renderers/Grid2D.js +1 -1
  325. package/lib/renderers/GridNav.js +1 -1
  326. package/lib/renderers/HBox.js +1 -1
  327. package/lib/renderers/IFrame.d.ts +2 -0
  328. package/lib/renderers/IFrame.js +18 -4
  329. package/lib/renderers/Icon.d.ts +3 -3
  330. package/lib/renderers/Icon.js +12 -3
  331. package/lib/renderers/Image.js +1 -1
  332. package/lib/renderers/Images.js +1 -1
  333. package/lib/renderers/Json.js +1 -1
  334. package/lib/renderers/Link.js +1 -1
  335. package/lib/renderers/List.d.ts +6 -5
  336. package/lib/renderers/List.js +36 -22
  337. package/lib/renderers/Log.js +1 -1
  338. package/lib/renderers/Mapping.js +1 -1
  339. package/lib/renderers/Markdown.js +1 -1
  340. package/lib/renderers/MultilineText.d.ts +35 -0
  341. package/lib/renderers/MultilineText.js +44 -0
  342. package/lib/renderers/Nav.d.ts +10 -10
  343. package/lib/renderers/Nav.js +1 -1
  344. package/lib/renderers/Operation.js +1 -1
  345. package/lib/renderers/Page.js +1 -1
  346. package/lib/renderers/Pagination.js +1 -1
  347. package/lib/renderers/PaginationWrapper.js +1 -1
  348. package/lib/renderers/Panel.js +3 -3
  349. package/lib/renderers/Password.d.ts +30 -0
  350. package/lib/renderers/Password.js +62 -0
  351. package/lib/renderers/Plain.js +1 -1
  352. package/lib/renderers/PopOver.js +1 -1
  353. package/lib/renderers/Portlet.js +1 -1
  354. package/lib/renderers/Progress.js +1 -1
  355. package/lib/renderers/Property.js +1 -1
  356. package/lib/renderers/QRCode.js +1 -1
  357. package/lib/renderers/QuickEdit.js +5 -3
  358. package/lib/renderers/Remark.js +2 -2
  359. package/lib/renderers/SearchBox.js +1 -1
  360. package/lib/renderers/Service.js +1 -1
  361. package/lib/renderers/SparkLine.js +1 -1
  362. package/lib/renderers/Spinner.js +1 -1
  363. package/lib/renderers/Status.js +1 -1
  364. package/lib/renderers/Steps.js +1 -1
  365. package/lib/renderers/Table/ColumnToggler.js +2 -2
  366. package/lib/renderers/Table/HeadCellFilterDropdown.js +1 -1
  367. package/lib/renderers/Table/HeadCellSearchDropdown.js +1 -1
  368. package/lib/renderers/Table/ItemActionsWrapper.js +1 -1
  369. package/lib/renderers/Table/TableBody.js +1 -1
  370. package/lib/renderers/Table/TableCell.js +1 -1
  371. package/lib/renderers/Table/TableContent.js +1 -1
  372. package/lib/renderers/Table/TableRow.d.ts +1 -1
  373. package/lib/renderers/Table/TableRow.js +6 -4
  374. package/lib/renderers/Table/exportExcel.js +50 -39
  375. package/lib/renderers/Table/index.js +4 -4
  376. package/lib/renderers/Table2/ColumnToggler.js +1 -1
  377. package/lib/renderers/Table2/HeadCellSearchDropdown.js +1 -1
  378. package/lib/renderers/Table2/TableCell.js +1 -1
  379. package/lib/renderers/Table2/index.js +3 -3
  380. package/lib/renderers/TableView.js +1 -1
  381. package/lib/renderers/Tabs.js +1 -1
  382. package/lib/renderers/Tag.js +1 -1
  383. package/lib/renderers/Tasks.js +2 -2
  384. package/lib/renderers/Timeline.js +3 -2
  385. package/lib/renderers/TooltipWrapper.js +1 -1
  386. package/lib/renderers/Tpl.js +1 -1
  387. package/lib/renderers/VBox.js +1 -1
  388. package/lib/renderers/Video.js +1 -1
  389. package/lib/renderers/WebComponent.js +1 -1
  390. package/lib/renderers/Wizard.js +1 -1
  391. package/lib/renderers/Words.d.ts +69 -0
  392. package/lib/renderers/Words.js +171 -0
  393. package/lib/renderers/Wrapper.js +1 -1
  394. package/lib/schemaExtend.js +1 -1
  395. package/lib/themes/ang-ie11.css +3874 -2955
  396. package/lib/themes/ang.css +1563 -748
  397. package/lib/themes/antd-ie11.css +2567 -1591
  398. package/lib/themes/antd.css +2788 -890
  399. package/lib/themes/cxd-ie11.css +2311 -1595
  400. package/lib/themes/cxd.css +3156 -1537
  401. package/lib/themes/dark-ie11.css +3525 -2606
  402. package/lib/themes/dark.css +1563 -748
  403. package/lib/themes/default-ie11.css +2311 -1595
  404. package/lib/themes/default.css +3156 -1537
  405. package/package.json +7 -7
  406. package/schema.json +6861 -1395
  407. package/sdk/ang-ie11.css +8981 -7712
  408. package/sdk/ang.css +6743 -5575
  409. package/sdk/antd-ie11.css +7705 -6380
  410. package/sdk/antd.css +7983 -5732
  411. package/sdk/barcode.js +50 -50
  412. package/sdk/charts.js +14 -14
  413. package/sdk/codemirror.js +7 -7
  414. package/sdk/color-picker.js +65 -65
  415. package/sdk/cropperjs.js +2 -2
  416. package/sdk/cxd-ie11.css +7528 -6531
  417. package/sdk/cxd.css +8308 -6404
  418. package/sdk/dark-ie11.css +8626 -7357
  419. package/sdk/dark.css +6743 -5575
  420. package/sdk/exceljs.js +1 -1
  421. package/sdk/helper.css +3 -0
  422. package/sdk/locale/de-DE.js +6 -0
  423. package/sdk/markdown.js +68 -68
  424. package/sdk/papaparse.js +1 -1
  425. package/sdk/rest.js +17 -17
  426. package/sdk/rich-text.js +62 -62
  427. package/sdk/sdk-ie11.css +7528 -6531
  428. package/sdk/sdk.css +8308 -6404
  429. package/sdk/sdk.js +1515 -1550
  430. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf +0 -0
  431. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 +0 -0
  432. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf +0 -0
  433. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 +0 -0
  434. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf +0 -0
  435. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 +0 -0
  436. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.ttf +0 -0
  437. package/sdk/thirds/@fortawesome/fontawesome-free/webfonts/fa-v4compatibility.woff2 +0 -0
  438. package/sdk/thirds/hls.js/hls.js +1 -1
  439. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  440. package/sdk/tinymce.js +54 -52
  441. package/esm/_virtual/MiniDecimal.js +0 -8
  442. package/esm/_virtual/classCallCheck.js +0 -8
  443. package/esm/_virtual/createClass.js +0 -8
  444. package/esm/_virtual/interopRequireDefault.js +0 -8
  445. package/esm/_virtual/numberUtil.js +0 -8
  446. package/esm/_virtual/supportUtil.js +0 -8
  447. package/esm/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -25
  448. package/esm/node_modules/@babel/runtime/helpers/createClass.js +0 -38
  449. package/esm/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -16
  450. package/esm/node_modules/rc-input-number/lib/utils/MiniDecimal.js +0 -345
  451. package/esm/node_modules/rc-input-number/lib/utils/numberUtil.js +0 -146
  452. package/esm/node_modules/rc-input-number/lib/utils/supportUtil.js +0 -25
  453. package/esm/renderers/Table-v2/ColumnToggler.d.ts +0 -19
  454. package/esm/renderers/Table-v2/ColumnToggler.js +0 -88
  455. package/esm/renderers/Table-v2/HeadCellSearchDropdown.d.ts +0 -29
  456. package/esm/renderers/Table-v2/HeadCellSearchDropdown.js +0 -206
  457. package/esm/renderers/Table-v2/TableCell.d.ts +0 -6
  458. package/esm/renderers/Table-v2/TableCell.js +0 -30
  459. package/esm/renderers/Table-v2/index.d.ts +0 -285
  460. package/esm/renderers/Table-v2/index.js +0 -833
  461. package/lib/_virtual/MiniDecimal.js +0 -12
  462. package/lib/_virtual/classCallCheck.js +0 -12
  463. package/lib/_virtual/createClass.js +0 -12
  464. package/lib/_virtual/interopRequireDefault.js +0 -12
  465. package/lib/_virtual/numberUtil.js +0 -12
  466. package/lib/_virtual/supportUtil.js +0 -12
  467. package/lib/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -29
  468. package/lib/node_modules/@babel/runtime/helpers/createClass.js +0 -42
  469. package/lib/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -18
  470. package/lib/node_modules/rc-input-number/lib/utils/MiniDecimal.js +0 -349
  471. package/lib/node_modules/rc-input-number/lib/utils/numberUtil.js +0 -150
  472. package/lib/node_modules/rc-input-number/lib/utils/supportUtil.js +0 -29
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -11,6 +11,7 @@ import isEqual from 'lodash/isEqual';
11
11
  import forEach from 'lodash/forEach';
12
12
  import { filter, resolveEventData, autobind, stripNumber, FormItem } from 'amis-core';
13
13
  import { NumberInput, Range, Icon } from 'amis-ui';
14
+ import { supportStatic } from './StaticHoc.js';
14
15
 
15
16
  /**
16
17
  * 格式化初始value值
@@ -54,11 +55,11 @@ var Input = /** @class */ (function (_super) {
54
55
  * onChange事件,只能输入数字
55
56
  * @param e React.ChangeEvent
56
57
  */
57
- Input.prototype.onChange = function (value) {
58
+ Input.prototype.handleInputNumberChange = function (value) {
58
59
  var _a;
59
- var _b = this.props, multiple = _b.multiple, originValue = _b.value, type = _b.type, min = _b.min;
60
+ var _b = this.props, multiple = _b.multiple, originValue = _b.value, type = _b.type, min = _b.min, onChange = _b.onChange;
60
61
  var _value = this.getValue(value, type);
61
- this.props.onChange(multiple
62
+ onChange === null || onChange === void 0 ? void 0 : onChange(multiple
62
63
  ? __assign(__assign({}, originValue), (_a = {}, _a[type] = _value, _a)) : value !== null && value !== void 0 ? value : min);
63
64
  };
64
65
  /**
@@ -186,14 +187,14 @@ var Input = /** @class */ (function (_super) {
186
187
  : Math.max(value.min, value.max)
187
188
  : value;
188
189
  return (React.createElement("div", { className: cx("".concat(ns, "InputRange-input")) },
189
- React.createElement(NumberInput, { value: +_value, step: step, max: this.checkNum(max), min: this.checkNum(min), onChange: this.onChange, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus })));
190
+ React.createElement(NumberInput, { value: +_value, step: step, max: this.checkNum(max), min: this.checkNum(min), onChange: this.handleInputNumberChange, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus })));
190
191
  };
191
192
  __decorate([
192
193
  autobind,
193
194
  __metadata("design:type", Function),
194
195
  __metadata("design:paramtypes", [Number]),
195
196
  __metadata("design:returntype", void 0)
196
- ], Input.prototype, "onChange", null);
197
+ ], Input.prototype, "handleInputNumberChange", null);
197
198
  __decorate([
198
199
  autobind,
199
200
  __metadata("design:type", Function),
@@ -277,7 +278,7 @@ var RangeControl = /** @class */ (function (_super) {
277
278
  * 所有触发value变换 -> onChange
278
279
  * @param value
279
280
  */
280
- RangeControl.prototype.onChange = function (value) {
281
+ RangeControl.prototype.handleChange = function (value) {
281
282
  return __awaiter(this, void 0, void 0, function () {
282
283
  var _a, onChange, dispatchEvent, result, rendererEvent;
283
284
  return __generator(this, function (_b) {
@@ -326,7 +327,7 @@ var RangeControl = /** @class */ (function (_super) {
326
327
  RangeControl.prototype.render = function () {
327
328
  var _this = this;
328
329
  var value = this.state.value;
329
- var props = __assign(__assign({}, this.props), { value: value, onChange: this.onChange, onAfterChange: this.onAfterChange });
330
+ var props = __assign(__assign({}, this.props), { value: value, onChange: this.handleChange, onAfterChange: this.onAfterChange });
330
331
  var ns = props.classPrefix, multiple = props.multiple; props.parts; var showInput = props.showInput, cx = props.classnames, className = props.className, disabled = props.disabled, clearable = props.clearable, min = props.min, max = props.max, render = props.render, marks = props.marks, region = props.region;
331
332
  // 处理自定义json配置
332
333
  var renderMarks = marks ? __assign({}, marks) : marks;
@@ -381,7 +382,7 @@ var RangeControl = /** @class */ (function (_super) {
381
382
  __metadata("design:type", Function),
382
383
  __metadata("design:paramtypes", [Object]),
383
384
  __metadata("design:returntype", Promise)
384
- ], RangeControl.prototype, "onChange", null);
385
+ ], RangeControl.prototype, "handleChange", null);
385
386
  __decorate([
386
387
  autobind,
387
388
  __metadata("design:type", Function),
@@ -394,6 +395,12 @@ var RangeControl = /** @class */ (function (_super) {
394
395
  __metadata("design:paramtypes", [Object]),
395
396
  __metadata("design:returntype", void 0)
396
397
  ], RangeControl.prototype, "getFormatValue", null);
398
+ __decorate([
399
+ supportStatic(),
400
+ __metadata("design:type", Function),
401
+ __metadata("design:paramtypes", []),
402
+ __metadata("design:returntype", void 0)
403
+ ], RangeControl.prototype, "render", null);
397
404
  return RangeControl;
398
405
  }(React.PureComponent));
399
406
  /** @class */ ((function (_super) {
@@ -68,6 +68,7 @@ export default class RatingControl extends React.Component<RatingProps, any> {
68
68
  static defaultProps: Partial<RatingProps>;
69
69
  doAction(action: ActionObject, data: object, throwErrors: boolean): void;
70
70
  handleChange(value: any): Promise<void>;
71
+ renderStatic(): JSX.Element;
71
72
  render(): JSX.Element;
72
73
  }
73
74
  export declare class RatingControlRenderer extends RatingControl {
@@ -1,12 +1,13 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
6
6
  import { __extends, __awaiter, __generator, __decorate, __metadata } from 'tslib';
7
7
  import React from 'react';
8
- import { resolveEventData, autobind, FormItem } from 'amis-core';
8
+ import { resolveEventData, autobind, toNumber, filter, FormItem } from 'amis-core';
9
9
  import { Rating } from 'amis-ui';
10
+ import { supportStatic } from './StaticHoc.js';
10
11
 
11
12
  var RatingControl = /** @class */ (function (_super) {
12
13
  __extends(RatingControl, _super);
@@ -42,10 +43,18 @@ var RatingControl = /** @class */ (function (_super) {
42
43
  });
43
44
  });
44
45
  };
46
+ RatingControl.prototype.renderStatic = function () {
47
+ var _a = this.props, className = _a.className, value = _a.value, count = _a.count, half = _a.half, char = _a.char, inactiveColor = _a.inactiveColor, colors = _a.colors, texts = _a.texts, charClassName = _a.charClassName, textClassName = _a.textClassName, textPosition = _a.textPosition, cx = _a.classnames;
48
+ return (React.createElement("div", { className: cx('RatingControl', className) },
49
+ React.createElement(Rating, { classnames: cx, value: value, disabled: true, count: count, half: half, char: char, inactiveColor: inactiveColor, colors: colors, texts: texts, charClassName: charClassName, textClassName: textClassName, textPosition: textPosition })));
50
+ };
45
51
  RatingControl.prototype.render = function () {
46
52
  var _a = this.props, className = _a.className, value = _a.value, count = _a.count, half = _a.half, readOnly = _a.readOnly, disabled = _a.disabled, onHoverChange = _a.onHoverChange, allowClear = _a.allowClear, char = _a.char, inactiveColor = _a.inactiveColor, colors = _a.colors, texts = _a.texts, charClassName = _a.charClassName, textClassName = _a.textClassName, textPosition = _a.textPosition, cx = _a.classnames;
53
+ var finalCount = getFinalCount(count, this.props.data);
54
+ // 限制最大 100 星,避免渲染卡死问题
55
+ finalCount > 100 && (finalCount = 100);
47
56
  return (React.createElement("div", { className: cx('RatingControl', className) },
48
- React.createElement(Rating, { classnames: cx, value: value, disabled: disabled, count: count, half: half, allowClear: allowClear, readOnly: readOnly, char: char, inactiveColor: inactiveColor, colors: colors, texts: texts, charClassName: charClassName, textClassName: textClassName, textPosition: textPosition, onChange: this.handleChange, onHoverChange: function (value) {
57
+ React.createElement(Rating, { classnames: cx, value: value, disabled: disabled, count: finalCount, half: half, allowClear: allowClear, readOnly: readOnly, char: char, inactiveColor: inactiveColor, colors: colors, texts: texts, charClassName: charClassName, textClassName: textClassName, textPosition: textPosition, onChange: this.handleChange, onHoverChange: function (value) {
49
58
  onHoverChange && onHoverChange(value);
50
59
  } })));
51
60
  };
@@ -61,8 +70,20 @@ var RatingControl = /** @class */ (function (_super) {
61
70
  __metadata("design:paramtypes", [Object]),
62
71
  __metadata("design:returntype", Promise)
63
72
  ], RatingControl.prototype, "handleChange", null);
73
+ __decorate([
74
+ supportStatic(),
75
+ __metadata("design:type", Function),
76
+ __metadata("design:paramtypes", []),
77
+ __metadata("design:returntype", void 0)
78
+ ], RatingControl.prototype, "render", null);
64
79
  return RatingControl;
65
80
  }(React.Component));
81
+ function getFinalCount(name, data) {
82
+ if (typeof name === 'number') {
83
+ return name;
84
+ }
85
+ return toNumber(filter(name, data));
86
+ }
66
87
  /** @class */ ((function (_super) {
67
88
  __extends(RatingControlRenderer, _super);
68
89
  function RatingControlRenderer() {
@@ -71,7 +92,20 @@ var RatingControl = /** @class */ (function (_super) {
71
92
  RatingControlRenderer = __decorate([
72
93
  FormItem({
73
94
  type: 'input-rating',
74
- sizeMutable: false
95
+ sizeMutable: false,
96
+ shouldComponentUpdate: function (props, prevProps) {
97
+ return getFinalCount(props.count, props.data) !==
98
+ getFinalCount(prevProps.count, prevProps.data);
99
+ },
100
+ detectProps: [
101
+ 'half',
102
+ 'allowClear',
103
+ 'colors',
104
+ 'inactiveColor',
105
+ 'texts',
106
+ 'textPosition',
107
+ 'char'
108
+ ]
75
109
  })
76
110
  ], RatingControlRenderer);
77
111
  return RatingControlRenderer;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { FormControlProps, FormBaseControl, SimpleMap, RendererData, ActionObject } from 'amis-core';
2
+ import { FormControlProps, FormBaseControl, SimpleMap, RendererData, ActionObject, ITableStore } from 'amis-core';
3
3
  import { TableSchema } from '../Table';
4
4
  import { SchemaApi } from '../../Schema';
5
5
  export interface TableControlSchema extends FormBaseControl, Omit<TableSchema, 'type'> {
@@ -149,6 +149,7 @@ export default class FormTable extends React.Component<TableProps, TableState> {
149
149
  subForms: any;
150
150
  rowPrinstine: Array<any>;
151
151
  editting: any;
152
+ tableStore?: ITableStore;
152
153
  constructor(props: TableProps);
153
154
  componentDidUpdate(nextProps: TableProps): void;
154
155
  componentWillUnmount(): void;
@@ -180,6 +181,7 @@ export default class FormTable extends React.Component<TableProps, TableState> {
180
181
  handlePristineChange(data: Record<string, any>, rowIndex: string): void;
181
182
  removeEntry(entry: any): void;
182
183
  getEntryId(entry: any): string;
184
+ tableRef(ref: any): void;
183
185
  render(): JSX.Element | null;
184
186
  }
185
187
  export declare class TableControlRenderer extends FormTable {
@@ -1,11 +1,11 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
6
6
  import { __extends, __assign, __awaiter, __generator, __decorate, __metadata, __spreadArray } from 'tslib';
7
7
  import React from 'react';
8
- import { SimpleMap, getVariable, dataMapping, isEffectiveApi, filterDate, setVariable, isExpression, createObject, filter, getTree, spliceTree, autobind, FormItem } from 'amis-core';
8
+ import { SimpleMap, getVariable, dataMapping, isEffectiveApi, filterDate, setVariable, isExpression, createObject, filter, generateIcon, getTree, spliceTree, autobind, FormItem } from 'amis-core';
9
9
  import { Button, Icon } from 'amis-ui';
10
10
  import omit from 'lodash/omit';
11
11
  import findIndex from 'lodash/findIndex';
@@ -59,7 +59,7 @@ var FormTable = /** @class */ (function (_super) {
59
59
  };
60
60
  FormTable.prototype.validate = function () {
61
61
  return __awaiter(this, void 0, void 0, function () {
62
- var _a, value, minLength, maxLength, __, columns, subForms_1, results, msg, uniqueColumn_1;
62
+ var _a, value, minLength, maxLength, __, columns, subForms_1, results_1, msg, uniqueColumn_1, children;
63
63
  var _this = this;
64
64
  return __generator(this, function (_b) {
65
65
  switch (_b.label) {
@@ -80,8 +80,8 @@ var FormTable = /** @class */ (function (_super) {
80
80
  if (!subForms_1.length) return [3 /*break*/, 4];
81
81
  return [4 /*yield*/, Promise.all(subForms_1.map(function (item) { return item.validate(); }))];
82
82
  case 3:
83
- results = _b.sent();
84
- msg = ~results.indexOf(false) ? __('Form.validateFailed') : '';
83
+ results_1 = _b.sent();
84
+ msg = ~results_1.indexOf(false) ? __('Form.validateFailed') : '';
85
85
  uniqueColumn_1 = '';
86
86
  if (!msg &&
87
87
  Array.isArray(columns) &&
@@ -106,7 +106,14 @@ var FormTable = /** @class */ (function (_super) {
106
106
  });
107
107
  }
108
108
  return [2 /*return*/, msg];
109
- case 4: return [2 /*return*/];
109
+ case 4:
110
+ if (!this.tableStore)
111
+ return [2 /*return*/];
112
+ children = this.tableStore.children.filter(function (item) { return (item === null || item === void 0 ? void 0 : item.storeType) === 'FormItemStore'; });
113
+ return [4 /*yield*/, Promise.all(children.map(function (item) { return item.validate(_this.props.value); }))];
114
+ case 5:
115
+ _b.sent();
116
+ return [2 /*return*/];
110
117
  }
111
118
  });
112
119
  });
@@ -410,9 +417,11 @@ var FormTable = /** @class */ (function (_super) {
410
417
  btns.push({
411
418
  children: function (_a) {
412
419
  var key = _a.key, rowIndex = _a.rowIndex, offset = _a.offset;
413
- return ~_this.state.editIndex && needConfirm !== false ? null : (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.addRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.addItem.bind(_this, rowIndex + offset, undefined) },
420
+ return (~_this.state.editIndex && needConfirm !== false) ||
421
+ (_this.props.maxLength &&
422
+ _this.props.maxLength <= _this.state.items.length) ? null : (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.addRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.addItem.bind(_this, rowIndex + offset, undefined) },
414
423
  props.addBtnLabel ? React.createElement("span", null, props.addBtnLabel) : null,
415
- props.addBtnIcon ? (React.createElement(Icon, { icon: props.addBtnIcon, className: "icon" })) : null));
424
+ props.addBtnIcon ? (typeof props.addBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.addBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.addBtnIcon))) : null));
416
425
  }
417
426
  });
418
427
  }
@@ -422,7 +431,7 @@ var FormTable = /** @class */ (function (_super) {
422
431
  var key = _a.key, rowIndex = _a.rowIndex, offset = _a.offset;
423
432
  return ~_this.state.editIndex && needConfirm !== false ? null : (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.copyRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.copyItem.bind(_this, rowIndex + offset, undefined) },
424
433
  props.copyBtnLabel ? React.createElement("span", null, props.copyBtnLabel) : null,
425
- props.copyBtnIcon ? (React.createElement(Icon, { icon: props.copyBtnIcon, className: "icon" })) : null));
434
+ props.copyBtnIcon ? (typeof props.copyBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.copyBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.copyBtnIcon))) : null));
426
435
  }
427
436
  });
428
437
  }
@@ -451,7 +460,7 @@ var FormTable = /** @class */ (function (_super) {
451
460
  ? env.getModalContainer
452
461
  : undefined, onClick: function () { return _this.startEdit(rowIndex + offset); } },
453
462
  props.updateBtnLabel || props.editBtnLabel ? (React.createElement("span", null, props.updateBtnLabel || props.editBtnLabel)) : null,
454
- typeof props.updateBtnIcon !== 'undefined' ? (props.updateBtnIcon ? (React.createElement(Icon, { icon: props.updateBtnIcon, className: "icon" })) : null) : props.editBtnIcon ? (React.createElement(Icon, { icon: props.editBtnIcon, className: "icon" })) : null));
463
+ typeof props.updateBtnIcon !== 'undefined' ? (props.updateBtnIcon ? (typeof props.updateBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.updateBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.updateBtnIcon))) : null) : props.editBtnIcon ? (typeof props.editBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.editBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.editBtnIcon))) : null));
455
464
  }
456
465
  });
457
466
  btns.push({
@@ -459,7 +468,7 @@ var FormTable = /** @class */ (function (_super) {
459
468
  var key = _a.key, rowIndex = _a.rowIndex, offset = _a.offset;
460
469
  return _this.state.editIndex === rowIndex + offset ? (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('save'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.confirmEdit },
461
470
  props.confirmBtnLabel ? (React.createElement("span", null, props.confirmBtnLabel)) : null,
462
- props.confirmBtnIcon ? (React.createElement(Icon, { icon: props.confirmBtnIcon, className: "icon" })) : null)) : null;
471
+ props.confirmBtnIcon ? (typeof props.confirmBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.confirmBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.confirmBtnIcon))) : null)) : null;
463
472
  }
464
473
  });
465
474
  btns.push({
@@ -467,7 +476,7 @@ var FormTable = /** @class */ (function (_super) {
467
476
  var key = _a.key, rowIndex = _a.rowIndex, offset = _a.offset;
468
477
  return _this.state.editIndex === rowIndex + offset ? (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('cancel'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.cancelEdit },
469
478
  props.cancelBtnLabel ? (React.createElement("span", null, props.cancelBtnLabel)) : null,
470
- props.cancelBtnIcon ? (React.createElement(Icon, { icon: props.cancelBtnIcon, className: "icon" })) : null)) : null;
479
+ props.cancelBtnIcon ? (typeof props.cancelBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.cancelBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.cancelBtnIcon))) : null)) : null;
471
480
  }
472
481
  });
473
482
  }
@@ -475,10 +484,12 @@ var FormTable = /** @class */ (function (_super) {
475
484
  btns.push({
476
485
  children: function (_a) {
477
486
  var key = _a.key, rowIndex = _a.rowIndex, data = _a.data, offset = _a.offset;
478
- return (~_this.state.editIndex || (data && data.__isPlaceholder)) &&
479
- needConfirm !== false ? null : (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.deleteRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.removeItem.bind(_this, rowIndex + offset) },
487
+ return ((~_this.state.editIndex || (data && data.__isPlaceholder)) &&
488
+ needConfirm !== false) ||
489
+ (_this.props.minLength &&
490
+ _this.props.minLength >= _this.state.items.length) ? null : (React.createElement(Button, { classPrefix: ns, size: "sm", key: key, level: "link", tooltip: __('Table.deleteRow'), tooltipContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onClick: _this.removeItem.bind(_this, rowIndex + offset) },
480
491
  props.deleteBtnLabel ? (React.createElement("span", null, props.deleteBtnLabel)) : null,
481
- props.deleteBtnIcon ? (React.createElement(Icon, { icon: props.deleteBtnIcon, className: "icon" })) : null));
492
+ props.deleteBtnIcon ? (typeof props.deleteBtnIcon === 'string' ? (React.createElement(Icon, { icon: props.deleteBtnIcon, className: "icon" })) : (generateIcon(props.classnames, props.deleteBtnIcon))) : null));
482
493
  }
483
494
  });
484
495
  }
@@ -617,10 +628,17 @@ var FormTable = /** @class */ (function (_super) {
617
628
  }
618
629
  return String(this.entries.get(entry));
619
630
  };
631
+ FormTable.prototype.tableRef = function (ref) {
632
+ var _a;
633
+ while (ref && ref.getWrappedInstance) {
634
+ ref = ref.getWrappedInstance();
635
+ }
636
+ this.tableStore = (_a = ref === null || ref === void 0 ? void 0 : ref.props) === null || _a === void 0 ? void 0 : _a.store;
637
+ };
620
638
  FormTable.prototype.render = function () {
621
639
  var _this = this;
622
640
  var _a, _b;
623
- var _c = this.props, className = _c.className; _c.value; var showAddBtn = _c.showAddBtn, disabled = _c.disabled, render = _c.render, placeholder = _c.placeholder, draggable = _c.draggable, addable = _c.addable, columnsTogglable = _c.columnsTogglable, combineNum = _c.combineNum, combineFromIndex = _c.combineFromIndex, __ = _c.translate, canAccessSuperData = _c.canAccessSuperData, expandConfig = _c.expandConfig, affixRow = _c.affixRow, prefixRow = _c.prefixRow, formInited = _c.formInited, perPage = _c.perPage, cx = _c.classnames, rowClassName = _c.rowClassName, rowClassNameExpr = _c.rowClassNameExpr, _d = _c.affixHeader, affixHeader = _d === void 0 ? false : _d, _e = _c.autoFillHeight, autoFillHeight = _e === void 0 ? false : _e, tableContentClassName = _c.tableContentClassName;
641
+ var _c = this.props, className = _c.className; _c.value; var showAddBtn = _c.showAddBtn, disabled = _c.disabled, render = _c.render, placeholder = _c.placeholder, draggable = _c.draggable, addable = _c.addable, columnsTogglable = _c.columnsTogglable, combineNum = _c.combineNum, combineFromIndex = _c.combineFromIndex, __ = _c.translate, canAccessSuperData = _c.canAccessSuperData, expandConfig = _c.expandConfig, affixRow = _c.affixRow, prefixRow = _c.prefixRow, formInited = _c.formInited, perPage = _c.perPage, cx = _c.classnames, rowClassName = _c.rowClassName, rowClassNameExpr = _c.rowClassNameExpr, _d = _c.affixHeader, affixHeader = _d === void 0 ? false : _d, _e = _c.autoFillHeight, autoFillHeight = _e === void 0 ? false : _e, tableContentClassName = _c.tableContentClassName, maxLength = _c.maxLength;
624
642
  if (formInited === false) {
625
643
  return null;
626
644
  }
@@ -647,6 +665,7 @@ var FormTable = /** @class */ (function (_super) {
647
665
  autoFillHeight: autoFillHeight,
648
666
  tableContentClassName: tableContentClassName
649
667
  }, {
668
+ ref: this.tableRef.bind(this),
650
669
  value: undefined,
651
670
  saveImmediately: true,
652
671
  disabled: disabled,
@@ -669,7 +688,10 @@ var FormTable = /** @class */ (function (_super) {
669
688
  // TODO: 这里是为了处理columns里使用value变量添加的,目前会影响初始化数据加载后的组件行为,先回滚
670
689
  // onPristineChange: this.handlePristineChange
671
690
  }),
672
- (addable && showAddBtn !== false) || showPager ? (React.createElement("div", { className: cx('InputTable-toolbar') },
691
+ (addable &&
692
+ showAddBtn !== false &&
693
+ (!maxLength || maxLength > items.length)) ||
694
+ showPager ? (React.createElement("div", { className: cx('InputTable-toolbar') },
673
695
  addable && showAddBtn !== false ? (React.createElement(Button, { disabled: disabled, size: "sm", onClick: function () { return _this.addItem(_this.state.items.length); } },
674
696
  React.createElement(Icon, { icon: "plus", className: "icon" }),
675
697
  React.createElement("span", null, __('add')))) : null,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -12,6 +12,7 @@ import isInteger from 'lodash/isInteger';
12
12
  import unionWith from 'lodash/unionWith';
13
13
  import { findDOMNode } from 'react-dom';
14
14
  import { ResultBox, Spinner, ListMenu } from 'amis-ui';
15
+ import { supportStatic } from './StaticHoc.js';
15
16
 
16
17
  var TagControl = /** @class */ (function (_super) {
17
18
  __extends(TagControl, _super);
@@ -438,6 +439,12 @@ var TagControl = /** @class */ (function (_super) {
438
439
  __metadata("design:paramtypes", []),
439
440
  __metadata("design:returntype", void 0)
440
441
  ], TagControl.prototype, "isReachMax", null);
442
+ __decorate([
443
+ supportStatic(),
444
+ __metadata("design:type", Function),
445
+ __metadata("design:paramtypes", []),
446
+ __metadata("design:returntype", void 0)
447
+ ], TagControl.prototype, "render", null);
441
448
  return TagControl;
442
449
  }(React.PureComponent));
443
450
  /** @class */ ((function (_super) {
@@ -64,6 +64,8 @@ export interface TextControlSchema extends FormOptionsSchema {
64
64
  inputControlClassName?: string;
65
65
  /** 原生input标签的CSS类名 */
66
66
  nativeInputClassName?: string;
67
+ /** 在内容为空的时候清除值 */
68
+ clearValueOnEmpty?: boolean;
67
69
  }
68
70
  export declare type InputTextRendererEvent = 'blur' | 'focus' | 'click' | 'change' | 'enter';
69
71
  export interface TextProps extends OptionsControlProps {
@@ -126,6 +128,7 @@ export default class TextControl extends React.PureComponent<TextProps, TextStat
126
128
  renderSugestMode(): JSX.Element;
127
129
  toggleRevealPassword(): void;
128
130
  renderNormal(): JSX.Element;
131
+ renderBody(body: JSX.Element): JSX.Element;
129
132
  render(): JSX.Element;
130
133
  }
131
134
  export declare function mapItemIndex(items: Array<any>, values: Array<any>, valueField?: string): any;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis v2.3.2-beta.1
2
+ * amis v2.4.1-beta.0
3
3
  * Copyright 2018-2022 baidu
4
4
  */
5
5
 
@@ -11,6 +11,7 @@ import { matchSorter } from 'match-sorter';
11
11
  import debouce from 'lodash/debounce';
12
12
  import find from 'lodash/find';
13
13
  import { Icon, Input, Spinner } from 'amis-ui';
14
+ import { supportStatic } from './StaticHoc.js';
14
15
 
15
16
  var TextControl = /** @class */ (function (_super) {
16
17
  __extends(TextControl, _super);
@@ -242,12 +243,14 @@ var TextControl = /** @class */ (function (_super) {
242
243
  });
243
244
  };
244
245
  TextControl.prototype.handleKeyDown = function (evt) {
246
+ var _a;
245
247
  return __awaiter(this, void 0, void 0, function () {
246
- var _a, selectedOptions, onChange, multiple, creatable, dispatchEvent, newValue, value_1, newValue, rendererEvent;
247
- return __generator(this, function (_b) {
248
- switch (_b.label) {
248
+ var _b, selectedOptions, onChange, multiple, creatable, dispatchEvent, valueField, newValue, value_1, newValue, rendererEvent;
249
+ return __generator(this, function (_c) {
250
+ switch (_c.label) {
249
251
  case 0:
250
- _a = this.props, selectedOptions = _a.selectedOptions, onChange = _a.onChange, multiple = _a.multiple, creatable = _a.creatable, dispatchEvent = _a.dispatchEvent;
252
+ _b = this.props, selectedOptions = _b.selectedOptions, onChange = _b.onChange, multiple = _b.multiple, creatable = _b.creatable, dispatchEvent = _b.dispatchEvent;
253
+ valueField = ((_a = this.props) === null || _a === void 0 ? void 0 : _a.valueField) || 'value';
251
254
  if (!(selectedOptions.length && !this.state.inputValue && evt.keyCode === 8)) return [3 /*break*/, 1];
252
255
  evt.preventDefault();
253
256
  newValue = selectedOptions.concat();
@@ -264,25 +267,28 @@ var TextControl = /** @class */ (function (_super) {
264
267
  creatable !== false)) return [3 /*break*/, 3];
265
268
  evt.preventDefault();
266
269
  value_1 = this.state.inputValue;
267
- if (multiple &&
268
- value_1 &&
269
- !find(selectedOptions, function (item) { return item.value == value_1; })) {
270
- newValue = selectedOptions.concat();
271
- newValue.push({
272
- label: value_1,
273
- value: value_1
274
- });
275
- value_1 = this.normalizeValue(newValue).concat();
270
+ if (multiple && value_1) {
271
+ if (!find(selectedOptions, function (item) { return item[valueField] == value_1; })) {
272
+ newValue = selectedOptions.concat();
273
+ newValue.push({
274
+ label: value_1,
275
+ value: value_1
276
+ });
277
+ value_1 = this.normalizeValue(newValue).concat();
278
+ }
279
+ else {
280
+ value_1 = this.normalizeValue(selectedOptions).concat();
281
+ }
276
282
  }
277
283
  return [4 /*yield*/, dispatchEvent('enter', resolveEventData(this.props, { value: value_1 }, 'value'))];
278
284
  case 2:
279
- rendererEvent = _b.sent();
285
+ rendererEvent = _c.sent();
280
286
  if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
281
287
  return [2 /*return*/];
282
288
  }
283
289
  onChange(value_1);
284
290
  this.setState({
285
- inputValue: '',
291
+ inputValue: multiple ? '' : value_1,
286
292
  isOpen: false
287
293
  }, this.loadAutoComplete);
288
294
  return [3 /*break*/, 4];
@@ -294,7 +300,7 @@ var TextControl = /** @class */ (function (_super) {
294
300
  isOpen: false
295
301
  });
296
302
  }
297
- _b.label = 4;
303
+ _c.label = 4;
298
304
  case 4: return [2 /*return*/];
299
305
  }
300
306
  });
@@ -353,19 +359,27 @@ var TextControl = /** @class */ (function (_super) {
353
359
  };
354
360
  TextControl.prototype.handleNormalInputChange = function (e) {
355
361
  return __awaiter(this, void 0, void 0, function () {
356
- var _a, onChange, dispatchEvent, value, rendererEvent;
362
+ var _a, onChange, dispatchEvent, trimContents, clearValueOnEmpty, value, rendererEvent;
357
363
  return __generator(this, function (_b) {
358
364
  switch (_b.label) {
359
365
  case 0:
360
- _a = this.props, onChange = _a.onChange, dispatchEvent = _a.dispatchEvent;
361
- value = e.currentTarget.value;
362
- return [4 /*yield*/, dispatchEvent('change', resolveEventData(this.props, { value: this.transformValue(value) }, 'value'))];
366
+ _a = this.props, onChange = _a.onChange, dispatchEvent = _a.dispatchEvent, trimContents = _a.trimContents, clearValueOnEmpty = _a.clearValueOnEmpty;
367
+ value = this.transformValue(e.currentTarget.value);
368
+ if (typeof value === 'string') {
369
+ if (trimContents) {
370
+ value = value.trim();
371
+ }
372
+ if (clearValueOnEmpty && value === '') {
373
+ value = undefined;
374
+ }
375
+ }
376
+ return [4 /*yield*/, dispatchEvent('change', resolveEventData(this.props, { value: value }, 'value'))];
363
377
  case 1:
364
378
  rendererEvent = _b.sent();
365
379
  if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
366
380
  return [2 /*return*/];
367
381
  }
368
- onChange(this.transformValue(value));
382
+ onChange(value);
369
383
  return [2 /*return*/];
370
384
  }
371
385
  });
@@ -449,7 +463,8 @@ var TextControl = /** @class */ (function (_super) {
449
463
  if (_this.state.inputValue &&
450
464
  creatable !== false &&
451
465
  multiple &&
452
- !filtedOptions.some(function (option) { return option.value === _this.state.inputValue; })) {
466
+ !filtedOptions.some(function (option) { return option.value === _this.state.inputValue; }) &&
467
+ !~selectedItem.indexOf(_this.state.inputValue)) {
453
468
  filtedOptions.push((_b = {},
454
469
  _b[labelField || 'label'] = _this.state.inputValue,
455
470
  _b[valueField || 'value'] = _this.state.inputValue,
@@ -532,37 +547,46 @@ var TextControl = /** @class */ (function (_super) {
532
547
  showCounter ? (React.createElement("span", { className: cx('TextControl-counter') }, "".concat((_c = this.valueToString(value)) === null || _c === void 0 ? void 0 : _c.length).concat(typeof maxLength === 'number' && maxLength ? "/".concat(maxLength) : ''))) : null,
533
548
  suffix ? (React.createElement("span", { className: cx('TextControl-inputSuffix') }, filter(suffix, data))) : null));
534
549
  };
535
- TextControl.prototype.render = function () {
536
- var _a;
537
- var _b = this.props, cx = _b.classnames, className = _b.className, ns = _b.classPrefix, options = _b.options, source = _b.source, autoComplete = _b.autoComplete, addOnRaw = _b.addOn, render = _b.render, data = _b.data, disabled = _b.disabled, inputOnly = _b.inputOnly;
550
+ TextControl.prototype.renderBody = function (body) {
551
+ var _a, _b;
552
+ var _c = this.props, cx = _c.classnames, className = _c.className, ns = _c.classPrefix, addOnRaw = _c.addOn, render = _c.render, data = _c.data, disabled = _c.disabled, inputOnly = _c.inputOnly, isStatic = _c.static;
538
553
  var addOn = typeof addOnRaw === 'string'
539
554
  ? {
540
555
  label: addOnRaw,
541
556
  type: 'plain'
542
557
  }
543
558
  : addOnRaw;
544
- var input = autoComplete !== false && (source || options.length || autoComplete)
545
- ? this.renderSugestMode()
546
- : this.renderNormal();
547
559
  var iconElement = generateIcon(cx, addOn === null || addOn === void 0 ? void 0 : addOn.icon, 'Icon');
548
- var addOnDom = addOn ? (addOn.actionType ||
560
+ var addOnDom = addOn && !isStatic ? (addOn.actionType ||
549
561
  ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (React.createElement("div", { className: cx("".concat(ns, "TextControl-button"), addOn.className) }, render('addOn', addOn, {
550
562
  disabled: disabled
551
563
  }))) : (React.createElement("div", { className: cx("".concat(ns, "TextControl-addOn"), addOn.className) },
552
564
  iconElement,
553
565
  addOn.label ? filter(addOn.label, data) : null))) : null;
554
566
  if (inputOnly) {
555
- return input;
567
+ return body;
556
568
  }
557
- return (React.createElement("div", { className: cx(className, "".concat(ns, "TextControl"), (_a = {},
569
+ var classNames = !isStatic
570
+ ? cx(className, "".concat(ns, "TextControl"), (_a = {},
558
571
  _a["".concat(ns, "TextControl--withAddOn")] = !!addOnDom,
559
572
  _a['is-focused'] = this.state.isFocused,
560
573
  _a['is-disabled'] = disabled,
561
- _a)) },
574
+ _a))
575
+ : cx("".concat(ns, "TextControl"), (_b = {},
576
+ _b["".concat(ns, "TextControl--withAddOn")] = !!addOnDom,
577
+ _b));
578
+ return (React.createElement("div", { className: classNames },
562
579
  addOn && addOn.position === 'left' ? addOnDom : null,
563
- input,
580
+ body,
564
581
  addOn && addOn.position !== 'left' ? addOnDom : null));
565
582
  };
583
+ TextControl.prototype.render = function () {
584
+ var _a = this.props, options = _a.options, source = _a.source, autoComplete = _a.autoComplete;
585
+ var input = autoComplete !== false && (source || (options === null || options === void 0 ? void 0 : options.length) || autoComplete)
586
+ ? this.renderSugestMode()
587
+ : this.renderNormal();
588
+ return this.renderBody(input);
589
+ };
566
590
  TextControl.defaultProps = {
567
591
  resetValue: '',
568
592
  labelField: 'label',
@@ -577,6 +601,12 @@ var TextControl = /** @class */ (function (_super) {
577
601
  __metadata("design:paramtypes", [Object]),
578
602
  __metadata("design:returntype", Promise)
579
603
  ], TextControl.prototype, "handleNormalInputChange", null);
604
+ __decorate([
605
+ supportStatic(),
606
+ __metadata("design:type", Function),
607
+ __metadata("design:paramtypes", []),
608
+ __metadata("design:returntype", Object)
609
+ ], TextControl.prototype, "render", null);
580
610
  return TextControl;
581
611
  }(React.PureComponent));
582
612
  function mapItemIndex(items, values, valueField) {