Files
motia/.npm-cache/_npx/0ebd1cb7ec11dd1f/node_modules/react-use-resizable/lib/index.d.ts
2025-10-19 14:57:07 +00:00

49 lines
1.4 KiB
TypeScript

import React from 'react';
declare type SharedProps = {
maxHeight?: number;
maxWidth?: number;
minHeight?: number;
minWidth?: number;
lockHorizontal?: boolean;
lockVertical?: boolean;
onResize?: (values: MoveValues) => void;
onDragEnd?: (values: MoveValues) => void;
onDragStart?: (values: MoveValues) => void;
disabled?: boolean;
maintainAspectRatio?: boolean;
};
export interface ResizableProps extends SharedProps {
interval?: number;
initialHeight?: number | string;
initialWidth?: number | string;
}
export interface ResizeHandleProps extends SharedProps {
parent?: React.RefObject<HTMLElement>;
interval?: number;
reverse?: boolean;
}
export declare type MoveValues = {
newHeight: number;
heightDiff: number;
newWidth: number;
widthDiff: number;
};
export declare const useResizable: (options: ResizableProps) => {
rootRef: React.RefObject<HTMLDivElement>;
getRootProps: () => {
ref: React.RefObject<HTMLDivElement>;
style: {
height: string | number | undefined;
width: string | number | undefined;
};
};
getHandleProps: (handleProps?: ResizeHandleProps) => {
onMouseDown: (e: React.MouseEvent | React.TouchEvent) => void;
onTouchStart: (e: React.MouseEvent | React.TouchEvent) => void;
style: {
cursor: string;
};
};
};
export {};