Feat: Add 'small' size to input components; Fix: Improve field states… - #250
Merged
Conversation
… and documentation Fix(c-autocomplete): Anchor the items panel to the bottom of the field, not the hint/error message area; hide the list scrollbar. Fix(c-text-field): The border no longer stays primary on a filled-but-blurred field; `0` in a `type="number"` field now counts as a value, lifting the label. Fix(c-select): The dropdown list opens flush under the field when `hide-details` is not set; list text uses the surface text token (was black in dark mode); new `menu`, `list`, and `item` CSS parts, plus any `part` attribute inside a slotted `` is exported through `c-select::part()`. Feat(c-button-group): The default size is 44px tall (36px buttons in a 4px frame), level with a `c-text-field`. Fix(c-status): The default (untyped) pill is neutral (`surface-muted` / `on-surface-muted`) instead of primary-tinted. Fix(c-modal): The `root` part carries `rounded-csc-xl` corners, matching `c-card`. Fix(c-card): The `root` part no longer clips overflow. Fix(c-checkbox): The message area is reserved like `c-input`'s to prevent layout shift when validation errors appear; `message` part is now that area. Feat(c-login-button): New `image` slot (and `image-wrap` part) for custom logo markup instead of `src`. Feat(c-select, c-text-field, c-autocomplete): `size="small"` renders a 36px field (new shared `CFieldSize` type; `c-input` gains the same `size` prop). Docs: Example demos render on the card surface by default; canvas-level components (c-card, c-main, navigation chrome, login card) opt into the c-main canvas via `surface: canvas` in the canon example.
razorfever
approved these changes
Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… and documentation
Fix(c-autocomplete): Anchor the items panel to the bottom of the field, not the hint/error message area; hide the list scrollbar.
Fix(c-text-field): The border no longer stays primary on a filled-but-blurred field;
0in atype="number"field now counts as a value, lifting the label.Fix(c-select): The dropdown list opens flush under the field when
hide-detailsis not set; list text uses the surface text token (was black in dark mode); newmenu,list, anditemCSS parts, plus anypartattribute inside a slotted `` is exported throughc-select::part().Feat(c-button-group): The default size is 44px tall (36px buttons in a 4px frame), level with a `c-text-field`.
Fix(c-status): The default (untyped) pill is neutral (`surface-muted` / `on-surface-muted`) instead of primary-tinted.
Fix(c-modal): The `root` part carries `rounded-csc-xl` corners, matching `c-card`.
Fix(c-card): The `root` part no longer clips overflow.
Fix(c-checkbox): The message area is reserved like `c-input`'s to prevent layout shift when validation errors appear; `message` part is now that area.
Feat(c-login-button): New `image` slot (and `image-wrap` part) for custom logo markup instead of `src`.
Feat(c-select, c-text-field, c-autocomplete): `size="small"` renders a 36px field (new shared `CFieldSize` type; `c-input` gains the same `size` prop).
Docs: Example demos render on the card surface by default; canvas-level components (c-card, c-main, navigation chrome, login card) opt into the c-main canvas via `surface: canvas` in the canon example.