1 viewer
Back to Components
Component · Visualization

ClientIsland

SSR fallback shell for browser-only components loaded from a client bundle.

Category
Visualization
Slots
2
States
3
Writer
Shared
cre8.primitive.client-island

Preview

Live renderShared SSR + WASM writers
Interactive content requires its registered client binding.
<ClientIsland
  component="ExampleIsland"
  fallback="Interactive content requires its registered client binding."
  props={{ title: "Component preview" }}
/>

Anatomy

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

SlotDOM class
root.primitive-client-island
fallback—
2 rows
State attribute
data-cre8-islandfrom the component prop
Hydration markers
data-cre8-island

States and platforms

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

States
loadinginteractivefailed
Platforms
webruntime-nodecanvas
Recipes
unstyledruntime-console

Renderers

Shared writer
ClientIsland 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-visualization-placeholderready
terminalterminal-textplanned
canvascanvas-adapterexperimental
5 rows

Accessibility

Semantic structure must stay available without visual styling.

  • Expose meaningful names for interactive controls.
  • Keep keyboard and pointer behavior equivalent where the platform supports it.
  • Publish state with native semantics and data attributes where the adapter supports them.