Magoo Component UI logo Magoo Component UI
← Catalog

Filter Grid

filter-grid organism experimental

A responsive card grid with a row of filter chips that show or hide cards by category.

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

Design system refresh

Rebuilding the component library.

Brand sound identity

A recognisable audio signature.

Streaming APIs

Real-time updates to every client.

Automatic dubbing

Localise a video into any language.

Pipeline hardening

Faster, safer deploys.

Launch checklist

Ship the next release with confidence.

Onboarding flow

Get new users to value faster.

Pricing experiments

Test packaging without a rebuild.

Motion guidelines

Consistent, tasteful animation.

TwoFilters

Roasted vegetable bowl

A weeknight staple.

Slow-cooked ragu

Worth the wait.

Berry galette

Rustic and quick.

Dark chocolate tart

For the weekend.

Props

NameTypeReq
items array ✓
filters array ✓
all_label string
gap enum (default | none | sm | md | lg | xl)
label string

Related components

How to use

behavior.js wires the chips: on click it marks the clicked chip data-active="true" (clearing the others, which drives the data-[active=true]: primary styling) and reads its data-value, then shows only the items whose data-category equals that value — an empty value (the All chip) shows everything. It toggles each card's `hidden` property rather than a `hidden` class so it never clashes with the grid's responsive display utilities. The portable self-init reads all config from the DOM — no props object is passed. Filtering does not run in screenshots (behavior.js is not executed there), so captures show every card.

Use cases

grid WCAG AA SEO 35 dir: both ai-generated