Component · Overlays
Popover
Anchored interactive surface for settings, filters, pickers, and details — OverlayStack placement, non-modal default with explicit modal policy, presentation contraction, and header/body/footer slots without forcing Panel.
- Kind
- widget
- Input
- interactive
- Canvas
- 120×40
Live preview
Static terminal poster. Choose Run live to start the Rust demo.
01 · Purpose
What it is for
Anchored interactive surface for settings, filters, pickers, and details — OverlayStack placement, non-modal default with explicit modal policy, presentation contraction, and header/body/footer slots without forcing Panel.
Best fit: Overlays · overlay · widget
02 · Behavior
What the mounted story proves
- 01
Popover
Representative 120×40 terminal state.
- 02
Passive paint
No keyboard or pointer action is claimed by this representative story.
- 03
Evidence stays explicit
5 covered · 8 partial · 4 missing axes.
03 · Implement
Install, then start from exact code
Install
cargo add termrock --git https://github.com/tailrocks/termrock.git --rev 5283c2acf9154d0cfcd37b1ffe821c00faf90ea2Add TermRock once. Keep domain effects in the host application.
Minimal implementation
Exact Rust setup used by popover/basic.
Open to load code.
04 · Adapt
Variants and composition
Variants
Use the preview Variant menu when alternate registered stories exist. Each selection mounts a fresh configuration.
Composition
Overlays · overlay · widget
05 · Reference
API, tokens, accessibility
API
PopoverOpen source ↗Tokens
DesignSystemInspect exact story code for roles and capability projection.Accessibility
Input contract mountedNo input claim in the representative story.Contract
Evidence in progress5/23 axes covered06 · Go deeper
Advanced guidance
Ownership boundary
TermRock owns reusable terminal rendering and interaction state. The host owns domain data, policy, persistence, authorization, and side effects.
Evidence status
5 covered, 8 partial, and 4 missing contract axes. Missing evidence is not a behavior claim.
Permission Prompt
Fail-safe permission/trust surface with default-deny focus.
Preview Card
Non-essential delayed resource preview (file/command/symbol/session) with metadata, loading/error, pin-to-open, and generation-gated async — never focus-stealing when unpinned; required facts must exist outside the card.