Skip to content

v1: validate candidate issue #61 spacing utilities #136

Description

@jenil

Objective

Verify and define the utility override behavior in issue #61 for container, row, and column contexts before changing utility CSS.

Prerequisites

  • v1: add built CSS public API contract check #131 has identified .is-marginless and .is-paddingless as public API where documentation promises them.
  • A grid fixture can exercise container, row, and col variants.
  • The utility override contract retains !important unless a demonstrated consumer failure justifies changing it.

Investigation scope

Test utility behavior on leaf elements and on structural elements with baked-in spacing: container padding, row negative margins, and column gutters. The central question is whether public utility names deliver their promised semantic result in those contexts.

Do not

  • Remove !important as cleanup.
  • Change every component margin/padding rule.
  • Assume .is-marginless removes container padding; test both utilities and the actual affected property.
  • Merge production CSS on this validation card.

Procedure

  1. Create a matrix for .container, .row, and representative .col-* elements with each utility alone and combined.
  2. Inspect computed margin and padding rather than relying only on appearance.
  3. Capture layout/VRT evidence for normal and overridden states.
  4. Identify the smallest selector-specific correction, if any, and whether it changes a documented contract.

Done checklist

  • The matrix states expected and actual computed spacing for each structural element.
  • Any defect names the baked-in rule it fails to override.
  • A v1 recommendation is limited to the smallest component-specific override and includes regression coverage.
  • No broad utility rewrite or production CSS change is included.

Required handoff

Attach the utility matrix, fixture markup, computed-style evidence, screenshots, proposed minimal correction if needed, API/migration assessment, and explicit promote/defer/close decision.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions