Modal
The classic case: a search overlay whose input mounts on open.
Side sheet
Slides in from the edge. The input exists only while open.
Deferred mount
The input arrives 800ms late, as if fetched. Handled by
handoverWhen, which waits for it.
Ready via class
The field is mounted from the start and only matches once a class lands on it — an attribute change, not a new node.
Enabled later
Starts disabled, the everyday shape of “still loading”.
A disabled field cannot take focus, so the selector excludes it.
Ready via state
Nothing in the DOM changes at all — only a variable flips. No selector could match that, so the target is a getter, polled per frame.
Never arrives
The failure mode on purpose: after the timeout the keyboard is dismissed instead of hovering over a field that never came.
Inline expand
No overlay at all — the field grows out of the button.