/** * SidePanel — a non-modal companion panel docked to the right edge of a * layout. Unlike Sheet/Dialog it takes no focus trap and paints no backdrop: * the rest of the app stays interactive (and, from `md` up, visible beside * it) while the panel is open, so users can navigate around the app to gather * context without losing what they typed. * * Children stay mounted while the panel is closed (`hidden`), so in-progress * form state survives close/reopen cycles by construction. * * Under a SidePanelDockProvider (see ./dock), open panels stack vertically in * one shared dock column instead of sitting side by side. */ import { type ReactNode } from "react"; import { type SidePanelWidth } from "./variants.js"; export * from "./dock.js"; export * from "./variants.js"; export type SidePanelProps = { open: boolean; onOpenChange?: (open: boolean) => void; /** Panel heading; also the region's accessible name. */ title: string; description?: string; /** Controlled width preset; omit for internal state starting at `defaultWidth`. */ width?: SidePanelWidth; defaultWidth?: SidePanelWidth; onWidthChange?: (width: SidePanelWidth) => void; /** * Show the widen/narrow controls (`md` and up only — below that the panel * is viewport-wide and resizing is meaningless). Default true. */ widthControls?: boolean; /** Accessible labels for the built-in controls. */ closeLabel?: string; widenLabel?: string; narrowLabel?: string; /** * Pinned action row below the scrollable body (e.g. cancel/submit). Stays * visible however long the content grows. */ footer?: ReactNode; children: ReactNode; }; export declare function SidePanel({ open, onOpenChange, title, description, width: widthProp, defaultWidth, onWidthChange, widthControls, closeLabel, widenLabel, narrowLabel, footer, children, }: SidePanelProps): import("react").JSX.Element; //# sourceMappingURL=index.d.ts.map