import { PanelCollapsedContent, PanelContent } from './styled'; import { ComponentProps, ReactNode, RefObject } from 'react'; import { IconButton } from '../IconButton'; import { Box } from '../Box'; type PanelCollapsedContentProps = Omit, '$isAdaptive1280' | 'showResizeable' | '$active'>; export type LeftPanelSlotSizesProps = { buttonSize: 's' | 'xs'; }; export type LeftPanelAdaptiveSlot = ReactNode | ((props: LeftPanelSlotSizesProps) => ReactNode); export type LeftPanelProps = { minWidth?: number; maxWidth?: number; disableMediaAdaptive?: boolean; collapseState?: [boolean, React.Dispatch>]; widthState?: [ number | undefined, React.Dispatch> ]; containerProps?: ComponentProps; contentProps?: Omit, '$active'>; collapsedContentProps?: PanelCollapsedContentProps; showToggleButton?: boolean; showResizeable?: boolean; expandedContent?: LeftPanelAdaptiveSlot; collapsedContent?: LeftPanelAdaptiveSlot; collapsedFooterContent?: LeftPanelAdaptiveSlot; onResize?: (width: number) => void; onToggleCollapse?: (next: boolean) => void; }; type ToggleButtonBaseProps = ComponentProps; export type ToggleButtonProps = ToggleButtonBaseProps & { collapsed?: boolean; isAbsolute?: boolean; isAdaptive1280?: boolean; onClick?: () => void; }; export type HookResizeProps = { setWidth: React.Dispatch>; isResizingRef: React.MutableRefObject; setIsResizing: React.Dispatch>; panelRef: RefObject; minWidth: number; maxWidth: number; parentRef: RefObject; isCollapsed: boolean; onResize?: (width: number) => void; }; export {};