takis-idkit-react
Version:
React SDK for World ID built on @worldcoin/idkit-core
47 lines (39 loc) • 1.9 kB
TypeScript
import { IDKitErrorCodes, IDKitRequestConfig, Preset, IDKitResult } from '@worldcoin/idkit-core';
export { ConstraintNode, CredentialType, IDKit, IDKitErrorCode, IDKitErrorCodes, IDKitRequestConfig, IDKitResult, Preset, ResponseItemV3, ResponseItemV4, RpContext, documentLegacy, orbLegacy, secureDocumentLegacy, 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;
};
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;
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, onSuccess, onError, autoClose, language, ...config }: IDKitRequestWidgetProps): ReactElement | null;
export { type IDKitHookResult, type IDKitRequestHookConfig, IDKitRequestWidget, type IDKitRequestWidgetProps, type PollingConfig, type SupportedLanguage, type UseIDKitRequestHookResult, useIDKitRequest };