import type { ReactNode, RefObject } from 'react'; import type { Resizable } from 're-resizable'; export type ResizableType = Resizable; export type PlacementBasic = 'auto' | 'center' | 'top' | 'bottom' | 'right' | 'left'; export type PlacementMixed = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'; export type Placement = PlacementBasic | PlacementMixed; export type ResizeDirections = Omit[]; export type ResizableProps = { placement?: Placement; resizable?: boolean | { /** * Включение/выключение ресайза. * @default false */ disabled?: boolean; /** * Направления для ресайза. */ directions?: ResizeDirections; /** * Начальный размер окна ресайза. */ defaultSize?: { width?: number; height?: number; }; /** * Минимальная ширина ресайза в px. */ minWidth?: number; /** * Минимальная высота ресайза в px. */ minHeight?: number; /** * Максимальная ширина ресайза в px. */ maxWidth?: number; /** * Максимальная высота ресайза в px. */ maxHeight?: number; /** * Кастомные иконки ресайза. */ icons?: { topRight?: ReactNode; bottomRight?: ReactNode; bottomLeft?: ReactNode; topLeft?: ReactNode; }; /** * Размер иконки ресайза. * @default s */ iconSize?: 'xs' | 's' | 'm'; /** * Скрывать ли иконку для ресайза. * @default false */ hiddenIcons?: PlacementMixed[]; }; /** * Обработчик начала ресайза. */ onResizeStart?: (resizableContainer?: RefObject) => void; /** * Обработчик остановки ресайза. */ onResizeEnd?: (resizableContainer?: RefObject) => void; }; //# sourceMappingURL=Resizable.types.d.ts.map