Slide cart

Add or duplicate blocks in the customizer to line up any combination. Every specimen is live: click a chip's X (the loading cycle is real, ~800ms) or tab to it, and click a close control to flash the action bound to it. Only the X is clickable on a chip, and it is the chip's only tab stop, though hover and the focus ring cover the whole chip. Each is wired in one line, on every .design-guide__chip-action and every .design-guide__header-action: run(fn) on a chip, run(fn) on a close control. The footer's checkout CTA is wired the same way, on every .design-guide__footer-action: run(fn) again, because the CTA is a button and the footer holds no JS of its own.

Drawer header

Every specimen here is capped at 500px, the width of the slide-cart panel a drawer header actually renders in. Full-bleed across this page is a width the component never has, and at it even the long title fits on one line, so nothing clips. Resize the browser to compare 390 with 1200 and up; the bar stays 63 until 1199 and 65 from 1200.

Your cart

Title only

Your cart

3 items

With count

Your cart with a deliberately very long heading that will not fit

3 items

Long title: clipped to an ellipsis

Your cart

3 items

Mobile preview: bare 20px close

Your cart

3 items

Desktop preview: 32px square close

Your cart

Close hover / pressed

Your cart

Close focus ring

Your cart

Close disabled

Chip

SUMMER20 Secondary
SUMMER20 Outline
SUMMER20 Promo chip
SUMMER20 No trailing icon: static, no control
SUMMER20 LoadingStatic specimen, click demo not wired.
SUMMER20 Disabled
SUMMER20 Hover / pressed
SUMMER20 Focus ring
SUMMER20 Leading icon: gift
SUMMER20 Leading icon: placeholder
SUMMER20 Trailing icon: arrow right
SUMMER20 Trailing icon: arrow down
SUMMER20 Trailing icon: circle info
SUMMER20 Trailing icon: warning

Slide cart footer

Pinned to the real slide-cart panel width the footer renders in: 390px below 768, where the drawer is full-bleed, and 500px from 768 up, the panel's own max-width (Figma 13960:273733). Each cell adds its own padding and border around that panel, so at 390 the specimens are wider than this page. They stay in one column, and the whole stack scrolls sideways (drag or swipe it) rather than the panel being squeezed. The total is a finished string the caller passes in: the footer reads nothing from cart and applies no money filter. The progress-tab slot on the dedicated specimen renders the live cart-progress-tab component; with the slot empty the footer renders no box at all.

Default
No total: label only
Long CTA label
Long content: 11 marks wrap to a second row
Unknown mark keys are skipped
No payment marks
Progress tab slot
Mobile preview: 16 padding, 32 marks
Desktop preview: 24 padding, 32 marks
Desktop LG preview: 24 padding, 38 marks
CTA hover / pressed
CTA focus ring
CTA loadingStatic specimen, click demo not wired.
CTA disabled

Cart progress tab

Figma counts goals (`options`), this component counts badges in `checkpoint_amounts`. Mapping: options=1 is an empty list — dot · line · end-dot, no badge, 31 tall; put the amount in the label. options=2 is two entries (51 tall), options=3 is three. A one-goal live cart must pass the list empty, not a single amount. One badge and four badges are reachable states of the N-ary contract but match no Figma option count — they sit below as Off-design. Badge 1 defaults to the box icon and every later badge to gift, unless checkpoint_icons overrides a slot by index.

Free shipping progress

$50 $100 $150
options=3 — empty

Free shipping progress

$50 $100 $150
options=3 — start

Free shipping progress

$50 $100 $150
options=3 — 1st

Free shipping progress

$50 $100 $150
options=3 — 2nd

Free shipping progress

$50 $100 $150
options=3 — 3rd

Free shipping progress

$50 $100
options=2 — empty

Free shipping progress

$50 $100
options=2 — start

Free shipping progress

$50 $100
options=2 — 1st

Free shipping progress

$50 $100
options=2 — 2nd

Free shipping progress

options=1 — emptyNo badge, h31. Design options=1. A one-goal cart leaves checkpoint_amounts empty and puts the amount in the label.

Free shipping progress

options=1 — startNo badge, h31. Design options=1. A one-goal cart leaves checkpoint_amounts empty and puts the amount in the label.

Free shipping progress

options=1 — 1stNo badge, h31. Design options=1. A one-goal cart leaves checkpoint_amounts empty and puts the amount in the label.

Free shipping progress

