47 lines
1.7 KiB
Plaintext
47 lines
1.7 KiB
Plaintext
import type { DevToolbarApp as DevToolbarAppDefinition } from '../../../@types/astro.js';
|
|
import { type Icon } from './ui-library/icons.js';
|
|
export type DevToolbarApp = DevToolbarAppDefinition & {
|
|
builtIn: boolean;
|
|
active: boolean;
|
|
status: 'ready' | 'loading' | 'error';
|
|
notification: {
|
|
state: boolean;
|
|
};
|
|
eventTarget: EventTarget;
|
|
};
|
|
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;
|
|
}
|
|
export declare class DevToolbarCanvas extends HTMLElement {
|
|
shadowRoot: ShadowRoot;
|
|
constructor();
|
|
connectedCallback(): void;
|
|
}
|
|
export declare function getAppIcon(icon: Icon): string;
|