import { useState } from '@wordpress/element'; import classnames from 'classnames'; import React from 'react'; import Icon from '../icon'; import './editor.scss'; interface PropsType { title: string; initialOpen?: boolean; isOpen?: boolean; onToggle?: () => void; children?: React.ReactNode; } const Panel: React.FC = (props) => { const { children, title, initialOpen = false, isOpen: controlledIsOpen, onToggle, } = props; const [internalOpen, setInternalOpen] = useState(initialOpen); const isOpen = controlledIsOpen !== undefined ? controlledIsOpen : internalOpen; const handleToggle = () => { if (onToggle) { onToggle(); } else { setInternalOpen(!internalOpen); } }; return (
{isOpen &&
{children}
}
); }; export default Panel;