@worldcoin/idkit
Version:
React SDK for World ID built on @worldcoin/idkit-core
50 lines (42 loc) • 2.14 kB
TypeScript
import { IDKitErrorCodes, IDKitRequestConfig, Preset, IDKitResult } from '@worldcoin/idkit-core';
export { ConstraintNode, CredentialType, IDKit, IDKitErrorCode, IDKitErrorCodes, IDKitRequestConfig, IDKitResult, Preset, ResponseItemV3, ResponseItemV4, RpContext, deviceLegacy, documentLegacy, orbLegacy, secureDocumentLegacy, selfieCheckLegacy, signRequest } from '@worldcoin/idkit-core';
import { ReactElement } from 'react';
type PollingConfig = {
polling?: {
interval?: number;
timeout?: number;
};
};
type IDKitHookResult<TResult> = {
open: () => void;
reset: () => void;
isAwaitingUserConnection: boolean;
isAwaitingUserConfirmation: boolean;
isSuccess: boolean;
isError: boolean;
connectorURI: string | null;
result: TResult | null;
errorCode: IDKitErrorCodes | null;
isOpen: boolean;
/** Use `isInWorldApp` to determine if the widget is running inside the World App (mini app context). */
isInWorldApp: boolean;
};
type IDKitRequestHookConfig = IDKitRequestConfig & PollingConfig & {
preset: Preset;
};
type UseIDKitRequestHookResult = IDKitHookResult<IDKitResult>;
type SupportedLanguage = "en" | "es" | "th";
type MaybePromise<T> = Promise<T> | T;
type WidgetSharedProps<TResult> = {
open: boolean;
onOpenChange: (open: boolean) => void;
handleVerify?: (result: TResult) => MaybePromise<void>;
onSuccess: (result: TResult) => MaybePromise<void>;
onError?: (errorCode: IDKitErrorCodes) => MaybePromise<void>;
autoClose?: boolean;
language?: SupportedLanguage;
};
type IDKitRequestWidgetProps = IDKitRequestHookConfig & WidgetSharedProps<IDKitResult>;
declare function useIDKitRequest(config: IDKitRequestHookConfig): UseIDKitRequestHookResult;
declare function IDKitRequestWidget({ open, onOpenChange, handleVerify, onSuccess, onError, autoClose, language, ...config }: IDKitRequestWidgetProps): ReactElement | null;
export { type IDKitHookResult, type IDKitRequestHookConfig, IDKitRequestWidget, type IDKitRequestWidgetProps, type PollingConfig, type SupportedLanguage, type UseIDKitRequestHookResult, useIDKitRequest };