mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-25 05:35:48 +00:00
Merge branch 'main' into shadcn/fix-base-layer-handling
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
import { Button, buttonVariants } from "@/examples/base/ui/button"
|
||||
import {
|
||||
ChevronDownIcon,
|
||||
@@ -9,7 +10,6 @@ import {
|
||||
} from "lucide-react"
|
||||
import { getDefaultClassNames, type DayButton } from "react-day-picker"
|
||||
import { DayPicker } from "react-day-picker/persian"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
|
||||
@@ -289,8 +289,8 @@ function SidebarRail({ className, ...props }: React.ComponentProps<"button">) {
|
||||
title="Toggle Sidebar"
|
||||
className={cn(
|
||||
"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
|
||||
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize rtl:in-data-[side=left]:cursor-e-resize rtl:in-data-[side=right]:cursor-e-resize",
|
||||
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
||||
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize rtl:in-data-[side=left]:cursor-e-resize rtl:in-data-[side=right]:cursor-w-resize",
|
||||
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-e-resize",
|
||||
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full rtl:group-data-[collapsible=offcanvas]:-translate-x-0",
|
||||
"[[data-side=left][data-collapsible=offcanvas]_&]:-end-2",
|
||||
"[[data-side=right][data-collapsible=offcanvas]_&]:-start-2",
|
||||
@@ -565,7 +565,7 @@ function SidebarMenuAction({
|
||||
className: cn(
|
||||
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 end-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4 flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
|
||||
showOnHover &&
|
||||
"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0",
|
||||
"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0",
|
||||
className
|
||||
),
|
||||
},
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
import { Button, buttonVariants } from "@/examples/radix/ui/button"
|
||||
import {
|
||||
ChevronDownIcon,
|
||||
@@ -9,7 +10,6 @@ import {
|
||||
} from "lucide-react"
|
||||
import { getDefaultClassNames, type DayButton } from "react-day-picker"
|
||||
import { DayPicker } from "react-day-picker/persian"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
|
||||
|
||||
@@ -314,8 +314,11 @@ function SidebarContentInner({
|
||||
|
||||
return (
|
||||
<>
|
||||
<Sidebar collapsible="icon" dir={dir}
|
||||
side={dir === "ltr" ? "left" : "right"}>
|
||||
<Sidebar
|
||||
collapsible="icon"
|
||||
dir={dir}
|
||||
side={dir === "ltr" ? "left" : "right"}
|
||||
>
|
||||
<SidebarHeader>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
|
||||
@@ -288,8 +288,8 @@ function SidebarRail({ className, ...props }: React.ComponentProps<"button">) {
|
||||
title="Toggle Sidebar"
|
||||
className={cn(
|
||||
"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2",
|
||||
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize rtl:in-data-[side=left]:cursor-e-resize rtl:in-data-[side=right]:cursor-e-resize",
|
||||
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
|
||||
"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize rtl:in-data-[side=left]:cursor-e-resize rtl:in-data-[side=right]:cursor-w-resize",
|
||||
"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize rtl:[[data-side=left][data-state=collapsed]_&]:cursor-w-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize rtl:[[data-side=right][data-state=collapsed]_&]:cursor-e-resize",
|
||||
"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:start-full rtl:group-data-[collapsible=offcanvas]:-translate-x-0",
|
||||
"[[data-side=left][data-collapsible=offcanvas]_&]:-end-2",
|
||||
"[[data-side=right][data-collapsible=offcanvas]_&]:-start-2",
|
||||
@@ -554,7 +554,7 @@ function SidebarMenuAction({
|
||||
className={cn(
|
||||
"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:absolute after:-inset-2 focus-visible:ring-2 md:after:hidden [&>svg]:size-4 [&>svg]:shrink-0",
|
||||
showOnHover &&
|
||||
"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0",
|
||||
"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0",
|
||||
className
|
||||
)}
|
||||
{...props}
|
||||
|
||||
@@ -612,6 +612,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -612,6 +612,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -612,6 +612,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -612,6 +612,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -612,6 +612,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -820,6 +820,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -11,5 +11,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -606,6 +606,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -606,6 +606,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -606,6 +606,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -606,6 +606,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -606,6 +606,7 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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
@@ -8,5 +8,6 @@
|
||||
"type": "registry:ui"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
}
|
||||
@@ -551,6 +551,22 @@ export const ui: Registry["items"] = [
|
||||
{
|
||||
name: "tooltip",
|
||||
type: "registry:ui",
|
||||
docs: `The \`tooltip\` component has been added. Remember to wrap your app with the \`TooltipProvider\` component.
|
||||
|
||||
\`\`\`tsx title="app/layout.tsx"
|
||||
import { TooltipProvider } from "@/components/ui/tooltip"
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
<TooltipProvider>{children}</TooltipProvider>
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
\`\`\`
|
||||
`,
|
||||
files: [
|
||||
{
|
||||
path: "ui/tooltip.tsx",
|
||||
|
||||
@@ -549,6 +549,22 @@ export const ui: Registry["items"] = [
|
||||
{
|
||||
name: "tooltip",
|
||||
type: "registry:ui",
|
||||
docs: `The \`tooltip\` component has been added. Remember to wrap your app with the \`TooltipProvider\` component.
|
||||
|
||||
\`\`\`tsx title="app/layout.tsx"
|
||||
import { TooltipProvider } from "@/components/ui/tooltip"
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
<TooltipProvider>{children}</TooltipProvider>
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
\`\`\`
|
||||
`,
|
||||
files: [
|
||||
{
|
||||
path: "ui/tooltip.tsx",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
import {
|
||||
ChevronDownIcon,
|
||||
ChevronLeftIcon,
|
||||
@@ -8,7 +9,6 @@ import {
|
||||
} from "lucide-react"
|
||||
import { getDefaultClassNames, type DayButton } from "react-day-picker"
|
||||
import { DayPicker } from "react-day-picker/persian"
|
||||
import { Vazirmatn } from "next/font/google"
|
||||
|
||||
import { cn } from "@/lib/utils"
|
||||
import { Button, buttonVariants } from "@/registry/new-york-v4/ui/button"
|
||||
|
||||
@@ -649,6 +649,22 @@ export const ui: Registry["items"] = [
|
||||
name: "tooltip",
|
||||
type: "registry:ui",
|
||||
dependencies: ["radix-ui"],
|
||||
docs: `The \`tooltip\` component has been added. Remember to wrap your app with the \`TooltipProvider\` component.
|
||||
|
||||
\`\`\`tsx title="app/layout.tsx"
|
||||
import { TooltipProvider } from "@/components/ui/tooltip"
|
||||
|
||||
export default function RootLayout({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<html lang="en">
|
||||
<body>
|
||||
<TooltipProvider>{children}</TooltipProvider>
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
\`\`\`
|
||||
`,
|
||||
files: [
|
||||
{
|
||||
path: "ui/tooltip.tsx",
|
||||
|
||||
Reference in New Issue
Block a user