$50
Off-design: 1 badgeOff-design. The design's one-goal variant is options=1 above (dot · line · end-dot, no badge, added 09 Sep 2026) — a single badge is drawn at no option count. For a one-goal cart leave checkpoint_amounts empty and put the amount in the label.

Free shipping progress

$50 $100 $150 $200
Off-design: 4 badgesOff-design. The design tops out at options=3; four badges are a reachable N-ary state with no Figma option count. Badge 4 defaults to the gift icon.

You're this close to unlocking free shipping and a bonus gift with your order

$50 $100 $150
Long label

Free shipping progress

$50 $100 $150
Explicit checkpoint icons

Slide cart card

Pinned to the real 500px panel width the card renders inside (Figma 13960:273733), 390 below 768 where the drawer is full-bleed. Each card sits in the panel's own cards list, so it takes that list's inset: 16 up to 1199, 24 from 1200. The message slot renders the real message component, info or warning as each block sets it, with an optional title line above its text: a bundle item is this same default card with an info message whose title names the bundle and whose text names the pack discount. Where a specimen carries a caption, it either names a known conflict rather than a silent workaround or spells out how the specimen is composed.

Default
With label
With subscription
  • Звичайна ціна $59.00
    WELCOME10

    Deliver every 3 months, 20% off

Label + subscription
  • Ціна розпродажу $59.00 Звичайна ціна $79.00
Sale price
Pre-order
  • Звичайна ціна $59.00

    Помилка: This item can't ship to your address

Cannot ship
  • Звичайна ціна $59.00

    Помилка: This item is no longer available

Sold out as drawnRequirements ask for a disabled treatment; Figma draws this exact warning-message state instead. Shipped as drawn — flagged for the designer, not fixed here.
Long title: clamps to two lines
Quantity at ceiling
Quantity 1: minus removes
Pack of 10: steps by 10, minus at 10 removes
Busy
  • Ціна розпродажу $0.01 Звичайна ціна $159.00
    GIFT
GiftFlavour picker shown at select's 48-tall anatomy from the mock; the design system's own select component is 56 with a different shape. Flagged, not fixed.
Gift removedPick a product photo in the customizer on the preview theme to check desaturation. A template cannot ship a shopify://shop_images file that resolves on every store.
Hover forced
Focus forced — name ring
Label icon: placeholder
  • Sculpt Zip Crop Vest

    Black · M

    Звичайна ціна $59.00
No product URL

Slide cart

Pinned to the real panel width, 500 from 768 (Figma 13960:273733) and full-bleed 390 below, the same rule the card and footer groups use. One specimen renders presentation='drawer', closed behind an 'Open the slide cart' trigger — the one specimen on this page that exercises Escape, the Tab trap, focus restore and the scrim, since this guide page is the only place AC-3 can be demonstrated without a theme session. Its trigger does not call the drawer: it publishes slide-cart:active with the panel id, and the drawer opens because it reacts to that topic, as it would for any other sender. The remaining five render presentation='inline', the same panel flat in the page flow with none of that dialog behaviour. Every stub card here is a fixed generic product, not driven by a setting. The all-slots specimen fills the messages slot with a real dismissible warning; dismissing it hides the message and moves focus to that specimen cell. The carousel slot holds the real upsell-carousel: the products picked in the block's Carousel products setting, or four stub product cards when none are picked, titled Bestsellers on the Empty state. The summary slot holds the real order-summary with fixed demo totals. Quick add and Apply run a ~800ms demo action; Apply always succeeds here. Quick add succeeds on the inline specimens and fails inside the drawer, so its error shows in the panel's message area under the drawer header: newest on top, up to three, 4 seconds each.

Drawer — opens over the page

Your cart

3 items

Завантаження...
Inline — default

Shopping cart

Завантаження...

Ваш кошик порожній

Виправмо це - почніть додавати те, що вам потрібно

Почати покупки Почати покупки Почати покупки
Inline — empty

Shopping cart

Завантаження...
Inline — loading

Shopping cart

Завантаження...
Inline — desktop padding

Shopping cart

Завантаження...

Some items in your cart have changed

Підсумок
$249.00
Знижка
-$126.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $123.00
Inline — all slots

Slide cart: upsell and order summary

Add or duplicate blocks in the customizer to line up any combination. Every specimen except Live cart runs a fake ~800ms action bound through the component's own run(fn), and its Demo outcome setting picks what that action returns: quick add succeeds or fails, and Apply succeeds, answers that the code does not apply, or fails as if the network dropped. Failed outcomes log a console.error on purpose, the same one a real failure logs. Hover and Focus states are forced with a class so they can be reviewed without a pointer.

