Founding price: $35, then $79.99 after 23:59 UTC on 4 November, then $79.99
Get ProPro starter app. Needs a tealmac UI Pro licence. Set it up once on /pro/login, see Install Pro.
Storefront is a whole shop, not a single page: 11 routes that share one layout, one cart and one catalogue. It ships for a fictional home goods brand called Halden, so you can see how every screen behaves with real-looking data before you swap in your own. Open the live preview.
| Route | What it does |
|---|---|
/templates/storefront-starter | Home: hero, categories, new arrivals, editorial band, bestsellers, promises, newsletter |
…/shop | Collection with category, price, colour, size, availability and rating filters, sort, grid or list, load more |
…/products/ostra-floor-lamp | Product page: gallery with full-screen viewer, colour options, add to bag, details, 128 reviews, related items |
…/products/clementine-accent-chair | The same page for a product with no reviews and a sold-out colour |
…/cart | The bag: quantity, save for later, free-shipping progress, promo code, totals |
…/checkout | Three steps: details, shipping method, payment (interface only) |
…/checkout/confirmation | Order confirmation with delivery progress and a summary |
…/account/orders | Order history with filters, search and expandable item lists |
…/account/orders/hd-10482 | An order in progress with 14 products, cancel and buy again |
…/account/orders/hd-10377 | A shipped order with a tracking number |
…/wishlist | Saved items: move to bag, back-in-stock alerts, share |
The header carries a search dialog (Ctrl or Cmd + K), the wishlist, the account and a cart drawer that opens from every page.
Every list has loading, empty and error states. Preview them by adding
?state=loading, ?state=empty or ?state=error to the shop, orders or
wishlist URL. Product names, customer names and prices include long and
awkward values on purpose, so you can see how the layout copes.
Add your licence key and the Pro registry once per project. The full steps are in Install Pro; in short:
TEALMAC_UI_LICENSE_KEY=your-licence-key{
"registries": {
"@tealmac-pro": {
"url": "https://ui.tealmac.com/r/pro/{name}.json",
"headers": {
"Authorization": "Bearer ${TEALMAC_UI_LICENSE_KEY}"
}
}
}
}Then install the app:
The CLI also installs the free tealmac UI components and shadcn primitives the app uses.
components/tealmac-pro/storefront-starter/ holds the shell, the shared
pieces, the cart store, the data and one file per page.app/templates/storefront-starter/**/page.tsx are thin route files, one per
page. Move them anywhere in your app/ folder (for example to app/(shop)/)
and update the links in storefront-starter-data.ts (BASE and storeHref).Everything the app shows comes from four places, so replacing the demo is a short job:
storefront-starter-data.ts exports products, categories
and the review helpers. Replace them with calls to your commerce backend or
CMS. Pages read products through getProduct and products, so changing
those two is enough to start.storefront-starter-store.ts keeps both in
localStorage and exposes storeActions (add, setQty, remove,
toggleWish, applyPromo). Swap each body for a call to your cart API;
the components only use useStore() and storeActions.storefront-starter-checkout.tsx, the pay function marks the
spot. Create a payment or checkout session on your server, confirm it
there, then redirect to the confirmation page. Use your provider's hosted
fields for card details rather than reading the inputs yourself.orders in the data file feeds order history and the two order
pages. Fetch them from your order system in a server component or an
effect.Product photos are loaded from images.unsplash.com through plain <img>
tags. Replace them with your own product photography (the photo field and
the Photo component) before you go live.
Promo codes in the demo (HALDEN10, WELCOME15) are checked in the browser.
Always validate real codes and prices on your server.
The app uses semantic tokens only (background, card, primary, muted,
border, ring and the chart colours). It looks right with the default tealmac
theme and every theme preset, in light and dark, and follows your radius
setting. Product swatches are the one place with fixed colours, because they
show the colour of the product itself.
h1 and a main landmark per page, a skip link, and labelled
navigation regions.autocomplete values and inline error
messages, and a summary of errors takes focus on submit.prefers-reduced-motion.