Cart Drawer
Side cart on our side sheet with drawn line items, quantity steppers, remove with undo, free-shipping progress, promo validation, rolling totals and an empty state.
Preview
Fernhouse
The bag icon opens this cart as a side sheet. Try code SAVE10.
Empty cart
0 itemsYour cart is empty
Saved items and new arrivals are a tap away.
Your cart
4 itemsAdd $44.50 for free shipping
- Glazed travel mugEmber · 400 ml · $26.00
- Canvas market toteStone · $34.00
- Cedar & fig candle220 g · $19.50
Install
Pro source requires Pebble Pro. Try the full preview above.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| items / onItemsChange | CartLine[] / (items) => void | — | Controlled lines { id, name, variant?, price, quantity, thumb? }. |
| freeShippingThreshold | number | — | Order value that unlocks free shipping; shows the progress bar. |
| shippingFee / taxRate | number | 6 / 0 | Shipping below the threshold; tax rate applied after discount. |
| validatePromo | (code) => PromoResult | Promise<PromoResult> | — | Checks a promo code; returns { ok, label, percent | amount } or { ok: false, message }. |
| onCheckout | (totals: CartTotals) => void | — | Lit-key checkout action with the computed totals. |
| onContinueShopping | () => void | — | Empty-state action; the drawer also closes. |
| currency / locale | string | "USD" / "en-US" | Money formatting. |
| open / defaultOpen / onOpenChange | boolean | false | CartDrawer: sheet open state. |
| trigger | ReactElement | — | CartDrawer: element that opens the sheet. |
| CartPanel | component | — | The cart body without the sheet, for pages and previews. |
Pro component
Try the full preview above. Editable source and build guides require Pebble Pro.
