audit input
This commit is contained in:
+18
-9
@@ -9,17 +9,14 @@ is the first downstream consumer; its screens drive the order.
|
||||
|
||||
## Next
|
||||
|
||||
- [ ] **Input platform chrome** — field border behind
|
||||
`Theme::borders.fields`; focus split between the ring shadow and
|
||||
border recolor via `Theme::borders.focus_ring`.
|
||||
- [ ] **Select platform chrome** — the input treatment on the trigger; the
|
||||
popup border behind `Theme::borders.overlays`.
|
||||
|
||||
## Queue — to follow
|
||||
|
||||
Platform metric adoption continues one component at a time; each stop goes
|
||||
through the review gate and a gallery pass.
|
||||
|
||||
- [ ] **Select platform chrome** — the input treatment on the trigger; the
|
||||
popup border behind `Theme::borders.overlays`.
|
||||
- [ ] **Menu platform chrome** — overlay border gate; paddings, separators,
|
||||
and the row min-height through `Theme::spacing` and the stated menu
|
||||
row height.
|
||||
@@ -87,13 +84,25 @@ Gaps surfaced by the signed comparison; ordered by signed's usage.
|
||||
|
||||
### core (`crates/core`)
|
||||
|
||||
- [x] Button platform chrome — the filled variants' 1px border gated behind
|
||||
`Theme::borders.buttons` (Windows / KDE keep it, macOS / GNOME paint
|
||||
fills, ghost stays borderless); icon-bearing buttons pad with
|
||||
`dense_padding_x` instead of `padding_x`
|
||||
- [x] Button platform chrome — every variant always paints the hairline
|
||||
border, sized outside the stated control height (`BORDER_WIDTH`); where
|
||||
the platform paints no border (`Theme::borders.buttons`, ghost) the
|
||||
border takes the fill's color and disappears, so sizes match across
|
||||
platforms; icon-bearing buttons pad with `dense_padding_x` instead of
|
||||
`padding_x`
|
||||
- [x] Button loading state — `.loading(true)` shows the spinner in place of
|
||||
the icon and suppresses activation; Spinner gained a `.color` override
|
||||
for accent-filled surfaces
|
||||
- [x] Input platform chrome — the field always paints the hairline border,
|
||||
sized outside the stated field height; where the platform paints no
|
||||
border (`Theme::borders.fields`) it takes the field's fill; focus
|
||||
recolors the border on Windows / KDE and paints the accent ring on
|
||||
macOS / GNOME via `Theme::borders.focus_ring`; the shared `focus_ring`
|
||||
band paints at half ink (every focusable control picks it up)
|
||||
- [x] Input prefix / suffix — elements docked inside the field's edges,
|
||||
typically small ghost buttons; a docked click activates the control
|
||||
without reaching the field's caret handler, and the text region shrinks
|
||||
to make room
|
||||
- [x] Button, Checkbox, Switch, Radio + RadioGroup, Toggle, Link, Slider,
|
||||
Progress, Avatar (image + seeded pixel-art fallback)
|
||||
- [x] Spinner — painted ring + rotating-icon variant, indeterminate and
|
||||
|
||||
Reference in New Issue
Block a user