Skip to main content

Panel Widgets

from v9.3

Panel widgets let you use components from the @deck.gl-community/panels module in deck.gl applications.

  • @deck.gl-community/panels owns PanelComponent, panels, containers, toolbar, toast, and their rendering behavior.
  • @deck.gl-community/widgets adapts those components to deck.gl's widget lifecycle.

Usage

Import components from @deck.gl-community/panels. Wrap any component in PanelWidget, or use one of the thin named adapters from @deck.gl-community/widgets.

Adapter API

See PanelWidget for the generic adapter and the concise named-adapter list.

Panel definitions

Use @deck.gl-community/panels for panel composition:

Composition patterns

  • Use PanelWidget when the application already has a PanelComponent instance.
  • Use named adapters for concise construction of built-in panel containers, toolbar, or toast.
  • Build panel content itself in @deck.gl-community/panels, then reuse the same definitions across standalone and deck hosts.

Renderer selection

When a surface needs to switch between WebGPU and WebGL while keeping a reusable luma device alive, use the widgets package's renderer-selection APIs:

  • DeviceManager owns shared backend state, cached devices, and canvas reparenting.
  • DeviceTabsWidget provides a deck.gl widget UI for switching the active backend.

This backend-selection layer is separate from panel composition, but it fits naturally beside panel widgets when an application needs both a control surface and a managed render device.