snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
761
apps/v4/registry/new-york-v4/ui/_registry.ts
Normal file
761
apps/v4/registry/new-york-v4/ui/_registry.ts
Normal file
@@ -0,0 +1,761 @@
|
||||
import { type Registry } from "shadcn/schema"
|
||||
|
||||
export const ui: Registry["items"] = [
|
||||
{
|
||||
name: "accordion",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/accordion.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "alert",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/alert.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "alert-dialog",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
registryDependencies: ["button"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/alert-dialog.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "aspect-ratio",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/aspect-ratio.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "avatar",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/avatar.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "badge",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/badge.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "breadcrumb",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/breadcrumb.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "button",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/button.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "button-group",
|
||||
type: "registry:ui",
|
||||
registryDependencies: ["button", "separator"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/button-group.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "calendar",
|
||||
type: "registry:ui",
|
||||
dependencies: ["react-day-picker@latest", "date-fns"],
|
||||
registryDependencies: ["button"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/calendar.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "card",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/card.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "carousel",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/carousel.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
registryDependencies: ["button"],
|
||||
dependencies: ["embla-carousel-react"],
|
||||
},
|
||||
{
|
||||
name: "chart",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/chart.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
registryDependencies: ["card"],
|
||||
dependencies: ["recharts@3.8.0", "lucide-react"],
|
||||
},
|
||||
{
|
||||
name: "checkbox",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/checkbox.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "collapsible",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/collapsible.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "combobox",
|
||||
type: "registry:ui",
|
||||
dependencies: ["@base-ui/react"],
|
||||
registryDependencies: ["button", "input-group"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/combobox.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "command",
|
||||
type: "registry:ui",
|
||||
dependencies: ["cmdk"],
|
||||
registryDependencies: ["dialog"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/command.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "context-menu",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/context-menu.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "dialog",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/dialog.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "drawer",
|
||||
type: "registry:ui",
|
||||
dependencies: ["vaul"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/drawer.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "dropdown-menu",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/dropdown-menu.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "empty",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/empty.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "field",
|
||||
type: "registry:ui",
|
||||
registryDependencies: ["label", "separator"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/field.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "form",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui", "@hookform/resolvers", "zod", "react-hook-form"],
|
||||
registryDependencies: ["button", "label"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/form.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "hover-card",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/hover-card.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "input",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/input.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "input-group",
|
||||
type: "registry:ui",
|
||||
registryDependencies: ["button", "input", "textarea"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/input-group.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "input-otp",
|
||||
type: "registry:ui",
|
||||
dependencies: ["input-otp"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/input-otp.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "item",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
registryDependencies: ["separator"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/item.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "label",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/label.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "menubar",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/menubar.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "navigation-menu",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/navigation-menu.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "pagination",
|
||||
type: "registry:ui",
|
||||
registryDependencies: ["button"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/pagination.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "popover",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/popover.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "progress",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/progress.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "radio-group",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/radio-group.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "resizable",
|
||||
type: "registry:ui",
|
||||
dependencies: ["react-resizable-panels@^4"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/resizable.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "scroll-area",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/scroll-area.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "select",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/select.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "separator",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/separator.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "sheet",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/sheet.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "sidebar",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui", "class-variance-authority", "lucide-react"],
|
||||
registryDependencies: [
|
||||
"button",
|
||||
"separator",
|
||||
"sheet",
|
||||
"tooltip",
|
||||
"input",
|
||||
"use-mobile",
|
||||
"skeleton",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "ui/sidebar.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
tailwind: {
|
||||
config: {
|
||||
theme: {
|
||||
extend: {
|
||||
colors: {
|
||||
sidebar: {
|
||||
DEFAULT: "hsl(var(--sidebar-background))",
|
||||
foreground: "hsl(var(--sidebar-foreground))",
|
||||
primary: "hsl(var(--sidebar-primary))",
|
||||
"primary-foreground": "hsl(var(--sidebar-primary-foreground))",
|
||||
accent: "hsl(var(--sidebar-accent))",
|
||||
"accent-foreground": "hsl(var(--sidebar-accent-foreground))",
|
||||
border: "hsl(var(--sidebar-border))",
|
||||
ring: "hsl(var(--sidebar-ring))",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
cssVars: {
|
||||
light: {
|
||||
"sidebar-background": "0 0% 98%",
|
||||
"sidebar-foreground": "240 5.3% 26.1%",
|
||||
"sidebar-primary": "240 5.9% 10%",
|
||||
"sidebar-primary-foreground": "0 0% 98%",
|
||||
"sidebar-accent": "240 4.8% 95.9%",
|
||||
"sidebar-accent-foreground": "240 5.9% 10%",
|
||||
"sidebar-border": "220 13% 91%",
|
||||
"sidebar-ring": "217.2 91.2% 59.8%",
|
||||
},
|
||||
dark: {
|
||||
"sidebar-background": "240 5.9% 10%",
|
||||
"sidebar-foreground": "240 4.8% 95.9%",
|
||||
"sidebar-primary": "224.3 76.3% 48%",
|
||||
"sidebar-primary-foreground": "0 0% 100%",
|
||||
"sidebar-accent": "240 3.7% 15.9%",
|
||||
"sidebar-accent-foreground": "240 4.8% 95.9%",
|
||||
"sidebar-border": "240 3.7% 15.9%",
|
||||
"sidebar-ring": "217.2 91.2% 59.8%",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "skeleton",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/skeleton.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "slider",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/slider.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "sonner",
|
||||
type: "registry:ui",
|
||||
dependencies: ["sonner", "next-themes"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/sonner.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "spinner",
|
||||
type: "registry:ui",
|
||||
dependencies: ["class-variance-authority"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/spinner.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "switch",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/switch.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "table",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/table.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "tabs",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/tabs.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "textarea",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/textarea.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "toast",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/toast.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
{
|
||||
path: "hooks/use-toast.ts",
|
||||
type: "registry:hook",
|
||||
},
|
||||
{
|
||||
path: "ui/toaster.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "toggle",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/toggle.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "toggle-group",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
registryDependencies: ["toggle"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/toggle-group.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "tooltip",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
docs: `The \`tooltip\` component has been added. Remember to wrap your app with the \`TooltipProvider\` component.
|
||||
|
||||
\`\`\`tsx title="app/layout.tsx"
|
||||
import { TooltipProvider } from "@/components/ui/tooltip"
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
<TooltipProvider>{children}</TooltipProvider>
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
\`\`\`
|
||||
`,
|
||||
files: [
|
||||
{
|
||||
path: "ui/tooltip.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "kbd",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/kbd.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "native-select",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/native-select.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "direction",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/direction.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "attachment",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
registryDependencies: ["button"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/attachment.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "bubble",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/bubble.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "marker",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/marker.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "message",
|
||||
type: "registry:ui",
|
||||
files: [
|
||||
{
|
||||
path: "ui/message.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "message-scroller",
|
||||
type: "registry:ui",
|
||||
dependencies: ["@shadcn/react"],
|
||||
registryDependencies: ["button"],
|
||||
files: [
|
||||
{
|
||||
path: "ui/message-scroller.tsx",
|
||||
type: "registry:ui",
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user