amis 1.4.2-beta.13 → 1.4.2-beta.18

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 (190) hide show
  1. package/lib/Schema.d.ts +4 -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/AssociatedSelection.js +2 -2
  7. package/lib/components/AssociatedSelection.js.map +2 -2
  8. package/lib/components/Button.js +1 -1
  9. package/lib/components/Button.js.map +2 -2
  10. package/lib/components/Checkbox.d.ts +20 -20
  11. package/lib/components/Collapse.d.ts +51 -23
  12. package/lib/components/Collapse.js +70 -11
  13. package/lib/components/Collapse.js.map +2 -2
  14. package/lib/components/CollapseGroup.d.ts +88 -0
  15. package/lib/components/CollapseGroup.js +81 -0
  16. package/lib/components/CollapseGroup.js.map +13 -0
  17. package/lib/components/ColorPicker.d.ts +5 -1
  18. package/lib/components/ColorPicker.js +17 -4
  19. package/lib/components/ColorPicker.js.map +2 -2
  20. package/lib/components/Editor.d.ts +84 -84
  21. package/lib/components/GridNav.d.ts +52 -0
  22. package/lib/components/GridNav.js +123 -0
  23. package/lib/components/GridNav.js.map +13 -0
  24. package/lib/components/ListGroup.d.ts +21 -21
  25. package/lib/components/Overlay.js +5 -0
  26. package/lib/components/Overlay.js.map +2 -2
  27. package/lib/components/PopOver.d.ts +1 -0
  28. package/lib/components/PopOver.js +12 -1
  29. package/lib/components/PopOver.js.map +2 -2
  30. package/lib/components/Tabs.d.ts +20 -20
  31. package/lib/components/TabsTransfer.d.ts +84 -84
  32. package/lib/components/Toast.d.ts +90 -87
  33. package/lib/components/Toast.js +15 -5
  34. package/lib/components/Toast.js.map +2 -2
  35. package/lib/components/Transfer.d.ts +84 -84
  36. package/lib/components/TransferDropDown.d.ts +84 -84
  37. package/lib/components/Tree.d.ts +115 -84
  38. package/lib/components/Tree.js +183 -30
  39. package/lib/components/Tree.js.map +2 -2
  40. package/lib/components/condition-builder/Field.js +2 -3
  41. package/lib/components/condition-builder/Field.js.map +2 -2
  42. package/lib/components/icons.js +8 -0
  43. package/lib/components/icons.js.map +2 -2
  44. package/lib/envOverwrite.d.ts +1 -1
  45. package/lib/envOverwrite.js +24 -9
  46. package/lib/envOverwrite.js.map +2 -2
  47. package/lib/factory.d.ts +11 -1
  48. package/lib/factory.js +31 -4
  49. package/lib/factory.js.map +2 -2
  50. package/lib/icons/alert-danger.js +7 -0
  51. package/lib/icons/alert-info.js +7 -0
  52. package/lib/icons/alert-success.js +7 -0
  53. package/lib/icons/alert-warning.js +7 -0
  54. package/lib/icons/drag-bar.js +10 -3
  55. package/lib/index.d.ts +2 -0
  56. package/lib/index.js +3 -1
  57. package/lib/index.js.map +2 -2
  58. package/lib/renderers/Alert.d.ts +21 -1
  59. package/lib/renderers/Alert.js.map +2 -2
  60. package/lib/renderers/Card.d.ts +1 -0
  61. package/lib/renderers/Card.js +7 -2
  62. package/lib/renderers/Card.js.map +2 -2
  63. package/lib/renderers/Collapse.d.ts +25 -20
  64. package/lib/renderers/Collapse.js +10 -73
  65. package/lib/renderers/Collapse.js.map +2 -2
  66. package/lib/renderers/CollapseGroup.d.ts +42 -0
  67. package/lib/renderers/CollapseGroup.js +33 -0
  68. package/lib/renderers/CollapseGroup.js.map +13 -0
  69. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  70. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  71. package/lib/renderers/Form/InputCity.d.ts +84 -84
  72. package/lib/renderers/Form/InputColor.d.ts +2 -1
  73. package/lib/renderers/Form/InputColor.js +1 -1
  74. package/lib/renderers/Form/InputColor.js.map +2 -2
  75. package/lib/renderers/Form/Item.js +2 -1
  76. package/lib/renderers/Form/Item.js.map +2 -2
  77. package/lib/renderers/GridNav.d.ts +99 -0
  78. package/lib/renderers/GridNav.js +82 -0
  79. package/lib/renderers/GridNav.js.map +13 -0
  80. package/lib/renderers/Page.d.ts +18 -0
  81. package/lib/renderers/Page.js +53 -9
  82. package/lib/renderers/Page.js.map +2 -2
  83. package/lib/store/formItem.js +44 -4
  84. package/lib/store/formItem.js.map +2 -2
  85. package/lib/themes/ang-ie11.css +324 -49
  86. package/lib/themes/ang.css +324 -49
  87. package/lib/themes/ang.css.map +1 -1
  88. package/lib/themes/antd-ie11.css +324 -49
  89. package/lib/themes/antd.css +324 -49
  90. package/lib/themes/antd.css.map +1 -1
  91. package/lib/themes/cxd-ie11.css +331 -58
  92. package/lib/themes/cxd.css +331 -58
  93. package/lib/themes/cxd.css.map +1 -1
  94. package/lib/themes/dark-ie11.css +324 -49
  95. package/lib/themes/dark.css +324 -49
  96. package/lib/themes/dark.css.map +1 -1
  97. package/lib/themes/default.css +331 -58
  98. package/lib/themes/default.css.map +1 -1
  99. package/lib/types.d.ts +1 -1
  100. package/lib/types.js.map +1 -1
  101. package/lib/utils/api.d.ts +1 -0
  102. package/lib/utils/api.js +77 -6
  103. package/lib/utils/api.js.map +2 -2
  104. package/lib/utils/helper.d.ts +8 -0
  105. package/lib/utils/helper.js +33 -2
  106. package/lib/utils/helper.js.map +2 -2
  107. package/lib/utils/tpl-builtin.js +5 -0
  108. package/lib/utils/tpl-builtin.js.map +2 -2
  109. package/package.json +1 -1
  110. package/schema.json +365 -49
  111. package/scss/_properties.scss +2 -1
  112. package/scss/components/_alert.scss +28 -5
  113. package/scss/components/_anchor-nav.scss +1 -0
  114. package/scss/components/_button.scss +5 -0
  115. package/scss/components/_card.scss +1 -1
  116. package/scss/components/_collapse-group.scss +15 -0
  117. package/scss/components/_collapse.scss +33 -23
  118. package/scss/components/_grid-nav.scss +128 -0
  119. package/scss/components/_nav.scss +2 -7
  120. package/scss/components/_page.scss +35 -2
  121. package/scss/components/_spinner.scss +5 -4
  122. package/scss/components/_table.scss +6 -0
  123. package/scss/components/_toast.scss +41 -11
  124. package/scss/components/form/_color.scss +32 -3
  125. package/scss/components/form/_combo.scss +4 -0
  126. package/scss/components/form/_fieldset.scss +1 -0
  127. package/scss/components/form/_transfer.scss +1 -0
  128. package/scss/components/form/_tree.scss +42 -0
  129. package/scss/themes/_common.scss +2 -0
  130. package/scss/themes/_cxd-variables.scss +9 -4
  131. package/scss/themes/cxd.scss +1 -7
  132. package/sdk/ang-ie11.css +375 -53
  133. package/sdk/ang.css +377 -53
  134. package/sdk/antd-ie11.css +375 -53
  135. package/sdk/antd.css +377 -53
  136. package/sdk/charts.js +13 -13
  137. package/sdk/color-picker.js +69 -65
  138. package/sdk/cropperjs.js +2 -2
  139. package/sdk/cxd-ie11.css +379 -60
  140. package/sdk/cxd.css +384 -62
  141. package/sdk/dark-ie11.css +375 -53
  142. package/sdk/dark.css +377 -53
  143. package/sdk/exceljs.js +1 -1
  144. package/sdk/markdown.js +69 -69
  145. package/sdk/papaparse.js +1 -1
  146. package/sdk/renderers/Form/CityDB.js +1 -1
  147. package/sdk/rest.js +16 -20
  148. package/sdk/rich-text.js +62 -62
  149. package/sdk/sdk-ie11.css +379 -60
  150. package/sdk/sdk.css +384 -62
  151. package/sdk/sdk.js +1215 -1173
  152. package/sdk/thirds/hls.js/hls.js +1 -1
  153. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  154. package/sdk/tinymce.js +57 -57
  155. package/src/Schema.ts +5 -1
  156. package/src/components/Alert2.tsx +32 -4
  157. package/src/components/AssociatedSelection.tsx +3 -1
  158. package/src/components/Button.tsx +1 -0
  159. package/src/components/Collapse.tsx +139 -20
  160. package/src/components/CollapseGroup.tsx +130 -0
  161. package/src/components/ColorPicker.tsx +32 -10
  162. package/src/components/GridNav.tsx +233 -0
  163. package/src/components/Overlay.tsx +6 -0
  164. package/src/components/PopOver.tsx +15 -1
  165. package/src/components/Toast.tsx +48 -21
  166. package/src/components/Tree.tsx +194 -8
  167. package/src/components/condition-builder/Field.tsx +3 -1
  168. package/src/components/icons.tsx +8 -0
  169. package/src/envOverwrite.ts +20 -7
  170. package/src/factory.tsx +52 -6
  171. package/src/icons/alert-danger.svg +1 -0
  172. package/src/icons/alert-info.svg +1 -0
  173. package/src/icons/alert-success.svg +1 -0
  174. package/src/icons/alert-warning.svg +1 -0
  175. package/src/icons/drag-bar.svg +12 -6
  176. package/src/index.tsx +2 -0
  177. package/src/renderers/Alert.tsx +31 -1
  178. package/src/renderers/Card.tsx +13 -2
  179. package/src/renderers/Collapse.tsx +70 -117
  180. package/src/renderers/CollapseGroup.tsx +80 -0
  181. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  182. package/src/renderers/Form/InputColor.tsx +4 -2
  183. package/src/renderers/GridNav.tsx +204 -0
  184. package/src/renderers/Page.tsx +62 -1
  185. package/src/store/formItem.ts +94 -2
  186. package/src/types.ts +1 -1
  187. package/src/utils/api.ts +93 -6
  188. package/src/utils/helper.ts +33 -0
  189. package/src/utils/tpl-builtin.ts +6 -0
  190. package/tsconfig-for-declaration.json +1 -1
