{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "cart-trust",
  "type": "registry:component",
  "title": "Cart trust row",
  "description": "Compact two-by-two trust grid, a guarantee line and accepted payment chips for under the checkout button.",
  "author": "StoreKit <hello@storekit.dev>",
  "categories": [
    "cart",
    "any"
  ],
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "https://storekit-eight.vercel.app/r/cn.json"
  ],
  "files": [
    {
      "path": "cart/cart-trust.tsx",
      "content": "import { FlaskConical, Lock, RotateCcw, Truck, type LucideIcon } from \"lucide-react\"\nimport { cn } from \"@/components/storekit/lib/cn\"\n\n/* Compact trust row for the cart, placed right under the checkout button.\n   Four short facts and a guarantee line. Every claim is a prop so it can\n   match the store's real policies. */\n\nexport type TrustPoint = { icon: \"lock\" | \"returns\" | \"tested\" | \"shipping\"; title: string; detail?: string }\n\nconst ICONS: Record<TrustPoint[\"icon\"], LucideIcon> = { lock: Lock, returns: RotateCcw, tested: FlaskConical, shipping: Truck }\n\nconst DEFAULT_POINTS: TrustPoint[] = [\n  { icon: \"lock\", title: \"Encrypted checkout\", detail: \"256-bit TLS\" },\n  { icon: \"returns\", title: \"30-day returns\", detail: \"Unopened items\" },\n  { icon: \"tested\", title: \"Third-party tested\", detail: \"Lab results for every batch\" },\n  { icon: \"shipping\", title: \"Ships in 1 day\", detail: \"Business days\" },\n]\n\nexport function CartTrust({\n  points = DEFAULT_POINTS,\n  guarantee = \"Not feeling it after 30 days? Tell us and we refund you, even if the pouch is empty.\",\n  payments = [\"Visa\", \"Mastercard\", \"Amex\", \"Apple Pay\"],\n  className,\n}: {\n  points?: TrustPoint[]\n  guarantee?: string\n  payments?: string[]\n  className?: string\n}) {\n  return (\n    <div data-sk-section=\"cart\" data-sk-variant=\"cart-trust\" className={cn(\"w-full\", className)}>\n      <ul className=\"grid grid-cols-2 gap-px overflow-hidden rounded-sk-card border border-sk-line bg-sk-line\">\n        {points.map((p) => {\n          const Icon = ICONS[p.icon]\n          return (\n            <li key={p.title} className=\"flex items-start gap-2.5 bg-sk-card p-3\">\n              <Icon size={15} className=\"mt-0.5 shrink-0 text-sk-ink\" />\n              <div className=\"min-w-0\">\n                <p className=\"text-[13px] font-medium leading-tight text-sk-ink\">{p.title}</p>\n                {p.detail ? <p className=\"mt-0.5 text-xs text-sk-muted\">{p.detail}</p> : null}\n              </div>\n            </li>\n          )\n        })}\n      </ul>\n      {guarantee ? <p className=\"mt-3 text-xs leading-[1.5] text-sk-muted\">{guarantee}</p> : null}\n      {payments.length ? (\n        <ul className=\"mt-3 flex flex-wrap gap-1.5\" aria-label=\"Accepted payment methods\">\n          {payments.map((m) => (\n            <li key={m} className=\"rounded-sk-chip border border-sk-line px-2 py-0.5 font-sk-mono text-[11px] uppercase tracking-[0.08em] text-sk-muted\">\n              {m}\n            </li>\n          ))}\n        </ul>\n      ) : null}\n    </div>\n  )\n}\n",
      "type": "registry:component",
      "target": "components/storekit/cart/cart-trust.tsx"
    }
  ],
  "meta": {
    "section": "cart",
    "variant": "trust",
    "niche": [
      "any"
    ],
    "commerce": [
      "trust"
    ],
    "previewHeight": 340
  }
}