@rxap/layout 18.3.4-dev.0 → 19.0.0-dev.1

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.
Files changed (37) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/fesm2022/rxap-layout.mjs +93 -93
  3. package/fesm2022/rxap-layout.mjs.map +1 -1
  4. package/package.json +36 -38
  5. package/theme.css +1 -1
  6. package/esm2022/index.mjs +0 -63
  7. package/esm2022/lib/base-layout/base-layout.component.mjs +0 -16
  8. package/esm2022/lib/default-header/apps-button/apps-button.component.mjs +0 -40
  9. package/esm2022/lib/default-header/default-header.component.mjs +0 -39
  10. package/esm2022/lib/default-header/default-header.service.mjs +0 -65
  11. package/esm2022/lib/default-header/settings-button/settings-button.component.mjs +0 -78
  12. package/esm2022/lib/default-header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +0 -24
  13. package/esm2022/lib/default-header/user-profile-icon/user-profile-icon.component.mjs +0 -35
  14. package/esm2022/lib/external-apps.service.mjs +0 -99
  15. package/esm2022/lib/footer/footer.component.mjs +0 -21
  16. package/esm2022/lib/footer/footer.directive.mjs +0 -30
  17. package/esm2022/lib/footer.service.mjs +0 -58
  18. package/esm2022/lib/header/header.component.mjs +0 -24
  19. package/esm2022/lib/header/header.directive.mjs +0 -30
  20. package/esm2022/lib/header.service.mjs +0 -60
  21. package/esm2022/lib/layout/layout.component.mjs +0 -50
  22. package/esm2022/lib/layout.service.mjs +0 -93
  23. package/esm2022/lib/logo.service.mjs +0 -23
  24. package/esm2022/lib/minimal-layout/minimal-layout.component.mjs +0 -16
  25. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +0 -139
  26. package/esm2022/lib/navigation/navigation-item.mjs +0 -10
  27. package/esm2022/lib/navigation/navigation.component.mjs +0 -57
  28. package/esm2022/lib/navigation-progress-bar/navigation-progress-bar.component.mjs +0 -23
  29. package/esm2022/lib/navigation.service.mjs +0 -141
  30. package/esm2022/lib/provide.mjs +0 -105
  31. package/esm2022/lib/release-info/release-info.component.mjs +0 -28
  32. package/esm2022/lib/sidenav/sidenav-footer.directive.mjs +0 -20
  33. package/esm2022/lib/sidenav/sidenav-header.directive.mjs +0 -20
  34. package/esm2022/lib/sidenav/sidenav.component.mjs +0 -60
  35. package/esm2022/lib/tokens.mjs +0 -23
  36. package/esm2022/lib/types.mjs +0 -2
  37. package/esm2022/rxap-layout.mjs +0 -5
