1 viewer
Back to Components
Component · Overlay

BottomSheet

Focus-managed bottom sheet for compact-screen creation and action flows.

Category
Overlay
Slots
7
States
4
Writer
Shared
cre8.primitive.bottom-sheet

Preview

Live renderShared SSR + WASM writers
<BottomSheet title="Available Options" trigger="Open Mobile Options">
  <Text
    text="Contextual actions anchored to the viewport bottom on mobile."
  />
</BottomSheet>

Anatomy

The named parts of the rendered markup. Recipes style these hooks, and every renderer keeps them stable.

SlotDOM class
root.primitive-bottom-sheet
backdrop—
handle—
header—
title—
close—
body—
7 rows

States and platforms

The states the contract publishes, the platforms it declares, and the style recipes that dress it.

States
openclosedpersistenttitle-less
Platforms
webnativeruntime-node
Recipes
unstyledruntime-console

Renderers

Shared writer
BottomSheet renders through the one writer the server and the WASM DOM share, so both emit the same markup.

Every tag in the example above renders through a shared writer.

Declared adapters. A status is the manifest's declaration, not a measured parity result.

TargetRendererStatus
webreactexperimental
runtime-nodeview-nodeready
ssrhtml-semanticready
terminalterminal-textplanned
nativenative-adapterexperimental
5 rows

Accessibility

Uses dialog semantics while anchoring the panel to the bottom edge.

  • Dialog has role=dialog, aria-modal, and either a visible title or an aria-label.
  • Escape and backdrop dismiss return focus to the triggering control unless the sheet explicitly disables those accidental-dismiss paths.