{ "$schema": "https://ui.shadcn.com/schema/registry.json", "name": "openui", "homepage": "https://github.com/pandelisz/openui", "items": [ { "name": "openui-theme", "type": "registry:style", "title": "OpenUI Theme", "description": "ChatGPT-style shadcn theme tokens for OpenAI-like interfaces.", "author": "Pandelis", "cssVars": { "theme": { "color-background": "hsl(var(--background))", "color-foreground": "hsl(var(--foreground))", "color-card": "hsl(var(--card))", "color-card-foreground": "hsl(var(--card-foreground))", "color-popover": "hsl(var(--popover))", "color-popover-foreground": "hsl(var(--popover-foreground))", "color-primary": "hsl(var(--primary))", "color-primary-foreground": "hsl(var(--primary-foreground))", "color-secondary": "hsl(var(--secondary))", "color-secondary-foreground": "hsl(var(--secondary-foreground))", "color-muted": "hsl(var(--muted))", "color-muted-foreground": "hsl(var(--muted-foreground))", "color-accent": "hsl(var(--accent))", "color-accent-foreground": "hsl(var(--accent-foreground))", "color-destructive": "hsl(var(--destructive))", "color-destructive-foreground": "hsl(var(--destructive-foreground))", "color-border": "hsl(var(--border))", "color-input": "hsl(var(--input))", "color-ring": "hsl(var(--ring))", "color-sidebar": "hsl(var(--sidebar))", "color-sidebar-foreground": "hsl(var(--sidebar-foreground))", "color-sidebar-accent": "hsl(var(--sidebar-accent))", "color-sidebar-accent-foreground": "hsl(var(--sidebar-accent-foreground))", "color-chat-surface": "hsl(var(--chat-surface))", "color-chat-soft": "hsl(var(--chat-soft))", "color-chat-login": "hsl(var(--chat-login))", "color-chat-auth": "hsl(var(--chat-auth))", "color-chat-voice": "hsl(var(--chat-voice))", "color-chat-mode": "hsl(var(--chat-mode))", "radius-sm": "calc(var(--radius) - 4px)", "radius-md": "calc(var(--radius) - 2px)", "radius-lg": "var(--radius)", "radius-xl": "calc(var(--radius) + 4px)" }, "light": { "radius": "0.75rem", "background": "0 0% 100%", "foreground": "0 0% 9%", "card": "0 0% 100%", "card-foreground": "0 0% 9%", "popover": "0 0% 100%", "popover-foreground": "0 0% 9%", "primary": "0 0% 10%", "primary-foreground": "0 0% 98%", "secondary": "0 0% 96%", "secondary-foreground": "0 0% 12%", "muted": "0 0% 96%", "muted-foreground": "0 0% 42%", "accent": "0 0% 94%", "accent-foreground": "0 0% 12%", "destructive": "0 84% 60%", "destructive-foreground": "0 0% 98%", "border": "0 0% 89%", "input": "0 0% 89%", "ring": "0 0% 55%", "sidebar": "0 0% 97%", "sidebar-foreground": "0 0% 14%", "sidebar-accent": "0 0% 92%", "sidebar-accent-foreground": "0 0% 9%", "chat-surface": "0 0% 98%", "chat-soft": "0 0% 94%", "chat-login": "58 100% 93%", "chat-auth": "221 71% 53%", "chat-voice": "44 91% 57%", "chat-mode": "222 85% 56%" }, "dark": { "background": "0 0% 10%", "foreground": "0 0% 96%", "card": "0 0% 12%", "card-foreground": "0 0% 96%", "popover": "0 0% 12%", "popover-foreground": "0 0% 96%", "primary": "0 0% 96%", "primary-foreground": "0 0% 10%", "secondary": "0 0% 18%", "secondary-foreground": "0 0% 96%", "muted": "0 0% 18%", "muted-foreground": "0 0% 66%", "accent": "0 0% 20%", "accent-foreground": "0 0% 96%", "destructive": "0 62% 50%", "destructive-foreground": "0 0% 98%", "border": "0 0% 22%", "input": "0 0% 22%", "ring": "0 0% 70%", "sidebar": "0 0% 13%", "sidebar-foreground": "0 0% 92%", "sidebar-accent": "0 0% 19%", "sidebar-accent-foreground": "0 0% 96%", "chat-surface": "0 0% 12%", "chat-soft": "0 0% 18%", "chat-login": "58 42% 16%", "chat-auth": "221 71% 58%", "chat-voice": "44 91% 57%", "chat-mode": "222 85% 66%" } }, "docs": "Install with `npx shadcn@latest add https://unpkg.com/@pandelis/openui@latest/r/openui-theme.json` to add the OpenUI theme tokens to an existing shadcn project." }, { "name": "openui-chatgpt", "type": "registry:block", "title": "OpenUI ChatGPT Components", "description": "A source-owned shadcn component set for ChatGPT-style interfaces.", "author": "Pandelis", "dependencies": [ "@radix-ui/react-avatar@^1.1.11", "@radix-ui/react-dialog@^1.1.15", "@radix-ui/react-dropdown-menu@^2.1.16", "@radix-ui/react-scroll-area@^1.2.10", "@radix-ui/react-separator@^1.1.8", "@radix-ui/react-slot@^1.2.4", "@radix-ui/react-switch@^1.2.6", "@radix-ui/react-tabs@^1.1.13", "@radix-ui/react-tooltip@^1.2.8", "class-variance-authority@^0.7.1", "clsx@^2.1.1", "lucide-react@^0.555.0", "tailwind-merge@^3.4.0" ], "files": [ { "path": "src/lib/utils.ts", "type": "registry:lib" }, { "path": "src/components/ui/avatar.tsx", "type": "registry:ui" }, { "path": "src/components/ui/badge.tsx", "type": "registry:ui" }, { "path": "src/components/ui/button.tsx", "type": "registry:ui" }, { "path": "src/components/ui/card.tsx", "type": "registry:ui" }, { "path": "src/components/ui/dialog.tsx", "type": "registry:ui" }, { "path": "src/components/ui/dropdown-menu.tsx", "type": "registry:ui" }, { "path": "src/components/ui/field.tsx", "type": "registry:ui" }, { "path": "src/components/ui/input.tsx", "type": "registry:ui" }, { "path": "src/components/ui/input-group.tsx", "type": "registry:ui" }, { "path": "src/components/ui/scroll-area.tsx", "type": "registry:ui" }, { "path": "src/components/ui/separator.tsx", "type": "registry:ui" }, { "path": "src/components/ui/sheet.tsx", "type": "registry:ui" }, { "path": "src/components/ui/skeleton.tsx", "type": "registry:ui" }, { "path": "src/components/ui/switch.tsx", "type": "registry:ui" }, { "path": "src/components/ui/tabs.tsx", "type": "registry:ui" }, { "path": "src/components/ui/textarea.tsx", "type": "registry:ui" }, { "path": "src/components/ui/tooltip.tsx", "type": "registry:ui" }, { "path": "src/components/chatgpt/chatgpt-app.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-command-palette.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-composer.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-empty-state.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-header.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-login-screen.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-mark.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-message.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-message-parts.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-settings-dialog.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-shell.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-sidebar.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/chatgpt-thread.tsx", "type": "registry:component" }, { "path": "src/components/chatgpt/index.ts", "type": "registry:component" }, { "path": "src/components/chatgpt/types.ts", "type": "registry:component" } ], "cssVars": { "theme": { "color-chat-surface": "hsl(var(--chat-surface))", "color-chat-soft": "hsl(var(--chat-soft))", "color-chat-login": "hsl(var(--chat-login))", "color-chat-auth": "hsl(var(--chat-auth))", "color-chat-voice": "hsl(var(--chat-voice))", "color-chat-mode": "hsl(var(--chat-mode))" }, "light": { "chat-surface": "0 0% 98%", "chat-soft": "0 0% 94%", "chat-login": "58 100% 93%", "chat-auth": "221 71% 53%", "chat-voice": "44 91% 57%", "chat-mode": "222 85% 56%" }, "dark": { "chat-surface": "0 0% 12%", "chat-soft": "0 0% 18%", "chat-login": "58 42% 16%", "chat-auth": "221 71% 58%", "chat-voice": "44 91% 57%", "chat-mode": "222 85% 66%" } }, "docs": "Install with `npx shadcn@latest add https://unpkg.com/@pandelis/openui@latest/r/openui-chatgpt.json`. Import `ChatGPTApp` from `@/components/chatgpt` or compose the individual components." } ] }