{"$schema":"https://ui.shadcn.com/schema/registry-item.json","name":"ecommerce-ecommerce-shipping-returns-checklist","type":"registry:block","title":"Checklist","files":[{"path":"components/blocks/ecommerce/ecommerce-shipping-returns/checklist.tsx","content":"import { Check } from \"lucide-react\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"@/components/ui/card\";\n\ninterface ChecklistItem {\n  label: string;\n  details?: string;\n}\n\nconst shippingItems: ChecklistItem[] = [\n  {\n    label: \"Free shipping on orders over $75\",\n    details: \"Automatically applied at checkout\",\n  },\n  {\n    label: \"Same-day processing\",\n    details: \"Orders placed before 2 PM EST\",\n  },\n  {\n    label: \"Multiple shipping options\",\n    details: \"Standard, Express, and Overnight available\",\n  },\n  {\n    label: \"Real-time tracking\",\n    details: \"Track your package from dispatch to delivery\",\n  },\n  {\n    label: \"Secure packaging\",\n    details: \"Eco-friendly materials with protective padding\",\n  },\n];\n\nconst returnsItems: ChecklistItem[] = [\n  {\n    label: \"30-day return window\",\n    details: \"From the date of delivery\",\n  },\n  {\n    label: \"Free return shipping\",\n    details: \"We provide prepaid return labels\",\n  },\n  {\n    label: \"Easy return process\",\n    details: \"Start your return online in just a few clicks\",\n  },\n  {\n    label: \"Full refund guarantee\",\n    details: \"Money back within 5-7 business days\",\n  },\n  {\n    label: \"No restocking fees\",\n    details: \"Return items in original condition\",\n  },\n];\n\nexport default function ShippingReturnsChecklist() {\n  return (\n    <div className=\"px-4 py-8 md:py-12\">\n      <div className=\"mx-auto max-w-4xl\">\n        <div className=\"mb-8 text-center\">\n          <h2 className=\"mb-2 text-2xl font-bold md:text-3xl\">\n            Shipping & Returns\n          </h2>\n          <p className=\"text-muted-foreground\">\n            Everything you need to know about our policies\n          </p>\n        </div>\n\n        <div className=\"grid gap-6 md:grid-cols-2\">\n          {/* Shipping Section */}\n          <Card>\n            <CardHeader>\n              <CardTitle className=\"flex items-center gap-2\">\n                <div className=\"bg-primary/10 flex h-8 w-8 items-center justify-center rounded-full\">\n                  <Check className=\"text-primary h-4 w-4\" />\n                </div>\n                Shipping\n              </CardTitle>\n            </CardHeader>\n            <CardContent>\n              <div className=\"space-y-4\">\n                {shippingItems.map((item, index) => (\n                  <div\n                    key={index}\n                    className=\"hover:bg-muted/50 flex gap-3 rounded-lg p-3 transition-colors\"\n                  >\n                    <div className=\"mt-0.5 flex-shrink-0\">\n                      <div className=\"flex h-5 w-5 items-center justify-center rounded-full bg-green-100 dark:bg-green-900/30\">\n                        <Check className=\"h-3 w-3 text-green-600 dark:text-green-400\" />\n                      </div>\n                    </div>\n                    <div className=\"min-w-0 flex-1\">\n                      <div className=\"mb-1 text-sm font-medium\">\n                        {item.label}\n                      </div>\n                      {item.details && (\n                        <div className=\"text-muted-foreground text-xs\">\n                          {item.details}\n                        </div>\n                      )}\n                    </div>\n                  </div>\n                ))}\n              </div>\n            </CardContent>\n          </Card>\n\n          {/* Returns Section */}\n          <Card>\n            <CardHeader>\n              <CardTitle className=\"flex items-center gap-2\">\n                <div className=\"bg-primary/10 flex h-8 w-8 items-center justify-center rounded-full\">\n                  <Check className=\"text-primary h-4 w-4\" />\n                </div>\n                Returns\n              </CardTitle>\n            </CardHeader>\n            <CardContent>\n              <div className=\"space-y-4\">\n                {returnsItems.map((item, index) => (\n                  <div\n                    key={index}\n                    className=\"hover:bg-muted/50 flex gap-3 rounded-lg p-3 transition-colors\"\n                  >\n                    <div className=\"mt-0.5 flex-shrink-0\">\n                      <div className=\"flex h-5 w-5 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/30\">\n                        <Check className=\"h-3 w-3 text-blue-600 dark:text-blue-400\" />\n                      </div>\n                    </div>\n                    <div className=\"min-w-0 flex-1\">\n                      <div className=\"mb-1 text-sm font-medium\">\n                        {item.label}\n                      </div>\n                      {item.details && (\n                        <div className=\"text-muted-foreground text-xs\">\n                          {item.details}\n                        </div>\n                      )}\n                    </div>\n                  </div>\n                ))}\n              </div>\n            </CardContent>\n          </Card>\n        </div>\n\n        {/* Additional Info */}\n        <div className=\"mt-8 text-center\">\n          <p className=\"text-muted-foreground text-sm\">\n            Questions about shipping or returns?{\" \"}\n            <a href=\"#\" className=\"text-primary font-medium hover:underline\">\n              Contact our support team\n            </a>\n          </p>\n        </div>\n      </div>\n    </div>\n  );\n}\n","type":"registry:component","target":"components/blocks/ecommerce/ecommerce-shipping-returns/checklist.tsx"},{"path":"components/ui/card.tsx","content":"import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n  className,\n  size = \"default\",\n  ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n  return (\n    <div\n      data-slot=\"card\"\n      data-size={size}\n      className={cn(\n        \"group/card flex flex-col gap-6 overflow-hidden rounded-xl bg-card py-6 text-sm text-card-foreground shadow-xs ring-1 ring-foreground/10 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-header\"\n      className={cn(\n        \"group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-title\"\n      className={cn(\n        \"font-heading text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-description\"\n      className={cn(\"text-sm text-muted-foreground\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-action\"\n      className={cn(\n        \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-content\"\n      className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n  return (\n    <div\n      data-slot=\"card-footer\"\n      className={cn(\n        \"flex items-center rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport {\n  Card,\n  CardHeader,\n  CardFooter,\n  CardTitle,\n  CardAction,\n  CardDescription,\n  CardContent,\n}\n","type":"registry:ui","target":"components/ui/card.tsx"}],"description":"A checklist that lays out shipping steps and return conditions as ticked items. Helps buyers confirm eligibility before they start a refund request.","dependencies":["lucide-react"]}