1357 lines
57 KiB
TypeScript
1357 lines
57 KiB
TypeScript
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
declare const TABSTER_ATTRIBUTE_NAME: "data-tabster";
|
||
|
declare const TABSTER_DUMMY_INPUT_ATTRIBUTE_NAME: "data-tabster-dummy";
|
||
|
declare const FOCUSABLE_SELECTOR: string;
|
||
|
declare const AsyncFocusSources$1: {
|
||
|
readonly EscapeGroupper: 1;
|
||
|
readonly Restorer: 2;
|
||
|
readonly Deloser: 3;
|
||
|
};
|
||
|
declare const ObservedElementAccessibilities$1: {
|
||
|
readonly Any: 0;
|
||
|
readonly Accessible: 1;
|
||
|
readonly Focusable: 2;
|
||
|
};
|
||
|
declare const RestoreFocusOrders$1: {
|
||
|
readonly History: 0;
|
||
|
readonly DeloserDefault: 1;
|
||
|
readonly RootDefault: 2;
|
||
|
readonly DeloserFirst: 3;
|
||
|
readonly RootFirst: 4;
|
||
|
};
|
||
|
declare const DeloserStrategies$1: {
|
||
|
/**
|
||
|
* If the focus is lost, the focus will be restored automatically using all available focus history.
|
||
|
* This is the default strategy.
|
||
|
*/
|
||
|
readonly Auto: 0;
|
||
|
/**
|
||
|
* If the focus is lost from this Deloser instance, the focus will not be restored automatically.
|
||
|
* The application might listen to the event and restore the focus manually.
|
||
|
* But if it is lost from another Deloser instance, the history of this Deloser could be used finding
|
||
|
* the element to focus.
|
||
|
*/
|
||
|
readonly Manual: 1;
|
||
|
};
|
||
|
declare const Visibilities$1: {
|
||
|
readonly Invisible: 0;
|
||
|
readonly PartiallyVisible: 1;
|
||
|
readonly Visible: 2;
|
||
|
};
|
||
|
declare const RestorerTypes$1: {
|
||
|
readonly Source: 0;
|
||
|
readonly Target: 1;
|
||
|
};
|
||
|
declare const MoverDirections$1: {
|
||
|
readonly Both: 0;
|
||
|
readonly Vertical: 1;
|
||
|
readonly Horizontal: 2;
|
||
|
readonly Grid: 3;
|
||
|
readonly GridLinear: 4;
|
||
|
};
|
||
|
declare const MoverKeys$1: {
|
||
|
readonly ArrowUp: 1;
|
||
|
readonly ArrowDown: 2;
|
||
|
readonly ArrowLeft: 3;
|
||
|
readonly ArrowRight: 4;
|
||
|
readonly PageUp: 5;
|
||
|
readonly PageDown: 6;
|
||
|
readonly Home: 7;
|
||
|
readonly End: 8;
|
||
|
};
|
||
|
declare const GroupperTabbabilities$1: {
|
||
|
readonly Unlimited: 0;
|
||
|
readonly Limited: 1;
|
||
|
readonly LimitedTrapFocus: 2;
|
||
|
};
|
||
|
declare const GroupperMoveFocusActions$1: {
|
||
|
readonly Enter: 1;
|
||
|
readonly Escape: 2;
|
||
|
};
|
||
|
declare const SysDummyInputsPositions$1: {
|
||
|
readonly Auto: 0;
|
||
|
readonly Inside: 1;
|
||
|
readonly Outside: 2;
|
||
|
};
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
interface HTMLElementWithTabsterFlags extends HTMLElement {
|
||
|
__tabsterElementFlags?: {
|
||
|
/**
|
||
|
* @deprecated This option is added to support interop between Fluent UI V9 and Fluent UI V8.
|
||
|
* Once Fluent UI V8 is not supported anymore, this option should be removed.
|
||
|
*/
|
||
|
noDirectAriaHidden?: boolean;
|
||
|
};
|
||
|
}
|
||
|
interface TabsterDOMAttribute {
|
||
|
[TABSTER_ATTRIBUTE_NAME]: string | undefined;
|
||
|
}
|
||
|
interface TabsterCoreProps {
|
||
|
autoRoot?: RootProps;
|
||
|
/**
|
||
|
* Allows all tab key presses under the tabster root to be controlled by tabster
|
||
|
* @default true
|
||
|
*/
|
||
|
controlTab?: boolean;
|
||
|
/**
|
||
|
* When controlTab is false, Root doesn't have dummy inputs by default.
|
||
|
* This option allows to enable dummy inputs on Root.
|
||
|
*/
|
||
|
rootDummyInputs?: boolean;
|
||
|
/**
|
||
|
* A callback that will be called for the uncontrolled areas when Tabster wants
|
||
|
* to know is the uncontrolled element wants complete control (for example it
|
||
|
* is trapping focus) and Tabster should not interfere with handling Tab.
|
||
|
* If the callback returns undefined, then the default behaviour is to return
|
||
|
* the uncontrolled.completely value from the element. If the callback returns
|
||
|
* non-undefined value, the callback's value will dominate the element's
|
||
|
* uncontrolled.completely value.
|
||
|
*/
|
||
|
checkUncontrolledCompletely?: (element: HTMLElement, completely: boolean) => boolean | undefined;
|
||
|
/**
|
||
|
* @deprecated use checkUncontrolledCompletely.
|
||
|
*/
|
||
|
checkUncontrolledTrappingFocus?: (element: HTMLElement) => boolean;
|
||
|
/**
|
||
|
* Custom getter for parent elements. Defaults to the default .parentElement call
|
||
|
* Currently only used to detect tabster contexts
|
||
|
*/
|
||
|
getParent?(el: Node): Node | null;
|
||
|
/**
|
||
|
* Ability to redefine all DOM API calls used by Tabster. For example, for
|
||
|
* ShadowDOM support.
|
||
|
*/
|
||
|
DOMAPI?: Partial<DOMAPI>;
|
||
|
}
|
||
|
interface DOMAPI {
|
||
|
createMutationObserver: (callback: MutationCallback) => MutationObserver;
|
||
|
createTreeWalker(doc: Document, root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;
|
||
|
getParentNode(node: Node | null | undefined): ParentNode | null;
|
||
|
getParentElement(element: HTMLElement | null | undefined): HTMLElement | null;
|
||
|
nodeContains(parent: Node | null | undefined, child: Node | null | undefined): boolean;
|
||
|
getActiveElement(doc: Document): Element | null;
|
||
|
querySelector(element: ParentNode, selector: string): Element | null;
|
||
|
querySelectorAll(element: ParentNode, selector: string): Element[];
|
||
|
getElementById(doc: Document, id: string): HTMLElement | null;
|
||
|
getFirstChild(node: Node | null | undefined): ChildNode | null;
|
||
|
getLastChild(node: Node | null | undefined): ChildNode | null;
|
||
|
getNextSibling(node: Node | null | undefined): ChildNode | null;
|
||
|
getPreviousSibling(node: Node | null | undefined): ChildNode | null;
|
||
|
getFirstElementChild(element: Element | null | undefined): Element | null;
|
||
|
getLastElementChild(element: Element | null | undefined): Element | null;
|
||
|
getNextElementSibling(element: Element | null | undefined): Element | null;
|
||
|
getPreviousElementSibling(element: Element | null | undefined): Element | null;
|
||
|
appendChild(parent: Node, child: Node): Node;
|
||
|
insertBefore(parent: Node, child: Node, referenceChild: Node | null): Node;
|
||
|
getSelection(ref: Node): Selection | null;
|
||
|
getElementsByName(referenceElement: HTMLElement, name: string): NodeListOf<HTMLElement>;
|
||
|
}
|
||
|
type GetTabster = () => TabsterCore;
|
||
|
type GetWindow = () => Window;
|
||
|
type SubscribableCallback<A, B = undefined> = (val: A, detail: B) => void;
|
||
|
interface Disposable {
|
||
|
}
|
||
|
interface Subscribable<A, B = undefined> {
|
||
|
subscribe(callback: SubscribableCallback<A, B>): void;
|
||
|
unsubscribe(callback: SubscribableCallback<A, B>): void;
|
||
|
}
|
||
|
interface KeyboardNavigationState extends Subscribable<boolean>, Disposable {
|
||
|
isNavigatingWithKeyboard(): boolean;
|
||
|
setNavigatingWithKeyboard(isNavigatingWithKeyboard: boolean): void;
|
||
|
}
|
||
|
interface FocusedElementDetail {
|
||
|
relatedTarget?: HTMLElement;
|
||
|
isFocusedProgrammatically?: boolean;
|
||
|
modalizerId?: string;
|
||
|
}
|
||
|
|
||
|
type AsyncFocusSources = typeof AsyncFocusSources$1;
|
||
|
type AsyncFocusSource = AsyncFocusSources[keyof AsyncFocusSources];
|
||
|
interface FocusedElementState extends Subscribable<HTMLElement | undefined, FocusedElementDetail>, Disposable {
|
||
|
getFocusedElement(): HTMLElement | undefined;
|
||
|
getLastFocusedElement(): HTMLElement | undefined;
|
||
|
focus(element: HTMLElement, noFocusedProgrammaticallyFlag?: boolean, noAccessibleCheck?: boolean): boolean;
|
||
|
focusDefault(container: HTMLElement): boolean;
|
||
|
focusFirst(props: FindFirstProps): boolean;
|
||
|
focusLast(props: FindFirstProps): boolean;
|
||
|
resetFocus(container: HTMLElement): boolean;
|
||
|
}
|
||
|
interface WeakHTMLElement<D = undefined> {
|
||
|
get(): HTMLElement | undefined;
|
||
|
getData(): D | undefined;
|
||
|
}
|
||
|
interface TabsterPart<P> {
|
||
|
readonly id: string;
|
||
|
getElement(): HTMLElement | undefined;
|
||
|
getProps(): P;
|
||
|
setProps(props: P): void;
|
||
|
}
|
||
|
interface TabsterPartWithFindNextTabbable {
|
||
|
findNextTabbable(current?: HTMLElement, reference?: HTMLElement, isBackward?: boolean, ignoreAccessibility?: boolean): NextTabbable | null;
|
||
|
}
|
||
|
interface TabsterPartWithAcceptElement {
|
||
|
acceptElement(element: HTMLElement, state: FocusableAcceptElementState): number | undefined;
|
||
|
}
|
||
|
interface ObservedElementProps {
|
||
|
names: string[];
|
||
|
details?: any;
|
||
|
}
|
||
|
interface ObservedElementDetails extends ObservedElementProps {
|
||
|
accessibility?: ObservedElementAccessibility;
|
||
|
}
|
||
|
|
||
|
type ObservedElementAccessibilities = typeof ObservedElementAccessibilities$1;
|
||
|
type ObservedElementAccessibility = ObservedElementAccessibilities[keyof ObservedElementAccessibilities];
|
||
|
interface ObservedElementAsyncRequest<T> {
|
||
|
result: Promise<T>;
|
||
|
cancel(): void;
|
||
|
}
|
||
|
interface ObservedElementAPIInternal {
|
||
|
}
|
||
|
interface ObservedElementAPI extends Subscribable<HTMLElement, ObservedElementDetails>, Disposable, ObservedElementAPIInternal {
|
||
|
getElement(observedName: string, accessibility?: ObservedElementAccessibility): HTMLElement | null;
|
||
|
waitElement(observedName: string, timeout: number, accessibility?: ObservedElementAccessibility): ObservedElementAsyncRequest<HTMLElement | null>;
|
||
|
requestFocus(observedName: string, timeout: number): ObservedElementAsyncRequest<boolean>;
|
||
|
}
|
||
|
interface CrossOriginElement {
|
||
|
readonly uid: string;
|
||
|
readonly ownerId: string;
|
||
|
readonly id?: string;
|
||
|
readonly rootId?: string;
|
||
|
readonly observedName?: string;
|
||
|
readonly observedDetails?: string;
|
||
|
focus(noFocusedProgrammaticallyFlag?: boolean, noAccessibleCheck?: boolean): Promise<boolean>;
|
||
|
}
|
||
|
interface CrossOriginSentTo {
|
||
|
[id: string]: true;
|
||
|
}
|
||
|
interface CrossOriginTransactionTypes {
|
||
|
Bootstrap: 1;
|
||
|
FocusElement: 2;
|
||
|
State: 3;
|
||
|
GetElement: 4;
|
||
|
RestoreFocusInDeloser: 5;
|
||
|
Ping: 6;
|
||
|
}
|
||
|
type CrossOriginTransactionType = CrossOriginTransactionTypes[keyof CrossOriginTransactionTypes];
|
||
|
interface CrossOriginTransactionData<I, O> {
|
||
|
transaction: string;
|
||
|
type: CrossOriginTransactionType;
|
||
|
isResponse: boolean;
|
||
|
timestamp: number;
|
||
|
owner: string;
|
||
|
sentto: CrossOriginSentTo;
|
||
|
timeout?: number;
|
||
|
target?: string;
|
||
|
beginData?: I;
|
||
|
endData?: O;
|
||
|
}
|
||
|
type CrossOriginTransactionSend = (data: CrossOriginTransactionData<any, any>) => void;
|
||
|
interface CrossOriginMessage {
|
||
|
data: CrossOriginTransactionData<any, any>;
|
||
|
send: CrossOriginTransactionSend;
|
||
|
}
|
||
|
interface CrossOriginFocusedElementState extends Subscribable<CrossOriginElement | undefined, FocusedElementDetail>, Disposable {
|
||
|
focus(element: CrossOriginElement, noFocusedProgrammaticallyFlag?: boolean, noAccessibleCheck?: boolean): Promise<boolean>;
|
||
|
focusById(elementId: string, rootId?: string, noFocusedProgrammaticallyFlag?: boolean, noAccessibleCheck?: boolean): Promise<boolean>;
|
||
|
focusByObservedName(observedName: string, timeout?: number, rootId?: string, noFocusedProgrammaticallyFlag?: boolean, noAccessibleCheck?: boolean): Promise<boolean>;
|
||
|
}
|
||
|
interface CrossOriginObservedElementState extends Subscribable<CrossOriginElement, ObservedElementProps>, Disposable {
|
||
|
getElement(observedName: string, accessibility?: ObservedElementAccessibility): Promise<CrossOriginElement | null>;
|
||
|
waitElement(observedName: string, timeout: number, accessibility?: ObservedElementAccessibility): Promise<CrossOriginElement | null>;
|
||
|
requestFocus(observedName: string, timeout: number): Promise<boolean>;
|
||
|
}
|
||
|
interface CrossOriginAPI {
|
||
|
focusedElement: CrossOriginFocusedElementState;
|
||
|
observedElement: CrossOriginObservedElementState;
|
||
|
setup(sendUp?: CrossOriginTransactionSend | null): (msg: CrossOriginMessage) => void;
|
||
|
isSetUp(): boolean;
|
||
|
dispose(): void;
|
||
|
}
|
||
|
interface OutlineProps {
|
||
|
areaClass: string;
|
||
|
outlineClass: string;
|
||
|
outlineColor: string;
|
||
|
outlineWidth: number;
|
||
|
zIndex: number;
|
||
|
}
|
||
|
interface OutlinedElementProps {
|
||
|
isIgnored?: boolean;
|
||
|
}
|
||
|
interface OutlineAPI extends Disposable {
|
||
|
setup(props?: Partial<OutlineProps>): void;
|
||
|
}
|
||
|
interface DeloserElementActions {
|
||
|
focusDefault: () => boolean;
|
||
|
focusFirst: () => boolean;
|
||
|
resetFocus: () => boolean;
|
||
|
clearHistory: (preserveExisting?: boolean) => void;
|
||
|
setSnapshot: (index: number) => void;
|
||
|
isActive: () => boolean;
|
||
|
}
|
||
|
|
||
|
type RestoreFocusOrders = typeof RestoreFocusOrders$1;
|
||
|
type RestoreFocusOrder = RestoreFocusOrders[keyof RestoreFocusOrders];
|
||
|
|
||
|
type DeloserStrategies = typeof DeloserStrategies$1;
|
||
|
type DeloserStrategy = DeloserStrategies[keyof DeloserStrategies];
|
||
|
interface DeloserProps {
|
||
|
restoreFocusOrder?: RestoreFocusOrder;
|
||
|
noSelectorCheck?: boolean;
|
||
|
strategy?: DeloserStrategy;
|
||
|
}
|
||
|
interface Deloser extends TabsterPart<DeloserProps> {
|
||
|
readonly uid: string;
|
||
|
readonly strategy: DeloserStrategy;
|
||
|
dispose(): void;
|
||
|
isActive(): boolean;
|
||
|
setActive(active: boolean): void;
|
||
|
getActions(): DeloserElementActions;
|
||
|
setSnapshot(index: number): void;
|
||
|
focusFirst(): boolean;
|
||
|
unshift(element: HTMLElement): void;
|
||
|
focusDefault(): boolean;
|
||
|
resetFocus(): boolean;
|
||
|
findAvailable(): HTMLElement | null;
|
||
|
clearHistory(preserveExisting?: boolean): void;
|
||
|
customFocusLostHandler(element: HTMLElement): boolean;
|
||
|
}
|
||
|
type DeloserConstructor = (element: HTMLElement, props: DeloserProps) => Deloser;
|
||
|
interface DeloserInterfaceInternal {
|
||
|
}
|
||
|
interface DeloserAPI extends DeloserInterfaceInternal, Disposable {
|
||
|
getActions(element: HTMLElement): DeloserElementActions | undefined;
|
||
|
pause(): void;
|
||
|
resume(restore?: boolean): void;
|
||
|
}
|
||
|
interface FocusableProps {
|
||
|
isDefault?: boolean;
|
||
|
isIgnored?: boolean;
|
||
|
/**
|
||
|
* Do not determine an element's focusability based on aria-disabled.
|
||
|
*/
|
||
|
ignoreAriaDisabled?: boolean;
|
||
|
/**
|
||
|
* Exclude element (and all subelements) from Mover navigation.
|
||
|
*/
|
||
|
excludeFromMover?: boolean;
|
||
|
/**
|
||
|
* Prevents tabster from handling the keydown event
|
||
|
*/
|
||
|
ignoreKeydown?: {
|
||
|
Tab?: boolean;
|
||
|
Escape?: boolean;
|
||
|
Enter?: boolean;
|
||
|
ArrowUp?: boolean;
|
||
|
ArrowDown?: boolean;
|
||
|
ArrowLeft?: boolean;
|
||
|
ArrowRight?: boolean;
|
||
|
PageUp?: boolean;
|
||
|
PageDown?: boolean;
|
||
|
Home?: boolean;
|
||
|
End?: boolean;
|
||
|
};
|
||
|
}
|
||
|
interface RadioButtonGroup {
|
||
|
name: string;
|
||
|
buttons: Set<HTMLInputElement>;
|
||
|
checked?: HTMLInputElement;
|
||
|
}
|
||
|
interface FocusableAcceptElementState {
|
||
|
container: HTMLElement;
|
||
|
modalizerUserId?: string;
|
||
|
currentCtx?: TabsterContext;
|
||
|
from: HTMLElement;
|
||
|
fromCtx?: TabsterContext;
|
||
|
isBackward?: boolean;
|
||
|
found?: boolean;
|
||
|
foundElement?: HTMLElement;
|
||
|
foundBackward?: HTMLElement;
|
||
|
rejectElementsFrom?: HTMLElement;
|
||
|
uncontrolled?: HTMLElement;
|
||
|
acceptCondition: (el: HTMLElement) => boolean;
|
||
|
hasCustomCondition?: boolean;
|
||
|
includeProgrammaticallyFocusable?: boolean;
|
||
|
ignoreAccessibility?: boolean;
|
||
|
cachedGrouppers: {
|
||
|
[id: string]: {
|
||
|
isActive: boolean | undefined;
|
||
|
first?: HTMLElement | null;
|
||
|
};
|
||
|
};
|
||
|
cachedRadioGroups: {
|
||
|
[name: string]: RadioButtonGroup;
|
||
|
};
|
||
|
isFindAll?: boolean;
|
||
|
/**
|
||
|
* A flag that indicates that some focusable elements were skipped
|
||
|
* during the search and the found element is not the one the browser
|
||
|
* would normally focus if the user pressed Tab.
|
||
|
*/
|
||
|
skippedFocusable?: boolean;
|
||
|
}
|
||
|
interface FindFocusableProps {
|
||
|
/**
|
||
|
* The container used for the search.
|
||
|
*/
|
||
|
container: HTMLElement;
|
||
|
/**
|
||
|
* The elemet to start from.
|
||
|
*/
|
||
|
currentElement?: HTMLElement;
|
||
|
/**
|
||
|
* See `referenceElement` of GetTabsterContextOptions for description.
|
||
|
*/
|
||
|
referenceElement?: HTMLElement;
|
||
|
/**
|
||
|
* Includes elements that can be focused programmatically.
|
||
|
*/
|
||
|
includeProgrammaticallyFocusable?: boolean;
|
||
|
/**
|
||
|
* Ignore accessibility check.
|
||
|
*/
|
||
|
ignoreAccessibility?: boolean;
|
||
|
/**
|
||
|
* Take active modalizer into account when searching for elements
|
||
|
* (the elements out of active modalizer will not be returned).
|
||
|
*/
|
||
|
useActiveModalizer?: boolean;
|
||
|
/**
|
||
|
* Search withing the specified modality, null for everything outside of modalizers, string within
|
||
|
* a specific id, undefined for search within the current application state.
|
||
|
*/
|
||
|
modalizerId?: string | null;
|
||
|
/**
|
||
|
* If true, find previous element instead of the next one.
|
||
|
*/
|
||
|
isBackward?: boolean;
|
||
|
/**
|
||
|
* @param el element visited.
|
||
|
* @returns if an element should be accepted.
|
||
|
*/
|
||
|
acceptCondition?(el: HTMLElement): boolean;
|
||
|
/**
|
||
|
* A callback that will be called for every focusable element found during findAll().
|
||
|
* If false is returned from this callback, the search will stop.
|
||
|
*/
|
||
|
onElement?: FindElementCallback;
|
||
|
}
|
||
|
interface FindFocusableOutputProps {
|
||
|
/**
|
||
|
* An output parameter. Will be true after the findNext/findPrev() call if some focusable
|
||
|
* elements were skipped during the search and the result element not immediately next
|
||
|
* focusable after the currentElement.
|
||
|
*/
|
||
|
outOfDOMOrder?: boolean;
|
||
|
/**
|
||
|
* An output parameter. Will be true if the found element is uncontrolled.
|
||
|
*/
|
||
|
uncontrolled?: HTMLElement | null;
|
||
|
}
|
||
|
type FindFirstProps = Pick<FindFocusableProps, "container" | "modalizerId" | "includeProgrammaticallyFocusable" | "useActiveModalizer" | "ignoreAccessibility">;
|
||
|
type FindNextProps = Pick<FindFocusableProps, "currentElement" | "referenceElement" | "container" | "modalizerId" | "includeProgrammaticallyFocusable" | "useActiveModalizer" | "ignoreAccessibility">;
|
||
|
type FindDefaultProps = Pick<FindFocusableProps, "container" | "modalizerId" | "includeProgrammaticallyFocusable" | "useActiveModalizer" | "ignoreAccessibility">;
|
||
|
type FindAllProps = Pick<FindFocusableProps, "container" | "modalizerId" | "currentElement" | "isBackward" | "includeProgrammaticallyFocusable" | "useActiveModalizer" | "acceptCondition" | "ignoreAccessibility" | "onElement">;
|
||
|
/**
|
||
|
* A callback that is called for every found element during search. Returning false stops search.
|
||
|
*/
|
||
|
type FindElementCallback = (element: HTMLElement) => boolean;
|
||
|
interface FocusableAPI extends Disposable {
|
||
|
getProps(element: HTMLElement): FocusableProps;
|
||
|
isFocusable(element: HTMLElement, includeProgrammaticallyFocusable?: boolean, noVisibleCheck?: boolean, noAccessibleCheck?: boolean): boolean;
|
||
|
isVisible(element: HTMLElement): boolean;
|
||
|
isAccessible(element: HTMLElement): boolean;
|
||
|
findFirst(options: FindFirstProps, out?: FindFocusableOutputProps): HTMLElement | null | undefined;
|
||
|
findLast(options: FindFirstProps, out?: FindFocusableOutputProps): HTMLElement | null | undefined;
|
||
|
findNext(options: FindNextProps, out?: FindFocusableOutputProps): HTMLElement | null | undefined;
|
||
|
findPrev(options: FindNextProps, out?: FindFocusableOutputProps): HTMLElement | null | undefined;
|
||
|
findDefault(options: FindDefaultProps, out?: FindFocusableOutputProps): HTMLElement | null;
|
||
|
/**
|
||
|
* @returns All focusables in a given context that satisfy an given condition
|
||
|
*/
|
||
|
findAll(options: FindAllProps): HTMLElement[];
|
||
|
findElement(options: FindFocusableProps, out?: FindFocusableOutputProps): HTMLElement | null | undefined;
|
||
|
}
|
||
|
interface DummyInputManager {
|
||
|
moveOut: (backwards: boolean) => void;
|
||
|
moveOutWithDefaultAction: (backwards: boolean, relatedEvent: KeyboardEvent) => void;
|
||
|
}
|
||
|
|
||
|
type Visibilities = typeof Visibilities$1;
|
||
|
type Visibility = Visibilities[keyof Visibilities];
|
||
|
interface MoverElementState {
|
||
|
isCurrent: boolean | undefined;
|
||
|
visibility: Visibility;
|
||
|
}
|
||
|
|
||
|
type RestorerTypes = typeof RestorerTypes$1;
|
||
|
type RestorerType = RestorerTypes[keyof RestorerTypes];
|
||
|
|
||
|
type MoverDirections = typeof MoverDirections$1;
|
||
|
type MoverDirection = MoverDirections[keyof MoverDirections];
|
||
|
interface NextTabbable {
|
||
|
element: HTMLElement | null | undefined;
|
||
|
uncontrolled?: HTMLElement | null;
|
||
|
outOfDOMOrder?: boolean;
|
||
|
}
|
||
|
interface MoverProps {
|
||
|
direction?: MoverDirection;
|
||
|
memorizeCurrent?: boolean;
|
||
|
tabbable?: boolean;
|
||
|
/**
|
||
|
* Whether to allow cyclic navigation in the mover
|
||
|
* Can only be applied if navigationType is MoverKeys.Arrows
|
||
|
*
|
||
|
* @defaultValue false
|
||
|
*/
|
||
|
cyclic?: boolean;
|
||
|
/**
|
||
|
* In case we need a rich state of the elements inside a Mover,
|
||
|
* we can track it. It takes extra resourses and might affect
|
||
|
* performance when a Mover has many elements inside, so make sure
|
||
|
* you use this prop when it is really needed.
|
||
|
*/
|
||
|
trackState?: boolean;
|
||
|
/**
|
||
|
* When set to Visibility.Visible or Visibility.PartiallyVisible,
|
||
|
* uses the visibility part of the trackState prop to be able to
|
||
|
* go to first/last visible element (instead of first/last focusable
|
||
|
* element in DOM) when tabbing from outside of the mover.
|
||
|
*/
|
||
|
visibilityAware?: Visibility;
|
||
|
/**
|
||
|
* When true, Mover will try to locate a focusable with Focusable.isDefault
|
||
|
* property as a prioritized element to focus. True by default.
|
||
|
*/
|
||
|
hasDefault?: boolean;
|
||
|
/**
|
||
|
* A value between 0 and 1 that specifies the tolerance allowed
|
||
|
* when testing for visibility.
|
||
|
*
|
||
|
* @example
|
||
|
* an element of height 100px has 10px that are above the viewport
|
||
|
* hidden by scroll. This element is a valid visible element to focus.
|
||
|
*
|
||
|
* @default 0.8
|
||
|
*/
|
||
|
visibilityTolerance?: number;
|
||
|
}
|
||
|
interface Mover extends TabsterPart<MoverProps>, TabsterPartWithFindNextTabbable, TabsterPartWithAcceptElement {
|
||
|
readonly id: string;
|
||
|
readonly dummyManager: DummyInputManager | undefined;
|
||
|
readonly visibilityTolerance: NonNullable<MoverProps["visibilityTolerance"]>;
|
||
|
dispose(): void;
|
||
|
setCurrent(element: HTMLElement | undefined): void;
|
||
|
getCurrent(): HTMLElement | null;
|
||
|
getState(element: HTMLElement): MoverElementState | undefined;
|
||
|
}
|
||
|
type MoverConstructor = (tabster: TabsterCore, element: HTMLElement, props: MoverProps) => Mover;
|
||
|
interface MoverAPIInternal {
|
||
|
}
|
||
|
|
||
|
type MoverKeys = typeof MoverKeys$1;
|
||
|
type MoverKey = MoverKeys[keyof MoverKeys];
|
||
|
interface MoverAPI extends MoverAPIInternal, Disposable {
|
||
|
}
|
||
|
|
||
|
type GroupperTabbabilities = typeof GroupperTabbabilities$1;
|
||
|
type GroupperTabbability = GroupperTabbabilities[keyof GroupperTabbabilities];
|
||
|
interface GroupperProps {
|
||
|
tabbability?: GroupperTabbability;
|
||
|
delegated?: boolean;
|
||
|
}
|
||
|
interface Groupper extends TabsterPart<GroupperProps>, TabsterPartWithFindNextTabbable, TabsterPartWithAcceptElement {
|
||
|
readonly id: string;
|
||
|
readonly dummyManager: DummyInputManager | undefined;
|
||
|
dispose(): void;
|
||
|
makeTabbable(isUnlimited: boolean): void;
|
||
|
isActive(noIfFirstIsFocused?: boolean): boolean | undefined;
|
||
|
setFirst(element: HTMLElement | undefined): void;
|
||
|
getFirst(orContainer: boolean): HTMLElement | undefined;
|
||
|
}
|
||
|
type GroupperConstructor = (tabster: TabsterCore, element: HTMLElement, props: GroupperProps) => Groupper;
|
||
|
|
||
|
type GroupperMoveFocusActions = typeof GroupperMoveFocusActions$1;
|
||
|
type GroupperMoveFocusAction = GroupperMoveFocusActions[keyof GroupperMoveFocusActions];
|
||
|
interface GroupperAPI extends GroupperAPIInternal, Disposable {
|
||
|
}
|
||
|
interface GroupperAPIInternal {
|
||
|
}
|
||
|
interface GroupperAPIInternal {
|
||
|
forgetCurrentGrouppers(): void;
|
||
|
}
|
||
|
interface ModalizerProps {
|
||
|
id: string;
|
||
|
isOthersAccessible?: boolean;
|
||
|
isAlwaysAccessible?: boolean;
|
||
|
isNoFocusFirst?: boolean;
|
||
|
isNoFocusDefault?: boolean;
|
||
|
/** A focus trap variant, keeps focus inside the modal when tabbing */
|
||
|
isTrapped?: boolean;
|
||
|
}
|
||
|
interface Modalizer extends TabsterPart<ModalizerProps>, TabsterPartWithFindNextTabbable {
|
||
|
readonly userId: string;
|
||
|
readonly dummyManager: DummyInputManager | undefined;
|
||
|
/**
|
||
|
* @returns - Whether the element is inside the modalizer
|
||
|
*/
|
||
|
contains(element: HTMLElement): boolean;
|
||
|
dispose(): void;
|
||
|
isActive(): boolean;
|
||
|
makeActive(isActive: boolean): void;
|
||
|
focused(noIncrement?: boolean): number;
|
||
|
}
|
||
|
type ModalizerConstructor = (tabster: TabsterCore, element: HTMLElement, props: ModalizerProps) => Modalizer;
|
||
|
interface RootProps {
|
||
|
restoreFocusOrder?: RestoreFocusOrder;
|
||
|
}
|
||
|
interface Root extends TabsterPart<RootProps> {
|
||
|
readonly uid: string;
|
||
|
dispose(): void;
|
||
|
moveOutWithDefaultAction(backwards: boolean, relatedEvent: KeyboardEvent): void;
|
||
|
}
|
||
|
type RootConstructor = (tabster: TabsterCore, element: HTMLElement, props: RootProps) => Root;
|
||
|
|
||
|
type SysDummyInputsPositions = typeof SysDummyInputsPositions$1;
|
||
|
type SysDummyInputsPosition = SysDummyInputsPositions[keyof SysDummyInputsPositions];
|
||
|
/**
|
||
|
* Ability to fine-tune Tabster internal behaviour in rare cases of need.
|
||
|
* Normally, should not be used. A deep understanding of the intention and the effect
|
||
|
* is required.
|
||
|
*/
|
||
|
interface SysProps {
|
||
|
/**
|
||
|
* Force dummy input position outside or inside of the element.
|
||
|
* By default (when undefined), the position is determined dynamically
|
||
|
* (for example inside for <li> elements and outside for <table> elements,
|
||
|
* plus a default Groupper/Mover/Modalizer implementation position).
|
||
|
* Setting to true will force the dummy inputs to be always outside of the element,
|
||
|
* setting to false will force the dummy inputs to be always inside.
|
||
|
*/
|
||
|
dummyInputsPosition?: SysDummyInputsPosition;
|
||
|
}
|
||
|
interface GetTabsterContextOptions {
|
||
|
/**
|
||
|
* Should visit **all** element ancestors to verify if `dir='rtl'` is set
|
||
|
*/
|
||
|
checkRtl?: boolean;
|
||
|
/**
|
||
|
* The element to start computing the context from. Useful when dealing
|
||
|
* with nested structures. For example, if we have an element inside a groupper
|
||
|
* inside another groupper, the `groupper` prop in this element's contexts will
|
||
|
* be the inner groupper, but when we pass the inner groupper's parent element
|
||
|
* as `referenceElement`, the context groupper will be the outer one. Having
|
||
|
* this option simplifies searching for the next tabbable element in the
|
||
|
* environment of nested movers and grouppers.
|
||
|
*/
|
||
|
referenceElement?: HTMLElement;
|
||
|
}
|
||
|
type TabsterContextMoverGroupper = {
|
||
|
isMover: true;
|
||
|
mover: Mover;
|
||
|
} | {
|
||
|
isMover: false;
|
||
|
groupper: Groupper;
|
||
|
};
|
||
|
interface TabsterContext {
|
||
|
root: Root;
|
||
|
modalizer?: Modalizer;
|
||
|
groupper?: Groupper;
|
||
|
mover?: Mover;
|
||
|
groupperBeforeMover?: boolean;
|
||
|
modalizerInGroupper?: Groupper;
|
||
|
/**
|
||
|
* Whether `dir='rtl'` is set on an ancestor
|
||
|
*/
|
||
|
rtl?: boolean;
|
||
|
excludedFromMover?: boolean;
|
||
|
uncontrolled?: HTMLElement | null;
|
||
|
ignoreKeydown: (e: KeyboardEvent) => boolean;
|
||
|
}
|
||
|
interface RootAPIInternal {
|
||
|
}
|
||
|
interface RootAPI extends Disposable, RootAPIInternal {
|
||
|
}
|
||
|
interface UncontrolledAPI {
|
||
|
isUncontrolledCompletely(element: HTMLElement, completely: boolean): boolean;
|
||
|
}
|
||
|
interface ModalizerAPIInternal extends TabsterPartWithAcceptElement {
|
||
|
}
|
||
|
interface ModalizerAPI extends ModalizerAPIInternal, Disposable {
|
||
|
/**
|
||
|
* Activates a Modalizer and focuses the first or default element within
|
||
|
*
|
||
|
* @param elementFromModalizer An element that belongs to a Modalizer
|
||
|
* @param noFocusFirst Do not focus on the first element in the Modalizer
|
||
|
* @param noFocusDefault Do not focus the default element in the Modalizre
|
||
|
*/
|
||
|
focus(elementFromModalizer: HTMLElement, noFocusFirst?: boolean, noFocusDefault?: boolean): boolean;
|
||
|
}
|
||
|
interface RestorerAPIInternal {
|
||
|
}
|
||
|
interface RestorerAPI extends RestorerAPIInternal, Disposable {
|
||
|
}
|
||
|
interface Restorer extends Disposable, TabsterPart<RestorerProps> {
|
||
|
}
|
||
|
/**
|
||
|
* A signature for the accessibleCheck callback from getModalizer().
|
||
|
* It is called when active Modalizer sets aria-hidden on elements outsidef of it.
|
||
|
*
|
||
|
* @param element The element that is about to receive aria-hidden.
|
||
|
* @param activeModalizerElements The container elements of the active modalizer.
|
||
|
* @returns true if the element should remain accessible and should not receive
|
||
|
* aria-hidden.
|
||
|
*/
|
||
|
type ModalizerElementAccessibleCheck = (element: HTMLElement, activeModalizerElements?: HTMLElement[]) => boolean;
|
||
|
interface UncontrolledProps {
|
||
|
completely?: boolean;
|
||
|
}
|
||
|
interface DeloserOnElement {
|
||
|
deloser: Deloser;
|
||
|
}
|
||
|
interface RootOnElement {
|
||
|
root: Root;
|
||
|
}
|
||
|
interface ModalizerOnElement {
|
||
|
modalizer: Modalizer;
|
||
|
}
|
||
|
interface RestorerOnElement {
|
||
|
restorer: Restorer;
|
||
|
}
|
||
|
interface FocusableOnElement {
|
||
|
focusable: FocusableProps;
|
||
|
}
|
||
|
interface MoverOnElement {
|
||
|
mover: Mover;
|
||
|
}
|
||
|
interface GroupperOnElement {
|
||
|
groupper: Groupper;
|
||
|
}
|
||
|
interface UncontrolledOnElement {
|
||
|
uncontrolled: UncontrolledProps;
|
||
|
}
|
||
|
interface ObservedOnElement {
|
||
|
observed: ObservedElementProps;
|
||
|
}
|
||
|
interface OutlineOnElement {
|
||
|
outline: OutlinedElementProps;
|
||
|
}
|
||
|
interface SysOnElement {
|
||
|
sys: SysProps;
|
||
|
}
|
||
|
interface RestorerProps {
|
||
|
type: RestorerType;
|
||
|
}
|
||
|
type TabsterAttributeProps = Partial<{
|
||
|
deloser: DeloserProps;
|
||
|
root: RootProps;
|
||
|
uncontrolled: UncontrolledProps;
|
||
|
modalizer: ModalizerProps;
|
||
|
focusable: FocusableProps;
|
||
|
groupper: GroupperProps;
|
||
|
mover: MoverProps;
|
||
|
observed: ObservedElementProps;
|
||
|
outline: OutlinedElementProps;
|
||
|
sys: SysProps;
|
||
|
restorer: RestorerProps;
|
||
|
}>;
|
||
|
interface TabsterAttributeOnElement {
|
||
|
string: string;
|
||
|
object: TabsterAttributeProps;
|
||
|
}
|
||
|
interface TabsterAugmentedAttributes {
|
||
|
[name: string]: string | null;
|
||
|
}
|
||
|
type TabsterOnElement = Partial<RootOnElement & DeloserOnElement & ModalizerOnElement & FocusableOnElement & MoverOnElement & GroupperOnElement & ObservedOnElement & OutlineOnElement & UncontrolledOnElement & SysOnElement & RestorerOnElement>;
|
||
|
interface OutlineElements {
|
||
|
container: HTMLDivElement;
|
||
|
left: HTMLDivElement;
|
||
|
top: HTMLDivElement;
|
||
|
right: HTMLDivElement;
|
||
|
bottom: HTMLDivElement;
|
||
|
}
|
||
|
interface TabsterElementStorageEntry {
|
||
|
tabster?: TabsterOnElement;
|
||
|
attr?: TabsterAttributeOnElement;
|
||
|
aug?: TabsterAugmentedAttributes;
|
||
|
}
|
||
|
interface TabsterElementStorage {
|
||
|
[uid: string]: TabsterElementStorageEntry;
|
||
|
}
|
||
|
type DisposeFunc = () => void;
|
||
|
interface InternalAPI {
|
||
|
stopObserver(): void;
|
||
|
resumeObserver(syncState: boolean): void;
|
||
|
}
|
||
|
interface DummyInputObserver {
|
||
|
add(dummy: HTMLElement, callback: () => void): void;
|
||
|
remove(dummy: HTMLElement): void;
|
||
|
dispose(): void;
|
||
|
domChanged?(parent: HTMLElement): void;
|
||
|
updatePositions(compute: (scrollTopLeftCache: Map<HTMLElement, {
|
||
|
scrollTop: number;
|
||
|
scrollLeft: number;
|
||
|
} | null>) => () => void): void;
|
||
|
}
|
||
|
interface TabsterCoreInternal {
|
||
|
}
|
||
|
interface Tabster {
|
||
|
keyboardNavigation: KeyboardNavigationState;
|
||
|
focusedElement: FocusedElementState;
|
||
|
focusable: FocusableAPI;
|
||
|
root: RootAPI;
|
||
|
uncontrolled: UncontrolledAPI;
|
||
|
}
|
||
|
interface TabsterCore extends Pick<TabsterCoreProps, "controlTab" | "rootDummyInputs">, Disposable, TabsterCoreInternal, Omit<Tabster, "core"> {
|
||
|
}
|
||
|
interface TabsterCompat {
|
||
|
attributeTransform?: <P>(old: P) => TabsterAttributeProps;
|
||
|
}
|
||
|
|
||
|
type Types_d_HTMLElementWithTabsterFlags = HTMLElementWithTabsterFlags;
|
||
|
type Types_d_TabsterDOMAttribute = TabsterDOMAttribute;
|
||
|
type Types_d_TabsterCoreProps = TabsterCoreProps;
|
||
|
type Types_d_DOMAPI = DOMAPI;
|
||
|
type Types_d_GetTabster = GetTabster;
|
||
|
type Types_d_GetWindow = GetWindow;
|
||
|
type Types_d_SubscribableCallback<A, B = undefined> = SubscribableCallback<A, B>;
|
||
|
type Types_d_Disposable = Disposable;
|
||
|
type Types_d_Subscribable<A, B = undefined> = Subscribable<A, B>;
|
||
|
type Types_d_KeyboardNavigationState = KeyboardNavigationState;
|
||
|
type Types_d_FocusedElementDetail = FocusedElementDetail;
|
||
|
type Types_d_AsyncFocusSources = AsyncFocusSources;
|
||
|
type Types_d_AsyncFocusSource = AsyncFocusSource;
|
||
|
type Types_d_FocusedElementState = FocusedElementState;
|
||
|
type Types_d_WeakHTMLElement<D = undefined> = WeakHTMLElement<D>;
|
||
|
type Types_d_TabsterPart<P> = TabsterPart<P>;
|
||
|
type Types_d_TabsterPartWithFindNextTabbable = TabsterPartWithFindNextTabbable;
|
||
|
type Types_d_TabsterPartWithAcceptElement = TabsterPartWithAcceptElement;
|
||
|
type Types_d_ObservedElementProps = ObservedElementProps;
|
||
|
type Types_d_ObservedElementDetails = ObservedElementDetails;
|
||
|
type Types_d_ObservedElementAccessibilities = ObservedElementAccessibilities;
|
||
|
type Types_d_ObservedElementAccessibility = ObservedElementAccessibility;
|
||
|
type Types_d_ObservedElementAsyncRequest<T> = ObservedElementAsyncRequest<T>;
|
||
|
type Types_d_ObservedElementAPI = ObservedElementAPI;
|
||
|
type Types_d_CrossOriginElement = CrossOriginElement;
|
||
|
type Types_d_CrossOriginSentTo = CrossOriginSentTo;
|
||
|
type Types_d_CrossOriginTransactionTypes = CrossOriginTransactionTypes;
|
||
|
type Types_d_CrossOriginTransactionType = CrossOriginTransactionType;
|
||
|
type Types_d_CrossOriginTransactionData<I, O> = CrossOriginTransactionData<I, O>;
|
||
|
type Types_d_CrossOriginTransactionSend = CrossOriginTransactionSend;
|
||
|
type Types_d_CrossOriginMessage = CrossOriginMessage;
|
||
|
type Types_d_CrossOriginFocusedElementState = CrossOriginFocusedElementState;
|
||
|
type Types_d_CrossOriginObservedElementState = CrossOriginObservedElementState;
|
||
|
type Types_d_CrossOriginAPI = CrossOriginAPI;
|
||
|
type Types_d_OutlineProps = OutlineProps;
|
||
|
type Types_d_OutlinedElementProps = OutlinedElementProps;
|
||
|
type Types_d_OutlineAPI = OutlineAPI;
|
||
|
type Types_d_DeloserElementActions = DeloserElementActions;
|
||
|
type Types_d_RestoreFocusOrders = RestoreFocusOrders;
|
||
|
type Types_d_RestoreFocusOrder = RestoreFocusOrder;
|
||
|
type Types_d_DeloserStrategies = DeloserStrategies;
|
||
|
type Types_d_DeloserStrategy = DeloserStrategy;
|
||
|
type Types_d_DeloserProps = DeloserProps;
|
||
|
type Types_d_Deloser = Deloser;
|
||
|
type Types_d_DeloserConstructor = DeloserConstructor;
|
||
|
type Types_d_DeloserAPI = DeloserAPI;
|
||
|
type Types_d_FocusableProps = FocusableProps;
|
||
|
type Types_d_RadioButtonGroup = RadioButtonGroup;
|
||
|
type Types_d_FocusableAcceptElementState = FocusableAcceptElementState;
|
||
|
type Types_d_FindFocusableProps = FindFocusableProps;
|
||
|
type Types_d_FindFocusableOutputProps = FindFocusableOutputProps;
|
||
|
type Types_d_FindFirstProps = FindFirstProps;
|
||
|
type Types_d_FindNextProps = FindNextProps;
|
||
|
type Types_d_FindDefaultProps = FindDefaultProps;
|
||
|
type Types_d_FindAllProps = FindAllProps;
|
||
|
type Types_d_FindElementCallback = FindElementCallback;
|
||
|
type Types_d_FocusableAPI = FocusableAPI;
|
||
|
type Types_d_DummyInputManager = DummyInputManager;
|
||
|
type Types_d_Visibilities = Visibilities;
|
||
|
type Types_d_Visibility = Visibility;
|
||
|
type Types_d_MoverElementState = MoverElementState;
|
||
|
type Types_d_RestorerTypes = RestorerTypes;
|
||
|
type Types_d_RestorerType = RestorerType;
|
||
|
type Types_d_MoverDirections = MoverDirections;
|
||
|
type Types_d_MoverDirection = MoverDirection;
|
||
|
type Types_d_NextTabbable = NextTabbable;
|
||
|
type Types_d_MoverProps = MoverProps;
|
||
|
type Types_d_Mover = Mover;
|
||
|
type Types_d_MoverConstructor = MoverConstructor;
|
||
|
type Types_d_MoverKeys = MoverKeys;
|
||
|
type Types_d_MoverKey = MoverKey;
|
||
|
type Types_d_MoverAPI = MoverAPI;
|
||
|
type Types_d_GroupperTabbabilities = GroupperTabbabilities;
|
||
|
type Types_d_GroupperTabbability = GroupperTabbability;
|
||
|
type Types_d_GroupperProps = GroupperProps;
|
||
|
type Types_d_Groupper = Groupper;
|
||
|
type Types_d_GroupperConstructor = GroupperConstructor;
|
||
|
type Types_d_GroupperAPIInternal = GroupperAPIInternal;
|
||
|
type Types_d_GroupperMoveFocusActions = GroupperMoveFocusActions;
|
||
|
type Types_d_GroupperMoveFocusAction = GroupperMoveFocusAction;
|
||
|
type Types_d_GroupperAPI = GroupperAPI;
|
||
|
type Types_d_ModalizerProps = ModalizerProps;
|
||
|
type Types_d_Modalizer = Modalizer;
|
||
|
type Types_d_ModalizerConstructor = ModalizerConstructor;
|
||
|
type Types_d_RootProps = RootProps;
|
||
|
type Types_d_Root = Root;
|
||
|
type Types_d_RootConstructor = RootConstructor;
|
||
|
type Types_d_SysDummyInputsPositions = SysDummyInputsPositions;
|
||
|
type Types_d_SysDummyInputsPosition = SysDummyInputsPosition;
|
||
|
type Types_d_SysProps = SysProps;
|
||
|
type Types_d_GetTabsterContextOptions = GetTabsterContextOptions;
|
||
|
type Types_d_TabsterContextMoverGroupper = TabsterContextMoverGroupper;
|
||
|
type Types_d_TabsterContext = TabsterContext;
|
||
|
type Types_d_RootAPI = RootAPI;
|
||
|
type Types_d_UncontrolledAPI = UncontrolledAPI;
|
||
|
type Types_d_ModalizerAPI = ModalizerAPI;
|
||
|
type Types_d_RestorerAPI = RestorerAPI;
|
||
|
type Types_d_Restorer = Restorer;
|
||
|
type Types_d_ModalizerElementAccessibleCheck = ModalizerElementAccessibleCheck;
|
||
|
type Types_d_UncontrolledProps = UncontrolledProps;
|
||
|
type Types_d_DeloserOnElement = DeloserOnElement;
|
||
|
type Types_d_RootOnElement = RootOnElement;
|
||
|
type Types_d_ModalizerOnElement = ModalizerOnElement;
|
||
|
type Types_d_RestorerOnElement = RestorerOnElement;
|
||
|
type Types_d_FocusableOnElement = FocusableOnElement;
|
||
|
type Types_d_MoverOnElement = MoverOnElement;
|
||
|
type Types_d_GroupperOnElement = GroupperOnElement;
|
||
|
type Types_d_UncontrolledOnElement = UncontrolledOnElement;
|
||
|
type Types_d_ObservedOnElement = ObservedOnElement;
|
||
|
type Types_d_OutlineOnElement = OutlineOnElement;
|
||
|
type Types_d_SysOnElement = SysOnElement;
|
||
|
type Types_d_RestorerProps = RestorerProps;
|
||
|
type Types_d_TabsterAttributeProps = TabsterAttributeProps;
|
||
|
type Types_d_TabsterAttributeOnElement = TabsterAttributeOnElement;
|
||
|
type Types_d_TabsterAugmentedAttributes = TabsterAugmentedAttributes;
|
||
|
type Types_d_TabsterOnElement = TabsterOnElement;
|
||
|
type Types_d_OutlineElements = OutlineElements;
|
||
|
type Types_d_TabsterElementStorageEntry = TabsterElementStorageEntry;
|
||
|
type Types_d_TabsterElementStorage = TabsterElementStorage;
|
||
|
type Types_d_DisposeFunc = DisposeFunc;
|
||
|
type Types_d_InternalAPI = InternalAPI;
|
||
|
type Types_d_DummyInputObserver = DummyInputObserver;
|
||
|
type Types_d_Tabster = Tabster;
|
||
|
type Types_d_TabsterCore = TabsterCore;
|
||
|
type Types_d_TabsterCompat = TabsterCompat;
|
||
|
declare namespace Types_d {
|
||
|
export {
|
||
|
Types_d_HTMLElementWithTabsterFlags as HTMLElementWithTabsterFlags,
|
||
|
Types_d_TabsterDOMAttribute as TabsterDOMAttribute,
|
||
|
Types_d_TabsterCoreProps as TabsterCoreProps,
|
||
|
Types_d_DOMAPI as DOMAPI,
|
||
|
Types_d_GetTabster as GetTabster,
|
||
|
Types_d_GetWindow as GetWindow,
|
||
|
Types_d_SubscribableCallback as SubscribableCallback,
|
||
|
Types_d_Disposable as Disposable,
|
||
|
Types_d_Subscribable as Subscribable,
|
||
|
Types_d_KeyboardNavigationState as KeyboardNavigationState,
|
||
|
Types_d_FocusedElementDetail as FocusedElementDetail,
|
||
|
Types_d_AsyncFocusSources as AsyncFocusSources,
|
||
|
Types_d_AsyncFocusSource as AsyncFocusSource,
|
||
|
Types_d_FocusedElementState as FocusedElementState,
|
||
|
Types_d_WeakHTMLElement as WeakHTMLElement,
|
||
|
Types_d_TabsterPart as TabsterPart,
|
||
|
Types_d_TabsterPartWithFindNextTabbable as TabsterPartWithFindNextTabbable,
|
||
|
Types_d_TabsterPartWithAcceptElement as TabsterPartWithAcceptElement,
|
||
|
Types_d_ObservedElementProps as ObservedElementProps,
|
||
|
Types_d_ObservedElementDetails as ObservedElementDetails,
|
||
|
Types_d_ObservedElementAccessibilities as ObservedElementAccessibilities,
|
||
|
Types_d_ObservedElementAccessibility as ObservedElementAccessibility,
|
||
|
Types_d_ObservedElementAsyncRequest as ObservedElementAsyncRequest,
|
||
|
Types_d_ObservedElementAPI as ObservedElementAPI,
|
||
|
Types_d_CrossOriginElement as CrossOriginElement,
|
||
|
Types_d_CrossOriginSentTo as CrossOriginSentTo,
|
||
|
Types_d_CrossOriginTransactionTypes as CrossOriginTransactionTypes,
|
||
|
Types_d_CrossOriginTransactionType as CrossOriginTransactionType,
|
||
|
Types_d_CrossOriginTransactionData as CrossOriginTransactionData,
|
||
|
Types_d_CrossOriginTransactionSend as CrossOriginTransactionSend,
|
||
|
Types_d_CrossOriginMessage as CrossOriginMessage,
|
||
|
Types_d_CrossOriginFocusedElementState as CrossOriginFocusedElementState,
|
||
|
Types_d_CrossOriginObservedElementState as CrossOriginObservedElementState,
|
||
|
Types_d_CrossOriginAPI as CrossOriginAPI,
|
||
|
Types_d_OutlineProps as OutlineProps,
|
||
|
Types_d_OutlinedElementProps as OutlinedElementProps,
|
||
|
Types_d_OutlineAPI as OutlineAPI,
|
||
|
Types_d_DeloserElementActions as DeloserElementActions,
|
||
|
Types_d_RestoreFocusOrders as RestoreFocusOrders,
|
||
|
Types_d_RestoreFocusOrder as RestoreFocusOrder,
|
||
|
Types_d_DeloserStrategies as DeloserStrategies,
|
||
|
Types_d_DeloserStrategy as DeloserStrategy,
|
||
|
Types_d_DeloserProps as DeloserProps,
|
||
|
Types_d_Deloser as Deloser,
|
||
|
Types_d_DeloserConstructor as DeloserConstructor,
|
||
|
Types_d_DeloserAPI as DeloserAPI,
|
||
|
Types_d_FocusableProps as FocusableProps,
|
||
|
Types_d_RadioButtonGroup as RadioButtonGroup,
|
||
|
Types_d_FocusableAcceptElementState as FocusableAcceptElementState,
|
||
|
Types_d_FindFocusableProps as FindFocusableProps,
|
||
|
Types_d_FindFocusableOutputProps as FindFocusableOutputProps,
|
||
|
Types_d_FindFirstProps as FindFirstProps,
|
||
|
Types_d_FindNextProps as FindNextProps,
|
||
|
Types_d_FindDefaultProps as FindDefaultProps,
|
||
|
Types_d_FindAllProps as FindAllProps,
|
||
|
Types_d_FindElementCallback as FindElementCallback,
|
||
|
Types_d_FocusableAPI as FocusableAPI,
|
||
|
Types_d_DummyInputManager as DummyInputManager,
|
||
|
Types_d_Visibilities as Visibilities,
|
||
|
Types_d_Visibility as Visibility,
|
||
|
Types_d_MoverElementState as MoverElementState,
|
||
|
Types_d_RestorerTypes as RestorerTypes,
|
||
|
Types_d_RestorerType as RestorerType,
|
||
|
Types_d_MoverDirections as MoverDirections,
|
||
|
Types_d_MoverDirection as MoverDirection,
|
||
|
Types_d_NextTabbable as NextTabbable,
|
||
|
Types_d_MoverProps as MoverProps,
|
||
|
Types_d_Mover as Mover,
|
||
|
Types_d_MoverConstructor as MoverConstructor,
|
||
|
Types_d_MoverKeys as MoverKeys,
|
||
|
Types_d_MoverKey as MoverKey,
|
||
|
Types_d_MoverAPI as MoverAPI,
|
||
|
Types_d_GroupperTabbabilities as GroupperTabbabilities,
|
||
|
Types_d_GroupperTabbability as GroupperTabbability,
|
||
|
Types_d_GroupperProps as GroupperProps,
|
||
|
Types_d_Groupper as Groupper,
|
||
|
Types_d_GroupperConstructor as GroupperConstructor,
|
||
|
Types_d_GroupperAPIInternal as GroupperAPIInternal,
|
||
|
Types_d_GroupperMoveFocusActions as GroupperMoveFocusActions,
|
||
|
Types_d_GroupperMoveFocusAction as GroupperMoveFocusAction,
|
||
|
Types_d_GroupperAPI as GroupperAPI,
|
||
|
Types_d_ModalizerProps as ModalizerProps,
|
||
|
Types_d_Modalizer as Modalizer,
|
||
|
Types_d_ModalizerConstructor as ModalizerConstructor,
|
||
|
Types_d_RootProps as RootProps,
|
||
|
Types_d_Root as Root,
|
||
|
Types_d_RootConstructor as RootConstructor,
|
||
|
Types_d_SysDummyInputsPositions as SysDummyInputsPositions,
|
||
|
Types_d_SysDummyInputsPosition as SysDummyInputsPosition,
|
||
|
Types_d_SysProps as SysProps,
|
||
|
Types_d_GetTabsterContextOptions as GetTabsterContextOptions,
|
||
|
Types_d_TabsterContextMoverGroupper as TabsterContextMoverGroupper,
|
||
|
Types_d_TabsterContext as TabsterContext,
|
||
|
Types_d_RootAPI as RootAPI,
|
||
|
Types_d_UncontrolledAPI as UncontrolledAPI,
|
||
|
Types_d_ModalizerAPI as ModalizerAPI,
|
||
|
Types_d_RestorerAPI as RestorerAPI,
|
||
|
Types_d_Restorer as Restorer,
|
||
|
Types_d_ModalizerElementAccessibleCheck as ModalizerElementAccessibleCheck,
|
||
|
Types_d_UncontrolledProps as UncontrolledProps,
|
||
|
Types_d_DeloserOnElement as DeloserOnElement,
|
||
|
Types_d_RootOnElement as RootOnElement,
|
||
|
Types_d_ModalizerOnElement as ModalizerOnElement,
|
||
|
Types_d_RestorerOnElement as RestorerOnElement,
|
||
|
Types_d_FocusableOnElement as FocusableOnElement,
|
||
|
Types_d_MoverOnElement as MoverOnElement,
|
||
|
Types_d_GroupperOnElement as GroupperOnElement,
|
||
|
Types_d_UncontrolledOnElement as UncontrolledOnElement,
|
||
|
Types_d_ObservedOnElement as ObservedOnElement,
|
||
|
Types_d_OutlineOnElement as OutlineOnElement,
|
||
|
Types_d_SysOnElement as SysOnElement,
|
||
|
Types_d_RestorerProps as RestorerProps,
|
||
|
Types_d_TabsterAttributeProps as TabsterAttributeProps,
|
||
|
Types_d_TabsterAttributeOnElement as TabsterAttributeOnElement,
|
||
|
Types_d_TabsterAugmentedAttributes as TabsterAugmentedAttributes,
|
||
|
Types_d_TabsterOnElement as TabsterOnElement,
|
||
|
Types_d_OutlineElements as OutlineElements,
|
||
|
Types_d_TabsterElementStorageEntry as TabsterElementStorageEntry,
|
||
|
Types_d_TabsterElementStorage as TabsterElementStorage,
|
||
|
Types_d_DisposeFunc as DisposeFunc,
|
||
|
Types_d_InternalAPI as InternalAPI,
|
||
|
Types_d_DummyInputObserver as DummyInputObserver,
|
||
|
Types_d_Tabster as Tabster,
|
||
|
Types_d_TabsterCore as TabsterCore,
|
||
|
Types_d_TabsterCompat as TabsterCompat,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* If the passed element is Tabster dummy input, returns the container element this dummy input belongs to.
|
||
|
* @param element Element to check for being dummy input.
|
||
|
* @returns Dummy input container element (if the passed element is a dummy input) or null.
|
||
|
*/
|
||
|
declare function getDummyInputContainer(element: HTMLElement | null | undefined): HTMLElement | null;
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
declare function forceCleanup(tabster: Tabster): void;
|
||
|
/**
|
||
|
* Creates an instance of Tabster, returns the current window instance if it already exists.
|
||
|
*/
|
||
|
declare function createTabster(win: Window, props?: TabsterCoreProps): Tabster;
|
||
|
/**
|
||
|
* Returns an instance of Tabster if it was created before or null.
|
||
|
*/
|
||
|
declare function getTabster(win: Window): Tabster | null;
|
||
|
declare function getShadowDOMAPI(): DOMAPI;
|
||
|
/**
|
||
|
* Creates a new groupper instance or returns an existing one
|
||
|
* @param tabster Tabster instance
|
||
|
*/
|
||
|
declare function getGroupper(tabster: Tabster): GroupperAPI;
|
||
|
/**
|
||
|
* Creates a new mover instance or returns an existing one
|
||
|
* @param tabster Tabster instance
|
||
|
*/
|
||
|
declare function getMover(tabster: Tabster): MoverAPI;
|
||
|
declare function getOutline(tabster: Tabster): OutlineAPI;
|
||
|
/**
|
||
|
* Creates a new new deloser instance or returns an existing one
|
||
|
* @param tabster Tabster instance
|
||
|
* @param props Deloser props
|
||
|
*/
|
||
|
declare function getDeloser(tabster: Tabster, props?: {
|
||
|
autoDeloser: DeloserProps;
|
||
|
}): DeloserAPI;
|
||
|
/**
|
||
|
* Creates a new modalizer instance or returns an existing one
|
||
|
* @param tabster Tabster instance
|
||
|
* @param alwaysAccessibleSelector When Modalizer is active, we put
|
||
|
* aria-hidden to everything else to hide it from screen readers. This CSS
|
||
|
* selector allows to exclude some elements from this behaviour. For example,
|
||
|
* this could be used to exclude aria-live region with the application-wide
|
||
|
* status announcements.
|
||
|
* @param accessibleCheck An optional callback that will be called when
|
||
|
* active Modalizer wants to hide an element that doesn't belong to it from
|
||
|
* the screen readers by setting aria-hidden. Similar to alwaysAccessibleSelector
|
||
|
* but allows to address the elements programmatically rather than with a selector.
|
||
|
* If the callback returns true, the element will not receive aria-hidden.
|
||
|
*/
|
||
|
declare function getModalizer(tabster: Tabster, alwaysAccessibleSelector?: string, accessibleCheck?: ModalizerElementAccessibleCheck): ModalizerAPI;
|
||
|
declare function getObservedElement(tabster: Tabster): ObservedElementAPI;
|
||
|
declare function getCrossOrigin(tabster: Tabster): CrossOriginAPI;
|
||
|
declare function getInternal(tabster: Tabster): InternalAPI;
|
||
|
declare function getRestorer(tabster: Tabster): RestorerAPI;
|
||
|
declare function disposeTabster(tabster: Tabster, allInstances?: boolean): void;
|
||
|
/**
|
||
|
* Allows to make Tabster non operational. Intended for performance debugging (and other
|
||
|
* kinds of debugging), you can switch Tabster off without changing the application code
|
||
|
* that consumes it.
|
||
|
* @param tabster a reference created by createTabster().
|
||
|
* @param noop true if you want to make Tabster noop, false if you want to turn it back.
|
||
|
*/
|
||
|
declare function makeNoOp(tabster: Tabster, noop: boolean): void;
|
||
|
declare function isNoOp(tabster: TabsterCore): boolean;
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
declare function getTabsterAttribute(props: TabsterAttributeProps): TabsterDOMAttribute;
|
||
|
declare function getTabsterAttribute(props: TabsterAttributeProps, plain: true): string;
|
||
|
/**
|
||
|
* Updates Tabster props object with new props.
|
||
|
* @param element an element to set data-tabster attribute on.
|
||
|
* @param props current Tabster props to update.
|
||
|
* @param newProps new Tabster props to add.
|
||
|
* When the value of a property in newProps is undefined, the property
|
||
|
* will be removed from the attribute.
|
||
|
*/
|
||
|
declare function mergeTabsterProps(props: TabsterAttributeProps, newProps: TabsterAttributeProps): void;
|
||
|
/**
|
||
|
* Sets or updates Tabster attribute of the element.
|
||
|
* @param element an element to set data-tabster attribute on.
|
||
|
* @param newProps new Tabster props to set.
|
||
|
* @param update if true, newProps will be merged with the existing props.
|
||
|
* When true and the value of a property in newProps is undefined, the property
|
||
|
* will be removed from the attribute.
|
||
|
*/
|
||
|
declare function setTabsterAttribute(element: HTMLElement, newProps: TabsterAttributeProps, update?: boolean): void;
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
interface TabsterMoveFocusEventDetail {
|
||
|
by: "mover" | "groupper" | "modalizer" | "root" | "deloser";
|
||
|
owner: HTMLElement;
|
||
|
next: HTMLElement | null;
|
||
|
relatedEvent?: KeyboardEvent;
|
||
|
}
|
||
|
interface MoverMoveFocusEventDetail {
|
||
|
key: MoverKey;
|
||
|
}
|
||
|
interface MoverMemorizedElementEventDetail {
|
||
|
memorizedElement: HTMLElement | undefined;
|
||
|
}
|
||
|
interface GroupperMoveFocusEventDetail {
|
||
|
action: GroupperMoveFocusAction;
|
||
|
}
|
||
|
interface ModalizerEventDetail {
|
||
|
id: string;
|
||
|
element: HTMLElement;
|
||
|
}
|
||
|
interface RootFocusEventDetail {
|
||
|
element: HTMLElement;
|
||
|
}
|
||
|
|
||
|
type EventsTypes_d_TabsterMoveFocusEventDetail = TabsterMoveFocusEventDetail;
|
||
|
type EventsTypes_d_MoverMoveFocusEventDetail = MoverMoveFocusEventDetail;
|
||
|
type EventsTypes_d_MoverMemorizedElementEventDetail = MoverMemorizedElementEventDetail;
|
||
|
type EventsTypes_d_GroupperMoveFocusEventDetail = GroupperMoveFocusEventDetail;
|
||
|
type EventsTypes_d_ModalizerEventDetail = ModalizerEventDetail;
|
||
|
type EventsTypes_d_RootFocusEventDetail = RootFocusEventDetail;
|
||
|
declare namespace EventsTypes_d {
|
||
|
export {
|
||
|
EventsTypes_d_TabsterMoveFocusEventDetail as TabsterMoveFocusEventDetail,
|
||
|
EventsTypes_d_MoverMoveFocusEventDetail as MoverMoveFocusEventDetail,
|
||
|
EventsTypes_d_MoverMemorizedElementEventDetail as MoverMemorizedElementEventDetail,
|
||
|
EventsTypes_d_GroupperMoveFocusEventDetail as GroupperMoveFocusEventDetail,
|
||
|
EventsTypes_d_ModalizerEventDetail as ModalizerEventDetail,
|
||
|
EventsTypes_d_RootFocusEventDetail as RootFocusEventDetail,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Events sent by Tabster.
|
||
|
*/
|
||
|
declare const TabsterFocusInEventName = "tabster:focusin";
|
||
|
declare const TabsterFocusOutEventName = "tabster:focusout";
|
||
|
declare const TabsterMoveFocusEventName = "tabster:movefocus";
|
||
|
/**
|
||
|
* Events sent by Deloser.
|
||
|
*/
|
||
|
declare const DeloserFocusLostEventName = "tabster:deloser:focus-lost";
|
||
|
/**
|
||
|
* Events to be sent to Deloser by the application.
|
||
|
*/
|
||
|
declare const DeloserRestoreFocusEventName = "tabster:deloser:restore-focus";
|
||
|
/**
|
||
|
* Events sent by Modalizer.
|
||
|
*/
|
||
|
declare const ModalizerActiveEventName = "tabster:modalizer:active";
|
||
|
declare const ModalizerInactiveEventName = "tabster:modalizer:inactive";
|
||
|
declare const ModalizerFocusInEventName = "tabster:modalizer:focusin";
|
||
|
declare const ModalizerFocusOutEventName = "tabster:modalizer:focusout";
|
||
|
/**
|
||
|
* Events sent by Mover.
|
||
|
*/
|
||
|
declare const MoverStateEventName = "tabster:mover:state";
|
||
|
/**
|
||
|
* Events to be sent to Mover by the application.
|
||
|
*/
|
||
|
declare const MoverMoveFocusEventName = "tabster:mover:movefocus";
|
||
|
declare const MoverMemorizedElementEventName = "tabster:mover:memorized-element";
|
||
|
/**
|
||
|
* Events sent by Groupper.
|
||
|
*/
|
||
|
/**
|
||
|
* Events to be sent to Groupper by the application.
|
||
|
*/
|
||
|
declare const GroupperMoveFocusEventName = "tabster:groupper:movefocus";
|
||
|
/**
|
||
|
* Events sent by Restorer.
|
||
|
*/
|
||
|
declare const RestorerRestoreFocusEventName = "tabster:restorer:restore-focus";
|
||
|
/**
|
||
|
* Events sent by Root.
|
||
|
*/
|
||
|
declare const RootFocusEventName = "tabster:root:focus";
|
||
|
declare const RootBlurEventName = "tabster:root:blur";
|
||
|
declare const CustomEvent_: {
|
||
|
new <T>(type: string, eventInitDict?: CustomEventInit<T> | undefined): CustomEvent<T>;
|
||
|
prototype: CustomEvent<any>;
|
||
|
};
|
||
|
declare abstract class TabsterCustomEvent<D> extends CustomEvent_<D> {
|
||
|
/**
|
||
|
* @deprecated use `detail`.
|
||
|
*/
|
||
|
details?: D;
|
||
|
constructor(type: string, detail?: D);
|
||
|
}
|
||
|
declare class TabsterFocusInEvent extends TabsterCustomEvent<FocusedElementDetail> {
|
||
|
constructor(detail: FocusedElementDetail);
|
||
|
}
|
||
|
declare class TabsterFocusOutEvent extends TabsterCustomEvent<FocusedElementDetail> {
|
||
|
constructor(detail: FocusedElementDetail);
|
||
|
}
|
||
|
declare class TabsterMoveFocusEvent extends TabsterCustomEvent<TabsterMoveFocusEventDetail> {
|
||
|
constructor(detail: TabsterMoveFocusEventDetail);
|
||
|
}
|
||
|
declare class MoverStateEvent extends TabsterCustomEvent<MoverElementState> {
|
||
|
constructor(detail: MoverElementState);
|
||
|
}
|
||
|
declare class MoverMoveFocusEvent extends TabsterCustomEvent<MoverMoveFocusEventDetail> {
|
||
|
constructor(detail: MoverMoveFocusEventDetail);
|
||
|
}
|
||
|
declare class MoverMemorizedElementEvent extends TabsterCustomEvent<MoverMemorizedElementEventDetail> {
|
||
|
constructor(detail: MoverMemorizedElementEventDetail);
|
||
|
}
|
||
|
declare class GroupperMoveFocusEvent extends TabsterCustomEvent<GroupperMoveFocusEventDetail> {
|
||
|
constructor(detail: GroupperMoveFocusEventDetail);
|
||
|
}
|
||
|
declare class ModalizerActiveEvent extends TabsterCustomEvent<ModalizerEventDetail> {
|
||
|
constructor(detail: ModalizerEventDetail);
|
||
|
}
|
||
|
declare class ModalizerInactiveEvent extends TabsterCustomEvent<ModalizerEventDetail> {
|
||
|
constructor(detail: ModalizerEventDetail);
|
||
|
}
|
||
|
declare class DeloserFocusLostEvent extends TabsterCustomEvent<DeloserElementActions> {
|
||
|
constructor(detail: DeloserElementActions);
|
||
|
}
|
||
|
declare class DeloserRestoreFocusEvent extends TabsterCustomEvent<undefined> {
|
||
|
constructor();
|
||
|
}
|
||
|
declare class RestorerRestoreFocusEvent extends TabsterCustomEvent<undefined> {
|
||
|
constructor();
|
||
|
}
|
||
|
declare class RootFocusEvent extends TabsterCustomEvent<RootFocusEventDetail> {
|
||
|
constructor(detail: RootFocusEventDetail);
|
||
|
}
|
||
|
declare class RootBlurEvent extends TabsterCustomEvent<RootFocusEventDetail> {
|
||
|
constructor(detail: RootFocusEventDetail);
|
||
|
}
|
||
|
declare global {
|
||
|
interface GlobalEventHandlersEventMap {
|
||
|
[TabsterFocusInEventName]: TabsterFocusInEvent;
|
||
|
[TabsterFocusOutEventName]: TabsterFocusOutEvent;
|
||
|
[TabsterMoveFocusEventName]: TabsterMoveFocusEvent;
|
||
|
[MoverStateEventName]: MoverStateEvent;
|
||
|
[MoverMoveFocusEventName]: MoverMoveFocusEvent;
|
||
|
[MoverMemorizedElementEventName]: MoverMemorizedElementEvent;
|
||
|
[GroupperMoveFocusEventName]: GroupperMoveFocusEvent;
|
||
|
[ModalizerActiveEventName]: ModalizerActiveEvent;
|
||
|
[ModalizerInactiveEventName]: ModalizerInactiveEvent;
|
||
|
[DeloserFocusLostEventName]: DeloserFocusLostEvent;
|
||
|
[DeloserRestoreFocusEventName]: DeloserRestoreFocusEvent;
|
||
|
[RestorerRestoreFocusEventName]: RestorerRestoreFocusEvent;
|
||
|
[RootFocusEventName]: RootFocusEvent;
|
||
|
[RootBlurEventName]: RootBlurEvent;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/*!
|
||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
* Licensed under the MIT License.
|
||
|
*/
|
||
|
|
||
|
/** @deprecated This function is obsolete, use native element.dispatchEvent(new GroupperMoveFocusEvent(...)). */
|
||
|
declare function dispatchGroupperMoveFocusEvent(target: HTMLElement, action: GroupperMoveFocusAction): boolean;
|
||
|
/** @deprecated This function is obsolete, use native element.dispatchEvent(new MoverMoveFocusEvent(...)). */
|
||
|
declare function dispatchMoverMoveFocusEvent(target: HTMLElement, key: MoverKey): boolean;
|
||
|
/** @deprecated This function is obsolete, use native element.dispatchEvent(new MoverMemorizedElementEvent(...)). */
|
||
|
declare function dispatchMoverMemorizedElementEvent(target: HTMLElement, memorizedElement: HTMLElement | undefined): boolean;
|
||
|
|
||
|
export { AsyncFocusSources$1 as AsyncFocusSources, DeloserFocusLostEvent, DeloserFocusLostEventName, DeloserRestoreFocusEvent, DeloserRestoreFocusEventName, DeloserStrategies$1 as DeloserStrategies, EventsTypes_d as EventsTypes, FOCUSABLE_SELECTOR, GroupperMoveFocusActions$1 as GroupperMoveFocusActions, GroupperMoveFocusEvent, GroupperMoveFocusEventName, GroupperTabbabilities$1 as GroupperTabbabilities, ModalizerActiveEvent, ModalizerActiveEventName, ModalizerFocusInEventName, ModalizerFocusOutEventName, ModalizerInactiveEvent, ModalizerInactiveEventName, MoverDirections$1 as MoverDirections, MoverKeys$1 as MoverKeys, MoverMemorizedElementEvent, MoverMemorizedElementEventName, MoverMoveFocusEvent, MoverMoveFocusEventName, MoverStateEvent, MoverStateEventName, ObservedElementAccessibilities$1 as ObservedElementAccessibilities, RestoreFocusOrders$1 as RestoreFocusOrders, RestorerRestoreFocusEvent, RestorerRestoreFocusEventName, RestorerTypes$1 as RestorerTypes, RootBlurEvent, RootBlurEventName, RootFocusEvent, RootFocusEventName, SysDummyInputsPositions$1 as SysDummyInputsPositions, TABSTER_ATTRIBUTE_NAME, TABSTER_DUMMY_INPUT_ATTRIBUTE_NAME, TabsterCustomEvent, TabsterFocusInEvent, TabsterFocusInEventName, TabsterFocusOutEvent, TabsterFocusOutEventName, TabsterMoveFocusEvent, TabsterMoveFocusEventName, Types_d as Types, Visibilities$1 as Visibilities, createTabster, dispatchGroupperMoveFocusEvent, dispatchMoverMemorizedElementEvent, dispatchMoverMoveFocusEvent, disposeTabster, forceCleanup, getCrossOrigin, getDeloser, getDummyInputContainer, getGroupper, getInternal, getModalizer, getMover, getObservedElement, getOutline, getRestorer, getShadowDOMAPI, getTabster, getTabsterAttribute, isNoOp, makeNoOp, mergeTabsterProps, setTabsterAttribute };
|