"use client";
import * as React from "react";
import {cn} from "@/lib/utilities";
import styles from "./Collapse.module.css";
/**
* Represents the configurable props for the {@link Collapse} component.
*
* @remarks
* Extends native `
` attributes so consumers can provide ARIA metadata,
* testing hooks, and custom classes while keeping the animated container typed.
*/
interface CollapseProps extends React.HTMLAttributes
{
/**
* Whether the content is expanded.
*/
open: boolean;
/**
* Content to show or hide with animation.
*/
children: React.ReactNode;
}
/**
* Animated height collapse and expand using CSS grid-template-rows.
*
* @remarks
* Supports reduced motion through a CSS `prefers-reduced-motion` media query and keeps
* content mounted so assistive technologies and measurement logic remain stable.
*
* @example
* ```tsx
*
* Collapsible content
*
* ```
*/
const Collapse = React.forwardRef(({open, children, className, ...props}, ref) => (
));
Collapse.displayName = "Collapse";
export {Collapse};
export type {CollapseProps};