Skip to content
KaufmannCommerce UI
Foundations · v0.1⌘ K

Kaufmann Commerce UI / Commerce family

Product Card

An offer-facing card whose meaning, price, and stock projection remain distinct, independently updateable parts.

Editorial grid

Missing or empty image URLs become a calm striped media surface—never an invented product image.

Live specimen
New

Eulenwald Edition

Seasonal Circle Cards

€24.00

Twelve illustrated cards for the quiet changes of the year.

Letter & Story

Forest Letter · Autumn

€12.00€16.00

A printed forest letter with a short read-aloud story.

Bundle

The Great Forest Year

€68.00

Cards, letters, and stories brought together as one offer.

An API that treats missing data honestly

image and href are optional. Without an image, the card renders a neutral state; without a destination, it does not pretend to be a link. locale and labels keep formatting and language server-controlled, while the action slot continues to use the canonical Kaufmann button primitive.

Astro
---
import { ProductCard } from "@kaufmann/ui";
---

<ProductCard
  locale="en-GB"
  product={{
    id: "ew-seasonal-circle",
    name: "Seasonal Circle Cards",
    href: "/products/seasonal-circle-cards",
    price: { amount: 24, currency: "EUR" },
    stock: { state: "available", label: "Ready to ship" }
  }}
  labels={{ emptyMedia: "Image coming soon" }}
/>