This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
type FocusableElement = HTMLElement | SVGElement;
|
||||
|
||||
export type CheckOptions = {
|
||||
displayCheck?:
|
||||
| 'full'
|
||||
| 'full-native'
|
||||
| 'legacy-full'
|
||||
| 'non-zero-area'
|
||||
| 'none';
|
||||
getShadowRoot?:
|
||||
| boolean
|
||||
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents -- there is no overlap here; the function can return true/false/undefined
|
||||
| ((node: FocusableElement) => ShadowRoot | boolean | undefined);
|
||||
};
|
||||
|
||||
export type TabbableOptions = {
|
||||
includeContainer?: boolean;
|
||||
};
|
||||
|
||||
export declare function tabbable(
|
||||
container: Element,
|
||||
options?: TabbableOptions & CheckOptions
|
||||
): FocusableElement[];
|
||||
|
||||
export declare function focusable(
|
||||
container: Element,
|
||||
options?: TabbableOptions & CheckOptions
|
||||
): FocusableElement[];
|
||||
|
||||
export declare function isTabbable(
|
||||
node: Element,
|
||||
options?: CheckOptions
|
||||
): boolean;
|
||||
|
||||
export declare function isFocusable(
|
||||
node: Element,
|
||||
options?: CheckOptions
|
||||
): boolean;
|
||||
|
||||
export declare function getTabIndex(node: Element): number;
|
||||
Reference in New Issue
Block a user