Product card

Pinned to the 164px card width the slide-cart carousel uses. A picked product fills the title, price, both photos and the quick-add variant; the Title, Price and image settings override it one by one. Quick add on Auto sends a product with several variants to its page instead of adding it.

Звичайна ціна $109.00
Default
Ціна розпродажу $49.00 Звичайна ціна $59.00
Sale
Звичайна ціна $49.00
One-line title
Hover: second photo shown
Ціна розпродажу $20.00 Звичайна ціна $49.00
Sold out
Several variants: opens the product page
Ціна розпродажу $119.00 Звичайна ціна $189.00
Quick add fails

High-Waisted Sculpt Capri Leggings

Звичайна ціна $59.00
No photo

Upsell carousel

Pinned to the real panel width, 390 below 768 and 500 from 768. Slides come from the picked products, then the picked collection, then generic stub cards. Arrows show from 1200; with four slides or more that overflow the width the carousel loops, below that the arrows disable at either end.

Goes great with, 8 items: loops
Bestsellers, from a collection
2 items: arrows disable at the ends
1 item: no arrows

Discount field

Pinned to the real panel width with the order summary's own inline padding. Typing keeps only letters and digits and upper-cases them; Enter or Apply runs the demo action. Applied codes are chips, and the field locks once the code limit is reached. Chips here are static: removing one runs the demo action but the chip stays, since no cart re-renders it.

Default: Apply succeeds
Filled: Apply answers the code cannot be applied

Discount code cannot be applied to your current cart or does not exist

Error: Apply fails as if offline
Промокод застосовано
Success
  • WELCOME10
One code applied
  • WELCOME10
  • SUMMER20
Two codes: field locked at the limit
Hover
Focus

Order summary

Pinned to the real panel width. Amounts are in cents, the way the cart reports them; Total left empty is Subtotal minus Discount, and a Discount of 0 or empty drops its row. Taxes on Auto follows the store setting that lists the countries with a Taxes row, and every other country shows VAT included under Total.

  • WELCOME10
Підсумок
$249.00
Знижка
-$126.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $123.00
US: Taxes row, one code, discount
Підсумок
$249.00
Знижка
-$126.00
Доставка
Розраховується при оформленні
Разом USD $123.00

VAT included

VAT included
Підсумок
$249.00
Доставка
Free
Податки
Розраховується при оформленні
Разом USD $249.00
Free shipping
Підсумок
$123.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $123.00
No discount
  • WELCOME10
  • SUMMER20

Discount code cannot be applied to your current cart or does not exist

Підсумок
$249.00
Знижка
-$126.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $123.00
Two codes, field error
Підсумок
$249.00
Знижка
-$126.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $123.00
Taxes auto: by the visitor's country

Live cart

Not a demo: this specimen reads and writes the real cart of this session. Quick add on a carousel card adds that product; Apply and a chip's X apply and remove real discount codes. After every change the carousel, the chips and the totals re-render from the server. With an empty cart the carousel falls back to Bestsellers.

Підсумок
$0.00
Доставка
Розраховується при оформленні
Податки
Розраховується при оформленні
Разом USD $0.00
Live cart: real quick add and discount codes

The store header row on both surfaces, full width. Resize the window to see the three breakpoints.

Interactive states

hover / pressed
Hover a menu item from 1200px up. On the light surface the label darkens and gets an underline; on the dark surface only the underline appears.
focus-visible
Tab through the row. Every ring sits inside the 60px row and never shifts the layout.
menu panel
From 1200px, hover or click an item with sub-links to open its panel. Opening one specimen's panel closes the other's; closing it never unlocks the page while the other is open.
burger
Below 1200px. Opens this specimen's own menu panel; opening the other closes this one.
locale
From 1200px in the header row, below it in the burger menu's utility row. Opens the language and country dialog of its own header.
cart
Opens the slide cart. A number badge at the bottom right of the icon shows the item count, always in full; from three digits it grows into a pill to the left over the icon. It hides on an empty cart and updates on every cart change. The badge is hidden from assistive tech: the accessible name already carries the count.

Surface light

Surface dark

Таблиця розмірів

Overview

Повідомити, коли з’явиться

Введіть свою електронну пошту, і ми повідомимо вас, щойно цей товар знову з’явиться в наявності.

Пошук

Popular searches