Xzero UI
Pro library

Support widgetPro

An in-app help launcher that grows into live article search, reading, and a chat with your team.

$ pnpm dlx shadcn@4.23.0 add @xzero-ui-pro/support-widget
Live · keyboard ready

Use this as the help entry point inside a SaaS app. Load articles from your help center into support-widget-data.ts and connect onSend to your inbox or chat provider; replies in the preview are simulated.

When to use

When not to use

Installation

Register both Xzero UI namespaces in your project's components.json:

{
  "registries": {
    "@xzero-ui": "https://mcp.xzero.co.uk/r/{name}.json",
    "@xzero-ui-pro": "https://mcp.xzero.co.uk/r/pro/{name}.json"
  }
}
npx shadcn@4.23.0 add @xzero-ui-pro/support-widget

Install xzero-foundation once, and import @/components/xzero/foundation.css in your app root. No Xzero token is used by this snapshot. For sample portraits, photos, fonts, or logos, download https://mcp.xzero.co.uk/install-assets.mjs and run node xzero-install-assets.mjs <receiving-project>.

Usage

import { SupportWidget } from "@/components/xzero/blocks/support-widget/support-widget";

export function AppShell() {
  return (
    <SupportWidget
      onSend={message => sendToInbox(message)}
      onOpenChange={open => track(open ? "help_opened" : "help_closed")}
    />
  );
}

API reference

SupportWidget

A help launcher that grows into article search, an article reader and a chat thread. Articles, team and suggested replies are sample data in support-widget-data.ts; agent replies are simulated.

PropTypeDefaultDescription
onSend(message: string) => void–Called with each message the person sends, so you can forward it to your inbox or chat provider.
onOpenChange(open: boolean) => void–Called when the launcher opens or closes the panel.

Keyboard interactions

KeysAction
EscapeCloses the panel and returns focus to the launcher.
Arrow downFrom the search field, moves focus into the article list.
Arrow up / Arrow downMoves between articles; up from the first article returns to search.
EnterIn search, opens the top result.

Accessibility

Motion

Responsive behavior

Performance

Notes for AI

Guidance for AI tools

Blocks are complete, self-contained screens with sample data. Replace the sample data and connect the callbacks described above. Follow the declared prop types and do not invent props. Keep keyboard access, reduced motion support, and both light and dark themes intact when adapting it.

Full library index: https://ui.xzero.co.uk/llms.txt

Browse all components