JSPM

@docshound/chat-react

0.10.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 13
    • Score
      100M100P100Q48473F
    • License MIT

    React component library for integrating the DocsHound chat widget into React and Next.js applications.

    Package Exports

    • @docshound/chat-react
    • @docshound/chat-react/dist/index.esm.js
    • @docshound/chat-react/dist/index.js

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@docshound/chat-react) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    Docshound Chat for React

    @docshound/chat-react is a React component library for integrating the DocsHound chat widget into your React / Next.js applications.

    Installation

    Install the package via npm:

    npm install @docshound/chat-react

    Usage

    Location

    To ensure the DocsHoundChat component remains mounted and does not unmount with navigation, you should include it in a global layout component that wraps your application's main content. This layout component will persist across different pages, preventing the chat widget from resetting every time the user navigates.

    Basic Example

    Here is a simple example of how to use the DocsHoundChat component in your React project:

    import React from "react";
    import { DocsHoundChat } from "@docshound/chat-react";
    
    const App = () => {
        return (
            <div>
                <h1>My Application</h1>
                <DocsHoundChat src="https://your-docshound-portal.com" />
            </div>
        );
    };
    
    export default App;

    Props

    The DocsHoundChat component accepts the following props:

    • src (required): The domain where the guide is published, e.g., https://docs.docshound.com.
    • agentName: The name of the agent responding in the chat. Optional.
    • agentAvatarUrl: The URL for the avatar image of the agent. Optional.
    • userId: A unique identifier for the user interacting with the chat. Optional.
    • userEmail: The email address of the user. Pre-filled when submitting a support ticket. Optional.
    • userName: The display name of the user. Defaults to 'You'. Optional.
    • platform: Specifies the platform where the chat is being used ('site', 'app', or 'docs'). Optional. Defaults to 'app'.
    • userAvatarUrl: The URL for the avatar image of the user. Optional.
    • firstMessage: The initial agent message that appears when the chat opens. Optional.
    • theme: Defines the theme of the chat interface, either 'light' or 'dark'. Optional.
    • position: The position of the chat trigger on the screen ('right', 'right-top', or 'right-bottom'). Optional. Defaults to 'right'.
    • accentColor: The accent color of the chat interface. Optional.
    • triggerLabel: The label for the trigger button that starts the chat. Optional.
    • token: Authentication token for jwt / password / basic protected guides. Optional.
    • mcpToken: Authentication token for an additional support MCP server. Optional.

    Hooks

    This package also provides a custom hook, useDocsHoundChat, to programmatically control the chat component.

    Example

    import React from "react";
    import { useDocsHoundChat } from "@docshound/chat-react";
    
    const ChatControls = () => {
        const { show, clear } = useDocsHoundChat();
    
        return (
            <div>
                <button onClick={() => show(true)}>Show Chat</button>
                <button onClick={() => show(false)}>Hide Chat</button>
                <button onClick={() => clear()}>Clear Chat</button>
            </div>
        );
    };
    
    export default ChatControls;

    API

    Hook's API:

    • sendQuestion(question: string): Programmatically clear thread and send question on behalf of the user.
    • show(show: boolean): Programmatically show or hide the chat widget.
    • clear(): Clears the chat history.

    License

    MIT