amis 1.5.5 → 1.5.6

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 (220) hide show
  1. package/lib/Root.js +1 -1
  2. package/lib/Root.js.map +2 -2
  3. package/lib/Schema.d.ts +1 -1
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/SchemaRenderer.js +4 -4
  6. package/lib/SchemaRenderer.js.map +2 -2
  7. package/lib/components/AsideNav.d.ts +1 -1
  8. package/lib/components/AsideNav.js.map +1 -1
  9. package/lib/components/Card.d.ts +20 -20
  10. package/lib/components/Card.js +1 -1
  11. package/lib/components/Card.js.map +2 -2
  12. package/lib/components/CodeMirror.d.ts +26 -0
  13. package/lib/components/CodeMirror.js +104 -0
  14. package/lib/components/CodeMirror.js.map +13 -0
  15. package/lib/components/Collapse.d.ts +22 -21
  16. package/lib/components/Collapse.js +5 -7
  17. package/lib/components/Collapse.js.map +2 -2
  18. package/lib/components/CollapseGroup.d.ts +20 -20
  19. package/lib/components/CollapseGroup.js +5 -3
  20. package/lib/components/CollapseGroup.js.map +2 -2
  21. package/lib/components/ColorPicker.d.ts +85 -84
  22. package/lib/components/ColorPicker.js +15 -3
  23. package/lib/components/ColorPicker.js.map +2 -2
  24. package/lib/components/DatePicker.d.ts +84 -84
  25. package/lib/components/DatePicker.js +7 -3
  26. package/lib/components/DatePicker.js.map +2 -2
  27. package/lib/components/DateRangePicker.d.ts +85 -84
  28. package/lib/components/DateRangePicker.js +5 -3
  29. package/lib/components/DateRangePicker.js.map +2 -2
  30. package/lib/components/LocationPicker.d.ts +84 -84
  31. package/lib/components/MonthRangePicker.d.ts +85 -84
  32. package/lib/components/MonthRangePicker.js +5 -3
  33. package/lib/components/MonthRangePicker.js.map +2 -2
  34. package/lib/components/PickerContainer.d.ts +2 -1
  35. package/lib/components/PickerContainer.js +3 -3
  36. package/lib/components/PickerContainer.js.map +2 -2
  37. package/lib/components/PopUp.d.ts +93 -0
  38. package/lib/components/PopUp.js +58 -0
  39. package/lib/components/PopUp.js.map +13 -0
  40. package/lib/components/Rating.d.ts +203 -73
  41. package/lib/components/Rating.js +147 -31
  42. package/lib/components/Rating.js.map +2 -2
  43. package/lib/components/Select.d.ts +237 -237
  44. package/lib/components/Steps.d.ts +1 -0
  45. package/lib/components/Steps.js +5 -3
  46. package/lib/components/Steps.js.map +2 -2
  47. package/lib/components/Tabs.d.ts +20 -20
  48. package/lib/components/TabsTransferPicker.js +1 -1
  49. package/lib/components/TabsTransferPicker.js.map +2 -2
  50. package/lib/components/TransferPicker.d.ts +0 -1
  51. package/lib/components/TransferPicker.js +2 -15
  52. package/lib/components/TransferPicker.js.map +2 -2
  53. package/lib/components/formula/Editor.d.ts +560 -0
  54. package/lib/components/formula/Editor.js +186 -0
  55. package/lib/components/formula/Editor.js.map +13 -0
  56. package/lib/components/formula/FuncList.d.ts +67 -0
  57. package/lib/components/formula/FuncList.js +35 -0
  58. package/lib/components/formula/FuncList.js.map +13 -0
  59. package/lib/components/formula/Picker.d.ts +493 -0
  60. package/lib/components/formula/Picker.js +48 -0
  61. package/lib/components/formula/Picker.js.map +13 -0
  62. package/lib/components/formula/VariableList.d.ts +9 -0
  63. package/lib/components/formula/VariableList.js +15 -0
  64. package/lib/components/formula/VariableList.js.map +13 -0
  65. package/lib/components/formula/plugin.d.ts +18 -0
  66. package/lib/components/formula/plugin.js +136 -0
  67. package/lib/components/formula/plugin.js.map +13 -0
  68. package/lib/components/icons.js +2 -0
  69. package/lib/components/icons.js.map +2 -2
  70. package/lib/components/index.d.ts +2 -1
  71. package/lib/components/index.js +4 -2
  72. package/lib/components/index.js.map +2 -2
  73. package/lib/helper.css +57 -57
  74. package/lib/helper.css.map +1 -1
  75. package/lib/icons/star.js +12 -0
  76. package/lib/index.d.ts +1 -0
  77. package/lib/index.js +2 -1
  78. package/lib/index.js.map +2 -2
  79. package/lib/renderers/Collapse.js +8 -2
  80. package/lib/renderers/Collapse.js.map +2 -2
  81. package/lib/renderers/CollapseGroup.js.map +2 -2
  82. package/lib/renderers/Form/InputCity.d.ts +84 -84
  83. package/lib/renderers/Form/InputColor.d.ts +84 -84
  84. package/lib/renderers/Form/InputColor.js +2 -2
  85. package/lib/renderers/Form/InputColor.js.map +2 -2
  86. package/lib/renderers/Form/InputDate.js +2 -2
  87. package/lib/renderers/Form/InputDate.js.map +2 -2
  88. package/lib/renderers/Form/InputDateRange.js +2 -2
  89. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  90. package/lib/renderers/Form/InputFile.js +1 -1
  91. package/lib/renderers/Form/InputFile.js.map +2 -2
  92. package/lib/renderers/Form/InputFormula.d.ts +35 -0
  93. package/lib/renderers/Form/InputFormula.js +25 -0
  94. package/lib/renderers/Form/InputFormula.js.map +13 -0
  95. package/lib/renderers/Form/InputImage.js +1 -1
  96. package/lib/renderers/Form/InputImage.js.map +2 -2
  97. package/lib/renderers/Form/InputMonthRange.js +2 -2
  98. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  99. package/lib/renderers/Form/InputQuarterRange.js +2 -2
  100. package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
  101. package/lib/renderers/Form/InputRating.d.ts +37 -0
  102. package/lib/renderers/Form/InputRating.js +6 -2
  103. package/lib/renderers/Form/InputRating.js.map +2 -2
  104. package/lib/renderers/Form/InputYearRange.js +2 -2
  105. package/lib/renderers/Form/InputYearRange.js.map +2 -2
  106. package/lib/renderers/Form/TreeSelect.d.ts +1 -0
  107. package/lib/renderers/Form/TreeSelect.js +11 -8
  108. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  109. package/lib/renderers/Json.js +7 -0
  110. package/lib/renderers/Json.js.map +2 -2
  111. package/lib/renderers/Steps.js +2 -2
  112. package/lib/renderers/Steps.js.map +2 -2
  113. package/lib/store/formItem.js +11 -1
  114. package/lib/store/formItem.js.map +2 -2
  115. package/lib/themes/ang-ie11.css +305 -10
  116. package/lib/themes/ang.css +305 -10
  117. package/lib/themes/ang.css.map +1 -1
  118. package/lib/themes/antd-ie11.css +305 -10
  119. package/lib/themes/antd.css +305 -10
  120. package/lib/themes/antd.css.map +1 -1
  121. package/lib/themes/cxd-ie11.css +306 -10
  122. package/lib/themes/cxd.css +306 -10
  123. package/lib/themes/cxd.css.map +1 -1
  124. package/lib/themes/dark-ie11.css +305 -10
  125. package/lib/themes/dark.css +305 -10
  126. package/lib/themes/dark.css.map +1 -1
  127. package/lib/themes/default.css +306 -10
  128. package/lib/themes/default.css.map +1 -1
  129. package/lib/utils/api.js +2 -2
  130. package/lib/utils/api.js.map +2 -2
  131. package/lib/utils/helper.js +2 -7
  132. package/lib/utils/helper.js.map +2 -2
  133. package/package.json +5 -3
  134. package/schema.json +59 -7
  135. package/scss/_properties.scss +3 -1
  136. package/scss/_variables.scss +1 -1
  137. package/scss/components/_formula.scss +122 -0
  138. package/scss/components/_popup.scss +123 -0
  139. package/scss/components/_steps.scss +60 -0
  140. package/scss/components/form/_color.scss +4 -0
  141. package/scss/components/form/_date-range.scss +4 -0
  142. package/scss/components/form/_date.scss +3 -0
  143. package/scss/components/form/_rating.scss +60 -21
  144. package/scss/components/form/_tree-select.scss +4 -0
  145. package/scss/helper/background/_background-color.scss +1 -1
  146. package/scss/helper/border/_border-color.scss +1 -1
  147. package/scss/helper/typography/_text-color.scss +1 -1
  148. package/scss/themes/_common.scss +2 -0
  149. package/scss/themes/_cxd-variables.scss +2 -0
  150. package/sdk/ang-ie11.css +922 -8
  151. package/sdk/ang.css +926 -10
  152. package/sdk/antd-ie11.css +922 -8
  153. package/sdk/antd.css +926 -10
  154. package/sdk/charts.js +17 -17
  155. package/sdk/codemirror.js +14 -0
  156. package/sdk/color-picker.js +65 -69
  157. package/sdk/cropperjs.js +3 -3
  158. package/sdk/cxd-ie11.css +922 -8
  159. package/sdk/cxd.css +927 -10
  160. package/sdk/dark-ie11.css +922 -8
  161. package/sdk/dark.css +926 -10
  162. package/sdk/exceljs.js +1 -1
  163. package/sdk/helper.css +57 -57
  164. package/sdk/helper.css.map +1 -1
  165. package/sdk/markdown.js +69 -69
  166. package/sdk/papaparse.js +1 -1
  167. package/sdk/renderers/Form/CityDB.js +1 -1
  168. package/sdk/rest.js +20 -16
  169. package/sdk/rich-text.js +62 -62
  170. package/sdk/sdk-ie11.css +922 -8
  171. package/sdk/sdk.css +927 -10
  172. package/sdk/sdk.js +1345 -1235
  173. package/sdk/thirds/hls.js/hls.js +18 -18
  174. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  175. package/sdk/tinymce.js +57 -57
  176. package/src/Root.tsx +1 -0
  177. package/src/Schema.ts +1 -0
  178. package/src/SchemaRenderer.tsx +4 -0
  179. package/src/components/AsideNav.tsx +1 -1
  180. package/src/components/Card.tsx +2 -2
  181. package/src/components/CodeMirror.tsx +99 -0
  182. package/src/components/Collapse.tsx +22 -14
  183. package/src/components/CollapseGroup.tsx +9 -11
  184. package/src/components/ColorPicker.tsx +45 -3
  185. package/src/components/DatePicker.tsx +33 -3
  186. package/src/components/DateRangePicker.tsx +17 -3
  187. package/src/components/MonthRangePicker.tsx +18 -4
  188. package/src/components/PickerContainer.tsx +10 -6
  189. package/src/components/PopUp.tsx +133 -0
  190. package/src/components/Rating.tsx +235 -47
  191. package/src/components/Steps.tsx +8 -3
  192. package/src/components/TabsTransferPicker.tsx +1 -1
  193. package/src/components/TransferPicker.tsx +1 -11
  194. package/src/components/formula/Editor.tsx +261 -0
  195. package/src/components/formula/FuncList.tsx +82 -0
  196. package/src/components/formula/Picker.tsx +86 -0
  197. package/src/components/formula/VariableList.tsx +49 -0
  198. package/src/components/formula/plugin.ts +177 -0
  199. package/src/components/icons.tsx +2 -0
  200. package/src/components/index.tsx +2 -0
  201. package/src/icons/star.svg +12 -0
  202. package/src/index.tsx +1 -0
  203. package/src/renderers/Collapse.tsx +27 -27
  204. package/src/renderers/CollapseGroup.tsx +13 -12
  205. package/src/renderers/Form/InputColor.tsx +2 -3
  206. package/src/renderers/Form/InputDate.tsx +2 -0
  207. package/src/renderers/Form/InputDateRange.tsx +2 -0
  208. package/src/renderers/Form/InputFile.tsx +1 -1
  209. package/src/renderers/Form/InputFormula.tsx +75 -0
  210. package/src/renderers/Form/InputImage.tsx +1 -1
  211. package/src/renderers/Form/InputMonthRange.tsx +2 -0
  212. package/src/renderers/Form/InputQuarterRange.tsx +2 -0
  213. package/src/renderers/Form/InputRating.tsx +66 -3
  214. package/src/renderers/Form/InputYearRange.tsx +2 -0
  215. package/src/renderers/Form/TreeSelect.tsx +82 -63
  216. package/src/renderers/Json.tsx +5 -0
  217. package/src/renderers/Steps.tsx +4 -2
  218. package/src/store/formItem.ts +15 -0
  219. package/src/utils/api.ts +5 -2
  220. package/src/utils/helper.ts +5 -14
