react-native-a11y
Version:
Improvements of a11y for ReactNative, this library improve work with reader and keyboard focus and reader in general.
88 lines (87 loc) • 3.01 kB
TypeScript
import * as React from "react";
import { GestureResponderEvent, PressableProps, View } from "react-native";
import { OnKeyPressFn } from "../KeyboardFocusView";
export type SyntheticEvent<T> = {
bubbles?: boolean;
cancelable?: boolean;
currentTarget: number | unknown;
defaultPrevented?: boolean;
dispatchConfig: {
registrationName: string;
};
eventPhase?: number;
preventDefault: () => void;
isDefaultPrevented: () => boolean;
stopPropagation: () => void;
isPropagationStopped: () => boolean;
isTrusted?: boolean;
nativeEvent: T;
persist: () => void;
target?: number | unknown;
timeStamp: number;
type?: string;
};
export type ResponderSyntheticEvent<T> = SyntheticEvent<T> & {
touchHistory: {
indexOfSingleActiveTouch: number;
mostRecentTimeStamp: number;
numberActiveTouches: number;
touchBank: Array<{
touchActive: boolean;
startPageX: number;
startPageY: number;
startTimeStamp: number;
currentPageX: number;
currentPageY: number;
currentTimeStamp: number;
previousPageX: number;
previousPageY: number;
previousTimeStamp: number;
}>;
};
};
export type PressEvent = ResponderSyntheticEvent<{
force?: number;
identifier: number;
locationX: number;
locationY: number;
pageX: number;
pageY: number;
target?: number;
timestamp: number;
}>;
type CombinedPressEvent = GestureResponderEvent | PressEvent;
type NAProps = {
onPressOut?: (event: CombinedPressEvent) => void;
onPressIn?: (event: CombinedPressEvent) => void;
"aria-live"?: "polite" | "assertive" | "off";
"aria-busy"?: boolean;
"aria-checked"?: boolean;
"aria-disabled"?: boolean;
"aria-expanded"?: boolean;
"aria-label"?: string;
"aria-selected"?: boolean;
"aria-valuemax"?: number;
"aria-valuemin"?: number;
"aria-valuenow"?: number;
"aria-modal"?: boolean;
"aria-valuetext"?: string;
};
export declare const Pressable: React.MemoExoticComponent<React.ForwardRefExoticComponent<PressableProps & NAProps & import("react-native").ViewProps & {
onFocusChange?: import("../KeyboardFocusView").OnFocusChangeFn | undefined;
onKeyUpPress?: OnKeyPressFn | undefined;
onKeyDownPress?: OnKeyPressFn | undefined;
canBeFocused?: boolean | undefined;
} & {
focusStyle?: import("../KeyboardFocusView").FocusStyle;
onPress?: ((e: import("../KeyboardFocusView/RCA11yFocusWrapper").OnKeyPress | GestureResponderEvent) => void) | undefined;
onLongPress?: ((e: import("../KeyboardFocusView/RCA11yFocusWrapper").OnKeyPress | GestureResponderEvent) => void) | undefined;
withView?: boolean | undefined;
} & {
unstable_pressDelay?: number | undefined;
delayHoverIn?: unknown;
delayHoverOut?: unknown;
onHoverIn?: unknown;
onHoverOut?: unknown;
} & React.RefAttributes<View>>>;
export {};