UNPKG

@cauca-911/menu

Version:

Run `npm install @cauca-911/menu --save` to add this library to your project

110 lines (99 loc) 4.46 kB
import * as i0 from '@angular/core'; import { Signal, WritableSignal, Type, Provider, EnvironmentProviders, InjectionToken } from '@angular/core'; declare class LoggedInLayoutComponent { static ɵfac: i0.ɵɵFactoryDeclaration<LoggedInLayoutComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<LoggedInLayoutComponent, "cauca-logged-in-layout", never, {}, {}, never, never, true, never>; } declare class HeaderBarComponent { static ɵfac: i0.ɵɵFactoryDeclaration<HeaderBarComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<HeaderBarComponent, "cauca-header-bar", never, {}, {}, never, never, true, never>; } declare const MENU_STATE_KEY = "menuState"; interface SideMenuItemOption { label: string; icon: string; route: string; children?: SideMenuItemOption[]; isParent?: boolean; } declare class MenuStateService { version: Signal<string>; isOpen: WritableSignal<boolean>; isPinned: WritableSignal<boolean>; isExpanded: Signal<boolean>; isShowingMenuItems: WritableSignal<boolean>; menuItems: Signal<SideMenuItemOption[]>; currentUrl: WritableSignal<string>; displayMenu: Signal<boolean>; showHeaderMenuButton: Signal<boolean>; showPinButton: Signal<boolean>; caucaLogo: string; private readonly screenSize; setCurrentUrl(url: string): void; getVersion(applicationVersion: string): string; togglePin(): void; toggleMenu(): void; onMouseOver(): void; onMouseLeave(): void; hideMenuItems(): void; showMenuItems(): void; private getInitialPinState; static ɵfac: i0.ɵɵFactoryDeclaration<MenuStateService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<MenuStateService>; } declare class SideMenuComponent { readonly menu: MenuStateService; constructor(); onMouseHover(): void; onMouseOut(): void; static ɵfac: i0.ɵɵFactoryDeclaration<SideMenuComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<SideMenuComponent, "cauca-side-menu", never, {}, {}, never, never, true, never>; } declare class MenuSeparatorComponent { static ɵfac: i0.ɵɵFactoryDeclaration<MenuSeparatorComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<MenuSeparatorComponent, "cauca-menu-separator", never, {}, {}, never, never, true, never>; } declare class LoggedOutUserHeaderComponent { static ɵfac: i0.ɵɵFactoryDeclaration<LoggedOutUserHeaderComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<LoggedOutUserHeaderComponent, "cauca-logged-out-user-header", never, {}, {}, never, never, true, never>; } declare class ScreenSizeService { isSmallScreen: i0.Signal<boolean>; isMobile: i0.WritableSignal<boolean>; isCompact: i0.Signal<boolean>; constructor(); private is; static ɵfac: i0.ɵɵFactoryDeclaration<ScreenSizeService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<ScreenSizeService>; } declare class UserAgentReaderService { getUserAgent(): string; static ɵfac: i0.ɵɵFactoryDeclaration<UserAgentReaderService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<UserAgentReaderService>; } declare function provideCaucaMenu(option: CaucaMenuOptions): (Provider | EnvironmentProviders); interface CaucaMenuOptions { applicationVersion: string; logoPath?: string; menuItemsProvider: Type<MenuItemsProvider>; logoutHandler: Type<LogoutHandler>; loginState: Type<LoginState>; } declare const APP_VERSION_TOKEN: InjectionToken<string>; declare const LOGO_PATH_TOKEN: InjectionToken<string>; declare const MENU_ITEMS_PROVIDER_TOKEN: InjectionToken<MenuItemsProvider>; declare const LOGOUT_HANDLER_TOKEN: InjectionToken<LogoutHandler>; declare const LOGIN_STATE_TOKEN: InjectionToken<LoginState>; interface MenuItemsProvider { items: Signal<SideMenuItemOption[]>; } interface LogoutHandler { logoutWithMessage(): Promise<void>; logout(): Promise<void>; } interface LoginState { userFullName: Signal<string>; username: Signal<string>; } export { APP_VERSION_TOKEN, HeaderBarComponent, LOGIN_STATE_TOKEN, LOGOUT_HANDLER_TOKEN, LOGO_PATH_TOKEN, LoggedInLayoutComponent, LoggedOutUserHeaderComponent, MENU_ITEMS_PROVIDER_TOKEN, MENU_STATE_KEY, MenuSeparatorComponent, MenuStateService, ScreenSizeService, SideMenuComponent, UserAgentReaderService, provideCaucaMenu }; export type { CaucaMenuOptions, LoginState, LogoutHandler, MenuItemsProvider, SideMenuItemOption };