amis 1.4.2-beta.6 → 1.5.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 (488) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Alert2.d.ts +26 -21
  4. package/lib/components/Alert2.js +11 -4
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.js +2 -2
  14. package/lib/components/Badge.js.map +2 -2
  15. package/lib/components/Button.js +1 -1
  16. package/lib/components/Button.js.map +2 -2
  17. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  18. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  19. package/lib/components/ChainedSelection.js.map +13 -0
  20. package/lib/components/Checkbox.d.ts +20 -20
  21. package/lib/components/Collapse.d.ts +51 -23
  22. package/lib/components/Collapse.js +70 -11
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/CollapseGroup.d.ts +88 -0
  25. package/lib/components/CollapseGroup.js +81 -0
  26. package/lib/components/CollapseGroup.js.map +13 -0
  27. package/lib/components/ColorPicker.d.ts +89 -85
  28. package/lib/components/ColorPicker.js +17 -4
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +84 -84
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/Drawer.js +2 -2
  33. package/lib/components/Drawer.js.map +2 -2
  34. package/lib/components/Editor.d.ts +84 -84
  35. package/lib/components/GridNav.d.ts +52 -0
  36. package/lib/components/GridNav.js +123 -0
  37. package/lib/components/GridNav.js.map +13 -0
  38. package/lib/components/GroupedSelection.d.ts +907 -0
  39. package/lib/components/GroupedSelection.js +48 -0
  40. package/lib/components/GroupedSelection.js.map +13 -0
  41. package/lib/components/InputBox.d.ts +22 -21
  42. package/lib/components/InputBox.js +10 -2
  43. package/lib/components/InputBox.js.map +2 -2
  44. package/lib/components/Link.d.ts +29 -36
  45. package/lib/components/Link.js +14 -15
  46. package/lib/components/Link.js.map +2 -2
  47. package/lib/components/ListGroup.d.ts +21 -21
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/NumberInput.d.ts +20 -20
  52. package/lib/components/Overlay.js +5 -0
  53. package/lib/components/Overlay.js.map +2 -2
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/PopOver.d.ts +1 -0
  61. package/lib/components/PopOver.js +12 -1
  62. package/lib/components/PopOver.js.map +2 -2
  63. package/lib/components/Progress.d.ts +85 -0
  64. package/lib/components/Progress.js +81 -0
  65. package/lib/components/Progress.js.map +13 -0
  66. package/lib/components/Radios.d.ts +22 -21
  67. package/lib/components/Radios.js +1 -0
  68. package/lib/components/Radios.js.map +2 -2
  69. package/lib/components/Rating.d.ts +21 -21
  70. package/lib/components/ResultBox.d.ts +84 -84
  71. package/lib/components/ResultBox.js +10 -2
  72. package/lib/components/ResultBox.js.map +2 -2
  73. package/lib/components/SearchBox.d.ts +84 -84
  74. package/lib/components/Select.d.ts +245 -237
  75. package/lib/components/Select.js +25 -4
  76. package/lib/components/Select.js.map +2 -2
  77. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  78. package/lib/components/Selection.js +134 -0
  79. package/lib/components/Selection.js.map +13 -0
  80. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  81. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  82. package/lib/components/TableSelection.js.map +13 -0
  83. package/lib/components/Tabs.d.ts +20 -20
  84. package/lib/components/TabsTransfer.d.ts +84 -84
  85. package/lib/components/TabsTransfer.js +9 -9
  86. package/lib/components/TabsTransfer.js.map +2 -2
  87. package/lib/components/TabsTransferPicker.d.ts +489 -0
  88. package/lib/components/TabsTransferPicker.js +60 -0
  89. package/lib/components/TabsTransferPicker.js.map +13 -0
  90. package/lib/components/Toast.d.ts +90 -87
  91. package/lib/components/Toast.js +15 -5
  92. package/lib/components/Toast.js.map +2 -2
  93. package/lib/components/Transfer.d.ts +908 -274
  94. package/lib/components/Transfer.js +31 -24
  95. package/lib/components/Transfer.js.map +2 -2
  96. package/lib/components/TransferDropDown.d.ts +488 -0
  97. package/lib/components/TransferDropDown.js +59 -0
  98. package/lib/components/TransferDropDown.js.map +13 -0
  99. package/lib/components/TransferPicker.d.ts +493 -0
  100. package/lib/components/TransferPicker.js +60 -0
  101. package/lib/components/TransferPicker.js.map +13 -0
  102. package/lib/components/Tree.d.ts +115 -84
  103. package/lib/components/Tree.js +183 -30
  104. package/lib/components/Tree.js.map +2 -2
  105. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  106. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  107. package/lib/components/TreeSelection.js.map +13 -0
  108. package/lib/components/condition-builder/Field.js +4 -2
  109. package/lib/components/condition-builder/Field.js.map +2 -2
  110. package/lib/components/condition-builder/Func.js +2 -2
  111. package/lib/components/condition-builder/Func.js.map +2 -2
  112. package/lib/components/condition-builder/InputSwitch.js +2 -2
  113. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  114. package/lib/components/condition-builder/Item.js +3 -3
  115. package/lib/components/condition-builder/Item.js.map +2 -2
  116. package/lib/components/icons.js +10 -0
  117. package/lib/components/icons.js.map +2 -2
  118. package/lib/components/index.d.ts +8 -8
  119. package/lib/components/index.js +16 -16
  120. package/lib/components/index.js.map +2 -2
  121. package/lib/envOverwrite.d.ts +1 -1
  122. package/lib/envOverwrite.js +24 -9
  123. package/lib/envOverwrite.js.map +2 -2
  124. package/lib/factory.d.ts +15 -1
  125. package/lib/factory.js +35 -6
  126. package/lib/factory.js.map +2 -2
  127. package/lib/helper.css.map +1 -1
  128. package/lib/hooks/index.d.ts +5 -0
  129. package/lib/hooks/index.js +14 -0
  130. package/lib/hooks/index.js.map +13 -0
  131. package/lib/hooks/use-set-state.d.ts +2 -0
  132. package/lib/hooks/use-set-state.js +15 -0
  133. package/lib/hooks/use-set-state.js.map +13 -0
  134. package/lib/hooks/use-touch.d.ts +16 -0
  135. package/lib/hooks/use-touch.js +73 -0
  136. package/lib/hooks/use-touch.js.map +13 -0
  137. package/lib/hooks/use-update-effect.d.ts +3 -0
  138. package/lib/hooks/use-update-effect.js +17 -0
  139. package/lib/hooks/use-update-effect.js.map +13 -0
  140. package/lib/icons/alert-danger.js +7 -0
  141. package/lib/icons/alert-info.js +7 -0
  142. package/lib/icons/alert-success.js +7 -0
  143. package/lib/icons/alert-warning.js +7 -0
  144. package/lib/icons/download.js +7 -0
  145. package/lib/icons/drag-bar.js +10 -3
  146. package/lib/index.d.ts +5 -0
  147. package/lib/index.js +6 -1
  148. package/lib/index.js.map +2 -2
  149. package/lib/locale/de-DE.js +2 -0
  150. package/lib/locale/de-DE.js.map +2 -2
  151. package/lib/locale/en-US.js +3 -0
  152. package/lib/locale/en-US.js.map +2 -2
  153. package/lib/locale/zh-CN.js +5 -2
  154. package/lib/locale/zh-CN.js.map +2 -2
  155. package/lib/renderers/Action.d.ts +10 -5
  156. package/lib/renderers/Action.js +23 -5
  157. package/lib/renderers/Action.js.map +2 -2
  158. package/lib/renderers/Alert.d.ts +21 -1
  159. package/lib/renderers/Alert.js.map +2 -2
  160. package/lib/renderers/AnchorNav.d.ts +1 -0
  161. package/lib/renderers/AnchorNav.js +2 -2
  162. package/lib/renderers/AnchorNav.js.map +2 -2
  163. package/lib/renderers/Avatar.js +3 -3
  164. package/lib/renderers/Avatar.js.map +2 -2
  165. package/lib/renderers/Breadcrumb.js +1 -1
  166. package/lib/renderers/Breadcrumb.js.map +2 -2
  167. package/lib/renderers/CRUD.d.ts +5 -0
  168. package/lib/renderers/CRUD.js +25 -4
  169. package/lib/renderers/CRUD.js.map +2 -2
  170. package/lib/renderers/Card.d.ts +5 -0
  171. package/lib/renderers/Card.js +34 -23
  172. package/lib/renderers/Card.js.map +2 -2
  173. package/lib/renderers/Collapse.d.ts +25 -20
  174. package/lib/renderers/Collapse.js +10 -72
  175. package/lib/renderers/Collapse.js.map +2 -2
  176. package/lib/renderers/CollapseGroup.d.ts +42 -0
  177. package/lib/renderers/CollapseGroup.js +33 -0
  178. package/lib/renderers/CollapseGroup.js.map +13 -0
  179. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  180. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  181. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  182. package/lib/renderers/Form/Editor.d.ts +3 -2
  183. package/lib/renderers/Form/InputCity.d.ts +84 -84
  184. package/lib/renderers/Form/InputCity.js +7 -6
  185. package/lib/renderers/Form/InputCity.js.map +2 -2
  186. package/lib/renderers/Form/InputColor.d.ts +86 -85
  187. package/lib/renderers/Form/InputColor.js +1 -1
  188. package/lib/renderers/Form/InputColor.js.map +2 -2
  189. package/lib/renderers/Form/InputFile.d.ts +6 -0
  190. package/lib/renderers/Form/InputFile.js +28 -8
  191. package/lib/renderers/Form/InputFile.js.map +2 -2
  192. package/lib/renderers/Form/InputImage.js +11 -4
  193. package/lib/renderers/Form/InputImage.js.map +2 -2
  194. package/lib/renderers/Form/Item.d.ts +1 -1
  195. package/lib/renderers/Form/Item.js +2 -1
  196. package/lib/renderers/Form/Item.js.map +2 -2
  197. package/lib/renderers/Form/Options.js +25 -4
  198. package/lib/renderers/Form/Options.js.map +2 -2
  199. package/lib/renderers/Form/Select.d.ts +42 -4
  200. package/lib/renderers/Form/Select.js +37 -3
  201. package/lib/renderers/Form/Select.js.map +2 -2
  202. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  204. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  205. package/lib/renderers/Form/Transfer.js +18 -3
  206. package/lib/renderers/Form/Transfer.js.map +2 -2
  207. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  208. package/lib/renderers/Form/TransferPicker.js +43 -0
  209. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  210. package/lib/renderers/Form/TreeSelect.js +2 -2
  211. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  212. package/lib/renderers/Form/index.d.ts +5 -0
  213. package/lib/renderers/Form/index.js +5 -3
  214. package/lib/renderers/Form/index.js.map +2 -2
  215. package/lib/renderers/Form/wrapControl.js +13 -1
  216. package/lib/renderers/Form/wrapControl.js.map +2 -2
  217. package/lib/renderers/GridNav.d.ts +99 -0
  218. package/lib/renderers/GridNav.js +82 -0
  219. package/lib/renderers/GridNav.js.map +13 -0
  220. package/lib/renderers/IFrame.js +1 -3
  221. package/lib/renderers/IFrame.js.map +2 -2
  222. package/lib/renderers/Image.js +7 -5
  223. package/lib/renderers/Image.js.map +2 -2
  224. package/lib/renderers/Json.d.ts +4 -0
  225. package/lib/renderers/Json.js +4 -13
  226. package/lib/renderers/Json.js.map +2 -2
  227. package/lib/renderers/Link.d.ts +4 -2
  228. package/lib/renderers/Link.js +15 -8
  229. package/lib/renderers/Link.js.map +2 -2
  230. package/lib/renderers/List.js +1 -1
  231. package/lib/renderers/List.js.map +2 -2
  232. package/lib/renderers/Nav.d.ts +21 -21
  233. package/lib/renderers/Nav.js +37 -19
  234. package/lib/renderers/Nav.js.map +2 -2
  235. package/lib/renderers/Page.d.ts +18 -0
  236. package/lib/renderers/Page.js +53 -9
  237. package/lib/renderers/Page.js.map +2 -2
  238. package/lib/renderers/Portlet.d.ts +125 -0
  239. package/lib/renderers/Portlet.js +156 -0
  240. package/lib/renderers/Portlet.js.map +13 -0
  241. package/lib/renderers/Progress.d.ts +23 -3
  242. package/lib/renderers/Progress.js +15 -19
  243. package/lib/renderers/Progress.js.map +2 -2
  244. package/lib/renderers/Property.js +1 -1
  245. package/lib/renderers/Property.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.js +1 -1
  247. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  248. package/lib/renderers/Table/TableContent.d.ts +4 -1
  249. package/lib/renderers/Table/TableContent.js +21 -1
  250. package/lib/renderers/Table/TableContent.js.map +2 -2
  251. package/lib/renderers/Table/index.d.ts +5 -1
  252. package/lib/renderers/Table/index.js +65 -30
  253. package/lib/renderers/Table/index.js.map +2 -2
  254. package/lib/renderers/Tabs.js +9 -1
  255. package/lib/renderers/Tabs.js.map +2 -2
  256. package/lib/renderers/WebComponent.js +1 -1
  257. package/lib/renderers/WebComponent.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/form.d.ts +1 -1
  260. package/lib/store/form.js +3 -5
  261. package/lib/store/form.js.map +2 -2
  262. package/lib/store/formItem.js +44 -4
  263. package/lib/store/formItem.js.map +2 -2
  264. package/lib/store/table.d.ts +3 -2
  265. package/lib/store/table.js +35 -12
  266. package/lib/store/table.js.map +2 -2
  267. package/lib/themes/ang-ie11.css +934 -222
  268. package/lib/themes/ang.css +934 -222
  269. package/lib/themes/ang.css.map +1 -1
  270. package/lib/themes/antd-ie11.css +934 -222
  271. package/lib/themes/antd.css +934 -222
  272. package/lib/themes/antd.css.map +1 -1
  273. package/lib/themes/cxd-ie11.css +970 -260
  274. package/lib/themes/cxd.css +970 -260
  275. package/lib/themes/cxd.css.map +1 -1
  276. package/lib/themes/dark-ie11.css +934 -222
  277. package/lib/themes/dark.css +934 -222
  278. package/lib/themes/dark.css.map +1 -1
  279. package/lib/themes/default.css +970 -260
  280. package/lib/themes/default.css.map +1 -1
  281. package/lib/types.d.ts +38 -1
  282. package/lib/types.js +0 -5
  283. package/lib/types.js.map +2 -2
  284. package/lib/utils/api.d.ts +3 -2
  285. package/lib/utils/api.js +90 -17
  286. package/lib/utils/api.js.map +2 -2
  287. package/lib/utils/dom.d.ts +4 -0
  288. package/lib/utils/dom.js +11 -1
  289. package/lib/utils/dom.js.map +2 -2
  290. package/lib/utils/helper.d.ts +12 -23
  291. package/lib/utils/helper.js +62 -166
  292. package/lib/utils/helper.js.map +2 -2
  293. package/lib/utils/tpl-builtin.d.ts +2 -20
  294. package/lib/utils/tpl-builtin.js +25 -743
  295. package/lib/utils/tpl-builtin.js.map +2 -2
  296. package/lib/utils/tpl.js +24 -0
  297. package/lib/utils/tpl.js.map +2 -2
  298. package/package.json +5 -2
  299. package/schema.json +3966 -1263
  300. package/scss/_mixins.scss +1 -3
  301. package/scss/_properties.scss +42 -13
  302. package/scss/base/_common.scss +3 -0
  303. package/scss/base/_normalize.scss +2 -0
  304. package/scss/components/_alert.scss +28 -5
  305. package/scss/components/_anchor-nav.scss +89 -29
  306. package/scss/components/_button.scss +12 -0
  307. package/scss/components/_card.scss +9 -15
  308. package/scss/components/_collapse-group.scss +15 -0
  309. package/scss/components/_collapse.scss +48 -23
  310. package/scss/components/_grid-nav.scss +128 -0
  311. package/scss/components/_images.scss +1 -0
  312. package/scss/components/_input-box.scss +1 -0
  313. package/scss/components/_nav.scss +2 -7
  314. package/scss/components/_page.scss +35 -2
  315. package/scss/components/_picker-columns.scss +124 -0
  316. package/scss/components/_popover.scss +13 -0
  317. package/scss/components/_portlet.scss +51 -0
  318. package/scss/components/_progress.scss +141 -33
  319. package/scss/components/_result-box.scss +1 -0
  320. package/scss/components/_spinner.scss +5 -4
  321. package/scss/components/_status.scss +1 -1
  322. package/scss/components/_table.scss +32 -0
  323. package/scss/components/_toast.scss +41 -11
  324. package/scss/components/form/_checks.scss +0 -351
  325. package/scss/components/form/_color.scss +32 -3
  326. package/scss/components/form/_combo.scss +4 -0
  327. package/scss/components/form/_fieldset.scss +6 -1
  328. package/scss/components/form/_file.scss +11 -0
  329. package/scss/components/form/_form.scss +48 -0
  330. package/scss/components/form/_selection.scss +354 -0
  331. package/scss/components/form/_transfer.scss +76 -18
  332. package/scss/components/form/_tree.scss +42 -0
  333. package/scss/themes/_common.scss +6 -0
  334. package/scss/themes/_cxd-variables.scss +13 -6
  335. package/scss/themes/cxd.scss +19 -20
  336. package/sdk/ang-ie11.css +1065 -246
  337. package/sdk/ang.css +1069 -230
  338. package/sdk/antd-ie11.css +1068 -249
  339. package/sdk/antd.css +1069 -230
  340. package/sdk/charts.js +17 -17
  341. package/sdk/color-picker.js +65 -69
  342. package/sdk/cropperjs.js +3 -3
  343. package/sdk/cxd-ie11.css +1081 -268
  344. package/sdk/cxd.css +1116 -279
  345. package/sdk/dark-ie11.css +1069 -250
  346. package/sdk/dark.css +1069 -230
  347. package/sdk/exceljs.js +1 -1
  348. package/sdk/helper.css.map +1 -1
  349. package/sdk/iconfont.svg +2513 -0
  350. package/sdk/iconfont.ttf +0 -0
  351. package/sdk/iconfont.woff +0 -0
  352. package/sdk/locale/de-DE.js +2 -0
  353. package/sdk/markdown.js +69 -69
  354. package/sdk/papaparse.js +1 -1
  355. package/sdk/renderers/Form/CityDB.js +1 -1
  356. package/sdk/rest.js +20 -28
  357. package/sdk/rich-text.js +62 -62
  358. package/sdk/sdk-ie11.css +1081 -268
  359. package/sdk/sdk.css +1116 -279
  360. package/sdk/sdk.js +1371 -1189
  361. package/sdk/thirds/hls.js/hls.js +18 -18
  362. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  363. package/sdk/tinymce.js +57 -57
  364. package/src/Schema.ts +19 -1
  365. package/src/components/Alert2.tsx +32 -4
  366. package/src/components/AnchorNav.tsx +15 -4
  367. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  368. package/src/components/Badge.tsx +3 -3
  369. package/src/components/Button.tsx +1 -0
  370. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  371. package/src/components/Collapse.tsx +139 -20
  372. package/src/components/CollapseGroup.tsx +130 -0
  373. package/src/components/ColorPicker.tsx +32 -10
  374. package/src/components/Drawer.tsx +8 -6
  375. package/src/components/GridNav.tsx +233 -0
  376. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  377. package/src/components/InputBox.tsx +10 -9
  378. package/src/components/Link.tsx +28 -37
  379. package/src/components/ModalManager.ts +1 -1
  380. package/src/components/Overlay.tsx +6 -0
  381. package/src/components/PickerColumn.tsx +429 -0
  382. package/src/components/PickerContainer.tsx +128 -0
  383. package/src/components/PopOver.tsx +15 -1
  384. package/src/components/Progress.tsx +140 -0
  385. package/src/components/Radios.tsx +3 -8
  386. package/src/components/ResultBox.tsx +9 -9
  387. package/src/components/Select.tsx +57 -5
  388. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  389. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  390. package/src/components/TabsTransfer.tsx +13 -7
  391. package/src/components/TabsTransferPicker.tsx +85 -0
  392. package/src/components/Toast.tsx +48 -21
  393. package/src/components/Transfer.tsx +71 -50
  394. package/src/components/TransferDropDown.tsx +120 -0
  395. package/src/components/TransferPicker.tsx +91 -0
  396. package/src/components/Tree.tsx +194 -8
  397. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  398. package/src/components/condition-builder/Field.tsx +7 -5
  399. package/src/components/condition-builder/Func.tsx +3 -3
  400. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  401. package/src/components/condition-builder/Item.tsx +5 -12
  402. package/src/components/icons.tsx +10 -0
  403. package/src/components/index.tsx +13 -13
  404. package/src/envOverwrite.ts +20 -8
  405. package/src/factory.tsx +70 -9
  406. package/src/hooks/index.ts +5 -0
  407. package/src/hooks/use-set-state.ts +19 -0
  408. package/src/hooks/use-touch.ts +100 -0
  409. package/src/hooks/use-update-effect.ts +16 -0
  410. package/src/icons/alert-danger.svg +1 -0
  411. package/src/icons/alert-info.svg +1 -0
  412. package/src/icons/alert-success.svg +1 -0
  413. package/src/icons/alert-warning.svg +1 -0
  414. package/src/icons/download.svg +4 -0
  415. package/src/icons/drag-bar.svg +12 -6
  416. package/src/index.tsx +5 -0
  417. package/src/locale/de-DE.ts +2 -0
  418. package/src/locale/en-US.ts +3 -0
  419. package/src/locale/zh-CN.ts +5 -2
  420. package/src/renderers/Action.tsx +58 -3
  421. package/src/renderers/Alert.tsx +31 -1
  422. package/src/renderers/AnchorNav.tsx +4 -0
  423. package/src/renderers/Avatar.tsx +8 -4
  424. package/src/renderers/Breadcrumb.tsx +5 -1
  425. package/src/renderers/CRUD.tsx +29 -3
  426. package/src/renderers/Card.tsx +76 -36
  427. package/src/renderers/Collapse.tsx +70 -115
  428. package/src/renderers/CollapseGroup.tsx +80 -0
  429. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  430. package/src/renderers/Form/InputCity.tsx +4 -8
  431. package/src/renderers/Form/InputColor.tsx +4 -2
  432. package/src/renderers/Form/InputFile.tsx +65 -24
  433. package/src/renderers/Form/InputImage.tsx +11 -3
  434. package/src/renderers/Form/Item.tsx +3 -2
  435. package/src/renderers/Form/Options.tsx +29 -3
  436. package/src/renderers/Form/Select.tsx +162 -21
  437. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  438. package/src/renderers/Form/Transfer.tsx +19 -4
  439. package/src/renderers/Form/TransferPicker.tsx +145 -0
  440. package/src/renderers/Form/TreeSelect.tsx +25 -0
  441. package/src/renderers/Form/index.tsx +15 -2
  442. package/src/renderers/Form/wrapControl.tsx +26 -1
  443. package/src/renderers/GridNav.tsx +204 -0
  444. package/src/renderers/IFrame.tsx +2 -4
  445. package/src/renderers/Image.tsx +19 -15
  446. package/src/renderers/Json.tsx +9 -9
  447. package/src/renderers/Link.tsx +29 -16
  448. package/src/renderers/List.tsx +1 -1
  449. package/src/renderers/Nav.tsx +105 -56
  450. package/src/renderers/Page.tsx +62 -1
  451. package/src/renderers/Portlet.tsx +423 -0
  452. package/src/renderers/Progress.tsx +56 -38
  453. package/src/renderers/Property.tsx +6 -4
  454. package/src/renderers/Table/ColumnToggler.tsx +1 -1
  455. package/src/renderers/Table/TableContent.tsx +40 -2
  456. package/src/renderers/Table/index.tsx +88 -43
  457. package/src/renderers/Tabs.tsx +9 -1
  458. package/src/renderers/WebComponent.tsx +2 -2
  459. package/src/store/form.ts +3 -9
  460. package/src/store/formItem.ts +94 -2
  461. package/src/store/table.ts +55 -14
  462. package/src/types.ts +58 -1
  463. package/src/utils/api.ts +120 -26
  464. package/src/utils/dom.tsx +12 -0
  465. package/src/utils/helper.ts +55 -185
  466. package/src/utils/tpl-builtin.ts +40 -866
  467. package/src/utils/tpl.ts +33 -0
  468. package/tsconfig-for-declaration.json +1 -1
  469. package/dump.rdb +0 -0
  470. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  471. package/lib/components/AssociatedCheckboxes.js +0 -90
  472. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  473. package/lib/components/ChainedCheckboxes.js.map +0 -13
  474. package/lib/components/Checkboxes.js +0 -101
  475. package/lib/components/Checkboxes.js.map +0 -13
  476. package/lib/components/ListCheckboxes.d.ts +0 -739
  477. package/lib/components/ListCheckboxes.js +0 -48
  478. package/lib/components/ListCheckboxes.js.map +0 -13
  479. package/lib/components/ListRadios.d.ts +0 -763
  480. package/lib/components/ListRadios.js +0 -86
  481. package/lib/components/ListRadios.js.map +0 -13
  482. package/lib/components/TableCheckboxes.js.map +0 -13
  483. package/lib/components/TreeCheckboxes.js.map +0 -13
  484. package/lib/components/TreeRadios.d.ts +0 -838
  485. package/lib/components/TreeRadios.js +0 -116
  486. package/lib/components/TreeRadios.js.map +0 -13
  487. package/src/components/ListRadios.tsx +0 -159
  488. package/src/components/TreeRadios.tsx +0 -202
