25 lines
948 B
TypeScript
25 lines
948 B
TypeScript
import { useKeybindings } from '../keybindings/useKeybinding.js'
|
|
import { type ExitState, useExitOnCtrlCD } from './useExitOnCtrlCD.js'
|
|
|
|
export type { ExitState }
|
|
|
|
/**
|
|
* Convenience hook that wires up useExitOnCtrlCD with useKeybindings.
|
|
*
|
|
* This is the standard way to use useExitOnCtrlCD in components.
|
|
* The separation exists to avoid import cycles - useExitOnCtrlCD.ts
|
|
* doesn't import from the keybindings module directly.
|
|
*
|
|
* @param onExit - Optional custom exit handler
|
|
* @param onInterrupt - Optional callback for features to handle interrupt (ctrl+c).
|
|
* Return true if handled, false to fall through to double-press exit.
|
|
* @param isActive - Whether the keybinding is active (default true).
|
|
*/
|
|
export function useExitOnCtrlCDWithKeybindings(
|
|
onExit?: () => void,
|
|
onInterrupt?: () => boolean,
|
|
isActive?: boolean,
|
|
): ExitState {
|
|
return useExitOnCtrlCD(useKeybindings, onInterrupt, onExit, isActive)
|
|
}
|