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
@@ -6,8 +6,8 @@
6
6
  "/src/components/Collapse.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Collapse\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport Transition, {\n EXITED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {autobind} from '../utils/helper';\n\nconst collapseStyles: {\n [propName: string]: string;\n} = {\n [EXITED]: 'out',\n [EXITING]: 'out',\n [ENTERING]: 'in'\n};\n\nexport interface CollapseProps {\n show?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n className?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n}\n\nexport class Collapse extends React.Component<CollapseProps, any> {\n static defaultProps: Pick<\n CollapseProps,\n 'show' | 'mountOnEnter' | 'unmountOnExit'\n > = {\n show: false,\n mountOnEnter: false,\n unmountOnExit: false\n };\n\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n @autobind\n handleEnter(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleEntering(elem: HTMLElement) {\n elem.style['height'] = `${elem['scrollHeight']}px`;\n }\n\n @autobind\n handleEntered(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleExit(elem: HTMLElement) {\n let offsetHeight = elem['offsetHeight'];\n const height =\n offsetHeight +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-top'), 10) +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-bottom'), 10);\n elem.style['height'] = `${height}px`;\n // trigger browser reflow\n elem.offsetHeight;\n }\n\n @autobind\n handleExiting(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n render() {\n const {\n show,\n children,\n classnames: cx,\n mountOnEnter,\n unmountOnExit\n } = this.props;\n\n return (\n <Transition\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnExit}\n in={show}\n timeout={300}\n onEnter={this.handleEnter}\n onEntering={this.handleEntering}\n onEntered={this.handleEntered}\n onExit={this.handleExit}\n onExiting={this.handleExiting}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.contentDom.offsetWidth;\n }\n return (\n <div\n className={cx('Collapse-contentWrapper', collapseStyles[status])}\n ref={this.contentRef}\n >\n {React.cloneElement(children as any, {\n ...(children as React.ReactElement).props,\n className: cx(\n 'Collapse-content',\n (children as React.ReactElement).props.className\n )\n })}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport default themeable(Collapse);\n"
