"use client"; import { useEffect, useState } from "react"; import { AccordionProps } from "@shared/components/accordion/types"; import { Button } from "@shared/components/button"; import { Collapse } from "@shared/components/collapse"; import { MaterialIcon } from "@shared/components/material-icon"; import { cx } from "@shared/utils"; export const Accordion: React.FC = props => { const { title, defaultOpen, children, containerClassName, titleClassName, className, buttonClassName, iconClassName, openOnlyOnDesktop, borderRadiusNone = false, } = props; const [open, setOpen] = useState(Boolean(false)); useEffect(() => { // Only execute responsive logic if the prop is true if (openOnlyOnDesktop) { const isDesktop = window.innerWidth >= 1024; setOpen(isDesktop); } else { // Otherwise, fall back to standard defaultOpen behavior setOpen(Boolean(defaultOpen)); } }, [openOnlyOnDesktop, defaultOpen]); return (
{children}
); }; Accordion.displayName = "Accordion"; export type { AccordionProps };