This commit is contained in:
shadcn
2026-02-27 09:39:15 +04:00
parent 8dbb61cdd4
commit 34ee2a17c2
43 changed files with 4484 additions and 1294 deletions

View File

@@ -48,9 +48,7 @@
{
"name": "alert-dialog",
"type": "registry:ui",
"registryDependencies": [
"button"
],
"registryDependencies": ["button"],
"files": [
{
"path": "ui/alert-dialog.tsx",
@@ -188,9 +186,7 @@
{
"name": "button-group",
"type": "registry:ui",
"registryDependencies": [
"separator"
],
"registryDependencies": ["separator"],
"files": [
{
"path": "ui/button-group.tsx",
@@ -213,13 +209,8 @@
{
"name": "calendar",
"type": "registry:ui",
"dependencies": [
"react-day-picker@latest",
"date-fns"
],
"registryDependencies": [
"button"
],
"dependencies": ["react-day-picker@latest", "date-fns"],
"registryDependencies": ["button"],
"files": [
{
"path": "ui/calendar.tsx",
@@ -272,12 +263,8 @@
"type": "registry:ui"
}
],
"registryDependencies": [
"button"
],
"dependencies": [
"embla-carousel-react"
],
"registryDependencies": ["button"],
"dependencies": ["embla-carousel-react"],
"meta": {
"links": {
"radix": {
@@ -302,9 +289,7 @@
"type": "registry:ui"
}
],
"dependencies": [
"recharts@2.15.4"
],
"dependencies": ["recharts@2.15.4"],
"meta": {
"links": {
"radix": {
@@ -369,13 +354,8 @@
{
"name": "combobox",
"type": "registry:ui",
"registryDependencies": [
"button",
"input-group"
],
"dependencies": [
"@base-ui/react"
],
"registryDependencies": ["button", "input-group"],
"dependencies": ["@base-ui/react"],
"files": [
{
"path": "ui/combobox.tsx",
@@ -400,13 +380,8 @@
{
"name": "command",
"type": "registry:ui",
"dependencies": [
"cmdk"
],
"registryDependencies": [
"dialog",
"input-group"
],
"dependencies": ["cmdk"],
"registryDependencies": ["dialog", "input-group"],
"files": [
{
"path": "ui/command.tsx",
@@ -455,9 +430,7 @@
{
"name": "dialog",
"type": "registry:ui",
"registryDependencies": [
"button"
],
"registryDependencies": ["button"],
"files": [
{
"path": "ui/dialog.tsx",
@@ -504,9 +477,7 @@
{
"name": "drawer",
"type": "registry:ui",
"dependencies": [
"vaul"
],
"dependencies": ["vaul"],
"files": [
{
"path": "ui/drawer.tsx",
@@ -577,10 +548,7 @@
{
"name": "field",
"type": "registry:ui",
"registryDependencies": [
"label",
"separator"
],
"registryDependencies": ["label", "separator"],
"files": [
{
"path": "ui/field.tsx",
@@ -653,11 +621,7 @@
{
"name": "input-group",
"type": "registry:ui",
"registryDependencies": [
"button",
"input",
"textarea"
],
"registryDependencies": ["button", "input", "textarea"],
"files": [
{
"path": "ui/input-group.tsx",
@@ -680,9 +644,7 @@
{
"name": "input-otp",
"type": "registry:ui",
"dependencies": [
"input-otp"
],
"dependencies": ["input-otp"],
"files": [
{
"path": "ui/input-otp.tsx",
@@ -707,9 +669,7 @@
{
"name": "item",
"type": "registry:ui",
"registryDependencies": [
"separator"
],
"registryDependencies": ["separator"],
"files": [
{
"path": "ui/item.tsx",
@@ -848,9 +808,7 @@
{
"name": "pagination",
"type": "registry:ui",
"registryDependencies": [
"button"
],
"registryDependencies": ["button"],
"files": [
{
"path": "ui/pagination.tsx",
@@ -945,9 +903,7 @@
{
"name": "resizable",
"type": "registry:ui",
"dependencies": [
"react-resizable-panels"
],
"dependencies": ["react-resizable-panels"],
"files": [
{
"path": "ui/resizable.tsx",
@@ -1044,9 +1000,7 @@
{
"name": "sheet",
"type": "registry:ui",
"registryDependencies": [
"button"
],
"registryDependencies": ["button"],
"files": [
{
"path": "ui/sheet.tsx",
@@ -1148,10 +1102,7 @@
{
"name": "sonner",
"type": "registry:ui",
"dependencies": [
"sonner",
"next-themes"
],
"dependencies": ["sonner", "next-themes"],
"files": [
{
"path": "ui/sonner.tsx",
@@ -1314,9 +1265,7 @@
{
"name": "toggle-group",
"type": "registry:ui",
"registryDependencies": [
"toggle"
],
"registryDependencies": ["toggle"],
"files": [
{
"path": "ui/toggle-group.tsx",
@@ -1363,4 +1312,4 @@
}
}
}
]
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,56 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +60,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/accordion-example.tsx",
"api": "https://base-ui.com/react/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +77,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +94,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-dialog-example.tsx",
"api": "https://base-ui.com/react/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +111,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/aspect-ratio-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +127,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/avatar-example.tsx",
"api": "https://base-ui.com/react/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +144,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +160,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +176,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +193,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +211,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +228,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +246,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -138,6 +265,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -148,6 +281,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/checkbox-example.tsx",
"api": "https://base-ui.com/react/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -158,6 +298,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/collapsible-example.tsx",
"api": "https://base-ui.com/react/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -170,6 +317,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox.md"
}
},
"type": "registry:ui"
},
{
@@ -182,6 +336,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -192,6 +353,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/context-menu-example.tsx",
"api": "https://base-ui.com/react/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -203,6 +371,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dialog-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -214,6 +389,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -224,6 +406,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dropdown-menu-example.tsx",
"api": "https://base-ui.com/react/components/menu.md"
}
},
"type": "registry:ui"
},
{
@@ -234,6 +423,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -245,6 +440,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -259,6 +460,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/hover-card-example.tsx",
"api": "https://base-ui.com/react/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -269,6 +477,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -280,6 +494,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -291,6 +511,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -302,6 +529,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -312,6 +545,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/label-example.tsx",
"api": "https://base-ui.com/react/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -323,6 +563,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/menubar-example.tsx",
"api": "https://base-ui.com/react/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -333,6 +580,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/navigation-menu-example.tsx",
"api": "https://base-ui.com/react/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -344,6 +598,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -354,6 +614,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/popover-example.tsx",
"api": "https://base-ui.com/react/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -364,6 +631,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/progress-example.tsx",
"api": "https://base-ui.com/react/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -374,6 +648,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/radio-group-example.tsx",
"api": "https://base-ui.com/react/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -385,6 +666,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -395,6 +683,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/scroll-area-example.tsx",
"api": "https://base-ui.com/react/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -405,6 +700,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/select-example.tsx",
"api": "https://base-ui.com/react/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -415,6 +717,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/separator-example.tsx",
"api": "https://base-ui.com/react/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -426,6 +735,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sheet-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -445,6 +761,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -455,6 +777,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -465,6 +793,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/slider-example.tsx",
"api": "https://base-ui.com/react/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -476,6 +811,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -486,6 +828,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -496,6 +844,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/switch-example.tsx",
"api": "https://base-ui.com/react/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -506,6 +861,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -516,6 +877,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tabs-example.tsx",
"api": "https://base-ui.com/react/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -526,6 +894,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -536,6 +910,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-example.tsx",
"api": "https://base-ui.com/react/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -547,6 +928,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-group-example.tsx",
"api": "https://base-ui.com/react/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -557,6 +945,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -568,6 +963,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -578,6 +979,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -589,6 +996,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/direction",
"api": "https://base-ui.com/react/utils/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1515,7 +1928,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1523,6 +1936,7 @@
"button",
"button-group",
"card",
"chart",
"checkbox",
"combobox",
"dropdown-menu",
@@ -1546,110 +1960,7 @@
],
"files": [
{
"path": "registry/base-lyra/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/base-lyra/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-lyra/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/base-lyra/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-lyra/blocks/chatgpt.tsx",
"path": "registry/base-lyra/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2554,7 +2865,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2566,7 +2877,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2578,7 +2889,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2590,7 +2901,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2602,7 +2913,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/base-lyra/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-lyra/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-none px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-none data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-lyra/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-none px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-none\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-none data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,56 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +60,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/accordion-example.tsx",
"api": "https://base-ui.com/react/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +77,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +94,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-dialog-example.tsx",
"api": "https://base-ui.com/react/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +111,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/aspect-ratio-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +127,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/avatar-example.tsx",
"api": "https://base-ui.com/react/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +144,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +160,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +176,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +193,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +211,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +228,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +246,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -138,6 +265,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -148,6 +281,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/checkbox-example.tsx",
"api": "https://base-ui.com/react/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -158,6 +298,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/collapsible-example.tsx",
"api": "https://base-ui.com/react/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -170,6 +317,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox.md"
}
},
"type": "registry:ui"
},
{
@@ -182,6 +336,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -192,6 +353,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/context-menu-example.tsx",
"api": "https://base-ui.com/react/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -203,6 +371,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dialog-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -214,6 +389,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -224,6 +406,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dropdown-menu-example.tsx",
"api": "https://base-ui.com/react/components/menu.md"
}
},
"type": "registry:ui"
},
{
@@ -234,6 +423,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -245,6 +440,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -259,6 +460,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/hover-card-example.tsx",
"api": "https://base-ui.com/react/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -269,6 +477,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -280,6 +494,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -291,6 +511,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -302,6 +529,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -312,6 +545,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/label-example.tsx",
"api": "https://base-ui.com/react/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -323,6 +563,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/menubar-example.tsx",
"api": "https://base-ui.com/react/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -333,6 +580,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/navigation-menu-example.tsx",
"api": "https://base-ui.com/react/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -344,6 +598,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -354,6 +614,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/popover-example.tsx",
"api": "https://base-ui.com/react/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -364,6 +631,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/progress-example.tsx",
"api": "https://base-ui.com/react/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -374,6 +648,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/radio-group-example.tsx",
"api": "https://base-ui.com/react/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -385,6 +666,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -395,6 +683,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/scroll-area-example.tsx",
"api": "https://base-ui.com/react/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -405,6 +700,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/select-example.tsx",
"api": "https://base-ui.com/react/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -415,6 +717,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/separator-example.tsx",
"api": "https://base-ui.com/react/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -426,6 +735,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sheet-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -445,6 +761,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -455,6 +777,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -465,6 +793,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/slider-example.tsx",
"api": "https://base-ui.com/react/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -476,6 +811,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -486,6 +828,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -496,6 +844,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/switch-example.tsx",
"api": "https://base-ui.com/react/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -506,6 +861,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -516,6 +877,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tabs-example.tsx",
"api": "https://base-ui.com/react/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -526,6 +894,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -536,6 +910,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-example.tsx",
"api": "https://base-ui.com/react/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -547,6 +928,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-group-example.tsx",
"api": "https://base-ui.com/react/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -557,6 +945,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -568,6 +963,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -578,6 +979,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -589,6 +996,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/direction",
"api": "https://base-ui.com/react/utils/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1515,7 +1928,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1523,6 +1936,7 @@
"button",
"button-group",
"card",
"chart",
"checkbox",
"combobox",
"dropdown-menu",
@@ -1546,110 +1960,7 @@
],
"files": [
{
"path": "registry/base-maia/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/base-maia/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-maia/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/base-maia/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-maia/blocks/chatgpt.tsx",
"path": "registry/base-maia/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2554,7 +2865,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2566,7 +2877,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2578,7 +2889,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2590,7 +2901,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2602,7 +2913,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/base-maia/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-maia/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-2xl px-3 py-1.5 text-xs **:data-[slot=kbd]:rounded-4xl\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:translate-x-[1.5px] data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:translate-x-[-1.5px] data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:translate-x-[-1.5px] data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:translate-x-[1.5px] data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-maia/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-2xl px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-4xl\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:translate-x-[1.5px] data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:translate-x-[-1.5px] data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:translate-x-[-1.5px] data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:translate-x-[1.5px] data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,56 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +60,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/accordion-example.tsx",
"api": "https://base-ui.com/react/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +77,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +94,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-dialog-example.tsx",
"api": "https://base-ui.com/react/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +111,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/aspect-ratio-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +127,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/avatar-example.tsx",
"api": "https://base-ui.com/react/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +144,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +160,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +176,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +193,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +211,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +228,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +246,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -138,6 +265,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -148,6 +281,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/checkbox-example.tsx",
"api": "https://base-ui.com/react/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -158,6 +298,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/collapsible-example.tsx",
"api": "https://base-ui.com/react/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -170,6 +317,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox.md"
}
},
"type": "registry:ui"
},
{
@@ -182,6 +336,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -192,6 +353,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/context-menu-example.tsx",
"api": "https://base-ui.com/react/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -203,6 +371,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dialog-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -214,6 +389,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -224,6 +406,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dropdown-menu-example.tsx",
"api": "https://base-ui.com/react/components/menu.md"
}
},
"type": "registry:ui"
},
{
@@ -234,6 +423,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -245,6 +440,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -259,6 +460,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/hover-card-example.tsx",
"api": "https://base-ui.com/react/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -269,6 +477,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -280,6 +494,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -291,6 +511,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -302,6 +529,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -312,6 +545,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/label-example.tsx",
"api": "https://base-ui.com/react/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -323,6 +563,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/menubar-example.tsx",
"api": "https://base-ui.com/react/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -333,6 +580,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/navigation-menu-example.tsx",
"api": "https://base-ui.com/react/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -344,6 +598,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -354,6 +614,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/popover-example.tsx",
"api": "https://base-ui.com/react/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -364,6 +631,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/progress-example.tsx",
"api": "https://base-ui.com/react/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -374,6 +648,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/radio-group-example.tsx",
"api": "https://base-ui.com/react/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -385,6 +666,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -395,6 +683,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/scroll-area-example.tsx",
"api": "https://base-ui.com/react/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -405,6 +700,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/select-example.tsx",
"api": "https://base-ui.com/react/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -415,6 +717,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/separator-example.tsx",
"api": "https://base-ui.com/react/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -426,6 +735,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sheet-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -445,6 +761,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -455,6 +777,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -465,6 +793,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/slider-example.tsx",
"api": "https://base-ui.com/react/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -476,6 +811,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -486,6 +828,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -496,6 +844,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/switch-example.tsx",
"api": "https://base-ui.com/react/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -506,6 +861,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -516,6 +877,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tabs-example.tsx",
"api": "https://base-ui.com/react/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -526,6 +894,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -536,6 +910,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-example.tsx",
"api": "https://base-ui.com/react/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -547,6 +928,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-group-example.tsx",
"api": "https://base-ui.com/react/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -557,6 +945,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -568,6 +963,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -578,6 +979,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -589,6 +996,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/direction",
"api": "https://base-ui.com/react/utils/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1515,7 +1928,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1523,6 +1936,7 @@
"button",
"button-group",
"card",
"chart",
"checkbox",
"combobox",
"dropdown-menu",
@@ -1546,110 +1960,7 @@
],
"files": [
{
"path": "registry/base-mira/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/base-mira/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-mira/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/base-mira/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-mira/blocks/chatgpt.tsx",
"path": "registry/base-mira/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2554,7 +2865,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2566,7 +2877,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2578,7 +2889,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2590,7 +2901,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2602,7 +2913,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/base-mira/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-mira/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md px-3 py-1.5 text-xs **:data-[slot=kbd]:rounded-md\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-mira/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,56 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +60,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/accordion-example.tsx",
"api": "https://base-ui.com/react/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +77,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +94,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-dialog-example.tsx",
"api": "https://base-ui.com/react/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +111,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/aspect-ratio-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +127,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/avatar-example.tsx",
"api": "https://base-ui.com/react/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +144,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +160,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +176,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +193,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +211,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +228,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +246,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -138,6 +265,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -148,6 +281,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/checkbox-example.tsx",
"api": "https://base-ui.com/react/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -158,6 +298,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/collapsible-example.tsx",
"api": "https://base-ui.com/react/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -170,6 +317,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox.md"
}
},
"type": "registry:ui"
},
{
@@ -182,6 +336,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -192,6 +353,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/context-menu-example.tsx",
"api": "https://base-ui.com/react/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -203,6 +371,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dialog-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -214,6 +389,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -224,6 +406,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dropdown-menu-example.tsx",
"api": "https://base-ui.com/react/components/menu.md"
}
},
"type": "registry:ui"
},
{
@@ -234,6 +423,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -245,6 +440,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -259,6 +460,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/hover-card-example.tsx",
"api": "https://base-ui.com/react/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -269,6 +477,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -280,6 +494,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -291,6 +511,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -302,6 +529,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -312,6 +545,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/label-example.tsx",
"api": "https://base-ui.com/react/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -323,6 +563,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/menubar-example.tsx",
"api": "https://base-ui.com/react/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -333,6 +580,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/navigation-menu-example.tsx",
"api": "https://base-ui.com/react/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -344,6 +598,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -354,6 +614,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/popover-example.tsx",
"api": "https://base-ui.com/react/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -364,6 +631,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/progress-example.tsx",
"api": "https://base-ui.com/react/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -374,6 +648,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/radio-group-example.tsx",
"api": "https://base-ui.com/react/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -385,6 +666,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -395,6 +683,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/scroll-area-example.tsx",
"api": "https://base-ui.com/react/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -405,6 +700,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/select-example.tsx",
"api": "https://base-ui.com/react/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -415,6 +717,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/separator-example.tsx",
"api": "https://base-ui.com/react/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -426,6 +735,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sheet-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -445,6 +761,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -455,6 +777,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -465,6 +793,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/slider-example.tsx",
"api": "https://base-ui.com/react/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -476,6 +811,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -486,6 +828,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -496,6 +844,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/switch-example.tsx",
"api": "https://base-ui.com/react/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -506,6 +861,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -516,6 +877,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tabs-example.tsx",
"api": "https://base-ui.com/react/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -526,6 +894,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -536,6 +910,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-example.tsx",
"api": "https://base-ui.com/react/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -547,6 +928,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-group-example.tsx",
"api": "https://base-ui.com/react/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -557,6 +945,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -568,6 +963,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -578,6 +979,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -589,6 +996,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/direction",
"api": "https://base-ui.com/react/utils/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1515,7 +1928,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1523,6 +1936,7 @@
"button",
"button-group",
"card",
"chart",
"checkbox",
"combobox",
"dropdown-menu",
@@ -1546,110 +1960,7 @@
],
"files": [
{
"path": "registry/base-nova/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/base-nova/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-nova/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/base-nova/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-nova/blocks/chatgpt.tsx",
"path": "registry/base-nova/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2554,7 +2865,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2566,7 +2877,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2578,7 +2889,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2590,7 +2901,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2602,7 +2913,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/base-nova/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-nova/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-nova/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,56 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": [
"class-variance-authority",
"lucide-react",
"@base-ui/react"
],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +60,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/accordion-example.tsx",
"api": "https://base-ui.com/react/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +77,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +94,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/alert-dialog-example.tsx",
"api": "https://base-ui.com/react/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +111,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/aspect-ratio-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +127,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/avatar-example.tsx",
"api": "https://base-ui.com/react/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +144,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +160,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +176,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +193,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +211,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +228,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +246,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -138,6 +265,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -148,6 +281,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/checkbox-example.tsx",
"api": "https://base-ui.com/react/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -158,6 +298,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/collapsible-example.tsx",
"api": "https://base-ui.com/react/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -170,6 +317,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox.md"
}
},
"type": "registry:ui"
},
{
@@ -182,6 +336,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -192,6 +353,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/context-menu-example.tsx",
"api": "https://base-ui.com/react/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -203,6 +371,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dialog-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -214,6 +389,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -224,6 +406,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/dropdown-menu-example.tsx",
"api": "https://base-ui.com/react/components/menu.md"
}
},
"type": "registry:ui"
},
{
@@ -234,6 +423,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -245,6 +440,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -259,6 +460,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/hover-card-example.tsx",
"api": "https://base-ui.com/react/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -269,6 +477,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -280,6 +494,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -291,6 +511,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -302,6 +529,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -312,6 +545,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/label-example.tsx",
"api": "https://base-ui.com/react/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -323,6 +563,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/menubar-example.tsx",
"api": "https://base-ui.com/react/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -333,6 +580,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/navigation-menu-example.tsx",
"api": "https://base-ui.com/react/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -344,6 +598,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -354,6 +614,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/popover-example.tsx",
"api": "https://base-ui.com/react/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -364,6 +631,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/progress-example.tsx",
"api": "https://base-ui.com/react/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -374,6 +648,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/radio-group-example.tsx",
"api": "https://base-ui.com/react/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -385,6 +666,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -395,6 +683,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/scroll-area-example.tsx",
"api": "https://base-ui.com/react/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -405,6 +700,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/select-example.tsx",
"api": "https://base-ui.com/react/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -415,6 +717,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/separator-example.tsx",
"api": "https://base-ui.com/react/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -426,6 +735,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sheet-example.tsx",
"api": "https://base-ui.com/react/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -445,6 +761,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -455,6 +777,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -465,6 +793,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/slider-example.tsx",
"api": "https://base-ui.com/react/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -476,6 +811,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -486,6 +828,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -496,6 +844,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/switch-example.tsx",
"api": "https://base-ui.com/react/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -506,6 +861,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -516,6 +877,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tabs-example.tsx",
"api": "https://base-ui.com/react/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -526,6 +894,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -536,6 +910,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-example.tsx",
"api": "https://base-ui.com/react/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -547,6 +928,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/toggle-group-example.tsx",
"api": "https://base-ui.com/react/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -557,6 +945,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -568,6 +963,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -578,6 +979,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -589,6 +996,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/direction",
"api": "https://base-ui.com/react/utils/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1515,7 +1928,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1523,6 +1936,7 @@
"button",
"button-group",
"card",
"chart",
"checkbox",
"combobox",
"dropdown-menu",
@@ -1546,110 +1960,7 @@
],
"files": [
{
"path": "registry/base-vega/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/base-vega/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-vega/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/base-vega/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/base-vega/blocks/chatgpt.tsx",
"path": "registry/base-vega/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2554,7 +2865,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2566,7 +2877,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2578,7 +2889,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2590,7 +2901,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2602,7 +2913,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/base-vega/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-vega/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"content": "\"use client\"\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\"\n\nimport { cn } from \"@/registry/base-vega/lib/utils\"\n\nfunction TooltipProvider({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5\" />\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/base/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/base/examples/tooltip-example.tsx",
"api": "https://base-ui.com/react/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,48 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +52,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/accordion-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +69,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +86,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-dialog-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +103,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/aspect-ratio-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/aspect-ratio.md"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +120,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/avatar-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +137,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +153,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +169,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +186,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +204,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +221,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +239,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -137,6 +257,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -147,6 +273,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/checkbox-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -157,6 +290,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/collapsible-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -169,6 +309,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox"
}
},
"type": "registry:ui"
},
{
@@ -181,6 +328,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -191,6 +345,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/context-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -202,6 +363,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dialog-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -213,6 +381,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -223,6 +398,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dropdown-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dropdown-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -233,6 +415,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -244,6 +432,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -258,6 +452,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/hover-card-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -268,6 +469,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -279,6 +486,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -290,6 +503,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -301,6 +521,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -311,6 +537,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/label-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -321,6 +554,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/menubar-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -331,6 +571,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/navigation-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -342,6 +589,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -352,6 +605,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/popover-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -362,6 +622,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/progress-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -372,6 +639,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/radio-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -383,6 +657,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -393,6 +674,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/scroll-area-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -403,6 +691,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/select-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -413,6 +708,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/separator-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -424,6 +726,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sheet-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -443,6 +752,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -453,6 +768,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -463,6 +784,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/slider-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -474,6 +802,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -484,6 +819,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -494,6 +835,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/switch-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -504,6 +852,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -514,6 +868,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tabs-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -524,6 +885,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -534,6 +901,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -545,6 +919,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -555,6 +936,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -566,6 +954,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -576,6 +970,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -586,6 +986,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/direction",
"api": "https://www.radix-ui.com/primitives/docs/utilities/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1512,7 +1918,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1543,110 +1949,7 @@
],
"files": [
{
"path": "registry/radix-lyra/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/radix-lyra/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-lyra/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/radix-lyra/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-lyra/blocks/chatgpt.tsx",
"path": "registry/radix-lyra/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2551,7 +2854,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2563,7 +2866,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2575,7 +2878,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2587,7 +2890,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2599,7 +2902,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/radix-lyra/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-lyra/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) rounded-none px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-none\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-lyra/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-none px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-none\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-none\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

View File

@@ -2,6 +2,48 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +52,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/accordion-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +69,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +86,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-dialog-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +103,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/aspect-ratio-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/aspect-ratio.md"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +120,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/avatar-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +137,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +153,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +169,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +186,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +204,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +221,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +239,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -137,6 +257,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -147,6 +273,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/checkbox-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -157,6 +290,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/collapsible-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -169,6 +309,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox"
}
},
"type": "registry:ui"
},
{
@@ -181,6 +328,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -191,6 +345,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/context-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -202,6 +363,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dialog-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -213,6 +381,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -223,6 +398,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dropdown-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dropdown-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -233,6 +415,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -244,6 +432,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -258,6 +452,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/hover-card-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -268,6 +469,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -279,6 +486,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -290,6 +503,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -301,6 +521,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -311,6 +537,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/label-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -321,6 +554,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/menubar-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -331,6 +571,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/navigation-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -342,6 +589,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -352,6 +605,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/popover-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -362,6 +622,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/progress-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -372,6 +639,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/radio-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -383,6 +657,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -393,6 +674,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/scroll-area-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -403,6 +691,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/select-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -413,6 +708,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/separator-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -424,6 +726,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sheet-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -443,6 +752,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -453,6 +768,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -463,6 +784,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/slider-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -474,6 +802,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -484,6 +819,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -494,6 +835,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/switch-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -504,6 +852,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -514,6 +868,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tabs-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -524,6 +885,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -534,6 +901,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -545,6 +919,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -555,6 +936,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -566,6 +954,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -576,6 +970,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -586,6 +986,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/direction",
"api": "https://www.radix-ui.com/primitives/docs/utilities/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1512,7 +1918,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1543,110 +1949,7 @@
],
"files": [
{
"path": "registry/radix-maia/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/radix-maia/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-maia/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/radix-maia/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-maia/blocks/chatgpt.tsx",
"path": "registry/radix-maia/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2551,7 +2854,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2563,7 +2866,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2575,7 +2878,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2587,7 +2890,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2599,7 +2902,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/radix-maia/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-maia/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) rounded-2xl px-3 py-1.5 text-xs **:data-[slot=kbd]:rounded-4xl\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] data-[side=left]:translate-x-[-1.5px] data-[side=right]:translate-x-[1.5px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-maia/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-2xl px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-4xl\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] data-[side=left]:translate-x-[-1.5px] data-[side=right]:translate-x-[1.5px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

File diff suppressed because one or more lines are too long

View File

@@ -2,6 +2,48 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +52,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/accordion-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +69,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +86,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-dialog-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +103,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/aspect-ratio-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/aspect-ratio.md"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +120,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/avatar-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +137,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +153,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +169,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +186,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +204,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +221,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +239,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -137,6 +257,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -147,6 +273,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/checkbox-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -157,6 +290,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/collapsible-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -169,6 +309,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox"
}
},
"type": "registry:ui"
},
{
@@ -181,6 +328,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -191,6 +345,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/context-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -202,6 +363,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dialog-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -213,6 +381,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -223,6 +398,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dropdown-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dropdown-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -233,6 +415,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -244,6 +432,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -258,6 +452,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/hover-card-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -268,6 +469,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -279,6 +486,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -290,6 +503,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -301,6 +521,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -311,6 +537,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/label-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -321,6 +554,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/menubar-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -331,6 +571,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/navigation-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -342,6 +589,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -352,6 +605,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/popover-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -362,6 +622,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/progress-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -372,6 +639,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/radio-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -383,6 +657,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -393,6 +674,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/scroll-area-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -403,6 +691,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/select-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -413,6 +708,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/separator-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -424,6 +726,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sheet-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -443,6 +752,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -453,6 +768,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -463,6 +784,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/slider-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -474,6 +802,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -484,6 +819,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -494,6 +835,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/switch-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -504,6 +852,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -514,6 +868,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tabs-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -524,6 +885,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -534,6 +901,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -545,6 +919,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -555,6 +936,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -566,6 +954,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -576,6 +970,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -586,6 +986,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/direction",
"api": "https://www.radix-ui.com/primitives/docs/utilities/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1512,7 +1918,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1543,110 +1949,7 @@
],
"files": [
{
"path": "registry/radix-mira/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/radix-mira/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-mira/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/radix-mira/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-mira/blocks/chatgpt.tsx",
"path": "registry/radix-mira/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2551,7 +2854,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2563,7 +2866,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2575,7 +2878,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2587,7 +2890,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2599,7 +2902,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/radix-mira/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-mira/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs **:data-[slot=kbd]:rounded-md\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-mira/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

View File

@@ -2,6 +2,48 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +52,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/accordion-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +69,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +86,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-dialog-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +103,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/aspect-ratio-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/aspect-ratio.md"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +120,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/avatar-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +137,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +153,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +169,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +186,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +204,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +221,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +239,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -137,6 +257,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -147,6 +273,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/checkbox-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -157,6 +290,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/collapsible-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -169,6 +309,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox"
}
},
"type": "registry:ui"
},
{
@@ -181,6 +328,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -191,6 +345,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/context-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -202,6 +363,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dialog-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -213,6 +381,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -223,6 +398,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dropdown-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dropdown-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -233,6 +415,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -244,6 +432,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -258,6 +452,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/hover-card-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -268,6 +469,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -279,6 +486,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -290,6 +503,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -301,6 +521,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -311,6 +537,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/label-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -321,6 +554,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/menubar-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -331,6 +571,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/navigation-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -342,6 +589,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -352,6 +605,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/popover-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -362,6 +622,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/progress-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -372,6 +639,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/radio-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -383,6 +657,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -393,6 +674,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/scroll-area-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -403,6 +691,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/select-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -413,6 +708,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/separator-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -424,6 +726,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sheet-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -443,6 +752,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -453,6 +768,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -463,6 +784,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/slider-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -474,6 +802,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -484,6 +819,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -494,6 +835,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/switch-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -504,6 +852,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -514,6 +868,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tabs-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -524,6 +885,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -534,6 +901,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -545,6 +919,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -555,6 +936,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -566,6 +954,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -576,6 +970,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -586,6 +986,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/direction",
"api": "https://www.radix-ui.com/primitives/docs/utilities/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1512,7 +1918,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1543,110 +1949,7 @@
],
"files": [
{
"path": "registry/radix-nova/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/radix-nova/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-nova/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/radix-nova/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-nova/blocks/chatgpt.tsx",
"path": "registry/radix-nova/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2551,7 +2854,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2563,7 +2866,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2575,7 +2878,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2587,7 +2890,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2599,7 +2902,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/radix-nova/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-nova/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-nova/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

View File

@@ -2,6 +2,48 @@
"name": "shadcn/ui",
"homepage": "https://ui.shadcn.com",
"items": [
{
"name": "index",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "style",
"dependencies": ["class-variance-authority", "lucide-react", "radix-ui"],
"devDependencies": ["tw-animate-css", "shadcn"],
"registryDependencies": ["utils"],
"files": [],
"cssVars": {},
"css": {
"@import \"tw-animate-css\"": {},
"@import \"shadcn/tailwind.css\"": {},
"@layer base": {
"*": {
"@apply border-border outline-ring/50": {}
},
"body": {
"@apply bg-background text-foreground": {}
}
}
},
"type": "registry:style"
},
{
"name": "accordion",
"files": [
@@ -10,6 +52,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/accordion",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/accordion-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/accordion.md"
}
},
"type": "registry:ui"
},
{
@@ -20,6 +69,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -31,6 +86,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/alert-dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/alert-dialog-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/alert-dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -41,6 +103,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/aspect-ratio",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/aspect-ratio-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/aspect-ratio.md"
}
},
"type": "registry:ui"
},
{
@@ -51,6 +120,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/avatar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/avatar-example.tsx",
"api": "https://www.radix-ui.com/primitives/docs/components/avatar.md"
}
},
"type": "registry:ui"
},
{
@@ -61,6 +137,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/badge",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/badge-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -71,6 +153,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/breadcrumb",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/breadcrumb-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -81,6 +169,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -92,6 +186,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/button-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/button-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -104,6 +204,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/calendar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/calendar-example.tsx",
"api": "https://react-day-picker.js.org"
}
},
"type": "registry:ui"
},
{
@@ -114,6 +221,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/card-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -126,6 +239,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/carousel",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/carousel-example.tsx",
"api": "https://www.embla-carousel.com/get-started/react"
}
},
"type": "registry:ui"
},
{
@@ -137,6 +257,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/chart",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/chart-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -147,6 +273,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/checkbox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/checkbox-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/checkbox.md"
}
},
"type": "registry:ui"
},
{
@@ -157,6 +290,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/collapsible",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/collapsible-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/collapsible.md"
}
},
"type": "registry:ui"
},
{
@@ -169,6 +309,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/combobox",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/combobox-example.tsx",
"api": "https://base-ui.com/react/components/combobox"
}
},
"type": "registry:ui"
},
{
@@ -181,6 +328,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/command",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/command-example.tsx",
"api": "https://github.com/dip/cmdk"
}
},
"type": "registry:ui"
},
{
@@ -191,6 +345,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/context-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/context-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/context-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -202,6 +363,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dialog",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dialog-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -213,6 +381,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/drawer",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/drawer-example.tsx",
"api": "https://vaul.emilkowal.ski/getting-started"
}
},
"type": "registry:ui"
},
{
@@ -223,6 +398,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/dropdown-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/dropdown-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dropdown-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -233,6 +415,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/empty",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/empty-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -244,6 +432,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/field",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/field-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -258,6 +452,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/hover-card",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/hover-card-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/hover-card.md"
}
},
"type": "registry:ui"
},
{
@@ -268,6 +469,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -279,6 +486,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-group-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -290,6 +503,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/input-otp",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/input-otp-example.tsx",
"api": "https://input-otp.rodz.dev"
}
},
"type": "registry:ui"
},
{
@@ -301,6 +521,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/item",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/item-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -311,6 +537,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/label",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/label-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/label.md"
}
},
"type": "registry:ui"
},
{
@@ -321,6 +554,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/menubar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/menubar-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/menubar.md"
}
},
"type": "registry:ui"
},
{
@@ -331,6 +571,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/navigation-menu",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/navigation-menu-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/navigation-menu.md"
}
},
"type": "registry:ui"
},
{
@@ -342,6 +589,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/pagination",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/pagination-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -352,6 +605,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/popover",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/popover-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/popover.md"
}
},
"type": "registry:ui"
},
{
@@ -362,6 +622,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/progress",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/progress-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/progress.md"
}
},
"type": "registry:ui"
},
{
@@ -372,6 +639,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/radio-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/radio-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/radio-group.md"
}
},
"type": "registry:ui"
},
{
@@ -383,6 +657,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/resizable",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/resizable-example.tsx",
"api": "https://github.com/bvaughn/react-resizable-panels"
}
},
"type": "registry:ui"
},
{
@@ -393,6 +674,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/scroll-area",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/scroll-area-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/scroll-area.md"
}
},
"type": "registry:ui"
},
{
@@ -403,6 +691,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/select-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/select.md"
}
},
"type": "registry:ui"
},
{
@@ -413,6 +708,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/separator",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/separator-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/separator.md"
}
},
"type": "registry:ui"
},
{
@@ -424,6 +726,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sheet",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sheet-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/dialog.md"
}
},
"type": "registry:ui"
},
{
@@ -443,6 +752,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sidebar",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sidebar-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -453,6 +768,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/skeleton",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/skeleton-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -463,6 +784,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/slider",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/slider-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/slider.md"
}
},
"type": "registry:ui"
},
{
@@ -474,6 +802,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/sonner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/sonner-example.tsx",
"api": "https://sonner.emilkowal.ski"
}
},
"type": "registry:ui"
},
{
@@ -484,6 +819,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/spinner",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/spinner-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -494,6 +835,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/switch",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/switch-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/switch.md"
}
},
"type": "registry:ui"
},
{
@@ -504,6 +852,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/table",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/table-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -514,6 +868,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tabs",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tabs-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tabs.md"
}
},
"type": "registry:ui"
},
{
@@ -524,6 +885,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/textarea",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/textarea-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -534,6 +901,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle.md"
}
},
"type": "registry:ui"
},
{
@@ -545,6 +919,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/toggle-group",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/toggle-group-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/toggle-group.md"
}
},
"type": "registry:ui"
},
{
@@ -555,6 +936,13 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
},
@@ -566,6 +954,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/kbd",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/kbd-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -576,6 +970,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/native-select",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/native-select-example.tsx"
}
},
"type": "registry:ui"
},
{
@@ -586,6 +986,12 @@
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/direction",
"api": "https://www.radix-ui.com/primitives/docs/utilities/direction-provider.md"
}
},
"type": "registry:ui"
},
{
@@ -1512,7 +1918,7 @@
},
{
"name": "preview",
"title": "Home",
"title": "Preview",
"registryDependencies": [
"alert-dialog",
"avatar",
@@ -1543,110 +1949,7 @@
],
"files": [
{
"path": "registry/radix-vega/blocks/preview.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "elevenlabs",
"title": "Elevenlabs",
"registryDependencies": ["example", "button", "card"],
"files": [
{
"path": "registry/radix-vega/blocks/elevenlabs.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "github",
"title": "GitHub",
"registryDependencies": [
"avatar",
"badge",
"button",
"card",
"checkbox",
"combobox",
"command",
"drawer",
"dropdown-menu",
"empty",
"field",
"input",
"input-group",
"item",
"kbd",
"native-select",
"popover",
"separator",
"spinner",
"tabs",
"textarea",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-vega/blocks/github.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "vercel",
"title": "Vercel",
"registryDependencies": [
"alert",
"badge",
"button",
"calendar",
"card",
"chart",
"dialog",
"dropdown-menu",
"empty",
"field",
"input-group",
"item",
"native-select",
"popover",
"textarea",
"example"
],
"files": [
{
"path": "registry/radix-vega/blocks/vercel.tsx",
"type": "registry:block"
}
],
"type": "registry:block"
},
{
"name": "chatgpt",
"title": "ChatGPT",
"registryDependencies": [
"alert",
"alert-dialog",
"badge",
"button",
"card",
"dropdown-menu",
"field",
"input-group",
"item",
"kbd",
"popover",
"tooltip",
"example"
],
"files": [
{
"path": "registry/radix-vega/blocks/chatgpt.tsx",
"path": "registry/radix-vega/blocks/preview/index.tsx",
"type": "registry:block"
}
],
@@ -2551,7 +2854,7 @@
"title": "Roboto",
"type": "registry:font",
"font": {
"family": "'Roboto', sans-serif",
"family": "'Roboto Variable', sans-serif",
"provider": "google",
"import": "Roboto",
"variable": "--font-sans",
@@ -2563,7 +2866,7 @@
"title": "Raleway",
"type": "registry:font",
"font": {
"family": "'Raleway', sans-serif",
"family": "'Raleway Variable', sans-serif",
"provider": "google",
"import": "Raleway",
"variable": "--font-sans",
@@ -2575,7 +2878,7 @@
"title": "DM Sans",
"type": "registry:font",
"font": {
"family": "'DM Sans', sans-serif",
"family": "'DM Sans Variable', sans-serif",
"provider": "google",
"import": "DM_Sans",
"variable": "--font-sans",
@@ -2587,7 +2890,7 @@
"title": "Public Sans",
"type": "registry:font",
"font": {
"family": "'Public Sans', sans-serif",
"family": "'Public Sans Variable', sans-serif",
"provider": "google",
"import": "Public_Sans",
"variable": "--font-sans",
@@ -2599,7 +2902,7 @@
"title": "Outfit",
"type": "registry:font",
"font": {
"family": "'Outfit', sans-serif",
"family": "'Outfit Variable', sans-serif",
"provider": "google",
"import": "Outfit",
"variable": "--font-sans",

View File

@@ -4,10 +4,17 @@
"files": [
{
"path": "registry/radix-vega/ui/tooltip.tsx",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-vega/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/registry/radix-vega/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 bg-foreground text-background z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n",
"type": "registry:ui"
}
],
"meta": {
"links": {
"docs": "https://ui.shadcn.com/docs/components/radix/tooltip",
"examples": "https://raw.githubusercontent.com/shadcn-ui/ui/refs/heads/main/apps/v4/registry/bases/radix/examples/tooltip-example.tsx",
"api": "https://www.radix-ui.com/docs/primitives/components/tooltip.md"
}
},
"docs": "The `tooltip` component has been added. Remember to wrap your app with the `TooltipProvider` component.\n\n```tsx title=\"app/layout.tsx\"\nimport { TooltipProvider } from \"@/components/ui/tooltip\"\n\nexport default function RootLayout({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <body>\n <TooltipProvider>{children}</TooltipProvider>\n </body>\n </html>\n )\n}\n```\n",
"type": "registry:ui"
}

Binary file not shown.

Binary file not shown.

View File

@@ -8,11 +8,10 @@ import { registryItemTypeSchema } from "@/src/registry/schema"
import { isUniversalRegistryItem } from "@/src/registry/utils"
import { getTemplateForFramework } from "@/src/templates/index"
import { addComponents } from "@/src/utils/add-components"
import { createProject } from "@/src/utils/create-project"
import { dryRunComponents } from "@/src/utils/dry-run"
import { formatDryRunResult } from "@/src/utils/dry-run-formatter"
import { createProject } from "@/src/utils/create-project"
import { loadEnvFiles } from "@/src/utils/env-loader"
import { spinner } from "@/src/utils/spinner"
import * as ERRORS from "@/src/utils/errors"
import { createConfig, getConfig } from "@/src/utils/get-config"
import { getProjectInfo } from "@/src/utils/get-project-info"
@@ -25,6 +24,7 @@ import {
resolveRegistryBaseConfig,
} from "@/src/utils/presets"
import { ensureRegistriesInConfig } from "@/src/utils/registries"
import { spinner } from "@/src/utils/spinner"
import { updateAppIndex } from "@/src/utils/update-app-index"
import { Command } from "commander"
import prompts from "prompts"

View File

@@ -1,6 +1,6 @@
import { bold, cyan, dim, green, red, yellow } from "kleur/colors"
import { structuredPatch, diffWords } from "diff"
import type { DryRunFile, DryRunResult } from "@/src/utils/dry-run"
import { diffWords, structuredPatch } from "diff"
import { bold, cyan, dim, green, red, yellow } from "kleur/colors"
const ACTION_GLYPHS: Record<DryRunFile["action"], string> = {
create: "+",
@@ -39,7 +39,11 @@ function formatSummaryOutput(result: DryRunResult, componentNames: string[]) {
const lines: string[] = []
// Header.
lines.push(`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim("(dry run)")}`)
lines.push(
`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim(
"(dry run)"
)}`
)
lines.push(dim("│"))
// Files section.
@@ -61,11 +65,15 @@ function formatSummaryOutput(result: DryRunResult, componentNames: string[]) {
formatFontsSection(result, lines)
// Overwrite warning.
const overwriteCount = result.files.filter((f) => f.action === "overwrite").length
const overwriteCount = result.files.filter(
(f) => f.action === "overwrite"
).length
if (overwriteCount > 0) {
lines.push(
yellow(
`${overwriteCount} ${overwriteCount === 1 ? "file" : "files"} will be overwritten.`
`${overwriteCount} ${
overwriteCount === 1 ? "file" : "files"
} will be overwritten.`
)
)
lines.push(dim("│"))
@@ -74,10 +82,16 @@ function formatSummaryOutput(result: DryRunResult, componentNames: string[]) {
// Summary line.
const summaryParts: string[] = []
if (result.files.length > 0) {
summaryParts.push(`${result.files.length} ${result.files.length === 1 ? "file" : "files"}`)
summaryParts.push(
`${result.files.length} ${result.files.length === 1 ? "file" : "files"}`
)
}
if (result.dependencies.length > 0) {
summaryParts.push(`${result.dependencies.length} ${result.dependencies.length === 1 ? "dep" : "deps"}`)
summaryParts.push(
`${result.dependencies.length} ${
result.dependencies.length === 1 ? "dep" : "deps"
}`
)
}
if (result.css?.cssVarsCount) {
summaryParts.push(`${result.css.cssVarsCount} CSS vars`)
@@ -89,30 +103,42 @@ function formatSummaryOutput(result: DryRunResult, componentNames: string[]) {
// Footer.
lines.push(`${dim("│")} ${dim("Run with --diff <path> to view changes.")}`)
lines.push(`${dim("│")} ${dim("Run with --view <path> to view file contents.")}`)
lines.push(
`${dim("│")} ${dim("Run with --view <path> to view file contents.")}`
)
lines.push(`${dim("└")} ${dim("Run without --dry-run to apply.")}`)
return lines.join("\n")
}
// Focused output for --diff <path>.
function formatDiffOutput(result: DryRunResult, componentNames: string[], filterPath: string) {
function formatDiffOutput(
result: DryRunResult,
componentNames: string[],
filterPath: string
) {
const lines: string[] = []
lines.push(`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim("(dry run)")}`)
lines.push(
`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim(
"(dry run)"
)}`
)
lines.push(dim("│"))
const filesToDiff = resolveFilterPath(result.files, filterPath)
// Check if the filter matches the CSS file.
const cssMatch = result.css && (
result.css.path === filterPath ||
result.css.path.includes(filterPath) ||
result.css.path.endsWith(filterPath)
)
const cssMatch =
result.css &&
(result.css.path === filterPath ||
result.css.path.includes(filterPath) ||
result.css.path.endsWith(filterPath))
if (filesToDiff.length === 0 && !cssMatch) {
lines.push(`${dim("│")} ${yellow(`No file matching "${filterPath}" found.`)}`)
lines.push(
`${dim("│")} ${yellow(`No file matching "${filterPath}" found.`)}`
)
lines.push(dim("│"))
} else {
for (const file of filesToDiff) {
@@ -121,11 +147,14 @@ function formatDiffOutput(result: DryRunResult, componentNames: string[], filter
// CSS diff.
if (cssMatch && result.css) {
const actionLabel = result.css.action === "create"
? green("create")
: yellow("update")
const actionLabel =
result.css.action === "create" ? green("create") : yellow("update")
lines.push(`${dim("├")} ${bold(result.css.path)} ${dim("(")}${actionLabel}${dim(")")}`)
lines.push(
`${dim("├")} ${bold(result.css.path)} ${dim("(")}${actionLabel}${dim(
")"
)}`
)
if (result.css.action === "create" || !result.css.existingContent) {
lines.push(`${dim("│")} ${dim("┌" + "─".repeat(46))}`)
@@ -158,13 +187,16 @@ function formatDiffOutput(result: DryRunResult, componentNames: string[], filter
// Format a single file's diff block.
function formatFileDiff(file: DryRunFile, lines: string[]) {
const actionLabel = file.action === "create"
? green("create")
: file.action === "overwrite"
const actionLabel =
file.action === "create"
? green("create")
: file.action === "overwrite"
? yellow("overwrite")
: dim("skip")
lines.push(`${dim("├")} ${bold(file.path)} ${dim("(")}${actionLabel}${dim(")")}`)
lines.push(
`${dim("├")} ${bold(file.path)} ${dim("(")}${actionLabel}${dim(")")}`
)
if (file.action === "skip") {
lines.push(`${dim("│")} ${dim("No changes.")}`)
@@ -192,34 +224,49 @@ function formatFileDiff(file: DryRunFile, lines: string[]) {
}
// Focused output for --view <path>.
function formatViewOutput(result: DryRunResult, componentNames: string[], filterPath: string) {
function formatViewOutput(
result: DryRunResult,
componentNames: string[],
filterPath: string
) {
const lines: string[] = []
lines.push(`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim("(dry run)")}`)
lines.push(
`${bold("┌")} ${bold(`shadcn add ${componentNames.join(", ")}`)} ${dim(
"(dry run)"
)}`
)
lines.push(dim("│"))
const filesToView = resolveFilterPath(result.files, filterPath)
// Check if the filter matches the CSS file.
const cssMatch = result.css && (
result.css.path === filterPath ||
result.css.path.includes(filterPath) ||
result.css.path.endsWith(filterPath)
)
const cssMatch =
result.css &&
(result.css.path === filterPath ||
result.css.path.includes(filterPath) ||
result.css.path.endsWith(filterPath))
if (filesToView.length === 0 && !cssMatch) {
lines.push(`${dim("│")} ${yellow(`No file matching "${filterPath}" found.`)}`)
lines.push(
`${dim("│")} ${yellow(`No file matching "${filterPath}" found.`)}`
)
lines.push(dim("│"))
} else {
for (const file of filesToView) {
const contentLines = file.content.split("\n")
const actionLabel = file.action === "create"
? green("create")
: file.action === "overwrite"
const actionLabel =
file.action === "create"
? green("create")
: file.action === "overwrite"
? yellow("overwrite")
: dim("skip")
lines.push(`${dim("├")} ${bold(file.path)} ${dim("(")}${actionLabel}${dim(")")} ${dim(`${contentLines.length} lines`)}`)
lines.push(
`${dim("├")} ${bold(file.path)} ${dim("(")}${actionLabel}${dim(
")"
)} ${dim(`${contentLines.length} lines`)}`
)
lines.push(`${dim("│")} ${dim("┌" + "─".repeat(46))}`)
for (const line of contentLines) {
@@ -233,11 +280,14 @@ function formatViewOutput(result: DryRunResult, componentNames: string[], filter
// CSS view.
if (cssMatch && result.css) {
const contentLines = result.css.content.split("\n")
const actionLabel = result.css.action === "create"
? green("create")
: yellow("update")
const actionLabel =
result.css.action === "create" ? green("create") : yellow("update")
lines.push(`${dim("├")} ${bold(result.css.path)} ${dim("(")}${actionLabel}${dim(")")} ${dim(`${contentLines.length} lines`)}`)
lines.push(
`${dim("├")} ${bold(result.css.path)} ${dim("(")}${actionLabel}${dim(
")"
)} ${dim(`${contentLines.length} lines`)}`
)
lines.push(`${dim("│")} ${dim("┌" + "─".repeat(46))}`)
for (const line of contentLines) {
@@ -263,7 +313,9 @@ function formatFilesSection(result: DryRunResult, lines: string[]) {
// Build summary counts.
const createCount = result.files.filter((f) => f.action === "create").length
const overwriteCount = result.files.filter((f) => f.action === "overwrite").length
const overwriteCount = result.files.filter(
(f) => f.action === "overwrite"
).length
const skipCount = result.files.filter((f) => f.action === "skip").length
const summaryParts: string[] = []
if (createCount > 0) {
@@ -275,7 +327,8 @@ function formatFilesSection(result: DryRunResult, lines: string[]) {
if (skipCount > 0) {
summaryParts.push(dim(`=${skipCount} skip`))
}
const summary = summaryParts.length > 0 ? ` ${summaryParts.join(dim(", "))}` : ""
const summary =
summaryParts.length > 0 ? ` ${summaryParts.join(dim(", "))}` : ""
lines.push(`${dim("├")} ${bold(`Files`)} ${dim(`(${totalCount})`)}${summary}`)
@@ -291,18 +344,17 @@ function formatFilesSection(result: DryRunResult, lines: string[]) {
file.action === "create"
? green(glyph)
: file.action === "overwrite"
? yellow(glyph)
: dim(glyph)
? yellow(glyph)
: dim(glyph)
const pathStr =
file.action === "skip" ? dim(file.path) : file.path
const pathStr = file.action === "skip" ? dim(file.path) : file.path
const labelStr =
file.action === "create"
? green(label)
: file.action === "overwrite"
? yellow(label)
: dim(label)
? yellow(label)
: dim(label)
lines.push(`${dim("│")} ${glyphStr} ${pathStr}${padding}${labelStr}`)
}
@@ -310,11 +362,7 @@ function formatFilesSection(result: DryRunResult, lines: string[]) {
lines.push(dim("│"))
}
function formatListSection(
title: string,
items: string[],
lines: string[]
) {
function formatListSection(title: string, items: string[], lines: string[]) {
if (!items.length) {
return
}
@@ -335,12 +383,12 @@ function formatCssSection(result: DryRunResult, lines: string[]) {
if (result.css.cssVarsCount > 0) {
lines.push(
`${dim("│")} ${green("+")} ${result.css.cssVarsCount} CSS variables added to ${cyan(result.css.path)}`
`${dim("│")} ${green("+")} ${
result.css.cssVarsCount
} CSS variables added to ${cyan(result.css.path)}`
)
} else {
lines.push(
`${dim("│")} ${green("+")} Updated ${cyan(result.css.path)}`
)
lines.push(`${dim("│")} ${green("+")} Updated ${cyan(result.css.path)}`)
}
lines.push(dim("│"))
@@ -366,7 +414,9 @@ function formatFontsSection(result: DryRunResult, lines: string[]) {
lines.push(`${dim("├")} ${bold("Fonts")}`)
for (const font of result.fonts) {
lines.push(`${dim("│")} ${green("+")} ${font.name} ${dim(`(${font.provider})`)}`)
lines.push(
`${dim("│")} ${green("+")} ${font.name} ${dim(`(${font.provider})`)}`
)
}
lines.push(dim("│"))
}
@@ -413,7 +463,10 @@ function computeUnifiedDiff(
const normalizedNew = normalizeFileForDiff(newStr)
const contextLines = options.fullContext
? Math.max(normalizedOld.split("\n").length, normalizedNew.split("\n").length)
? Math.max(
normalizedOld.split("\n").length,
normalizedNew.split("\n").length
)
: 3
const patch = structuredPatch(
@@ -485,7 +538,9 @@ function computeUnifiedDiff(
// match multi-line removed statements against single-line added ones.
// e.g., ["default:", ' "h-8..."'] → ["default: \"h-8...\""].
const collapsedRemoved = collapseContLines(removed)
const normalizedCollapsed = collapsedRemoved.map((s) => normalizeLine(s))
const normalizedCollapsed = collapsedRemoved.map((s) =>
normalizeLine(s)
)
const usedCollapsed = new Set<number>()
for (let j = 0; j < added.length; j++) {
@@ -500,7 +555,10 @@ function computeUnifiedDiff(
if (matchIdx !== -1) {
// Formatting-only change — show as context.
usedCollapsed.add(matchIdx)
entries.push({ kind: "context", formatted: dim(` ${actualNewLine}`) })
entries.push({
kind: "context",
formatted: dim(` ${actualNewLine}`),
})
} else {
// Real change — find best unmatched removed statement for inline diff.
const unmatchedIdx = normalizedCollapsed.findIndex(
@@ -508,14 +566,18 @@ function computeUnifiedDiff(
)
if (unmatchedIdx !== -1) {
usedCollapsed.add(unmatchedIdx)
const { oldHighlighted, newHighlighted } = highlightInlineChanges(
collapsedRemoved[unmatchedIdx],
actualNewLine
)
const { oldHighlighted, newHighlighted } =
highlightInlineChanges(
collapsedRemoved[unmatchedIdx],
actualNewLine
)
entries.push({ kind: "removed", formatted: oldHighlighted })
entries.push({ kind: "added", formatted: newHighlighted })
} else {
entries.push({ kind: "added", formatted: green(`+${actualNewLine}`) })
entries.push({
kind: "added",
formatted: green(`+${actualNewLine}`),
})
}
}
newLineIndex++
@@ -524,7 +586,10 @@ function computeUnifiedDiff(
// Remaining unmatched removed statements.
for (let j = 0; j < collapsedRemoved.length; j++) {
if (!usedCollapsed.has(j)) {
entries.push({ kind: "removed", formatted: red(`-${collapsedRemoved[j]}`) })
entries.push({
kind: "removed",
formatted: red(`-${collapsedRemoved[j]}`),
})
}
}
}
@@ -555,7 +620,9 @@ function computeUnifiedDiff(
output.push(
cyan(
`@@ -${hunk.oldStart},${contextCount + removedCount} +${hunk.newStart},${contextCount + addedCount} @@`
`@@ -${hunk.oldStart},${contextCount + removedCount} +${
hunk.newStart
},${contextCount + addedCount} @@`
)
)
@@ -576,9 +643,12 @@ function normalizeFileForDiff(str: string) {
// Preserve indentation, normalize quotes and semicolons.
const indent = line.match(/^(\s*)/)?.[1] ?? ""
const content = line.slice(indent.length)
return indent + content
.replace(/['"]/g, '"') // Normalize quotes to double.
.replace(/;$/g, "") // Remove trailing semicolons.
return (
indent +
content
.replace(/['"]/g, '"') // Normalize quotes to double.
.replace(/;$/g, "")
) // Remove trailing semicolons.
})
.join("\n")
}
@@ -593,10 +663,7 @@ function collapseContLines(lines: string[]) {
let line = lines[i]
// If line ends with `:` (after trimming) and next line is a continuation value.
while (
i + 1 < lines.length &&
line.trimEnd().endsWith(":")
) {
while (i + 1 < lines.length && line.trimEnd().endsWith(":")) {
i++
line = line.trimEnd() + " " + lines[i].trim()
}

View File

@@ -8,21 +8,23 @@ import { isContentSame } from "@/src/utils/compare"
import { isEnvFile } from "@/src/utils/env-helpers"
import { Config } from "@/src/utils/get-config"
import { getProjectInfo } from "@/src/utils/get-project-info"
import { transform } from "@/src/utils/transformers"
import { transformAsChild } from "@/src/utils/transformers/transform-aschild"
import { transformCleanup } from "@/src/utils/transformers/transform-cleanup"
import { transformCssVars as transformCssVarsTransformer } from "@/src/utils/transformers/transform-css-vars"
import { transformIcons } from "@/src/utils/transformers/transform-icons"
import { transformImport } from "@/src/utils/transformers/transform-import"
import { transformMenu } from "@/src/utils/transformers/transform-menu"
import { transformRsc } from "@/src/utils/transformers/transform-rsc"
import { transformRtl } from "@/src/utils/transformers/transform-rtl"
import { transformTwPrefixes } from "@/src/utils/transformers/transform-tw-prefix"
import { transformCss } from "@/src/utils/updaters/update-css"
import { transformCssVars } from "@/src/utils/updaters/update-css-vars"
import {
findCommonRoot,
resolveFilePath,
} from "@/src/utils/updaters/update-files"
import { massageTreeForFonts } from "@/src/utils/updaters/update-fonts"
import { resolveFilePath } from "@/src/utils/updaters/update-files"
import { transform } from "@/src/utils/transformers"
import { transformImport } from "@/src/utils/transformers/transform-import"
import { transformRsc } from "@/src/utils/transformers/transform-rsc"
import { transformCssVars as transformCssVarsTransformer } from "@/src/utils/transformers/transform-css-vars"
import { transformTwPrefixes } from "@/src/utils/transformers/transform-tw-prefix"
import { transformIcons } from "@/src/utils/transformers/transform-icons"
import { transformMenu } from "@/src/utils/transformers/transform-menu"
import { transformAsChild } from "@/src/utils/transformers/transform-aschild"
import { transformRtl } from "@/src/utils/transformers/transform-rtl"
import { transformCleanup } from "@/src/utils/transformers/transform-cleanup"
import { findCommonRoot } from "@/src/utils/updaters/update-files"
import { z } from "zod"
export type DryRunFile = {
@@ -235,7 +237,9 @@ async function processCss(
const existingFile = existsSync(cssFilepath)
const relativePath = path.relative(config.resolvedPaths.cwd, cssFilepath)
const existingContent = existingFile ? await fs.readFile(cssFilepath, "utf8") : ""
const existingContent = existingFile
? await fs.readFile(cssFilepath, "utf8")
: ""
let output = existingContent
// Apply CSS vars transform.
@@ -300,7 +304,8 @@ function processFonts(
for (const font of tree.fonts) {
result.fonts.push({
name: font.font.family,
provider: font.font.provider === "google" ? "Google Fonts" : font.font.provider,
provider:
font.font.provider === "google" ? "Google Fonts" : font.font.provider,
})
}
}