import { Collapse, Flex, Typography } from 'antd' import { CaretLeftOutlined } from '@ant-design/icons' import PropTypes from 'prop-types' const { Title } = Typography const InfoCollapse = ({ title, icon, children, active, onToggle, className = '', collapseKey = 'default', canCollapse = true, dragHandle = null, extra = null }) => { return ( { if (!canCollapse) return onToggle(keys.length > 0) }} expandIcon={({ isActive }) => canCollapse ? ( ) : null } className={`no-h-padding-collapse ${className} info-collapse`} items={[ { key: collapseKey, children: children, label: ( {dragHandle} {icon} {title} {extra} ) } ]} /> ) } InfoCollapse.propTypes = { title: PropTypes.string.isRequired, icon: PropTypes.node.isRequired, children: PropTypes.node.isRequired, active: PropTypes.bool.isRequired, onToggle: PropTypes.func.isRequired, className: PropTypes.string, collapseKey: PropTypes.string, canCollapse: PropTypes.bool, dragHandle: PropTypes.node, extra: PropTypes.node } export default InfoCollapse