react-split-pane
Version:
React split-pane component with hooks and TypeScript
34 lines • 1.3 kB
TypeScript
import type { Direction, ResizeEvent } from '../types';
/**
* Options for the useKeyboardResize hook.
*/
export interface UseKeyboardResizeOptions {
direction: Direction;
sizes: number[];
minSizes: number[];
maxSizes: number[];
step?: number | undefined;
largeStep?: number | undefined;
onResize?: ((sizes: number[], event: ResizeEvent) => void) | undefined;
onResizeEnd?: ((sizes: number[], event: ResizeEvent) => void) | undefined;
}
/**
* Hook that handles keyboard-based resizing of panes.
*
* This is a low-level hook used internally by SplitPane. For most use cases,
* you should use the SplitPane component directly.
*
* Supported keys:
* - Arrow keys: Resize by step (default 10px)
* - Shift + Arrow: Resize by large step (default 50px)
* - Home: Minimize the left/top pane to its minimum size
* - End: Maximize the left/top pane to its maximum size
* - Escape: Restore pane sizes to what they were when keyboard interaction started
*
* @param options - Configuration options for keyboard resize
* @returns Handler for keyboard events
*/
export declare function useKeyboardResize(options: UseKeyboardResizeOptions): {
handleKeyDown: (dividerIndex: number) => (e: React.KeyboardEvent) => void;
};
//# sourceMappingURL=useKeyboardResize.d.ts.map