Particular.Tech
Layoutui

Aspect ratio

Keeps content at a fixed ratio.

16:9 preview screenshot

Installation

npx shadcn@latest add @particular/aspect-ratio
npm dependencies
  • cn@^0.4.0

Source

ui/aspect-ratio.tsx
import { cn } from "cn"

function AspectRatio({
  ratio,
  className,
  ...props
}: React.ComponentProps<"div"> & { ratio: number }) {
  return (
    <div
      data-slot="aspect-ratio"
      style={
        {
          "--ratio": ratio,
        } as React.CSSProperties
      }
      className={cn("relative aspect-(--ratio)", className)}
      {...props}
    />
  )
}

export { AspectRatio }