Skip to content

feat(components): give the 23 unsized components a size source - #133

Merged
LeadcodeDev merged 1 commit into
mainfrom
feat/size-unsized-components
Aug 2, 2026
Merged

feat(components): give the 23 unsized components a size source#133
LeadcodeDev merged 1 commit into
mainfrom
feat/size-unsized-components

Conversation

@LeadcodeDev

Copy link
Copy Markdown
Owner

Closes #126. Part of the chantier #123.

Independent of the other six workstreams: disjoint file set, compiles and tests green on its own against main. Mergeable in any order.

Full rationale, measurements and evidence are in the commit message and in #126.

Ten components measured their own content and nineteen carried a declared size.
The remaining twenty-three had neither: inside a card's flex column they took
width from align-items: stretch and kept height zero, so they painted nothing
at all. Verified by rendering — all twenty-three produced zero pixels.

The list is what makes it matter. chart, gauge, stat, icon, image, shape,
sparkline, mockup, stepper, tag_cloud, callout, tooltip and the rest are
precisely what a panel contains, and this project's target style puts nearly
every graphic in a panel.

Each default is derived rather than chosen: from the component's own painter
formula where it has one (heatmap's cell grid, pill_nav's tab layout,
tag_cloud's weighted flow, gauge's ring radius), from a documented rule where
the project already states a size (sparkline 120x40, stat 280x180, skeleton
400x200), and from real usage in this repo's own examples otherwise. Text-bearing
components measure their content, so a callout grows with its text.

Also fixes three stats in a flex row rendering nothing, which was the same
defect reached through auto width.

Six of the seven tracked examples render byte-identically. mega-showcase changes
because it is the only one containing unsized instances of these components —
they were invisible and are now drawn.

Closes #126
@LeadcodeDev
LeadcodeDev merged commit e6b8420 into main Aug 2, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(components): give the 23 unsized components a size source

1 participant