import clsx from 'clsx'; import React from 'react'; import { defineMessages, useIntl } from 'react-intl'; import DropdownMenu from 'soapbox/components/dropdown-menu'; import HStack from '../hstack/hstack'; import Icon from '../icon/icon'; import Text from '../text/text'; import type { Menu } from 'soapbox/components/dropdown-menu'; const messages = defineMessages({ collapse: { id: 'accordion.collapse', defaultMessage: 'Collapse' }, expand: { id: 'accordion.expand', defaultMessage: 'Expand' }, }); interface IAccordion { headline: React.ReactNode children?: React.ReactNode menu?: Menu expanded?: boolean onToggle?: (value: boolean) => void } /** * Accordion * An accordion is a vertically stacked group of collapsible sections. */ const Accordion: React.FC = ({ headline, children, menu, expanded = false, onToggle = () => {} }) => { const intl = useIntl(); const handleToggle = (e: React.MouseEvent) => { onToggle(!expanded); e.preventDefault(); }; return (
{children}
); }; export default Accordion;