UNPKG

@cauca-911/menu

Version:

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

175 lines (162 loc) 6.79 kB
import * as i0 from '@angular/core'; import { Signal, WritableSignal, Type, Provider, EnvironmentProviders, InjectionToken } from '@angular/core'; declare class LoggedInLayoutComponent { isLoggedOn: i0.Signal<boolean>; 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>; showBottomLogo: Signal<boolean>; topLogo: Signal<string>; smallLogo: Signal<string>; private readonly caucaLogo; private readonly caucaEnglishLogo; private readonly screenSize; private readonly logoProvider; private readonly currentLanguage; private readonly caucaLogoToUse; 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>; } interface MenuLogoProvider { logo: Signal<string>; } declare class DefaultMenuLogoProvider implements MenuLogoProvider { logo: Signal<string>; } 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 { showLoginButton: i0.WritableSignal<boolean>; private readonly router; login(): void; 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>; } interface HeaderLink { id: string; icon: string; title: string; url: string; } interface GenericMenuManager { options: Signal<GenericMenu[]>; } interface GenericMenu { id: string; label: string; icon: string; type: 'separator' | 'item' | 'submenu'; action: () => void; children: GenericMenu[]; translateLabel?: boolean; } interface GenericMenuOption { id: string; label: string; icon: string; translateLabel?: boolean; } declare function provideCaucaMenu(option: CaucaMenuOptions): (Provider | EnvironmentProviders); interface CaucaMenuOptions { applicationVersion: string; logoPath?: string; englishLogoPath?: string; menuItemsProvider: Type<MenuItemsProvider>; logoutHandler: Type<LogoutHandler>; loginState: Type<LoginState>; headerLinkLoader?: Type<HeaderLinkLoader>; showLoginButtonInHeader?: boolean; showSpanishLanguageOption?: boolean; genericMenuProvider?: Type<GenericMenuManager>; logoProvider?: Type<MenuLogoProvider>; allowPasswordChange?: boolean; } interface InternalCaucaMenuOptions { showLoginButtonInHeader: boolean; showSpanishLanguageOption: boolean; } declare const APP_VERSION_TOKEN: InjectionToken<string>; declare const LOGO_PATH_TOKEN: InjectionToken<string>; declare const ENGLISH_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>; declare const HEADER_LINK_LOADER_TOKEN: InjectionToken<HeaderLinkLoader>; declare const INTERNAL_CAUCA_MENU_OPTIONS_TOKEN: InjectionToken<InternalCaucaMenuOptions>; declare const GENERIC_MENU_PROVIDER_TOKEN: InjectionToken<GenericMenuManager>; declare const MENU_LOGO_PROVIDER_TOKEN: InjectionToken<MenuLogoProvider>; declare const ALLOW_PASSWORD_CHANGE_TOKEN: InjectionToken<boolean>; interface MenuItemsProvider { items: Signal<SideMenuItemOption[]>; } interface LogoutHandler { logoutWithMessage(): Promise<void>; logout(): Promise<void>; } interface HeaderLinkLoader { getLinks(): Promise<HeaderLink[]>; } interface LoginState { userFullName: Signal<string>; username: Signal<string>; userId: Signal<string>; isLoggedOn: Signal<boolean>; } export { ALLOW_PASSWORD_CHANGE_TOKEN, APP_VERSION_TOKEN, DefaultMenuLogoProvider, ENGLISH_LOGO_PATH_TOKEN, GENERIC_MENU_PROVIDER_TOKEN, HEADER_LINK_LOADER_TOKEN, HeaderBarComponent, INTERNAL_CAUCA_MENU_OPTIONS_TOKEN, LOGIN_STATE_TOKEN, LOGOUT_HANDLER_TOKEN, LOGO_PATH_TOKEN, LoggedInLayoutComponent, LoggedOutUserHeaderComponent, MENU_ITEMS_PROVIDER_TOKEN, MENU_LOGO_PROVIDER_TOKEN, MENU_STATE_KEY, MenuSeparatorComponent, MenuStateService, ScreenSizeService, SideMenuComponent, UserAgentReaderService, provideCaucaMenu }; export type { CaucaMenuOptions, GenericMenu, GenericMenuManager, GenericMenuOption, HeaderLink, HeaderLinkLoader, InternalCaucaMenuOptions, LoginState, LogoutHandler, MenuItemsProvider, MenuLogoProvider, SideMenuItemOption };