Component · Overlays
Dialog
Canonical modal surface: title, description, body, actions, close policy, focus trap via OverlayStack, initial focus, opener restoration, scrolling, loading, validation; recipes normal/compact/wide/fullscreen/destructive; safe Enter (no accidental submit from body).
- 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
Canonical modal surface: title, description, body, actions, close policy, focus trap via OverlayStack, initial focus, opener restoration, scrolling, loading, validation; recipes normal/compact/wide/fullscreen/destructive; safe Enter (no accidental submit from body).
Best fit: Overlays · overlay · widget
02 · Behavior
What the mounted story proves
- 01
Dialog
Representative 120×40 terminal state.
- 02
Passive paint
No keyboard or pointer action is claimed by this representative story.
- 03
Evidence stays explicit
6 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 dialog/message.
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
DialogOpen source ↗Tokens
DesignSystemInspect exact story code for roles and capability projection.Accessibility
Input contract mountedNo input claim in the representative story.Contract
Evidence in progress6/23 axes covered06 · Go deeper
Advanced guidance
Authored implementation guidance
Ownership boundary
TermRock owns reusable terminal rendering and interaction state. The host owns domain data, policy, persistence, authorization, and side effects.
Evidence status
6 covered, 8 partial, and 4 missing contract axes. Missing evidence is not a behavior claim.