UNPKG

ag-grid-community

Version:

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

68 lines (67 loc) 3.1 kB
import { AgBeanStub } from '../core/agBeanStub'; import type { AgCoreBeanCollection } from '../interfaces/agCoreBeanCollection'; import type { BaseEvents } from '../interfaces/baseEvents'; import type { BaseProperties } from '../interfaces/baseProperties'; import type { IPropertiesService } from '../interfaces/iProperties'; import type { StopPropagationCallbacks } from './agManagedFocusFeature'; export declare const TabGuardClassNames: { readonly TAB_GUARD: "ag-tab-guard"; readonly TAB_GUARD_TOP: "ag-tab-guard-top"; readonly TAB_GUARD_BOTTOM: "ag-tab-guard-bottom"; }; export interface ITabGuard { setTabIndex(tabIndex?: string): void; } export interface TabGuardCtrlParams { comp: ITabGuard; eTopGuard: HTMLElement; eBottomGuard: HTMLElement; eFocusableElement: HTMLElement; focusTrapActive?: boolean; forceFocusOutWhenTabGuardsAreEmpty?: boolean; isFocusableContainer?: boolean; focusInnerElement?: (fromBottom: boolean) => boolean; onFocusIn?: (event: FocusEvent) => void; onFocusOut?: (event: FocusEvent) => void; shouldStopEventPropagation?: () => boolean; onTabKeyDown?: (e: KeyboardEvent) => void; handleKeyDown?: (e: KeyboardEvent) => void; isEmpty?: () => boolean; } export declare class AgTabGuardCtrl<TBeanCollection extends AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends BaseProperties, TGlobalEvents extends BaseEvents, TCommon, TPropertiesService extends IPropertiesService<TProperties, TCommon>> extends AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> { private readonly stopPropagationCallbacks?; private readonly comp; private readonly eTopGuard; private readonly eBottomGuard; private readonly eFocusableElement; private readonly focusTrapActive; private readonly forceFocusOutWhenTabGuardsAreEmpty; private readonly isFocusableContainer; private readonly providedFocusInnerElement?; private readonly providedFocusIn?; private readonly providedFocusOut?; private readonly providedShouldStopEventPropagation?; private readonly providedOnTabKeyDown?; private readonly providedHandleKeyDown?; private readonly providedIsEmpty?; private skipTabGuardFocus; private forcingFocusOut; private allowFocus; constructor(params: TabGuardCtrlParams, stopPropagationCallbacks?: StopPropagationCallbacks | undefined); postConstruct(): void; private handleKeyDown; private tabGuardsAreActive; private shouldStopEventPropagation; private activateTabGuards; private deactivateTabGuards; private onFocus; private findNextElementOutsideAndFocus; private onFocusIn; private onFocusOut; onTabKeyDown(e: KeyboardEvent): void; focusInnerElement(fromBottom?: boolean): boolean; getNextFocusableElement(backwards?: boolean): HTMLElement | null; forceFocusOutOfContainer(up?: boolean): void; isTabGuard(element: HTMLElement, bottom?: boolean): boolean; setAllowFocus(allowFocus: boolean): void; }