'use client';
import { AnimatePresence, LazyMotion, m } from 'motion/react';
import React, { useCallback, useId, useState } from 'react';
import { Button } from '../button/index.js';
import { ExpandLessIcon, ExpandMoreIcon, IconProps } from '../icon/index.js';
import { styles as collapsibleStyles } from './collapsible.styles.js';
import { type CollapsibleProps } from './collapsible.types.js';
const loadAnimations = () => import('./collapsible.utils.js').then(res => res.default);
export function Collapsible({
className,
children,
open = false,
text,
size = 'medium',
onClick = () => undefined,
}: CollapsibleProps) {
const [contentOpen, setContentOpen] = useState(open);
const contentId = useId();
const ButtonIcon = (props: IconProps) => {
if (!contentOpen) return ;
return ;
};
const handleClick = useCallback(() => {
onClick();
setContentOpen(contentOpen => !contentOpen);
}, [onClick]);
const styles = collapsibleStyles({ open: contentOpen });
return (
<>
{contentOpen && (
{children}
)}
>
);
}