/** @jsxImportSource preact */ import { Widget } from '@deck.gl/core'; import type { WidgetContainer, WidgetPanel } from "./widget-containers.js"; import type { WidgetPlacement, WidgetProps } from '@deck.gl/core'; /** Sidebar widget properties. */ export type SidebarWidgetProps = WidgetProps & { /** Trigger icon alias for legacy compatibility. */ icon?: string; /** The content container to show in the sidebar. */ container?: WidgetContainer; /** Optional shorthand panel. When supplied, shown directly inside the sidebar. */ panel?: WidgetPanel; /** Preferred sidebar edge. */ side?: 'left' | 'right'; /** Sidebar width in pixels. */ widthPx?: number; /** Container placement inside the selected widget container. */ placement?: WidgetPlacement; /** Sidebar header title. */ title?: string; /** Uncontrolled default open state. */ defaultOpen?: boolean; /** * Controlled open state. If supplied, callers own open/closed state. */ open?: boolean; /** Called when user intent changes open/closed state. */ onOpenChange?: (open: boolean) => void; /** Optional trigger label. */ triggerLabel?: string; /** Optional trigger icon. Defaults to a panel-like glyph. */ triggerIcon?: string; /** * Hides the trigger. Useful when trigger is implemented externally. */ hideTrigger?: boolean; /** * Whether to render the built-in icon trigger button. * If false, a text trigger button is used unless hidden. */ button?: boolean; }; /** * A reusable deck widget that renders a side-anchored panel with configurable container content. */ export declare class SidebarWidget extends Widget { #private; static defaultProps: Required; className: string; placement: WidgetPlacement; side: 'left' | 'right'; widthPx: number; title: string | undefined; triggerLabel: string; hideTrigger: boolean; triggerIcon: string; button: boolean; isOpen: boolean; constructor(props?: Partial); setProps(props: Partial): void; onAdd(): void; onRemove(): void; onRenderHTML(rootElement: HTMLElement): void; } //# sourceMappingURL=sidebar-widget.d.ts.map