fix(clip): typed times belong to their value, and every mark on the player chrome can be seen
TimecodeField drops a draft when the value moves under it (another segment selected, a nudge), so leaving the field never commits it to another cut; it is invalid only once offered, with a line under it saying how to type a time. On the always-dark chrome media-scope points every focus ring at --media-mark and errors at the new --media-danger (a light theme's accent and danger were under 3:1 there). A track whose dragged handle unmounts ends the drag on the pointer's release instead of locking up; a remove refused while clips are queued leaves no focus to take later; each remove-cut button names its cut and is a 24px target. DESIGN.md records the media tokens; stale comments fixed.
This commit is contained in:
@@ -25,13 +25,14 @@ const SIZES: Record<FieldSize, string> = {
|
||||
};
|
||||
|
||||
// The edge is --edge-strong (the fg mixed 55% into the bg, ≥ 3:1 on every scheme — WCAG 1.4.11); focus
|
||||
// turns it into a 2px accent edge (the border plus a 1px ring), the outlined-field convention. Invalid
|
||||
// turns it into a 2px accent edge (the border plus a 1px ring; `focus`, so a scope over another ground
|
||||
// can name its own, see media-scope), the outlined-field convention. Invalid
|
||||
// is the danger edge, focused or not. A wrapper frame keys both states to its own INPUT, not to any
|
||||
// descendant: the header search's Go button is disabled while the query is empty, and a bare
|
||||
// `has-disabled:` faded the whole box. On a coarse pointer the box grows to the 44 touch target.
|
||||
const BASE =
|
||||
"min-w-0 border edge-strong text-fg placeholder:text-muted transition-colors " +
|
||||
"focus-within:border-accent focus-within:ring-1 focus-within:ring-accent focus-within:outline-hidden " +
|
||||
"focus-within:border-focus focus-within:ring-1 focus-within:ring-focus focus-within:outline-hidden " +
|
||||
"aria-invalid:border-danger aria-invalid:ring-danger " +
|
||||
"has-[input[aria-invalid=true]]:border-danger has-[input[aria-invalid=true]]:ring-danger " +
|
||||
"disabled:cursor-not-allowed disabled:opacity-50 " +
|
||||
|
||||
Reference in New Issue
Block a user