{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "listing-grid", "type": "registry:block", "title": "Listing Grid", "description": "A grid of listing cards.", "registryDependencies": [ "@alpine/listing-card" ], "files": [ { "path": "registry/alpine/listing/listing-grid.tsx", "content": "import { cn } from \"@/lib/utils\"\nimport { ListingCard } from \"@/registry/alpine/listing/listing-card\"\n\nexport function ListingGrid({\n heading,\n subheading,\n listings,\n className,\n}: {\n heading?: string\n subheading?: string\n listings: {\n name: string\n location: string\n imageUrl: string\n rating: number\n reviewCount: number\n }[]\n className?: string\n}) {\n return (\n
\n {heading || subheading ? (\n
\n

{heading}

\n {subheading &&

{subheading}

}\n
\n ) : null}\n \n {listings.map((listing) => (\n \n ))}\n
\n \n )\n}\n", "type": "registry:component" }, { "path": "registry/alpine/listing/listing-card.tsx", "content": "import { cn } from \"@/lib/utils\"\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"@/registry/alpine/ui/card\"\nimport { StarIcon } from \"lucide-react\"\nimport Image from \"next/image\"\n\nexport function ListingCard({\n name,\n location,\n imageUrl,\n rating,\n reviewCount,\n className,\n}: {\n name: string\n location: string\n imageUrl: string\n rating: number\n reviewCount: number\n} & React.ComponentProps) {\n return (\n \n \n \n \n \n \n {name}{\" \"}\n
\n {rating} (\n {reviewCount})\n
\n
\n {location}\n
\n \n )\n}\n", "type": "registry:component" } ] }