11
+ "/**\n * @file Collapse\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport Transition, {\n EXITED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {autobind} from '../utils/helper';\nimport {isClickOnInput} from '../utils/helper';\nimport {TranslateFn} from '../locale';\n\nconst collapseStyles: {\n [propName: string]: string;\n} = {\n [EXITED]: 'out',\n [EXITING]: 'out',\n [ENTERING]: 'in'\n};\n\nexport interface CollapseProps {\n key?: string;\n id?: string;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n className?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n headerPosition?: 'top' | 'bottom';\n header?: React.ReactElement;\n body: any;\n bodyClassName?: string;\n disabled?: boolean;\n collapsable?: boolean;\n collapsed?: boolean;\n showArrow?: boolean;\n expandIcon?: React.ReactElement | null;\n headingClassName?: string;\n collapseHeader?: React.ReactElement | null;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';\n onCollapse?: (item: any, collapsed: boolean) => void;\n wrapperComponent?: any;\n headingComponent?: any;\n translate?: TranslateFn;\n propsUpdate?: boolean;\n}\n\nexport interface CollapseState {\n collapsed: boolean;\n}\n\nexport class Collapse extends React.Component<CollapseProps, CollapseState> {\n\n static defaultProps: Partial<CollapseProps> = {\n mountOnEnter: false,\n unmountOnExit: false,\n headerPosition: 'top',\n wrapperComponent: 'div',\n headingComponent: 'div',\n className: '',\n headingClassName: '',\n bodyClassName: '',\n collapsable: true,\n disabled: false,\n showArrow: true,\n propsUpdate: false\n };\n\n state: CollapseState = {\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 static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState) {\n if (nextProps.propsUpdate && nextProps.collapsed !== preState.collapsed) {\n return {\n collapsed: !!nextProps.collapsed\n };\n }\n return null;\n }\n\n toggleCollapsed(e: React.MouseEvent<HTMLElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const props = this.props;\n if (props.disabled || props.collapsable === false) {\n return;\n }\n props.onCollapse && props.onCollapse(props, !this.state.collapsed);\n this.setState({\n collapsed: !this.state.collapsed\n });\n }\n\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n @autobind\n handleEnter(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleEntering(elem: HTMLElement) {\n elem.style['height'] = `${elem['scrollHeight']}px`;\n }\n\n @autobind\n handleEntered(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleExit(elem: HTMLElement) {\n let offsetHeight = elem['offsetHeight'];\n const height =\n offsetHeight +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-top'), 10) +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-bottom'), 10);\n elem.style['height'] = `${height}px`;\n // trigger browser reflow\n elem.offsetHeight;\n }\n\n @autobind\n handleExiting(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n render() {\n const {\n classnames: cx,\n mountOnEnter,\n unmountOnExit,\n classPrefix: ns,\n size,\n wrapperComponent: WrapperComponent,\n headingComponent: HeadingComponent,\n className,\n headingClassName,\n headerPosition,\n collapseHeader,\n header,\n body,\n bodyClassName,\n collapsable,\n translate: __,\n showArrow,\n expandIcon,\n disabled,\n children\n } = this.props;\n\n const finalHeader = this.state.collapsed ? header : collapseHeader || header;\n\n let dom = [\n finalHeader ? (\n <HeadingComponent\n key=\"header\"\n onClick={this.toggleCollapsed}\n className={cx(`Collapse-header`, headingClassName)}\n >\n {showArrow && collapsable\n ? expandIcon\n ? React.cloneElement(expandIcon, {\n ...expandIcon.props,\n className: cx('Collapse-icon-tranform')\n })\n : <span className={cx('Collapse-arrow')} />\n : ''}\n {finalHeader}\n </HeadingComponent>\n ) : null,\n\n <Transition\n key=\"body\"\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnExit}\n in={!this.state.collapsed}\n timeout={300}\n onEnter={this.handleEnter}\n onEntering={this.handleEntering}\n onEntered={this.handleEntered}\n onExit={this.handleExit}\n onExiting={this.handleExiting}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.contentDom.offsetWidth;\n }\n return (\n <div\n className={cx('Collapse-contentWrapper', collapseStyles[status])}\n ref={this.contentRef}\n >\n <div className={cx('Collapse-body', bodyClassName)}>\n <div className={cx('Collapse-content')}>{body || children}</div>\n </div>\n </div>\n );\n }}\n </Transition>\n \n ];\n\n if (headerPosition === 'bottom') {\n dom.reverse();\n }\n\n return (\n <WrapperComponent\n className={cx(\n `Collapse`,\n {\n 'is-active': !this.state.collapsed,\n [`Collapse--${size}`]: size,\n 'Collapse--disabled': disabled || collapsable === false,\n 'Collapse--title-bottom': headerPosition === 'bottom'\n },\n className\n )}\n >\n {dom}\n </WrapperComponent>\n );\n }\n}\n\nexport default themeable(Collapse);\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @file CollapseGroup
3
+ * @description 折叠面板group
4
+ * @author hongyang03
5
+ */
6
+ /// <reference types="hoist-non-react-statics" />
7
+ import React from 'react';
8
+ import { CollapseProps } from '../renderers/Collapse';
9
+ import { SchemaNode } from '../types';
10
+ import { ClassNamesFn } from '../theme';
11
+ export interface CollapseGroupProps {
12
+ defaultActiveKey?: Array<string | number | never> | string | number;
13
+ accordion?: boolean;
14
+ expandIcon?: SchemaNode;
15
+ expandIconPosition?: 'left' | 'right';
16
+ body?: Array<React.ReactElement>;
17
+ className?: string;
18
+ classnames: ClassNamesFn;
19
+ classPrefix: string;
20
+ }
21
+ export interface CollapseGroupState {
22
+ activeKey: Array<string | number | never>;
23
+ }
24
+ declare class CollapseGroup extends React.Component<CollapseGroupProps, CollapseGroupState> {
25
+ static defaultProps: Partial<CollapseGroupProps>;
26
+ constructor(props: CollapseGroupProps);
27
+ collapseChange(item: CollapseProps, collapsed: boolean): void;
28
+ getItems: (children: React.ReactNode) => {} | null | undefined;
29
+ render(): JSX.Element;
30
+ }
31
+ declare const _default: {
32
+ new (props: (Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>): {
33
+ render(): JSX.Element;
34
+ context: any;
35
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
36
+ forceUpdate(callback?: (() => void) | undefined): void;
37
+ readonly props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
38
+ children?: React.ReactNode;
39
+ }>;
40
+ state: Readonly<{}>;
41
+ refs: {
42
+ [key: string]: React.ReactInstance;
43
+ };
44
+ componentDidMount?(): void;
45
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
46
+ componentWillUnmount?(): void;
47
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
48
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
49
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
50
+ componentWillMount?(): void;
51
+ UNSAFE_componentWillMount?(): void;
52
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
53
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
54
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
55
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
56
+ };
57
+ new (props: Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps, context: any): {
58
+ render(): JSX.Element;
59
+ context: any;
60
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
61
+ forceUpdate(callback?: (() => void) | undefined): void;
62
+ readonly props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
63
+ children?: React.ReactNode;
64
+ }>;
65
+ state: Readonly<{}>;
66
+ refs: {
67
+ [key: string]: React.ReactInstance;
68
+ };
69
+ componentDidMount?(): void;
70
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
71
+ componentWillUnmount?(): void;
72
+ componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
73
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
74
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
75
+ componentWillMount?(): void;
76
+ UNSAFE_componentWillMount?(): void;
77
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
78
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
79
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
80
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
81
+ };
82
+ displayName: string;
83
+ contextType: React.Context<string>;
84
+ ComposedComponent: React.ComponentType<typeof CollapseGroup>;
85
+ } & import("hoist-non-react-statics").NonReactStatics<typeof CollapseGroup, {}> & {
86
+ ComposedComponent: typeof CollapseGroup;
87
+ };
88
+ export default _default;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ /**
3
+ * @file CollapseGroup
4
+ * @description 折叠面板group
5
+ * @author hongyang03
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ var tslib_1 = require("tslib");
9
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
10
+ var theme_1 = require("../theme");
11
+ var CollapseGroup = /** @class */ (function (_super) {
12
+ (0, tslib_1.__extends)(CollapseGroup, _super);
13
+ function CollapseGroup(props) {
14
+ var _this = _super.call(this, props) || this;
15
+ _this.getItems = function (children) {
16
+ if (!Array.isArray(children)) {
17
+ return children;
18
+ }
19
+ return children.map(function (child, index) {
20
+ var props = child.props;
21
+ var id = props.schema.key || String(index);
22
+ var collapsed = _this.state.activeKey.indexOf(id) === -1;
23
+ return react_1.default.cloneElement(child, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props), { key: id, id: id, collapsed: collapsed, expandIcon: _this.props.expandIcon, propsUpdate: true, onCollapse: function (item, collapsed) { return _this.collapseChange(item, collapsed); } }));
24
+ });
25
+ };
26
+ // 传入的activeKey会被自动转换为defaultActiveKey
27
+ var activeKey = props.defaultActiveKey;
28
+ if (!Array.isArray(activeKey)) {
29
+ activeKey = activeKey ? [activeKey] : [];
30
+ }
31
+ if (props.accordion) {
32
+ // 手风琴模式下只展开第一个元素
33
+ activeKey = activeKey.length ? [activeKey[0]] : [];
34
+ }
35
+ _this.state = {
36
+ activeKey: activeKey.map(function (key) { return String(key); })
37
+ };
38
+ return _this;
39
+ }
40
+ CollapseGroup.prototype.collapseChange = function (item, collapsed) {
41
+ var activeKey = this.state.activeKey;
42
+ if (collapsed) {
43
+ if (this.props.accordion) {
44
+ activeKey = [];
45
+ }
46
+ else {
47
+ for (var i = 0; i < activeKey.length; i++) {
48
+ if (activeKey[i] === item.id) {
49
+ activeKey.splice(i, 1);
50
+ break;
51
+ }
52
+ }
53
+ }
54
+ }
55
+ else {
56
+ if (this.props.accordion) {
57
+ activeKey = [item.id];
58
+ }
59
+ else {
60
+ activeKey.push(item.id);
61
+ }
62
+ }
63
+ this.setState({
64
+ activeKey: activeKey
65
+ });
66
+ };
67
+ CollapseGroup.prototype.render = function () {
68
+ var _a = this.props, cx = _a.classnames, className = _a.className, expandIconPosition = _a.expandIconPosition, children = _a.children;
69
+ return (react_1.default.createElement("div", { className: cx("CollapseGroup", {
70
+ 'icon-position-right': expandIconPosition === 'right',
71
+ }, className) }, this.getItems(children)));
72
+ };
73
+ CollapseGroup.defaultProps = {
74
+ className: '',
75
+ accordion: false,
76
+ expandIconPosition: 'left'
77
+ };
78
+ return CollapseGroup;
79
+ }(react_1.default.Component));
80
+ exports.default = (0, theme_1.themeable)(CollapseGroup);
81
+ //# sourceMappingURL=./components/CollapseGroup.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "CollapseGroup.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/CollapseGroup.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";AAAA;;;;GAIG;;;AAEH,6DAA0B;AAG1B,kCAAiD;AAiBjD;IAA4B,8CAG3B;IAQC,uBAAY,KAAyB;QAArC,YACE,kBAAM,KAAK,CAAC,SAeb;QA8BD,cAAQ,GAAG,UAAC,QAAyB;YACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC5B,OAAO,QAAQ,CAAC;aACjB;YAED,OAAO,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAyB,EAAE,KAAa;gBAC3D,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACxB,IAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAM,SAAS,GAAG,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE1D,OAAO,eAAK,CAAC,YAAY,CAAC,KAAY,kDACjC,KAAK,KACR,GAAG,EAAE,EAAE,EACP,EAAE,IAAA,EACF,SAAS,WAAA,EACT,UAAU,EAAE,KAAI,CAAC,KAAK,CAAC,UAAU,EACjC,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,UAAC,IAAmB,EAAE,SAAkB,IAAK,OAAA,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,EAApC,CAAoC,IAC7F,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA/DA,sCAAsC;QACtC,IAAI,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C;QACD,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,iBAAiB;YACjB,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD;QAED,KAAI,CAAC,KAAK,GAAG;YACX,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,GAAoB,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC;SAChE,CAAC;;IACJ,CAAC;IAED,sCAAc,GAAd,UAAe,IAAmB,EAAE,SAAkB;QACpD,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QACrC,IAAI,SAAS,EAAE;YACb,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxB,SAAS,GAAG,EAAE,CAAC;aAChB;iBACI;gBACH,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE;wBAC5B,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvB,MAAM;qBACP;iBACF;aACF;SACF;aACI;YACH,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxB,SAAS,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACvB;iBACI;gBACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACzB;SACF;QACD,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,WAAA;SACV,CAAC,CAAC;IACL,CAAC;IAwBD,8BAAM,GAAN;QACQ,IAAA,KAKF,IAAI,CAAC,KAAK,EAJA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,kBAAkB,wBAAA,EAClB,QAAQ,cACI,CAAC;QAEf,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CACX,eAAe,EACf;gBACE,qBAAqB,EAAE,kBAAkB,KAAK,OAAO;aACtD,EACD,SAAS,CACV,IAEA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACpB,CACP,CAAC;IACJ,CAAC;IA/FM,0BAAY,GAAgC;QACjD,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,KAAK;QAChB,kBAAkB,EAAE,MAAM;KAC3B,CAAC;IA4FJ,oBAAC;CAAA,AArGD,CAA4B,eAAK,CAAC,SAAS,GAqG1C;AAED,kBAAe,IAAA,iBAAS,EAAC,aAAa,CAAC,CAAC",
10
+ "sourcesContent": [
11
+ "/**\n * @file CollapseGroup\n * @description 折叠面板group\n * @author hongyang03\n */\n\nimport React from 'react';\nimport {CollapseProps} from '../renderers/Collapse';\nimport {SchemaNode} from '../types';\nimport {ClassNamesFn, themeable} from '../theme';\n\nexport interface CollapseGroupProps {\n defaultActiveKey?: Array<string | number | never> | string | number;\n accordion?: boolean;\n expandIcon?: SchemaNode;\n expandIconPosition?: 'left' | 'right';\n body?: Array<React.ReactElement>;\n className?: string;\n classnames: ClassNamesFn;\n classPrefix: string;\n}\n\nexport interface CollapseGroupState {\n activeKey: Array<string | number | never>;\n}\n\nclass CollapseGroup extends React.Component<\n CollapseGroupProps,\n CollapseGroupState\n> {\n\n static defaultProps: Partial<CollapseGroupProps> = {\n className: '',\n accordion: false,\n expandIconPosition: 'left'\n };\n\n constructor(props: CollapseGroupProps) {\n super(props);\n\n // 传入的activeKey会被自动转换为defaultActiveKey\n let activeKey = props.defaultActiveKey;\n if (!Array.isArray(activeKey)) {\n activeKey = activeKey ? [activeKey] : [];\n }\n if (props.accordion) {\n // 手风琴模式下只展开第一个元素\n activeKey = activeKey.length ? [activeKey[0]] : [];\n }\n\n this.state = {\n activeKey: activeKey.map((key: number | string) => String(key))\n };\n }\n\n collapseChange(item: CollapseProps, collapsed: boolean) {\n let activeKey = this.state.activeKey;\n if (collapsed) {\n if (this.props.accordion) {\n activeKey = [];\n }\n else {\n for(let i = 0; i < activeKey.length; i++) {\n if (activeKey[i] === item.id) {\n activeKey.splice(i, 1);\n break;\n }\n }\n }\n }\n else {\n if (this.props.accordion) {\n activeKey = [item.id];\n }\n else {\n activeKey.push(item.id);\n }\n }\n this.setState({\n activeKey\n });\n }\n\n getItems = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children.map((child: React.ReactElement, index: number) => {\n let props = child.props;\n const id = props.schema.key || String(index);\n const collapsed = this.state.activeKey.indexOf(id) === -1;\n\n return React.cloneElement(child as any, {\n ...props,\n key: id,\n id,\n collapsed,\n expandIcon: this.props.expandIcon,\n propsUpdate: true,\n onCollapse: (item: CollapseProps, collapsed: boolean) => this.collapseChange(item, collapsed)\n });\n });\n };\n\n render() {\n const {\n classnames: cx,\n className,\n expandIconPosition,\n children\n } = this.props;\n\n return (\n <div\n className={cx(\n `CollapseGroup`,\n {\n 'icon-position-right': expandIconPosition === 'right',\n },\n className\n )}\n >\n {this.getItems(children)}\n </div>\n );\n }\n}\n\nexport default themeable(CollapseGroup);\n"
12
+ ]
13
+ }