Untitled
unknown
plain_text
2 years ago
1.4 kB
5
Indexable
import React, { useState } from 'react'; import PropTypes from 'prop-types'; import HelpPopover from '../../../../../components/HelpPopover'; const AccordionItem = ({ itemHeader, itemContent, containerClass, onOpen, onClose, isDefaultOpen, }) => { const [isOpen, setIsOpen] = useState(isDefaultOpen); const toggleAccordion = () => { if (isOpen) { setIsOpen(false); if (onClose) { onClose(); } } else { setIsOpen(true); if (onOpen) { onOpen(); } } }; const containerStyle = containerClass ? `${containerClass} w-full` : 'w-full rounded border-solid border border-[#D9D9D9] shadow-md'; return ( <div className={containerStyle}> <div role="presentation" onClick={toggleAccordion} className="bg-grey-lighter font-bold p-2 menu-accordion-header-text" > {itemHeader} </div> {isOpen && <div className="p-2">{itemContent}</div>} </div> ); }; AccordionItem.propTypes = { itemHeader: PropTypes.element, itemContent: PropTypes.element, containerClass: PropTypes.string, onOpen: PropTypes.func, onClose: PropTypes.func, isDefaultOpen: PropTypes.bool, }; AccordionItem.defaultProps = { isDefaultOpen: false, }; export default AccordionItem;
Editor is loading...