@@ -57,7 +57,7 @@ var Card = /** @class */ (function (_super) {
57
57
  body ? (react_1.default.createElement("div", { className: cx('Card-body', bodyClassName) }, body)) : null,
58
58
  secondary || actions ? (react_1.default.createElement("div", { className: cx('Card-footer-wrapper', footerClassName) },
59
59
  secondary ? (react_1.default.createElement("div", { className: cx('Card-secondary', secondaryClassName) }, secondary)) : null,
60
- actions ? (react_1.default.createElement("div", { className: cx('Card-actions-wrapper') }, actions)) : null)) : null))) : (react_1.default.createElement("div", null,
60
+ actions ? (react_1.default.createElement("div", { className: cx('Card-actions-wrapper') }, actions)) : null)) : null))) : (react_1.default.createElement(react_1.default.Fragment, null,
61
61
  heading,
62
62
  body ? (react_1.default.createElement("div", { className: cx('Card-body', bodyClassName) }, body)) : null,
63
63
  secondary || actions ? (react_1.default.createElement("div", { className: cx('Card-footer-wrapper', footerClassName) },
@@ -6,8 +6,8 @@
6
6
  "/src/components/Card.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {isClickOnInput} from '../utils/helper';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nexport interface CardProps extends ThemeProps {\n className?: string;\n headerClassName?: string;\n titleClassName?: string;\n subTitleClassName?: string;\n descriptionClassName?: string;\n avatarTextStyle?: object;\n avatarTextClassName?: string;\n avatarClassName?: string;\n secondaryClassName?: string;\n imageClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n media?: React.ReactNode;\n mediaPosition?: 'top' | 'left' | 'right' | 'bottom';\n toolbar?: React.ReactNode;\n children?: React.ReactNode;\n actions?: React.ReactNode;\n title?: string | JSX.Element;\n subTitle?: string | JSX.Element;\n subTitlePlaceholder?: string | JSX.Element;\n description?: string | JSX.Element;\n descriptionPlaceholder?: string | JSX.Element;\n avatar?: string;\n avatarText?: string | JSX.Element;\n secondary?: string | JSX.Element;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n classnames: ClassNamesFn;\n}\n\nexport class Card extends React.Component<CardProps> {\n static defaultProps: Partial<CardProps> = {\n className: '',\n avatarClassName: '',\n headerClassName: '',\n footerClassName: '',\n secondaryClassName: '',\n avatarTextClassName: '',\n bodyClassName: '',\n titleClassName: '',\n subTitleClassName: '',\n descriptionClassName: '',\n imageClassName: '',\n mediaPosition: 'left'\n };\n\n constructor(props: CardProps) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n\n this.props.onClick && this.props.onClick(e);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n headerClassName,\n bodyClassName,\n titleClassName,\n subTitleClassName,\n descriptionClassName,\n avatarClassName,\n avatarTextStyle,\n imageClassName,\n avatarTextClassName,\n secondaryClassName,\n footerClassName,\n media,\n mediaPosition,\n actions,\n children,\n onClick,\n toolbar,\n title,\n subTitle,\n subTitlePlaceholder,\n description,\n descriptionPlaceholder,\n secondary,\n avatar,\n avatarText\n } = this.props;\n\n let heading = null;\n const isShowHeading =\n avatar ||\n avatarText ||\n title ||\n subTitle ||\n subTitlePlaceholder ||\n description ||\n descriptionPlaceholder ||\n toolbar;\n if (isShowHeading) {\n heading = (\n <div className={cx('Card-heading', headerClassName)}>\n {avatar ? (\n <span className={cx('Card-avtar', avatarClassName)}>\n <img className={cx('Card-img', imageClassName)} src={avatar} />\n </span>\n ) : avatarText ? (\n <span\n className={cx('Card-avtarText', avatarTextClassName)}\n style={avatarTextStyle}\n >\n {avatarText}\n </span>\n ) : null}\n <div className={cx('Card-meta')}>\n {title ? (\n <div className={cx('Card-title', titleClassName)}>{title}</div>\n ) : null}\n {subTitle || subTitlePlaceholder ? (\n <div className={cx('Card-subTitle', subTitleClassName)}>\n {subTitle\n ? subTitle\n : subTitlePlaceholder\n ? subTitlePlaceholder\n : null}\n </div>\n ) : null}\n {description || descriptionPlaceholder ? (\n <div className={cx('Card-desc', descriptionClassName)}>\n {description\n ? description\n : descriptionPlaceholder\n ? descriptionPlaceholder\n : null}\n </div>\n ) : null}\n </div>\n {toolbar}\n </div>\n );\n }\n\n const body = children;\n\n return (\n <div\n onClick={this.handleClick}\n className={cx('Card', className, {\n 'Card--link': onClick\n })}\n >\n {media ? (\n <div className={cx(`Card-multiMedia--${mediaPosition}`)}>\n {media}\n <div className={cx('Card-multiMedia-flex')}>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n ) : (\n <div>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(Card);\n"
11
+ "import React from 'react';\nimport {isClickOnInput} from '../utils/helper';\nimport {ClassNamesFn, themeable, ThemeProps} from '../theme';\nexport interface CardProps extends ThemeProps {\n className?: string;\n headerClassName?: string;\n titleClassName?: string;\n subTitleClassName?: string;\n descriptionClassName?: string;\n avatarTextStyle?: object;\n avatarTextClassName?: string;\n avatarClassName?: string;\n secondaryClassName?: string;\n imageClassName?: string;\n bodyClassName?: string;\n footerClassName?: string;\n media?: React.ReactNode;\n mediaPosition?: 'top' | 'left' | 'right' | 'bottom';\n toolbar?: React.ReactNode;\n children?: React.ReactNode;\n actions?: React.ReactNode;\n title?: string | JSX.Element;\n subTitle?: string | JSX.Element;\n subTitlePlaceholder?: string | JSX.Element;\n description?: string | JSX.Element;\n descriptionPlaceholder?: string | JSX.Element;\n avatar?: string;\n avatarText?: string | JSX.Element;\n secondary?: string | JSX.Element;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n classnames: ClassNamesFn;\n}\n\nexport class Card extends React.Component<CardProps> {\n static defaultProps: Partial<CardProps> = {\n className: '',\n avatarClassName: '',\n headerClassName: '',\n footerClassName: '',\n secondaryClassName: '',\n avatarTextClassName: '',\n bodyClassName: '',\n titleClassName: '',\n subTitleClassName: '',\n descriptionClassName: '',\n imageClassName: '',\n mediaPosition: 'left'\n };\n\n constructor(props: CardProps) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n\n this.props.onClick && this.props.onClick(e);\n }\n\n render() {\n const {\n classnames: cx,\n className,\n headerClassName,\n bodyClassName,\n titleClassName,\n subTitleClassName,\n descriptionClassName,\n avatarClassName,\n avatarTextStyle,\n imageClassName,\n avatarTextClassName,\n secondaryClassName,\n footerClassName,\n media,\n mediaPosition,\n actions,\n children,\n onClick,\n toolbar,\n title,\n subTitle,\n subTitlePlaceholder,\n description,\n descriptionPlaceholder,\n secondary,\n avatar,\n avatarText\n } = this.props;\n\n let heading = null;\n const isShowHeading =\n avatar ||\n avatarText ||\n title ||\n subTitle ||\n subTitlePlaceholder ||\n description ||\n descriptionPlaceholder ||\n toolbar;\n if (isShowHeading) {\n heading = (\n <div className={cx('Card-heading', headerClassName)}>\n {avatar ? (\n <span className={cx('Card-avtar', avatarClassName)}>\n <img className={cx('Card-img', imageClassName)} src={avatar} />\n </span>\n ) : avatarText ? (\n <span\n className={cx('Card-avtarText', avatarTextClassName)}\n style={avatarTextStyle}\n >\n {avatarText}\n </span>\n ) : null}\n <div className={cx('Card-meta')}>\n {title ? (\n <div className={cx('Card-title', titleClassName)}>{title}</div>\n ) : null}\n {subTitle || subTitlePlaceholder ? (\n <div className={cx('Card-subTitle', subTitleClassName)}>\n {subTitle\n ? subTitle\n : subTitlePlaceholder\n ? subTitlePlaceholder\n : null}\n </div>\n ) : null}\n {description || descriptionPlaceholder ? (\n <div className={cx('Card-desc', descriptionClassName)}>\n {description\n ? description\n : descriptionPlaceholder\n ? descriptionPlaceholder\n : null}\n </div>\n ) : null}\n </div>\n {toolbar}\n </div>\n );\n }\n\n const body = children;\n\n return (\n <div\n onClick={this.handleClick}\n className={cx('Card', className, {\n 'Card--link': onClick\n })}\n >\n {media ? (\n <div className={cx(`Card-multiMedia--${mediaPosition}`)}>\n {media}\n <div className={cx('Card-multiMedia-flex')}>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </div>\n </div>\n ) : (\n <>\n {heading}\n {body ? (\n <div className={cx('Card-body', bodyClassName)}>{body}</div>\n ) : null}\n {secondary || actions ? (\n <div className={cx('Card-footer-wrapper', footerClassName)}>\n {secondary ? (\n <div className={cx('Card-secondary', secondaryClassName)}>\n {secondary}\n </div>\n ) : null}\n {actions ? (\n <div className={cx('Card-actions-wrapper')}>{actions}</div>\n ) : null}\n </div>\n ) : null}\n </>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(Card);\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import 'codemirror/lib/codemirror.css';
3
+ import type CodeMirror from 'codemirror';
4
+ export interface CodeMirrorEditorProps {
5
+ className?: string;
6
+ value?: string;
7
+ onChange?: (value: string) => void;
8
+ onFocus?: (e: any) => void;
9
+ onBlur?: (e: any) => void;
10
+ editorFactory?: (dom: HTMLElement, cm: typeof CodeMirror, props?: any) => CodeMirror.Editor;
11
+ editorDidMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void;
12
+ editorWillUnMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void;
13
+ }
14
+ export declare class CodeMirrorEditor extends React.Component<CodeMirrorEditorProps> {
15
+ dom: React.RefObject<HTMLDivElement>;
16
+ editor?: CodeMirror.Editor;
17
+ toDispose: Array<() => void>;
18
+ unmounted: boolean;
19
+ componentDidMount(): Promise<void>;
20
+ componentDidUpdate(prevProps: CodeMirrorEditorProps): void;
21
+ componentWillUnmount(): void;
22
+ handleChange(editor: any): void;
23
+ setValue(value?: string): void;
24
+ render(): JSX.Element;
25
+ }
26
+ export default CodeMirrorEditor;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodeMirrorEditor = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ require("codemirror/lib/codemirror.css");
7
+ var helper_1 = require("../utils/helper");
8
+ var resize_sensor_1 = require("../utils/resize-sensor");
9
+ var CodeMirrorEditor = /** @class */ (function (_super) {
10
+ (0, tslib_1.__extends)(CodeMirrorEditor, _super);
11
+ function CodeMirrorEditor() {
12
+ var _this = _super !== null && _super.apply(this, arguments) || this;
13
+ _this.dom = react_1.default.createRef();
14
+ _this.toDispose = [];
15
+ _this.unmounted = false;
16
+ return _this;
17
+ }
18
+ CodeMirrorEditor.prototype.componentDidMount = function () {
19
+ var _a, _b, _c, _d, _e;
20
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
21
+ var cm;
22
+ var _this = this;
23
+ return (0, tslib_1.__generator)(this, function (_f) {
24
+ switch (_f.label) {
25
+ case 0: return [4 /*yield*/, Promise.resolve().then(function () { return new Promise(function(resolve){require(['codemirror'], function(ret) {resolve(tslib_1.__importStar(ret));})}); })];
26
+ case 1:
27
+ cm = (_f.sent()).default;
28
+ // @ts-ignore
29
+ return [4 /*yield*/, Promise.resolve().then(function () { return new Promise(function(resolve){require(['codemirror/mode/javascript/javascript'], function(ret) {resolve(tslib_1.__importStar(ret));})}); })];
30
+ case 2:
31
+ // @ts-ignore
32
+ _f.sent();
33
+ // @ts-ignore
34
+ return [4 /*yield*/, Promise.resolve().then(function () { return new Promise(function(resolve){require(['codemirror/mode/htmlmixed/htmlmixed'], function(ret) {resolve(tslib_1.__importStar(ret));})}); })];
35
+ case 3:
36
+ // @ts-ignore
37
+ _f.sent();
38
+ return [4 /*yield*/, Promise.resolve().then(function () { return new Promise(function(resolve){require(['codemirror/addon/mode/simple'], function(ret) {resolve(tslib_1.__importStar(ret));})}); })];
39
+ case 4:
40
+ _f.sent();
41
+ return [4 /*yield*/, Promise.resolve().then(function () { return new Promise(function(resolve){require(['codemirror/addon/mode/multiplex'], function(ret) {resolve(tslib_1.__importStar(ret));})}); })];
42
+ case 5:
43
+ _f.sent();
44
+ if (this.unmounted) {
45
+ return [2 /*return*/];
46
+ }
47
+ this.editor =
48
+ (_c = (_b = (_a = this.props).editorFactory) === null || _b === void 0 ? void 0 : _b.call(_a, this.dom.current, cm, this.props)) !== null && _c !== void 0 ? _c : cm(this.dom.current, {
49
+ value: this.props.value || ''
50
+ });
51
+ (_e = (_d = this.props).editorDidMount) === null || _e === void 0 ? void 0 : _e.call(_d, cm, this.editor);
52
+ this.editor.on('change', this.handleChange);
53
+ this.toDispose.push((0, resize_sensor_1.resizeSensor)(this.dom.current, function () { var _a; return (_a = _this.editor) === null || _a === void 0 ? void 0 : _a.refresh(); }));
54
+ // todo 以后优化这个,解决弹窗里面默认光标太小的问题
55
+ setTimeout(function () { var _a; return (_a = _this.editor) === null || _a === void 0 ? void 0 : _a.refresh(); }, 350);
56
+ this.toDispose.push(function () {
57
+ var _a, _b;
58
+ (_b = (_a = _this.props).editorWillUnMount) === null || _b === void 0 ? void 0 : _b.call(_a, cm, _this.editor);
59
+ });
60
+ return [2 /*return*/];
61
+ }
62
+ });
63
+ });
64
+ };
65
+ CodeMirrorEditor.prototype.componentDidUpdate = function (prevProps) {
66
+ var props = this.props;
67
+ if (props.value !== prevProps.value) {
68
+ this.editor && this.setValue(props.value);
69
+ }
70
+ };
71
+ CodeMirrorEditor.prototype.componentWillUnmount = function () {
72
+ var _a;
73
+ this.unmounted = true;
74
+ (_a = this.editor) === null || _a === void 0 ? void 0 : _a.off('change', this.handleChange);
75
+ this.toDispose.forEach(function (fn) { return fn(); });
76
+ this.toDispose = [];
77
+ };
78
+ CodeMirrorEditor.prototype.handleChange = function (editor) {
79
+ var _a, _b;
80
+ (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, editor.getValue());
81
+ };
82
+ CodeMirrorEditor.prototype.setValue = function (value) {
83
+ var doc = this.editor.getDoc();
84
+ if (value && value !== doc.getValue()) {
85
+ var cursor = doc.getCursor();
86
+ doc.setValue(value);
87
+ doc.setCursor(cursor);
88
+ }
89
+ };
90
+ CodeMirrorEditor.prototype.render = function () {
91
+ var className = this.props.className;
92
+ return react_1.default.createElement("div", { className: className, ref: this.dom });
93
+ };
94
+ (0, tslib_1.__decorate)([
95
+ helper_1.autobind,
96
+ (0, tslib_1.__metadata)("design:type", Function),
97
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
98
+ (0, tslib_1.__metadata)("design:returntype", void 0)
99
+ ], CodeMirrorEditor.prototype, "handleChange", null);
100
+ return CodeMirrorEditor;
101
+ }(react_1.default.Component));
102
+ exports.CodeMirrorEditor = CodeMirrorEditor;
103
+ exports.default = CodeMirrorEditor;
104
+ //# sourceMappingURL=./components/CodeMirror.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "CodeMirror.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/CodeMirror.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": ";;;;AAAA,6DAA0B;AAC1B,yCAAuC;AAEvC,0CAAyC;AACzC,wDAAoD;AAoBpD;IAAsC,iDAAsC;IAA5E;QAAA,qEAwEC;QAvEC,SAAG,GAAG,eAAK,CAAC,SAAS,EAAkB,CAAC;QAGxC,eAAS,GAAsB,EAAE,CAAC;QAClC,eAAS,GAAG,KAAK,CAAC;;IAmEpB,CAAC;IAlEO,4CAAiB,GAAvB;;;;;;;4BACc,mGAAa,YAAY,QAAC;;wBAAhC,EAAE,GAAG,CAAC,SAA0B,CAAC,CAAC,OAAO;wBAC/C,aAAa;wBACb,mGAAa,uCAAuC,QAAC;;wBADrD,aAAa;wBACb,SAAqD,CAAC;wBACtD,aAAa;wBACb,mGAAa,qCAAqC,QAAC;;wBADnD,aAAa;wBACb,SAAmD,CAAC;wBACpD,mGAAa,8BAA8B,QAAC;;wBAA5C,SAA4C,CAAC;wBAC7C,mGAAa,iCAAiC,QAAC;;wBAA/C,SAA+C,CAAC;wBAChD,IAAI,IAAI,CAAC,SAAS,EAAE;4BAClB,sBAAO;yBACR;wBAED,IAAI,CAAC,MAAM;4BACT,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,aAAa,mDAAG,IAAI,CAAC,GAAG,CAAC,OAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,mCAC7D,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAQ,EAAE;gCACpB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;6BAC9B,CAAC,CAAC;wBAEL,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,cAAc,mDAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC7C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;wBAE5C,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAA,4BAAY,EAAC,IAAI,CAAC,GAAG,CAAC,OAAsB,EAAE,sBAC5C,OAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,EAAA,CACvB,CACF,CAAC;wBACF,8BAA8B;wBAC9B,UAAU,CAAC,sBAAM,OAAA,MAAA,KAAI,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAA,EAAA,EAAE,GAAG,CAAC,CAAC;wBAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;4BAClB,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,iBAAiB,mDAAG,EAAE,EAAE,KAAI,CAAC,MAAO,CAAC,CAAC;wBACnD,CAAC,CAAC,CAAC;;;;;KACJ;IAED,6CAAkB,GAAlB,UAAmB,SAAgC;QACjD,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YACnC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,+CAAoB,GAApB;;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAA,IAAI,CAAC,MAAM,0CAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,EAAE,EAAJ,CAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAGD,uCAAY,GAAZ,UAAa,MAAW;;QACtB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,mCAAQ,GAAR,UAAS,KAAc;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,MAAO,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpB,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SACvB;IACH,CAAC;IAED,iCAAM,GAAN;QACS,IAAA,SAAS,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;QAC/B,OAAO,uCAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAQ,CAAC;IAC1D,CAAC;IAhBD;QADC,iBAAQ;;;;wDAGR;IAeH,uBAAC;CAAA,AAxED,CAAsC,eAAK,CAAC,SAAS,GAwEpD;AAxEY,4CAAgB;AA0E7B,kBAAe,gBAAgB,CAAC",
10
+ "sourcesContent": [
11
+ "import React from 'react';\nimport 'codemirror/lib/codemirror.css';\nimport type CodeMirror from 'codemirror';\nimport {autobind} from '../utils/helper';\nimport {resizeSensor} from '../utils/resize-sensor';\n\nexport interface CodeMirrorEditorProps {\n className?: string;\n value?: string;\n onChange?: (value: string) => void;\n onFocus?: (e: any) => void;\n onBlur?: (e: any) => void;\n editorFactory?: (\n dom: HTMLElement,\n cm: typeof CodeMirror,\n props?: any\n ) => CodeMirror.Editor;\n editorDidMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void;\n editorWillUnMount?: (\n cm: typeof CodeMirror,\n editor: CodeMirror.Editor\n ) => void;\n}\n\nexport class CodeMirrorEditor extends React.Component<CodeMirrorEditorProps> {\n dom = React.createRef<HTMLDivElement>();\n\n editor?: CodeMirror.Editor;\n toDispose: Array<() => void> = [];\n unmounted = false;\n async componentDidMount() {\n const cm = (await import('codemirror')).default;\n // @ts-ignore\n await import('codemirror/mode/javascript/javascript');\n // @ts-ignore\n await import('codemirror/mode/htmlmixed/htmlmixed');\n await import('codemirror/addon/mode/simple');\n await import('codemirror/addon/mode/multiplex');\n if (this.unmounted) {\n return;\n }\n\n this.editor =\n this.props.editorFactory?.(this.dom.current!, cm, this.props) ??\n cm(this.dom.current!, {\n value: this.props.value || ''\n });\n\n this.props.editorDidMount?.(cm, this.editor);\n this.editor.on('change', this.handleChange);\n\n this.toDispose.push(\n resizeSensor(this.dom.current as HTMLElement, () =>\n this.editor?.refresh()\n )\n );\n // todo 以后优化这个,解决弹窗里面默认光标太小的问题\n setTimeout(() => this.editor?.refresh(), 350);\n this.toDispose.push(() => {\n this.props.editorWillUnMount?.(cm, this.editor!);\n });\n }\n\n componentDidUpdate(prevProps: CodeMirrorEditorProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.editor && this.setValue(props.value);\n }\n }\n\n componentWillUnmount() {\n this.unmounted = true;\n this.editor?.off('change', this.handleChange);\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n }\n\n @autobind\n handleChange(editor: any) {\n this.props.onChange?.(editor.getValue());\n }\n\n setValue(value?: string) {\n const doc = this.editor!.getDoc();\n if (value && value !== doc.getValue()) {\n const cursor = doc.getCursor();\n doc.setValue(value);\n doc.setCursor(cursor);\n }\n }\n\n render() {\n const {className} = this.props;\n return <div className={className} ref={this.dom}></div>;\n }\n}\n\nexport default CodeMirrorEditor;\n"
12
+ ]
13
+ }
@@ -10,13 +10,14 @@ import { TranslateFn } from '../locale';
10
10
  export interface CollapseProps {
11
11
  key?: string;
12
12
  id?: string;
13
+ propKey?: string;
13
14
  mountOnEnter?: boolean;
14
15
  unmountOnExit?: boolean;
15
16
  className?: string;
16
17
  classPrefix: string;
17
18
  classnames: ClassNamesFn;
18
19
  headerPosition?: 'top' | 'bottom';
19
- header?: React.ReactElement;
20
+ header?: React.ReactNode;
20
21
  body: any;
21
22
  bodyClassName?: string;
22
23
  disabled?: boolean;
@@ -54,12 +55,12 @@ export declare class Collapse extends React.Component<CollapseProps, CollapseSta
54
55
  render(): JSX.Element;
55
56
  }
56
57
  declare const _default: {
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>): {
58
+ 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" | "propKey" | "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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>): {
58
59
  render(): JSX.Element;
59
60
  context: any;
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;
61
+ 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" | "propKey" | "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;
61
62
  forceUpdate(callback?: (() => void) | undefined): void;
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<{
63
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
63
64
  children?: React.ReactNode;
64
65
  }>;
65
66
  state: Readonly<{}>;
@@ -67,24 +68,24 @@ declare const _default: {
67
68
  [key: string]: React.ReactInstance;
68
69
  };
69
70
  componentDidMount?(): void;
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;
71
+ 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" | "propKey" | "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;
71
72
  componentWillUnmount?(): void;
72
73
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): 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;
74
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
75
+ 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" | "propKey" | "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;
75
76
  componentWillMount?(): void;
76
77
  UNSAFE_componentWillMount?(): 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;
78
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
79
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
80
+ 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" | "propKey" | "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;
81
+ 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" | "propKey" | "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;
81
82
  };
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): {
83
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps, context: any): {
83
84
  render(): JSX.Element;
84
85
  context: any;
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;
86
+ 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" | "propKey" | "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;
86
87
  forceUpdate(callback?: (() => void) | undefined): void;
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<{
88
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
88
89
  children?: React.ReactNode;
89
90
  }>;
90
91
  state: Readonly<{}>;
@@ -92,17 +93,17 @@ declare const _default: {
92
93
  [key: string]: React.ReactInstance;
93
94
  };
94
95
  componentDidMount?(): void;
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;
96
+ 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" | "propKey" | "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;
96
97
  componentWillUnmount?(): void;
97
98
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): 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;
99
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
100
+ 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" | "propKey" | "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;
100
101
  componentWillMount?(): void;
