@volo/ngx-lepton-x.core 4.2.0-rc.1 → 4.2.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -532,11 +532,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImpor
532
532
 
533
533
  class RoutesService {
534
534
  constructor() {
535
- this.location = inject(Location);
536
535
  this.router = inject(Router);
537
- this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd),
538
- //TODO: location object might be problem in the future for SSR
539
- map(() => this.location.path())), { initialValue: this.location.path() });
536
+ this.location = inject(Location);
537
+ this.currentNavigation = toSignal(this.router.events.pipe(filter((e) => e instanceof NavigationEnd), map(() => this.location.path() || '/')), { initialValue: this.location.path() || '/' });
540
538
  }
541
539
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
542
540
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: RoutesService, providedIn: 'root' }); }
@@ -1 +1 @@
1
- {"version":3,"file":"volo-ngx-lepton-x.core.mjs","sources":["../../../../libs/lepton-x-core/src/lib/services/language/tokens.ts","../../../../libs/lepton-x-core/src/lib/utils/data-store.ts","../../../../libs/lepton-x-core/src/lib/services/language/language-translate-keys.enum.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.module.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.token.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.component.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.module.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.html","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.module.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/utils/common.ts","../../../../libs/lepton-x-core/src/lib/utils/tree-utils.ts","../../../../libs/lepton-x-core/src/lib/consts/others-group.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/logo-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/services/route/routes.service.ts","../../../../libs/lepton-x-core/src/lib/directives/visible.directive.ts","../../../../libs/lepton-x-core/src/lib/animations/collapse.animations.ts","../../../../libs/lepton-x-core/src/lib/services/user-profile/user-profile.service.ts","../../../../libs/lepton-x-core/src/lib/services/body/body.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/default-translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/default-auth.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/auth/providers.ts","../../../../libs/lepton-x-core/src/lib/services/local-storage/local-storage.service.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.pipe.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.html","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.module.ts","../../../../libs/lepton-x-core/src/lib/pipes/safe-html/safe-html.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.module.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.service.ts","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb-route-listener.service.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../../libs/lepton-x-core/src/lib/services/translate/providers.ts","../../../../libs/lepton-x-core/src/lib/style/tokens.ts","../../../../libs/lepton-x-core/src/lib/style/style.service.ts","../../../../libs/lepton-x-core/src/lib/style/utils.ts","../../../../libs/lepton-x-core/src/lib/style/style-load.factory.ts","../../../../libs/lepton-x-core/src/lib/providers/styles.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/window.token.ts","../../../../libs/lepton-x-core/src/lib/providers/window.provider.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive-breakpoints.token.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.service.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.directive.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.module.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/defaults.ts","../../../../libs/lepton-x-core/src/lib/providers/responsive.provider.ts","../../../../libs/lepton-x-core/src/lib/providers/direction.provider.ts","../../../../libs/lepton-x-core/src/lib/lepton-x-core.module.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.html","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.module.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer-links.service.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.html","../../../../libs/lepton-x-core/src/lib/components/footer/footer.module.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/content-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-image-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/language-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-profile-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navitem-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/toolbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/top-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/panels.module.ts","../../../../libs/lepton-x-core/src/lib/services/toolbar/toolbar.service.ts","../../../../libs/lepton-x-core/src/volo-ngx-lepton-x.core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { LpxLanguage } from './models';\r\n\r\nexport const LPX_LANGUAGE = new InjectionToken<LpxLanguage[]>('LPX_LANGUAGE');\r\n","import { BehaviorSubject, Subject } from 'rxjs';\r\nimport { map, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nexport class DataStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<Partial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn = (s1: Slice, s2: Slice) => s1 === s2\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: Partial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","export enum LanguageTranslateKeys {\r\n SettingsTitle = 'language.settings.title',\r\n}\r\n\r\nexport type LanguageTranslateValues = {\r\n [key in LanguageTranslateKeys]: string;\r\n};\r\n\r\nexport const LanguageTranslateDefaults: LanguageTranslateValues = {\r\n [LanguageTranslateKeys.SettingsTitle]: 'Language Options',\r\n};\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\nimport { LpxLanguage, LpxLanguageState } from './models';\r\nimport { LanguageTranslateKeys } from './language-translate-keys.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n readonly store = new DataStore<LpxLanguageState>({ languages: [] });\r\n\r\n id = 'languages';\r\n\r\n convertLanguageToNavbarItem = (languages: LpxLanguage[]): LpxNavbarItem[] => {\r\n return languages.map((lang) => ({\r\n icon: '',\r\n text: lang.displayName,\r\n selected: lang.selected,\r\n action: () => {\r\n this.setSelectedLanguage(lang);\r\n return true;\r\n },\r\n }));\r\n };\r\n\r\n selectedLanguage$ = this.store.sliceState(\r\n ({ selectedLanguage }) => selectedLanguage\r\n );\r\n\r\n get selectedLanguage(): LpxLanguage {\r\n return this.store.state.selectedLanguage as LpxLanguage;\r\n }\r\n\r\n languageChange$: Observable<LpxLanguage> = this.selectedLanguage$.pipe(\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n filter<LpxLanguage>((lang: LpxLanguage) => lang !== undefined),\r\n distinctUntilChanged((a, b) => a?.cultureName === b?.cultureName)\r\n );\r\n languages$ = this.store.sliceState((state) => state.languages);\r\n languagesAsNavbarItems$ = this.languages$.pipe(\r\n map(this.convertLanguageToNavbarItem)\r\n );\r\n //TODO: PROVIDE API\r\n languagesAsSettingsGroup$ = this.languagesAsNavbarItems$.pipe(\r\n map((languages) => ({\r\n text: LanguageTranslateKeys.SettingsTitle as string,\r\n icon: 'bi bi-globe',\r\n id: this.id,\r\n children: languages,\r\n }))\r\n );\r\n\r\n constructor(@Inject(LPX_LANGUAGE) private languages: LpxLanguage[]) {\r\n this.init(this.languages);\r\n }\r\n\r\n setLanguages(languages: LpxLanguage[]) {\r\n this.init(languages);\r\n }\r\n\r\n init(languages: LpxLanguage[]): void {\r\n this.store.patch({\r\n languages,\r\n selectedLanguage: languages.find((lang) => lang.selected),\r\n });\r\n }\r\n\r\n setSelectedLanguage(lang: LpxLanguage) {\r\n this.store.patch({\r\n selectedLanguage: lang,\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxTranslate, TranslateService } from './models';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken<TranslateService>(\r\n 'LPX_TRANSLATE_SERVICE_TOKEN'\r\n);\r\nexport const LPX_TRANSLATE_TOKEN = new InjectionToken<LpxTranslate[]>(\r\n 'LPX_TRANSLATE_TOKEN'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxLanguageModuleOptions } from './models';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LanguageService } from './language.service';\r\nimport { LanguageTranslateDefaults } from './language-translate-keys.enum';\r\nimport { LPX_TRANSLATE_TOKEN } from '../translate/tokens';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n})\r\nexport class LpxLanguageModule {\r\n static forRoot(\r\n options?: LpxLanguageModuleOptions\r\n ): ModuleWithProviders<LpxLanguageModule> {\r\n return {\r\n ngModule: LpxLanguageModule,\r\n providers: [\r\n {\r\n provide: LPX_LANGUAGE,\r\n useValue: options?.languages || [],\r\n },\r\n {\r\n provide: LPX_TRANSLATE_TOKEN,\r\n useValue: [LanguageTranslateDefaults],\r\n multi: true,\r\n },\r\n LanguageService,\r\n ],\r\n };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const ICON_MAP = {\r\n bagFill: 'bi bi-bag-fill',\r\n bellFill: 'bi bi-bell-fill',\r\n calendarWeek: 'bi bi-calendar2-week',\r\n chatDots: 'bi bi-chat-dots',\r\n chevronDown: 'bi bi-chevron-down',\r\n chevronUp: 'bi bi-chevron-up',\r\n gearConnected: 'bi bi-gear-wide-connected',\r\n filter: 'bi bi-filter',\r\n filterFill: 'bi bi-filter-circle-fill',\r\n layoutThreeColumns: 'bi bi-layout-three-columns',\r\n moon: 'bi bi-moon',\r\n square: 'bi bi-square',\r\n sunset: 'bi bi-brightness-alt-high-fill',\r\n sunup: 'bi bi-brightness-high-fill',\r\n star: 'bi bi-star',\r\n x: 'bi bi-x',\r\n xCircleFill: 'bi bi-x-circle-fill',\r\n};\r\n\r\nexport type ICON_MAP_TYPE = typeof ICON_MAP;\r\n\r\nexport const LEPTON_X_ICON_SET = new InjectionToken<ICON_MAP_TYPE>('LEPTON_X_ICON_SET');\r\n","import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE } from './icon.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-icon',\r\n template: `\r\n <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class IconComponent {\r\n @Input() iconClass?: keyof ICON_MAP_TYPE | string;\r\n\r\n get styleClass() {\r\n return (\r\n this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass\r\n );\r\n }\r\n\r\n constructor(@Inject(LEPTON_X_ICON_SET) public iconSet: ICON_MAP_TYPE) {}\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconComponent } from './icon.component';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE, ICON_MAP } from './icon.token';\r\n\r\nexport interface LpxIconSettings {\r\n iconSet?: ICON_MAP_TYPE;\r\n}\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n imports: [CommonModule],\r\n exports: [IconComponent],\r\n})\r\nexport class LpxIconModule {\r\n static forRoot(options?: LpxIconSettings): ModuleWithProviders<LpxIconModule> {\r\n return {\r\n ngModule: LpxIconModule,\r\n providers: [\r\n {\r\n provide: LEPTON_X_ICON_SET,\r\n useValue: options?.iconSet || ICON_MAP,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-brand-logo',\r\n templateUrl: './brand-logo.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BrandLogoComponent {}\r\n","<a routerLink=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n RouterModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface LayoutSettings {\r\n containerClass: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LayoutService {\r\n readonly store = new DataStore({\r\n containerClass: [''],\r\n });\r\n\r\n containerClass$: Observable<Array<string>> = this.store.sliceState(\r\n ({ containerClass }) => containerClass || [],\r\n );\r\n\r\n setClass(cssClass: string | Array<string>): void {\r\n const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];\r\n this.patchStore(containerClass);\r\n }\r\n\r\n addClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n this.patchStore([...containerClass, cssClass]);\r\n }\r\n\r\n removeClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex((item) => item === cssClass);\r\n if (index === -1) return;\r\n const update = [\r\n ...containerClass.slice(0, index),\r\n ...containerClass.slice(index + 1),\r\n ];\r\n this.patchStore(update);\r\n }\r\n\r\n removeClasses(classlist: string[]) {\r\n const { containerClass } = this.store.state;\r\n const filteredClasslist = containerClass.filter(\r\n (clss) => !classlist.includes(clss),\r\n );\r\n this.patchStore(filteredClasslist);\r\n }\r\n\r\n toggleClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex((item) => item === cssClass);\r\n if (index === -1) {\r\n this.addClass(cssClass);\r\n } else {\r\n this.removeClass(cssClass);\r\n }\r\n }\r\n\r\n patchStore(containerClass: string[]) {\r\n this.store.patch({\r\n containerClass,\r\n });\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\nimport { LpxNavbarItem } from './models';\r\n\r\nexport const CONTENT_BEFORE_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_BEFORE_ROUTES'\r\n);\r\nexport const CONTENT_AFTER_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_AFTER_ROUTES'\r\n);\r\nexport const LPX_MENU_ITEMS = new InjectionToken<LpxNavbarItem[]>(\r\n 'LPX_MENU_ITEMS'\r\n);\r\n","import { from, Observable, of } from 'rxjs';\r\nimport { ArrayTypeDeep, RecursiveArray, VariantSource } from '../models/common';\r\n\r\nexport function sortItems<T extends { order?: number }>(a: T, b: T): number {\r\n if (!a.order) {\r\n return 1;\r\n }\r\n if (!b.order) {\r\n return -1;\r\n }\r\n\r\n return a.order - b.order;\r\n}\r\n\r\nexport function flatArrayDeepToObject<T extends { [key: string]: any }>(\r\n arr: RecursiveArray<ArrayTypeDeep<T>>\r\n): ArrayTypeDeep<T> {\r\n return arr.reduce(\r\n (acc, curr) => ({\r\n ...acc,\r\n ...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),\r\n }),\r\n {}\r\n ) as ArrayTypeDeep<T>;\r\n}\r\n\r\nexport function getStream$<T>(source: VariantSource<T>): Observable<T> {\r\n return source instanceof Observable\r\n ? source\r\n : source instanceof Promise\r\n ? from(source)\r\n : of(source);\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { isArray } from './common';\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: T[],\r\n othersGroupKey: string,\r\n skipGroupCheck: boolean = false\r\n): Map<string, T[]> | undefined {\r\n if (\r\n !skipGroupCheck &&\r\n (!isArray(list) || !list.some((node) => Boolean(node.group)))\r\n )\r\n return undefined;\r\n\r\n const mapGroup = new Map<string, T[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n return mapGroup;\r\n}\r\n\r\nexport function getItemsFromGroup<S extends { items: R[] }, R>(\r\n list: S[],\r\n pred?: ItemPropPredicate<R>\r\n): R[] | undefined {\r\n return list?.reduce<R[]>(\r\n (acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)],\r\n []\r\n );\r\n}\r\n\r\nexport type ItemPropPredicate<T> = (\r\n prop: T\r\n) => boolean | Promise<boolean> | Observable<boolean>;\r\n","export const OTHERS_GROUP_KEY = 'AbpUi::OthersGroup';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, take, tap } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { createGroupMap } from '../../utils';\r\nimport { OTHERS_GROUP_KEY } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\r\n protected readonly router = inject(Router);\r\n menuItems = inject(LPX_MENU_ITEMS);\r\n\r\n private store = new DataStore<LpxNavbarItem[]>(\r\n this.addContainerLinks(this.menuItems),\r\n );\r\n\r\n navbarItems$ = this.store.sliceState((state) => state);\r\n\r\n groupedNavbarItems$ = this.store\r\n .sliceState((state) => state)\r\n .pipe(\r\n map((items) => {\r\n if (!items.some((f) => !!f.group)) {\r\n return;\r\n }\r\n\r\n const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];\r\n return Array.from(map, ([group, items]) => ({\r\n group,\r\n items,\r\n }));\r\n }),\r\n );\r\n\r\n constructor() {\r\n this.expandItemByLink$().pipe(take(1)).subscribe();\r\n }\r\n\r\n addNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n setNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n // TODO: muhammed: refactor this method to be readable\r\n addChildren(id: string, ...menuItems: LpxNavbarItem[]): void {\r\n const parent = this.findById(id, this.store.state);\r\n const update = (\r\n items: LpxNavbarItem[],\r\n location: Array<number>,\r\n link = '',\r\n ): LpxNavbarItem[] => {\r\n const i = location.shift();\r\n return items.reduce((acc, item, index) => {\r\n return [\r\n ...acc,\r\n ...(index === i\r\n ? [\r\n {\r\n ...item,\r\n children: !location.length\r\n ? [\r\n ...(item.children || []),\r\n ...this.addContainerLinks(\r\n menuItems,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n ]\r\n : update(\r\n item.children || [],\r\n location,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n },\r\n ]\r\n : [item]),\r\n ];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n\r\n const updated = update(this.store.state, parent.location);\r\n this.store.patch(updated);\r\n }\r\n\r\n findByLink(link: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('link', link, items);\r\n }\r\n\r\n expandItemByLink$() {\r\n return this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n tap(() => this.expandItems()),\r\n );\r\n }\r\n\r\n expandItems() {\r\n const route = this.getRouteItem();\r\n if (route?.item) {\r\n const expanded = this.calculateExpandState(\r\n this.store.state,\r\n route.location,\r\n );\r\n this.store.patch(expanded);\r\n }\r\n }\r\n\r\n getRouteItem() {\r\n return this.findByLink(this.router.url);\r\n }\r\n\r\n calculateExpandState(\r\n items: LpxNavbarItem[],\r\n indexes: Array<number>,\r\n ): LpxNavbarItem[] {\r\n const matchIndex = indexes.shift();\r\n return items.reduce((acc, item, index) => {\r\n if (index === matchIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...item,\r\n expanded: true,\r\n selected: true,\r\n children: this.calculateExpandState(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n const newItem = {\r\n ...item,\r\n ...(item.children\r\n ? { children: this.collapseChildren(item.children) }\r\n : {}),\r\n };\r\n return [...acc, { ...newItem, expanded: false, selected: false }];\r\n }, [] as LpxNavbarItem[]);\r\n }\r\n\r\n collapseChildren(children: Array<LpxNavbarItem>): Array<LpxNavbarItem> {\r\n return [\r\n ...children.map((child) => ({\r\n ...child,\r\n expanded: false,\r\n selected: false,\r\n children: child.children ? this.collapseChildren(child.children) : [],\r\n })),\r\n ];\r\n }\r\n\r\n private findById(id: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('id', id, items);\r\n }\r\n\r\n private findByProp(\r\n prop: keyof LpxNavbarItem,\r\n value: string,\r\n items?: LpxNavbarItem[],\r\n location: Array<number> = [],\r\n ) {\r\n const navbarItems = items || this.store.state;\r\n const itemIndex = navbarItems.findIndex((i) => i[prop] === value);\r\n let item;\r\n if (itemIndex === -1) {\r\n navbarItems.forEach((i, index) => {\r\n if (i.children) {\r\n const child = this.findByProp(prop, value, i.children, [\r\n ...location,\r\n index,\r\n ]);\r\n if (child?.item) {\r\n item = child.item;\r\n location = child.location;\r\n }\r\n }\r\n });\r\n } else {\r\n item = navbarItems[itemIndex];\r\n location.push(itemIndex);\r\n }\r\n\r\n return { item, location };\r\n }\r\n\r\n private addContainerLinks(\r\n items: LpxNavbarItem[],\r\n link = '',\r\n ): LpxNavbarItem[] {\r\n return items.map((item) => ({\r\n ...item,\r\n ...(item.link && link ? { link: `${link}/${item.link}` } : {}),\r\n children: this.addContainerLinks(\r\n item.children || [],\r\n `${link ? link + '/' : ''}${item.containerLink || ''}`,\r\n ),\r\n }));\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-logo-panel]',\r\n})\r\nexport class LogoPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesService {\r\n protected readonly location = inject(Location);\r\n protected readonly router = inject(Router);\r\n\r\n readonly currentNavigation = toSignal(\r\n this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n //TODO: location object might be problem in the future for SSR\r\n map(() => this.location.path()),\r\n ),\r\n { initialValue: this.location.path() },\r\n );\r\n}\r\n","import {\r\n OnInit,\r\n Directive,\r\n OnDestroy,\r\n Input,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { EMPTY, from, Observable, of, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[lpxVisible]',\r\n standalone: true,\r\n})\r\nexport class LpxVisibleDirective implements OnDestroy, OnInit {\r\n conditionSubscription: Subscription | undefined;\r\n isVisible: boolean | undefined;\r\n\r\n @Input('lpxVisible') set lpxVisible(\r\n value: boolean | Promise<boolean> | Observable<boolean> | undefined | null\r\n ) {\r\n this.condition$ = checkType(value);\r\n this.subscribeToCondition();\r\n }\r\n\r\n private condition$: Observable<boolean> = of(false);\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n ngOnInit(): void {\r\n this.updateVisibility();\r\n }\r\n ngOnDestroy(): void {\r\n this.conditionSubscription?.unsubscribe();\r\n }\r\n\r\n private subscribeToCondition() {\r\n this.conditionSubscription = this.condition$.subscribe((value) => {\r\n this.isVisible = value;\r\n this.updateVisibility();\r\n });\r\n }\r\n private updateVisibility() {\r\n this.viewContainerRef.clear();\r\n // it should be false not falsy\r\n if(this.isVisible === false) {\r\n return;\r\n }\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n \r\n }\r\n}\r\n\r\nfunction checkType(value: boolean | Promise<boolean> | Observable<boolean> | undefined | null) {\r\n if (value instanceof Promise) {\r\n return from(value);\r\n } else if (value instanceof Observable) {\r\n return value;\r\n } else if (typeof value === 'boolean') {\r\n return of(value);\r\n } else if(value === undefined || value === null ) {\r\n return of(true)\r\n }\r\n else {\r\n return EMPTY;\r\n }\r\n}\r\n","import {\r\n animate,\r\n animation,\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n useAnimation,\r\n} from '@angular/animations';\r\n\r\nexport const collapseY = animation(\r\n [\r\n style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const collapseYWithMargin = animation(\r\n [\r\n style({ 'margin-top': '0' }),\r\n animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),\r\n ],\r\n {\r\n params: { time: '500ms', easing: 'ease' },\r\n },\r\n);\r\n\r\nexport const collapseX = animation(\r\n [\r\n style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const expandY = animation(\r\n [\r\n style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const expandYWithMargin = animation(\r\n [\r\n style({ 'margin-top': '-100%' }),\r\n animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),\r\n ],\r\n {\r\n params: { time: '500ms', easing: 'ease' },\r\n },\r\n);\r\n\r\nexport const expandX = animation(\r\n [\r\n style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const collapse = trigger('collapse', [\r\n state('collapsed', style({ height: '0', overflow: 'hidden' })),\r\n state('expanded', style({ height: '*', overflow: 'hidden' })),\r\n transition('expanded => collapsed', useAnimation(collapseY)),\r\n transition('collapsed => expanded', useAnimation(expandY)),\r\n]);\r\n\r\nexport const collapseWithMargin = trigger('collapseWithMargin', [\r\n state('collapsed', style({ 'margin-top': '-100%' })),\r\n state('expanded', style({ 'margin-top': '0' })),\r\n transition('expanded => collapsed', useAnimation(collapseYWithMargin), {\r\n params: { time: '400ms', easing: 'linear' },\r\n }),\r\n transition('collapsed => expanded', useAnimation(expandYWithMargin)),\r\n]);\r\n\r\nexport const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [\r\n state('collapsed', style({ 'margin-top': '-100vh' })),\r\n state('expanded', style({ 'margin-top': '0' })),\r\n transition(\r\n 'expanded => collapsed',\r\n useAnimation(collapseYWithMargin, {\r\n params: { time: '200ms', easing: 'linear' },\r\n }),\r\n ),\r\n transition(\r\n 'collapsed => expanded',\r\n useAnimation(expandYWithMargin, {\r\n params: { time: '250ms', easing: 'linear' },\r\n }),\r\n ),\r\n]);\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { UserProfile } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserProfileService {\r\n private store = new DataStore({} as UserProfile);\r\n user$ = this.store.sliceState((state) => state);\r\n\r\n setUser(user: UserProfile) {\r\n this.store.set(user);\r\n }\r\n\r\n patchUser(user: Partial<UserProfile>) {\r\n this.store.patch(user);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BodyService {\r\n body = document.querySelector('body');\r\n classes = {\r\n overflowYHidden: 'overflow-y-hidden',\r\n };\r\n\r\n disableScrollY() {\r\n this.body?.classList.add(this.classes.overflowYHidden);\r\n }\r\n\r\n enableScrollY() {\r\n this.body?.classList.remove(this.classes.overflowYHidden);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { TranslateService } from './models';\r\n\r\n@Injectable()\r\nexport class DefaultTranslateService implements TranslateService {\r\n get$(key: string, defaultValue?: string): Observable<string> {\r\n return of(defaultValue || key || '');\r\n }\r\n\r\n get(key: string, defaultValue?: string): string {\r\n return defaultValue || key || '';\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN } from './tokens';\r\nimport { LpxTranslate, TranslateService } from './models';\r\nimport { flatArrayDeepToObject } from '../../utils/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LpxThemeTranslateService {\r\n private _content: LpxTranslate = flatArrayDeepToObject(this.translateValues);\r\n constructor(\r\n @Optional()\r\n @Inject(LPX_TRANSLATE_TOKEN)\r\n private translateValues: Array<LpxTranslate[]>,\r\n @Inject(LPX_TRANSLATE_SERVICE_TOKEN)\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n // TODO: PROVIDE API : Implement args\r\n translate$(key: string, ...args: any[]): Observable<string> {\r\n return this.translateService.get$(key, this._content[key]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './models';\r\n\r\nimport { UserProfileService } from '../user-profile';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DefaultAuthService implements AuthService {\r\n constructor(private userProfileService: UserProfileService) {}\r\n isUserExists$ = this.userProfileService.user$.pipe(\r\n map((user) => !!user && Object.keys(user).length > 0)\r\n );\r\n\r\n navigateToLogin(): void {\r\n return;\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {AuthService} from \"./models\";\r\n\r\nexport const LPX_AUTH_SERVICE_TOKEN = new InjectionToken<AuthService>(\r\n 'LPX_AUTH_SERVICE_TOKEN'\r\n);\r\n","import {Provider} from \"@angular/core\";\r\nimport {LPX_AUTH_SERVICE_TOKEN} from \"./tokens\";\r\nimport {DefaultAuthService} from \"./default-auth.service\";\r\n\r\nexport const LPX_AUTH_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_AUTH_SERVICE_TOKEN,\r\n useClass: DefaultAuthService,\r\n};\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LpxLocalStorageService implements Storage {\r\n\r\n constructor() { }\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length\r\n }\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string |null{\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'lpxTranslate',\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n constructor(private lpxThemeTranslateService: LpxThemeTranslateService) {}\r\n\r\n transform(value: string, ...args: any[]) {\r\n return this.lpxThemeTranslateService.translate$(value, args);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { getStream$ } from '../../../utils/common';\r\nimport { LpxNavbarItem } from '../models';\r\nimport { collapse } from '../../../animations/collapse.animations';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [collapse],\r\n})\r\nexport class SubNavbarComponent {\r\n protected readonly injector = inject(Injector);\r\n\r\n @Input() item!: LpxNavbarItem;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n onItemClick(menuItem: LpxNavbarItem): void {\r\n let action$ = of(true);\r\n if (menuItem.action) {\r\n const result = menuItem.action();\r\n action$ = getStream$(result);\r\n }\r\n action$.pipe(take(1)).subscribe((result) => {\r\n if (result) {\r\n this.processItemClick(menuItem);\r\n }\r\n });\r\n }\r\n\r\n onChildExpand(child: LpxNavbarItem): void {\r\n if (child.expanded) {\r\n this.item?.children\r\n ?.filter((otherChild) => otherChild !== child)\r\n .forEach((otherChild) => {\r\n otherChild.expanded = false;\r\n otherChild.selected = false;\r\n });\r\n }\r\n }\r\n\r\n processItemClick(menuItem: LpxNavbarItem): void {\r\n if (menuItem.children?.length) {\r\n menuItem.expanded = !menuItem.expanded;\r\n this.expand.emit(menuItem);\r\n return;\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n\r\n if (!this.routerItem()) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track $index) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n","import {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { GroupedNavbarItems, LpxNavbarItem } from '../models';\r\nimport { getItemsFromGroup } from '../../../utils';\r\nimport { RoutesService } from '../../../services/route/routes.service';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\nexport type NavbarGroupItemsType = GroupedNavbarItems[] | null | undefined;\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-navbar-routes',\r\n templateUrl: './navbar-routes.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarRoutesComponent {\r\n protected readonly injector = inject(Injector);\r\n protected readonly routesService = inject(RoutesService);\r\n\r\n @Input()\r\n groupedItems: NavbarGroupItemsType;\r\n\r\n @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n private get itemsFromGroup(): LpxNavbarItem[] | undefined {\r\n if (!this.groupedItems) {\r\n return undefined;\r\n }\r\n\r\n return getItemsFromGroup<GroupedNavbarItems, LpxNavbarItem>(\r\n this.groupedItems,\r\n );\r\n }\r\n\r\n constructor() {\r\n this.fixNavbarItemsByRouter();\r\n }\r\n\r\n private isExpandedOrSelected = (item: LpxNavbarItem): boolean =>\r\n !!(item.expanded || item.selected);\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n const items = this.itemsFromGroup || menuItems;\r\n if (!items) {\r\n return;\r\n }\r\n\r\n items\r\n .filter((item) => item !== menuItem)\r\n .forEach((item) => (item.expanded = false));\r\n }\r\n }\r\n\r\n onRouteClick(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n const expandedItems = menuItems?.filter(this.isExpandedOrSelected);\r\n const expandedGroupItems = this.itemsFromGroup?.filter(\r\n this.isExpandedOrSelected,\r\n );\r\n\r\n const items = expandedGroupItems || expandedItems;\r\n\r\n if (items) {\r\n items\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, [])\r\n ?.filter(\r\n (item) =>\r\n !this.checkChildrenIncludesItem(item, menuItem) &&\r\n item !== menuItem,\r\n )\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n }\r\n\r\n checkChildrenIncludesItem(\r\n item: LpxNavbarItem,\r\n menuItem: LpxNavbarItem,\r\n ): boolean {\r\n return (\r\n item.children?.reduce(\r\n (acc, child) =>\r\n acc ||\r\n child === menuItem ||\r\n this.checkChildrenIncludesItem(child, menuItem),\r\n false,\r\n ) || false\r\n );\r\n }\r\n\r\n flatChildren(menuItems: NavbarItemsType): LpxNavbarItem[] {\r\n return (\r\n menuItems?.reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, []) || []\r\n );\r\n }\r\n\r\n fixNavbarItemsByRouter() {\r\n effect(() => {\r\n const currentNavigation = this.routesService.currentNavigation();\r\n\r\n if (!currentNavigation) {\r\n return;\r\n }\r\n\r\n this.fixNavbarItems(\r\n currentNavigation,\r\n this.navbarItems as LpxNavbarItem[],\r\n );\r\n });\r\n }\r\n\r\n fixNavbarItems(currentUrl: string, items: LpxNavbarItem[]): void {\r\n if (!items) {\r\n return;\r\n }\r\n\r\n for (const item of items) {\r\n if (item.children?.length) {\r\n item.expanded = this.hasUrlInChildren(item, currentUrl);\r\n this.fixNavbarItems(currentUrl, item.children);\r\n } else {\r\n item.selected = item.link === currentUrl;\r\n }\r\n }\r\n }\r\n\r\n hasUrlInChildren(item: LpxNavbarItem, url: string): boolean {\r\n if (item.link === url) {\r\n return true;\r\n }\r\n\r\n if (item.children) {\r\n for (const child of item.children) {\r\n const found = this.hasUrlInChildren(child, url);\r\n if (found) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems && groupedItems.length) {\r\n @for (item of groupedItems; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { map } from 'rxjs';\r\nimport { LayoutService } from '../../services/layout';\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LogoPanelDirective } from '../../panels/logo-panel.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent implements AfterViewChecked {\r\n protected readonly layoutService = inject(LayoutService);\r\n protected readonly platformId = inject<Object>(PLATFORM_ID);\r\n public readonly service = inject(NavbarService);\r\n public readonly injector = inject(Injector);\r\n\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n\r\n protected didResized = false;\r\n protected initialHover = false;\r\n\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n showFilterMenu$ = this.service.navbarItems$.pipe(\r\n map((items) => !!items.length),\r\n );\r\n\r\n constructor() {\r\n this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);\r\n this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);\r\n }\r\n\r\n toggleSidebarHover() {\r\n this.didResized = true;\r\n this.layoutService.toggleClass('hover-trigger');\r\n this.initialHover = !this.initialHover;\r\n\r\n if (this.initialHover) {\r\n this.layoutService.addClass('initial-hover');\r\n } else {\r\n this.layoutService.removeClass('initial-hover');\r\n }\r\n }\r\n\r\n handleInitialHover() {\r\n if (this.initialHover) {\r\n this.layoutService.removeClass('initial-hover');\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n if (this.didResized) {\r\n this.didResized = false;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n }\r\n\r\n private flatContents(token: InjectionToken<Type<any>[][]>) {\r\n const contents = this.injector.get(token, []);\r\n return contents.reduce((acc, val) => acc.concat(val), []);\r\n }\r\n}\r\n","<nav class=\"lpx-nav\" (mouseenter)=\"handleInitialHover()\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n @if (showFilterMenu$ | async) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async,\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n @for (component of contents; track $index) {\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { VariantSource } from '../../models/common';\r\nimport { getStream$ } from '../../utils/common';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(\r\n value: VariantSource<string> | VariantSource<number> | undefined,\r\n ): Observable<string | number> {\r\n return value ? getStream$(value) : of('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToObservablePipe } from './to-observable.pipe';\r\n\r\n@NgModule({\r\n declarations: [ToObservablePipe],\r\n imports: [CommonModule],\r\n exports: [ToObservablePipe],\r\n})\r\nexport class ToObservableModule {}\r\n","import { inject, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'lpxSafeHtml', standalone: true })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n \r\n transform(value: string): string {\r\n if (!value || typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslatePipe } from './translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [TranslatePipe],\r\n imports: [CommonModule],\r\n exports: [TranslatePipe],\r\n})\r\nexport class LpxTranslateModule {}\r\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxBrandLogoModule } from '../brand-logo/brand-logo.module';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { SubNavbarComponent } from './sub-navbar/sub-navbar.component';\r\nimport { NavbarRoutesComponent } from './navbar-routes/navbar-routes.component';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LpxNavbarItem } from './models';\r\nimport {\r\n CONTENT_AFTER_ROUTES,\r\n CONTENT_BEFORE_ROUTES,\r\n LPX_MENU_ITEMS,\r\n} from './navbar.token';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\nimport { LpxTranslateModule } from '../../pipes';\r\nimport { LpxVisibleDirective } from '../../directives/visible.directive';\r\n\r\nconst exportedDeclarations = [\r\n NavbarComponent,\r\n SubNavbarComponent,\r\n NavbarRoutesComponent,\r\n NavbarRoutesDirective,\r\n];\r\n\r\nexport interface LpxNavbarSettings {\r\n menuItems?: LpxNavbarItem[];\r\n contentAfterRoutes?: Type<any>[];\r\n contentBeforeRoutes?: Type<any>[];\r\n}\r\n\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n LpxBrandLogoModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n LpxTranslateModule,\r\n LpxVisibleDirective,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxNavbarModule {\r\n static forRoot(\r\n options: LpxNavbarSettings = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: LPX_MENU_ITEMS,\r\n useValue: options?.menuItems || [],\r\n },\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forChild(\r\n options: Omit<LpxNavbarSettings, 'menuItems'> = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { Observable } from 'rxjs';\r\n\r\n// TODO : add onClick\r\nexport interface BreadcrumbItem {\r\n icon?: string;\r\n text: string | Observable<string>;\r\n link?: string;\r\n children?: BreadcrumbItem[];\r\n expanded?: boolean;\r\n active?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n private store = new DataStore<BreadcrumbItem[]>([]);\r\n items$ = this.store.sliceState((state) => state);\r\n // TODO: generate id per item\r\n add(item: BreadcrumbItem | BreadcrumbItem[]): void {\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...this.store.state, ...items]);\r\n }\r\n\r\n // TODO: generate id per item\r\n insert(item: BreadcrumbItem | BreadcrumbItem[], index: number): void {\r\n const state = this.store.state;\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);\r\n }\r\n\r\n // TODO: generate id per item\r\n setItems(items: BreadcrumbItem[]): void {\r\n this.store.set(items);\r\n }\r\n\r\n // TODO: Add remove function\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n EventEmitter,\r\n HostListener,\r\n ElementRef,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpxClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() lpxClickOutside = new EventEmitter();\r\n @Input()\r\n exceptedRefs: Array<ElementRef> = [];\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n !(\r\n this.elementRef.nativeElement.contains(event.target) ||\r\n this.exceptedRefs.some((ref) =>\r\n ref.nativeElement.contains(event.target),\r\n )\r\n )\r\n ) {\r\n this.lpxClickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { ICON_MAP } from '../icon/icon.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BreadcrumbComponent {\r\n icon = ICON_MAP;\r\n\r\n constructor(public service: BreadcrumbService) {}\r\n\r\n onClick(item: BreadcrumbItem): void {\r\n if (item.children) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n // TODO: close dropdown when click outside\r\n}\r\n","<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n @for (item of service.items$ | async; track $index; let last = $last) {\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n @if (item.icon) {\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n @if (!last) {\r\n <li class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n }\r\n }\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [CommonModule],\r\n exports: [ClickOutsideDirective],\r\n})\r\nexport class LpxClickOutsideModule {}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport {\r\n ABP,\r\n LocalizationService,\r\n RoutesService,\r\n TreeNode,\r\n} from '@abp/ng.core';\r\nimport { NavbarService } from '../navbar/navbar.service';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LpxNavbarItem } from '../navbar';\r\n\r\ninterface BreadcrumbNavigation extends LpxNavbarItem {\r\n siblings: BreadcrumbNavigation[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbRouteListenerService {\r\n protected readonly navbarService = inject(NavbarService);\r\n protected readonly router = inject(Router);\r\n protected readonly routes = inject(RoutesService);\r\n protected readonly breadcrumbService = inject(BreadcrumbService);\r\n protected readonly localizationService = inject(LocalizationService);\r\n\r\n subscribeRoute(): void {\r\n combineLatest([\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n ),\r\n this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),\r\n ]).subscribe(([event, items]) => {\r\n const currentPath = (event as NavigationEnd).url;\r\n let activeItem = this.navbarService.findByLink(currentPath);\r\n let breadcrumbItems;\r\n\r\n if (!activeItem.item) {\r\n const item = this.findItemByTreeNode(currentPath);\r\n if (item) {\r\n breadcrumbItems = this.createBreadcrumbTrail(item);\r\n this.breadcrumbService.setItems(breadcrumbItems);\r\n return;\r\n }\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n\r\n breadcrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadcrumbNavigation[] },\r\n ];\r\n }, [] as BreadcrumbNavigation[]);\r\n\r\n this.breadcrumbService.setItems(\r\n this.mapNavbarItemToBreadcrumbItem(breadcrumbItems),\r\n );\r\n });\r\n }\r\n\r\n private mapNavbarItemToBreadcrumbItem(\r\n items: BreadcrumbNavigation[],\r\n ): BreadcrumbItem[] {\r\n return items.map(({ breadcrumbText, text, link, icon, siblings }) => ({\r\n text: breadcrumbText || text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n\r\n private findItemByTreeNode(path: string): TreeNode<ABP.Route> | null {\r\n const { tree, search: boundSearch } = {\r\n tree: this.routes.tree,\r\n search: this.routes.search.bind(this.routes),\r\n };\r\n\r\n const treeNode = boundSearch(\r\n {\r\n path: path,\r\n },\r\n tree,\r\n );\r\n\r\n return treeNode;\r\n }\r\n\r\n private createBreadcrumbTrail(\r\n item: TreeNode<ABP.Route> | undefined,\r\n ): BreadcrumbItem[] {\r\n const trail: BreadcrumbItem[] = [];\r\n let current = item;\r\n\r\n while (current && current.breadcrumbText) {\r\n trail.push({\r\n text: this.localizationService.instant(current.breadcrumbText),\r\n icon: current.iconClass,\r\n });\r\n current = current.parent;\r\n }\r\n\r\n return trail.reverse();\r\n }\r\n}\r\n","import {\r\n ModuleWithProviders,\r\n NgModule,\r\n inject,\r\n provideAppInitializer,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { BreadcrumbRouteListenerService } from './breadcrumb-route-listener.service';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\n\r\nexport const exportedDeclarations = [BreadcrumbComponent];\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n RouterModule,\r\n LpxClickOutsideModule,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxBreadcrumbModule {\r\n static forRoot(): ModuleWithProviders<LpxBreadcrumbModule> {\r\n return {\r\n ngModule: LpxBreadcrumbModule,\r\n providers: [\r\n provideAppInitializer(() => {\r\n breadCrumbInit();\r\n }),\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit() {\r\n const service = inject(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from './tokens';\r\nimport { DefaultTranslateService } from './default-translate.service';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: DefaultTranslateService,\r\n};\r\n\r\nexport const LPX_TRANSLATE_PROVIDERS: Provider[] = [\r\n LPX_TRANSLATE_SERVICE_PROVIDER,\r\n];\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from './models';\r\n\r\nexport const LPX_INITIAL_STYLES = new InjectionToken<LpxStyles>(\r\n 'LPX_INITIAL_STYLES_TOKEN'\r\n);\r\n\r\nexport const LPX_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_STYLE_FINAL_TOKEN'\r\n);\r\n\r\nexport const LPX_LAYOUT_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_LAYOUT_STYLE_FINALIZE_TOKEN'\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { LPX_STYLE_FINAL } from './tokens';\r\nimport { LpxStyle, LpxStyles } from './models';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleService {\r\n lastInjectedStyle: HTMLLinkElement | null = null;\r\n\r\n initialized$ = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(\r\n @Inject(LPX_STYLE_FINAL) private initialStyles: LpxStyles,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n async initStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.loadStyle(style, direction);\r\n }\r\n this.initialized$.next(true);\r\n }\r\n\r\n async loadStyle(\r\n style: LpxStyle,\r\n direction: 'ltr' | 'rtl'\r\n ): Promise<HTMLStyleElement | void> {\r\n return new Promise((resolve, reject) => {\r\n const linkElem = this.createLinkElem(style, direction, resolve);\r\n //TODO: find a better way for understand style laaded by angular json\r\n const appStyles = document.querySelector(\r\n 'link[rel=\"stylesheet\"][href*=\"styles\"]'\r\n );\r\n if (appStyles) {\r\n if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {\r\n this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);\r\n } else {\r\n appStyles.insertAdjacentElement('beforebegin', linkElem);\r\n }\r\n } else {\r\n this.document.head.appendChild(linkElem);\r\n }\r\n this.lastInjectedStyle = linkElem;\r\n return Promise.resolve(linkElem);\r\n });\r\n }\r\n\r\n async replaceStyle<T extends LpxStyle>(\r\n style: T,\r\n direction: 'rtl' | 'ltr'\r\n ): Promise<HTMLStyleElement | void> {\r\n const loaded = this.document.querySelector(`link#${style.bundleName}`);\r\n if (loaded) {\r\n loaded.remove();\r\n }\r\n return this.loadStyle(style, direction);\r\n }\r\n\r\n async reloadInitialStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.replaceStyle(style, direction);\r\n }\r\n }\r\n\r\n createLinkElem(\r\n style: LpxStyle,\r\n direction: 'rtl' | 'ltr',\r\n resolve: (param: any) => void\r\n ): HTMLLinkElement {\r\n const linkElem = document.createElement('link');\r\n linkElem.rel = 'stylesheet';\r\n linkElem.id = style.bundleName;\r\n linkElem.href = `${style.bundleName}${\r\n direction === 'rtl' ? '.rtl' : ''\r\n }.css`;\r\n linkElem.onload = () => {\r\n resolve(linkElem);\r\n };\r\n return linkElem;\r\n }\r\n}\r\n","import { LpxStyleFactory, LpxStyles } from './models';\r\n\r\nexport function createStyleFactory<T = LpxStyles>(\r\n handler?: LpxStyleFactory<T>\r\n): LpxStyleFactory<T> {\r\n return handler || ((defaultValue: T) => defaultValue);\r\n}\r\n","import { LpxStyles } from '../style/models';\r\n\r\nexport function styleLoadFactory(\r\n styleList: LpxStyles,\r\n layoutStyles: LpxStyles,\r\n) {\r\n styleList.push({\r\n bundleName: 'ng-bundle',\r\n });\r\n styleList.push({\r\n bundleName: 'font-bundle',\r\n });\r\n return [...styleList, ...layoutStyles];\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take, tap } from 'rxjs/operators';\r\nimport { from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n provideAppInitializer(() => {\r\n return loadInitialStyles();\r\n }),\r\n];\r\n\r\nexport function loadInitialStyles() {\r\n const styleService = inject(StyleService);\r\n const languageService = inject(LanguageService);\r\n return languageService.languageChange$.pipe(\r\n take(1),\r\n switchMap((lang) =>\r\n from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr')),\r\n ),\r\n );\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const WINDOW = new InjectionToken<Window>('WINDOW');\r\n","import { Provider } from '@angular/core';\r\nimport { WINDOW } from '../tokens/window.token';\r\n\r\nexport function createWindowProvider(windowObj: Window | undefined): Provider {\r\n return { provide: WINDOW, useValue: windowObj || window }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ResponsiveBreakpoints {\r\n [key: string]: number;\r\n}\r\n\r\nexport const RESPONSIVE_BREAKPOINTS = new InjectionToken<ResponsiveBreakpoints>(\r\n 'RESPONSIVE_BREAKPOINTS',\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs';\r\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\r\nimport {\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from './responsive-breakpoints.token';\r\nimport { WINDOW } from '../../tokens/window.token';\r\n\r\nexport const enum ResponsiveTokens {\r\n none = 'none',\r\n all = 'all',\r\n separator = '-',\r\n}\r\n\r\nexport interface ResponsiveBreakpoint {\r\n name: string;\r\n width: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n currentResolution$!: Observable<{ height: number; width: number }>;\r\n\r\n defaultBreakpoint = {\r\n name: ResponsiveTokens.all,\r\n width: 0,\r\n };\r\n\r\n breakpoints: { name: string; width: number }[] = this.buildBreakpoints(\r\n this.providedBreakpoints,\r\n );\r\n\r\n protected getCurrentSize = () => ({\r\n height: this.window.innerHeight,\r\n width: this.window.innerWidth,\r\n });\r\n\r\n protected mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {\r\n return this.breakpoints.find(\r\n (s) => width >= s.width,\r\n ) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$ = new BehaviorSubject<ResponsiveBreakpoint>(\r\n this.mapSizeToBreakpoint(),\r\n );\r\n\r\n shouldRenderWithCurrentSize = (query: string) => {\r\n return this.matchQuery(query);\r\n };\r\n\r\n constructor(\r\n @Inject(RESPONSIVE_BREAKPOINTS)\r\n protected providedBreakpoints: ResponsiveBreakpoints,\r\n @Inject(WINDOW) protected window: any,\r\n ) {\r\n this.setupListener();\r\n }\r\n\r\n protected setupListener() {\r\n this.currentResolution$ = fromEvent(this.window, 'resize')\r\n .pipe(map(this.getCurrentSize))\r\n .pipe(startWith(this.getCurrentSize()));\r\n\r\n this.currentResolution$\r\n .pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())\r\n .subscribe((current) => {\r\n this.currentSize$.next(current);\r\n });\r\n }\r\n\r\n protected buildBreakpoints(breakpoints: ResponsiveBreakpoints) {\r\n return [\r\n ...Object.keys(breakpoints)\r\n .map((key) => ({\r\n name: key,\r\n width: breakpoints[key],\r\n }))\r\n .sort((a, b) => b.width - a.width),\r\n this.defaultBreakpoint,\r\n ];\r\n }\r\n\r\n protected matchQuery(query: string) {\r\n const { width } = this.getCurrentSize();\r\n const tokens = query.split(' ');\r\n const findInTokens = (size: string) =>\r\n tokens.find(\r\n (token) => token.split(ResponsiveTokens.separator)[0] === size,\r\n );\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n (breakpoint) =>\r\n width >= breakpoint.width && findInTokens(breakpoint.name),\r\n );\r\n if (matchedBreakpoint) {\r\n const token = findInTokens(matchedBreakpoint.name);\r\n const shouldBeBigger = !token?.includes(ResponsiveTokens.none);\r\n return shouldBeBigger === width >= matchedBreakpoint.width;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResponsiveService } from './responsive.service';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpxResponsive]',\r\n})\r\nexport class ResponsiveDirective implements OnInit, OnDestroy {\r\n hasRendered = false;\r\n sub = new Subscription();\r\n\r\n @Input('lpxResponsive') query!: string;\r\n\r\n render = (shouldRender: boolean) => {\r\n if (shouldRender && !this.hasRendered) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.hasRendered = true;\r\n } else if (!shouldRender && this.hasRendered) {\r\n this.viewContainer.clear();\r\n this.hasRendered = false;\r\n }\r\n this.parentCdr.detectChanges();\r\n };\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private service: ResponsiveService,\r\n @Optional() @SkipSelf() private parentCdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.sub.add(\r\n this.service.currentSize$\r\n .pipe(map((_) => this.service.shouldRenderWithCurrentSize(this.query)))\r\n .subscribe(this.render),\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveDirective } from './responsive.directive';\r\n\r\n@NgModule({\r\n declarations: [ResponsiveDirective],\r\n imports: [CommonModule],\r\n exports: [ResponsiveDirective],\r\n})\r\nexport class LpxResponsiveModule {}\r\n","import { ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\n\r\nexport const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS: ResponsiveBreakpoints = {\r\n sm: 480,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n};\r\n","import {\r\n LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from '../directives/responsive';\r\nimport { Provider } from '@angular/core';\r\n\r\nexport function createResponsiveProvider(responsiveSettings:ResponsiveBreakpoints |undefined ): Provider{\r\n return {\r\n provide: RESPONSIVE_BREAKPOINTS,\r\n useValue:\r\n responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n };\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { LanguageService } from '../services/language';\r\nimport { StyleService } from '../style';\r\nimport {\r\n distinctUntilKeyChanged,\r\n filter,\r\n switchMap,\r\n take,\r\n} from 'rxjs/operators';\r\n\r\nexport function createDirectionProvider(listenDirection: boolean) {\r\n return provideAppInitializer(() => {\r\n if (listenDirection) {\r\n listenDirectionChange();\r\n }\r\n });\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange() {\r\n const languageService = inject(LanguageService);\r\n const styleService = inject(StyleService);\r\n\r\n return new Promise((resolve) => {\r\n styleService.initialized$\r\n .pipe(\r\n filter(Boolean),\r\n take(1),\r\n switchMap(() => languageService.languageChange$),\r\n distinctUntilKeyChanged('isRTL'),\r\n )\r\n .subscribe(async (lang) => {\r\n const direction = lang?.isRTL ? 'rtl' : 'ltr';\r\n const documentElement = document.documentElement;\r\n if (documentElement.dir !== direction) {\r\n documentElement.dir = direction;\r\n }\r\n await styleService.reloadInitialStyles(direction);\r\n resolve(null);\r\n });\r\n });\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveBreakpoints } from './directives/responsive/responsive-breakpoints.token';\r\nimport { LpxLanguageModuleOptions } from './services/language/models';\r\nimport { LpxLanguageModule } from './services/language/language.module';\r\nimport { LpxIconModule, LpxIconSettings } from './components/icon/icon.module';\r\nimport {\r\n LpxNavbarModule,\r\n LpxNavbarSettings,\r\n} from './components/navbar/navbar.module';\r\nimport { LpxBreadcrumbModule } from './components/breadcrumb/breadcrumb.module';\r\nimport { LpxTranslate } from './services';\r\nimport { LPX_TRANSLATE_PROVIDERS } from './services/translate/providers';\r\nimport { LPX_STYLE_PROVIDERS } from './providers/styles.provider';\r\nimport { createWindowProvider } from './providers/window.provider';\r\nimport { createResponsiveProvider } from './providers/responsive.provider';\r\nimport { createDirectionProvider } from './providers/direction.provider';\r\nimport { LpxVisibleDirective } from './directives/visible.directive';\r\n\r\nexport interface LpxCoreOptions {\r\n responsiveSettings?: ResponsiveBreakpoints;\r\n window?: Window;\r\n iconSettings?: LpxIconSettings;\r\n languageSettings?: LpxLanguageModuleOptions;\r\n navbarSettings?: LpxNavbarSettings;\r\n texts?: LpxTranslate[];\r\n listenDirectionChanges?: boolean;\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, LpxVisibleDirective],\r\n})\r\nexport class LpxCoreModule {\r\n static forRoot(options?: LpxCoreOptions): ModuleWithProviders<LpxCoreModule> {\r\n return {\r\n ngModule: LpxCoreModule,\r\n providers: [\r\n createResponsiveProvider(options?.responsiveSettings),\r\n createWindowProvider(options?.window),\r\n LpxIconModule.forRoot(options?.iconSettings).providers as Provider,\r\n LpxLanguageModule.forRoot(options?.languageSettings)\r\n .providers as Provider[],\r\n LpxNavbarModule.forRoot(options?.navbarSettings).providers as Provider,\r\n LpxBreadcrumbModule.forRoot().providers as Provider,\r\n LPX_TRANSLATE_PROVIDERS,\r\n ...LPX_STYLE_PROVIDERS,\r\n createDirectionProvider(options?.listenDirectionChanges || true),\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, Input } from '@angular/core';\r\n\r\nexport interface Avatar {\r\n type: 'icon' | 'image';\r\n source: string;\r\n}\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-avatar',\r\n templateUrl: './avatar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AvatarComponent {\r\n @Input() avatar?: Avatar;\r\n}\r\n","@if (avatar && avatar.source) {\r\n <div class=\"lpx-avatar\">\r\n @switch (avatar.type) {\r\n @case ('icon') {\r\n <lpx-icon\r\n class=\"lpx-avatar-icon\"\r\n [iconClass]=\"avatar.source\"\r\n ></lpx-icon>\r\n }\r\n @case ('image') {\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n }\r\n }\r\n </div>\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n@NgModule({\r\n declarations: [AvatarComponent],\r\n imports: [CommonModule, LpxIconModule],\r\n exports: [AvatarComponent],\r\n})\r\nexport class LpxAvatarModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface FooterLink {\r\n link: string;\r\n text: string;\r\n}\r\n\r\nexport interface FooterNav {\r\n descUrl?: string;\r\n desc: string;\r\n footerLinks?: FooterLink[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FooterLinksService {\r\n private store = new DataStore({} as FooterNav);\r\n footerInfo$ = this.store.sliceState((state) => state);\r\n\r\n setFooterInfo(links: FooterNav) {\r\n this.store.set(links);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FooterLinksService } from './footer-links.service';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n\r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","@if (footerValues$ | async; as footerValues) {\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n @if (footerValues.descUrl) {\r\n <a [routerLink]=\"[footerValues.descUrl]\"> {{ footerValues.desc }}</a>\r\n } @else {\r\n <a> {{ footerValues.desc }}</a>\r\n }\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n @for (footerLink of footerValues.footerLinks; track $index) {\r\n @if (footerLink) {\r\n <a [routerLink]=\"[footerLink.link]\">{{ footerLink.text }}</a>\r\n }\r\n }\r\n </div>\r\n </div>\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { FooterComponent } from './footer.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [FooterComponent],\r\n exports: [FooterComponent],\r\n imports: [CommonModule, RouterModule],\r\n})\r\nexport class LpxFooterModule {\r\n static forRoot(): ModuleWithProviders<LpxFooterModule> {\r\n return {\r\n ngModule: LpxFooterModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-breadcrumb-panel]',\r\n})\r\nexport class BreadcrumbPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-content]',\r\n})\r\nexport class ContentPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-current-user-image-panel]',\r\n})\r\nexport class CurrentUserImagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-current-user-panel]',\r\n})\r\nexport class CurrentUserPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-footer-panel]',\r\n})\r\nexport class FooterPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-language-panel]',\r\n})\r\nexport class LanguagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-panel]',\r\n})\r\nexport class MobileNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-settings-panel]',\r\n})\r\nexport class MobileNavbarSettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-profile-panel]',\r\n})\r\nexport class MobileNavbarProfilePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-navbar-panel]',\r\n})\r\nexport class NavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-navitem-panel]',\r\n})\r\nexport class NavitemPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-toolbar-panel]',\r\n})\r\nexport class ToolbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-top-navbar-panel]',\r\n})\r\nexport class TopNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-settings-panel]',\r\n})\r\nexport class SettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbPanelDirective } from './breadcrumb-panel.directive';\r\nimport { NavbarPanelDirective } from './navbar-panel.directive';\r\nimport { FooterPanelDirective } from './footer-panel.directive';\r\nimport { MobileNavbarPanelDirective } from './mobile-navbar-panel.directive';\r\nimport { ToolbarPanelDirective } from './toolbar-panel.directive';\r\nimport { TopNavbarPanelDirective } from './top-navbar-panel.directive';\r\nimport { SettingsPanelDirective } from './settings-panel.directive';\r\nimport { NavitemPanelDirective } from './navitem-panel.directive';\r\nimport { LogoPanelDirective } from './logo-panel.directive';\r\nimport { CurrentUserPanelDirective } from './current-user-panel.directive';\r\nimport { CurrentUserImagePanelDirective } from './current-user-image-panel.directive';\r\nimport { LanguagePanelDirective } from './language-panel.directive';\r\nimport { ContentPanelDirective } from './content-panel.directive';\r\nimport { MobileNavbarSettingsPanelDirective } from './mobile-navbar-settings-panel.directive';\r\nimport { MobileNavbarProfilePanelDirective } from './mobile-navbar-profile-panel.directive';\r\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n ContentPanelDirective,\r\n CurrentUserImagePanelDirective,\r\n CurrentUserPanelDirective,\r\n FooterPanelDirective,\r\n LanguagePanelDirective,\r\n LogoPanelDirective,\r\n MobileNavbarPanelDirective,\r\n MobileNavbarSettingsPanelDirective,\r\n MobileNavbarProfilePanelDirective,\r\n NavbarPanelDirective,\r\n NavitemPanelDirective,\r\n SettingsPanelDirective,\r\n TopNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...declarationsAndExports],\r\n imports: [CommonModule],\r\n exports: [...declarationsAndExports],\r\n})\r\nexport class PanelsModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToolbarItem } from '../../models/toolbar-item.model';\r\nimport { DataStore, sortItems } from '../../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToolbarService {\r\n private store = new DataStore({ items: <Array<ToolbarItem>>[] });\r\n\r\n items$ = this.store.sliceState(({ items }) => items);\r\n\r\n setItems(items: Array<ToolbarItem>): void {\r\n this.store.patch({ items: items.sort(sortItems) });\r\n }\r\n\r\n addItem(item: ToolbarItem): void {\r\n this.setItems([...this.store.state.items, item]);\r\n }\r\n\r\n patchItem(itemId: string | number, item: Omit<ToolbarItem, 'id'>): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex(({ id }) => id === itemId);\r\n if (index === -1) {\r\n return;\r\n }\r\n const updateItems = [...items];\r\n updateItems[index] = { id: itemId, ...item };\r\n this.setItems(updateItems);\r\n }\r\n\r\n removeItem(id: string | number): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex((item) => item.id === id);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n const updateItems = [...items.slice(0, index), ...items.slice(index + 1)];\r\n this.store.patch({ items: updateItems });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","i1.LpxThemeTranslateService","i3.IconComponent","i4.LpxVisibleDirective","i5.TranslatePipe","i2.LpxVisibleDirective","i3.SubNavbarComponent","i4.TranslatePipe","map","i2.BrandLogoComponent","i4.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i2","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","RoutesService","i1.ResponsiveService","i1.IconComponent","i1.FooterLinksService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"volo-ngx-lepton-x.core.mjs","sources":["../../../../libs/lepton-x-core/src/lib/services/language/tokens.ts","../../../../libs/lepton-x-core/src/lib/utils/data-store.ts","../../../../libs/lepton-x-core/src/lib/services/language/language-translate-keys.enum.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/language/language.module.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.token.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.component.ts","../../../../libs/lepton-x-core/src/lib/components/icon/icon.module.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.ts","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.component.html","../../../../libs/lepton-x-core/src/lib/components/brand-logo/brand-logo.module.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/utils/common.ts","../../../../libs/lepton-x-core/src/lib/utils/tree-utils.ts","../../../../libs/lepton-x-core/src/lib/consts/others-group.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/logo-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/services/route/routes.service.ts","../../../../libs/lepton-x-core/src/lib/directives/visible.directive.ts","../../../../libs/lepton-x-core/src/lib/animations/collapse.animations.ts","../../../../libs/lepton-x-core/src/lib/services/user-profile/user-profile.service.ts","../../../../libs/lepton-x-core/src/lib/services/body/body.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/default-translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/translate/translate.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/default-auth.service.ts","../../../../libs/lepton-x-core/src/lib/services/auth/tokens.ts","../../../../libs/lepton-x-core/src/lib/services/auth/providers.ts","../../../../libs/lepton-x-core/src/lib/services/local-storage/local-storage.service.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.pipe.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/sub-navbar/sub-navbar.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar-routes/navbar-routes.component.html","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.component.html","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/to-observable/to-observable.module.ts","../../../../libs/lepton-x-core/src/lib/pipes/safe-html/safe-html.pipe.ts","../../../../libs/lepton-x-core/src/lib/pipes/translate/translate.module.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.service.ts","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../libs/lepton-x-core/src/lib/directives/click-outside/click-outside.module.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb-route-listener.service.ts","../../../../libs/lepton-x-core/src/lib/components/breadcrumb/breadcrumb.module.ts","../../../../libs/lepton-x-core/src/lib/services/translate/providers.ts","../../../../libs/lepton-x-core/src/lib/style/tokens.ts","../../../../libs/lepton-x-core/src/lib/style/style.service.ts","../../../../libs/lepton-x-core/src/lib/style/utils.ts","../../../../libs/lepton-x-core/src/lib/style/style-load.factory.ts","../../../../libs/lepton-x-core/src/lib/providers/styles.provider.ts","../../../../libs/lepton-x-core/src/lib/tokens/window.token.ts","../../../../libs/lepton-x-core/src/lib/providers/window.provider.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive-breakpoints.token.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.service.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.directive.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/responsive.module.ts","../../../../libs/lepton-x-core/src/lib/directives/responsive/defaults.ts","../../../../libs/lepton-x-core/src/lib/providers/responsive.provider.ts","../../../../libs/lepton-x-core/src/lib/providers/direction.provider.ts","../../../../libs/lepton-x-core/src/lib/lepton-x-core.module.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.ts","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.component.html","../../../../libs/lepton-x-core/src/lib/components/avatar/avatar.module.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer-links.service.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.ts","../../../../libs/lepton-x-core/src/lib/components/footer/footer.component.html","../../../../libs/lepton-x-core/src/lib/components/footer/footer.module.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/content-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-image-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/current-user-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/language-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-profile-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/navitem-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/toolbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/top-navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/settings-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/panels.module.ts","../../../../libs/lepton-x-core/src/lib/services/toolbar/toolbar.service.ts","../../../../libs/lepton-x-core/src/volo-ngx-lepton-x.core.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\r\nimport { LpxLanguage } from './models';\r\n\r\nexport const LPX_LANGUAGE = new InjectionToken<LpxLanguage[]>('LPX_LANGUAGE');\r\n","import { BehaviorSubject, Subject } from 'rxjs';\r\nimport { map, distinctUntilChanged, filter } from 'rxjs/operators';\r\n\r\nexport class DataStore<State> {\r\n private state$ = new BehaviorSubject<State>(this.initialState);\r\n\r\n private update$ = new Subject<Partial<State>>();\r\n\r\n get state() {\r\n return this.state$.value;\r\n }\r\n\r\n sliceState = <Slice>(\r\n selector: (state: State) => Slice,\r\n compareFn = (s1: Slice, s2: Slice) => s1 === s2\r\n ) => this.state$.pipe(map(selector), distinctUntilChanged(compareFn));\r\n\r\n sliceUpdate = <Slice>(\r\n selector: (state: Partial<State>) => Slice,\r\n filterFn = (x: Slice) => x !== undefined\r\n ) => this.update$.pipe(map(selector), filter(filterFn));\r\n\r\n constructor(private initialState: State) {}\r\n\r\n patch(state: Partial<State>) {\r\n let patchedState = state as State;\r\n\r\n if (typeof state === 'object' && !Array.isArray(state)) {\r\n patchedState = { ...this.state, ...state };\r\n }\r\n\r\n this.state$.next(patchedState);\r\n this.update$.next(patchedState);\r\n }\r\n\r\n set(state: State) {\r\n this.state$.next(state);\r\n this.update$.next(state);\r\n }\r\n\r\n reset() {\r\n this.set(this.initialState);\r\n }\r\n}\r\n","export enum LanguageTranslateKeys {\r\n SettingsTitle = 'language.settings.title',\r\n}\r\n\r\nexport type LanguageTranslateValues = {\r\n [key in LanguageTranslateKeys]: string;\r\n};\r\n\r\nexport const LanguageTranslateDefaults: LanguageTranslateValues = {\r\n [LanguageTranslateKeys.SettingsTitle]: 'Language Options',\r\n};\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { distinctUntilChanged, filter, map } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\nimport { LpxLanguage, LpxLanguageState } from './models';\r\nimport { LanguageTranslateKeys } from './language-translate-keys.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LanguageService {\r\n readonly store = new DataStore<LpxLanguageState>({ languages: [] });\r\n\r\n id = 'languages';\r\n\r\n convertLanguageToNavbarItem = (languages: LpxLanguage[]): LpxNavbarItem[] => {\r\n return languages.map((lang) => ({\r\n icon: '',\r\n text: lang.displayName,\r\n selected: lang.selected,\r\n action: () => {\r\n this.setSelectedLanguage(lang);\r\n return true;\r\n },\r\n }));\r\n };\r\n\r\n selectedLanguage$ = this.store.sliceState(\r\n ({ selectedLanguage }) => selectedLanguage\r\n );\r\n\r\n get selectedLanguage(): LpxLanguage {\r\n return this.store.state.selectedLanguage as LpxLanguage;\r\n }\r\n\r\n languageChange$: Observable<LpxLanguage> = this.selectedLanguage$.pipe(\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n filter<LpxLanguage>((lang: LpxLanguage) => lang !== undefined),\r\n distinctUntilChanged((a, b) => a?.cultureName === b?.cultureName)\r\n );\r\n languages$ = this.store.sliceState((state) => state.languages);\r\n languagesAsNavbarItems$ = this.languages$.pipe(\r\n map(this.convertLanguageToNavbarItem)\r\n );\r\n //TODO: PROVIDE API\r\n languagesAsSettingsGroup$ = this.languagesAsNavbarItems$.pipe(\r\n map((languages) => ({\r\n text: LanguageTranslateKeys.SettingsTitle as string,\r\n icon: 'bi bi-globe',\r\n id: this.id,\r\n children: languages,\r\n }))\r\n );\r\n\r\n constructor(@Inject(LPX_LANGUAGE) private languages: LpxLanguage[]) {\r\n this.init(this.languages);\r\n }\r\n\r\n setLanguages(languages: LpxLanguage[]) {\r\n this.init(languages);\r\n }\r\n\r\n init(languages: LpxLanguage[]): void {\r\n this.store.patch({\r\n languages,\r\n selectedLanguage: languages.find((lang) => lang.selected),\r\n });\r\n }\r\n\r\n setSelectedLanguage(lang: LpxLanguage) {\r\n this.store.patch({\r\n selectedLanguage: lang,\r\n });\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxTranslate, TranslateService } from './models';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_TOKEN = new InjectionToken<TranslateService>(\r\n 'LPX_TRANSLATE_SERVICE_TOKEN'\r\n);\r\nexport const LPX_TRANSLATE_TOKEN = new InjectionToken<LpxTranslate[]>(\r\n 'LPX_TRANSLATE_TOKEN'\r\n);\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxLanguageModuleOptions } from './models';\r\nimport { LPX_LANGUAGE } from './tokens';\r\nimport { LanguageService } from './language.service';\r\nimport { LanguageTranslateDefaults } from './language-translate-keys.enum';\r\nimport { LPX_TRANSLATE_TOKEN } from '../translate/tokens';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [CommonModule],\r\n})\r\nexport class LpxLanguageModule {\r\n static forRoot(\r\n options?: LpxLanguageModuleOptions\r\n ): ModuleWithProviders<LpxLanguageModule> {\r\n return {\r\n ngModule: LpxLanguageModule,\r\n providers: [\r\n {\r\n provide: LPX_LANGUAGE,\r\n useValue: options?.languages || [],\r\n },\r\n {\r\n provide: LPX_TRANSLATE_TOKEN,\r\n useValue: [LanguageTranslateDefaults],\r\n multi: true,\r\n },\r\n LanguageService,\r\n ],\r\n };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const ICON_MAP = {\r\n bagFill: 'bi bi-bag-fill',\r\n bellFill: 'bi bi-bell-fill',\r\n calendarWeek: 'bi bi-calendar2-week',\r\n chatDots: 'bi bi-chat-dots',\r\n chevronDown: 'bi bi-chevron-down',\r\n chevronUp: 'bi bi-chevron-up',\r\n gearConnected: 'bi bi-gear-wide-connected',\r\n filter: 'bi bi-filter',\r\n filterFill: 'bi bi-filter-circle-fill',\r\n layoutThreeColumns: 'bi bi-layout-three-columns',\r\n moon: 'bi bi-moon',\r\n square: 'bi bi-square',\r\n sunset: 'bi bi-brightness-alt-high-fill',\r\n sunup: 'bi bi-brightness-high-fill',\r\n star: 'bi bi-star',\r\n x: 'bi bi-x',\r\n xCircleFill: 'bi bi-x-circle-fill',\r\n};\r\n\r\nexport type ICON_MAP_TYPE = typeof ICON_MAP;\r\n\r\nexport const LEPTON_X_ICON_SET = new InjectionToken<ICON_MAP_TYPE>('LEPTON_X_ICON_SET');\r\n","import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE } from './icon.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-icon',\r\n template: `\r\n <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class IconComponent {\r\n @Input() iconClass?: keyof ICON_MAP_TYPE | string;\r\n\r\n get styleClass() {\r\n return (\r\n this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass\r\n );\r\n }\r\n\r\n constructor(@Inject(LEPTON_X_ICON_SET) public iconSet: ICON_MAP_TYPE) {}\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconComponent } from './icon.component';\r\nimport { LEPTON_X_ICON_SET, ICON_MAP_TYPE, ICON_MAP } from './icon.token';\r\n\r\nexport interface LpxIconSettings {\r\n iconSet?: ICON_MAP_TYPE;\r\n}\r\n\r\n@NgModule({\r\n declarations: [IconComponent],\r\n imports: [CommonModule],\r\n exports: [IconComponent],\r\n})\r\nexport class LpxIconModule {\r\n static forRoot(options?: LpxIconSettings): ModuleWithProviders<LpxIconModule> {\r\n return {\r\n ngModule: LpxIconModule,\r\n providers: [\r\n {\r\n provide: LEPTON_X_ICON_SET,\r\n useValue: options?.iconSet || ICON_MAP,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-brand-logo',\r\n templateUrl: './brand-logo.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BrandLogoComponent {}\r\n","<a routerLink=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n RouterModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface LayoutSettings {\r\n containerClass: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LayoutService {\r\n readonly store = new DataStore({\r\n containerClass: [''],\r\n });\r\n\r\n containerClass$: Observable<Array<string>> = this.store.sliceState(\r\n ({ containerClass }) => containerClass || [],\r\n );\r\n\r\n setClass(cssClass: string | Array<string>): void {\r\n const containerClass = Array.isArray(cssClass) ? cssClass : [cssClass];\r\n this.patchStore(containerClass);\r\n }\r\n\r\n addClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n this.patchStore([...containerClass, cssClass]);\r\n }\r\n\r\n removeClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex((item) => item === cssClass);\r\n if (index === -1) return;\r\n const update = [\r\n ...containerClass.slice(0, index),\r\n ...containerClass.slice(index + 1),\r\n ];\r\n this.patchStore(update);\r\n }\r\n\r\n removeClasses(classlist: string[]) {\r\n const { containerClass } = this.store.state;\r\n const filteredClasslist = containerClass.filter(\r\n (clss) => !classlist.includes(clss),\r\n );\r\n this.patchStore(filteredClasslist);\r\n }\r\n\r\n toggleClass(cssClass: string): void {\r\n const { containerClass } = this.store.state;\r\n const index = containerClass.findIndex((item) => item === cssClass);\r\n if (index === -1) {\r\n this.addClass(cssClass);\r\n } else {\r\n this.removeClass(cssClass);\r\n }\r\n }\r\n\r\n patchStore(containerClass: string[]) {\r\n this.store.patch({\r\n containerClass,\r\n });\r\n }\r\n}\r\n","import { InjectionToken, Type } from '@angular/core';\r\nimport { LpxNavbarItem } from './models';\r\n\r\nexport const CONTENT_BEFORE_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_BEFORE_ROUTES'\r\n);\r\nexport const CONTENT_AFTER_ROUTES = new InjectionToken<Type<any>[][]>(\r\n 'CONTENT_AFTER_ROUTES'\r\n);\r\nexport const LPX_MENU_ITEMS = new InjectionToken<LpxNavbarItem[]>(\r\n 'LPX_MENU_ITEMS'\r\n);\r\n","import { from, Observable, of } from 'rxjs';\r\nimport { ArrayTypeDeep, RecursiveArray, VariantSource } from '../models/common';\r\n\r\nexport function sortItems<T extends { order?: number }>(a: T, b: T): number {\r\n if (!a.order) {\r\n return 1;\r\n }\r\n if (!b.order) {\r\n return -1;\r\n }\r\n\r\n return a.order - b.order;\r\n}\r\n\r\nexport function flatArrayDeepToObject<T extends { [key: string]: any }>(\r\n arr: RecursiveArray<ArrayTypeDeep<T>>\r\n): ArrayTypeDeep<T> {\r\n return arr.reduce(\r\n (acc, curr) => ({\r\n ...acc,\r\n ...(Array.isArray(curr) ? flatArrayDeepToObject(curr) : curr),\r\n }),\r\n {}\r\n ) as ArrayTypeDeep<T>;\r\n}\r\n\r\nexport function getStream$<T>(source: VariantSource<T>): Observable<T> {\r\n return source instanceof Observable\r\n ? source\r\n : source instanceof Promise\r\n ? from(source)\r\n : of(source);\r\n}\r\n\r\nexport function isNullOrUndefined<T>(obj: T) {\r\n return obj === null || obj === undefined;\r\n}\r\n\r\nexport function isArray<T>(obj: T): boolean {\r\n return Array.isArray(obj);\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { isArray } from './common';\r\n\r\nexport function createGroupMap<T extends { group?: string }>(\r\n list: T[],\r\n othersGroupKey: string,\r\n skipGroupCheck: boolean = false\r\n): Map<string, T[]> | undefined {\r\n if (\r\n !skipGroupCheck &&\r\n (!isArray(list) || !list.some((node) => Boolean(node.group)))\r\n )\r\n return undefined;\r\n\r\n const mapGroup = new Map<string, T[]>();\r\n\r\n for (const node of list) {\r\n const group = node?.group || othersGroupKey;\r\n if (typeof group !== 'string') {\r\n throw new Error(`Invalid group: ${group}`);\r\n }\r\n\r\n const items = mapGroup.get(group) || [];\r\n items.push(node);\r\n mapGroup.set(group, items);\r\n }\r\n return mapGroup;\r\n}\r\n\r\nexport function getItemsFromGroup<S extends { items: R[] }, R>(\r\n list: S[],\r\n pred?: ItemPropPredicate<R>\r\n): R[] | undefined {\r\n return list?.reduce<R[]>(\r\n (acc, { items }) => [...acc, ...(pred ? items.filter(pred) : items)],\r\n []\r\n );\r\n}\r\n\r\nexport type ItemPropPredicate<T> = (\r\n prop: T\r\n) => boolean | Promise<boolean> | Observable<boolean>;\r\n","export const OTHERS_GROUP_KEY = 'AbpUi::OthersGroup';\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter, map, take, tap } from 'rxjs/operators';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { createGroupMap } from '../../utils';\r\nimport { OTHERS_GROUP_KEY } from '../../consts';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\r\n protected readonly router = inject(Router);\r\n menuItems = inject(LPX_MENU_ITEMS);\r\n\r\n private store = new DataStore<LpxNavbarItem[]>(\r\n this.addContainerLinks(this.menuItems),\r\n );\r\n\r\n navbarItems$ = this.store.sliceState((state) => state);\r\n\r\n groupedNavbarItems$ = this.store\r\n .sliceState((state) => state)\r\n .pipe(\r\n map((items) => {\r\n if (!items.some((f) => !!f.group)) {\r\n return;\r\n }\r\n\r\n const map = createGroupMap(items, OTHERS_GROUP_KEY) || [];\r\n return Array.from(map, ([group, items]) => ({\r\n group,\r\n items,\r\n }));\r\n }),\r\n );\r\n\r\n constructor() {\r\n this.expandItemByLink$().pipe(take(1)).subscribe();\r\n }\r\n\r\n addNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.store.state, ...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n setNavbarItems(...menuItems: LpxNavbarItem[]): void {\r\n this.store.set([...this.addContainerLinks(menuItems)]);\r\n }\r\n\r\n // TODO: muhammed: refactor this method to be readable\r\n addChildren(id: string, ...menuItems: LpxNavbarItem[]): void {\r\n const parent = this.findById(id, this.store.state);\r\n const update = (\r\n items: LpxNavbarItem[],\r\n location: Array<number>,\r\n link = '',\r\n ): LpxNavbarItem[] => {\r\n const i = location.shift();\r\n return items.reduce((acc, item, index) => {\r\n return [\r\n ...acc,\r\n ...(index === i\r\n ? [\r\n {\r\n ...item,\r\n children: !location.length\r\n ? [\r\n ...(item.children || []),\r\n ...this.addContainerLinks(\r\n menuItems,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n ]\r\n : update(\r\n item.children || [],\r\n location,\r\n `${link}/${item.containerLink}`,\r\n ),\r\n },\r\n ]\r\n : [item]),\r\n ];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n\r\n const updated = update(this.store.state, parent.location);\r\n this.store.patch(updated);\r\n }\r\n\r\n findByLink(link: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('link', link, items);\r\n }\r\n\r\n expandItemByLink$() {\r\n return this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n tap(() => this.expandItems()),\r\n );\r\n }\r\n\r\n expandItems() {\r\n const route = this.getRouteItem();\r\n if (route?.item) {\r\n const expanded = this.calculateExpandState(\r\n this.store.state,\r\n route.location,\r\n );\r\n this.store.patch(expanded);\r\n }\r\n }\r\n\r\n getRouteItem() {\r\n return this.findByLink(this.router.url);\r\n }\r\n\r\n calculateExpandState(\r\n items: LpxNavbarItem[],\r\n indexes: Array<number>,\r\n ): LpxNavbarItem[] {\r\n const matchIndex = indexes.shift();\r\n return items.reduce((acc, item, index) => {\r\n if (index === matchIndex) {\r\n return [\r\n ...acc,\r\n {\r\n ...item,\r\n expanded: true,\r\n selected: true,\r\n children: this.calculateExpandState(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n const newItem = {\r\n ...item,\r\n ...(item.children\r\n ? { children: this.collapseChildren(item.children) }\r\n : {}),\r\n };\r\n return [...acc, { ...newItem, expanded: false, selected: false }];\r\n }, [] as LpxNavbarItem[]);\r\n }\r\n\r\n collapseChildren(children: Array<LpxNavbarItem>): Array<LpxNavbarItem> {\r\n return [\r\n ...children.map((child) => ({\r\n ...child,\r\n expanded: false,\r\n selected: false,\r\n children: child.children ? this.collapseChildren(child.children) : [],\r\n })),\r\n ];\r\n }\r\n\r\n private findById(id: string, items?: LpxNavbarItem[]) {\r\n return this.findByProp('id', id, items);\r\n }\r\n\r\n private findByProp(\r\n prop: keyof LpxNavbarItem,\r\n value: string,\r\n items?: LpxNavbarItem[],\r\n location: Array<number> = [],\r\n ) {\r\n const navbarItems = items || this.store.state;\r\n const itemIndex = navbarItems.findIndex((i) => i[prop] === value);\r\n let item;\r\n if (itemIndex === -1) {\r\n navbarItems.forEach((i, index) => {\r\n if (i.children) {\r\n const child = this.findByProp(prop, value, i.children, [\r\n ...location,\r\n index,\r\n ]);\r\n if (child?.item) {\r\n item = child.item;\r\n location = child.location;\r\n }\r\n }\r\n });\r\n } else {\r\n item = navbarItems[itemIndex];\r\n location.push(itemIndex);\r\n }\r\n\r\n return { item, location };\r\n }\r\n\r\n private addContainerLinks(\r\n items: LpxNavbarItem[],\r\n link = '',\r\n ): LpxNavbarItem[] {\r\n return items.map((item) => ({\r\n ...item,\r\n ...(item.link && link ? { link: `${link}/${item.link}` } : {}),\r\n children: this.addContainerLinks(\r\n item.children || [],\r\n `${link ? link + '/' : ''}${item.containerLink || ''}`,\r\n ),\r\n }));\r\n }\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-logo-panel]',\r\n})\r\nexport class LogoPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { filter, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RoutesService {\r\n protected readonly router = inject(Router);\r\n protected readonly location = inject(Location);\r\n\r\n readonly currentNavigation = toSignal(\r\n this.router.events.pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n map(() => this.location.path() || '/'),\r\n ),\r\n { initialValue: this.location.path() || '/' },\r\n );\r\n}\r\n","import {\r\n OnInit,\r\n Directive,\r\n OnDestroy,\r\n Input,\r\n ViewContainerRef,\r\n TemplateRef,\r\n} from '@angular/core';\r\nimport { EMPTY, from, Observable, of, Subscription } from 'rxjs';\r\n\r\n@Directive({\r\n selector: '[lpxVisible]',\r\n standalone: true,\r\n})\r\nexport class LpxVisibleDirective implements OnDestroy, OnInit {\r\n conditionSubscription: Subscription | undefined;\r\n isVisible: boolean | undefined;\r\n\r\n @Input('lpxVisible') set lpxVisible(\r\n value: boolean | Promise<boolean> | Observable<boolean> | undefined | null\r\n ) {\r\n this.condition$ = checkType(value);\r\n this.subscribeToCondition();\r\n }\r\n\r\n private condition$: Observable<boolean> = of(false);\r\n\r\n constructor(\r\n private viewContainerRef: ViewContainerRef,\r\n private templateRef: TemplateRef<unknown>\r\n ) {}\r\n ngOnInit(): void {\r\n this.updateVisibility();\r\n }\r\n ngOnDestroy(): void {\r\n this.conditionSubscription?.unsubscribe();\r\n }\r\n\r\n private subscribeToCondition() {\r\n this.conditionSubscription = this.condition$.subscribe((value) => {\r\n this.isVisible = value;\r\n this.updateVisibility();\r\n });\r\n }\r\n private updateVisibility() {\r\n this.viewContainerRef.clear();\r\n // it should be false not falsy\r\n if(this.isVisible === false) {\r\n return;\r\n }\r\n this.viewContainerRef.createEmbeddedView(this.templateRef);\r\n \r\n }\r\n}\r\n\r\nfunction checkType(value: boolean | Promise<boolean> | Observable<boolean> | undefined | null) {\r\n if (value instanceof Promise) {\r\n return from(value);\r\n } else if (value instanceof Observable) {\r\n return value;\r\n } else if (typeof value === 'boolean') {\r\n return of(value);\r\n } else if(value === undefined || value === null ) {\r\n return of(true)\r\n }\r\n else {\r\n return EMPTY;\r\n }\r\n}\r\n","import {\r\n animate,\r\n animation,\r\n trigger,\r\n state,\r\n style,\r\n transition,\r\n useAnimation,\r\n} from '@angular/animations';\r\n\r\nexport const collapseY = animation(\r\n [\r\n style({ height: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ height: '0', padding: '0px' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const collapseYWithMargin = animation(\r\n [\r\n style({ 'margin-top': '0' }),\r\n animate('{{ time }} {{ easing }}', style({ 'margin-left': '-100%' })),\r\n ],\r\n {\r\n params: { time: '500ms', easing: 'ease' },\r\n },\r\n);\r\n\r\nexport const collapseX = animation(\r\n [\r\n style({ width: '*', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ width: '0', padding: '0px' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const expandY = animation(\r\n [\r\n style({ height: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ height: '*', padding: '*' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const expandYWithMargin = animation(\r\n [\r\n style({ 'margin-top': '-100%' }),\r\n animate('{{ time }} {{ easing }}', style({ 'margin-top': '0' })),\r\n ],\r\n {\r\n params: { time: '500ms', easing: 'ease' },\r\n },\r\n);\r\n\r\nexport const expandX = animation(\r\n [\r\n style({ width: '0', overflow: 'hidden', 'box-sizing': 'border-box' }),\r\n animate('{{ time }} {{ easing }}', style({ width: '*', padding: '*' })),\r\n ],\r\n { params: { time: '350ms', easing: 'ease' } },\r\n);\r\n\r\nexport const collapse = trigger('collapse', [\r\n state('collapsed', style({ height: '0', overflow: 'hidden' })),\r\n state('expanded', style({ height: '*', overflow: 'hidden' })),\r\n transition('expanded => collapsed', useAnimation(collapseY)),\r\n transition('collapsed => expanded', useAnimation(expandY)),\r\n]);\r\n\r\nexport const collapseWithMargin = trigger('collapseWithMargin', [\r\n state('collapsed', style({ 'margin-top': '-100%' })),\r\n state('expanded', style({ 'margin-top': '0' })),\r\n transition('expanded => collapsed', useAnimation(collapseYWithMargin), {\r\n params: { time: '400ms', easing: 'linear' },\r\n }),\r\n transition('collapsed => expanded', useAnimation(expandYWithMargin)),\r\n]);\r\n\r\nexport const collapseLinearWithMargin = trigger('collapseLinearWithMargin', [\r\n state('collapsed', style({ 'margin-top': '-100vh' })),\r\n state('expanded', style({ 'margin-top': '0' })),\r\n transition(\r\n 'expanded => collapsed',\r\n useAnimation(collapseYWithMargin, {\r\n params: { time: '200ms', easing: 'linear' },\r\n }),\r\n ),\r\n transition(\r\n 'collapsed => expanded',\r\n useAnimation(expandYWithMargin, {\r\n params: { time: '250ms', easing: 'linear' },\r\n }),\r\n ),\r\n]);\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { UserProfile } from '../../models';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UserProfileService {\r\n private store = new DataStore({} as UserProfile);\r\n user$ = this.store.sliceState((state) => state);\r\n\r\n setUser(user: UserProfile) {\r\n this.store.set(user);\r\n }\r\n\r\n patchUser(user: Partial<UserProfile>) {\r\n this.store.patch(user);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BodyService {\r\n body = document.querySelector('body');\r\n classes = {\r\n overflowYHidden: 'overflow-y-hidden',\r\n };\r\n\r\n disableScrollY() {\r\n this.body?.classList.add(this.classes.overflowYHidden);\r\n }\r\n\r\n enableScrollY() {\r\n this.body?.classList.remove(this.classes.overflowYHidden);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { TranslateService } from './models';\r\n\r\n@Injectable()\r\nexport class DefaultTranslateService implements TranslateService {\r\n get$(key: string, defaultValue?: string): Observable<string> {\r\n return of(defaultValue || key || '');\r\n }\r\n\r\n get(key: string, defaultValue?: string): string {\r\n return defaultValue || key || '';\r\n }\r\n}\r\n","import { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN, LPX_TRANSLATE_TOKEN } from './tokens';\r\nimport { LpxTranslate, TranslateService } from './models';\r\nimport { flatArrayDeepToObject } from '../../utils/common';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LpxThemeTranslateService {\r\n private _content: LpxTranslate = flatArrayDeepToObject(this.translateValues);\r\n constructor(\r\n @Optional()\r\n @Inject(LPX_TRANSLATE_TOKEN)\r\n private translateValues: Array<LpxTranslate[]>,\r\n @Inject(LPX_TRANSLATE_SERVICE_TOKEN)\r\n private translateService: TranslateService\r\n ) {}\r\n\r\n // TODO: PROVIDE API : Implement args\r\n translate$(key: string, ...args: any[]): Observable<string> {\r\n return this.translateService.get$(key, this._content[key]);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AuthService } from './models';\r\n\r\nimport { UserProfileService } from '../user-profile';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class DefaultAuthService implements AuthService {\r\n constructor(private userProfileService: UserProfileService) {}\r\n isUserExists$ = this.userProfileService.user$.pipe(\r\n map((user) => !!user && Object.keys(user).length > 0)\r\n );\r\n\r\n navigateToLogin(): void {\r\n return;\r\n }\r\n}\r\n","import {InjectionToken} from \"@angular/core\";\r\nimport {AuthService} from \"./models\";\r\n\r\nexport const LPX_AUTH_SERVICE_TOKEN = new InjectionToken<AuthService>(\r\n 'LPX_AUTH_SERVICE_TOKEN'\r\n);\r\n","import {Provider} from \"@angular/core\";\r\nimport {LPX_AUTH_SERVICE_TOKEN} from \"./tokens\";\r\nimport {DefaultAuthService} from \"./default-auth.service\";\r\n\r\nexport const LPX_AUTH_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_AUTH_SERVICE_TOKEN,\r\n useClass: DefaultAuthService,\r\n};\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LpxLocalStorageService implements Storage {\r\n\r\n constructor() { }\r\n [name: string]: any;\r\n get length(): number {\r\n return localStorage.length\r\n }\r\n clear(): void {\r\n localStorage.clear();\r\n }\r\n getItem(key: string): string | null {\r\n return localStorage.getItem(key);\r\n }\r\n key(index: number): string |null{\r\n return localStorage.key(index);\r\n }\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n setItem(key: string, value: string): void {\r\n localStorage.setItem(key, value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'lpxTranslate',\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n constructor(private lpxThemeTranslateService: LpxThemeTranslateService) {}\r\n\r\n transform(value: string, ...args: any[]) {\r\n return this.lpxThemeTranslateService.translate$(value, args);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { of } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { getStream$ } from '../../../utils/common';\r\nimport { LpxNavbarItem } from '../models';\r\nimport { collapse } from '../../../animations/collapse.animations';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [collapse],\r\n})\r\nexport class SubNavbarComponent {\r\n protected readonly injector = inject(Injector);\r\n\r\n @Input() item!: LpxNavbarItem;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n onItemClick(menuItem: LpxNavbarItem): void {\r\n let action$ = of(true);\r\n if (menuItem.action) {\r\n const result = menuItem.action();\r\n action$ = getStream$(result);\r\n }\r\n action$.pipe(take(1)).subscribe((result) => {\r\n if (result) {\r\n this.processItemClick(menuItem);\r\n }\r\n });\r\n }\r\n\r\n onChildExpand(child: LpxNavbarItem): void {\r\n if (child.expanded) {\r\n this.item?.children\r\n ?.filter((otherChild) => otherChild !== child)\r\n .forEach((otherChild) => {\r\n otherChild.expanded = false;\r\n otherChild.selected = false;\r\n });\r\n }\r\n }\r\n\r\n processItemClick(menuItem: LpxNavbarItem): void {\r\n if (menuItem.children?.length) {\r\n menuItem.expanded = !menuItem.expanded;\r\n this.expand.emit(menuItem);\r\n return;\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n\r\n if (!this.routerItem()) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","@if (item.component) {\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n} @else {\r\n <ng-container *ngTemplateOutlet=\"defaultTemplate\"></ng-container>\r\n}\r\n\r\n<ng-template #defaultTemplate>\r\n <a\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [class.selected]=\"item.selected\"\r\n [class.expanded]=\"item.children?.length && item.expanded\"\r\n (click)=\"onItemClick(item)\"\r\n >\r\n <lpx-icon\r\n class=\"lpx-menu-item-icon\"\r\n *ngIf=\"item.icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.template || textTmpl;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n @if (item.text) {\r\n <span class=\"lpx-menu-item-text hidden-in-hover-trigger\">{{\r\n item.text | lpxTranslate | async\r\n }}</span>\r\n }\r\n </ng-template>\r\n\r\n @if (item.children?.length) {\r\n <lpx-icon\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n }\r\n </a>\r\n\r\n @if (item.children?.length) {\r\n <ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n >\r\n @for (child of item.children; track $index) {\r\n <li\r\n class=\"lpx-inner-menu-item\"\r\n *lpxVisible=\"!child.visible || child.visible(child, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"child\"\r\n (routeClick)=\"this.routeClick.emit($event)\"\r\n (expand)=\"onChildExpand($event)\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n</ng-template>\r\n","import {\r\n Component,\r\n effect,\r\n EventEmitter,\r\n inject,\r\n Injector,\r\n input,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { GroupedNavbarItems, LpxNavbarItem } from '../models';\r\nimport { getItemsFromGroup } from '../../../utils';\r\nimport { RoutesService } from '../../../services/route/routes.service';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\nexport type NavbarGroupItemsType = GroupedNavbarItems[] | null | undefined;\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-navbar-routes',\r\n templateUrl: './navbar-routes.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarRoutesComponent {\r\n protected readonly injector = inject(Injector);\r\n protected readonly routesService = inject(RoutesService);\r\n\r\n @Input()\r\n groupedItems: NavbarGroupItemsType;\r\n\r\n @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n routerItem = input<boolean>();\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n private get itemsFromGroup(): LpxNavbarItem[] | undefined {\r\n if (!this.groupedItems) {\r\n return undefined;\r\n }\r\n\r\n return getItemsFromGroup<GroupedNavbarItems, LpxNavbarItem>(\r\n this.groupedItems,\r\n );\r\n }\r\n\r\n constructor() {\r\n this.fixNavbarItemsByRouter();\r\n }\r\n\r\n private isExpandedOrSelected = (item: LpxNavbarItem): boolean =>\r\n !!(item.expanded || item.selected);\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n const items = this.itemsFromGroup || menuItems;\r\n if (!items) {\r\n return;\r\n }\r\n\r\n items\r\n .filter((item) => item !== menuItem)\r\n .forEach((item) => (item.expanded = false));\r\n }\r\n }\r\n\r\n onRouteClick(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n const expandedItems = menuItems?.filter(this.isExpandedOrSelected);\r\n const expandedGroupItems = this.itemsFromGroup?.filter(\r\n this.isExpandedOrSelected,\r\n );\r\n\r\n const items = expandedGroupItems || expandedItems;\r\n\r\n if (items) {\r\n items\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, [])\r\n ?.filter(\r\n (item) =>\r\n !this.checkChildrenIncludesItem(item, menuItem) &&\r\n item !== menuItem,\r\n )\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n\r\n this.routeClick.emit(menuItem);\r\n }\r\n\r\n checkChildrenIncludesItem(\r\n item: LpxNavbarItem,\r\n menuItem: LpxNavbarItem,\r\n ): boolean {\r\n return (\r\n item.children?.reduce(\r\n (acc, child) =>\r\n acc ||\r\n child === menuItem ||\r\n this.checkChildrenIncludesItem(child, menuItem),\r\n false,\r\n ) || false\r\n );\r\n }\r\n\r\n flatChildren(menuItems: NavbarItemsType): LpxNavbarItem[] {\r\n return (\r\n menuItems?.reduce<LpxNavbarItem[]>((acc, item) => {\r\n return [...acc, item, ...this.flatChildren(item.children || [])];\r\n }, []) || []\r\n );\r\n }\r\n\r\n fixNavbarItemsByRouter() {\r\n effect(() => {\r\n const currentNavigation = this.routesService.currentNavigation();\r\n\r\n if (!currentNavigation) {\r\n return;\r\n }\r\n\r\n this.fixNavbarItems(\r\n currentNavigation,\r\n this.navbarItems as LpxNavbarItem[],\r\n );\r\n });\r\n }\r\n\r\n fixNavbarItems(currentUrl: string, items: LpxNavbarItem[]): void {\r\n if (!items) {\r\n return;\r\n }\r\n\r\n for (const item of items) {\r\n if (item.children?.length) {\r\n item.expanded = this.hasUrlInChildren(item, currentUrl);\r\n this.fixNavbarItems(currentUrl, item.children);\r\n } else {\r\n item.selected = item.link === currentUrl;\r\n }\r\n }\r\n }\r\n\r\n hasUrlInChildren(item: LpxNavbarItem, url: string): boolean {\r\n if (item.link === url) {\r\n return true;\r\n }\r\n\r\n if (item.children) {\r\n for (const child of item.children) {\r\n const found = this.hasUrlInChildren(child, url);\r\n if (found) {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n @if (groupedItems && groupedItems.length) {\r\n @for (item of groupedItems; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"groupText; context: { $implicit: item }\"\r\n ></ng-container>\r\n\r\n @for (navbarItem of item.items; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: navbarItem }\"\r\n ></ng-container>\r\n }\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"defaultRoute\"></ng-container>\r\n }\r\n</ul>\r\n\r\n<ng-template #defaultRoute>\r\n @for (item of navbarItems; track $index) {\r\n <ng-container\r\n *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #groupText let-item>\r\n @if (item.items.length) {\r\n <li class=\"group-menu-item hidden-in-hover-trigger\">\r\n {{ item.group | lpxTranslate | async }}\r\n </li>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #itemTemplate let-item>\r\n <li\r\n class=\"outer-menu-item\"\r\n *lpxVisible=\"!item.visible || item.visible(item, injector)\"\r\n >\r\n <lpx-sub-navbar\r\n [item]=\"item\"\r\n (expand)=\"onSubnavbarExpand($event, navbarItems)\"\r\n (routeClick)=\"onRouteClick($event, navbarItems)\"\r\n [routerItem]=\"routerItem()\"\r\n ></lpx-sub-navbar>\r\n </li>\r\n</ng-template>\r\n","import {\r\n AfterViewChecked,\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n PLATFORM_ID,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n inject,\r\n} from '@angular/core';\r\nimport { isPlatformBrowser } from '@angular/common';\r\nimport { map } from 'rxjs';\r\nimport { LayoutService } from '../../services/layout';\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LogoPanelDirective } from '../../panels/logo-panel.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent implements AfterViewChecked {\r\n protected readonly layoutService = inject(LayoutService);\r\n protected readonly platformId = inject<Object>(PLATFORM_ID);\r\n public readonly service = inject(NavbarService);\r\n public readonly injector = inject(Injector);\r\n\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n @ContentChild(LogoPanelDirective) logoPanel?: LogoPanelDirective;\r\n\r\n protected didResized = false;\r\n protected initialHover = false;\r\n\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n showFilterMenu$ = this.service.navbarItems$.pipe(\r\n map((items) => !!items.length),\r\n );\r\n\r\n constructor() {\r\n this.contentBefore = this.flatContents(CONTENT_BEFORE_ROUTES);\r\n this.contentAfter = this.flatContents(CONTENT_AFTER_ROUTES);\r\n }\r\n\r\n toggleSidebarHover() {\r\n this.didResized = true;\r\n this.layoutService.toggleClass('hover-trigger');\r\n this.initialHover = !this.initialHover;\r\n\r\n if (this.initialHover) {\r\n this.layoutService.addClass('initial-hover');\r\n } else {\r\n this.layoutService.removeClass('initial-hover');\r\n }\r\n }\r\n\r\n handleInitialHover() {\r\n if (this.initialHover) {\r\n this.layoutService.removeClass('initial-hover');\r\n }\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (!isPlatformBrowser(this.platformId)) {\r\n return;\r\n }\r\n if (this.didResized) {\r\n this.didResized = false;\r\n window.dispatchEvent(new Event('resize'));\r\n }\r\n }\r\n\r\n private flatContents(token: InjectionToken<Type<any>[][]>) {\r\n const contents = this.injector.get(token, []);\r\n return contents.reduce((acc, val) => acc.concat(val), []);\r\n }\r\n}\r\n","<nav class=\"lpx-nav\" (mouseenter)=\"handleInitialHover()\">\r\n <div class=\"lpx-logo-container\">\r\n <ng-container\r\n *ngTemplateOutlet=\"logoPanel?.template || defaultLogo\"\r\n ></ng-container>\r\n <lpx-icon\r\n class=\"menu-collapse-icon hidden-in-hover-trigger\"\r\n iconClass=\"bi bi-filter-left\"\r\n (click)=\"toggleSidebarHover()\"\r\n ></lpx-icon>\r\n </div>\r\n\r\n @if (showFilterMenu$ | async) {\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentBefore }\r\n \"\r\n ></ng-container>\r\n }\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: {\r\n $implicit: service.navbarItems$ | async,\r\n groupItems: service.groupedNavbarItems$ | async,\r\n }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n customContentTemplate;\r\n context: { $implicit: contentAfter }\r\n \"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items let-groupItems=\"groupItems\">\r\n <lpx-navbar-routes\r\n [navbarItems]=\"items\"\r\n [groupedItems]=\"groupItems\"\r\n [routerItem]=\"true\"\r\n ></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n @for (component of contents; track $index) {\r\n <ng-container\r\n *ngComponentOutlet=\"component; injector: injector\"\r\n ></ng-container>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #defaultLogo>\r\n <lpx-brand-logo></lpx-brand-logo>\r\n</ng-template>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { VariantSource } from '../../models/common';\r\nimport { getStream$ } from '../../utils/common';\r\n\r\n@Pipe({\r\n standalone: false,\r\n name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(\r\n value: VariantSource<string> | VariantSource<number> | undefined,\r\n ): Observable<string | number> {\r\n return value ? getStream$(value) : of('');\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ToObservablePipe } from './to-observable.pipe';\r\n\r\n@NgModule({\r\n declarations: [ToObservablePipe],\r\n imports: [CommonModule],\r\n exports: [ToObservablePipe],\r\n})\r\nexport class ToObservableModule {}\r\n","import { inject, Pipe, PipeTransform, SecurityContext } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'lpxSafeHtml', standalone: true })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n private readonly sanitizer = inject(DomSanitizer);\r\n \r\n transform(value: string): string {\r\n if (!value || typeof value !== 'string') return '';\r\n return this.sanitizer.sanitize(SecurityContext.HTML, value) || '';\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslatePipe } from './translate.pipe';\r\n\r\n@NgModule({\r\n declarations: [TranslatePipe],\r\n imports: [CommonModule],\r\n exports: [TranslatePipe],\r\n})\r\nexport class LpxTranslateModule {}\r\n","import { ModuleWithProviders, NgModule, Type } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxBrandLogoModule } from '../brand-logo/brand-logo.module';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { NavbarComponent } from './navbar.component';\r\nimport { SubNavbarComponent } from './sub-navbar/sub-navbar.component';\r\nimport { NavbarRoutesComponent } from './navbar-routes/navbar-routes.component';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { LpxNavbarItem } from './models';\r\nimport {\r\n CONTENT_AFTER_ROUTES,\r\n CONTENT_BEFORE_ROUTES,\r\n LPX_MENU_ITEMS,\r\n} from './navbar.token';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\nimport { LpxTranslateModule } from '../../pipes';\r\nimport { LpxVisibleDirective } from '../../directives/visible.directive';\r\n\r\nconst exportedDeclarations = [\r\n NavbarComponent,\r\n SubNavbarComponent,\r\n NavbarRoutesComponent,\r\n NavbarRoutesDirective,\r\n];\r\n\r\nexport interface LpxNavbarSettings {\r\n menuItems?: LpxNavbarItem[];\r\n contentAfterRoutes?: Type<any>[];\r\n contentBeforeRoutes?: Type<any>[];\r\n}\r\n\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n RouterModule,\r\n LpxBrandLogoModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n LpxTranslateModule,\r\n LpxVisibleDirective,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxNavbarModule {\r\n static forRoot(\r\n options: LpxNavbarSettings = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: LPX_MENU_ITEMS,\r\n useValue: options?.menuItems || [],\r\n },\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n\r\n static forChild(\r\n options: Omit<LpxNavbarSettings, 'menuItems'> = {},\r\n ): ModuleWithProviders<LpxNavbarModule> {\r\n return {\r\n ngModule: LpxNavbarModule,\r\n providers: [\r\n {\r\n provide: CONTENT_AFTER_ROUTES,\r\n useValue: options?.contentAfterRoutes || [],\r\n multi: true,\r\n },\r\n {\r\n provide: CONTENT_BEFORE_ROUTES,\r\n useValue: options?.contentBeforeRoutes || [],\r\n multi: true,\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { Observable } from 'rxjs';\r\n\r\n// TODO : add onClick\r\nexport interface BreadcrumbItem {\r\n icon?: string;\r\n text: string | Observable<string>;\r\n link?: string;\r\n children?: BreadcrumbItem[];\r\n expanded?: boolean;\r\n active?: boolean;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbService {\r\n private store = new DataStore<BreadcrumbItem[]>([]);\r\n items$ = this.store.sliceState((state) => state);\r\n // TODO: generate id per item\r\n add(item: BreadcrumbItem | BreadcrumbItem[]): void {\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...this.store.state, ...items]);\r\n }\r\n\r\n // TODO: generate id per item\r\n insert(item: BreadcrumbItem | BreadcrumbItem[], index: number): void {\r\n const state = this.store.state;\r\n const items = Array.isArray(item) ? item : [item];\r\n this.store.set([...state.slice(0, index), ...items, ...state.slice(index)]);\r\n }\r\n\r\n // TODO: generate id per item\r\n setItems(items: BreadcrumbItem[]): void {\r\n this.store.set(items);\r\n }\r\n\r\n // TODO: Add remove function\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n EventEmitter,\r\n HostListener,\r\n ElementRef,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpxClickOutside]',\r\n})\r\nexport class ClickOutsideDirective {\r\n @Output() lpxClickOutside = new EventEmitter();\r\n @Input()\r\n exceptedRefs: Array<ElementRef> = [];\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n !(\r\n this.elementRef.nativeElement.contains(event.target) ||\r\n this.exceptedRefs.some((ref) =>\r\n ref.nativeElement.contains(event.target),\r\n )\r\n )\r\n ) {\r\n this.lpxClickOutside.emit();\r\n }\r\n }\r\n}\r\n","import { Component, ViewEncapsulation } from '@angular/core';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { ICON_MAP } from '../icon/icon.token';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class BreadcrumbComponent {\r\n icon = ICON_MAP;\r\n\r\n constructor(public service: BreadcrumbService) {}\r\n\r\n onClick(item: BreadcrumbItem): void {\r\n if (item.children) {\r\n item.expanded = !item.expanded;\r\n }\r\n }\r\n\r\n // TODO: close dropdown when click outside\r\n}\r\n","<nav aria-label=\"breadcrumb\">\r\n <ol class=\"lpx-breadcrumb\">\r\n @for (item of service.items$ | async; track $index; let last = $last) {\r\n <li\r\n class=\"lpx-breadcrumb-item\"\r\n (click)=\"onClick(item)\"\r\n [class.expanded]=\"item.expanded\"\r\n (lpxClickOutside)=\"item.expanded = false\"\r\n >\r\n @if (item.icon) {\r\n <lpx-icon\r\n class=\"lpx-breadcrumb-item-icon\"\r\n [iconClass]=\"item.icon\"\r\n ></lpx-icon>\r\n }\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n item.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n </li>\r\n @if (!last) {\r\n <li class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n }\r\n }\r\n </ol>\r\n</nav>\r\n\r\n<ng-template #linkTemplate let-item>\r\n <a [routerLink]=\"item.link\"> {{ item.text | toObservable | async }} </a>\r\n</ng-template>\r\n<ng-template #textTemplate let-item>\r\n <span class=\"lpx-breadcrumb-item-text\">\r\n {{ item.text | toObservable | async }}\r\n </span>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ClickOutsideDirective } from './click-outside.directive';\r\n\r\n@NgModule({\r\n declarations: [ClickOutsideDirective],\r\n imports: [CommonModule],\r\n exports: [ClickOutsideDirective],\r\n})\r\nexport class LpxClickOutsideModule {}\r\n","import { inject, Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport {\r\n ABP,\r\n LocalizationService,\r\n RoutesService,\r\n TreeNode,\r\n} from '@abp/ng.core';\r\nimport { NavbarService } from '../navbar/navbar.service';\r\nimport { BreadcrumbItem, BreadcrumbService } from './breadcrumb.service';\r\nimport { combineLatest } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\nimport { LpxNavbarItem } from '../navbar';\r\n\r\ninterface BreadcrumbNavigation extends LpxNavbarItem {\r\n siblings: BreadcrumbNavigation[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BreadcrumbRouteListenerService {\r\n protected readonly navbarService = inject(NavbarService);\r\n protected readonly router = inject(Router);\r\n protected readonly routes = inject(RoutesService);\r\n protected readonly breadcrumbService = inject(BreadcrumbService);\r\n protected readonly localizationService = inject(LocalizationService);\r\n\r\n subscribeRoute(): void {\r\n combineLatest([\r\n this.router.events.pipe(\r\n filter((event) => event instanceof NavigationEnd),\r\n ),\r\n this.navbarService.navbarItems$.pipe(filter((items) => !!items.length)),\r\n ]).subscribe(([event, items]) => {\r\n const currentPath = (event as NavigationEnd).url;\r\n let activeItem = this.navbarService.findByLink(currentPath);\r\n let breadcrumbItems;\r\n\r\n if (!activeItem.item) {\r\n const item = this.findItemByTreeNode(currentPath);\r\n if (item) {\r\n breadcrumbItems = this.createBreadcrumbTrail(item);\r\n this.breadcrumbService.setItems(breadcrumbItems);\r\n return;\r\n }\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n\r\n breadcrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadcrumbNavigation[] },\r\n ];\r\n }, [] as BreadcrumbNavigation[]);\r\n\r\n this.breadcrumbService.setItems(\r\n this.mapNavbarItemToBreadcrumbItem(breadcrumbItems),\r\n );\r\n });\r\n }\r\n\r\n private mapNavbarItemToBreadcrumbItem(\r\n items: BreadcrumbNavigation[],\r\n ): BreadcrumbItem[] {\r\n return items.map(({ breadcrumbText, text, link, icon, siblings }) => ({\r\n text: breadcrumbText || text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n\r\n private findItemByTreeNode(path: string): TreeNode<ABP.Route> | null {\r\n const { tree, search: boundSearch } = {\r\n tree: this.routes.tree,\r\n search: this.routes.search.bind(this.routes),\r\n };\r\n\r\n const treeNode = boundSearch(\r\n {\r\n path: path,\r\n },\r\n tree,\r\n );\r\n\r\n return treeNode;\r\n }\r\n\r\n private createBreadcrumbTrail(\r\n item: TreeNode<ABP.Route> | undefined,\r\n ): BreadcrumbItem[] {\r\n const trail: BreadcrumbItem[] = [];\r\n let current = item;\r\n\r\n while (current && current.breadcrumbText) {\r\n trail.push({\r\n text: this.localizationService.instant(current.breadcrumbText),\r\n icon: current.iconClass,\r\n });\r\n current = current.parent;\r\n }\r\n\r\n return trail.reverse();\r\n }\r\n}\r\n","import {\r\n ModuleWithProviders,\r\n NgModule,\r\n inject,\r\n provideAppInitializer,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbComponent } from './breadcrumb.component';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { RouterModule } from '@angular/router';\r\nimport { LpxClickOutsideModule } from '../../directives/click-outside/click-outside.module';\r\nimport { BreadcrumbRouteListenerService } from './breadcrumb-route-listener.service';\r\nimport { ToObservableModule } from '../../pipes/to-observable/to-observable.module';\r\n\r\nexport const exportedDeclarations = [BreadcrumbComponent];\r\n@NgModule({\r\n declarations: [...exportedDeclarations],\r\n imports: [\r\n CommonModule,\r\n LpxIconModule,\r\n ToObservableModule,\r\n RouterModule,\r\n LpxClickOutsideModule,\r\n ],\r\n exports: [...exportedDeclarations],\r\n})\r\nexport class LpxBreadcrumbModule {\r\n static forRoot(): ModuleWithProviders<LpxBreadcrumbModule> {\r\n return {\r\n ngModule: LpxBreadcrumbModule,\r\n providers: [\r\n provideAppInitializer(() => {\r\n breadCrumbInit();\r\n }),\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit() {\r\n const service = inject(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n}\r\n","import { Provider } from '@angular/core';\r\nimport { LPX_TRANSLATE_SERVICE_TOKEN } from './tokens';\r\nimport { DefaultTranslateService } from './default-translate.service';\r\n\r\nexport const LPX_TRANSLATE_SERVICE_PROVIDER: Provider = {\r\n provide: LPX_TRANSLATE_SERVICE_TOKEN,\r\n useClass: DefaultTranslateService,\r\n};\r\n\r\nexport const LPX_TRANSLATE_PROVIDERS: Provider[] = [\r\n LPX_TRANSLATE_SERVICE_PROVIDER,\r\n];\r\n","import { InjectionToken } from '@angular/core';\r\nimport { LpxStyles } from './models';\r\n\r\nexport const LPX_INITIAL_STYLES = new InjectionToken<LpxStyles>(\r\n 'LPX_INITIAL_STYLES_TOKEN'\r\n);\r\n\r\nexport const LPX_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_STYLE_FINAL_TOKEN'\r\n);\r\n\r\nexport const LPX_LAYOUT_STYLE_FINAL = new InjectionToken<LpxStyles>(\r\n 'LPX_LAYOUT_STYLE_FINALIZE_TOKEN'\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { LPX_STYLE_FINAL } from './tokens';\r\nimport { LpxStyle, LpxStyles } from './models';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StyleService {\r\n lastInjectedStyle: HTMLLinkElement | null = null;\r\n\r\n initialized$ = new BehaviorSubject<boolean>(false);\r\n\r\n constructor(\r\n @Inject(LPX_STYLE_FINAL) private initialStyles: LpxStyles,\r\n @Inject(DOCUMENT) private document: Document\r\n ) {}\r\n\r\n async initStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.loadStyle(style, direction);\r\n }\r\n this.initialized$.next(true);\r\n }\r\n\r\n async loadStyle(\r\n style: LpxStyle,\r\n direction: 'ltr' | 'rtl'\r\n ): Promise<HTMLStyleElement | void> {\r\n return new Promise((resolve, reject) => {\r\n const linkElem = this.createLinkElem(style, direction, resolve);\r\n //TODO: find a better way for understand style laaded by angular json\r\n const appStyles = document.querySelector(\r\n 'link[rel=\"stylesheet\"][href*=\"styles\"]'\r\n );\r\n if (appStyles) {\r\n if (this.lastInjectedStyle && this.lastInjectedStyle.isConnected) {\r\n this.lastInjectedStyle.insertAdjacentElement('afterend', linkElem);\r\n } else {\r\n appStyles.insertAdjacentElement('beforebegin', linkElem);\r\n }\r\n } else {\r\n this.document.head.appendChild(linkElem);\r\n }\r\n this.lastInjectedStyle = linkElem;\r\n return Promise.resolve(linkElem);\r\n });\r\n }\r\n\r\n async replaceStyle<T extends LpxStyle>(\r\n style: T,\r\n direction: 'rtl' | 'ltr'\r\n ): Promise<HTMLStyleElement | void> {\r\n const loaded = this.document.querySelector(`link#${style.bundleName}`);\r\n if (loaded) {\r\n loaded.remove();\r\n }\r\n return this.loadStyle(style, direction);\r\n }\r\n\r\n async reloadInitialStyles(direction: 'rtl' | 'ltr') {\r\n for (const style of this.initialStyles) {\r\n await this.replaceStyle(style, direction);\r\n }\r\n }\r\n\r\n createLinkElem(\r\n style: LpxStyle,\r\n direction: 'rtl' | 'ltr',\r\n resolve: (param: any) => void\r\n ): HTMLLinkElement {\r\n const linkElem = document.createElement('link');\r\n linkElem.rel = 'stylesheet';\r\n linkElem.id = style.bundleName;\r\n linkElem.href = `${style.bundleName}${\r\n direction === 'rtl' ? '.rtl' : ''\r\n }.css`;\r\n linkElem.onload = () => {\r\n resolve(linkElem);\r\n };\r\n return linkElem;\r\n }\r\n}\r\n","import { LpxStyleFactory, LpxStyles } from './models';\r\n\r\nexport function createStyleFactory<T = LpxStyles>(\r\n handler?: LpxStyleFactory<T>\r\n): LpxStyleFactory<T> {\r\n return handler || ((defaultValue: T) => defaultValue);\r\n}\r\n","import { LpxStyles } from '../style/models';\r\n\r\nexport function styleLoadFactory(\r\n styleList: LpxStyles,\r\n layoutStyles: LpxStyles,\r\n) {\r\n styleList.push({\r\n bundleName: 'ng-bundle',\r\n });\r\n styleList.push({\r\n bundleName: 'font-bundle',\r\n });\r\n return [...styleList, ...layoutStyles];\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take, tap } from 'rxjs/operators';\r\nimport { from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n provideAppInitializer(() => {\r\n return loadInitialStyles();\r\n }),\r\n];\r\n\r\nexport function loadInitialStyles() {\r\n const styleService = inject(StyleService);\r\n const languageService = inject(LanguageService);\r\n return languageService.languageChange$.pipe(\r\n take(1),\r\n switchMap((lang) =>\r\n from(styleService.initStyles(lang.isRTL ? 'rtl' : 'ltr')),\r\n ),\r\n );\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const WINDOW = new InjectionToken<Window>('WINDOW');\r\n","import { Provider } from '@angular/core';\r\nimport { WINDOW } from '../tokens/window.token';\r\n\r\nexport function createWindowProvider(windowObj: Window | undefined): Provider {\r\n return { provide: WINDOW, useValue: windowObj || window }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface ResponsiveBreakpoints {\r\n [key: string]: number;\r\n}\r\n\r\nexport const RESPONSIVE_BREAKPOINTS = new InjectionToken<ResponsiveBreakpoints>(\r\n 'RESPONSIVE_BREAKPOINTS',\r\n);\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs';\r\nimport { distinctUntilChanged, map, startWith } from 'rxjs/operators';\r\nimport {\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from './responsive-breakpoints.token';\r\nimport { WINDOW } from '../../tokens/window.token';\r\n\r\nexport const enum ResponsiveTokens {\r\n none = 'none',\r\n all = 'all',\r\n separator = '-',\r\n}\r\n\r\nexport interface ResponsiveBreakpoint {\r\n name: string;\r\n width: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsiveService {\r\n currentResolution$!: Observable<{ height: number; width: number }>;\r\n\r\n defaultBreakpoint = {\r\n name: ResponsiveTokens.all,\r\n width: 0,\r\n };\r\n\r\n breakpoints: { name: string; width: number }[] = this.buildBreakpoints(\r\n this.providedBreakpoints,\r\n );\r\n\r\n protected getCurrentSize = () => ({\r\n height: this.window.innerHeight,\r\n width: this.window.innerWidth,\r\n });\r\n\r\n protected mapSizeToBreakpoint = ({ width } = this.getCurrentSize()) => {\r\n return this.breakpoints.find(\r\n (s) => width >= s.width,\r\n ) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$ = new BehaviorSubject<ResponsiveBreakpoint>(\r\n this.mapSizeToBreakpoint(),\r\n );\r\n\r\n shouldRenderWithCurrentSize = (query: string) => {\r\n return this.matchQuery(query);\r\n };\r\n\r\n constructor(\r\n @Inject(RESPONSIVE_BREAKPOINTS)\r\n protected providedBreakpoints: ResponsiveBreakpoints,\r\n @Inject(WINDOW) protected window: any,\r\n ) {\r\n this.setupListener();\r\n }\r\n\r\n protected setupListener() {\r\n this.currentResolution$ = fromEvent(this.window, 'resize')\r\n .pipe(map(this.getCurrentSize))\r\n .pipe(startWith(this.getCurrentSize()));\r\n\r\n this.currentResolution$\r\n .pipe(map(this.mapSizeToBreakpoint), distinctUntilChanged())\r\n .subscribe((current) => {\r\n this.currentSize$.next(current);\r\n });\r\n }\r\n\r\n protected buildBreakpoints(breakpoints: ResponsiveBreakpoints) {\r\n return [\r\n ...Object.keys(breakpoints)\r\n .map((key) => ({\r\n name: key,\r\n width: breakpoints[key],\r\n }))\r\n .sort((a, b) => b.width - a.width),\r\n this.defaultBreakpoint,\r\n ];\r\n }\r\n\r\n protected matchQuery(query: string) {\r\n const { width } = this.getCurrentSize();\r\n const tokens = query.split(' ');\r\n const findInTokens = (size: string) =>\r\n tokens.find(\r\n (token) => token.split(ResponsiveTokens.separator)[0] === size,\r\n );\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n (breakpoint) =>\r\n width >= breakpoint.width && findInTokens(breakpoint.name),\r\n );\r\n if (matchedBreakpoint) {\r\n const token = findInTokens(matchedBreakpoint.name);\r\n const shouldBeBigger = !token?.includes(ResponsiveTokens.none);\r\n return shouldBeBigger === width >= matchedBreakpoint.width;\r\n }\r\n\r\n return false;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n SkipSelf,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { ResponsiveService } from './responsive.service';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: '[lpxResponsive]',\r\n})\r\nexport class ResponsiveDirective implements OnInit, OnDestroy {\r\n hasRendered = false;\r\n sub = new Subscription();\r\n\r\n @Input('lpxResponsive') query!: string;\r\n\r\n render = (shouldRender: boolean) => {\r\n if (shouldRender && !this.hasRendered) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n this.hasRendered = true;\r\n } else if (!shouldRender && this.hasRendered) {\r\n this.viewContainer.clear();\r\n this.hasRendered = false;\r\n }\r\n this.parentCdr.detectChanges();\r\n };\r\n\r\n constructor(\r\n private templateRef: TemplateRef<any>,\r\n private viewContainer: ViewContainerRef,\r\n private service: ResponsiveService,\r\n @Optional() @SkipSelf() private parentCdr: ChangeDetectorRef,\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.sub.add(\r\n this.service.currentSize$\r\n .pipe(map((_) => this.service.shouldRenderWithCurrentSize(this.query)))\r\n .subscribe(this.render),\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.sub.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveDirective } from './responsive.directive';\r\n\r\n@NgModule({\r\n declarations: [ResponsiveDirective],\r\n imports: [CommonModule],\r\n exports: [ResponsiveDirective],\r\n})\r\nexport class LpxResponsiveModule {}\r\n","import { ResponsiveBreakpoints } from './responsive-breakpoints.token';\r\n\r\nexport const LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS: ResponsiveBreakpoints = {\r\n sm: 480,\r\n md: 768,\r\n lg: 992,\r\n xl: 1200,\r\n};\r\n","import {\r\n LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n RESPONSIVE_BREAKPOINTS,\r\n ResponsiveBreakpoints,\r\n} from '../directives/responsive';\r\nimport { Provider } from '@angular/core';\r\n\r\nexport function createResponsiveProvider(responsiveSettings:ResponsiveBreakpoints |undefined ): Provider{\r\n return {\r\n provide: RESPONSIVE_BREAKPOINTS,\r\n useValue:\r\n responsiveSettings || LPX_RESPONSIVE_BREAKPOINTS_DEFAULTS,\r\n };\r\n}\r\n","import { inject, provideAppInitializer } from '@angular/core';\r\nimport { LanguageService } from '../services/language';\r\nimport { StyleService } from '../style';\r\nimport {\r\n distinctUntilKeyChanged,\r\n filter,\r\n switchMap,\r\n take,\r\n} from 'rxjs/operators';\r\n\r\nexport function createDirectionProvider(listenDirection: boolean) {\r\n return provideAppInitializer(() => {\r\n if (listenDirection) {\r\n listenDirectionChange();\r\n }\r\n });\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange() {\r\n const languageService = inject(LanguageService);\r\n const styleService = inject(StyleService);\r\n\r\n return new Promise((resolve) => {\r\n styleService.initialized$\r\n .pipe(\r\n filter(Boolean),\r\n take(1),\r\n switchMap(() => languageService.languageChange$),\r\n distinctUntilKeyChanged('isRTL'),\r\n )\r\n .subscribe(async (lang) => {\r\n const direction = lang?.isRTL ? 'rtl' : 'ltr';\r\n const documentElement = document.documentElement;\r\n if (documentElement.dir !== direction) {\r\n documentElement.dir = direction;\r\n }\r\n await styleService.reloadInitialStyles(direction);\r\n resolve(null);\r\n });\r\n });\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ResponsiveBreakpoints } from './directives/responsive/responsive-breakpoints.token';\r\nimport { LpxLanguageModuleOptions } from './services/language/models';\r\nimport { LpxLanguageModule } from './services/language/language.module';\r\nimport { LpxIconModule, LpxIconSettings } from './components/icon/icon.module';\r\nimport {\r\n LpxNavbarModule,\r\n LpxNavbarSettings,\r\n} from './components/navbar/navbar.module';\r\nimport { LpxBreadcrumbModule } from './components/breadcrumb/breadcrumb.module';\r\nimport { LpxTranslate } from './services';\r\nimport { LPX_TRANSLATE_PROVIDERS } from './services/translate/providers';\r\nimport { LPX_STYLE_PROVIDERS } from './providers/styles.provider';\r\nimport { createWindowProvider } from './providers/window.provider';\r\nimport { createResponsiveProvider } from './providers/responsive.provider';\r\nimport { createDirectionProvider } from './providers/direction.provider';\r\nimport { LpxVisibleDirective } from './directives/visible.directive';\r\n\r\nexport interface LpxCoreOptions {\r\n responsiveSettings?: ResponsiveBreakpoints;\r\n window?: Window;\r\n iconSettings?: LpxIconSettings;\r\n languageSettings?: LpxLanguageModuleOptions;\r\n navbarSettings?: LpxNavbarSettings;\r\n texts?: LpxTranslate[];\r\n listenDirectionChanges?: boolean;\r\n}\r\n\r\n@NgModule({\r\n imports: [CommonModule, LpxVisibleDirective],\r\n})\r\nexport class LpxCoreModule {\r\n static forRoot(options?: LpxCoreOptions): ModuleWithProviders<LpxCoreModule> {\r\n return {\r\n ngModule: LpxCoreModule,\r\n providers: [\r\n createResponsiveProvider(options?.responsiveSettings),\r\n createWindowProvider(options?.window),\r\n LpxIconModule.forRoot(options?.iconSettings).providers as Provider,\r\n LpxLanguageModule.forRoot(options?.languageSettings)\r\n .providers as Provider[],\r\n LpxNavbarModule.forRoot(options?.navbarSettings).providers as Provider,\r\n LpxBreadcrumbModule.forRoot().providers as Provider,\r\n LPX_TRANSLATE_PROVIDERS,\r\n ...LPX_STYLE_PROVIDERS,\r\n createDirectionProvider(options?.listenDirectionChanges || true),\r\n ],\r\n };\r\n }\r\n}\r\n","import { Component, ViewEncapsulation, Input } from '@angular/core';\r\n\r\nexport interface Avatar {\r\n type: 'icon' | 'image';\r\n source: string;\r\n}\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-avatar',\r\n templateUrl: './avatar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class AvatarComponent {\r\n @Input() avatar?: Avatar;\r\n}\r\n","@if (avatar && avatar.source) {\r\n <div class=\"lpx-avatar\">\r\n @switch (avatar.type) {\r\n @case ('icon') {\r\n <lpx-icon\r\n class=\"lpx-avatar-icon\"\r\n [iconClass]=\"avatar.source\"\r\n ></lpx-icon>\r\n }\r\n @case ('image') {\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n }\r\n }\r\n </div>\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LpxIconModule } from '../icon/icon.module';\r\nimport { AvatarComponent } from './avatar.component';\r\n\r\n@NgModule({\r\n declarations: [AvatarComponent],\r\n imports: [CommonModule, LpxIconModule],\r\n exports: [AvatarComponent],\r\n})\r\nexport class LpxAvatarModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\n\r\nexport interface FooterLink {\r\n link: string;\r\n text: string;\r\n}\r\n\r\nexport interface FooterNav {\r\n descUrl?: string;\r\n desc: string;\r\n footerLinks?: FooterLink[];\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FooterLinksService {\r\n private store = new DataStore({} as FooterNav);\r\n footerInfo$ = this.store.sliceState((state) => state);\r\n\r\n setFooterInfo(links: FooterNav) {\r\n this.store.set(links);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { FooterLinksService } from './footer-links.service';\r\n\r\n@Component({\r\n standalone: false,\r\n selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n\r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","@if (footerValues$ | async; as footerValues) {\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n @if (footerValues.descUrl) {\r\n <a [routerLink]=\"[footerValues.descUrl]\"> {{ footerValues.desc }}</a>\r\n } @else {\r\n <a> {{ footerValues.desc }}</a>\r\n }\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n @for (footerLink of footerValues.footerLinks; track $index) {\r\n @if (footerLink) {\r\n <a [routerLink]=\"[footerLink.link]\">{{ footerLink.text }}</a>\r\n }\r\n }\r\n </div>\r\n </div>\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\nimport { FooterComponent } from './footer.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n@NgModule({\r\n declarations: [FooterComponent],\r\n exports: [FooterComponent],\r\n imports: [CommonModule, RouterModule],\r\n})\r\nexport class LpxFooterModule {\r\n static forRoot(): ModuleWithProviders<LpxFooterModule> {\r\n return {\r\n ngModule: LpxFooterModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-breadcrumb-panel]',\r\n})\r\nexport class BreadcrumbPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-content]',\r\n})\r\nexport class ContentPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-current-user-image-panel]',\r\n})\r\nexport class CurrentUserImagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-current-user-panel]',\r\n})\r\nexport class CurrentUserPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-footer-panel]',\r\n})\r\nexport class FooterPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-language-panel]',\r\n})\r\nexport class LanguagePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-panel]',\r\n})\r\nexport class MobileNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-settings-panel]',\r\n})\r\nexport class MobileNavbarSettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-mobile-navbar-profile-panel]',\r\n})\r\nexport class MobileNavbarProfilePanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-navbar-panel]',\r\n})\r\nexport class NavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-navitem-panel]',\r\n})\r\nexport class NavitemPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-toolbar-panel]',\r\n})\r\nexport class ToolbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-top-navbar-panel]',\r\n})\r\nexport class TopNavbarPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { Directive, TemplateRef } from '@angular/core';\r\n\r\n@Directive({\r\n standalone: false,\r\n selector: 'ng-template[lpx-settings-panel]',\r\n})\r\nexport class SettingsPanelDirective {\r\n constructor(public template: TemplateRef<any>) {}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreadcrumbPanelDirective } from './breadcrumb-panel.directive';\r\nimport { NavbarPanelDirective } from './navbar-panel.directive';\r\nimport { FooterPanelDirective } from './footer-panel.directive';\r\nimport { MobileNavbarPanelDirective } from './mobile-navbar-panel.directive';\r\nimport { ToolbarPanelDirective } from './toolbar-panel.directive';\r\nimport { TopNavbarPanelDirective } from './top-navbar-panel.directive';\r\nimport { SettingsPanelDirective } from './settings-panel.directive';\r\nimport { NavitemPanelDirective } from './navitem-panel.directive';\r\nimport { LogoPanelDirective } from './logo-panel.directive';\r\nimport { CurrentUserPanelDirective } from './current-user-panel.directive';\r\nimport { CurrentUserImagePanelDirective } from './current-user-image-panel.directive';\r\nimport { LanguagePanelDirective } from './language-panel.directive';\r\nimport { ContentPanelDirective } from './content-panel.directive';\r\nimport { MobileNavbarSettingsPanelDirective } from './mobile-navbar-settings-panel.directive';\r\nimport { MobileNavbarProfilePanelDirective } from './mobile-navbar-profile-panel.directive';\r\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n ContentPanelDirective,\r\n CurrentUserImagePanelDirective,\r\n CurrentUserPanelDirective,\r\n FooterPanelDirective,\r\n LanguagePanelDirective,\r\n LogoPanelDirective,\r\n MobileNavbarPanelDirective,\r\n MobileNavbarSettingsPanelDirective,\r\n MobileNavbarProfilePanelDirective,\r\n NavbarPanelDirective,\r\n NavitemPanelDirective,\r\n SettingsPanelDirective,\r\n TopNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...declarationsAndExports],\r\n imports: [CommonModule],\r\n exports: [...declarationsAndExports],\r\n})\r\nexport class PanelsModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToolbarItem } from '../../models/toolbar-item.model';\r\nimport { DataStore, sortItems } from '../../utils';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class ToolbarService {\r\n private store = new DataStore({ items: <Array<ToolbarItem>>[] });\r\n\r\n items$ = this.store.sliceState(({ items }) => items);\r\n\r\n setItems(items: Array<ToolbarItem>): void {\r\n this.store.patch({ items: items.sort(sortItems) });\r\n }\r\n\r\n addItem(item: ToolbarItem): void {\r\n this.setItems([...this.store.state.items, item]);\r\n }\r\n\r\n patchItem(itemId: string | number, item: Omit<ToolbarItem, 'id'>): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex(({ id }) => id === itemId);\r\n if (index === -1) {\r\n return;\r\n }\r\n const updateItems = [...items];\r\n updateItems[index] = { id: itemId, ...item };\r\n this.setItems(updateItems);\r\n }\r\n\r\n removeItem(id: string | number): void {\r\n const { items } = this.store.state;\r\n const index = items.findIndex((item) => item.id === id);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n const updateItems = [...items.slice(0, index), ...items.slice(index + 1)];\r\n this.store.patch({ items: updateItems });\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","i1.LpxThemeTranslateService","i3.IconComponent","i4.LpxVisibleDirective","i5.TranslatePipe","i2.LpxVisibleDirective","i3.SubNavbarComponent","i4.TranslatePipe","map","i2.BrandLogoComponent","i4.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i2","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","RoutesService","i1.ResponsiveService","i1.IconComponent","i1.FooterLinksService","i3"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { Location } from '@angular/common';
2
2
  import { Router } from '@angular/router';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class RoutesService {
5
- protected readonly location: Location;
6
5
  protected readonly router: Router;
6
+ protected readonly location: Location;
7
7
  readonly currentNavigation: import("@angular/core").Signal<string>;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<RoutesService, never>;
9
9
  static ɵprov: i0.ɵɵInjectableDeclaration<RoutesService>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volo/ngx-lepton-x.core",
3
- "version": "4.2.0-rc.1",
3
+ "version": "4.2.0-rc.2",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "ts-toolbelt": "^9.0.0"