import { createElement, useState, useCallback } from '@wordpress/element' import OptionsPanel from '../OptionsPanel' import classnames from 'classnames' const Accordion = (props) => { const [currentItems, setCurrentItems] = useState([]) const handleVisibility = useCallback( (id) => { if (currentItems.includes(id)) { setCurrentItems(currentItems.filter((item) => item !== id)) } else { setCurrentItems([...currentItems, id]) } }, [currentItems] ) return (
{props.renderingChunk.map((singleItem) => { const isActive = currentItems.includes(singleItem.id) return (

{ if (e.target.tagName === 'SELECT') { return } handleVisibility(singleItem.id) }}> {singleItem.title ? singleItem.title : singleItem.id} {singleItem.afterHeading ? singleItem.afterHeading(singleItem) : null}

props.onChange(key, val) } options={singleItem.options} value={props.value} />
) })}
) } export default Accordion