Defines a panel that can be rendered in the UI at various breakpoints.
Type: string
Required
Unique panel identifier. Use this ID to associate a button with the panel via the panelId property.
Type: string
Required
Accessible label. Used as the panel heading.
Type: PanelBreakpointConfig
Required
Mobile breakpoint configuration. See Breakpoint Configuration below.
Type: PanelBreakpointConfig
Required
Tablet breakpoint configuration. See Breakpoint Configuration below.
Type: PanelBreakpointConfig
Required
Desktop breakpoint configuration. See Breakpoint Configuration below.
Type: ComponentType
A React/Preact component to render as the panel content. Receives Context as props (or PluginContext when used in a plugin manifest).
const MyPanelContent = ({ context }) => {
const { pluginState } = context
return <div>Panel content here</div>
}Note
Use render when defining panels in a plugin manifest. For API methods like addPanel(), use html instead.
Type: string
HTML content to render in the panel.
Note
Use html when adding panels via API methods like addPanel(). For plugin manifests with dynamic content, use render instead.
Each breakpoint (mobile, tablet, desktop) accepts the following properties:
Type: string
Required
The slot where the panel should appear at this breakpoint. Slots are named regions in the UI layout.
Type: boolean
Whether the panel can be dismissed (closed) by the user. When false and open is true, the panel is always visible at this breakpoint and any associated panel-toggle button is automatically suppressed.
Type: boolean
Whether the panel is exclusive. An exclusive panel will hide other panels when it becomes visible.
Type: boolean
Whether the panel is open. When true and combined with dismissible: false, the panel is always visible at this breakpoint and will be restored automatically when the breakpoint is entered.
Type: boolean
Default: true
Whether to show the panel heading. If false, the heading is visually hidden but remains accessible to screen readers.
Type: boolean
Whether the panel is modal. A modal panel overlays the map and requires user interaction to dismiss.
Type: string
Panel width. Accepts any valid CSS width value (e.g., '300px', '50%').