import { TitleLevel } from '@ts/types/app'; import { ReactNode, useState } from 'react'; import { useIntl } from 'react-intl'; import styles from './ExpandableWidget.module.scss'; const ExpandableWidget = ({ children, title, titleLevel = 2, expand = false, withBorders = false, }: { children: ReactNode; title: string; titleLevel?: TitleLevel; expand?: boolean; withBorders?: boolean; }) => { const intl = useIntl(); const [isExpanded, setIsExpanded] = useState(expand); const handleExpanse = () => setIsExpanded((prev) => !prev); const TitleTag = `h${titleLevel}` as keyof JSX.IntrinsicElements; const wrapperClasses = `${styles.wrapper} ${ isExpanded ? styles['wrapper--expanded'] : '' }`; const bodyClasses = `${styles.body} ${ withBorders ? styles['body--borders'] : '' }`; return (
{children}
); }; export default ExpandableWidget;