{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "ecommerce-sections-02", "type": "registry:block", "description": "Luxury product detail page with image gallery", "registryDependencies": [ "badge", "button" ], "files": [ { "path": "creative-tim-ui/blocks/ecommerce-sections-02/page.tsx", "content": "\"use client\"\n\nimport { useState } from \"react\"\nimport {\n ChevronDown,\n MapPin,\n Package,\n Ruler,\n ShoppingBag,\n Star,\n} from \"lucide-react\"\n\nimport { Badge } from \"@/components/ui/badge\"\nimport { Button } from \"@/components/ui/button\"\n\nexport default function EcommerceSections02() {\n const [selectedImage, setSelectedImage] = useState(0)\n const [selectedColor, setSelectedColor] = useState(1)\n const [isInfoOpen, setIsInfoOpen] = useState(false)\n\n const thumbnails = [\n \"/placeholder.svg?height=80&width=80&text=Bag+1\",\n \"/placeholder.svg?height=80&width=80&text=Bag+2\",\n \"/placeholder.svg?height=80&width=80&text=Detail\",\n \"/placeholder.svg?height=80&width=80&text=Inside\",\n \"/placeholder.svg?height=80&width=80&text=Model\",\n \"/placeholder.svg?height=80&width=80&text=Lifestyle\",\n ]\n\n const colors = [\n { name: \"Black\", hex: \"#1a1a1a\" },\n { name: \"Cream\", hex: \"#f5f0e8\" },\n { name: \"Forest Green\", hex: \"#7d9488\" },\n { name: \"Gray\", hex: \"#9ca3af\" },\n { name: \"Navy Blue\", hex: \"#0f172a\" },\n { name: \"Brown\", hex: \"#a0522d\" },\n ]\n\n const features = [\n { icon: ShoppingBag, text: \"Crossbody style\" },\n { icon: Package, text: \"Premium leather\" },\n { icon: Ruler, text: \"Adjustable strap\" },\n { icon: MapPin, text: \"Crafted in France\" },\n ]\n\n return (\n
\n
\n
\n
\n {thumbnails.map((thumb, index) => (\n setSelectedImage(index)}\n className={`h-20 w-20 overflow-hidden rounded-lg border-2 transition-all ${\n selectedImage === index\n ? \"border-neutral-900\"\n : \"border-neutral-200 hover:border-neutral-400\"\n }`}\n >\n \n \n ))}\n
\n\n
\n
\n
\n \n
\n
\n {thumbnails.slice(0, 4).map((thumb, index) => (\n setSelectedImage(index)}\n className={`h-16 w-16 overflow-hidden rounded-lg border-2 ${\n selectedImage === index\n ? \"border-neutral-900\"\n : \"border-neutral-200\"\n }`}\n >\n \n \n ))}\n
\n
\n
\n\n
\n \n Trending Now\n \n\n

\n Artisan Leather Crossbody\n

\n\n
\n \n $385.00\n \n
\n
\n {[...Array(5)].map((_, i) => (\n \n ))}\n
\n (4.7)\n
\n
\n\n
\n

\n Color:{\" \"}\n \n {colors[selectedColor].name}\n \n

\n
\n {colors.map((color, index) => (\n setSelectedColor(index)}\n className={`h-10 w-10 rounded-md border-2 transition-all ${\n selectedColor === index\n ? \"border-neutral-900 ring-2 ring-neutral-900 ring-offset-2\"\n : \"border-neutral-200 hover:border-neutral-400\"\n }`}\n style={{ backgroundColor: color.hex }}\n title={color.name}\n />\n ))}\n
\n
\n\n

\n Elegant crossbody bag crafted from premium vegetable-tanned\n leather with a minimalist silhouette. Features a secure magnetic\n clasp closure, interior zip compartment, and an adjustable\n shoulder strap for versatile wear.\n

\n\n

\n This is a demo store. To buy this product, visit{\" \"}\n \n Maison Atelier\n {\" \"}\n official store.\n

\n\n
\n \n Add to Cart\n \n \n Buy it Now\n \n
\n\n
\n {features.map((feature, index) => (\n \n \n {feature.text}\n
\n ))}\n
\n\n
\n setIsInfoOpen(!isInfoOpen)}\n className=\"flex w-full items-center justify-between py-4 text-sm font-medium text-neutral-900 hover:text-neutral-600\"\n >\n More Information\n \n \n {isInfoOpen && (\n
\n

\n Materials & Care: This bag is made from\n 100% full-grain vegetable-tanned leather that develops a\n beautiful patina over time. Clean with a soft, dry cloth and\n condition regularly with leather cream.\n

\n

\n Dimensions: 9.5\" W x 7\" H x 3\" D. Strap\n drop adjustable from 20\" to 24\". Weight: 1.2 lbs.\n

\n

\n Shipping & Returns: Free standard shipping\n on orders over $200. 30-day return policy with original\n receipt and tags attached.\n

\n
\n )}\n
\n
\n
\n
\n \n )\n}\n", "type": "registry:page", "target": "app/ecommerce-sections/page.tsx" } ], "meta": { "iframeHeight": "900px", "container": "w-full bg-surface min-h-svh flex px-4 py-12 items-center md:py-20 justify-center min-w-0", "mobile": "component" }, "categories": [ "ecommerce" ] }