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.