UNPKG

ag-grid-community

Version:

Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue

48 lines (47 loc) 1.75 kB
import { BeanStub } from '../context/beanStub'; import type { Component } from './component'; import { TabGuardCtrl } from './tabGuardCtrl'; export interface TabGuardParams { focusInnerElement?: (fromBottom: boolean) => boolean; shouldStopEventPropagation?: () => boolean; /** * @return `true` to prevent the default onFocusIn behavior */ onFocusIn?: (e: FocusEvent) => void; /** * @return `true` to prevent the default onFocusOut behavior */ onFocusOut?: (e: FocusEvent) => void; onTabKeyDown?: (e: KeyboardEvent) => void; handleKeyDown?: (e: KeyboardEvent) => void; /** * By default will check for focusable elements to see if empty. * Provide this to override. */ isEmpty?: () => boolean; /** * Set to true to create a circular focus pattern when keyboard tabbing. */ focusTrapActive?: boolean; /** * Set to true to find a focusable element outside of the TabGuards to focus */ forceFocusOutWhenTabGuardsAreEmpty?: boolean; isFocusableContainer?: boolean; } export declare class TabGuardFeature extends BeanStub { private readonly comp; private eTopGuard; private eBottomGuard; private eFocusableElement; private tabGuardCtrl; constructor(comp: Component<any>); initialiseTabGuard(params: TabGuardParams): void; getTabGuardCtrl(): TabGuardCtrl; private createTabGuard; private addTabGuards; removeAllChildrenExceptTabGuards(): void; forceFocusOutOfContainer(up?: boolean): void; appendChild(appendChild: (newChild: HTMLElement | Component<any>, container?: HTMLElement) => void, newChild: Component | HTMLElement, container?: HTMLElement | undefined): void; destroy(): void; }