@volo/ngx-lepton-x.core 2.0.0-rc.2 → 2.0.0-rc.4

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.
@@ -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/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/utils/common.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/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/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/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/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-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/panels.module.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 selector: 'lpx-icon',\r\n template: ` <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i> `,\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 this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass;\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 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 href=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\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 { Inject, Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter, take } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\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 constructor(\r\n @Inject(LPX_MENU_ITEMS) private menuItems: LpxNavbarItem[],\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.expandItemByLink();\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 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 this.router.events\r\n .pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n take(1)\r\n )\r\n .subscribe(() => {\r\n const route = this.findByLink(this.router.url);\r\n const expand = (\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: expand(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n return [...acc, item];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n if (route?.item) {\r\n const expanded = expand(this.store.state, route.location);\r\n this.store.patch(expanded);\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 { 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 = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];\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(clss => !classlist.includes(clss));\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 { 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","import { Injectable } from '@angular/core';\r\nimport { Avatar } from '../../components/avatar/avatar.component';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\n\r\nexport type UserActionGroup = LpxNavbarItem[];\r\n\r\nexport interface UserProfile {\r\n userName: string;\r\n fullName: string;\r\n email: string;\r\n avatar?: Avatar;\r\n userActionGroups?: UserActionGroup[];\r\n}\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 { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\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 Output,\r\n ViewEncapsulation,\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\n\r\n@Component({\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SubNavbarComponent {\r\n @Input()\r\n item!: LpxNavbarItem;\r\n\r\n @Input()\r\n routerItem!: boolean;\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n constructor(public readonly injector: Injector) {}\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 private 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 this.routeClick.emit(menuItem);\r\n if (!this.routerItem) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"item.component\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n\r\n<a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\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=\"item.template || textTmpl; context: { $implicit: item }\"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n</a>\r\n<ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n>\r\n <li class=\"lpx-inner-menu-item\" *ngFor=\"let child of item.children\">\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</ul>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LpxNavbarItem } from '../models';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\n\r\n@Component({\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 @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n @Input()\r\n routerItem!: boolean;\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n menuItems\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(\r\n (item) =>\r\n (item.expanded || item.selected) &&\r\n (!item.children || item.children?.includes(menuItem))\r\n );\r\n if (expandedItems) {\r\n expandedItems\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n item.selected = false;\r\n return [...acc, ...(item.children || [])];\r\n }, [])\r\n ?.filter((item) => item !== menuItem)\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n this.routeClick.emit(menuItem);\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n <li class=\"outer-menu-item\" *ngFor=\"let item of navbarItems\">\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</ul>\r\n","import {\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LayoutService } from '../../services/layout';\r\n\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent {\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n\r\n constructor(\r\n public service: NavbarService,\r\n public readonly injector: Injector,\r\n private layoutService: LayoutService\r\n ) {\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.layoutService.toggleClass('hover-trigger');\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\">\r\n <div class=\"lpx-logo-container\">\r\n <lpx-brand-logo></lpx-brand-logo\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 <ng-container\r\n *ngTemplateOutlet=\"customContentTemplate; context: { $implicit: contentBefore }\"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: { $implicit: service.navbarItems$ | async }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"customContentTemplate; context: { $implicit: contentAfter }\"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items>\r\n <lpx-navbar-routes [navbarItems]=\"items\" [routerItem]=\"true\"></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container *ngComponentOutlet=\"component; injector: injector\"></ng-container>\r\n </ng-container>\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 name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(value: VariantSource<string> | undefined): Observable<string> {\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 { 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\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 ],\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 { Directive, Output, EventEmitter, HostListener, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\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 => ref.nativeElement.contains(event.target))\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 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 <ng-container *ngFor=\"let item of service.items$ | async; last as 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 <lpx-icon\r\n class=\"lpx-breadcrumb-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.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-container *ngIf=\"item.children?.length && last\">\r\n <lpx-icon\r\n class=\"lpx-caret\"\r\n [iconClass]=\"item.expanded ? icon.chevronUp : icon.chevronDown\"\r\n ></lpx-icon>\r\n <div class=\"lpx-breadcrumb-dropdown\">\r\n <ul class=\"lpx-breadcrumb-dropdown-container\">\r\n <li\r\n class=\"lpx-breadcrumb-dropdown-item\"\r\n *ngFor=\"let child of item.children\"\r\n [class.active]=\"child.active\"\r\n [routerLink]=\"child.link\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n textTemplate;\r\n context: { $implicit: child }\r\n \"\r\n ></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\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 { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\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 constructor(\r\n private navbarService: NavbarService,\r\n private router: Router,\r\n private breadcrumbService: BreadcrumbService\r\n ) {}\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 let activeItem = this.navbarService.findByLink(\r\n (event as NavigationEnd).url\r\n );\r\n if (!activeItem.item) {\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadCrumbNavigation[] },\r\n ];\r\n }, [] as BreadCrumbNavigation[]);\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(({ text, link, icon, siblings }) => ({\r\n text: text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModule,\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 {\r\n provide: APP_INITIALIZER,\r\n useFactory: breadCrumbInit,\r\n multi: true,\r\n deps: [Injector],\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit(injector: Injector) {\r\n const subs = () => {\r\n const service = injector.get(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n };\r\n return subs;\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 private 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 { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { Observable, from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS: Provider[] = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n deps: [StyleService, LanguageService],\r\n useFactory: loadInitialStyles,\r\n multi: true,\r\n },\r\n];\r\n\r\nexport function loadInitialStyles(\r\n styleService: StyleService,\r\n languageService: LanguageService\r\n): () => Observable<any> {\r\n return () => {\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}\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 { RESPONSIVE_BREAKPOINTS, ResponsiveBreakpoints } 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(this.providedBreakpoints);\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(s => width >= s.width) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$: BehaviorSubject<ResponsiveBreakpoint> = 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) 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(token => token.split(ResponsiveTokens.separator)[0] === size);\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n breakpoint => 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 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 { APP_INITIALIZER, Provider } 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): Provider {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [LanguageService, StyleService],\r\n useFactory: listenDirection ? listenDirectionChange : () => () => null,\r\n };\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange(\r\n languageService: LanguageService,\r\n styleService: StyleService\r\n) {\r\n return () => {\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}\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 { LpxNavbarModule, LpxNavbarSettings } 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\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],\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).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\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 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","<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\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 selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n currentYear = new Date().getFullYear();\r\n\r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n <div class=\"lpx-footbar-container\">\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n <span>{{ currentYear }} ©</span>\r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-container>\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 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 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 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 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 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 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 { 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\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n NavbarPanelDirective,\r\n FooterPanelDirective,\r\n MobileNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n TopNavbarPanelDirective,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","i1.LpxThemeTranslateService","i2","i3.IconComponent","i4.TranslatePipe","i2.SubNavbarComponent","i1.NavbarService","i2.LayoutService","i3","i4.BrandLogoComponent","i5.IconComponent","i6.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","i3.BreadcrumbService","i1.ResponsiveService","i2.IconComponent","i1.FooterLinksService"],"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/components/navbar/navbar-routes/navbar-routes.directive.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.token.ts","../../../../libs/lepton-x-core/src/lib/components/navbar/navbar.service.ts","../../../../libs/lepton-x-core/src/lib/services/layout/layout.service.ts","../../../../libs/lepton-x-core/src/lib/utils/common.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/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/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/navbar-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/breadcrumb-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/footer-panel.directive.ts","../../../../libs/lepton-x-core/src/lib/panels/mobile-navbar-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/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 selector: 'lpx-icon',\r\n template: ` <i class=\"lpx-icon\" [ngClass]=\"styleClass\" aria-hidden=\"true\"></i> `,\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 this.iconSet[this.iconClass as keyof ICON_MAP_TYPE] || this.iconClass;\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 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 href=\"/\">\r\n <div class=\"lpx-brand-logo\"></div>\r\n</a>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BrandLogoComponent } from './brand-logo.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [BrandLogoComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [BrandLogoComponent]\r\n})\r\nexport class LpxBrandLogoModule { }\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[lpx-navbar-routes],[lpxNavbarRoutes]',\r\n exportAs: 'lpxNavbarRoutes',\r\n})\r\nexport class NavbarRoutesDirective {}\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 { Inject, Injectable } from '@angular/core';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from './models';\r\nimport { LPX_MENU_ITEMS } from './navbar.token';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\nimport { filter, take, tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NavbarService {\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 constructor(\r\n @Inject(LPX_MENU_ITEMS) private menuItems: LpxNavbarItem[],\r\n private route: ActivatedRoute,\r\n private router: Router\r\n ) {\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 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\r\n .pipe(\r\n filter((e) => e instanceof NavigationEnd),\r\n tap(()=> this.calculateExpandState())\r\n )\r\n }\r\n\r\n calculateExpandState() {\r\n const route = this.findByLink(this.router.url);\r\n const expand = (\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: expand(item.children || [], indexes),\r\n },\r\n ];\r\n }\r\n return [...acc, {...item, expanded: false, selected: false}];\r\n }, [] as LpxNavbarItem[]);\r\n };\r\n if (route?.item) {\r\n const expanded = expand(this.store.state, route.location);\r\n this.store.patch(expanded);\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 { 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 = [...containerClass.slice(0, index), ...containerClass.slice(index + 1)];\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(clss => !classlist.includes(clss));\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 { 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","import { Injectable } from '@angular/core';\r\nimport { Avatar } from '../../components/avatar/avatar.component';\r\nimport { DataStore } from '../../utils/data-store';\r\nimport { LpxNavbarItem } from '../../components/navbar/models';\r\n\r\nexport type UserActionGroup = LpxNavbarItem[];\r\n\r\nexport interface UserProfile {\r\n userName: string;\r\n fullName: string;\r\n email: string;\r\n avatar?: Avatar;\r\n userActionGroups?: UserActionGroup[];\r\n}\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 { Pipe, PipeTransform } from '@angular/core';\r\nimport { LpxThemeTranslateService } from '../../services';\r\n\r\n@Pipe({\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 Output,\r\n ViewEncapsulation,\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\n\r\n@Component({\r\n selector: 'lpx-sub-navbar',\r\n templateUrl: './sub-navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class SubNavbarComponent {\r\n @Input()\r\n item!: LpxNavbarItem;\r\n\r\n @Input()\r\n routerItem!: boolean;\r\n\r\n @Output() routeClick = new EventEmitter<LpxNavbarItem>();\r\n @Output() expand = new EventEmitter<LpxNavbarItem>();\r\n\r\n constructor(public readonly injector: Injector) {}\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 private 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 this.routeClick.emit(menuItem);\r\n if (!this.routerItem) {\r\n menuItem.selected = true;\r\n }\r\n }\r\n}\r\n","<ng-container *ngIf=\"item.component\">\r\n <ng-container\r\n *ngComponentOutlet=\"item.component; injector: injector\"\r\n ></ng-container>\r\n</ng-container>\r\n\r\n<a\r\n *ngIf=\"!item.component\"\r\n class=\"lpx-menu-item-link\"\r\n [routerLink]=\"item.link\"\r\n [routerLinkActive]=\"item.link ? 'selected' : ''\"\r\n [class.selected]=\"\r\n (item.children?.length && item.expanded) || (!routerItem && item.selected)\r\n \"\r\n [routerLinkActiveOptions]=\"{ exact: true }\"\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=\"item.template || textTmpl; context: { $implicit: item }\"\r\n ></ng-container>\r\n <ng-template #textTmpl>\r\n <span\r\n class=\"lpx-menu-item-text hidden-in-hover-trigger\"\r\n *ngIf=\"item.text\"\r\n >{{ item.text | lpxTranslate | async }}</span\r\n >\r\n </ng-template>\r\n\r\n <lpx-icon\r\n *ngIf=\"item.children && item.children.length\"\r\n [iconClass]=\"item.expanded ? 'chevronUp' : 'chevronDown'\"\r\n class=\"dd-icon hidden-in-hover-trigger\"\r\n >\r\n </lpx-icon>\r\n</a>\r\n<ul\r\n class=\"lpx-inner-menu hidden-in-hover-trigger\"\r\n [class.collapsed]=\"!item.expanded\"\r\n *ngIf=\"item.children && item.children.length\"\r\n>\r\n <li class=\"lpx-inner-menu-item\" *ngFor=\"let child of item.children\">\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</ul>\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LpxNavbarItem } from '../models';\r\n\r\nexport type NavbarItemsType = LpxNavbarItem[] | null | undefined;\r\n\r\n@Component({\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 @Input()\r\n navbarItems: NavbarItemsType;\r\n\r\n @Input()\r\n routerItem!: boolean;\r\n\r\n @Output()\r\n routeClick = new EventEmitter<LpxNavbarItem>();\r\n\r\n onSubnavbarExpand(menuItem: LpxNavbarItem, menuItems: NavbarItemsType): void {\r\n if (menuItem.expanded) {\r\n menuItems\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(\r\n (item) =>\r\n (item.expanded || item.selected) &&\r\n (!item.children || item.children?.includes(menuItem))\r\n );\r\n if (expandedItems) {\r\n expandedItems\r\n .filter((item) => item !== menuItem)\r\n .reduce<LpxNavbarItem[]>((acc, item) => {\r\n item.selected = false;\r\n return [...acc, ...(item.children || [])];\r\n }, [])\r\n ?.filter((item) => item !== menuItem)\r\n .forEach((item) => {\r\n item.selected = false;\r\n item.expanded = false;\r\n });\r\n }\r\n this.routeClick.emit(menuItem);\r\n }\r\n}\r\n","<ul class=\"lpx-nav-menu\">\r\n <li class=\"outer-menu-item\" *ngFor=\"let item of navbarItems\">\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</ul>\r\n","import {\r\n Component,\r\n ContentChild,\r\n InjectionToken,\r\n Injector,\r\n TemplateRef,\r\n Type,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { LayoutService } from '../../services/layout';\r\n\r\nimport { NavbarService } from './navbar.service';\r\nimport { NavbarRoutesDirective } from './navbar-routes/navbar-routes.directive';\r\nimport { CONTENT_AFTER_ROUTES, CONTENT_BEFORE_ROUTES } from './navbar.token';\r\n\r\n@Component({\r\n selector: 'lpx-navbar',\r\n templateUrl: './navbar.component.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NavbarComponent {\r\n @ContentChild(NavbarRoutesDirective, { read: TemplateRef })\r\n routesTemplate?: TemplateRef<NavbarRoutesDirective>;\r\n\r\n contentBefore: Type<any>[];\r\n contentAfter: Type<any>[];\r\n\r\n constructor(\r\n public service: NavbarService,\r\n public readonly injector: Injector,\r\n private layoutService: LayoutService\r\n ) {\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.layoutService.toggleClass('hover-trigger');\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\">\r\n <div class=\"lpx-logo-container\">\r\n <lpx-brand-logo></lpx-brand-logo\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 <ng-container\r\n *ngTemplateOutlet=\"customContentTemplate; context: { $implicit: contentBefore }\"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n routesTemplate || defaultRouteTemplate;\r\n context: { $implicit: service.navbarItems$ | async }\r\n \"\r\n ></ng-container>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"customContentTemplate; context: { $implicit: contentAfter }\"\r\n ></ng-container>\r\n</nav>\r\n\r\n<ng-template #defaultRouteTemplate let-items>\r\n <lpx-navbar-routes [navbarItems]=\"items\" [routerItem]=\"true\"></lpx-navbar-routes>\r\n</ng-template>\r\n\r\n<ng-template #customContentTemplate let-contents>\r\n <ng-container *ngFor=\"let component of contents\">\r\n <ng-container *ngComponentOutlet=\"component; injector: injector\"></ng-container>\r\n </ng-container>\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 name: 'toObservable',\r\n})\r\nexport class ToObservablePipe implements PipeTransform {\r\n transform(value: VariantSource<string> | undefined): Observable<string> {\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 { 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\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 ],\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 { Directive, Output, EventEmitter, HostListener, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\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 => ref.nativeElement.contains(event.target))\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 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 <ng-container *ngFor=\"let item of service.items$ | async; last as 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 <lpx-icon\r\n class=\"lpx-breadcrumb-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.children?.length ? textTemplate : linkTemplate;\r\n context: { $implicit: item }\r\n \"\r\n ></ng-container>\r\n <ng-container *ngIf=\"item.children?.length && last\">\r\n <lpx-icon\r\n class=\"lpx-caret\"\r\n [iconClass]=\"item.expanded ? icon.chevronUp : icon.chevronDown\"\r\n ></lpx-icon>\r\n <div class=\"lpx-breadcrumb-dropdown\">\r\n <ul class=\"lpx-breadcrumb-dropdown-container\">\r\n <li\r\n class=\"lpx-breadcrumb-dropdown-item\"\r\n *ngFor=\"let child of item.children\"\r\n [class.active]=\"child.active\"\r\n [routerLink]=\"child.link\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n textTemplate;\r\n context: { $implicit: child }\r\n \"\r\n ></ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n <li *ngIf=\"!last\" class=\"lpx-breadcrumb-separator\">\r\n <lpx-icon iconClass=\"bi bi-chevron-right\"></lpx-icon>\r\n </li>\r\n </ng-container>\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 { Injectable } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\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 constructor(\r\n private navbarService: NavbarService,\r\n private router: Router,\r\n private breadcrumbService: BreadcrumbService\r\n ) {}\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 let activeItem = this.navbarService.findByLink(\r\n (event as NavigationEnd).url\r\n );\r\n if (!activeItem.item) {\r\n activeItem = this.navbarService.findByLink('/');\r\n }\r\n const breadCrumbItems = activeItem.location.reduce((acc, itemIndex) => {\r\n const parent = acc[acc.length - 1]?.children || items;\r\n const item = parent[itemIndex];\r\n return [\r\n ...acc,\r\n { ...item, siblings: parent as BreadCrumbNavigation[] },\r\n ];\r\n }, [] as BreadCrumbNavigation[]);\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(({ text, link, icon, siblings }) => ({\r\n text: text || '',\r\n link,\r\n icon,\r\n children: this.mapNavbarItemToBreadcrumbItem(siblings || []),\r\n }));\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n Injector,\r\n ModuleWithProviders,\r\n NgModule,\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 {\r\n provide: APP_INITIALIZER,\r\n useFactory: breadCrumbInit,\r\n multi: true,\r\n deps: [Injector],\r\n },\r\n ],\r\n };\r\n }\r\n}\r\n\r\nexport function breadCrumbInit(injector: Injector) {\r\n const subs = () => {\r\n const service = injector.get(BreadcrumbRouteListenerService);\r\n service.subscribeRoute();\r\n };\r\n return subs;\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 private 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\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 { APP_INITIALIZER, Provider } from '@angular/core';\r\nimport { LPX_INITIAL_STYLES, StyleService } from '../style';\r\nimport { LanguageService } from '../services';\r\nimport { switchMap, take } from 'rxjs/operators';\r\nimport { Observable, from } from 'rxjs';\r\n\r\nexport const LPX_STYLE_PROVIDERS: Provider[] = [\r\n {\r\n provide: LPX_INITIAL_STYLES,\r\n useFactory: () => [],\r\n },\r\n {\r\n provide: APP_INITIALIZER,\r\n deps: [StyleService, LanguageService],\r\n useFactory: loadInitialStyles,\r\n multi: true,\r\n },\r\n];\r\n\r\nexport function loadInitialStyles(\r\n styleService: StyleService,\r\n languageService: LanguageService\r\n): () => Observable<any> {\r\n return () => {\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}\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 { RESPONSIVE_BREAKPOINTS, ResponsiveBreakpoints } 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(this.providedBreakpoints);\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(s => width >= s.width) as ResponsiveBreakpoint;\r\n };\r\n\r\n currentSize$: BehaviorSubject<ResponsiveBreakpoint> = 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) 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(token => token.split(ResponsiveTokens.separator)[0] === size);\r\n\r\n const matchedBreakpoint = this.breakpoints.find(\r\n breakpoint => 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 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 { APP_INITIALIZER, Provider } 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): Provider {\r\n return {\r\n provide: APP_INITIALIZER,\r\n multi: true,\r\n deps: [LanguageService, StyleService],\r\n useFactory: listenDirection ? listenDirectionChange : () => () => null,\r\n };\r\n}\r\n// subscribe to direction from documentElement and load direction stylesheet\r\nexport function listenDirectionChange(\r\n languageService: LanguageService,\r\n styleService: StyleService\r\n) {\r\n return () => {\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}\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 { LpxNavbarModule, LpxNavbarSettings } 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\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],\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).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\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 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","<div class=\"lpx-avatar\" *ngIf=\"avatar && avatar?.source\">\r\n <ng-container [ngSwitch]=\"avatar.type\">\r\n <ng-container *ngSwitchCase=\"'icon'\">\r\n <lpx-icon class=\"lpx-avatar-icon\" [iconClass]=\"avatar.source\"></lpx-icon>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img class=\"lpx-avatar-img\" [src]=\"avatar.source\" />\r\n </ng-container>\r\n </ng-container>\r\n</div>\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 selector: 'lpx-footer',\r\n templateUrl: './footer.component.html',\r\n})\r\nexport class FooterComponent {\r\n footerValues$ = this.service.footerInfo$;\r\n currentYear = new Date().getFullYear();\r\n\r\n constructor(private service: FooterLinksService) {}\r\n}\r\n","<ng-container *ngIf=\"footerValues$ | async as footerValues\">\r\n\r\n <div class=\"lpx-footbar\">\r\n <div class=\"lpx-footbar-copyright\">\r\n <span>{{ currentYear }} ©</span>\r\n <a\r\n *ngIf=\"footerValues.descUrl; else footerDesc\"\r\n [routerLink]=\"[footerValues.descUrl]\"\r\n >\r\n {{ footerValues.desc }}</a\r\n >\r\n <ng-template #footerDesc>\r\n <a> {{ footerValues.desc }}</a>\r\n </ng-template>\r\n </div>\r\n <div class=\"lpx-footbar-solo-links\">\r\n <ng-container *ngFor=\"let footerLink of footerValues.footerLinks\">\r\n <a *ngIf=\"footerLink\" [routerLink]=\"[footerLink.link]\">{{\r\n footerLink.text\r\n }}</a>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n</ng-container>\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 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 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 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 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 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 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 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\n\r\nconst declarationsAndExports = [\r\n BreadcrumbPanelDirective,\r\n NavbarPanelDirective,\r\n FooterPanelDirective,\r\n MobileNavbarPanelDirective,\r\n ToolbarPanelDirective,\r\n TopNavbarPanelDirective,\r\n SettingsPanelDirective,\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.UserProfileService","i1.LpxThemeTranslateService","i2","i3.IconComponent","i4.TranslatePipe","i2.SubNavbarComponent","i1.NavbarService","i2.LayoutService","i3","i4.BrandLogoComponent","i5.IconComponent","i6.NavbarRoutesComponent","exportedDeclarations","i1.BreadcrumbService","i4","i5.ClickOutsideDirective","i6.ToObservablePipe","i3.BreadcrumbService","i1.ResponsiveService","i2.IconComponent","i1.FooterLinksService"],"mappings":"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"}