@@ -31,12 +31,12 @@ export declare class Checkbox extends React.Component<CheckboxProps, any> {
31
31
  render(): JSX.Element;
32
32
  }
33
33
  declare const _default: {
34
- new (props: (Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>): {
34
+ new (props: (Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>): {
35
35
  render(): JSX.Element;
36
36
  context: any;
37
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
37
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
38
38
  forceUpdate(callback?: (() => void) | undefined): void;
39
- readonly props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
39
+ readonly props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
40
40
  children?: React.ReactNode;
41
41
  }>;
42
42
  state: Readonly<{}>;
@@ -44,24 +44,24 @@ declare const _default: {
44
44
  [key: string]: React.ReactInstance;
45
45
  };
46
46
  componentDidMount?(): void;
47
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
47
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
48
48
  componentWillUnmount?(): void;
49
49
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
50
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
51
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
50
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
51
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
52
52
  componentWillMount?(): void;
53
53
  UNSAFE_componentWillMount?(): void;
54
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
55
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
56
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
57
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
54
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
55
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
56
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
57
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
58
58
  };
59
- new (props: Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps, context: any): {
59
+ new (props: Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps, context: any): {
60
60
  render(): JSX.Element;
61
61
  context: any;
62
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
62
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
63
63
  forceUpdate(callback?: (() => void) | undefined): void;
64
- readonly props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
64
+ readonly props: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
65
65
  children?: React.ReactNode;
66
66
  }>;
67
67
  state: Readonly<{}>;
@@ -69,17 +69,17 @@ declare const _default: {
69
69
  [key: string]: React.ReactInstance;
70
70
  };
71
71
  componentDidMount?(): void;
72
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
72
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
73
73
  componentWillUnmount?(): void;
74
74
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
75
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
76
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
75
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
76
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
77
77
  componentWillMount?(): void;
78
78
  UNSAFE_componentWillMount?(): void;
79
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
80
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
81
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
82
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "disabled" | "checked" | "name" | "size" | "inline" | "description" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
79
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
80
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
81
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
82
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "label" | "value" | "description" | "disabled" | "checked" | "name" | "size" | "inline" | "onChange" | "readOnly" | "labelClassName" | "partial"> & Partial<Pick<Omit<CheckboxProps, keyof import("../theme").ThemeProps>, "type" | "trueValue" | "falseValue">> & Partial<Pick<Pick<CheckboxProps, "type" | "trueValue" | "falseValue">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
83
83
  };
84
84
  displayName: string;
85
85
  contextType: React.Context<string>;
@@ -6,16 +6,44 @@
6
6
  /// <reference types="hoist-non-react-statics" />
7
7
  import React from 'react';
8
8
  import { ClassNamesFn } from '../theme';
9
+ import { TranslateFn } from '../locale';
9
10
  export interface CollapseProps {
10
- show?: boolean;
11
+ key?: string;
12
+ id?: string;
11
13
  mountOnEnter?: boolean;
12
14
  unmountOnExit?: boolean;
13
15
  className?: string;
14
16
  classPrefix: string;
15
17
  classnames: ClassNamesFn;
18
+ headerPosition?: 'top' | 'bottom';
19
+ header?: React.ReactElement;
20
+ body: any;
21
+ bodyClassName?: string;
22
+ disabled?: boolean;
23
+ collapsable?: boolean;
24
+ collapsed?: boolean;
25
+ showArrow?: boolean;
26
+ expandIcon?: React.ReactElement | null;
27
+ headingClassName?: string;
28
+ collapseHeader?: React.ReactElement | null;
29
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';
30
+ onCollapse?: (item: any, collapsed: boolean) => void;
31
+ wrapperComponent?: any;
32
+ headingComponent?: any;
33
+ translate?: TranslateFn;
34
+ propsUpdate?: boolean;
16
35
  }
17
- export declare class Collapse extends React.Component<CollapseProps, any> {
18
- static defaultProps: Pick<CollapseProps, 'show' | 'mountOnEnter' | 'unmountOnExit'>;
36
+ export interface CollapseState {
37
+ collapsed: boolean;
38
+ }
39
+ export declare class Collapse extends React.Component<CollapseProps, CollapseState> {
40
+ static defaultProps: Partial<CollapseProps>;
41
+ state: CollapseState;
42
+ constructor(props: CollapseProps);
43
+ static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState): {
44
+ collapsed: boolean;
45
+ } | null;
46
+ toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
19
47
  contentDom: any;
20
48
  contentRef: (ref: any) => any;
21
49
  handleEnter(elem: HTMLElement): void;
@@ -26,12 +54,12 @@ export declare class Collapse extends React.Component<CollapseProps, any> {
26
54
  render(): JSX.Element;
27
55
  }
28
56
  declare const _default: {
29
- new (props: (Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>): {
57
+ new (props: (Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>): {
30
58
  render(): JSX.Element;
31
59
  context: any;
32
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
60
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
33
61
  forceUpdate(callback?: (() => void) | undefined): void;
34
- readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
62
+ readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
35
63
  children?: React.ReactNode;
36
64
  }>;
37
65
  state: Readonly<{}>;
@@ -39,24 +67,24 @@ declare const _default: {
39
67
  [key: string]: React.ReactInstance;
40
68
  };
41
69
  componentDidMount?(): void;
42
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
70
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
43
71
  componentWillUnmount?(): void;
44
72
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
45
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
46
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
73
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
74
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
47
75
  componentWillMount?(): void;
48
76
  UNSAFE_componentWillMount?(): void;
49
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
50
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
51
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
52
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
77
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
78
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
79
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
80
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
53
81
  };
54
- new (props: Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps, context: any): {
82
+ new (props: Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps, context: any): {
55
83
  render(): JSX.Element;
56
84
  context: any;
57
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
85
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
58
86
  forceUpdate(callback?: (() => void) | undefined): void;
59
- readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
87
+ readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
60
88
  children?: React.ReactNode;
61
89
  }>;
62
90
  state: Readonly<{}>;
@@ -64,17 +92,17 @@ declare const _default: {
64
92
  [key: string]: React.ReactInstance;
65
93
  };
66
94
  componentDidMount?(): void;
67
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
95
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
68
96
  componentWillUnmount?(): void;
69
97
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
70
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
71
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
98
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
99
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
72
100
  componentWillMount?(): void;
73
101
  UNSAFE_componentWillMount?(): void;
74
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
75
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
76
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
77
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "show" | "mountOnEnter" | "unmountOnExit">> & Partial<Pick<Pick<CollapseProps, "show" | "mountOnEnter" | "unmountOnExit">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
102
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
103
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
104
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
105
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
78
106
  };
79
107
  displayName: string;
80
108
  contextType: React.Context<string>;
@@ -12,6 +12,7 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
12
12
  var theme_1 = require("../theme");
13
13
  var Transition_1 = tslib_1.__importStar(require("react-transition-group/Transition"));
14
14
  var helper_1 = require("../utils/helper");
15
+ var helper_2 = require("../utils/helper");
15
16
  var collapseStyles = (_a = {},
16
17
  _a[Transition_1.EXITED] = 'out',
17
18
  _a[Transition_1.EXITING] = 'out',
@@ -19,11 +20,37 @@ var collapseStyles = (_a = {},
19
20
  _a);
20
21
  var Collapse = /** @class */ (function (_super) {
21
22
  (0, tslib_1.__extends)(Collapse, _super);
22
- function Collapse() {
23
- var _this = _super !== null && _super.apply(this, arguments) || this;
23
+ function Collapse(props) {
24
+ var _this = _super.call(this, props) || this;
25
+ _this.state = {
26
+ collapsed: false
27
+ };
24
28
  _this.contentRef = function (ref) { return (_this.contentDom = ref); };
29
+ _this.toggleCollapsed = _this.toggleCollapsed.bind(_this);
30
+ _this.state.collapsed = !!props.collapsed;
25
31
  return _this;
26
32
  }
33
+ Collapse.getDerivedStateFromProps = function (nextProps, preState) {
34
+ if (nextProps.propsUpdate && nextProps.collapsed !== preState.collapsed) {
35
+ return {
36
+ collapsed: !!nextProps.collapsed
37
+ };
38
+ }
39
+ return null;
40
+ };
41
+ Collapse.prototype.toggleCollapsed = function (e) {
42
+ if ((0, helper_2.isClickOnInput)(e)) {
43
+ return;
44
+ }
45
+ var props = this.props;
46
+ if (props.disabled || props.collapsable === false) {
47
+ return;
48
+ }
49
+ props.onCollapse && props.onCollapse(props, !this.state.collapsed);
50
+ this.setState({
51
+ collapsed: !this.state.collapsed
52
+ });
53
+ };
27
54
  Collapse.prototype.handleEnter = function (elem) {
28
55
  elem.style['height'] = '';
29
56
  };
@@ -46,20 +73,52 @@ var Collapse = /** @class */ (function (_super) {
46
73
  elem.style['height'] = '';
47
74
  };
48
75
  Collapse.prototype.render = function () {
76
+ var _a;
49
77
  var _this = this;
50
- var _a = this.props, show = _a.show, children = _a.children, cx = _a.classnames, mountOnEnter = _a.mountOnEnter, unmountOnExit = _a.unmountOnExit;
51
- return (react_1.default.createElement(Transition_1.default, { mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, in: show, timeout: 300, onEnter: this.handleEnter, onEntering: this.handleEntering, onEntered: this.handleEntered, onExit: this.handleExit, onExiting: this.handleExiting }, function (status) {
52
- if (status === Transition_1.ENTERING) {
53
- _this.contentDom.offsetWidth;
54
- }
55
- return (react_1.default.createElement("div", { className: cx('Collapse-contentWrapper', collapseStyles[status]), ref: _this.contentRef }, react_1.default.cloneElement(children, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, children.props), { className: cx('Collapse-content', children.props.className) }))));
56
- }));
78
+ var _b = this.props, cx = _b.classnames, mountOnEnter = _b.mountOnEnter, unmountOnExit = _b.unmountOnExit, ns = _b.classPrefix, size = _b.size, WrapperComponent = _b.wrapperComponent, HeadingComponent = _b.headingComponent, className = _b.className, headingClassName = _b.headingClassName, headerPosition = _b.headerPosition, collapseHeader = _b.collapseHeader, header = _b.header, body = _b.body, bodyClassName = _b.bodyClassName, collapsable = _b.collapsable, __ = _b.translate, showArrow = _b.showArrow, expandIcon = _b.expandIcon, disabled = _b.disabled, children = _b.children;
79
+ var finalHeader = this.state.collapsed ? header : collapseHeader || header;
80
+ var dom = [
81
+ finalHeader ? (react_1.default.createElement(HeadingComponent, { key: "header", onClick: this.toggleCollapsed, className: cx("Collapse-header", headingClassName) },
82
+ showArrow && collapsable
83
+ ? expandIcon
84
+ ? react_1.default.cloneElement(expandIcon, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, expandIcon.props), { className: cx('Collapse-icon-tranform') }))
85
+ : react_1.default.createElement("span", { className: cx('Collapse-arrow') })
86
+ : '',
87
+ finalHeader)) : null,
88
+ react_1.default.createElement(Transition_1.default, { key: "body", mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, in: !this.state.collapsed, timeout: 300, onEnter: this.handleEnter, onEntering: this.handleEntering, onEntered: this.handleEntered, onExit: this.handleExit, onExiting: this.handleExiting }, function (status) {
89
+ if (status === Transition_1.ENTERING) {
90
+ _this.contentDom.offsetWidth;
91
+ }
92
+ return (react_1.default.createElement("div", { className: cx('Collapse-contentWrapper', collapseStyles[status]), ref: _this.contentRef },
93
+ react_1.default.createElement("div", { className: cx('Collapse-body', bodyClassName) },
94
+ react_1.default.createElement("div", { className: cx('Collapse-content') }, body || children))));
95
+ })
96
+ ];
97
+ if (headerPosition === 'bottom') {
98
+ dom.reverse();
99
+ }
100
+ return (react_1.default.createElement(WrapperComponent, { className: cx("Collapse", (_a = {
101
+ 'is-active': !this.state.collapsed
102
+ },
103
+ _a["Collapse--" + size] = size,
104
+ _a['Collapse--disabled'] = disabled || collapsable === false,
105
+ _a['Collapse--title-bottom'] = headerPosition === 'bottom',
106
+ _a), className) }, dom));
57
107
  };
58
108
  var _b, _c, _d, _e, _f;
59
109
  Collapse.defaultProps = {
60
- show: false,
61
110
  mountOnEnter: false,
62
- unmountOnExit: false
111
+ unmountOnExit: false,
112
+ headerPosition: 'top',
113
+ wrapperComponent: 'div',
114
+ headingComponent: 'div',
115
+ className: '',
116
+ headingClassName: '',
117
+ bodyClassName: '',
118
+ collapsable: true,
119
+ disabled: false,
120
+ showArrow: true,
121
+ propsUpdate: false
63
122
  };
64
123
  (0, tslib_1.__decorate)([
65
124
  helper_1.autobind,
@@ -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;