react-use-zendesk
Version:
React Zendesk Web Widget integration written in typescript
37 lines (32 loc) • 1.38 kB
TypeScript
import React, { PropsWithChildren } from 'react';
type ZendeskProviderProps = {
apiKey: string;
onOpen?: () => void;
onClose?: () => void;
onUnreadMessages?: (count: number) => void;
onResetWidget?: () => void;
};
type ZendeskConversationField = {
id: string;
value: string | number | boolean;
};
type ZendeskContextValues = {
show: () => void;
hide: () => void;
open: () => void;
close: () => void;
setLocale: (newLocale: string) => void;
setZIndex: (newZIndex: number) => void;
setCookies: (isEnabled: boolean) => void;
setConversationFields: (conversationFields: Array<ZendeskConversationField>) => void;
setConversationTags: (conversationTags: Array<string>) => void;
loginUser: (jwtToken: string) => void;
logoutUser: () => void;
resetWidget: () => void;
isOpen: boolean;
unreadMessages: number | undefined;
};
type ZendeskMethod = "show" | "hide" | "open" | "close" | "unreadMessages" | "locale" | "zIndex" | "cookies" | "conversationFields" | "conversationTags" | "loginUser" | "logoutUser" | "resetWidget";
declare const ZendeskProvider: React.FC<PropsWithChildren<ZendeskProviderProps>>;
declare function useZendesk(): ZendeskContextValues;
export { type ZendeskContextValues, type ZendeskConversationField, type ZendeskMethod, ZendeskProvider, type ZendeskProviderProps, useZendesk };