QuickView
Fast product preview for listing pages with imagery, pricing, and action slots. Opens as a sheet or modal without navigating away from the grid.
Best for
Import
import { QuickView } from "@enadhq/enad-react-sdk/client/storefront"When to use it
Use QuickView on product listing pages when visitors should be able to preview a product's key details and add it to the cart without navigating away from the grid. It keeps browsing momentum high by showing imagery, pricing, and an action slot in a side panel or modal.
If the visitor needs the full product experience (all variants, reviews, specifications), link to the PDP instead.
Composition notes
QuickView is a controlled overlay with a product data prop and a children action slot:
openandonOpenChangemanage the panel visibility.producttakes aQuickViewProductobject withtitle,price(ReactNode),description,images, and optionalhref(link to full PDP).childrenis the action slot rendered below the product details. Pass add-to-cart buttons, variant selectors, or save/wishlist controls.mode(where supported) switches between sheet (default) and modal presentation.useOverlayControlleris the recommended helper when a listing trigger needs to keep the selected payload and the open state together.
Behavior and theming guidance
The default sheet mode slides in from the right and preserves the visitor's scroll position on the listing page. The modal mode centers the preview and dims the background, which creates more focus but interrupts browsing flow.
The product image gallery is rendered from the images array. If the product has an href, the title becomes a link to the full PDP for visitors who want more details.
Examples
Live examples you can edit directly in the sandbox.
Sheet quick view
A side sheet works well when you want to preserve the page context and keep scrolling position intact.
Modal quick view
A centered modal is a better fit when the preview should feel more interruptive and focused.
Component Sets
Preview the first example across the available component-set presets to compare tone, spacing, and structural defaults.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| open | boolean | — | No description yet. |
| onOpenChange | (open: boolean) => void | — | No description yet. |
| product | string | — | No description yet. |
| mode | string | sheet | Presentation mode |
| side | string | right | Side when mode is "sheet" |
| children | string | — | Slot for variant selector, add-to-cart, wishlist, etc. |
| viewDetailsLabel | string | View full details | Link label for "View full details" |
| className | string | — | No description yet. |