Magoo Component UI logo Magoo Component UI
← Catalog

Carousel Grid

carousel-grid organism experimental

A highly configurable horizontal carousel of preview cards — cards-in-view per breakpoint, peek, looping, arrows and pager.

The width preview needs a screen wider than the chosen width — use a larger device (or a desktop browser) to see the desktop and tablet layouts.

Default
PeekLoop

Props

NameTypeReq
items array ✓
cols_mobile enum (1 | 2 | 3 | 4)
cols_tablet enum (1 | 2 | 3 | 4)
cols_desktop enum (1 | 2 | 3 | 4)
peek enum (none | sm | md | lg)
gap enum (default | none | sm | md | lg | xl)
loop boolean
end_at_start boolean
show_arrows boolean
show_pager boolean
show_image boolean
label string

Related components

How to use

Layout is pure CSS driven by --cc-* custom properties on the track, so cards-in-view, peek, gap and end alignment all work with no JavaScript (and render in screenshots). behavior.js wires the interaction: the arrows scroll by one page (the current cards-in-view count) and disable at the ends, unless data-loop="true" (set from the loop prop) makes them wrap; the pager dots scroll to their card and mark the active one on scroll. The portable self-init reads config from the data-loop attribute — no props object is passed.

Use cases

gridmedia WCAG AA SEO 30 dir: both ai-generated