Shell: color field type (swatch picker) in tile settings and admin config

Renders <input type="color"> with the label beside it; the stored value is
always a #rrggbb string (3-digit hex widened, anything else falls back to
the schema default). Same styling in the gear popover and the admin form.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Waters Church
2026-09-10 16:31:46 -04:00
co-authored by Claude Fable 5.1
parent 4c5d7956ab
commit a71b14d755
4 changed files with 53 additions and 1 deletions
+3 -1
View File
@@ -64,7 +64,7 @@ shell code changes, ever.
Both schemas map field names to specs:
```
{ "type": "string" | "number" | "boolean" | "switch" | "select" | "password" | "endpoint",
{ "type": "string" | "number" | "boolean" | "switch" | "select" | "color" | "password" | "endpoint",
"label": "Shown next to the field",
"default": <value>,
"group": "Section heading", // optional; see below
@@ -78,6 +78,8 @@ Both schemas map field names to specs:
`boolean` renders as a checkbox; `switch` is the same true/false value shown
as a toggle (use it for a feature on/off that other fields depend on).
`color` renders a swatch picker and stores a `#rrggbb` string (give it a hex
default; the tile applies it as a CSS custom property — see `pco-plan`).
`group` gathers consecutive fields under a labeled subsection in the admin
page, so a module with several distinct concerns (e.g. a ProPresenter