import { DrawerProps as ChakraDrawerProps, DrawerContentProps, ModalHeaderProps, ModalBodyProps, ModalFooterProps } from "@chakra-ui/react"; /** Only DrawerHeader/Body/Footer children render, matched by type through nested Fragments; any other child is dropped (dev console.warn) — use `portalChildren`. */ export type DrawerProps = Pick & { /** Defaults to "xl". */ size?: "xs" | "sm" | "md" | "lg" | "xl" | "full"; /** Defaults to "right". */ placement?: "top" | "right" | "bottom" | "left"; /** @deprecated Typo of `variant`, kept as an alias; `variant` wins if both are set. */ vaiant?: "solid" | "outline" | "ghost" | "link"; children?: React.ReactNode; /** Spread onto DrawerContent, e.g. to set width or padding. */ contentProps?: DrawerContentProps; /** Drops the built-in close button, for a drawer dismissed only by its own footer action. */ hideCloseButton?: boolean; /** Rendered inside the drawer's dialog after the slots (so live regions stay announced); nested dialogs portal out and keep focus here. Unmounts with the drawer. */ portalChildren?: React.ReactNode; /** Names the dialog instead of the whole header, for a header that holds fields or buttons. */ "aria-label"?: string; /** Id of the element that names the dialog, e.g. a heading inside the header; wins over `aria-label`. */ "aria-labelledby"?: string; }; /** Chakra style props (padding, borderBottom, gap, sx, ...) spread onto the rendered DrawerHeader; omit to keep theme defaults. Chakra's Drawer reuses Modal's header part internally. */ export type DrawerHeaderSlotProps = ModalHeaderProps; /** Chakra style props (padding, gap, sx, ...) spread onto the rendered DrawerBody; omit to keep theme defaults. */ export type DrawerBodySlotProps = ModalBodyProps; /** Chakra style props (padding, borderTop, gap, sx, ...) spread onto the rendered DrawerFooter; omit to keep theme defaults. */ export type DrawerFooterSlotProps = ModalFooterProps;