"use client"; import {Drawer as BaseDrawer} from "@base-ui/react/drawer"; import {mergeProps} from "@base-ui/react/merge-props"; import {useRender} from "@base-ui/react/use-render"; import * as React from "react"; import {cn} from "@/lib/utilities"; import styles from "./drawer.module.css"; interface DrawerProps extends React.ComponentPropsWithRef {} interface DrawerTriggerProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface DrawerOverlayProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface DrawerContentProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface DrawerHeaderProps extends React.ComponentPropsWithRef<"div"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Overrides the default rendered element while preserving component behavior. * @default undefined */ render?: useRender.RenderProp>; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface DrawerFooterProps extends React.ComponentPropsWithRef<"div"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; /** * Overrides the default rendered element while preserving component behavior. * @default undefined */ render?: useRender.RenderProp>; /** * Enables child element composition instead of rendering the default wrapper. * @default false * @deprecated Prefer Base UI's `render` prop. */ asChild?: boolean; } interface DrawerTitleProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } interface DrawerDescriptionProps extends Omit, "className"> { /** * Applies additional CSS classes to the component root element. * @default undefined */ className?: string; } /** * Coordinates drawer state and accessibility behavior. * * @remarks * - Delegates structure and state to the underlying Base UI primitive * - Built on {@link https://base-ui.com/react/components/drawer | Base UI Drawer} * - Preserves the underlying primitive API for advanced composition * * @example * ```tsx * Content * ``` * * @see {@link https://base-ui.com/react/components/drawer | Base UI Documentation} */ function Drawer(props: Readonly): React.ReactElement { return ; } /** * Renders the drawer trigger. * * @remarks * - Renders a `