import { Collapsible, Icon, IconButton } from '@openedx/paragon'; import { Delete, ExpandLess, ExpandMore } from '@openedx/paragon/icons'; import PropTypes from 'prop-types'; import React from 'react'; const CollapsableEditor = ({ title, open, defaultOpen, onToggle, onClose, onDelete, children, expandAlt, deleteAlt, collapseAlt, ...props }) => (
{title}
{onDelete && (
{ event.stopPropagation(); onDelete(); }} alt={deleteAlt} src={Delete} iconAs={Icon} variant="dark" />
)}
{children}
); CollapsableEditor.propTypes = { open: PropTypes.bool, defaultOpen: PropTypes.bool, title: PropTypes.node.isRequired, onToggle: PropTypes.func.isRequired, onDelete: PropTypes.func, children: PropTypes.node.isRequired, expandAlt: PropTypes.string.isRequired, deleteAlt: PropTypes.string.isRequired, collapseAlt: PropTypes.string.isRequired, onClose: PropTypes.func, }; CollapsableEditor.defaultProps = { onDelete: null, defaultOpen: undefined, open: undefined, onClose: () => { }, }; export default React.memo(CollapsableEditor);