← ClaudeAtlas

lonja-forms-and-controlslisted

Enforces the Lonja input controls as printed instruments rather than Material chrome — the search field as a ruled entry line with a 1.5px ink hairline and BorderRadius.zero instead of a filled rounded box, square LonjaSwitch toggles because paper has no pills, LonjaSegmented as ruled cells sharing one divider, LonjaStepper and the big LonjaKeypad for manual length entry set in mono tabular figures, LonjaTargets.control at 56dp rising to 66dp under glove mode with 8dp separation for wet hands, serif value text over ink-faint italic hintText that never carries meaning typing destroys, and a species field that never rewrites the user's Arabic or diacritics. Use when building a search field, adding a toggle or segmented picker, wiring the numeric keypad, sizing a hit area for glove mode, writing placeholder or unit copy, styling InputDecoration, or reviewing any control in a diff.
zakariaf/CatchLaw · ★ 0 · API & Backend · score 55
Install: claude install-skill zakariaf/CatchLaw
# Lonja Forms and Controls A control in CATCHLAW is not a widget that collects data; it is **an instrument printed on the page** — a ruled entry line, a stamped cell, a numbered key — operated at 05:40 with wet hands, a live fish in the bin and ten seconds. This skill owns the Lonja *values* and the *physical-context* rules for search fields, toggles, segmented pickers, steppers and the numeric keypad. It owns nothing about form mechanics. Read the reference for the task at hand: - `references/control-anatomy.md` — control inventory, ground and rule weights, state matrix, glove and sunlight re-encoding, banned Material defaults. - `references/search-field-and-keypad.md` — search field anatomy, script and diacritic handling, keypad layout, keypad-before-calibration contract, unit and hint copy. Run `scripts/check_lonja_controls.sh` before a PR. `Form`, `GlobalKey<FormState>`, sync-vs-async validators, `FocusNode` traversal, `TextInputFormatter` policy and controller disposal are owned entirely by `forms-and-input` and are NEVER restated here; this skill governs only what a control looks like, how big it is, and what it is allowed to say. ## Non-negotiable rules 1. **Every control is a ruled line or a ruled cell — never a pill.** Corners are `BorderRadius.zero` and the side is `1.5` logical pixels of `ink` `#16201C`; the largest radius the system tolerates anywhere is `2`. `scripts/check_lonja_controls.sh` fails any `BorderRadius.circular(` above `2`. **WHY:*