import * as RadixCollapsible from "@radix-ui/react-collapsible" import clsx from "clsx" import React, { useState } from "react" import { useTranslation } from "react-i18next" import ArrowDownIcon from "../../fundamentals/icons/arrow-down-icon" import ArrowUpIcon from "../../fundamentals/icons/arrow-up-icon" type DetailsCollapsibleProps = { rootProps?: RadixCollapsible.CollapsibleProps triggerProps?: RadixCollapsible.CollapsibleTriggerProps contentProps?: RadixCollapsible.CollapsibleContentProps children: React.ReactNode } const DetailsCollapsible = ({ rootProps, triggerProps, contentProps, children, }: DetailsCollapsibleProps) => { const { t } = useTranslation() const [open, setOpen] = useState(false) const Icon = open ? ArrowUpIcon : ArrowDownIcon const label = open ? t( "details-collapsible-hide-additional-details", "Hide additional details" ) : t( "details-collapsible-show-additional-details", "Show additional details" ) return ( setOpen(state)} >
{label}
{children}
) } export default DetailsCollapsible