@@ -1,93 +0,0 @@
1
- import { MediaMatcher } from '@angular/cdk/layout';
2
- import { computed, effect, inject, Injectable, isDevMode, signal, } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { ConfigService } from '@rxap/config';
5
- import { ObserveCurrentThemeDensity } from '@rxap/ngx-theme';
6
- import { Observable } from 'rxjs';
7
- import { FooterService } from './footer.service';
8
- import { HeaderService } from './header.service';
9
- import * as i0 from "@angular/core";
10
- export class LayoutService {
11
- constructor() {
12
- this.currentThemeDensity = toSignal(ObserveCurrentThemeDensity());
13
- this.footerService = inject(FooterService);
14
- this.headerService = inject(HeaderService);
15
- this.config = inject(ConfigService);
16
- this.mediaMatcher = inject(MediaMatcher);
17
- const mobileQuery = this.mediaMatcher.matchMedia('(max-width: 959px)');
18
- this.isMobile = toSignal(new Observable(subscriber => {
19
- mobileQuery.addEventListener('change', (event) => {
20
- subscriber.next(event.matches);
21
- });
22
- }), { initialValue: mobileQuery.matches });
23
- const initialCollapsable = this.config.get('navigation.collapsable', true);
24
- const collapsable = initialCollapsable && !this.isMobile();
25
- const pinned = this.config.get('navigation.pinned', false);
26
- const mode = this.config.get('navigation.mode', pinned || !collapsable ? 'side' : 'over');
27
- const opened = this.config.get('navigation.opened', (!collapsable || pinned) && !this.isMobile());
28
- const fixedInViewport = this.config.get('navigation.fixedInViewport', true);
29
- if (isDevMode()) {
30
- console.log({
31
- initialCollapsable,
32
- collapsable,
33
- pinned,
34
- mode,
35
- opened,
36
- fixedInViewport,
37
- });
38
- }
39
- this.opened = signal(opened);
40
- this.mode = signal(mode);
41
- this.pinned = signal(pinned);
42
- this.collapsable = signal(collapsable);
43
- this.fixedInViewport = signal(fixedInViewport);
44
- this.collapsed = computed(() => this.collapsable() && !this.opened() && !this.pinned());
45
- this.fixedBottomGap = computed(() => {
46
- const footerPortalCount = this.footerService.portalCount();
47
- const currentThemeDensity = this.currentThemeDensity() ?? 0;
48
- return footerPortalCount * (currentThemeDensity * 4 + 64);
49
- });
50
- this.fixedTopGap = computed(() => {
51
- const headerPortalCount = this.headerService.portalCount();
52
- const currentThemeDensity = this.currentThemeDensity() ?? 0;
53
- return headerPortalCount * (currentThemeDensity * 4 + 64);
54
- });
55
- if (initialCollapsable) {
56
- effect(() => {
57
- const isMobile = this.isMobile();
58
- this.collapsable.set(!isMobile);
59
- if (!isMobile && !this.pinned()) {
60
- this.opened.set(false);
61
- }
62
- }, { allowSignalWrites: true });
63
- }
64
- effect(() => {
65
- if (this.pinned()) {
66
- this.mode.set('side');
67
- this.opened.set(true);
68
- }
69
- else {
70
- this.mode.set('over');
71
- this.opened.set(false);
72
- }
73
- }, { allowSignalWrites: true });
74
- }
75
- toggleOpened() {
76
- this.opened.update(opened => !opened);
77
- }
78
- togglePinned() {
79
- this.pinned.update(pinned => !pinned);
80
- }
81
- openSidenav() {
82
- this.opened.set(true);
83
- }
84
- closeSidenav() {
85
- this.opened.set(false);
86
- }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
88
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LayoutService }); }
89
- }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LayoutService, decorators: [{
91
- type: Injectable
92
- }], ctorParameters: () => [] });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdqRCxNQUFNLE9BQU8sYUFBYTtJQWtCeEI7UUFWZ0Isd0JBQW1CLEdBQUcsUUFBUSxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQztRQUs1RCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBR25ELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMs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QUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBakdVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lZGlhTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgaW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBpc0Rldk1vZGUsXG4gIHNpZ25hbCxcbiAgU2lnbmFsLFxuICBXcml0YWJsZVNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE1hdERyYXdlck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuaW1wb3J0IHsgT2JzZXJ2ZUN1cnJlbnRUaGVtZURlbnNpdHkgfSBmcm9tICdAcnhhcC9uZ3gtdGhlbWUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9vdGVyU2VydmljZSB9IGZyb20gJy4vZm9vdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4vaGVhZGVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VydmljZSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wZW5lZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBtb2RlOiBXcml0YWJsZVNpZ25hbDxNYXREcmF3ZXJNb2RlPjtcbiAgcHVibGljIHJlYWRvbmx5IHBpbm5lZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBjb2xsYXBzYWJsZTogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG4gIHB1YmxpYyByZWFkb25seSBmaXhlZEJvdHRvbUdhcDogU2lnbmFsPG51bWJlcj47XG4gIHB1YmxpYyByZWFkb25seSBmaXhlZFRvcEdhcDogU2lnbmFsPG51bWJlcj47XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50VGhlbWVEZW5zaXR5ID0gdG9TaWduYWwoT2JzZXJ2ZUN1cnJlbnRUaGVtZURlbnNpdHkoKSk7XG4gIHB1YmxpYyByZWFkb25seSBpc01vYmlsZTogU2lnbmFsPGJvb2xlYW4+O1xuICBwdWJsaWMgcmVhZG9ubHkgZml4ZWRJblZpZXdwb3J0OiBXcml0YWJsZVNpZ25hbDxib29sZWFuPjtcbiAgcHVibGljIHJlYWRvbmx5IGNvbGxhcHNlZDogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZm9vdGVyU2VydmljZSA9IGluamVjdChGb290ZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBoZWFkZXJTZXJ2aWNlID0gaW5qZWN0KEhlYWRlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBtZWRpYU1hdGNoZXIgPSBpbmplY3QoTWVkaWFNYXRjaGVyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBtb2JpbGVRdWVyeSA9IHRoaXMubWVkaWFNYXRjaGVyLm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDk1OXB4KScpO1xuICAgIHRoaXMuaXNNb2JpbGUgPSB0b1NpZ25hbChuZXcgT2JzZXJ2YWJsZTxib29sZWFuPihzdWJzY3JpYmVyID0+IHtcbiAgICAgIG1vYmlsZVF1ZXJ5LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChldmVudCkgPT4ge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQoZXZlbnQubWF0Y2hlcyk7XG4gICAgICB9KTtcbiAgICB9KSwgeyBpbml0aWFsVmFsdWU6IG1vYmlsZVF1ZXJ5Lm1hdGNoZXMgfSk7XG5cbiAgICBjb25zdCBpbml0aWFsQ29sbGFwc2FibGUgPSB0aGlzLmNvbmZpZy5nZXQoJ25hdmlnYXRpb24uY29sbGFwc2FibGUnLCB0cnVlKTtcbiAgICBjb25zdCBjb2xsYXBzYWJsZSA9IGluaXRpYWxDb2xsYXBzYWJsZSAmJiAhdGhpcy5pc01vYmlsZSgpO1xuICAgIGNvbnN0IHBpbm5lZCA9IHRoaXMuY29uZmlnLmdldCgnbmF2aWdhdGlvbi5waW5uZWQnLCBmYWxzZSk7XG4gICAgY29uc3QgbW9kZSA9IHRoaXMuY29uZmlnLmdldCgnbmF2aWdhdGlvbi5tb2RlJywgcGlubmVkIHx8ICFjb2xsYXBzYWJsZSA/ICdzaWRlJyA6ICdvdmVyJyk7XG4gICAgY29uc3Qgb3BlbmVkID0gdGhpcy5jb25maWcuZ2V0KCduYXZpZ2F0aW9uLm9wZW5lZCcsICghY29sbGFwc2FibGUgfHwgcGlubmVkKSAmJiAhdGhpcy5pc01vYmlsZSgpKTtcbiAgICBjb25zdCBmaXhlZEluVmlld3BvcnQgPSB0aGlzLmNvbmZpZy5nZXQoJ25hdmlnYXRpb24uZml4ZWRJblZpZXdwb3J0JywgdHJ1ZSk7XG5cbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKHtcbiAgICAgICAgaW5pdGlhbENvbGxhcHNhYmxlLFxuICAgICAgICBjb2xsYXBzYWJsZSxcbiAgICAgICAgcGlubmVkLFxuICAgICAgICBtb2RlLFxuICAgICAgICBvcGVuZWQsXG4gICAgICAgIGZpeGVkSW5WaWV3cG9ydCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMub3BlbmVkID0gc2lnbmFsKG9wZW5lZCk7XG4gICAgdGhpcy5tb2RlID0gc2lnbmFsKG1vZGUpO1xuICAgIHRoaXMucGlubmVkID0gc2lnbmFsKHBpbm5lZCk7XG4gICAgdGhpcy5jb2xsYXBzYWJsZSA9IHNpZ25hbChjb2xsYXBzYWJsZSk7XG4gICAgdGhpcy5maXhlZEluVmlld3BvcnQgPSBzaWduYWwoZml4ZWRJblZpZXdwb3J0KTtcbiAgICB0aGlzLmNvbGxhcHNlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29sbGFwc2FibGUoKSAmJiAhdGhpcy5vcGVuZWQoKSAmJiAhdGhpcy5waW5uZWQoKSk7XG5cbiAgICB0aGlzLmZpeGVkQm90dG9tR2FwID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgY29uc3QgZm9vdGVyUG9ydGFsQ291bnQgPSB0aGlzLmZvb3RlclNlcnZpY2UucG9ydGFsQ291bnQoKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRUaGVtZURlbnNpdHkgPSB0aGlzLmN1cnJlbnRUaGVtZURlbnNpdHkoKSA/PyAwO1xuICAgICAgcmV0dXJuIGZvb3RlclBvcnRhbENvdW50ICogKGN1cnJlbnRUaGVtZURlbnNpdHkgKiA0ICsgNjQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5maXhlZFRvcEdhcCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIGNvbnN0IGhlYWRlclBvcnRhbENvdW50ID0gdGhpcy5oZWFkZXJTZXJ2aWNlLnBvcnRhbENvdW50KCk7XG4gICAgICBjb25zdCBjdXJyZW50VGhlbWVEZW5zaXR5ID0gdGhpcy5jdXJyZW50VGhlbWVEZW5zaXR5KCkgPz8gMDtcbiAgICAgIHJldHVybiBoZWFkZXJQb3J0YWxDb3VudCAqIChjdXJyZW50VGhlbWVEZW5zaXR5ICogNCArIDY0KTtcbiAgICB9KTtcblxuICAgIGlmIChpbml0aWFsQ29sbGFwc2FibGUpIHtcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzTW9iaWxlID0gdGhpcy5pc01vYmlsZSgpO1xuICAgICAgICB0aGlzLmNvbGxhcHNhYmxlLnNldCghaXNNb2JpbGUpO1xuICAgICAgICBpZiAoIWlzTW9iaWxlICYmICF0aGlzLnBpbm5lZCgpKSB7XG4gICAgICAgICAgdGhpcy5vcGVuZWQuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSwgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9KTtcbiAgICB9XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnBpbm5lZCgpKSB7XG4gICAgICAgIHRoaXMubW9kZS5zZXQoJ3NpZGUnKTtcbiAgICAgICAgdGhpcy5vcGVuZWQuc2V0KHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5tb2RlLnNldCgnb3ZlcicpO1xuICAgICAgICB0aGlzLm9wZW5lZC5zZXQoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlT3BlbmVkKCkge1xuICAgIHRoaXMub3BlbmVkLnVwZGF0ZShvcGVuZWQgPT4gIW9wZW5lZCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUGlubmVkKCkge1xuICAgIHRoaXMucGlubmVkLnVwZGF0ZShwaW5uZWQgPT4gIXBpbm5lZCk7XG4gIH1cblxuICBvcGVuU2lkZW5hdigpIHtcbiAgICB0aGlzLm9wZW5lZC5zZXQodHJ1ZSk7XG4gIH1cblxuICBjbG9zZVNpZGVuYXYoKSB7XG4gICAgdGhpcy5vcGVuZWQuc2V0KGZhbHNlKTtcbiAgfVxufVxuIl19
@@ -1,23 +0,0 @@
1
- import { computed, inject, Injectable, signal, } from '@angular/core';
2
- import { ConfigService } from '@rxap/config';
3
- import { RXAP_LOGO_CONFIG } from './tokens';
4
- import * as i0 from "@angular/core";
5
- export class LogoService {
6
- constructor() {
7
- this.config = inject(ConfigService);
8
- this.logo = signal(inject(RXAP_LOGO_CONFIG, { optional: true }) ??
9
- this.config.get('logo', {
10
- src: 'logo.png',
11
- width: 192,
12
- }));
13
- this.src = computed(() => this.logo().src);
14
- this.width = computed(() => this.logo().width);
15
- this.height = computed(() => this.logo().height);
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LogoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
18
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LogoService }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: LogoService, decorators: [{
21
- type: Injectable
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nby5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9sb2dvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHNUMsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUFHbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoQyxTQUFJLEdBQUcsTUFBTSxDQUMzQixNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUN0QixHQUFHLEVBQUUsVUFBVTtnQkFDZixLQUFLLEVBQUUsR0FBRzthQUNYLENBQUMsQ0FDSCxDQUFDO1FBRWMsUUFBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7S0FFN0Q7OEdBZlksV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29tcHV0ZWQsXG4gIGluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAcnhhcC9jb25maWcnO1xuaW1wb3J0IHsgUlhBUF9MT0dPX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ29TZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDb25maWdTZXJ2aWNlKTtcbiAgcHVibGljIHJlYWRvbmx5IGxvZ28gPSBzaWduYWwoXG4gICAgaW5qZWN0KFJYQVBfTE9HT19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSkgPz9cbiAgICB0aGlzLmNvbmZpZy5nZXQoJ2xvZ28nLCB7XG4gICAgICBzcmM6ICdsb2dvLnBuZycsXG4gICAgICB3aWR0aDogMTkyLFxuICAgIH0pLFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzcmMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS5zcmMpO1xuICBwdWJsaWMgcmVhZG9ubHkgd2lkdGggPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS53aWR0aCk7XG4gIHB1YmxpYyByZWFkb25seSBoZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxvZ28oKS5oZWlnaHQpO1xuXG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
- import { RouterOutlet } from '@angular/router';
3
- import { BaseLayoutComponent } from '../base-layout/base-layout.component';
4
- import { FooterComponent } from '../footer/footer.component';
5
- import { HeaderComponent } from '../header/header.component';
6
- import { NavigationProgressBarComponent } from '../navigation-progress-bar/navigation-progress-bar.component';
7
- import * as i0 from "@angular/core";
8
- export class MinimalLayoutComponent {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MinimalLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: MinimalLayoutComponent, isStandalone: true, selector: "rxap-minimal-layout", ngImport: i0, template: "<rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n<router-outlet></router-outlet>\n<rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n", styles: [""], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: NavigationProgressBarComponent, selector: "rxap-navigation-progress-bar" }, { kind: "component", type: HeaderComponent, selector: "rxap-header", inputs: ["color"] }, { kind: "component", type: FooterComponent, selector: "rxap-footer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11
- }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: MinimalLayoutComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'rxap-minimal-layout', standalone: true, imports: [RouterOutlet, BaseLayoutComponent, NavigationProgressBarComponent, HeaderComponent, FooterComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<rxap-header class=\"z-10 w-full fixed top-0\"></rxap-header>\n<rxap-navigation-progress-bar></rxap-navigation-progress-bar>\n<router-outlet></router-outlet>\n<rxap-footer class=\"z-10 w-full fixed bottom-0\"></rxap-footer>\n" }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hbC1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9taW5pbWFsLWxheW91dC9taW5pbWFsLWxheW91dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL21pbmltYWwtbGF5b3V0L21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOztBQVU5RyxNQUFNLE9BQU8sc0JBQXNCOzhHQUF0QixzQkFBc0I7a0dBQXRCLHNCQUFzQiwrRUNsQm5DLG1PQUlBLDBERFNhLFlBQVksMkpBQXVCLDhCQUE4Qix5RUFBRSxlQUFlLDJFQUFFLGVBQWU7OzJGQUtuRyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0UscUJBQXFCLGNBQ25CLElBQUksV0FDUCxDQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFFLG1CQUcvRix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQmFzZUxheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtbGF5b3V0L2Jhc2UtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tICcuLi9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLW1pbmltYWwtbGF5b3V0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogWyBSb3V0ZXJPdXRsZXQsIEJhc2VMYXlvdXRDb21wb25lbnQsIE5hdmlnYXRpb25Qcm9ncmVzc0JhckNvbXBvbmVudCwgSGVhZGVyQ29tcG9uZW50LCBGb290ZXJDb21wb25lbnQgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL21pbmltYWwtbGF5b3V0LmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmltYWxMYXlvdXRDb21wb25lbnQge31cbiIsIjxyeGFwLWhlYWRlciBjbGFzcz1cInotMTAgdy1mdWxsIGZpeGVkIHRvcC0wXCI+PC9yeGFwLWhlYWRlcj5cbjxyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyPjwvcnhhcC1uYXZpZ2F0aW9uLXByb2dyZXNzLWJhcj5cbjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbjxyeGFwLWZvb3RlciBjbGFzcz1cInotMTAgdy1mdWxsIGZpeGVkIGJvdHRvbS0wXCI+PC9yeGFwLWZvb3Rlcj5cbiJdfQ==
@@ -1,139 +0,0 @@
1
- import { animate, style, transition, trigger, } from '@angular/animations';
2
- import { NgClass, NgIf, } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, computed, ElementRef, forwardRef, inject, input, Renderer2, signal, ViewEncapsulation, } from '@angular/core';
4
- import { MatRippleModule } from '@angular/material/core';
5
- import { MatDividerModule } from '@angular/material/divider';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { NavigationEnd, Router, RouterLink, RouterLinkActive, } from '@angular/router';
8
- import { IconDirective } from '@rxap/material-directives/icon';
9
- import { coerceArray } from '@rxap/utilities';
10
- import { debounceTime, Subscription, } from 'rxjs';
11
- import { filter, startWith, tap, } from 'rxjs/operators';
12
- import { LayoutService } from '../../layout.service';
13
- import { NavigationComponent } from '../navigation.component';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@angular/material/core";
16
- import * as i2 from "@angular/material/icon";
17
- import * as i3 from "@angular/material/divider";
18
- export class NavigationItemComponent {
19
- constructor() {
20
- this.level = input(0);
21
- this.children = null;
22
- this.item = input.required();
23
- this.active = signal(false);
24
- this.itemClasses = computed(() => {
25
- let classes = `level-${this.level() * 4}`;
26
- if (this.collapsed()) {
27
- classes += ' invisible';
28
- }
29
- return classes;
30
- });
31
- this.layoutService = inject(LayoutService);
32
- this.collapsed = computed(() => this.layoutService.collapsed());
33
- this._subscription = new Subscription();
34
- this.router = inject(Router);
35
- this.elementRef = inject(ElementRef);
36
- this.renderer = inject(Renderer2);
37
- }
38
- ngOnChanges(changes) {
39
- if (changes['item']) {
40
- const item = changes['item'].currentValue;
41
- this.children =
42
- item.children && item.children.length ? item.children : null;
43
- }
44
- }
45
- ngAfterViewInit() {
46
- this._subscription.add(this.router.events
47
- .pipe(filter((event) => event instanceof NavigationEnd), debounceTime(100), startWith(true), tap(() => {
48
- let isActive = true;
49
- const urlParts = this.router.url.split('/');
50
- if (urlParts[0] === '') {
51
- urlParts[0] = '/';
52
- }
53
- const routerLink = coerceArray(this.item().routerLink).map(fragment => fragment.split('/')).flat();
54
- if (routerLink[0] === '') {
55
- routerLink[0] = '/';
56
- }
57
- for (let i = 0; i < routerLink.length; i++) {
58
- if (urlParts[i] !== routerLink[i]) {
59
- isActive = false;
60
- break;
61
- }
62
- }
63
- this.active.set(isActive);
64
- if (isActive) {
65
- this.renderer.addClass(this.elementRef.nativeElement, 'active');
66
- }
67
- else {
68
- this.renderer.removeClass(this.elementRef.nativeElement, 'active');
69
- }
70
- }))
71
- .subscribe());
72
- }
73
- ngOnDestroy() {
74
- this._subscription?.unsubscribe();
75
- }
76
- // region type save item property
77
- // required to check the type of the item property in the ngFor loop
78
- isNavigationDividerItem(item) {
79
- return item['divider'];
80
- }
81
- isNavigationItem(item) {
82
- return !this.isNavigationDividerItem(item);
83
- }
84
- asNavigationItem(item) {
85
- if (!this.isNavigationItem(item)) {
86
- throw new Error('The item is not a NavigationItem');
87
- }
88
- return item;
89
- }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
91
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: NavigationItemComponent, isStandalone: true, selector: "li[rxap-navigation-item]", inputs: { level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: "<div [ngClass]=\"{\n 'border-l-4 text-accent-400 border-accent-600': active(),\n }\">\n <a [routerLink]=\"item().routerLink\"\n class=\"h-12 pl-4 pr-5 flex flex-row justify-between items-center gap-x-4\"\n matRipple\n routerLinkActive\n\n >\n <span\n [ngClass]=\"itemClasses()\"\n class=\"grow whitespace-nowrap\"\n >\n {{ item().label }}\n </span>\n <mat-icon *ngIf=\"item().icon as icon\" [rxapIcon]=\"icon\"></mat-icon>\n </a>\n\n <ng-container *ngIf=\"item().children?.length && active()\">\n\n <mat-divider></mat-divider>\n\n <ul [@sub-nav]\n [items]=\"children ?? []\"\n [level]=\"level() + 1\"\n rxap-navigation\n >\n </ul>\n\n <mat-divider></mat-divider>\n\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i0.forwardRef(() => RouterLinkActive), selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i0.forwardRef(() => RouterLink), selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatRippleModule) }, { kind: "directive", type: i0.forwardRef(() => i1.MatRipple), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatIconModule) }, { kind: "component", type: i0.forwardRef(() => i2.MatIcon), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i0.forwardRef(() => IconDirective), selector: "mat-icon[rxapIcon]", inputs: ["rxapIcon"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDividerModule) }, { kind: "component", type: i0.forwardRef(() => i3.MatDivider), selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i0.forwardRef(() => NavigationComponent), selector: "ul[rxap-navigation]", inputs: ["items", "level", "root"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
92
- trigger('sub-nav', [
93
- transition(':enter', [
94
- style({
95
- display: 'block',
96
- height: '0',
97
- overflow: 'hidden',
98
- }),
99
- animate(150, style({ height: '*' })),
100
- ]),
101
- transition(':leave', [
102
- style({ overflow: 'hidden' }),
103
- animate(300, style({ height: '0' })),
104
- style({ display: 'none' }),
105
- ]),
106
- ]),
107
- ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
108
- }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationItemComponent, decorators: [{
110
- type: Component,
111
- args: [{ selector: 'li[rxap-navigation-item]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [
112
- trigger('sub-nav', [
113
- transition(':enter', [
114
- style({
115
- display: 'block',
116
- height: '0',
117
- overflow: 'hidden',
118
- }),
119
- animate(150, style({ height: '*' })),
120
- ]),
121
- transition(':leave', [
122
- style({ overflow: 'hidden' }),
123
- animate(300, style({ height: '0' })),
124
- style({ display: 'none' }),
125
- ]),
126
- ]),
127
- ], standalone: true, imports: [
128
- RouterLinkActive,
129
- RouterLink,
130
- NgIf,
131
- MatRippleModule,
132
- MatIconModule,
133
- IconDirective,
134
- MatDividerModule,
135
- forwardRef(() => NavigationComponent),
136
- NgClass,
137
- ], template: "<div [ngClass]=\"{\n 'border-l-4 text-accent-400 border-accent-600': active(),\n }\">\n <a [routerLink]=\"item().routerLink\"\n class=\"h-12 pl-4 pr-5 flex flex-row justify-between items-center gap-x-4\"\n matRipple\n routerLinkActive\n\n >\n <span\n [ngClass]=\"itemClasses()\"\n class=\"grow whitespace-nowrap\"\n >\n {{ item().label }}\n </span>\n <mat-icon *ngIf=\"item().icon as icon\" [rxapIcon]=\"icon\"></mat-icon>\n </a>\n\n <ng-container *ngIf=\"item().children?.length && active()\">\n\n <mat-divider></mat-divider>\n\n <ul [@sub-nav]\n [items]=\"children ?? []\"\n [level]=\"level() + 1\"\n rxap-navigation\n >\n </ul>\n\n <mat-divider></mat-divider>\n\n </ng-container>\n</div>\n" }]
138
- }] });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXIvbGF5b3V0L3NyYy9saWIvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsT0FBTyxFQUNQLElBQUksR0FDTCxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBR0wsU0FBUyxFQUNULE1BQU0sRUFHTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLE1BQU0sRUFDTixVQUFVLEVBQ1YsZ0JBQWdCLEdBQ2pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVB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QUUsR0FBRztvQ0FDWCxRQUFRLEVBQUUsUUFBUTtpQ0FDbkIsQ0FBQztnQ0FDRixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDOzZCQUNyQyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ25CLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQztnQ0FDN0IsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQ0FDcEMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDOzZCQUMzQixDQUFDO3lCQUNILENBQUM7cUJBQ0gsY0FDVyxJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLElBQUk7d0JBQ0osZUFBZTt3QkFDZixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7d0JBQ3JDLE9BQU87cUJBQ1IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhbmltYXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBOZ0NsYXNzLFxuICBOZ0lmLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIHNpZ25hbCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgdmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbiwgQWZ0ZXJWaWV3SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb25FbmQsXG4gIFJvdXRlcixcbiAgUm91dGVyTGluayxcbiAgUm91dGVyTGlua0FjdGl2ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEljb25EaXJlY3RpdmUgfSBmcm9tICdAcnhhcC9tYXRlcmlhbC1kaXJlY3RpdmVzL2ljb24nO1xuaW1wb3J0IHsgY29lcmNlQXJyYXkgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBTdWJzY3JpcHRpb24sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZmlsdGVyLFxuICBzdGFydFdpdGgsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uLy4uL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb24sXG4gIE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgTmF2aWdhdGlvbkl0ZW0sXG59IGZyb20gJy4uL25hdmlnYXRpb24taXRlbSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaVtyeGFwLW5hdmlnYXRpb24taXRlbV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL25hdmlnYXRpb24taXRlbS5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdzdWItbmF2JywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICAgICAgICBoZWlnaHQ6ICcwJyxcbiAgICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKDE1MCwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgc3R5bGUoeyBvdmVyZmxvdzogJ2hpZGRlbicgfSksXG4gICAgICAgIGFuaW1hdGUoMzAwLCBzdHlsZSh7IGhlaWdodDogJzAnIH0pKSxcbiAgICAgICAgc3R5bGUoeyBkaXNwbGF5OiAnbm9uZScgfSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIFJvdXRlckxpbmtBY3RpdmUsXG4gICAgUm91dGVyTGluayxcbiAgICBOZ0lmLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIEljb25EaXJlY3RpdmUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBmb3J3YXJkUmVmKCgpID0+IE5hdmlnYXRpb25Db21wb25lbnQpLFxuICAgIE5nQ2xhc3MsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkl0ZW1Db21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHVibGljIHJlYWRvbmx5IGxldmVsID0gaW5wdXQoMCk7XG5cbiAgcHVibGljIGNoaWxkcmVuOiBOYXZpZ2F0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIHJlYWRvbmx5IGl0ZW0gPSBpbnB1dC5yZXF1aXJlZDxOYXZpZ2F0aW9uSXRlbT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGl0ZW1DbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGxldCBjbGFzc2VzID0gYGxldmVsLSR7IHRoaXMubGV2ZWwoKSAqIDQgfWA7XG4gICAgaWYgKHRoaXMuY29sbGFwc2VkKCkpIHtcbiAgICAgIGNsYXNzZXMgKz0gJyBpbnZpc2libGUnO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBjb2xsYXBzZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmxheW91dFNlcnZpY2UuY29sbGFwc2VkKCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydpdGVtJ10pIHtcbiAgICAgIGNvbnN0IGl0ZW06IE5hdmlnYXRpb25JdGVtID0gY2hhbmdlc1snaXRlbSddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIHRoaXMuY2hpbGRyZW4gPVxuICAgICAgICBpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID8gaXRlbS5jaGlsZHJlbiA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksXG4gICAgICAgICAgICBzdGFydFdpdGgodHJ1ZSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICBjb25zdCB1cmxQYXJ0cyA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpO1xuICAgICAgICAgICAgICBpZiAodXJsUGFydHNbMF0gPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgdXJsUGFydHNbMF0gPSAnLyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3Qgcm91dGVyTGluayA9IGNvZXJjZUFycmF5KHRoaXMuaXRlbSgpLnJvdXRlckxpbmspLm1hcChmcmFnbWVudCA9PiBmcmFnbWVudC5zcGxpdCgnLycpKS5mbGF0KCk7XG4gICAgICAgICAgICAgIGlmIChyb3V0ZXJMaW5rWzBdID09PSAnJykge1xuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtbMF0gPSAnLyc7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3V0ZXJMaW5rLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKHVybFBhcnRzW2ldICE9PSByb3V0ZXJMaW5rW2ldKSB7XG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRoaXMuYWN0aXZlLnNldChpc0FjdGl2ZSk7XG4gICAgICAgICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3RpdmUnKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnYWN0aXZlJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvLyByZWdpb24gdHlwZSBzYXZlIGl0ZW0gcHJvcGVydHlcblxuICAvLyByZXF1aXJlZCB0byBjaGVjayB0aGUgdHlwZSBvZiB0aGUgaXRlbSBwcm9wZXJ0eSBpbiB0aGUgbmdGb3IgbG9vcFxuXG4gIHB1YmxpYyBpc05hdmlnYXRpb25EaXZpZGVySXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgKTogaXRlbSBpcyBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0ge1xuICAgIHJldHVybiAoaXRlbSBhcyBhbnkpWydkaXZpZGVyJ107XG4gIH1cblxuICBwdWJsaWMgaXNOYXZpZ2F0aW9uSXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgKTogaXRlbSBpcyBOYXZpZ2F0aW9uSXRlbSB7XG4gICAgcmV0dXJuICF0aGlzLmlzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIGFzTmF2aWdhdGlvbkl0ZW0oXG4gICAgaXRlbTogTmF2aWdhdGlvbkl0ZW0gfCBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0sXG4gICk6IE5hdmlnYXRpb25JdGVtIHtcbiAgICBpZiAoIXRoaXMuaXNOYXZpZ2F0aW9uSXRlbShpdGVtKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgaXRlbSBpcyBub3QgYSBOYXZpZ2F0aW9uSXRlbScpO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxufVxuIiwiPGRpdiBbbmdDbGFzc109XCJ7XG4gICAgICdib3JkZXItbC00IHRleHQtYWNjZW50LTQwMCBib3JkZXItYWNjZW50LTYwMCc6IGFjdGl2ZSgpLFxuICAgICB9XCI+XG4gIDxhIFtyb3V0ZXJMaW5rXT1cIml0ZW0oKS5yb3V0ZXJMaW5rXCJcbiAgICAgY2xhc3M9XCJoLTEyIHBsLTQgcHItNSBmbGV4IGZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLXgtNFwiXG4gICAgIG1hdFJpcHBsZVxuICAgICByb3V0ZXJMaW5rQWN0aXZlXG5cbiAgPlxuICAgIDxzcGFuXG4gICAgICBbbmdDbGFzc109XCJpdGVtQ2xhc3NlcygpXCJcbiAgICAgIGNsYXNzPVwiZ3JvdyB3aGl0ZXNwYWNlLW5vd3JhcFwiXG4gICAgPlxuICAgICAge3sgaXRlbSgpLmxhYmVsIH19XG4gICAgPC9zcGFuPlxuICAgIDxtYXQtaWNvbiAqbmdJZj1cIml0ZW0oKS5pY29uIGFzIGljb25cIiBbcnhhcEljb25dPVwiaWNvblwiPjwvbWF0LWljb24+XG4gIDwvYT5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbSgpLmNoaWxkcmVuPy5sZW5ndGggJiYgYWN0aXZlKClcIj5cblxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuXG4gICAgPHVsIFtAc3ViLW5hdl1cbiAgICAgICAgW2l0ZW1zXT1cImNoaWxkcmVuID8/IFtdXCJcbiAgICAgICAgW2xldmVsXT1cImxldmVsKCkgKyAxXCJcbiAgICAgICAgcnhhcC1uYXZpZ2F0aW9uXG4gICAgPlxuICAgIDwvdWw+XG5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cblxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -1,10 +0,0 @@
1
- export function IsNavigationDividerItem(item) {
2
- return !!item && !!item['divider'];
3
- }
4
- export function IsNavigationInsertItem(item) {
5
- return !!item && !!item['insert'];
6
- }
7
- export function IsNavigationItem(item) {
8
- return (!!item && !!item['routerLink'] && !!item['label']);
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24taXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxJQUFTO0lBRVQsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQU1ELE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsSUFBUztJQUVULE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFvQkQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLElBQVM7SUFDeEMsT0FBTyxDQUNMLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNsRCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Db25maWcgfSBmcm9tICdAcnhhcC91dGlsaXRpZXMnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RUeXBlLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb24gPSBBcnJheTxOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbT47XG5cbmV4cG9ydCB0eXBlIE5hdmlnYXRpb25XaXRoSW5zZXJ0cyA9IEFycmF5PFxuICB8IE5hdmlnYXRpb25JdGVtPE5hdmlnYXRpb25XaXRoSW5zZXJ0cz5cbiAgfCBOYXZpZ2F0aW9uRGl2aWRlckl0ZW1cbiAgfCBOYXZpZ2F0aW9uSW5zZXJ0SXRlbVxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uRGl2aWRlckl0ZW0ge1xuICBkaXZpZGVyOiBib29sZWFuO1xuICB0aXRsZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKFxuICBpdGVtOiBhbnksXG4pOiBpdGVtIGlzIE5hdmlnYXRpb25EaXZpZGVySXRlbSB7XG4gIHJldHVybiAhIWl0ZW0gJiYgISFpdGVtWydkaXZpZGVyJ107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbkluc2VydEl0ZW0ge1xuICBpbnNlcnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzTmF2aWdhdGlvbkluc2VydEl0ZW0oXG4gIGl0ZW06IGFueSxcbik6IGl0ZW0gaXMgTmF2aWdhdGlvbkluc2VydEl0ZW0ge1xuICByZXR1cm4gISFpdGVtICYmICEhaXRlbVsnaW5zZXJ0J107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvblN0YXR1cyB7XG4gIGlzVmlzaWJsZShcbiAgICBuYXZpZ2F0aW9uSXRlbTogTmF2aWdhdGlvbkl0ZW0sXG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHwgYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uSXRlbTxDaGlsZHJlbiA9IE5hdmlnYXRpb24+IGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByb3V0ZXJMaW5rOiBzdHJpbmdbXSB8IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBDaGlsZHJlbjtcbiAgaWNvbj86IEljb25Db25maWc7XG4gIHN0YXR1cz86IEFycmF5PFxuICAgIHwgVHlwZTxOYXZpZ2F0aW9uU3RhdHVzPlxuICAgIHwgSW5qZWN0aW9uVG9rZW48TmF2aWdhdGlvblN0YXR1cz5cbiAgICB8IEFic3RyYWN0VHlwZTxOYXZpZ2F0aW9uU3RhdHVzPlxuICA+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSXNOYXZpZ2F0aW9uSXRlbShpdGVtOiBhbnkpOiBpdGVtIGlzIE5hdmlnYXRpb25JdGVtIHtcbiAgcmV0dXJuIChcbiAgICAhIWl0ZW0gJiYgISFpdGVtWydyb3V0ZXJMaW5rJ10gJiYgISFpdGVtWydsYWJlbCddXG4gICk7XG59XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { AsyncPipe, NgFor, NgIf, } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, INJECTOR, input, runInInjectionContext, ViewEncapsulation, } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { MatDividerModule } from '@angular/material/divider';
5
- import { LayoutService } from '../layout.service';
6
- import { NavigationService } from '../navigation.service';
7
- import { NavigationItemComponent } from './navigation-item/navigation-item.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/material/divider";
10
- export class NavigationComponent {
11
- constructor() {
12
- this.items = input();
13
- this.level = input(0);
14
- this.navigationService = inject(NavigationService);
15
- this.layoutService = inject(LayoutService);
16
- this.collapsed = computed(() => this.layoutService.collapsed());
17
- this.navigationItems = computed(() => this.items() ?? []);
18
- this.root = input(false);
19
- this.injector = inject(INJECTOR);
20
- }
21
- ngOnInit() {
22
- if (this.root()) {
23
- runInInjectionContext(this.injector, () => {
24
- this.navigationItems = toSignal(this.navigationService.config$, { initialValue: [] });
25
- });
26
- }
27
- }
28
- // region type save item property
29
- // required to check the type of the item property in the ngFor loop
30
- isNavigationDividerItem(item) {
31
- return item['divider'];
32
- }
33
- isNavigationItem(item) {
34
- return !this.isNavigationDividerItem(item);
35
- }
36
- asNavigationItem(item) {
37
- if (!this.isNavigationItem(item)) {
38
- throw new Error('The item is not a NavigationItem');
39
- }
40
- return item;
41
- }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.0", type: NavigationComponent, isStandalone: true, selector: "ul[rxap-navigation]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, root: { classPropertyName: "root", publicName: "root", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "list-none dark:text-neutral-400 text-neutral-700" }, ngImport: i0, template: "<ng-template [ngForOf]=\"navigationItems()\" let-item ngFor>\n <ng-template [ngIf]=\"isNavigationDividerItem(item)\">\n <mat-divider></mat-divider>\n <div *ngIf=\"!collapsed() && item.title\" class=\"pl-5 h-6\">\n {{item.title}}\n </div>\n </ng-template>\n <ng-template [ngIf]=\"isNavigationItem(item)\">\n <li [item]=\"asNavigationItem(item)\"\n [level]=\"level()\"\n class=\"dark:hover:text-white hover:text-black\"\n rxap-navigation-item>\n </li>\n </ng-template>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i0.forwardRef(() => NgFor), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: i0.forwardRef(() => MatDividerModule) }, { kind: "component", type: i0.forwardRef(() => i1.MatDivider), selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i0.forwardRef(() => NavigationItemComponent), selector: "li[rxap-navigation-item]", inputs: ["level", "item"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
- }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationComponent, decorators: [{
46
- type: Component,
47
- args: [{ selector: 'ul[rxap-navigation]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, host: {
48
- class: 'list-none dark:text-neutral-400 text-neutral-700',
49
- }, imports: [
50
- NgFor,
51
- NgIf,
52
- MatDividerModule,
53
- forwardRef(() => NavigationItemComponent),
54
- AsyncPipe,
55
- ], template: "<ng-template [ngForOf]=\"navigationItems()\" let-item ngFor>\n <ng-template [ngIf]=\"isNavigationDividerItem(item)\">\n <mat-divider></mat-divider>\n <div *ngIf=\"!collapsed() && item.title\" class=\"pl-5 h-6\">\n {{item.title}}\n </div>\n </ng-template>\n <ng-template [ngIf]=\"isNavigationItem(item)\">\n <li [item]=\"asNavigationItem(item)\"\n [level]=\"level()\"\n class=\"dark:hover:text-white hover:text-black\"\n rxap-navigation-item>\n </li>\n </ng-template>\n</ng-template>\n" }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxJQUFJLEdBQ0wsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLHFCQUFxQixFQUNyQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU0xRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBc0J0RixNQUFNLE9BQU8sbUJBQW1CO0lBcEJoQztRQXNCUyxVQUFLLEdBQUcsS0FBSyxFQUFjLENBQUM7UUFFNUIsVUFBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVQLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTlDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXZDLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU1QyxTQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FtQzlDO0lBakNRLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ2hCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN4QyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEYsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNELGlDQUFpQztJQUVqQyxvRUFBb0U7SUFFN0QsdUJBQXVCLENBQzVCLElBQTRDO1FBRTVDLE9BQVEsSUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxnQkFBZ0IsQ0FDckIsSUFBNEM7UUFFNUMsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU0sZ0JBQWdCLENBQ3JCLElBQTRDO1FBRTVDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0FoRFUsbUJBQW1CO2tHQUFuQixtQkFBbUIsOGdCQ2hEaEMsbWhCQWVBLDhFRDBCSSxLQUFLLHdJQUNMLElBQUksaUhBQ0osZ0JBQWdCLDZLQUNDLHVCQUF1Qjs7MkZBSS9CLG1CQUFtQjtrQkFwQi9CLFNBQVM7K0JBRUUscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxRQUVWO3dCQUNKLEtBQUssRUFBRSxrREFBa0Q7cUJBQzFELFdBQ1E7d0JBQ1AsS0FBSzt3QkFDTCxJQUFJO3dCQUNKLGdCQUFnQjt3QkFDaEIsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3dCQUN6QyxTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXN5bmNQaXBlLFxuICBOZ0ZvcixcbiAgTmdJZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIElOSkVDVE9SLFxuICBpbnB1dCxcbiAgT25Jbml0LFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJy4uL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIE5hdmlnYXRpb24sXG4gIE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgTmF2aWdhdGlvbkl0ZW0sXG59IGZyb20gJy4vbmF2aWdhdGlvbi1pdGVtJztcbmltcG9ydCB7IE5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWl0ZW0vbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ3VsW3J4YXAtbmF2aWdhdGlvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2xpc3Qtbm9uZSBkYXJrOnRleHQtbmV1dHJhbC00MDAgdGV4dC1uZXV0cmFsLTcwMCcsXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgZm9yd2FyZFJlZigoKSA9PiBOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCksXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgaXRlbXMgPSBpbnB1dDxOYXZpZ2F0aW9uPigpO1xuXG4gIHB1YmxpYyBsZXZlbCA9IGlucHV0KDApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmF2aWdhdGlvblNlcnZpY2UgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbGF5b3V0U2VydmljZSA9IGluamVjdChMYXlvdXRTZXJ2aWNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgY29sbGFwc2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbGxhcHNlZCgpKTtcblxuICBwdWJsaWMgbmF2aWdhdGlvbkl0ZW1zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtcygpID8/IFtdKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcm9vdCA9IGlucHV0KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucm9vdCgpKSB7XG4gICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5pbmplY3RvciwgKCkgPT4ge1xuICAgICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcyA9IHRvU2lnbmFsKHRoaXMubmF2aWdhdGlvblNlcnZpY2UuY29uZmlnJCwgeyBpbml0aWFsVmFsdWU6IFtdIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8vIHJlZ2lvbiB0eXBlIHNhdmUgaXRlbSBwcm9wZXJ0eVxuXG4gIC8vIHJlcXVpcmVkIHRvIGNoZWNrIHRoZSB0eXBlIG9mIHRoZSBpdGVtIHByb3BlcnR5IGluIHRoZSBuZ0ZvciBsb29wXG5cbiAgcHVibGljIGlzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKFxuICAgIGl0ZW06IE5hdmlnYXRpb25JdGVtIHwgTmF2aWdhdGlvbkRpdmlkZXJJdGVtLFxuICApOiBpdGVtIGlzIE5hdmlnYXRpb25EaXZpZGVySXRlbSB7XG4gICAgcmV0dXJuIChpdGVtIGFzIGFueSlbJ2RpdmlkZXInXTtcbiAgfVxuXG4gIHB1YmxpYyBpc05hdmlnYXRpb25JdGVtKFxuICAgIGl0ZW06IE5hdmlnYXRpb25JdGVtIHwgTmF2aWdhdGlvbkRpdmlkZXJJdGVtLFxuICApOiBpdGVtIGlzIE5hdmlnYXRpb25JdGVtIHtcbiAgICByZXR1cm4gIXRoaXMuaXNOYXZpZ2F0aW9uRGl2aWRlckl0ZW0oaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgYXNOYXZpZ2F0aW9uSXRlbShcbiAgICBpdGVtOiBOYXZpZ2F0aW9uSXRlbSB8IE5hdmlnYXRpb25EaXZpZGVySXRlbSxcbiAgKTogTmF2aWdhdGlvbkl0ZW0ge1xuICAgIGlmICghdGhpcy5pc05hdmlnYXRpb25JdGVtKGl0ZW0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBpdGVtIGlzIG5vdCBhIE5hdmlnYXRpb25JdGVtJyk7XG4gICAgfVxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLy8gZW5kcmVnaW9uXG59XG4iLCI8bmctdGVtcGxhdGUgW25nRm9yT2ZdPVwibmF2aWdhdGlvbkl0ZW1zKClcIiBsZXQtaXRlbSBuZ0Zvcj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzTmF2aWdhdGlvbkRpdmlkZXJJdGVtKGl0ZW0pXCI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgPGRpdiAqbmdJZj1cIiFjb2xsYXBzZWQoKSAmJiBpdGVtLnRpdGxlXCIgY2xhc3M9XCJwbC01IGgtNlwiPlxuICAgICAge3tpdGVtLnRpdGxlfX1cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzTmF2aWdhdGlvbkl0ZW0oaXRlbSlcIj5cbiAgICA8bGkgW2l0ZW1dPVwiYXNOYXZpZ2F0aW9uSXRlbShpdGVtKVwiXG4gICAgICAgIFtsZXZlbF09XCJsZXZlbCgpXCJcbiAgICAgICAgY2xhc3M9XCJkYXJrOmhvdmVyOnRleHQtd2hpdGUgaG92ZXI6dGV4dC1ibGFja1wiXG4gICAgICAgIHJ4YXAtbmF2aWdhdGlvbi1pdGVtPlxuICAgIDwvbGk+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, inject, } from '@angular/core';
2
- import { toSignal } from '@angular/core/rxjs-interop';
3
- import { MatProgressBar } from '@angular/material/progress-bar';
4
- import { NavigationCancel, NavigationEnd, NavigationStart, Router, } from '@angular/router';
5
- import { filter, map, } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- export class NavigationProgressBarComponent {
8
- constructor() {
9
- this.router = inject(Router);
10
- this.navigating = toSignal(this.router.events.pipe(filter(event => event instanceof NavigationStart ||
11
- event instanceof NavigationEnd ||
12
- event instanceof NavigationCancel), map(event => event instanceof NavigationStart)), { initialValue: true });
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: NavigationProgressBarComponent, isStandalone: true, selector: "rxap-navigation-progress-bar", ngImport: i0, template: "@if (navigating()) {\n<mat-progress-bar color=\"accent\" mode=\"indeterminate\"></mat-progress-bar>\n}\n", styles: [""], dependencies: [{ kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: NavigationProgressBarComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'rxap-navigation-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
20
- MatProgressBar,
21
- ], template: "@if (navigating()) {\n<mat-progress-bar color=\"accent\" mode=\"indeterminate\"></mat-progress-bar>\n}\n" }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhci9sYXlvdXQvc3JjL2xpYi9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci9uYXZpZ2F0aW9uLXByb2dyZXNzLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyL2xheW91dC9zcmMvbGliL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLGVBQWUsRUFDZixNQUFNLEdBQ1AsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDOztBQVl4QixNQUFNLE9BQU8sOEJBQThCO0lBVjNDO1FBWWtCLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsZUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzNELE1BQU0sQ0FDSixLQUFLLENBQUMsRUFBRSxDQUNOLEtBQUssWUFBWSxlQUFlO1lBQ2hDLEtBQUssWUFBWSxhQUFhO1lBQzlCLEtBQUssWUFBWSxnQkFBZ0IsQ0FDcEMsRUFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQy9DLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUU1Qjs4R0FkWSw4QkFBOEI7a0dBQTlCLDhCQUE4Qix3RkM1QjNDLDBHQUdBLDBERHNCSSxjQUFjOzsyRkFHTCw4QkFBOEI7a0JBVjFDLFNBQVM7K0JBQ0UsOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHtcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVuZCxcbiAgTmF2aWdhdGlvblN0YXJ0LFxuICBSb3V0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBmaWx0ZXIsXG4gIG1hcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyeGFwLW5hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL25hdmlnYXRpb24tcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE1hdFByb2dyZXNzQmFyLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xuXG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbmF2aWdhdGluZyA9IHRvU2lnbmFsKHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcihcbiAgICAgIGV2ZW50ID0+XG4gICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0IHx8XG4gICAgICAgIGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fFxuICAgICAgICBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwsXG4gICAgKSxcbiAgICBtYXAoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLFxuICApLCB7IGluaXRpYWxWYWx1ZTogdHJ1ZSB9KTtcblxufVxuIiwiQGlmIChuYXZpZ2F0aW5nKCkpIHtcbjxtYXQtcHJvZ3Jlc3MtYmFyIGNvbG9yPVwiYWNjZW50XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XG59XG4iXX0=