figma guide

Designing product quick view UI in Figma: modal patterns, variants, and handoff

Design quick view modals, quick shop drawers, and PLP preview UI in Figma with variant pickers, ATC states, and Dev Mode specs that match full PDP behavior.

Published
Updated
Jun 25, 2026
Read time
7 min
Level
Beginner

Quick answer

Product quick view is a focused overlay on listing pages that shows image, price, variant pickers, and add-to-cart without a full navigation to the PDP. Keep it lighter than a product detail page—one hero image, essential variant controls, and a link to “View full details.” Match ATC behavior, price logic, and stock states to the PDP so shoppers never get different prices in quick view vs full page. Use a modal on desktop and a bottom sheet on mobile for thumb reach. Start from the Figma guides hub.


Who this is for

  • Product designers building product listing grids where shoppers expect fast add-to-cart.
  • Design system teams reusing buy box subcomponents between PDP and quick view.
  • Engineers implementing lazy-loaded product JSON, focus traps, and cart drawer handoff from PLP.

Quick view surfaces

SurfacePatternWhen to use
Category PLPCenter modal (desktop) / bottom sheet (mobile)Fashion, home goods with variant SKUs
Search resultsSame modal componentConsistent ATC from any listing
Recommendations rowOptional quick view on hover CTAOnly if PDP navigation hurts conversion
Cart cross-sellUsually skip quick viewLink to PDP instead
B2B catalogQuick view with qty stepperBulk ordering from grid

Verdict: quick view is a shortcut to the buy box, not a second product page. If your catalog needs specs, reviews, and size guides inline, send users to the PDP.


QuickViewModal anatomy

ZoneContentNotes
HeaderProduct title + close buttonTitle links to PDP
MediaSingle image or 3-thumb carouselNo full gallery unless category requires it
Price blockSale, compare-at, currencySame tokens as pricing UI
Variant pickersSize, color, or segmented controlRequired before ATC
Primary CTAAdd to cart / Notify meMirrors PDP states
SecondaryView full details, WishlistText link below CTA
QuickViewModal
├── Variant: breakpoint=desktop_modal | mobile_sheet
├── Variant: stock=in_stock | out_of_stock | low_stock | preorder
├── Variant: variantSelected=true | false
├── Property: loading=true | false
└── Layers:
    ├── OverlayScrim
    ├── Panel (modal or sheet)
    │   ├── CloseButton
    │   ├── ProductImage
    │   ├── TitleLink
    │   ├── PriceBlock
    │   ├── VariantPickers
    │   ├── PrimaryCTA
    │   └── SecondaryLinks
    └── FocusTrapSentinel

Build pickers from the same component variants as the PDP buy box. Use Auto Layout with max width 480px on desktop modal.


Layout comparison

LayoutBest forTradeoff
Center modalDesktop PLP, 2-column gridBlocks page context; good focus
Bottom sheetMobile PLPNatural thumb zone; partial page visible
Side drawerWide monitors, B2BMore room for qty + SKU; higher dev cost
Inline expandMinimal catalogsNo overlay; limited variant space

On mobile, prefer bottom sheet over full-screen modal so users still sense the listing behind it. Add safe-area padding on sheet handle and CTA row.


Entry and exit states

StateTriggerUI
ClosedDefault PLPQuick view trigger on card hover or “Quick shop” button
OpeningClick quick view on product cardScrim fade + panel slide up
Open / loadingFetch product dataSkeleton for image + price
Open / readyData loadedFull pickers + ATC enabled
Variant errorATC without sizeInline error on picker; shake optional
AddingATC clickedSpinner on button; disable pickers
SuccessItem in cartClose modal or show toast
ClosingClose, scrim tap, EscapeReturn focus to triggering card

Prototype open → select variant → add → toast with Smart Animate between loading and ready variants.


Sync with PDP and PLP card

PropertyPLP cardQuick viewFull PDP
Thumbnail imageSwatch or flat layFirst gallery imageFull gallery
PriceFrom listing APILive product APILive product API
Variant summaryOften hiddenFull pickersFull pickers + size guide
ReviewsStar count onlyOptional mini ratingFull review UI
Stock badgeOn cardOn CTA labelInline + notify me

Rule: price and SKU in quick view must match PDP for the same variant selection. Document shared product ID and variant ID in Dev Mode.


Interaction with cart and navigation

ActionExpected behavior
Add to cartOpen cart drawer or toast; keep PLP scroll position
View full detailsNavigate to PDP with variant query param pre-selected
WishlistSame handler as PDP; modal can stay open
CompareAdd to compare tray; optional close modal
Second quick viewClose first before opening second (single overlay stack)

Do not stack quick view above another modal unless your platform supports nested overlays—usually one overlay at a time.


Accessibility and focus

RequirementDesign spec
Focus trapTab cycles inside panel until close
Return focusOn close, focus returns to triggering “Quick shop” button
EscapeCloses modal
Scrimaria-modal="true" on panel
Live regionAnnounce “Added to cart” for screen readers
Reduced motionInstant open without slide

Link to accessibility plugins for contrast checks on scrim and CTA. Size pickers need visible focus rings matching forms guide.


Handoff checklist

ItemDev Mode annotation
Triggerdata-product-id on PLP card quick view button
Lazy loadFetch /products/{id}.json on open
Deep linkPDP URL with ?variant={id}
Cart handlerSame as PDP ATC endpoint
Analyticsquick_view_open, quick_view_atc, quick_view_to_pdp
z-indexAbove PLP filters, below global header mega menu
Mobile breakpointSheet below 768px; modal above
Error statesNetwork fail → retry + close

Use Dev Mode checklist and responsive frames for breakpoint-specific layouts.


Common mistakes

MistakeWhy it hurtsFix
Different price in quick viewTrust lossSingle product API source
Full PDP crammed in modalScroll fatigueLimit to buy box essentials
No “View details” linkSEO and spec discovery sufferAlways offer PDP escape hatch
Quick view on every card tapAccidental opensSeparate quick shop from card navigation
Missing variant validationWrong SKU in cartDisable ATC until required pickers set
Opening over sticky filtersz-index bugsDocument overlay stack
Desktop-only modal on mobilePoor thumb UXBottom sheet on small breakpoints

  1. Finalize PDP BuyBox subcomponents (price, pickers, CTA).
  2. Create QuickViewModal desktop and mobile sheet variants.
  3. Add PLP card trigger — “Quick shop” button or eye icon, not whole card click.
  4. Design loading skeleton matching loading states patterns.
  5. Map all stock states including notify-me CTA.
  6. Prototype open → variant → ATC → cart drawer on PLP frame.
  7. Spec focus trap and analytics in Dev Mode.
  8. Test with size guide link opening nested modal behavior.

FAQ

Quick view or go straight to PDP?

Use quick view when variant selection is simple (size/color under ~6 options) and PLP browsing is the primary journey. Send complex products (configurable, heavy specs) straight to PDP.

Show multiple images in quick view?

One image is enough for most fashion SKPUs. Add a 3-dot carousel only when color accuracy matters and PDP gallery is large.

Quick view on hover?

Desktop-only hover quick view is rare today—click or explicit “Quick shop” button avoids accidental triggers and mobile parity gaps.

Same component as sticky buy bar?

No—sticky bar is PDP scroll behavior. Reuse buy box subcomponents (price, CTA, pickers), not the sticky wrapper.


Next steps

Share on X

§ Keep reading

Related guides.