@sandlada/vue-mdc
Version:

41 lines • 1.81 kB
TypeScript
/**
* @license
* Copyright 2025 Sandlada & Kai Orion
* SPDX-License-Identifier: MIT
*/
import { ENavigationDrawerState } from './navigation-state';
export declare const SNavigationDrawerController: unique symbol;
export interface INavigationDrawerControllerHost extends HTMLElement {
[SNavigationDrawerController]: INavigationDrawerController;
}
export interface INavigationDrawerIndicatorControllerHost extends HTMLButtonElement {
}
export interface INavigationDrawerController {
show: () => void;
close: () => void;
state: ENavigationDrawerState;
indicatorElements: Array<INavigationDrawerIndicatorControllerHost>;
activeIndicatorElement: INavigationDrawerIndicatorControllerHost | undefined;
setActiveIndicatorByLabel: (label: string) => void;
setActiveIndicatorByOrder: (order: number) => void;
setActiveIndicatorByElement: (element: HTMLElement) => void;
}
export declare class NavigationDrawerController implements INavigationDrawerController {
private _host;
show: () => void;
close: () => void;
constructor(_host: INavigationDrawerControllerHost, show: () => void, close: () => void);
get host(): INavigationDrawerControllerHost;
get state(): ENavigationDrawerState;
private get dialogElement();
private get containerElement();
private get scrollerElement();
private get contentWrapperElement();
private get contentElement();
get indicatorElements(): Array<INavigationDrawerIndicatorControllerHost>;
get activeIndicatorElement(): INavigationDrawerIndicatorControllerHost | undefined;
setActiveIndicatorByLabel(label: string): void;
setActiveIndicatorByOrder(order: number): void;
setActiveIndicatorByElement(element: HTMLElement): void;
}
//# sourceMappingURL=navigation-drawer-controller.d.ts.map