@alifd/next
Version: 
A configurable component library for web built on React.
30 lines (29 loc) • 867 B
TypeScript
/**
 * 列出能获取焦点的子节点
 * @param node - 容器节点
 */
export declare function getFocusNodeList(node: HTMLElement): HTMLElement[];
/**
 * 保存最近一次获得焦点的无素
 */
export declare function saveLastFocusNode(): void;
/**
 * 清除焦点记录
 */
export declare function clearLastFocusNode(): void;
/**
 * 尝试将焦点切换到上一个元素
 */
export declare function backLastFocusNode(): void;
/**
 * 在限制的范围内切换焦点
 * @param node - 容器节点
 * @param e - 键盘事件
 */
export declare function limitTabRange(node: HTMLElement, e: Pick<KeyboardEvent, 'keyCode' | 'shiftKey' | 'preventDefault'>): void;
/**
 * 检查一个 ref 是否有 focus 方法,如果有方法,则调用 focus 函数
 */
export declare function focusRef(ref: {
    focus?: unknown;
} | undefined, ...args: unknown[]): void;