Skip to main content
PimentCSS v1.0.1, what's new
Home

Slots & layouts

Slot placeholders and column/row layout grids for wireframes.

Slots are dashed placeholders for composing regions in wireframes or empty shells. Slots layouts arrange them in a horizontal row (--column) or vertical stack (--row) with a 24px gap. For full page recipes (forms, tables, toolbars), start at Patterns overview. Styles live in scss/components/_slot.scss and _slots-layout.scss.

Slot

Single placeholder block before grouping into layouts.

Slot component

Dashed border-action, background surface-action-hover-2, min. 139×42px. Replace with real components in production.

Column layout

.slots-layout.slots-layout--column places slots side by side (Figma « Column », 1 to 6 slots). In production, slots keep min-width: 139px and do not shrink; wide sets may overflow their container. Demos below use a doc-only wrap so slots reflow without horizontal scrollbars.

1–2 slots (horizontal)

1 slot side by side

Slot component

2 slots side by side

Slot component
Slot component

3–4 slots (horizontal)

3 slots side by side

Slot component
Slot component
Slot component

4 slots side by side

Slot component
Slot component
Slot component
Slot component

5–6 slots (horizontal)

5 slots side by side

Slot component
Slot component
Slot component
Slot component
Slot component

6 slots side by side

Slot component
Slot component
Slot component
Slot component
Slot component
Slot component

Row layout

In Figma, Row means slots stacked vertically (reading order top to bottom), not a horizontal row of examples. Class .slots-layout.slots-layout--row is 139px wide with a 24px gap between slots. Add .slots-layout--fluid for full-width stacks inside cards.

1–3 slots (vertical stack)

Vertical stack · 1 slot

Slot component

Vertical stack · 2 slots

Slot component
Slot component

Vertical stack · 3 slots

Slot component
Slot component
Slot component

6 slots · fluid (blank card)

Vertical stack · 6 slots (fluid, blank card)

Slot component
Slot component
Slot component
Slot component
Slot component
Slot component

In context

Blank cards use a fluid row layout inside .card__slots so teams can map header, body, and actions.

Header
Content
Actions

Used inside Blank card (.card--blank). Swap placeholders for headings, copy, or buttons.

Class reference

ClassDescription
.slotDashed placeholder (min 139×42px, action colors)
.slots-layoutFlex host with $slot-gap (24px)
.slots-layout--columnHorizontal row of slots (1–6)
.slots-layout--rowVertical stack, fixed 139px width
.slots-layout--fluidRow layout at 100% width (cards)

Customize (Sass)

  1. Slot spacing

    Override gap and minimum slot width before importing components.
    @use "pimentcss-design-system" with (
      $slot-gap: 1.5rem,
      $slot-min-width: 10rem
    );
  2. Rebuild CSS

    Run after editing _slot.scss or _slots-layout.scss.
    npm run build:css

Accessibility (RGAA / WCAG)

Slots in production

  • Wireframes only, .slot is a design-time placeholder. Replace with semantic HTML (headings, buttons, landmarks) before shipping.
  • Reading order, column layouts follow DOM order left to right (then next line if wrapped); row layouts top to bottom. Match visual order for keyboard and screen readers.
  • Grouped regions, when multiple slots become one pattern (for example a card), use a single role="group" with aria-label on the layout, not on each placeholder.
  • Page grid, for full-page structure use Layout (.container, .row, .col-*).

Next steps