{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "order-confirmation", "title": "Order Confirmation", "description": "A post-purchase confirmation with order number, receipt email, item summary, and total.", "dependencies": [ "lucide-react" ], "registryDependencies": [ "https://lumo-www.vercel.app/r/lib.json" ], "files": [ { "path": "packages/core/src/components/lumo/order-confirmation.tsx", "content": "import * as React from \"react\"\r\nimport { CheckCircle2 } from \"lucide-react\"\r\nimport type { CartLine, Money } from \"@/lib/lumo/types\"\r\nimport { formatMoney } from \"@/lib/lumo/money\"\r\n\r\nimport { cn } from \"@/lib/utils\"\r\n\r\nexport interface OrderConfirmationProps extends React.HTMLAttributes {\r\n orderNumber: string\r\n email?: string\r\n lines?: CartLine[]\r\n total?: Money\r\n locale?: string\r\n onContinue?: () => void\r\n continueLabel?: string\r\n}\r\n\r\nconst OrderConfirmation = React.forwardRef(\r\n (\r\n { orderNumber, email, lines, total, locale, onContinue, continueLabel = \"Continue shopping\", className, ...props },\r\n ref\r\n ) => {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n
\r\n

Order confirmed

\r\n

\r\n Thanks. Your order {orderNumber} is on its way.\r\n

\r\n {email &&

A receipt was sent to {email}.

}\r\n
\r\n\r\n {lines && lines.length > 0 && (\r\n
    \r\n {lines.map((line) => (\r\n
  • \r\n \r\n {line.product.title}\r\n x {line.quantity}\r\n \r\n {formatMoney(line.lineTotal, { locale })}\r\n
  • \r\n ))}\r\n
\r\n )}\r\n\r\n {total &&

Total {formatMoney(total, { locale })}

}\r\n\r\n {onContinue && (\r\n \r\n {continueLabel}\r\n \r\n )}\r\n \r\n )\r\n }\r\n)\r\nOrderConfirmation.displayName = \"OrderConfirmation\"\r\n\r\nexport { OrderConfirmation }\r\n", "type": "registry:ui", "target": "components/lumo/order-confirmation.tsx" } ], "type": "registry:ui" }