import * as _volo_ngx_lepton_x_core from '@volo/ngx-lepton-x.core'; import { LpxStyle, HasStyleFactory, DataStore, LpxNavbarItem, LpxCoreOptions, LpxStyleFactory, styleLoadFactory } from '@volo/ngx-lepton-x.core'; import * as rxjs from 'rxjs'; import * as i0 from '@angular/core'; import { InjectionToken, ModuleWithProviders, ChangeDetectorRef, Type, Injector, TemplateRef, Provider, EnvironmentProviders } from '@angular/core'; import * as i1 from '@angular/common'; import { SafeHtml, DomSanitizer } from '@angular/platform-browser'; interface LpxHttpError { errorPath?: string; } interface LpxThemeOptions { localStorageKey: string; disableSystemOption?: boolean; } type SystemKey = 'dark' | 'light'; interface LpxThemeStyleConfig { bundles: LpxStyle[]; styleName: string; defaultTheme?: boolean; label: string; icon: string; order?: number; systemKey?: SystemKey; } declare class LpxTheme implements LpxThemeStyleConfig { bundles: LpxStyle[]; styleName: string; defaultTheme?: boolean; label: string; icon: string; order?: number; systemKey?: SystemKey; constructor(args: LpxThemeStyleConfig); updateBundle(bundle: LpxStyle): void; addBundle(bundle: LpxStyle): void; deleteBundle(bundle: LpxStyle): void; } type LpxThemes = Array; interface LpxThemeModuleOptions extends LpxThemeOptions, HasStyleFactory { } declare const dimTheme: LpxTheme; declare const darkTheme: LpxTheme; declare const lightTheme: LpxTheme; declare const LPX_THEME_DEFAULTS: LpxThemeOptions; declare const LPX_THEME_STYLES_DEFAULTS: LpxThemes; declare const ThemeLinkElemId = "lpxTheme"; declare enum StyleNames { Dark = "dark", Dim = "dim", Light = "light", System = "system" } declare enum BundleNames { BootstrapDark = "bootstrap-dark", BootstrapDim = "bootstrap-dim", BootstrapLight = "bootstrap-light", Dark = "dark", Dim = "dim", Light = "light", Ng = "ng-bundle" } declare enum ThemeTranslateKeys { AppearanceTitle = "theme.settings.title", DarkMode = "theme.settings.darkMode", LightMode = "theme.settings.lightMode", SemiDarkMode = "theme.settings.semiDarkMode", System = "theme.settings.system" } type ThemeTranslateValues = { [key in ThemeTranslateKeys]: string; }; declare const ThemeTranslateDefaults: ThemeTranslateValues; declare class ThemeService { themeSettings: LpxThemeOptions; styles: LpxThemes; private injector; protected window: Window; private languageService; private styleService; private localStorageService; private cookieStorageService; private lpxAppStartedWithSsr; private platformId; readonly store: DataStore<{ styles: LpxTheme[]; selectedStyle: LpxTheme; }>; id: string; convertThemeToNavbarItem: (styles: LpxTheme[]) => LpxNavbarItem[]; get selectedStyle(): LpxThemeStyleConfig; selectedStyle$: rxjs.Observable; styles$: rxjs.Observable; stylesAsNavbarItems$: rxjs.Observable; stylesAsSettingsGroup$: rxjs.Observable<{ text: ThemeTranslateKeys; icon: string; id: string; children: LpxNavbarItem[]; }>; systemMediaQueryList: MediaQueryList; systemThemeChange$: rxjs.Observable; get currentSystemTheme(): "dark" | "light"; constructor(); getInitialTheme(): LpxTheme | undefined; createSystemOption(): void; initTheme(): Promise; setTheme(style?: LpxTheme): Promise; private getBundlesAndStyle; private activateStyle; private findLpxStyleByName; private setThemeClassToBody; private removeOldThemeStyles; private subscribeDirectionChange; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare const LPX_THEME_OPTIONS: InjectionToken; declare const LPX_THEMES: InjectionToken; declare const LPX_THEMES_FINAL: InjectionToken; declare function initTheme(): void; declare class LpxThemeModule { /** * @deprecated `LpxThemeModule.forRoot()` is deprecated. You can use `provideLpxTheme` **function** instead. */ static forRoot(options?: LpxThemeModuleOptions, defaultTheme?: string): ModuleWithProviders; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } interface LpxOptions extends LpxCoreOptions, HasStyleFactory { themeOptions?: LpxThemeModuleOptions; defaultTheme?: string; httpError?: LpxHttpError; } declare class CardFooterComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CardHeaderComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CardComponent { cardFooterTemplate?: CardFooterComponent; cardHeaderTemplate?: CardHeaderComponent; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class CardModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class ContextMenuHeaderComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ContextMenuComponent { protected readonly cdRef: ChangeDetectorRef; header?: ContextMenuHeaderComponent; private _visible; get visible(): boolean; set visible(value: boolean); open(): void; close(): void; toggle(status?: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ContextMenuActionGroupComponent { hostClass: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ContextMenuToggleDirective { lpxCtx: ContextMenuComponent; clickOnItem(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class LpxContextMenuModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } interface TopBarItem { action?: () => void; component?: Type; injector?: Injector; html?: string | SafeHtml; id: string | number; order?: number; template?: TemplateRef; visible?: () => boolean; } interface TopbarData { items: Array; } declare class TopbarContentService { protected store: DataStore; items$: rxjs.Observable; setItems(items: Array): void; addItem(item: TopBarItem): void; patchItem(itemId: string | number, item: Omit): void; removeItem(id: string | number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class TopbarContentComponent { topbarContent: TopbarContentService; sanitizer: DomSanitizer; injector: Injector; items$: rxjs.Observable; actionClick(item: TopBarItem): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class LpxTopbarContentModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class LpxModule { /** * @deprecated `LpxModule.forRoot()` is deprecated. You can use `provideLpx` **function** instead. */ static forRoot(options?: LpxOptions): ModuleWithProviders; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare const getLpxProStyleProviders: (styleFactory?: LpxStyleFactory) => (i0.EnvironmentProviders | { provide: i0.InjectionToken<_volo_ngx_lepton_x_core.LpxStyles>; deps: i0.InjectionToken<_volo_ngx_lepton_x_core.LpxStyles>[]; useFactory: typeof styleLoadFactory; })[]; declare enum LpxFeatureKind { Options = 0, DefaultTheme = 1 } interface LpxFeature { ɵkind: KindT; ɵproviders: (Provider | EnvironmentProviders)[]; } declare function withLpxThemeDefaults(defaultTheme?: string): LpxFeature; declare function withLpxThemeOptions(options?: LpxThemeModuleOptions): LpxFeature; /** * @description Provides the core LPX theme functionality including: * - Theme service initialization * - Default theme translation tokens */ declare function provideLpxTheme(...features: LpxFeature[]): EnvironmentProviders; declare function withLpxOptions(options?: LpxOptions): LpxFeature; /** * @description Provides the complete LPX functionality by combining all specified features. * Acts as the main entry point for LPX configuration. * */ declare function provideLpx(...features: LpxFeature[]): EnvironmentProviders; export { BundleNames, CardComponent, CardFooterComponent, CardHeaderComponent, CardModule, ContextMenuActionGroupComponent, ContextMenuComponent, ContextMenuHeaderComponent, ContextMenuToggleDirective, LPX_THEMES, LPX_THEMES_FINAL, LPX_THEME_DEFAULTS, LPX_THEME_OPTIONS, LPX_THEME_STYLES_DEFAULTS, LpxContextMenuModule, LpxFeatureKind, LpxModule, LpxTheme, LpxThemeModule, LpxTopbarContentModule, StyleNames, ThemeLinkElemId, ThemeService, ThemeTranslateDefaults, ThemeTranslateKeys, TopbarContentComponent, TopbarContentService, darkTheme, dimTheme, getLpxProStyleProviders, initTheme, lightTheme, provideLpx, provideLpxTheme, withLpxOptions, withLpxThemeDefaults, withLpxThemeOptions }; export type { LpxFeature, LpxHttpError, LpxOptions, LpxThemeModuleOptions, LpxThemeOptions, LpxThemeStyleConfig, LpxThemes, SystemKey, ThemeTranslateValues, TopBarItem };