import Heading, { type HeadingProps } from '@components/atoms/headings/heading'; import PlusMinus from '@components/atoms/icons/plus-minus'; import { FC, SetStateAction } from 'react'; import { useIntl } from 'react-intl'; import styles from './heading-button.module.scss'; export type HeadingButtonProps = Pick & { /** * Accordion state. */ expanded: boolean; /** * Callback function to set accordion state on click. */ setExpanded: (value: SetStateAction) => void; /** * Accordion title. */ title: string; }; /** * HeadingButton component * * Render a button as accordion title to toggle body. */ const HeadingButton: FC = ({ expanded, level, setExpanded, title, }) => { const intl = useIntl(); const iconState = expanded ? 'minus' : 'plus'; const titlePrefix = expanded ? intl.formatMessage({ defaultMessage: 'Collapse', description: 'HeadingButton: title prefix (expanded state)', id: 'UX9Bu8', }) : intl.formatMessage({ defaultMessage: 'Expand', description: 'HeadingButton: title prefix (collapsed state)', id: 'bcyOgC', }); return ( ); }; export default HeadingButton;