Introducing New Version of Components V3
Reusable Blocks for the Web
A collection of sleek, customizable blocks to speed up your workflow. Drop them into any React app and ship faster.
import { LoginForm } from './components/login-form'
export function Page() {
return (
<div className="flex min-h-svh w-full items-center justify-center p-6 md:p-10">
<div className="w-full max-w-sm">
<LoginForm />
</div>
</div>
)
}
login-1
import { GalleryVerticalEnd } from 'lucide-react'
import { LoginForm } from './components/login-form'
export function LoginPage() {
return (
<div className="grid min-h-svh min-w-screen lg:grid-cols-2">
<div className="flex flex-col gap-4 p-6 md:p-10">
<div className="flex justify-center gap-2 md:justify-start">
<a className="flex items-center gap-2 font-medium" href="#placeholder">
<div className="flex h-6 w-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
<GalleryVerticalEnd className="size-4" />
</div>
Acme Inc.
</a>
</div>
<div className="flex flex-1 items-center justify-center">
<div className="w-full max-w-xs">
<LoginForm />
</div>
</div>
</div>
<div className="relative hidden bg-muted lg:block">
<img
alt="placeholder"
className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
height="100%"
src="/placeholder.svg"
width="100%"
/>
</div>
</div>
)
}
login-2
import { GalleryVerticalEnd } from 'lucide-react'
import { LoginForm } from './components/login-form'
export function LoginPage() {
return (
<div className="flex min-h-svh min-w-screen flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10">
<div className="flex w-full max-w-sm flex-col gap-6">
<a className="flex items-center gap-2 self-center font-medium" href="#placeholder">
<div className="flex h-6 w-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
<GalleryVerticalEnd className="size-4" />
</div>
Acme Inc.
</a>
<LoginForm />
</div>
</div>
)
}
login-3
import { LoginForm } from './components/login-form'
export function LoginPage() {
return (
<div className="flex min-h-svh min-w-screen flex-col items-center justify-center bg-muted p-6 md:p-10">
<div className="w-full max-w-sm md:max-w-3xl">
<LoginForm />
</div>
</div>
)
}
login-4
import { LoginForm } from './components/login-form'
export function LoginPage() {
return (
<div className="flex min-h-svh flex-col items-center justify-center gap-6 bg-background p-6 md:p-10">
<div className="w-full max-w-sm">
<LoginForm />
</div>
</div>
)
}
login-5
export const icons = {
user_filled: ({ ...props }: React.SVGProps<SVGSVGElement>) => (
<svg
fill="currentColor"
height="200px"
stroke="currentColor"
stroke-width="0"
viewBox="0 0 448 512"
width="200px"
xmlns="http://www.w3.org/2000/svg"
{...props}>
<title id="iconTitle">user_filled</title>
<path d="M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z"></path>
</svg>
),
}
signup-1