101
102
  UNSAFE_componentWillMount?(): 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;
103
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
104
+ 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" | "propKey" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
105
+ 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" | "propKey" | "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;
106
+ 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" | "propKey" | "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;
106
107
  };
107
108
  displayName: string;
108
109
  contextType: React.Context<string>;
@@ -27,7 +27,7 @@ var Collapse = /** @class */ (function (_super) {
27
27
  };
28
28
  _this.contentRef = function (ref) { return (_this.contentDom = ref); };
29
29
  _this.toggleCollapsed = _this.toggleCollapsed.bind(_this);
30
- _this.state.collapsed = !!props.collapsed;
30
+ _this.state.collapsed = props.collapsable ? !!props.collapsed : false;
31
31
  return _this;
32
32
  }
33
33
  Collapse.getDerivedStateFromProps = function (nextProps, preState) {
@@ -76,14 +76,12 @@ var Collapse = /** @class */ (function (_super) {
76
76
  var _a;
77
77
  var _this = this;
78
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;
79
+ var finalHeader = this.state.collapsed
80
+ ? header
81
+ : collapseHeader || header;
80
82
  var dom = [
81
83
  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
- : '',
84
+ showArrow && collapsable ? (expandIcon ? (react_1.default.cloneElement(expandIcon, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, expandIcon.props), { className: cx('Collapse-icon-tranform') }))) : (react_1.default.createElement("span", { className: cx('Collapse-arrow') }))) : (''),
87
85
  finalHeader)) : null,
88
86
  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
87
  if (status === Transition_1.ENTERING) {
@@ -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';\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,\n 'Collapse--title-bottom': headerPosition === 'bottom'\n },\n className\n )}\n >\n {dom}\n </WrapperComponent>\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 propKey?: string;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n className?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n headerPosition?: 'top' | 'bottom';\n header?: React.ReactNode;\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 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.collapsable ? !!props.collapsed : false;\n }\n\n static getDerivedStateFromProps(\n nextProps: CollapseProps,\n preState: CollapseState\n ) {\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\n ? header\n : 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 ) : (\n <span className={cx('Collapse-arrow')} />\n )\n ) : (\n ''\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 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,\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
  }