@adaptabletools/adaptable
Version:
Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
24 lines (23 loc) • 1.14 kB
TypeScript
import { type ClassValue } from 'clsx';
export declare function cn(...inputs: ClassValue[]): string;
export declare const POPUP_Z_INDEX = "twa:z-[9999999]";
export declare const getFocusableElements: (root: HTMLElement) => HTMLElement[];
type CaptureTabEvent = Pick<KeyboardEvent, 'key' | 'shiftKey' | 'preventDefault'>;
type CaptureTabTarget = HTMLElement | null | {
current: HTMLElement | null;
};
/**
* Traps Tab / Shift+Tab navigation within `node` so focus cycles between the
* first and last focusable elements instead of escaping the container.
*
* Only acts when the currently focused element is within `node` — popups that
* portal elsewhere (selects, datepickers) keep managing their own navigation.
*
* `node` may be an element directly or a React ref to one.
*
* Can be called directly (`captureTab(node, event)`) or curried by omitting the
* event (`captureTab(node)`) to get a handler that only expects the event.
*/
export declare function captureTab(node: CaptureTabTarget): (event: CaptureTabEvent) => void;
export declare function captureTab(node: CaptureTabTarget, event: CaptureTabEvent): void;
export {};