@@ -63,16 +63,19 @@ var Card = /** @class */ (function (_super) {
63
63
  return (0, react_dom_1.findDOMNode)(this);
64
64
  };
65
65
  Card.prototype.renderToolbar = function () {
66
- var _a = this.props, dragging = _a.dragging, selectable = _a.selectable, checkable = _a.checkable, selected = _a.selected, onSelect = _a.onSelect, checkOnItemClick = _a.checkOnItemClick, multiple = _a.multiple, hideCheckToggler = _a.hideCheckToggler, cx = _a.classnames, ns = _a.classPrefix;
67
- if (dragging) {
68
- return (react_1.default.createElement("div", { className: cx('Card-dragBtn') },
69
- react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" })));
66
+ var _a = this.props, dragging = _a.dragging, selectable = _a.selectable, checkable = _a.checkable, selected = _a.selected, onSelect = _a.onSelect, checkOnItemClick = _a.checkOnItemClick, multiple = _a.multiple, hideCheckToggler = _a.hideCheckToggler, cx = _a.classnames, ns = _a.classPrefix, toolbar = _a.toolbar, render = _a.render;
67
+ var toolbars = [];
68
+ if (selectable && !hideCheckToggler) {
69
+ toolbars.push(react_1.default.createElement(Checkbox_1.default, { key: "check", className: cx('Card-checkbox'), type: multiple ? 'checkbox' : 'radio', disabled: !checkable, checked: selected, onChange: checkOnItemClick ? helper_1.noop : this.handleCheck }));
70
70
  }
71
- else if (selectable && !hideCheckToggler) {
72
- return (react_1.default.createElement("div", { className: cx('Card-checkBtn') },
73
- react_1.default.createElement(Checkbox_1.default, { classPrefix: ns, type: multiple ? 'checkbox' : 'radio', disabled: !checkable, checked: selected, onChange: checkOnItemClick ? helper_1.noop : this.handleCheck })));
71
+ if (Array.isArray(toolbar)) {
72
+ toolbar.forEach(function (action, index) {
73
+ return toolbars.push(render("toolbar/" + index, (0, tslib_1.__assign)({ type: 'button', level: 'link', size: 'sm' }, action), {
74
+ key: index
75
+ }));
76
+ });
74
77
  }
75
- return null;
78
+ return toolbars.length ? (react_1.default.createElement("div", { className: cx('Card-toolbar') }, toolbars)) : null;
76
79
  };
77
80
  Card.prototype.renderActions = function () {
78
81
  var _this = this;
@@ -146,31 +149,38 @@ var Card = /** @class */ (function (_super) {
146
149
  return this.renderChild(body, 'body');
147
150
  };
148
151
  Card.prototype.render = function () {
149
- var _a = this.props, className = _a.className, data = _a.data, header = _a.header, render = _a.render, bodyClassName = _a.bodyClassName, highlightClassName = _a.highlightClassName, titleClassName = _a.titleClassName, subTitleClassName = _a.subTitleClassName, descClassName = _a.descClassName, checkOnItemClick = _a.checkOnItemClick, avatarClassName = _a.avatarClassName, checkable = _a.checkable, cx = _a.classnames, ns = _a.classPrefix, imageClassName = _a.imageClassName, avatarTextClassName = _a.avatarTextClassName, href = _a.href, itemAction = _a.itemAction;
152
+ var _a = this.props, className = _a.className, data = _a.data, header = _a.header, render = _a.render, bodyClassName = _a.bodyClassName, highlightClassName = _a.highlightClassName, titleClassName = _a.titleClassName, subTitleClassName = _a.subTitleClassName, descClassName = _a.descClassName, checkOnItemClick = _a.checkOnItemClick, avatarClassName = _a.avatarClassName, checkable = _a.checkable, cx = _a.classnames, ns = _a.classPrefix, imageClassName = _a.imageClassName, avatarTextClassName = _a.avatarTextClassName, href = _a.href, itemAction = _a.itemAction, dragging = _a.dragging;
153
+ var toolbar = this.renderToolbar();
150
154
  var heading = null;
151
- if (header) {
152
- var highlightTpl = header.highlight, avatarTpl = header.avatar, avatarTextTpl = header.avatarText, titleTpl = header.title, subTitleTpl = header.subTitle, subTitlePlaceholder = header.subTitlePlaceholder, descTpl = header.desc;
153
- var descPlaceholder = header.descriptionPlaceholder || header.descPlaceholder;
155
+ if (header || toolbar) {
156
+ var _b = header || {}, highlightTpl = _b.highlight, avatarTpl = _b.avatar, avatarTextTpl = _b.avatarText, avatarTextBackground = _b.avatarTextBackground, titleTpl = _b.title, subTitleTpl = _b.subTitle, subTitlePlaceholder = _b.subTitlePlaceholder, descTpl = _b.desc;
157
+ var descPlaceholder = (header === null || header === void 0 ? void 0 : header.descriptionPlaceholder) || (header === null || header === void 0 ? void 0 : header.descPlaceholder);
154
158
  var highlight = !!(0, tpl_1.evalExpression)(highlightTpl, data);
155
159
  var avatar = (0, tpl_1.filter)(avatarTpl, data, '| raw');
156
160
  var avatarText = (0, tpl_1.filter)(avatarTextTpl, data);
157
161
  var title = (0, tpl_1.filter)(titleTpl, data);
158
162
  var subTitle = (0, tpl_1.filter)(subTitleTpl, data);
159
- var desc = (0, tpl_1.filter)(header.description || descTpl, data);
160
- heading = (react_1.default.createElement("div", { className: cx('Card-heading', header.className) },
161
- avatar ? (react_1.default.createElement("span", { className: cx('Card-avtar', header.avatarClassName || avatarClassName) },
162
- react_1.default.createElement("img", { className: cx('Card-img', header.imageClassName || imageClassName), src: avatar }))) : avatarText ? (react_1.default.createElement("span", { className: cx('Card-avtarText', header.avatarTextClassName || avatarTextClassName) }, avatarText)) : null,
163
+ var desc = (0, tpl_1.filter)((header === null || header === void 0 ? void 0 : header.description) || descTpl, data);
164
+ var avatarTextStyle = {};
165
+ if (avatarText && avatarTextBackground && avatarTextBackground.length) {
166
+ avatarTextStyle['background'] =
167
+ avatarTextBackground[Math.abs((0, helper_1.hashCode)(avatarText)) % avatarTextBackground.length];
168
+ }
169
+ heading = (react_1.default.createElement("div", { className: cx('Card-heading', header === null || header === void 0 ? void 0 : header.className) },
170
+ avatar ? (react_1.default.createElement("span", { className: cx('Card-avtar', (header === null || header === void 0 ? void 0 : header.avatarClassName) || avatarClassName) },
171
+ react_1.default.createElement("img", { className: cx('Card-img', (header === null || header === void 0 ? void 0 : header.imageClassName) || imageClassName), src: avatar }))) : avatarText ? (react_1.default.createElement("span", { className: cx('Card-avtarText', (header === null || header === void 0 ? void 0 : header.avatarTextClassName) || avatarTextClassName), style: avatarTextStyle }, avatarText)) : null,
163
172
  react_1.default.createElement("div", { className: cx('Card-meta') },
164
- highlight ? (react_1.default.createElement("i", { className: cx('Card-highlight', header.highlightClassName || highlightClassName) })) : null,
165
- title ? (react_1.default.createElement("div", { className: cx('Card-title', header.titleClassName || titleClassName) }, render('title', title))) : null,
166
- subTitle || subTitlePlaceholder ? (react_1.default.createElement("div", { className: cx('Card-subTitle', header.subTitleClassName || subTitleClassName) }, render('sub-title', subTitle || subTitlePlaceholder, {
173
+ highlight ? (react_1.default.createElement("i", { className: cx('Card-highlight', (header === null || header === void 0 ? void 0 : header.highlightClassName) || highlightClassName) })) : null,
174
+ title ? (react_1.default.createElement("div", { className: cx('Card-title', (header === null || header === void 0 ? void 0 : header.titleClassName) || titleClassName) }, render('title', title))) : null,
175
+ subTitle || subTitlePlaceholder ? (react_1.default.createElement("div", { className: cx('Card-subTitle', (header === null || header === void 0 ? void 0 : header.subTitleClassName) || subTitleClassName) }, render('sub-title', subTitle || subTitlePlaceholder, {
167
176
  className: cx(!subTitle ? 'Card-placeholder' : undefined)
168
177
  }))) : null,
169
- desc || descPlaceholder ? (react_1.default.createElement("div", { className: cx('Card-desc', header.descriptionClassName ||
170
- header.descClassName ||
178
+ desc || descPlaceholder ? (react_1.default.createElement("div", { className: cx('Card-desc', (header === null || header === void 0 ? void 0 : header.descriptionClassName) ||
179
+ (header === null || header === void 0 ? void 0 : header.descClassName) ||
171
180
  descClassName) }, render('desc', desc || descPlaceholder, {
172
181
  className: !desc ? 'text-muted' : undefined
173
- }))) : null)));
182
+ }))) : null),
183
+ toolbar));
174
184
  }
175
185
  var body = this.renderBody();
176
186
  return (react_1.default.createElement("div", { onClick: (checkOnItemClick && checkable) || href || itemAction
@@ -178,7 +188,8 @@ var Card = /** @class */ (function (_super) {
178
188
  : undefined, className: cx('Card', className, {
179
189
  'Card--link': href || itemAction
180
190
  }) },
181
- this.renderToolbar(),
191
+ dragging ? (react_1.default.createElement("div", { className: cx('Card-dragBtn') },
192
+ react_1.default.createElement(icons_1.Icon, { icon: "drag-bar", className: "icon" }))) : null,
182
193
  heading,
183
194
  body ? (react_1.default.createElement("div", { className: cx('Card-body', bodyClassName) }, body)) : null,
184
195
  this.renderActions()));
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Card.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Checkbox from '../components/Checkbox';\nimport {IItem} from '../store/list';\nimport {\n padArr,\n isVisible,\n isDisabled,\n noop,\n isClickOnInput\n} from '../utils/helper';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport {Icon} from '../components/icons';\nimport omit = require('lodash/omit');\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaObject,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\n\nexport type CardBodyField = SchemaObject & {\n /**\n * 列标题\n */\n label: string;\n\n /**\n * label 类名\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 绑定字段名\n */\n name?: string;\n\n /**\n * 配置查看详情功能\n */\n popOver?: SchemaPopOver;\n\n /**\n * 配置快速编辑功能\n */\n quickEdit?: SchemaQuickEdit;\n\n /**\n * 配置点击复制功能\n */\n copyable?: SchemaCopyable;\n};\n\n/**\n * Card 卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardSchema extends BaseSchema {\n /**\n * 指定为 card 类型\n */\n type: 'card';\n\n /**\n * 头部配置\n */\n header?: {\n className?: SchemaClassName;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n titleClassName?: string;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n subTitleClassName?: SchemaClassName;\n subTitlePlaceholder?: string;\n\n /**\n * 描述\n */\n description?: SchemaTpl;\n\n /**\n * 描述占位内容\n */\n descriptionPlaceholder?: string;\n\n /**\n * 描述占位类名\n */\n descriptionClassName?: string;\n\n /**\n * @deprecated 建议用 description\n */\n desc?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionPlaceholder\n */\n descPlaceholder?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionClassName\n */\n descClassName?: SchemaClassName;\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n avatarText?: SchemaTpl;\n avatarTextClassName?: SchemaClassName;\n\n /**\n * 图片包括层类名\n */\n avatarClassName?: SchemaClassName;\n\n /**\n * 图片类名。\n */\n imageClassName?: SchemaClassName;\n\n /**\n * 是否点亮\n */\n highlight?: SchemaExpression;\n highlightClassName?: SchemaClassName;\n\n /**\n * 链接地址\n */\n href?: SchemaTpl;\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n };\n\n /**\n * 内容区域\n */\n body?: Array<CardBodyField>;\n\n /**\n * 底部按钮集合。\n */\n actions?: Array<ActionSchema>;\n}\n\nexport interface CardProps\n extends RendererProps,\n Omit<CardSchema, 'className'> {\n onCheck: (item: IItem) => void;\n itemIndex?: number;\n multiple?: boolean;\n highlightClassName?: string;\n hideCheckToggler?: boolean;\n item: IItem;\n checkOnItemClick?: boolean;\n}\nexport class Card extends React.Component<CardProps> {\n static defaultProps: Partial<CardProps> = {\n className: '',\n avatarClassName: '',\n bodyClassName: '',\n actionsCount: 4,\n titleClassName: '',\n highlightClassName: '',\n subTitleClassName: '',\n descClassName: '',\n blank: true\n };\n\n static propsList: Array<string> = [\n 'avatarClassName',\n 'bodyClassName',\n 'actionsCount',\n 'titleClassName',\n 'highlightClassName',\n 'subTitleClassName',\n 'descClassName',\n 'hideCheckToggler'\n ];\n\n constructor(props: CardProps) {\n super(props);\n\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.itemRender = this.itemRender.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n\n const {item, href, data, env, blank, itemAction, onAction} = this.props;\n if (href) {\n env.jumpTo(filter(href, data), {\n type: 'button',\n actionType: 'url',\n blank\n });\n return;\n }\n\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data || data);\n return;\n }\n\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleCheck() {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n renderToolbar() {\n const {\n dragging,\n selectable,\n checkable,\n selected,\n onSelect,\n checkOnItemClick,\n multiple,\n hideCheckToggler,\n classnames: cx,\n classPrefix: ns\n } = this.props;\n\n if (dragging) {\n return (\n <div className={cx('Card-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n );\n } else if (selectable && !hideCheckToggler) {\n return (\n <div className={cx('Card-checkBtn')}>\n <Checkbox\n classPrefix={ns}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n />\n </div>\n );\n }\n\n return null;\n }\n\n renderActions() {\n const {\n actions,\n render,\n dragging,\n actionsCount,\n data,\n classnames: cx\n } = this.props;\n\n if (Array.isArray(actions)) {\n const group = padArr(\n actions.filter(item => isVisible(item, data)),\n actionsCount\n );\n return group.map((actions, groupIndex) => (\n <div key={groupIndex} className={cx('Card-actions')}>\n {actions.map((action, index) => {\n const size = action.size || 'sm';\n\n return render(\n `action/${index}`,\n {\n level: 'link',\n type: 'button',\n ...action,\n size\n },\n {\n isMenuItem: true,\n key: index,\n index,\n disabled: dragging || isDisabled(action, data),\n className: cx(\n 'Card-action',\n action.className || `${size ? `Card-action--${size}` : ''}`\n ),\n componentClass: 'a',\n onAction: this.handleAction\n }\n );\n })}\n </div>\n ));\n }\n\n return null;\n }\n\n renderChild(\n node: SchemaNode,\n region: string = 'body',\n key: any = 0\n ): React.ReactNode {\n const {render} = this.props;\n\n if (typeof node === 'string' || typeof node === 'number') {\n return render(region, node, {key}) as JSX.Element;\n }\n\n const childNode: Schema = node as Schema;\n\n if (childNode.type === 'hbox' || childNode.type === 'grid') {\n return render(region, node, {\n key,\n itemRender: this.itemRender\n }) as JSX.Element;\n }\n\n return this.renderFeild(region, childNode, key, this.props);\n }\n\n itemRender(field: any, index: number, props: any) {\n return this.renderFeild(`column/${index}`, field, index, props);\n }\n\n renderFeild(region: string, field: any, key: any, props: any) {\n const {render, classnames: cx, itemIndex} = props;\n const data = this.props.data;\n if (!isVisible(field, data)) {\n return;\n }\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n return (\n <div className={cx('Card-field')} key={key}>\n {field && field.label ? (\n <label className={cx('Card-fieldLabel', field.labelClassName)}>\n {field.label}\n </label>\n ) : null}\n\n {\n render(\n region,\n {\n ...field,\n field: field,\n $$id,\n type: 'card-item-field'\n },\n {\n className: cx('Card-fieldValue', field.className),\n rowIndex: itemIndex,\n colIndex: key,\n value: field.name ? resolveVariable(field.name, data) : undefined,\n popOverContainer: this.getPopOverContainer,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange\n }\n ) as JSX.Element\n }\n </div>\n );\n }\n\n renderBody() {\n const {body} = this.props;\n\n if (!body) {\n return null;\n }\n\n if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(child, `body/${index}`, index)\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n render() {\n const {\n className,\n data,\n header,\n render,\n bodyClassName,\n highlightClassName,\n titleClassName,\n subTitleClassName,\n descClassName,\n checkOnItemClick,\n avatarClassName,\n checkable,\n classnames: cx,\n classPrefix: ns,\n imageClassName,\n avatarTextClassName,\n href,\n itemAction\n } = this.props;\n\n let heading = null;\n\n if (header) {\n const {\n highlight: highlightTpl,\n avatar: avatarTpl,\n avatarText: avatarTextTpl,\n title: titleTpl,\n subTitle: subTitleTpl,\n subTitlePlaceholder,\n desc: descTpl\n } = header;\n\n const descPlaceholder =\n header.descriptionPlaceholder || header.descPlaceholder;\n\n const highlight = !!evalExpression(highlightTpl!, data as object);\n const avatar = filter(avatarTpl, data, '| raw');\n const avatarText = filter(avatarTextTpl, data);\n const title = filter(titleTpl, data);\n const subTitle = filter(subTitleTpl, data);\n const desc = filter(header.description || descTpl, data);\n\n heading = (\n <div className={cx('Card-heading', header.className)}>\n {avatar ? (\n <span\n className={cx(\n 'Card-avtar',\n header.avatarClassName || avatarClassName\n )}\n >\n <img\n className={cx(\n 'Card-img',\n header.imageClassName || imageClassName\n )}\n src={avatar}\n />\n </span>\n ) : avatarText ? (\n <span\n className={cx(\n 'Card-avtarText',\n header.avatarTextClassName || avatarTextClassName\n )}\n >\n {avatarText}\n </span>\n ) : null}\n <div className={cx('Card-meta')}>\n {highlight ? (\n <i\n className={cx(\n 'Card-highlight',\n header.highlightClassName || highlightClassName\n )}\n />\n ) : null}\n\n {title ? (\n <div\n className={cx(\n 'Card-title',\n header.titleClassName || titleClassName\n )}\n >\n {render('title', title)}\n </div>\n ) : null}\n\n {subTitle || subTitlePlaceholder ? (\n <div\n className={cx(\n 'Card-subTitle',\n header.subTitleClassName || subTitleClassName\n )}\n >\n {render('sub-title', subTitle || subTitlePlaceholder!, {\n className: cx(!subTitle ? 'Card-placeholder' : undefined)\n })}\n </div>\n ) : null}\n\n {desc || descPlaceholder ? (\n <div\n className={cx(\n 'Card-desc',\n header.descriptionClassName ||\n header.descClassName ||\n descClassName\n )}\n >\n {render('desc', desc || descPlaceholder!, {\n className: !desc ? 'text-muted' : undefined\n })}\n </div>\n ) : null}\n </div>\n </div>\n );\n }\n\n const body = this.renderBody();\n\n return (\n <div\n onClick={\n (checkOnItemClick && checkable) || href || itemAction\n ? this.handleClick\n : undefined\n }\n className={cx('Card', className, {\n 'Card--link': href || itemAction\n })}\n >\n {this.renderToolbar()}\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {this.renderActions()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'card'\n})\nexport class CardRenderer extends Card {\n static propsList = ['multiple', ...Card.propsList];\n}\n\n@Renderer({\n type: 'card-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class CardItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n type,\n className,\n render,\n style,\n wrapperComponent: Component,\n labelClassName,\n value,\n data,\n children,\n width,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n field,\n ...rest\n } = this.props;\n\n const schema = {\n ...field,\n className: innerClassName,\n type: (field && field.type) || 'plain'\n };\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n value,\n data\n });\n\n if (width) {\n style = style || {};\n style.width = style.width || width;\n body = (\n <div style={{width: !/%/.test(String(width)) ? width : ''}}>{body}</div>\n );\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n return (\n <Component\n style={style}\n className={className}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {body}\n </Component>\n );\n }\n}\n"
11
+ "import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {Renderer, RendererProps} from '../factory';\nimport {SchemaNode, Schema, Action, PlainObject} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Checkbox from '../components/Checkbox';\nimport {IItem} from '../store/list';\nimport {\n padArr,\n isVisible,\n isDisabled,\n noop,\n isClickOnInput,\n hashCode\n} from '../utils/helper';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport QuickEdit, {SchemaQuickEdit} from './QuickEdit';\nimport PopOver, {SchemaPopOver} from './PopOver';\nimport {TableCell} from './Table';\nimport Copyable, {SchemaCopyable} from './Copyable';\nimport {Icon} from '../components/icons';\nimport omit = require('lodash/omit');\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaExpression,\n SchemaObject,\n SchemaTpl,\n SchemaUrlPath\n} from '../Schema';\nimport {ActionSchema} from './Action';\n\nexport type CardBodyField = SchemaObject & {\n /**\n * 列标题\n */\n label: string;\n\n /**\n * label 类名\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 绑定字段名\n */\n name?: string;\n\n /**\n * 配置查看详情功能\n */\n popOver?: SchemaPopOver;\n\n /**\n * 配置快速编辑功能\n */\n quickEdit?: SchemaQuickEdit;\n\n /**\n * 配置点击复制功能\n */\n copyable?: SchemaCopyable;\n};\n\n/**\n * Card 卡片渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/card\n */\nexport interface CardSchema extends BaseSchema {\n /**\n * 指定为 card 类型\n */\n type: 'card';\n\n /**\n * 头部配置\n */\n header?: {\n className?: SchemaClassName;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n titleClassName?: string;\n\n /**\n * 副标题\n */\n subTitle?: SchemaTpl;\n subTitleClassName?: SchemaClassName;\n subTitlePlaceholder?: string;\n\n /**\n * 描述\n */\n description?: SchemaTpl;\n\n /**\n * 描述占位内容\n */\n descriptionPlaceholder?: string;\n\n /**\n * 描述占位类名\n */\n descriptionClassName?: string;\n\n /**\n * @deprecated 建议用 description\n */\n desc?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionPlaceholder\n */\n descPlaceholder?: SchemaTpl;\n\n /**\n * @deprecated 建议用 descriptionClassName\n */\n descClassName?: SchemaClassName;\n\n /**\n * 图片地址\n */\n avatar?: SchemaUrlPath;\n\n avatarText?: SchemaTpl;\n avatarTextBackground?: String[];\n avatarTextClassName?: SchemaClassName;\n\n /**\n * 图片包括层类名\n */\n avatarClassName?: SchemaClassName;\n\n /**\n * 图片类名。\n */\n imageClassName?: SchemaClassName;\n\n /**\n * 是否点亮\n */\n highlight?: SchemaExpression;\n highlightClassName?: SchemaClassName;\n\n /**\n * 链接地址\n */\n href?: SchemaTpl;\n\n /**\n * 是否新窗口打开\n */\n blank?: boolean;\n };\n\n /**\n * 内容区域\n */\n body?: Array<CardBodyField>;\n\n /**\n * 底部按钮集合。\n */\n actions?: Array<ActionSchema>;\n\n /**\n * 工具栏按钮\n */\n toolbar?: Array<ActionSchema>;\n}\n\nexport interface CardProps\n extends RendererProps,\n Omit<CardSchema, 'className'> {\n onCheck: (item: IItem) => void;\n itemIndex?: number;\n multiple?: boolean;\n highlightClassName?: string;\n hideCheckToggler?: boolean;\n item: IItem;\n checkOnItemClick?: boolean;\n}\nexport class Card extends React.Component<CardProps> {\n static defaultProps: Partial<CardProps> = {\n className: '',\n avatarClassName: '',\n bodyClassName: '',\n actionsCount: 4,\n titleClassName: '',\n highlightClassName: '',\n subTitleClassName: '',\n descClassName: '',\n blank: true\n };\n\n static propsList: Array<string> = [\n 'avatarClassName',\n 'bodyClassName',\n 'actionsCount',\n 'titleClassName',\n 'highlightClassName',\n 'subTitleClassName',\n 'descClassName',\n 'hideCheckToggler'\n ];\n\n constructor(props: CardProps) {\n super(props);\n\n this.getPopOverContainer = this.getPopOverContainer.bind(this);\n this.itemRender = this.itemRender.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleQuickChange = this.handleQuickChange.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleCheck = this.handleCheck.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n\n const {item, href, data, env, blank, itemAction, onAction} = this.props;\n if (href) {\n env.jumpTo(filter(href, data), {\n type: 'button',\n actionType: 'url',\n blank\n });\n return;\n }\n\n if (itemAction) {\n onAction && onAction(e, itemAction, item?.data || data);\n return;\n }\n\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleCheck() {\n const item = this.props.item;\n this.props.onCheck && this.props.onCheck(item);\n }\n\n handleAction(e: React.UIEvent<any>, action: Action, ctx: object) {\n const {onAction, item} = this.props;\n onAction && onAction(e, action, ctx || item.data);\n }\n\n handleQuickChange(\n values: object,\n saveImmediately?: boolean,\n savePristine?: boolean,\n resetOnFailed?: boolean\n ) {\n const {onQuickChange, item} = this.props;\n onQuickChange &&\n onQuickChange(item, values, saveImmediately, savePristine, resetOnFailed);\n }\n\n getPopOverContainer() {\n return findDOMNode(this);\n }\n\n renderToolbar() {\n const {\n dragging,\n selectable,\n checkable,\n selected,\n onSelect,\n checkOnItemClick,\n multiple,\n hideCheckToggler,\n classnames: cx,\n classPrefix: ns,\n toolbar,\n render\n } = this.props;\n const toolbars: Array<JSX.Element> = [];\n\n if (selectable && !hideCheckToggler) {\n toolbars.push(\n <Checkbox\n key=\"check\"\n className={cx('Card-checkbox')}\n type={multiple ? 'checkbox' : 'radio'}\n disabled={!checkable}\n checked={selected}\n onChange={checkOnItemClick ? noop : this.handleCheck}\n />\n );\n }\n\n if (Array.isArray(toolbar)) {\n toolbar.forEach((action, index) =>\n toolbars.push(\n render(\n `toolbar/${index}`,\n {\n type: 'button',\n level: 'link',\n size: 'sm',\n ...(action as any)\n },\n {\n key: index\n }\n )\n )\n );\n }\n\n return toolbars.length ? (\n <div className={cx('Card-toolbar')}>{toolbars}</div>\n ) : null;\n }\n\n renderActions() {\n const {\n actions,\n render,\n dragging,\n actionsCount,\n data,\n classnames: cx\n } = this.props;\n\n if (Array.isArray(actions)) {\n const group = padArr(\n actions.filter(item => isVisible(item, data)),\n actionsCount\n );\n return group.map((actions, groupIndex) => (\n <div key={groupIndex} className={cx('Card-actions')}>\n {actions.map((action, index) => {\n const size = action.size || 'sm';\n\n return render(\n `action/${index}`,\n {\n level: 'link',\n type: 'button',\n ...action,\n size\n },\n {\n isMenuItem: true,\n key: index,\n index,\n disabled: dragging || isDisabled(action, data),\n className: cx(\n 'Card-action',\n action.className || `${size ? `Card-action--${size}` : ''}`\n ),\n componentClass: 'a',\n onAction: this.handleAction\n }\n );\n })}\n </div>\n ));\n }\n\n return null;\n }\n\n renderChild(\n node: SchemaNode,\n region: string = 'body',\n key: any = 0\n ): React.ReactNode {\n const {render} = this.props;\n\n if (typeof node === 'string' || typeof node === 'number') {\n return render(region, node, {key}) as JSX.Element;\n }\n\n const childNode: Schema = node as Schema;\n\n if (childNode.type === 'hbox' || childNode.type === 'grid') {\n return render(region, node, {\n key,\n itemRender: this.itemRender\n }) as JSX.Element;\n }\n\n return this.renderFeild(region, childNode, key, this.props);\n }\n\n itemRender(field: any, index: number, props: any) {\n return this.renderFeild(`column/${index}`, field, index, props);\n }\n\n renderFeild(region: string, field: any, key: any, props: any) {\n const {render, classnames: cx, itemIndex} = props;\n const data = this.props.data;\n if (!isVisible(field, data)) {\n return;\n }\n\n const $$id = field.$$id ? `${field.$$id}-field` : '';\n\n return (\n <div className={cx('Card-field')} key={key}>\n {field && field.label ? (\n <label className={cx('Card-fieldLabel', field.labelClassName)}>\n {field.label}\n </label>\n ) : null}\n\n {\n render(\n region,\n {\n ...field,\n field: field,\n $$id,\n type: 'card-item-field'\n },\n {\n className: cx('Card-fieldValue', field.className),\n rowIndex: itemIndex,\n colIndex: key,\n value: field.name ? resolveVariable(field.name, data) : undefined,\n popOverContainer: this.getPopOverContainer,\n onAction: this.handleAction,\n onQuickChange: this.handleQuickChange\n }\n ) as JSX.Element\n }\n </div>\n );\n }\n\n renderBody() {\n const {body} = this.props;\n\n if (!body) {\n return null;\n }\n\n if (Array.isArray(body)) {\n return body.map((child, index) =>\n this.renderChild(child, `body/${index}`, index)\n );\n }\n\n return this.renderChild(body, 'body');\n }\n\n render() {\n const {\n className,\n data,\n header,\n render,\n bodyClassName,\n highlightClassName,\n titleClassName,\n subTitleClassName,\n descClassName,\n checkOnItemClick,\n avatarClassName,\n checkable,\n classnames: cx,\n classPrefix: ns,\n imageClassName,\n avatarTextClassName,\n href,\n itemAction,\n dragging\n } = this.props;\n\n const toolbar = this.renderToolbar();\n let heading = null;\n\n if (header || toolbar) {\n const {\n highlight: highlightTpl,\n avatar: avatarTpl,\n avatarText: avatarTextTpl,\n avatarTextBackground,\n title: titleTpl,\n subTitle: subTitleTpl,\n subTitlePlaceholder,\n desc: descTpl\n } = header || {};\n\n const descPlaceholder =\n header?.descriptionPlaceholder || header?.descPlaceholder;\n\n const highlight = !!evalExpression(highlightTpl!, data as object);\n const avatar = filter(avatarTpl, data, '| raw');\n const avatarText = filter(avatarTextTpl, data);\n const title = filter(titleTpl, data);\n const subTitle = filter(subTitleTpl, data);\n const desc = filter(header?.description || descTpl, data);\n const avatarTextStyle: PlainObject = {};\n if (avatarText && avatarTextBackground && avatarTextBackground.length) {\n avatarTextStyle['background'] =\n avatarTextBackground[\n Math.abs(hashCode(avatarText)) % avatarTextBackground.length\n ];\n }\n\n heading = (\n <div className={cx('Card-heading', header?.className)}>\n {avatar ? (\n <span\n className={cx(\n 'Card-avtar',\n header?.avatarClassName || avatarClassName\n )}\n >\n <img\n className={cx(\n 'Card-img',\n header?.imageClassName || imageClassName\n )}\n src={avatar}\n />\n </span>\n ) : avatarText ? (\n <span\n className={cx(\n 'Card-avtarText',\n header?.avatarTextClassName || avatarTextClassName\n )}\n style={avatarTextStyle}\n >\n {avatarText}\n </span>\n ) : null}\n <div className={cx('Card-meta')}>\n {highlight ? (\n <i\n className={cx(\n 'Card-highlight',\n header?.highlightClassName || highlightClassName\n )}\n />\n ) : null}\n\n {title ? (\n <div\n className={cx(\n 'Card-title',\n header?.titleClassName || titleClassName\n )}\n >\n {render('title', title)}\n </div>\n ) : null}\n\n {subTitle || subTitlePlaceholder ? (\n <div\n className={cx(\n 'Card-subTitle',\n header?.subTitleClassName || subTitleClassName\n )}\n >\n {render('sub-title', subTitle || subTitlePlaceholder!, {\n className: cx(!subTitle ? 'Card-placeholder' : undefined)\n })}\n </div>\n ) : null}\n\n {desc || descPlaceholder ? (\n <div\n className={cx(\n 'Card-desc',\n header?.descriptionClassName ||\n header?.descClassName ||\n descClassName\n )}\n >\n {render('desc', desc || descPlaceholder!, {\n className: !desc ? 'text-muted' : undefined\n })}\n </div>\n ) : null}\n </div>\n {toolbar}\n </div>\n );\n }\n\n const body = this.renderBody();\n\n return (\n <div\n onClick={\n (checkOnItemClick && checkable) || href || itemAction\n ? this.handleClick\n : undefined\n }\n className={cx('Card', className, {\n 'Card--link': href || itemAction\n })}\n >\n {dragging ? (\n <div className={cx('Card-dragBtn')}>\n <Icon icon=\"drag-bar\" className=\"icon\" />\n </div>\n ) : null}\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {this.renderActions()}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'card'\n})\nexport class CardRenderer extends Card {\n static propsList = ['multiple', ...Card.propsList];\n}\n\n@Renderer({\n type: 'card-item-field'\n})\n@QuickEdit()\n@PopOver()\n@Copyable()\nexport class CardItemFieldRenderer extends TableCell {\n static defaultProps = {\n ...TableCell.defaultProps,\n wrapperComponent: 'div'\n };\n\n static propsList = [\n 'quickEdit',\n 'quickEditEnabledOn',\n 'popOver',\n 'copyable',\n 'inline',\n ...TableCell.propsList\n ];\n\n render() {\n let {\n type,\n className,\n render,\n style,\n wrapperComponent: Component,\n labelClassName,\n value,\n data,\n children,\n width,\n innerClassName,\n label,\n tabIndex,\n onKeyUp,\n field,\n ...rest\n } = this.props;\n\n const schema = {\n ...field,\n className: innerClassName,\n type: (field && field.type) || 'plain'\n };\n\n let body = children\n ? children\n : render('field', schema, {\n ...omit(rest, Object.keys(schema)),\n value,\n data\n });\n\n if (width) {\n style = style || {};\n style.width = style.width || width;\n body = (\n <div style={{width: !/%/.test(String(width)) ? width : ''}}>{body}</div>\n );\n }\n\n if (!Component) {\n return body as JSX.Element;\n }\n\n return (\n <Component\n style={style}\n className={className}\n tabIndex={tabIndex}\n onKeyUp={onKeyUp}\n >\n {body}\n </Component>\n );\n }\n}\n"
12
12
  ]
13
13
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RendererProps } from '../factory';
3
- import { BaseSchema, SchemaClassName, SchemaCollection, SchemaTpl } from '../Schema';
3
+ import { BaseSchema, SchemaCollection, SchemaTpl, SchemaObject } from '../Schema';
4
4
  /**
5
5
  * Collapse 折叠渲染器,格式说明。
6
6
  * 文档:https://baidu.gitee.io/amis/docs/components/collapse
@@ -10,10 +10,18 @@ export interface CollapseSchema extends BaseSchema {
10
10
  * 指定为折叠器类型
11
11
  */
12
12
  type: 'collapse';
13
+ /**
14
+ * 标识
15
+ */
16
+ key?: string;
13
17
  /**
14
18
  * 标题展示位置
15
19
  */
16
- titlePosition: 'top' | 'bottom';
20
+ headerPosition?: 'top' | 'bottom';
21
+ /**
22
+ * 标题
23
+ */
24
+ header?: string | SchemaCollection;
17
25
  /**
18
26
  * 内容区域
19
27
  */
@@ -21,7 +29,11 @@ export interface CollapseSchema extends BaseSchema {
21
29
  /**
22
30
  * 配置 Body 容器 className
23
31
  */
24
- bodyClassName?: SchemaClassName;
32
+ bodyClassName?: string;
33
+ /**
34
+ * 是否禁用
35
+ */
36
+ disabled?: boolean;
25
37
  /**
26
38
  * 是否可折叠
27
39
  */
@@ -31,17 +43,21 @@ export interface CollapseSchema extends BaseSchema {
31
43
  */
32
44
  collapsed?: boolean;
33
45
  /**
34
- * 标题 CSS 类名
46
+ * 图标是否展示
35
47
  */
36
- headingClassName?: string;
48
+ showArrow?: boolean;
37
49
  /**
38
- * 标题
50
+ * 自定义切换图标
39
51
  */
40
- title?: SchemaTpl;
52
+ expandIcon?: SchemaObject;
53
+ /**
54
+ * 标题 CSS 类名
55
+ */
56
+ headingClassName?: string;
41
57
  /**
42
58
  * 收起的标题
43
59
  */
44
- collapseTitle?: SchemaTpl;
60
+ collapseHeader?: SchemaTpl;
45
61
  /**
46
62
  * 控件大小
47
63
  */
@@ -60,18 +76,7 @@ export interface CollapseProps extends RendererProps, Omit<CollapseSchema, 'type
60
76
  headingComponent?: any;
61
77
  children?: JSX.Element | ((props?: any) => JSX.Element);
62
78
  }
63
- export interface CollapseState {
64
- collapsed: boolean;
65
- }
66
- export default class Collapse extends React.Component<CollapseProps, CollapseState> {
67
- static propsList: Array<string>;
68
- static defaultProps: Partial<CollapseProps>;
69
- state: {
70
- collapsed: boolean;
71
- };
72
- constructor(props: CollapseProps);
73
- componentDidUpdate(prevProps: CollapseProps): void;
74
- toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
79
+ export default class Collapse extends React.Component<CollapseProps, {}> {
75
80
  render(): JSX.Element;
76
81
  }
77
82
  export declare class CollapseRenderer extends Collapse {
@@ -5,82 +5,20 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var factory_1 = require("../factory");
7
7
  var Collapse_1 = require("../components/Collapse");
8
- var helper_1 = require("../utils/helper");
9
8
  var Collapse = /** @class */ (function (_super) {
10
9
  (0, tslib_1.__extends)(Collapse, _super);
11
- function Collapse(props) {
12
- var _this = _super.call(this, props) || this;
13
- _this.state = {
14
- collapsed: false
15
- };
16
- _this.toggleCollapsed = _this.toggleCollapsed.bind(_this);
17
- _this.state.collapsed = !!props.collapsed;
18
- return _this;
10
+ function Collapse() {
11
+ return _super !== null && _super.apply(this, arguments) || this;
19
12
  }
20
- Collapse.prototype.componentDidUpdate = function (prevProps) {
21
- var props = this.props;
22
- if (prevProps.collapsed !== props.collapsed) {
23
- this.setState({
24
- collapsed: !!props.collapsed
25
- });
26
- }
27
- };
28
- Collapse.prototype.toggleCollapsed = function (e) {
29
- if ((0, helper_1.isClickOnInput)(e)) {
30
- return;
31
- }
32
- this.props.collapsable !== false &&
33
- this.setState({
34
- collapsed: !this.state.collapsed
35
- });
36
- };
37
13
  Collapse.prototype.render = function () {
38
- var _a;
39
- var _b = this.props, ns = _b.classPrefix, cx = _b.classnames, size = _b.size, WrapperComponent = _b.wrapperComponent, HeadingComponent = _b.headingComponent, className = _b.className, headingClassName = _b.headingClassName, children = _b.children, titlePosition = _b.titlePosition, title = _b.title, collapseTitle = _b.collapseTitle, body = _b.body, bodyClassName = _b.bodyClassName, render = _b.render, collapsable = _b.collapsable, __ = _b.translate, mountOnEnter = _b.mountOnEnter, unmountOnExit = _b.unmountOnExit;
40
- // 默认给个 title,不然没法点
41
- var finalTitle = this.state.collapsed ? title : collapseTitle || title;
42
- var dom = [
43
- finalTitle ? (react_1.default.createElement(HeadingComponent, { key: "title", onClick: this.toggleCollapsed, className: cx("Collapse-header", headingClassName) },
44
- collapsable && react_1.default.createElement("span", { className: cx('Collapse-arrow') }),
45
- render('heading', finalTitle))) : null,
46
- react_1.default.createElement(Collapse_1.Collapse, { show: collapsable ? !this.state.collapsed : true, classnames: cx, classPrefix: ns, key: "body", mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit },
47
- react_1.default.createElement("div", { className: cx("Collapse-body", bodyClassName) }, children
48
- ? typeof children === 'function'
49
- ? children(this.props)
50
- : children
51
- : body
52
- ? render('body', body)
53
- : null))
54
- ];
55
- if (titlePosition === 'bottom') {
56
- dom.reverse();
57
- }
58
- return (react_1.default.createElement(WrapperComponent, { className: cx("Collapse", (_a = {
59
- 'is-collapsed': this.state.collapsed
60
- },
61
- _a["Collapse--" + size] = size,
62
- _a['Collapse--collapsable'] = collapsable,
63
- _a['Collapse--title-bottom'] = titlePosition === 'bottom',
64
- _a), className) }, dom));
65
- };
66
- Collapse.propsList = [
67
- 'wrapperComponent',
68
- 'headingComponent',
69
- 'bodyClassName',
70
- 'collapsed',
71
- 'headingClassName',
72
- 'title',
73
- 'mountOnEnter',
74
- 'unmountOnExit'
75
- ];
76
- Collapse.defaultProps = {
77
- titlePosition: 'top',
78
- wrapperComponent: 'div',
79
- headingComponent: 'h4',
80
- className: '',
81
- headingClassName: '',
82
- bodyClassName: '',
83
- collapsable: true
14
+ var _a = this.props, key = _a.key, 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, mountOnEnter = _a.mountOnEnter, unmountOnExit = _a.unmountOnExit, showArrow = _a.showArrow, expandIcon = _a.expandIcon, disabled = _a.disabled, collapsed = _a.collapsed, propsUpdate = _a.propsUpdate, onCollapse = _a.onCollapse;
15
+ return (react_1.default.createElement(Collapse_1.Collapse, { key: key, 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 ? render('arrow-icon', expandIcon || '', { className: cx('Collapse-icon-tranform') }) : null, collapseHeader: collapseTitle || collapseHeader ? render('heading', collapseTitle || collapseHeader) : null, header: render('heading', title || header || ''), body: children
16
+ ? typeof children === 'function'
17
+ ? children(this.props)
18
+ : children
19
+ : body
20
+ ? render('body', body)
21
+ : null, onCollapse: onCollapse }));
84
22
  };
85
23
  return Collapse;
86
24
  }(react_1.default.Component));
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Collapse.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AACnD,mDAAiE;AAwGjE;IAAsC,yCAGrC;IAHD;;IAyEA,CAAC;IApEC,yBAAM,GAAN;QACQ,IAAA,KA8BF,IAAI,CAAC,KAAK,EA7BZ,GAAG,SAAA,EACH,EAAE,QAAA,EACW,EAAE,iBAAA,EACH,EAAE,gBAAA,EACd,IAAI,UAAA,EACJ,gBAAgB,sBAAA,EAChB,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,gBAAgB,sBAAA,EAChB,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,KAAK,WAAA,EACL,aAAa,mBAAA,EACb,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,MAAM,YAAA,EACN,WAAW,iBAAA,EACA,EAAE,eAAA,EACb,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,UAAU,gBACE,CAAC;QAEf,OAAO,CACL,8BAAC,mBAAa,IACZ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,EAAE,EACf,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,aAAa,IAAI,cAAc,EAC/C,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,IAAI,EAAE,EAAE,EAAC,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACjH,cAAc,EAAE,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3G,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,MAAM,IAAI,EAAE,CAAC,EAChD,IAAI,EAAE,QAAQ;gBACZ,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU;oBAC9B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB,CAAC,CAAC,QAAQ;gBACZ,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;oBACtB,CAAC,CAAC,IAAI,EACR,UAAU,EAAE,UAAU,GAER,CACjB,CAAC;IACJ,CAAC;IACH,eAAC;AAAD,CAAC,AAzED,CAAsC,eAAK,CAAC,SAAS,GAyEpD;;AAKD;IAAsC,iDAAQ;IAA9C;;IAAgD,CAAC;IAApC,gBAAgB;QAH5B,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,gBAAgB,CAAoB;IAAD,uBAAC;CAAA,AAAjD,CAAsC,QAAQ,GAAG;AAApC,4CAAgB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Collapse as BasicCollapse} from '../components/Collapse';\nimport {\n BaseSchema,\n SchemaClassName,\n SchemaCollection,\n SchemaTpl\n} from '../Schema';\nimport {isClickOnInput} from '../utils/helper';\n\n/**\n * Collapse 折叠渲染器,格式说明。\n * 文档:https://baidu.gitee.io/amis/docs/components/collapse\n */\nexport interface CollapseSchema extends BaseSchema {\n /**\n * 指定为折叠器类型\n */\n type: 'collapse';\n\n /**\n * 标题展示位置\n */\n titlePosition: 'top' | 'bottom';\n\n /**\n * 内容区域\n */\n body: SchemaCollection;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 是否可折叠\n */\n collapsable?: boolean;\n\n /**\n * 默认是否折叠\n */\n collapsed?: boolean;\n\n /**\n * 标题 CSS 类名\n */\n headingClassName?: string;\n\n /**\n * 标题\n */\n title?: SchemaTpl;\n\n /**\n * 收起的标题\n */\n collapseTitle?: SchemaTpl;\n\n /**\n * 控件大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';\n\n /**\n * 点开时才加载内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁内容。\n */\n unmountOnExit?: boolean;\n}\n\nexport interface CollapseProps\n extends RendererProps,\n Omit<CollapseSchema, 'type' | 'className'> {\n wrapperComponent?: any;\n headingComponent?: any;\n\n // 内容口子\n children?: JSX.Element | ((props?: any) => JSX.Element);\n}\n\nexport interface CollapseState {\n collapsed: boolean;\n}\n\nexport default class Collapse extends React.Component<\n CollapseProps,\n CollapseState\n> {\n static propsList: Array<string> = [\n 'wrapperComponent',\n 'headingComponent',\n 'bodyClassName',\n 'collapsed',\n 'headingClassName',\n 'title',\n 'mountOnEnter',\n 'unmountOnExit'\n ];\n\n static defaultProps: Partial<CollapseProps> = {\n titlePosition: 'top',\n wrapperComponent: 'div',\n headingComponent: 'h4',\n className: '',\n headingClassName: '',\n bodyClassName: '',\n collapsable: true\n };\n\n state = {\n collapsed: false\n };\n\n constructor(props: CollapseProps) {\n super(props);\n\n this.toggleCollapsed = this.toggleCollapsed.bind(this);\n this.state.collapsed = !!props.collapsed;\n }\n\n componentDidUpdate(prevProps: CollapseProps) {\n const props = this.props;\n\n if (prevProps.collapsed !== props.collapsed) {\n this.setState({\n collapsed: !!props.collapsed\n });\n }\n }\n\n toggleCollapsed(e: React.MouseEvent<HTMLElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n this.props.collapsable !== false &&\n this.setState({\n collapsed: !this.state.collapsed\n });\n }\n\n render() {\n const {\n classPrefix: ns,\n classnames: cx,\n size,\n wrapperComponent: WrapperComponent,\n headingComponent: HeadingComponent,\n className,\n headingClassName,\n children,\n titlePosition,\n title,\n collapseTitle,\n body,\n bodyClassName,\n render,\n collapsable,\n translate: __,\n mountOnEnter,\n unmountOnExit\n } = this.props;\n // 默认给个 title,不然没法点\n const finalTitle = this.state.collapsed ? title : collapseTitle || title;\n\n let dom = [\n finalTitle ? (\n <HeadingComponent\n key=\"title\"\n onClick={this.toggleCollapsed}\n className={cx(`Collapse-header`, headingClassName)}\n >\n {collapsable && <span className={cx('Collapse-arrow')} />}\n {render('heading', finalTitle)}\n </HeadingComponent>\n ) : null,\n\n <BasicCollapse\n show={collapsable ? !this.state.collapsed : true}\n classnames={cx}\n classPrefix={ns}\n key=\"body\"\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnExit}\n >\n <div className={cx(`Collapse-body`, bodyClassName)}>\n {children\n ? typeof children === 'function'\n ? children(this.props)\n : children\n : body\n ? render('body', body)\n : null}\n </div>\n </BasicCollapse>\n ];\n\n if (titlePosition === 'bottom') {\n dom.reverse();\n }\n\n return (\n <WrapperComponent\n className={cx(\n `Collapse`,\n {\n 'is-collapsed': this.state.collapsed,\n [`Collapse--${size}`]: size,\n 'Collapse--collapsable': collapsable,\n 'Collapse--title-bottom': titlePosition === 'bottom'\n },\n className\n )}\n >\n {dom}\n </WrapperComponent>\n );\n }\n}\n\n@Renderer({\n type: 'collapse'\n})\nexport class CollapseRenderer extends Collapse {}\n"
11
+ "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {Collapse as BasicCollapse} from '../components/Collapse';\nimport {\n BaseSchema,\n SchemaCollection,\n SchemaTpl,\n SchemaObject\n} from '../Schema';\n\n/**\n * Collapse 折叠渲染器,格式说明。\n * 文档:https://baidu.gitee.io/amis/docs/components/collapse\n */\nexport interface CollapseSchema extends BaseSchema {\n /**\n * 指定为折叠器类型\n */\n type: 'collapse';\n\n /**\n * 标识\n */\n key?: string;\n\n /**\n * 标题展示位置\n */\n headerPosition?: 'top' | 'bottom';\n\n /**\n * 标题\n */\n header?: string | SchemaCollection;\n\n /**\n * 内容区域\n */\n body: SchemaCollection;\n\n /**\n * 配置 Body 容器 className\n */\n bodyClassName?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否可折叠\n */\n collapsable?: boolean;\n\n /**\n * 默认是否折叠\n */\n collapsed?: boolean;\n\n /**\n * 图标是否展示\n */\n showArrow?: boolean;\n\n /**\n * 自定义切换图标\n */\n expandIcon?: SchemaObject;\n\n /**\n * 标题 CSS 类名\n */\n headingClassName?: string;\n\n /**\n * 收起的标题\n */\n collapseHeader?: SchemaTpl;\n\n /**\n * 控件大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';\n\n /**\n * 点开时才加载内容\n */\n mountOnEnter?: boolean;\n\n /**\n * 卡片隐藏就销毁内容。\n */\n unmountOnExit?: boolean;\n}\n\nexport interface CollapseProps\n extends RendererProps,\n Omit<CollapseSchema, 'type' | 'className'> {\n wrapperComponent?: any;\n headingComponent?: any;\n\n // 内容口子\n children?: JSX.Element | ((props?: any) => JSX.Element);\n}\n\nexport default class Collapse extends React.Component<\n CollapseProps,\n {}\n> {\n\n render() {\n const {\n key,\n id,\n classPrefix: ns,\n classnames: cx,\n size,\n wrapperComponent,\n headingComponent,\n className,\n headingClassName,\n children,\n titlePosition,\n headerPosition,\n title,\n collapseTitle,\n collapseHeader,\n header,\n body,\n bodyClassName,\n render,\n collapsable,\n translate: __,\n mountOnEnter,\n unmountOnExit,\n showArrow,\n expandIcon,\n disabled,\n collapsed,\n propsUpdate,\n onCollapse\n } = this.props;\n\n return (\n <BasicCollapse\n key={key}\n id={id}\n classnames={cx}\n classPrefix={ns}\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnExit}\n size={size}\n wrapperComponent={wrapperComponent}\n headingComponent={headingComponent}\n className={className}\n headingClassName={headingClassName}\n bodyClassName={bodyClassName}\n headerPosition={titlePosition || headerPosition}\n collapsable={collapsable}\n collapsed={collapsed}\n showArrow={showArrow}\n disabled={disabled}\n propsUpdate={propsUpdate}\n expandIcon={expandIcon ? render('arrow-icon', expandIcon || '', {className: cx('Collapse-icon-tranform')}) : null}\n collapseHeader={collapseTitle || collapseHeader ? render('heading', collapseTitle || collapseHeader) : null}\n header={render('heading', title || header || '')}\n body={children\n ? typeof children === 'function'\n ? children(this.props)\n : children\n : body\n ? render('body', body)\n : null}\n onCollapse={onCollapse}\n >\n </BasicCollapse>\n );\n }\n}\n\n@Renderer({\n type: 'collapse'\n})\nexport class CollapseRenderer extends Collapse {}\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { RendererProps } from '../factory';
3
+ import { BaseSchema, SchemaCollection, SchemaObject } from '../Schema';
4
+ /**
5
+ * CollapseGroup 折叠渲染器,格式说明。
6
+ * 文档:https://baidu.gitee.io/amis/docs/components/collapse
7
+ */
8
+ export interface CollapseGroupSchema extends BaseSchema {
9
+ /**
10
+ * 指定为折叠器类型
11
+ */
12
+ type: 'collapse-group';
13
+ /**
14
+ * 激活面板
15
+ */
16
+ activeKey?: Array<string | number | never> | string | number;
17
+ /**
18
+ * 手风琴模式
19
+ */
20
+ accordion?: boolean;
21
+ /**
22
+ * 自定义切换图标
23
+ */
24
+ expandIcon?: SchemaObject;
25
+ /**
26
+ * 设置图标位置
27
+ */
28
+ expandIconPosition?: 'left' | 'right';
29
+ /**
30
+ * 内容区域
31
+ */
32
+ body?: SchemaCollection;
33
+ }
34
+ export interface CollapseGroupProps extends RendererProps, Omit<CollapseGroupSchema, 'type' | 'className'> {
35
+ children?: JSX.Element | ((props?: any) => JSX.Element);
36
+ }
37
+ export declare class CollapseGroupRender extends React.Component<CollapseGroupProps, {}> {
38
+ constructor(props: CollapseGroupProps);
39
+ render(): JSX.Element;
40
+ }
41
+ export declare class CollapseGroupRenderer extends CollapseGroupRender {
42
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CollapseGroupRenderer = exports.CollapseGroupRender = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var factory_1 = require("../factory");
7
+ var CollapseGroup_1 = (0, tslib_1.__importDefault)(require("../components/CollapseGroup"));
8
+ var CollapseGroupRender = /** @class */ (function (_super) {
9
+ (0, tslib_1.__extends)(CollapseGroupRender, _super);
10
+ function CollapseGroupRender(props) {
11
+ return _super.call(this, props) || this;
12
+ }
13
+ CollapseGroupRender.prototype.render = function () {
14
+ var _a = this.props, defaultActiveKey = _a.defaultActiveKey, accordion = _a.accordion, expandIcon = _a.expandIcon, expandIconPosition = _a.expandIconPosition, body = _a.body, className = _a.className, render = _a.render;
15
+ return (react_1.default.createElement(CollapseGroup_1.default, { defaultActiveKey: defaultActiveKey, accordion: accordion, expandIcon: expandIcon, expandIconPosition: expandIconPosition, className: className }, render('body', body || '')));
16
+ };
17
+ return CollapseGroupRender;
18
+ }(react_1.default.Component));
19
+ exports.CollapseGroupRender = CollapseGroupRender;
20
+ var CollapseGroupRenderer = /** @class */ (function (_super) {
21
+ (0, tslib_1.__extends)(CollapseGroupRenderer, _super);
22
+ function CollapseGroupRenderer() {
23
+ return _super !== null && _super.apply(this, arguments) || this;
24
+ }
25
+ CollapseGroupRenderer = (0, tslib_1.__decorate)([
26
+ (0, factory_1.Renderer)({
27
+ type: 'collapse-group'
28
+ })
29
+ ], CollapseGroupRenderer);
30
+ return CollapseGroupRenderer;
31
+ }(CollapseGroupRender));
32
+ exports.CollapseGroupRenderer = CollapseGroupRenderer;
33
+ //# sourceMappingURL=./renderers/CollapseGroup.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "CollapseGroup.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/renderers/CollapseGroup.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAEnD,2FAAwD;AA4CxD;IAAyC,oDAAuC;IAC9E,6BAAY,KAAyB;eACnC,kBAAM,KAAK,CAAC;IACd,CAAC;IACD,oCAAM,GAAN;QACQ,IAAA,KAQF,IAAI,CAAC,KAAK,EAPZ,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,kBAAkB,wBAAA,EAClB,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,MAAM,YACM,CAAC;QACf,OAAO,CACL,8BAAC,uBAAa,IACV,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,IAEnB,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CACb,CACnB,CAAA;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AA1BD,CAAyC,eAAK,CAAC,SAAS,GA0BvD;AA1BY,kDAAmB;AAgChC;IAA2C,sDAAmB;IAA9D;;IAAgE,CAAC;IAApD,qBAAqB;QAHjC,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,gBAAgB;SACvB,CAAC;OACW,qBAAqB,CAA+B;IAAD,4BAAC;CAAA,AAAjE,CAA2C,mBAAmB,GAAG;AAApD,sDAAqB",
10
+ "sourcesContent": [
11
+ "import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport {BaseSchema, SchemaCollection, SchemaObject} from '../Schema';\nimport CollapseGroup from '../components/CollapseGroup';\n\n/**\n * CollapseGroup 折叠渲染器,格式说明。\n * 文档:https://baidu.gitee.io/amis/docs/components/collapse\n */\nexport interface CollapseGroupSchema extends BaseSchema {\n /**\n * 指定为折叠器类型\n */\n type: 'collapse-group';\n\n /**\n * 激活面板\n */\n activeKey?: Array<string | number | never> | string | number;\n\n /**\n * 手风琴模式\n */\n accordion?: boolean;\n\n /**\n * 自定义切换图标\n */\n expandIcon?: SchemaObject;\n\n /**\n * 设置图标位置\n */\n expandIconPosition?: 'left' | 'right';\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n}\nexport interface CollapseGroupProps\n extends RendererProps,\n Omit<CollapseGroupSchema, 'type' | 'className'> {\n\n children?: JSX.Element | ((props?: any) => JSX.Element);\n}\n\nexport class CollapseGroupRender extends React.Component<CollapseGroupProps, {}> {\n constructor(props: CollapseGroupProps) {\n super(props);\n }\n render() {\n const {\n defaultActiveKey,\n accordion,\n expandIcon,\n expandIconPosition,\n body,\n className,\n render\n } = this.props;\n return (\n <CollapseGroup\n defaultActiveKey={defaultActiveKey}\n accordion={accordion}\n expandIcon={expandIcon}\n expandIconPosition={expandIconPosition}\n className={className}\n >\n {render('body', body || '')}\n </CollapseGroup>\n )\n }\n}\n\n\n@Renderer({\n type: 'collapse-group'\n})\nexport class CollapseGroupRenderer extends CollapseGroupRender {}\n"
12
+ ]
13
+ }
@@ -27,8 +27,8 @@ var ConditionBuilderWithRemoteOptions = (0, WithRemoteConfig_1.withRemoteConfig)
27
27
  return _super !== null && _super.apply(this, arguments) || this;
28
28
  }
29
29
  class_1.prototype.render = function () {
30
- var _a = this.props, loading = _a.loading, config = _a.config, deferLoad = _a.deferLoad, rest = (0, tslib_1.__rest)(_a, ["loading", "config", "deferLoad"]);
31
- return (react_1.default.createElement(index_1.default, (0, tslib_1.__assign)({}, rest, { fields: config || rest.fields || [], disabled: loading })));
30
+ var _a = this.props, loading = _a.loading, config = _a.config, deferLoad = _a.deferLoad, disabled = _a.disabled, rest = (0, tslib_1.__rest)(_a, ["loading", "config", "deferLoad", "disabled"]);
31
+ return (react_1.default.createElement(index_1.default, (0, tslib_1.__assign)({}, rest, { fields: config || rest.fields || [], disabled: disabled || loading })));
32
32
  };
33
33
  return class_1;
34
34
  }(react_1.default.Component)));
@@ -6,8 +6,8 @@
6
6
  "/src/renderers/Form/ConditionBuilder.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;AAExE,sEAG2C;AAwC3C;IAAqD,wDAA0C;IAA/F;;IAUA,CAAC;IATC,wCAAM,GAAN;QACE,IAAM,KAAuC,IAAI,CAAC,KAAK,EAAhD,SAAS,eAAA,EAAc,EAAE,gBAAA,EAAK,IAAI,2BAAnC,2BAAoC,CAAa,CAAC;QAExD,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC;YACtD,8BAAC,iCAAiC,4BAAK,IAAI,EAAI,CAC3C,CACP,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,AAVD,CAAqD,eAAK,CAAC,aAAa,GAUvE;;AAED,IAAM,iCAAiC,GAAG,IAAA,mCAAgB,EAAC;IACzD,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,EAAnB,CAAmB;CACrC,CAAC;IACc,wCAEb;IAFD;;IAaA,CAAC;IAVC,wBAAM,GAAN;QACE,IAAM,KAAwC,IAAI,CAAC,KAAK,EAAjD,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAK,IAAI,2BAApC,kCAAqC,CAAa,CAAC;QACzD,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EACnC,QAAQ,EAAE,OAAO,IACjB,CACH,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AAbD,CAAc,eAAK,CAAC,SAAS,GAc9B,CAAC;AAMF;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAJpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;SAClB,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;AAExE,sEAG2C;AAwC3C;IAAqD,wDAA0C;IAA/F;;IAUA,CAAC;IATC,wCAAM,GAAN;QACE,IAAM,KAAuC,IAAI,CAAC,KAAK,EAAhD,SAAS,eAAA,EAAc,EAAE,gBAAA,EAAK,IAAI,2BAAnC,2BAAoC,CAAa,CAAC;QAExD,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC;YACtD,8BAAC,iCAAiC,4BAAK,IAAI,EAAI,CAC3C,CACP,CAAC;IACJ,CAAC;IACH,8BAAC;AAAD,CAAC,AAVD,CAAqD,eAAK,CAAC,aAAa,GAUvE;;AAED,IAAM,iCAAiC,GAAG,IAAA,mCAAgB,EAAC;IACzD,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,EAAnB,CAAmB;CACrC,CAAC;IACc,wCAEb;IAFD;;IAaA,CAAC;IAVC,wBAAM,GAAN;QACE,IAAM,KAAkD,IAAI,CAAC,KAAK,EAA3D,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAK,IAAI,2BAA9C,8CAA+C,CAAa,CAAC;QACnE,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EACnC,QAAQ,EAAE,QAAQ,IAAI,OAAO,IAC7B,CACH,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AAbD,CAAc,eAAK,CAAC,SAAS,GAc9B,CAAC;AAMF;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAJpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;SAClB,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions {...rest} />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, ...rest} = this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={loading}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
11
+ "import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions {...rest} />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, disabled, ...rest} = this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={disabled || loading}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
12
12
  ]
13
13
  }