import type { CSSResultGroup } from 'lit'; import DSAIcon from '../icon/icon'; import DSAPopup from '../popup/popup'; import { ShoelaceElement } from '../../internal/shoelace-element'; /** * @summary Navbar Menu provides a button that toggles the visibility of a list of links. * @documentation https://dsa.service-public-autonomie.fr/latest/librairie-webcomponents/navbar-barre-de-navigation/web-tfBwwgHF * * @dependency dsa-icon * @dependency dsa-popup * * @slot - The navbar-menu's content, a dsa-menu-navigation element. * @slot label - The navbar-menu's label. You can also use the `label` attribute. * * @event dsa-show - Emitted when the navbar-menu opens. * @event dsa-after-show - Emitted after the navbar-menu opens and all animations are complete. * @event dsa-hide - Emitted when the navbar-menu closes. * @event dsa-after-hide - Emitted after the navbar-menu closes and all animations are complete. * */ export default class DSANavbarMenu extends ShoelaceElement { static styles: CSSResultGroup; static dependencies: { 'dsa-icon': typeof DSAIcon; 'dsa-popup': typeof DSAPopup; }; private readonly hasSlotController; private readonly localize; popup: DSAPopup; menuButton: HTMLElement; body: HTMLElement; private slotLabelText; /** * Indicates whether or not the navbar-menu is open. You can toggle this attribute to show and hide the navbar-menu, or you * can use the `show()` and `hide()` methods and this attribute will reflect the navbar-menu' open state. */ open: boolean; /** The label of the navbar-menu. If you need to display HTML, use the `label` slot instead. */ label: string; /** Whether the navbar-menu should be displayed on mobile. Inherited from the dsa-navbar parent */ mobile: boolean; connectedCallback(): void; private addOpenListeners; private removeOpenListeners; private handleFocus; private handleBlur; private handleDocumentFocusIn; private handleDocumentKeyDown; private handleDocumentMouseDown; private handleMenuButtonMouseDown; private handleMenuButtonKeyDown; private handleLabelSlotChange; private getDesktopLabel; handleOpenChange(): Promise; /** Shows the navbar-menu. */ show(): Promise; /** Hides the navbar-menu */ hide(): Promise; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'dsa-navbar-menu': DSANavbarMenu; } }