UNPKG

astro

Version:

Astro is a modern site builder with web best practices, performance, and DX front-of-mind.

51 lines (50 loc) 1.97 kB
import type { ResolvedDevToolbarApp as DevToolbarAppDefinition } from '../../../types/public/toolbar.js'; import { type ToolbarAppEventTarget } from './helpers.js'; import { type Icon } from './ui-library/icons.js'; import type { Placement } from './ui-library/window.js'; export type DevToolbarApp = DevToolbarAppDefinition & { builtIn: boolean; active: boolean; status: 'ready' | 'loading' | 'error'; notification: { state: boolean; level?: 'error' | 'warning' | 'info'; }; eventTarget: ToolbarAppEventTarget; }; export declare class AstroDevToolbar extends HTMLElement { shadowRoot: ShadowRoot; delayedHideTimeout: number | undefined; devToolbarContainer: HTMLDivElement | undefined; apps: DevToolbarApp[]; hasBeenInitialized: boolean; customAppsToShow: number; constructor(); /** * All one-time DOM setup runs through here. Only ever call this once, * in connectedCallback(), and protect it from being called again. */ init(): void; connectedCallback(): void; attachEvents(): void; initApp(app: DevToolbarApp): Promise<void>; getAppTemplate(app: DevToolbarApp): string; getAppById(id: string): DevToolbarApp | undefined; getAppCanvasById(id: string): HTMLElement | null; getAppButtonById(id: string): HTMLElement | null; toggleAppStatus(app: DevToolbarApp): Promise<void>; setAppStatus(app: DevToolbarApp, newStatus: boolean): Promise<boolean>; isHidden(): boolean; getActiveApp(): DevToolbarApp | undefined; clearDelayedHide(): void; triggerDelayedHide(): void; setToolbarVisible(newStatus: boolean): void; setNotificationVisible(newStatus: boolean): void; setToolbarPlacement(newPlacement: Placement): void; } export declare class DevToolbarCanvas extends HTMLElement { shadowRoot: ShadowRoot; constructor(); connectedCallback(): void; } export declare function getAppIcon(icon: Icon): string;