content-4
fulldev-ui/content-4FreeBlock
fulldev/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by fulldev/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.full.dev/r/content-4.jsonSource
1---2import type { ImageMetadata } from "astro"3import { Image } from "astro:assets"45import { cn } from "@/lib/utils"6import { Button } from "@/components/ui/button"7import { Icon } from "@/components/ui/icon"8import { Section, SectionContainer } from "@/components/ui/section"910type Props = {11 class?: string12 title: string13 description: string14 features?: string[]15 buttons?: {16 label: string17 href: string18 variant?: "default" | "outline" | "secondary" | "ghost"19 }[]20 image: {21 src: ImageMetadata22 alt: string23 }24}2526const {27 class: className,28 title,29 description,30 features,31 buttons,32 image,33} = Astro.props34---3536<Section class={cn("", className)}>37 <SectionContainer>38 <div class="grid gap-12 lg:grid-cols-[1fr_2fr] lg:items-center">39 <div class="flex flex-col gap-6">40 <div class="flex flex-col gap-4">41 <h242 class="text-foreground text-3xl font-semibold tracking-tight text-balance sm:text-4xl"43 >44 {title}45 </h2>46 <p class="text-muted-foreground text-lg leading-relaxed text-balance">47 {description}48 </p>49 </div>50 {51 features?.length && (52 <ul class="flex flex-col gap-3">53 {features.map((feature) => (54 <li class="flex items-center gap-3 text-sm">55 <Icon name="check" class="text-primary size-4 shrink-0" />56 {feature}57 </li>58 ))}59 </ul>60 )61 }62 {63 buttons?.length && (64 <div class="flex flex-wrap gap-3">65 {buttons.map(({ href, label, ...button }, index) => (66 <Button67 as="a"68 href={href}69 size="lg"70 variant={71 button.variant ?? (index === 0 ? "default" : "secondary")72 }73 {...button}74 >75 {label}76 </Button>77 ))}78 </div>79 )80 }81 </div>82 <Image83 src={image.src}84 alt={image.alt}85 class="aspect-4/3 w-full rounded-xl border object-cover"86 widths={[640, 960, 1280]}87 sizes="(min-width: 1024px) 66vw, 100vw"88 />89 </div>90 </SectionContainer>91</Section>
What it pulls in
Other registry items
Files it writes
More from fulldev/ui
All 144 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| article-1article-1 | fulldev/ui | Blocks | Free | no deps | |
| article-2article-2 | fulldev/ui | Blocks | Free | no deps | |
| articles-1articles-1 | fulldev/ui | Blocks | Free | no deps | |
| articles-2articles-2 | fulldev/ui | Blocks | Free | no deps | |
| articles-3articles-3 | fulldev/ui | Blocks | Free | no deps | |
| articles-4articles-4 | fulldev/ui | Blocks | Free | no deps | |
| banner-1banner-1 | fulldev/ui | Blocks | Free | no deps | |
| banner-2banner-2 | fulldev/ui | Blocks | Free | no deps |
