Design System — User Interface

Ronix Design System  /  Components  /  Product grid

Product grid

The product listing page — filter panel, breadcrumb tablist, card grid and pagination, with the Selected interaction state and the brand tints that support it.

Page layout

A 257 px filter sidebar beside the grid, with the product tablist above both. The grid column count is driven by the filter component’s own Layout property.

The sidebar holds 257 px at both 1400 and 1200 — so the grid absorbs the entire difference, and cards drop from 258 px to 211 px while staying four across.

Below 992 px the sidebar leaves the layout entirely.

BreakpointContainerSidebarGridColumnsCard
1400132025710554258
120011402578754211
576540—5402266
358326—3262159
Fig. 1Gaps are 8 px throughout. The 1200 card is 47 px narrower than at 1400 because the sidebar does not shrink.

Selected — a fourth interaction state

Alongside Rest, Hover and Pressed, the filter panel and pagination use Selected:

  • Global/background/1/Selected — #ebebeb
  • Global/Stroke/1/Global/Selected — #cccccc

Selected is distinct from Hover. Hover is transient and follows the pointer; Selected persists and describes what the user has chosen. Use the Selected tokens for a chosen filter, never the Hover tokens.

Brand tints

Brand/background/2 (#fff5f5) and Brand/Stroke/2 (#ffcccc) are the light end of the brand ramp. They carry the “Clear All” control.

× Industrial tools × In Stock × Hot sale Clear All
Fig. 2Above: value chips using Selected. Below: applied-filter chips, with Clear All on the brand tint.

Filter panel

Eight variants: Layout of 5, 4, 3 or 1 column crossed with Type of Extra or Default.

The Layout property does not describe the filter — it describes the grid beside it. A 5-column grid leaves a 257 px sidebar; a 3-column grid leaves 434 px. Filter and grid are sized as one decision.

The 1-column variant

At Layout=1 - Column the panel is 1320 px wide — the full container. It is not a sidebar at all but a full-width filter surface, which is what replaces the sidebar when it leaves the layout below 992 px.

Groups

  • Filtered Option — applied chips plus Clear All
  • Application — searchable checkbox list
  • Voltage — value chips
  • Highlights — In Stock, Hot sale, New, Discontinued
  • Star rating — searchable checkbox list

Three of the five groups carry their own search field, which is the right call for lists that can run long.

LayoutType=ExtraType=DefaultRole
5 - Column257 × 1217257 × 1217Narrow sidebar
4 - Column324 × 1187279 × 1187Sidebar
3 - Column434 × 1127374 × 1157Wide sidebar
1 - Column1320 × 11271140 × 1127Full-width surface
Fig. 3The panel gets shorter as it gets wider — the same controls in fewer rows.

Live panel

Filters

Corded impact drills (86) result

Filtered Option
× Industrial tools × In Stock × Hot sale Clear All
Application
Voltage
Highlights
Fig. 4Filter panel, Layout=5 - Column. Groups collapse; chips and checkboxes are live.

Product tablist

Not a tablist at all — it is a breadcrumb of dropdowns on the left and a Sort by control on the right, in a 120 px block.

Each breadcrumb level is itself a dropdown, so a user can re-pick at any level without going back. That is a better pattern than a plain breadcrumb, and the name hides it.

Two variants, State=Extra and State=Default, both 1320×120 — identical in the render. At 358 it grows to 152 px as the controls wrap.

/ /
Fig. 5Breadcrumb dropdowns left, Sort by right.

Pagination

Previous, ten numbered pages, next — 520×52 at Large, 512×48 at 576 and 299×48 at 358.

The current page uses the Selected background with brand-red text — brand red as a foreground on a neutral surface rather than as a fill.

Ten page links fit 520 px comfortably. On narrower widths, or for catalogues running to many pages, truncate the middle — 1 … 5 6 7 … 40.

Fig. 6Page 1 selected — Selected background, brand-red label.

Assembled

Tablist, filter sidebar, grid and pagination together. Narrow past 992 px and the sidebar drops out, as it does in the library.

Fig. 7The assembled PLP. Below 992 px the sidebar leaves the flow.

Filters on small screens

Below 992 px the sidebar leaves the layout. Filters are reached instead from a trigger in the tablist row, which opens the Layout = 1 - Column variant as a full-width surface.

That variant is the mobile filter surface: same groups, same controls, laid out across the full container width rather than down a sidebar.

Filters must stay reachable at every width. A listing of 86 results needs narrowing most on a phone, so the trigger belongs in the tablist row where it is visible without scrolling. Opening the filter surface should not lose the user’s place in the results.