Signal tooltip
One custom element wires pointer intent, keyboard focus, dismissal, and descriptive ARIA.
<floating-reference> + <floating-content>Custom elements for precise positioning and dependable
keyboard, pointer, and focus interactions.
Every card composes Lit-powered custom elements inside Astro-rendered HTML. No Floating UI directive is exposed to consumers.
One custom element wires pointer intent, keyboard focus, dismissal, and descriptive ARIA.
<floating-reference> + <floating-content>The trigger and panel are composed declaratively through named slots.
ARIA and outside-press behavior are owned by the component.
<floating-portal> + <floating-content>Arrow keys, looping, and typeahead share one list registry. Try typing “signal”.
plugins = [click(), listNavigation(), typeahead()]Open “Move to project” with click or ArrowRight. Escape returns focus to its parent item.
<floating-tree> + <floating-node>Move across the field. A virtual reference follows the pointer instead of the whole element.
<floating-root> + clientPoint()Search by city, country, local script, alias, or forgiving typo.
Destination suggestions closed
SearchController + <floating-root> + listNavigation()Choose every side and alignment without repeating string literals.
<floating-root placement="bottom-start">Open this one to feel the shared focus trap, inert neighbors, Escape dismissal, and focus restoration.
Nested surfaces keep their own dismissal step. Escape closes the topmost surface before this room.
Escape and outside press dismiss only this panel first.
Close this layer to resume the parent dialog.