Files
zeekay 05fc512820 feat: sync upstream shadcn/ui — [email protected], v4 app, font system, chart improvements
Upstream sync from shadcn-ui/ui (1686 commits since last merge base).

Key changes:
- packages/shadcn upgraded to 4.1.0 (CLI font transformers, scaffold from github, chart colors)
- apps/v4 replaces apps/www as the primary docs/registry app
- Font system: 25+ heading font registries, font markers utility, @supports override
- Chart improvements: recharts v3 compat, radial chart fixes
- templates/ updated with monorepo variants (astro, vite, react-router, start)
- skills/shadcn AI skill definitions added
- deprecated/ removed (auth, auth-firebase, cli, www)

Preserved Hanzo-only paths: app/, pkg/, demo/, docs/, template/next/
2026-03-24 19:04:31 -07:00

79 lines
2.0 KiB
TypeScript

import Image from "next/image"
import {
Example,
ExampleWrapper,
} from "@/registry/bases/base/components/example"
import { AspectRatio } from "@/registry/bases/base/ui/aspect-ratio"
export default function AspectRatioExample() {
return (
<ExampleWrapper className="max-w-4xl 2xl:max-w-4xl">
<AspectRatio16x9 />
<AspectRatio21x9 />
<AspectRatio1x1 />
<AspectRatio9x16 />
</ExampleWrapper>
)
}
function AspectRatio16x9() {
return (
<Example title="16:9" className="items-center justify-center">
<AspectRatio ratio={16 / 9} className="rounded-lg bg-muted">
<Image
src="https://avatar.vercel.sh/shadcn1"
alt="Photo"
fill
className="h-full w-full rounded-lg object-cover grayscale dark:brightness-20"
/>
</AspectRatio>
</Example>
)
}
function AspectRatio1x1() {
return (
<Example title="1:1" className="items-start">
<AspectRatio ratio={1 / 1} className="rounded-lg bg-muted">
<Image
src="https://avatar.vercel.sh/shadcn1"
alt="Photo"
fill
className="h-full w-full rounded-lg object-cover grayscale dark:brightness-20"
/>
</AspectRatio>
</Example>
)
}
function AspectRatio9x16() {
return (
<Example title="9:16" className="items-center justify-center">
<AspectRatio ratio={9 / 16} className="rounded-lg bg-muted">
<Image
src="https://avatar.vercel.sh/shadcn1"
alt="Photo"
fill
className="h-full w-full rounded-lg object-cover grayscale dark:brightness-20"
/>
</AspectRatio>
</Example>
)
}
function AspectRatio21x9() {
return (
<Example title="21:9" className="items-center justify-center">
<AspectRatio ratio={21 / 9} className="rounded-lg bg-muted">
<Image
src="https://avatar.vercel.sh/shadcn1"
alt="Photo"
fill
className="h-full w-full rounded-lg object-cover grayscale dark:brightness-20"
/>
</AspectRatio>
</Example>
)
}