@hcaptcha/react-native-hcaptcha
Version:
hCaptcha Library for React Native (both Android and iOS)
63 lines (55 loc) • 1.88 kB
TypeScript
import React from 'react';
import Hcaptcha, { HcaptchaProps } from './Hcaptcha';
export type JourneyRuntimeStats = {
activeConsumers: number;
bufferedEvents: number;
capturing: boolean;
currentRoute: { key?: string; name: string } | null;
initialized: boolean;
touchCaptureEnabled: boolean;
wrapperInstalled: boolean;
};
export type JourneyTrackingOptions = {
navigationContainerRef?: unknown;
touchCapture?: boolean;
debug?: boolean;
onStats?: (stats: JourneyRuntimeStats) => void;
};
type ConfirmHcaptchaProps = Omit<HcaptchaProps, 'url' | 'style'> & {
/**
* Indicates whether the passive mode is enabled; when true, the modal won't be shown at all
*/
passiveSiteKey?: boolean;
/**
* The url domain defined on your hCaptcha. You generally will not need to change this.
*/
baseUrl?: string;
/**
* Defines if the modal backdrop is shown (true by default). If `hasBackdrop=false`,
* `backgroundColor` will apply only after the hCaptcha visual challenge is presented.
*/
hasBackdrop?: boolean;
/**
* Defines if the view containing the hCaptcha should use a SafeAreaView or a View component (true by default)
*/
useSafeAreaView?: boolean;
};
export default class ConfirmHcaptcha extends React.Component<ConfirmHcaptchaProps> {
/**
* Shows the modal containing the challenge
*/
show: () => void;
/**
* Hides the modal containing the challenge. Do not pass any argument to trigger
* the onMessage `cancel` event
*/
hide: (source?: any) => void;
/**
* Clears the shared journey buffer and detaches this instance from journey attachment
* until it is explicitly reconfigured.
*/
stopEvents: () => void;
}
export function initJourneyTracking(options?: JourneyTrackingOptions): void;
export function registerJourneyNavigationContainer(ref: unknown): void;
export { Hcaptcha };