UNPKG

@cossistant/next

Version:

Next.js-ready SDK for building AI-powered support/chat widgets. Hooks + primitives, WS-driven, TypeScript-first. Next.js-ready, Tailwind optional.

73 lines (72 loc) 2.45 kB
import React from "react"; //#region ../react/src/provider.d.ts type SupportProviderProps = { children: React.ReactNode; defaultOpen?: boolean; apiUrl?: string; wsUrl?: string; publicKey?: string; defaultMessages?: DefaultMessage[]; quickOptions?: string[]; autoConnect?: boolean; onWsConnect?: () => void; onWsDisconnect?: () => void; onWsError?: (error: Error) => void; size?: "normal" | "larger"; }; type CossistantProviderProps = SupportProviderProps; type CossistantContextValue = { website: PublicWebsiteResponse | null; defaultMessages: DefaultMessage[]; quickOptions: string[]; setDefaultMessages: (messages: DefaultMessage[]) => void; setQuickOptions: (options: string[]) => void; unreadCount: number; setUnreadCount: (count: number) => void; isLoading: boolean; error: Error | null; client: CossistantClient; isOpen: boolean; open: () => void; close: () => void; toggle: () => void; }; type WebsiteData = NonNullable<CossistantContextValue["website"]>; type VisitorWithLocale = WebsiteData["visitor"] extends null | undefined ? undefined : NonNullable<WebsiteData["visitor"]> & { locale: string | null; }; type UseSupportValue = CossistantContextValue & { availableHumanAgents: NonNullable<WebsiteData["availableHumanAgents"]> | []; availableAIAgents: NonNullable<WebsiteData["availableAIAgents"]> | []; visitor?: VisitorWithLocale; size: "normal" | "larger"; }; declare const SupportContext: React.Context<CossistantContextValue | undefined>; /** * Hosts the entire customer support widget ecosystem by handing out context * about the current website, visitor, unread counts, realtime subscriptions * and the REST client. Provide your Cossistant public key plus optional * defaults to configure the widget behaviour. */ declare function SupportProvider({ children, apiUrl, wsUrl, publicKey, defaultMessages, quickOptions, autoConnect, onWsConnect, onWsDisconnect, onWsError, size, defaultOpen }: SupportProviderProps): React.ReactElement; /** * Convenience hook that exposes the aggregated support context. Throws when it * is consumed outside of `SupportProvider` to catch integration mistakes. */ declare function useSupport(): UseSupportValue; //#endregion export { CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport }; //# sourceMappingURL=provider2.d.ts.map