import cn from 'classnames' import React, { FC, ReactNode, useState } from 'react' import s from './Collapse.module.css' import { ChevronRight } from '@components/icons' import { useSpring, a } from '@react-spring/web' import useMeasure from 'react-use-measure' export interface CollapseProps { title: string children: ReactNode } const Collapse: FC = React.memo(({ title, children }) => { const [isActive, setActive] = useState(false) const [ref, { height: viewHeight }] = useMeasure() const animProps = useSpring({ height: isActive ? viewHeight : 0, config: { tension: 250, friction: 32, clamp: true, duration: 150 }, opacity: isActive ? 1 : 0, }) const toggle = () => setActive((x) => !x) return (
{title}
{children}
) }) export default Collapse