mirror of
https://github.com/hanzoai/shadcn.git
synced 2026-11-03 03:18:52 +00:00
- 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
198 lines
5.9 KiB
TypeScript
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,
|
|
}
|