Files
zeekay e0ec477433 feat: full docs modernization — zero 404s, 585 pages, dep updates
- Enable all 15 finance component docs (from .disabled → .mdx)
- Create stock-market.mdx, 8 chart docs, 8 block docs, 2 framework docs
- Add direction.tsx component (RTL/LTR support from upstream shadcn)
- Add xs/icon-xs button sizes, data-variant/data-size attributes
- Fix build-registry.mts to handle default exports in namespace re-exports
- Add default props to order-entry, positions-list, orders-history, trading-panel
- Fix 18 navigation stubs → re-export from root implementations
- Add 44 orphaned MDX files to nav (installation, dark-mode, desktop, guides, etc)
- Migrate 6 framer-motion imports → motion/react
- Bump React 19.2.0→19.2.4, Next.js 16.0.1→16.1.6, motion→12.34.0
- Align lucide-react, sonner v2, tailwind-merge v3, postcss-selector-parser v7
- Remove framer-motion dep (superseded by motion)
- Fix @types/react-dom, TypeScript versions across workspaces
2026-03-03 07:34:51 -08:00

198 lines
5.9 KiB
TypeScript

/**
* Hanzo UI - AI Components Registry
*
* AI-specific components for chat, agents, vision, voice, and code.
* These are Hanzo-exclusive extensions to the base component library.
*/
import { type Registry, type RegistryItem } from "../schema"
const ai: RegistryItem[] = [
{
name: "ai-playground",
type: "registry:ai",
title: "AI Playground",
description:
"Interactive AI model testing environment with adjustable parameters",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-playground.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "playground",
},
{
name: "ai-chat",
type: "registry:ai",
title: "AI Chat",
description: "Complete chat interface with streaming support",
dependencies: ["@hanzo/ui"],
registryDependencies: ["button", "input", "scroll-area", "avatar"],
files: [{ path: "ai/ai-chat.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "chat",
},
{
name: "ai-chat-message",
type: "registry:ai",
title: "AI Chat Message",
description: "Single chat message component with avatar and actions",
dependencies: ["@hanzo/ui"],
registryDependencies: ["avatar", "button"],
files: [{ path: "ai/ai-chat-message.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "chat",
},
{
name: "ai-chat-input",
type: "registry:ai",
title: "AI Chat Input",
description: "Chat input with attachment support and submit button",
dependencies: ["@hanzo/ui"],
registryDependencies: ["button", "textarea"],
files: [{ path: "ai/ai-chat-input.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "chat",
},
{
name: "ai-agents",
type: "registry:ai",
title: "AI Agents",
description: "Multi-agent system components",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-agents.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "agents",
},
{
name: "ai-agent-card",
type: "registry:ai",
title: "AI Agent Card",
description: "Card component for displaying agent information",
dependencies: ["@hanzo/ui"],
registryDependencies: ["card", "avatar", "badge"],
files: [{ path: "ai/ai-agent-card.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "agents",
},
{
name: "ai-vision",
type: "registry:ai",
title: "AI Vision",
description: "Image analysis and computer vision components",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-vision.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "vision",
},
{
name: "ai-vision-upload",
type: "registry:ai",
title: "AI Vision Upload",
description: "Image upload component for vision analysis",
dependencies: ["@hanzo/ui", "react-dropzone"],
files: [{ path: "ai/ai-vision-upload.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "vision",
},
{
name: "ai-voice",
type: "registry:ai",
title: "AI Voice",
description: "Voice recognition and speech synthesis components",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-voice.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "voice",
},
{
name: "ai-voice-recorder",
type: "registry:ai",
title: "AI Voice Recorder",
description: "Voice recording component with waveform visualization",
dependencies: ["@hanzo/ui"],
registryDependencies: ["button"],
files: [{ path: "ai/ai-voice-recorder.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "voice",
},
{
name: "ai-code",
type: "registry:ai",
title: "AI Code",
description: "AI-powered code generation and analysis",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-code.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "code",
},
{
name: "ai-code-editor",
type: "registry:ai",
title: "AI Code Editor",
description: "Code editor with AI completions and suggestions",
dependencies: ["@hanzo/ui", "@monaco-editor/react"],
files: [{ path: "ai/ai-code-editor.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "code",
},
{
name: "ai-assistant",
type: "registry:ai",
title: "AI Assistant",
description: "Full-featured AI assistant component",
dependencies: ["@hanzo/ui"],
registryDependencies: ["ai-chat", "ai-chat-input", "sheet"],
files: [{ path: "ai/ai-assistant.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "assistant",
},
{
name: "ai-tools",
type: "registry:ai",
title: "AI Tools",
description: "Tool use and function calling interfaces",
dependencies: ["@hanzo/ui"],
files: [{ path: "ai/ai-tools.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "tools",
},
{
name: "ai-tool-card",
type: "registry:ai",
title: "AI Tool Card",
description: "Card for displaying tool information and parameters",
dependencies: ["@hanzo/ui"],
registryDependencies: ["card", "badge"],
files: [{ path: "ai/ai-tool-card.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "tools",
},
{
name: "ai-model-selector",
type: "registry:ai",
title: "AI Model Selector",
description: "Dropdown for selecting AI models",
dependencies: ["@hanzo/ui"],
registryDependencies: ["select", "badge"],
files: [{ path: "ai/ai-model-selector.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "settings",
},
{
name: "ai-prompt-templates",
type: "registry:ai",
title: "AI Prompt Templates",
description: "Reusable prompt template components",
dependencies: ["@hanzo/ui"],
registryDependencies: ["card", "button"],
files: [{ path: "ai/ai-prompt-templates.tsx", type: "registry:ai" }],
category: "ai",
subcategory: "settings",
},
]
export const hanzoAiRegistry: Registry = {
name: "hanzo/ui/ai",
homepage: "https://ui.hanzo.ai/ai",
items: ai,
}