import { ClassValue, StyledComponentProps } from "../../types/shared.js"; import { ResizableSlots } from "./resizable-variants.js"; import { ComponentProps } from "react"; import { PanelGroupProps, PanelResizeHandle } from "react-resizable-panels"; //#region src/components/resizable/types.d.ts /** * Class names for different slots in the resizable component. * Allows customizing styles for the resize handle and its visual elements. */ type ResizableClassNames = Partial>; /** * Props for the resizable handle component. * Creates a draggable separator between panels that can be resized by the user. * * @example * ```tsx * * ``` */ interface ResizableHandleProps extends StyledComponentProps> { /** * Class names for customizing the handle icon and its root container. */ classNames?: Pick; /** * Whether to display a visual handle indicator (icon/dots) on the resize separator. * When false, only the draggable area is visible. */ withHandle?: boolean; } /** * Props for the resizable panel group component. * Contains multiple panels that can be resized by dragging the handles between them. * * @example * ```tsx * * Left Panel * * Right Panel * * ``` */ interface ResizablePanelGroupProps extends StyledComponentProps {} //#endregion export { ResizableClassNames, ResizableHandleProps, ResizablePanelGroupProps };