feat: add field component

This commit is contained in:
2026-11-03 19:07:15 +07:00
parent 7399d92f36
commit 0c8d7f05d4
6 changed files with 404 additions and 7 deletions
+4 -6
View File
@@ -8,10 +8,8 @@ is the first downstream consumer; its screens drive the order.
## Next
- [ ] **Spinner** (`core`) — the loading ring, indeterminate + determinate;
painted-ring and rotating-icon variants.
Replaces `Tab::busy`'s placeholder ring; land before signed wires repo
loading into dock tabs.
- [ ] **Field wrapper** (M9) — label / description / error around any control;
the settings dialog.
- [x] API sketch
- [x] Implementation (theme-baked, motion inline per AGENTS.md)
- [x] Tests
@@ -20,8 +18,6 @@ is the first downstream consumer; its screens drive the order.
## Queue — to follow
- [ ] **Field wrapper** (M9) — label / description / error around any control;
the settings dialog.
- [ ] **Tag** (M10) — removable server and relay entries.
- [ ] **Status dot** (M11) — sync-drift beads on rows.
- [ ] **Combobox** (M12) — type-to-filter pickers; adopt gpuikit's
@@ -59,6 +55,8 @@ is the first downstream consumer; its screens drive the order.
- [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
determinate; replaces `Tab::busy`'s placeholder
- [x] Input — single-line, password with reveal, multiline, undo/redo, actions
+ key context, caret blink
- [x] ScrollArea, Popover, Menu, Tooltip, Dialog / AlertDialog, Toast,