ngssm-shell 18.2.2 → 19.0.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 (32) hide show
  1. package/fesm2022/ngssm-shell.mjs +33 -33
  2. package/fesm2022/ngssm-shell.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/esm2022/lib/actions/display-notification-details.action.mjs +0 -8
  5. package/esm2022/lib/actions/display-notification.action.mjs +0 -10
  6. package/esm2022/lib/actions/index.mjs +0 -5
  7. package/esm2022/lib/actions/lock-navigation-bar.action.mjs +0 -8
  8. package/esm2022/lib/actions/shell-action-type.mjs +0 -13
  9. package/esm2022/lib/components/index.mjs +0 -7
  10. package/esm2022/lib/components/shell/shell.component.mjs +0 -89
  11. package/esm2022/lib/components/shell-notification/shell-notification.component.mjs +0 -56
  12. package/esm2022/lib/components/shell-notification-popup/shell-notification-popup.component.mjs +0 -29
  13. package/esm2022/lib/components/shell-notifications/shell-notifications.component.mjs +0 -65
  14. package/esm2022/lib/components/side-nav/side-nav.component.mjs +0 -37
  15. package/esm2022/lib/components/wrapper/wrapper.component.mjs +0 -35
  16. package/esm2022/lib/effects/notification-showing.effect.mjs +0 -25
  17. package/esm2022/lib/model/index.mjs +0 -8
  18. package/esm2022/lib/model/lock-status.mjs +0 -7
  19. package/esm2022/lib/model/shell-config.mjs +0 -2
  20. package/esm2022/lib/model/shell-notification-type.mjs +0 -6
  21. package/esm2022/lib/model/shell-notification.mjs +0 -2
  22. package/esm2022/lib/model/sidenav-config.mjs +0 -2
  23. package/esm2022/lib/model/sidenav-item.mjs +0 -2
  24. package/esm2022/lib/model/sidenav-section.mjs +0 -2
  25. package/esm2022/lib/provide-ngssm-shell.mjs +0 -12
  26. package/esm2022/lib/reducers/navigation-bar.reducer.mjs +0 -48
  27. package/esm2022/lib/reducers/shell-notifications.reducer.mjs +0 -50
  28. package/esm2022/lib/state/index.mjs +0 -3
  29. package/esm2022/lib/state/shell-notifications.mjs +0 -4
  30. package/esm2022/lib/state/shell.state.mjs +0 -25
  31. package/esm2022/ngssm-shell.mjs +0 -5
  32. package/esm2022/public-api.mjs +0 -9
@@ -1,8 +0,0 @@
1
- import { ShellActionType } from './shell-action-type';
2
- export class LockNavigationBarAction {
3
- constructor(lockStatus) {
4
- this.lockStatus = lockStatus;
5
- this.type = ShellActionType.lockNavigationBar;
6
- }
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1uYXZpZ2F0aW9uLWJhci5hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2FjdGlvbnMvbG9jay1uYXZpZ2F0aW9uLWJhci5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBNEIsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZsQyxTQUFJLEdBQVcsZUFBZSxDQUFDLGlCQUFpQixDQUFDO0lBRVosQ0FBQztDQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ25nc3NtLXN0b3JlJztcbmltcG9ydCB7IExvY2tTdGF0dXMgfSBmcm9tICcuLi9tb2RlbCc7XG5pbXBvcnQgeyBTaGVsbEFjdGlvblR5cGUgfSBmcm9tICcuL3NoZWxsLWFjdGlvbi10eXBlJztcblxuZXhwb3J0IGNsYXNzIExvY2tOYXZpZ2F0aW9uQmFyQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IFNoZWxsQWN0aW9uVHlwZS5sb2NrTmF2aWdhdGlvbkJhcjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbG9ja1N0YXR1czogTG9ja1N0YXR1cykge31cbn1cbiJdfQ==
@@ -1,13 +0,0 @@
1
- export var ShellActionType;
2
- (function (ShellActionType) {
3
- // Navigation bar
4
- ShellActionType["toggleNavigationBarState"] = "[ShellActionType] toggleNavigationBarState";
5
- ShellActionType["openNavigationBar"] = "[ShellActionType] openNavigationBar";
6
- ShellActionType["closeNavigationBar"] = "[ShellActionType] closeNavigationBar";
7
- ShellActionType["lockNavigationBar"] = "[ShellActionType] lockNavigationBar";
8
- // Notifications
9
- ShellActionType["displayNotification"] = "[ShellActionType] displayNotification";
10
- ShellActionType["displayNotificationDetails"] = "[ShellActionType] displayNotificationDetails";
11
- ShellActionType["clearAllNotifications"] = "[ShellActionType] clearAllNotifications";
12
- })(ShellActionType || (ShellActionType = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtYWN0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2FjdGlvbnMvc2hlbGwtYWN0aW9uLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFXWDtBQVhELFdBQVksZUFBZTtJQUN6QixpQkFBaUI7SUFDakIsMEZBQXVFLENBQUE7SUFDdkUsNEVBQXlELENBQUE7SUFDekQsOEVBQTJELENBQUE7SUFDM0QsNEVBQXlELENBQUE7SUFFekQsZ0JBQWdCO0lBQ2hCLGdGQUE2RCxDQUFBO0lBQzdELDhGQUEyRSxDQUFBO0lBQzNFLG9GQUFpRSxDQUFBO0FBQ25FLENBQUMsRUFYVyxlQUFlLEtBQWYsZUFBZSxRQVcxQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNoZWxsQWN0aW9uVHlwZSB7XG4gIC8vIE5hdmlnYXRpb24gYmFyXG4gIHRvZ2dsZU5hdmlnYXRpb25CYXJTdGF0ZSA9ICdbU2hlbGxBY3Rpb25UeXBlXSB0b2dnbGVOYXZpZ2F0aW9uQmFyU3RhdGUnLFxuICBvcGVuTmF2aWdhdGlvbkJhciA9ICdbU2hlbGxBY3Rpb25UeXBlXSBvcGVuTmF2aWdhdGlvbkJhcicsXG4gIGNsb3NlTmF2aWdhdGlvbkJhciA9ICdbU2hlbGxBY3Rpb25UeXBlXSBjbG9zZU5hdmlnYXRpb25CYXInLFxuICBsb2NrTmF2aWdhdGlvbkJhciA9ICdbU2hlbGxBY3Rpb25UeXBlXSBsb2NrTmF2aWdhdGlvbkJhcicsXG5cbiAgLy8gTm90aWZpY2F0aW9uc1xuICBkaXNwbGF5Tm90aWZpY2F0aW9uID0gJ1tTaGVsbEFjdGlvblR5cGVdIGRpc3BsYXlOb3RpZmljYXRpb24nLFxuICBkaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlscyA9ICdbU2hlbGxBY3Rpb25UeXBlXSBkaXNwbGF5Tm90aWZpY2F0aW9uRGV0YWlscycsXG4gIGNsZWFyQWxsTm90aWZpY2F0aW9ucyA9ICdbU2hlbGxBY3Rpb25UeXBlXSBjbGVhckFsbE5vdGlmaWNhdGlvbnMnXG59XG4iXX0=
@@ -1,7 +0,0 @@
1
- export * from './shell-notification-popup/shell-notification-popup.component';
2
- export * from './shell/shell.component';
3
- export * from './shell-notification/shell-notification.component';
4
- export * from './shell-notifications/shell-notifications.component';
5
- export * from './side-nav/side-nav.component';
6
- export * from './wrapper/wrapper.component';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrREFBK0QsQ0FBQztBQUM5RSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cC9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hlbGwvc2hlbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hlbGwtbm90aWZpY2F0aW9uL3NoZWxsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGVsbC1ub3RpZmljYXRpb25zL3NoZWxsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vd3JhcHBlci93cmFwcGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,89 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { MatSidenavModule } from '@angular/material/sidenav';
5
- import { MatToolbarModule } from '@angular/material/toolbar';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatButtonModule } from '@angular/material/button';
8
- import { MatBadgeModule } from '@angular/material/badge';
9
- import { BehaviorSubject, combineLatest } from 'rxjs';
10
- import { NgSsmComponent } from 'ngssm-store';
11
- import { LockStatus } from '../../model';
12
- import { selectShellState } from '../../state';
13
- import { ShellActionType } from '../../actions';
14
- import { SideNavComponent } from '../side-nav/side-nav.component';
15
- import { ShellNotificationsComponent } from '../shell-notifications/shell-notifications.component';
16
- import { WrapperComponent } from '../wrapper/wrapper.component';
17
- import * as i0 from "@angular/core";
18
- import * as i1 from "ngssm-store";
19
- import * as i2 from "@angular/common";
20
- import * as i3 from "@angular/router";
21
- import * as i4 from "@angular/material/sidenav";
22
- import * as i5 from "@angular/material/toolbar";
23
- import * as i6 from "@angular/material/icon";
24
- import * as i7 from "@angular/material/button";
25
- import * as i8 from "@angular/material/badge";
26
- export class ShellComponent extends NgSsmComponent {
27
- constructor(store) {
28
- super(store);
29
- this._shellConfig$ = new BehaviorSubject(undefined);
30
- this._navigationBarOpen$ = new BehaviorSubject(true);
31
- this.class = 'ngssm-shell';
32
- combineLatest([
33
- this.watch((s) => selectShellState(s).navigationBarOpen),
34
- this.watch((s) => selectShellState(s).navigationBarLockStatus)
35
- ]).subscribe((values) => {
36
- let isOpen = false;
37
- switch (values[1]) {
38
- case LockStatus.lockedClosed:
39
- isOpen = false;
40
- break;
41
- case LockStatus.lockedOpen:
42
- isOpen = true;
43
- break;
44
- default:
45
- isOpen = values[0];
46
- break;
47
- }
48
- this._navigationBarOpen$.next(isOpen);
49
- });
50
- }
51
- set shellConfig(value) {
52
- this._shellConfig$.next(value);
53
- }
54
- get navigationBarOpen$() {
55
- return this._navigationBarOpen$.asObservable();
56
- }
57
- get shellConfig$() {
58
- return this._shellConfig$.asObservable();
59
- }
60
- get notificationsCount$() {
61
- return this.watch((s) => selectShellState(s).shellNotifications.notifications.length);
62
- }
63
- toggleNavigationBarState() {
64
- this.dispatchActionType(ShellActionType.toggleNavigationBarState);
65
- }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ShellComponent, isStandalone: true, selector: "ngssm-shell", inputs: { shellConfig: "shellConfig" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ngssm-shell-container\" *ngIf=\"(shellConfig$ | async) as config; else noShellConfig\">\n <mat-sidenav-container>\n <mat-sidenav-content>\n <mat-toolbar class=\"ngssm-shell-header\">\n <button mat-icon-button (click)=\"toggleNavigationBarState()\">\n <mat-icon class=\"fa-solid fa-bars\"></mat-icon>\n </button>\n <img [src]=\"config.logo\" *ngIf=\"config.logo\" class=\"ngssm-shell-header-logo\" />\n <span class=\"ngssm-shell-header-title\" *ngIf=\"config.applicationTitle\">\n {{config.applicationTitle}}\n </span>\n <ng-content></ng-content>\n </mat-toolbar>\n\n <mat-sidenav-container>\n <mat-sidenav mode=\"side\" [opened]=\"(navigationBarOpen$ | async)===true\"\n class=\"ngssm-shell-navigation-bar\">\n <ngssm-side-nav [config]=\"config.sidenavConfig\"></ngssm-side-nav>\n </mat-sidenav>\n <mat-sidenav-content class=\"ngssm-shell-content\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n\n <mat-sidenav mode=\"over\" opened=\"false\" #rightSidebar position=\"end\" class=\"ngssm-shell-messages-bar\">\n <ngssm-shell-notifications class=\"ngssm-shell-notifications\"></ngssm-shell-notifications>\n </mat-sidenav>\n </mat-sidenav-container>\n <mat-toolbar class=\"ngssm-shell-footer\" *ngIf=\"config.displayFooter === true\">\n <ngssm-wrapper *ngFor=\"let component of config.footerComponents\" [item]=\"component\"></ngssm-wrapper>\n <span class=\"ngssm-fxFlex\"></span>\n <button mat-icon-button (click)=\"rightSidebar.toggle()\" *ngIf=\"config.displayFooterNotificationsButton\">\n <mat-icon class=\"fa-regular fa-message\" [matBadge]=\"notificationsCount$ | async\"\n *ngIf=\"(notificationsCount$ | async) ?? 0 > 0\">\n </mat-icon>\n <mat-icon class=\"fa-regular fa-message\" *ngIf=\"(notificationsCount$ | async) === 0\">\n </mat-icon>\n </button>\n </mat-toolbar>\n</div>\n\n<ng-template #noShellConfig>\n <div class=\"ngssm-shell-no-config\">\n Please, provide a config for the shell.\n </div>\n</ng-template>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i4.MatSidenavContent, selector: "mat-sidenav-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatBadgeModule }, { kind: "directive", type: i8.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: SideNavComponent, selector: "ngssm-side-nav", inputs: ["config"] }, { kind: "component", type: ShellNotificationsComponent, selector: "ngssm-shell-notifications" }, { kind: "component", type: WrapperComponent, selector: "ngssm-wrapper", inputs: ["item"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellComponent, decorators: [{
70
- type: Component,
71
- args: [{ selector: 'ngssm-shell', standalone: true, imports: [
72
- CommonModule,
73
- RouterModule,
74
- MatSidenavModule,
75
- MatToolbarModule,
76
- MatIconModule,
77
- MatButtonModule,
78
- MatBadgeModule,
79
- SideNavComponent,
80
- ShellNotificationsComponent,
81
- WrapperComponent
82
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-shell-container\" *ngIf=\"(shellConfig$ | async) as config; else noShellConfig\">\n <mat-sidenav-container>\n <mat-sidenav-content>\n <mat-toolbar class=\"ngssm-shell-header\">\n <button mat-icon-button (click)=\"toggleNavigationBarState()\">\n <mat-icon class=\"fa-solid fa-bars\"></mat-icon>\n </button>\n <img [src]=\"config.logo\" *ngIf=\"config.logo\" class=\"ngssm-shell-header-logo\" />\n <span class=\"ngssm-shell-header-title\" *ngIf=\"config.applicationTitle\">\n {{config.applicationTitle}}\n </span>\n <ng-content></ng-content>\n </mat-toolbar>\n\n <mat-sidenav-container>\n <mat-sidenav mode=\"side\" [opened]=\"(navigationBarOpen$ | async)===true\"\n class=\"ngssm-shell-navigation-bar\">\n <ngssm-side-nav [config]=\"config.sidenavConfig\"></ngssm-side-nav>\n </mat-sidenav>\n <mat-sidenav-content class=\"ngssm-shell-content\">\n <router-outlet></router-outlet>\n </mat-sidenav-content>\n </mat-sidenav-container>\n </mat-sidenav-content>\n\n <mat-sidenav mode=\"over\" opened=\"false\" #rightSidebar position=\"end\" class=\"ngssm-shell-messages-bar\">\n <ngssm-shell-notifications class=\"ngssm-shell-notifications\"></ngssm-shell-notifications>\n </mat-sidenav>\n </mat-sidenav-container>\n <mat-toolbar class=\"ngssm-shell-footer\" *ngIf=\"config.displayFooter === true\">\n <ngssm-wrapper *ngFor=\"let component of config.footerComponents\" [item]=\"component\"></ngssm-wrapper>\n <span class=\"ngssm-fxFlex\"></span>\n <button mat-icon-button (click)=\"rightSidebar.toggle()\" *ngIf=\"config.displayFooterNotificationsButton\">\n <mat-icon class=\"fa-regular fa-message\" [matBadge]=\"notificationsCount$ | async\"\n *ngIf=\"(notificationsCount$ | async) ?? 0 > 0\">\n </mat-icon>\n <mat-icon class=\"fa-regular fa-message\" *ngIf=\"(notificationsCount$ | async) === 0\">\n </mat-icon>\n </button>\n </mat-toolbar>\n</div>\n\n<ng-template #noShellConfig>\n <div class=\"ngssm-shell-no-config\">\n Please, provide a config for the shell.\n </div>\n</ng-template>" }]
83
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { class: [{
84
- type: HostBinding,
85
- args: ['class']
86
- }], shellConfig: [{
87
- type: Input
88
- }] } });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9jb21wb25lbnRzL3NoZWxsL3NoZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC9zaGVsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENB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dGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYmFkZ2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE5nU3NtQ29tcG9uZW50LCBTdG9yZSB9IGZyb20gJ25nc3NtLXN0b3JlJztcblxuaW1wb3J0IHsgTG9ja1N0YXR1cywgU2hlbGxDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3RTaGVsbFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgU2hlbGxBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBTaWRlTmF2Q29tcG9uZW50IH0gZnJvbSAnLi4vc2lkZS1uYXYvc2lkZS1uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uL3NoZWxsLW5vdGlmaWNhdGlvbnMvc2hlbGwtbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXIvd3JhcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaGVsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0VG9vbGJhck1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRCYWRnZU1vZHVsZSxcbiAgICBTaWRlTmF2Q29tcG9uZW50LFxuICAgIFNoZWxsTm90aWZpY2F0aW9uc0NvbXBvbmVudCxcbiAgICBXcmFwcGVyQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaGVsbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNoZWxsQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zaGVsbENvbmZpZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNoZWxsQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9uYXZpZ2F0aW9uQmFyT3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICduZ3NzbS1zaGVsbCc7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3RTaGVsbFN0YXRlKHMpLm5hdmlnYXRpb25CYXJPcGVuKSxcbiAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykubmF2aWdhdGlvbkJhckxvY2tTdGF0dXMpXG4gICAgXSkuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHtcbiAgICAgIGxldCBpc09wZW4gPSBmYWxzZTtcblxuICAgICAgc3dpdGNoICh2YWx1ZXNbMV0pIHtcbiAgICAgICAgY2FzZSBMb2NrU3RhdHVzLmxvY2tlZENsb3NlZDpcbiAgICAgICAgICBpc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIExvY2tTdGF0dXMubG9ja2VkT3BlbjpcbiAgICAgICAgICBpc09wZW4gPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaXNPcGVuID0gdmFsdWVzWzBdO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyT3BlbiQubmV4dChpc09wZW4pO1xuICAgIH0pO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBzaGVsbENvbmZpZyh2YWx1ZTogU2hlbGxDb25maWcpIHtcbiAgICB0aGlzLl9zaGVsbENvbmZpZyQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25CYXJPcGVuJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbmF2aWdhdGlvbkJhck9wZW4kLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaGVsbENvbmZpZyQoKTogT2JzZXJ2YWJsZTxTaGVsbENvbmZpZyB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9zaGVsbENvbmZpZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vdGlmaWNhdGlvbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy53YXRjaCgocykgPT4gc2VsZWN0U2hlbGxTdGF0ZShzKS5zaGVsbE5vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9ucy5sZW5ndGgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZU5hdmlnYXRpb25CYXJTdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BhdGNoQWN0aW9uVHlwZShTaGVsbEFjdGlvblR5cGUudG9nZ2xlTmF2aWdhdGlvbkJhclN0YXRlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5nc3NtLXNoZWxsLWNvbnRhaW5lclwiICpuZ0lmPVwiKHNoZWxsQ29uZmlnJCB8IGFzeW5jKSBhcyBjb25maWc7IGVsc2Ugbm9TaGVsbENvbmZpZ1wiPlxuICAgIDxtYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgICAgIDxtYXQtc2lkZW5hdi1jb250ZW50PlxuICAgICAgICAgICAgPG1hdC10b29sYmFyIGNsYXNzPVwibmdzc20tc2hlbGwtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZU5hdmlnYXRpb25CYXJTdGF0ZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWJhcnNcIj48L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb25maWcubG9nb1wiICpuZ0lmPVwiY29uZmlnLmxvZ29cIiBjbGFzcz1cIm5nc3NtLXNoZWxsLWhlYWRlci1sb2dvXCIgLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5nc3NtLXNoZWxsLWhlYWRlci10aXRsZVwiICpuZ0lmPVwiY29uZmlnLmFwcGxpY2F0aW9uVGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3tjb25maWcuYXBwbGljYXRpb25UaXRsZX19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDwvbWF0LXRvb2xiYXI+XG5cbiAgICAgICAgICAgIDxtYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG1hdC1zaWRlbmF2IG1vZGU9XCJzaWRlXCIgW29wZW5lZF09XCIobmF2aWdhdGlvbkJhck9wZW4kIHwgYXN5bmMpPT09dHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tc2hlbGwtbmF2aWdhdGlvbi1iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nc3NtLXNpZGUtbmF2IFtjb25maWddPVwiY29uZmlnLnNpZGVuYXZDb25maWdcIj48L25nc3NtLXNpZGUtbmF2PlxuICAgICAgICAgICAgICAgIDwvbWF0LXNpZGVuYXY+XG4gICAgICAgICAgICAgICAgPG1hdC1zaWRlbmF2LWNvbnRlbnQgY2xhc3M9XCJuZ3NzbS1zaGVsbC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cbiAgICAgICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRlbnQ+XG4gICAgICAgICAgICA8L21hdC1zaWRlbmF2LWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtc2lkZW5hdi1jb250ZW50PlxuXG4gICAgICAgIDxtYXQtc2lkZW5hdiBtb2RlPVwib3ZlclwiIG9wZW5lZD1cImZhbHNlXCIgI3JpZ2h0U2lkZWJhciBwb3NpdGlvbj1cImVuZFwiIGNsYXNzPVwibmdzc20tc2hlbGwtbWVzc2FnZXMtYmFyXCI+XG4gICAgICAgICAgICA8bmdzc20tc2hlbGwtbm90aWZpY2F0aW9ucyBjbGFzcz1cIm5nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbnNcIj48L25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbnM+XG4gICAgICAgIDwvbWF0LXNpZGVuYXY+XG4gICAgPC9tYXQtc2lkZW5hdi1jb250YWluZXI+XG4gICAgPG1hdC10b29sYmFyIGNsYXNzPVwibmdzc20tc2hlbGwtZm9vdGVyXCIgKm5nSWY9XCJjb25maWcuZGlzcGxheUZvb3RlciA9PT0gdHJ1ZVwiPlxuICAgICAgICA8bmdzc20td3JhcHBlciAqbmdGb3I9XCJsZXQgY29tcG9uZW50IG9mIGNvbmZpZy5mb290ZXJDb21wb25lbnRzXCIgW2l0ZW1dPVwiY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5nc3NtLWZ4RmxleFwiPjwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJpZ2h0U2lkZWJhci50b2dnbGUoKVwiICpuZ0lmPVwiY29uZmlnLmRpc3BsYXlGb290ZXJOb3RpZmljYXRpb25zQnV0dG9uXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJmYS1yZWd1bGFyIGZhLW1lc3NhZ2VcIiBbbWF0QmFkZ2VdPVwibm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIihub3RpZmljYXRpb25zQ291bnQkIHwgYXN5bmMpID8/IDAgPiAwXCI+XG4gICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtcmVndWxhciBmYS1tZXNzYWdlXCIgKm5nSWY9XCIobm90aWZpY2F0aW9uc0NvdW50JCB8IGFzeW5jKSA9PT0gMFwiPlxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtdG9vbGJhcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI25vU2hlbGxDb25maWc+XG4gICAgPGRpdiBjbGFzcz1cIm5nc3NtLXNoZWxsLW5vLWNvbmZpZ1wiPlxuICAgICAgICBQbGVhc2UsIHByb3ZpZGUgYSBjb25maWcgZm9yIHRoZSBzaGVsbC5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -1,56 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
- import { MatCardModule } from '@angular/material/card';
3
- import { CommonModule } from '@angular/common';
4
- import { MatIconModule } from '@angular/material/icon';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import { BehaviorSubject, combineLatest, takeUntil } from 'rxjs';
7
- import { NgSsmComponent } from 'ngssm-store';
8
- import { ShellNotificationType } from '../../model';
9
- import { selectShellState } from '../../state';
10
- import { DisplayNotificationDetailsAction } from '../../actions';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "ngssm-store";
13
- import * as i2 from "@angular/common";
14
- import * as i3 from "@angular/material/card";
15
- import * as i4 from "@angular/material/icon";
16
- import * as i5 from "@angular/material/button";
17
- export class ShellNotificationComponent extends NgSsmComponent {
18
- constructor(store) {
19
- super(store);
20
- this._displayDetailsButton$ = new BehaviorSubject(false);
21
- this._shellNotification$ = new BehaviorSubject(undefined);
22
- this._shellNotificationIndex$ = new BehaviorSubject(null);
23
- this.shellNotificationType = ShellNotificationType;
24
- combineLatest([this._shellNotificationIndex$, this.watch((s) => selectShellState(s).shellNotifications.notifications)])
25
- .pipe(takeUntil(this.unsubscribeAll$))
26
- .subscribe((values) => {
27
- this._shellNotification$.next((values[1] ?? [])[values[0] ?? -1]);
28
- });
29
- }
30
- set displayDetailsButton(value) {
31
- this._displayDetailsButton$.next(value);
32
- }
33
- set shellNotificationIndex(value) {
34
- this._shellNotificationIndex$.next(value);
35
- }
36
- get shellNotification$() {
37
- return this._shellNotification$.asObservable();
38
- }
39
- get displayDetailsButton$() {
40
- return this._displayDetailsButton$.asObservable();
41
- }
42
- displayDetails() {
43
- this.dispatchAction(new DisplayNotificationDetailsAction(this._shellNotificationIndex$.value ?? -1));
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ShellNotificationComponent, isStandalone: true, selector: "ngssm-shell-notification", inputs: { displayDetailsButton: "displayDetailsButton", shellNotificationIndex: "shellNotificationIndex" }, usesInheritance: true, ngImport: i0, template: "<mat-card\n appearance=\"outlined\" *ngIf=\"(shellNotification$ | async) as shellNotification; else noNotification\"\n class=\"ngssm-shell-notification-card\">\n <mat-card-header\n [ngClass]=\"{'ngssm-shell-notification-success' : shellNotification.type === shellNotificationType.success, 'ngssm-shell-notification-error':shellNotification.type === shellNotificationType.error}\">\n <mat-icon mat-card-avatar class=\"fa-solid fa-check ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.success\">\n </mat-icon>\n <mat-icon mat-card-avatar class=\"fa-solid fa-triangle-exclamation ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.error\">\n </mat-icon>\n <mat-card-title>{{shellNotification.title}}</mat-card-title>\n <mat-card-subtitle>{{shellNotification.timestamp | date:'shortTime'}}</mat-card-subtitle>\n </mat-card-header>\n <div class=\"flex-row-center\">\n <span class=\"fxFlex\"></span>\n <button mat-button *ngIf=\"(displayDetailsButton$ | async) === true && shellNotification.details\"\n (click)=\"displayDetails()\">\n Display details\n </button>\n </div>\n</mat-card>\n\n<ng-template #noNotification>\n No notification to display...\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardAvatar, selector: "[mat-card-avatar], [matCardAvatar]" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationComponent, decorators: [{
49
- type: Component,
50
- args: [{ selector: 'ngssm-shell-notification', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, MatButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card\n appearance=\"outlined\" *ngIf=\"(shellNotification$ | async) as shellNotification; else noNotification\"\n class=\"ngssm-shell-notification-card\">\n <mat-card-header\n [ngClass]=\"{'ngssm-shell-notification-success' : shellNotification.type === shellNotificationType.success, 'ngssm-shell-notification-error':shellNotification.type === shellNotificationType.error}\">\n <mat-icon mat-card-avatar class=\"fa-solid fa-check ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.success\">\n </mat-icon>\n <mat-icon mat-card-avatar class=\"fa-solid fa-triangle-exclamation ngssm-shell-avatar-notification \"\n *ngIf=\"shellNotification.type === shellNotificationType.error\">\n </mat-icon>\n <mat-card-title>{{shellNotification.title}}</mat-card-title>\n <mat-card-subtitle>{{shellNotification.timestamp | date:'shortTime'}}</mat-card-subtitle>\n </mat-card-header>\n <div class=\"flex-row-center\">\n <span class=\"fxFlex\"></span>\n <button mat-button *ngIf=\"(displayDetailsButton$ | async) === true && shellNotification.details\"\n (click)=\"displayDetails()\">\n Display details\n </button>\n </div>\n</mat-card>\n\n<ng-template #noNotification>\n No notification to display...\n</ng-template>", styles: [":host{display:flex;flex-direction:column}\n"] }]
51
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { displayDetailsButton: [{
52
- type: Input
53
- }], shellNotificationIndex: [{
54
- type: Input
55
- }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFN0UsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUVwRCxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFVakUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGNBQWM7SUFPNUQsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVBFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdELHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFnQyxTQUFTLENBQUMsQ0FBQztRQUNwRiw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFFckUsMEJBQXFCLEdBQUcscUJBQXFCLENBQUM7UUFLNUQsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDcEgsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDckMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQW9CLG9CQUFvQixDQUFDLEtBQWM7UUFDckQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBb0Isc0JBQXNCLENBQUMsS0FBb0I7UUFDN0QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQVcscUJBQXFCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDOzhHQW5DVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix1TkNyQnZDLDIyQ0F5QmMsb0dEVEYsWUFBWSx3VUFBRSxhQUFhLDJoQkFBRSxhQUFhLG1MQUFFLGVBQWU7OzJGQUsxRCwwQkFBMEI7a0JBUnRDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxtQkFHckQsdUJBQXVCLENBQUMsTUFBTTswRUFtQjNCLG9CQUFvQjtzQkFBdkMsS0FBSztnQkFJYyxzQkFBc0I7c0JBQXpDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOZ1NzbUNvbXBvbmVudCwgU3RvcmUgfSBmcm9tICduZ3NzbS1zdG9yZSc7XG5cbmltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uLCBTaGVsbE5vdGlmaWNhdGlvblR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbCc7XG5pbXBvcnQgeyBzZWxlY3RTaGVsbFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgRGlzcGxheU5vdGlmaWNhdGlvbkRldGFpbHNBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdzc20tc2hlbGwtbm90aWZpY2F0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoZWxsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTaGVsbE5vdGlmaWNhdGlvbkNvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGlzcGxheURldGFpbHNCdXR0b24kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NoZWxsTm90aWZpY2F0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hlbGxOb3RpZmljYXRpb24gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NoZWxsTm90aWZpY2F0aW9uSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgc2hlbGxOb3RpZmljYXRpb25UeXBlID0gU2hlbGxOb3RpZmljYXRpb25UeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTdG9yZSkge1xuICAgIHN1cGVyKHN0b3JlKTtcblxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3NoZWxsTm90aWZpY2F0aW9uSW5kZXgkLCB0aGlzLndhdGNoKChzKSA9PiBzZWxlY3RTaGVsbFN0YXRlKHMpLnNoZWxsTm90aWZpY2F0aW9ucy5ub3RpZmljYXRpb25zKV0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuX3NoZWxsTm90aWZpY2F0aW9uJC5uZXh0KCh2YWx1ZXNbMV0gPz8gW10pW3ZhbHVlc1swXSA/PyAtMV0pO1xuICAgICAgfSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGRpc3BsYXlEZXRhaWxzQnV0dG9uKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzcGxheURldGFpbHNCdXR0b24kLm5leHQodmFsdWUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBzaGVsbE5vdGlmaWNhdGlvbkluZGV4KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fc2hlbGxOb3RpZmljYXRpb25JbmRleCQubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNoZWxsTm90aWZpY2F0aW9uJCgpOiBPYnNlcnZhYmxlPFNoZWxsTm90aWZpY2F0aW9uIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NoZWxsTm90aWZpY2F0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheURldGFpbHNCdXR0b24kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5RGV0YWlsc0J1dHRvbiQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheURldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwYXRjaEFjdGlvbihuZXcgRGlzcGxheU5vdGlmaWNhdGlvbkRldGFpbHNBY3Rpb24odGhpcy5fc2hlbGxOb3RpZmljYXRpb25JbmRleCQudmFsdWUgPz8gLTEpKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgKm5nSWY9XCIoc2hlbGxOb3RpZmljYXRpb24kIHwgYXN5bmMpIGFzIHNoZWxsTm90aWZpY2F0aW9uOyBlbHNlIG5vTm90aWZpY2F0aW9uXCJcbiAgICBjbGFzcz1cIm5nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1jYXJkXCI+XG4gICAgPG1hdC1jYXJkLWhlYWRlclxuICAgICAgICBbbmdDbGFzc109XCJ7J25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1zdWNjZXNzJyA6IHNoZWxsTm90aWZpY2F0aW9uLnR5cGUgPT09IHNoZWxsTm90aWZpY2F0aW9uVHlwZS5zdWNjZXNzLCAnbmdzc20tc2hlbGwtbm90aWZpY2F0aW9uLWVycm9yJzpzaGVsbE5vdGlmaWNhdGlvbi50eXBlID09PSBzaGVsbE5vdGlmaWNhdGlvblR5cGUuZXJyb3J9XCI+XG4gICAgICAgIDxtYXQtaWNvbiBtYXQtY2FyZC1hdmF0YXIgY2xhc3M9XCJmYS1zb2xpZCBmYS1jaGVjayAgbmdzc20tc2hlbGwtYXZhdGFyLW5vdGlmaWNhdGlvbiBcIlxuICAgICAgICAgICAgKm5nSWY9XCJzaGVsbE5vdGlmaWNhdGlvbi50eXBlID09PSBzaGVsbE5vdGlmaWNhdGlvblR5cGUuc3VjY2Vzc1wiPlxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8bWF0LWljb24gbWF0LWNhcmQtYXZhdGFyIGNsYXNzPVwiZmEtc29saWQgZmEtdHJpYW5nbGUtZXhjbGFtYXRpb24gIG5nc3NtLXNoZWxsLWF2YXRhci1ub3RpZmljYXRpb24gXCJcbiAgICAgICAgICAgICpuZ0lmPVwic2hlbGxOb3RpZmljYXRpb24udHlwZSA9PT0gc2hlbGxOb3RpZmljYXRpb25UeXBlLmVycm9yXCI+XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDxtYXQtY2FyZC10aXRsZT57e3NoZWxsTm90aWZpY2F0aW9uLnRpdGxlfX08L21hdC1jYXJkLXRpdGxlPlxuICAgICAgICA8bWF0LWNhcmQtc3VidGl0bGU+e3tzaGVsbE5vdGlmaWNhdGlvbi50aW1lc3RhbXAgfCBkYXRlOidzaG9ydFRpbWUnfX08L21hdC1jYXJkLXN1YnRpdGxlPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LXJvdy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmeEZsZXhcIj48L3NwYW4+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cIihkaXNwbGF5RGV0YWlsc0J1dHRvbiQgfCBhc3luYykgPT09IHRydWUgJiYgc2hlbGxOb3RpZmljYXRpb24uZGV0YWlsc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiZGlzcGxheURldGFpbHMoKVwiPlxuICAgICAgICAgICAgRGlzcGxheSBkZXRhaWxzXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9tYXQtY2FyZD5cblxuPG5nLXRlbXBsYXRlICNub05vdGlmaWNhdGlvbj5cbiAgICBObyBub3RpZmljYXRpb24gdG8gZGlzcGxheS4uLlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,29 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { NgSsmComponent } from 'ngssm-store';
5
- import { selectShellState } from '../../state';
6
- import { ShellNotificationComponent } from '../shell-notification/shell-notification.component';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "ngssm-store";
9
- import * as i2 from "@angular/common";
10
- export class ShellNotificationPopupComponent extends NgSsmComponent {
11
- constructor(store) {
12
- super(store);
13
- this._shellNotificationIndex$ = new BehaviorSubject(-1);
14
- this.watch((s) => selectShellState(s).shellNotifications.notifications).subscribe((notifications) => {
15
- const items = notifications ?? [];
16
- this._shellNotificationIndex$.next(items.length - 1);
17
- });
18
- }
19
- get shellNotificationIndex$() {
20
- return this._shellNotificationIndex$.asObservable();
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationPopupComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
23
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ShellNotificationPopupComponent, isStandalone: true, selector: "ngssm-shell-notification-popup", usesInheritance: true, ngImport: i0, template: "<ngssm-shell-notification [shellNotificationIndex]=\"shellNotificationIndex$ | async\"></ngssm-shell-notification>", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: ShellNotificationComponent, selector: "ngssm-shell-notification", inputs: ["displayDetailsButton", "shellNotificationIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationPopupComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'ngssm-shell-notification-popup', standalone: true, imports: [CommonModule, ShellNotificationComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngssm-shell-notification [shellNotificationIndex]=\"shellNotificationIndex$ | async\"></ngssm-shell-notification>", styles: [":host{display:flex;flex-direction:column}\n"] }]
28
- }], ctorParameters: () => [{ type: i1.Store }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAvc2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb24tcG9wdXAvc2hlbGwtbm90aWZpY2F0aW9uLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7QUFVaEcsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLGNBQWM7SUFHakUsWUFBWSxLQUFZO1FBQ3RCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUhFLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFLMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDbEcsTUFBTSxLQUFLLEdBQUcsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBVyx1QkFBdUI7UUFDaEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQzs4R0FkVSwrQkFBK0I7a0dBQS9CLCtCQUErQixpSENqQjVDLG9IQUFnSCxvR0RZcEcsWUFBWSxvRkFBRSwwQkFBMEI7OzJGQUt2QywrQkFBK0I7a0JBUjNDLFNBQVM7K0JBQ0UsZ0NBQWdDLGNBQzlCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxtQkFHbEMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBzZWxlY3RTaGVsbFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgU2hlbGxOb3RpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9zaGVsbC1ub3RpZmljYXRpb24vc2hlbGwtbm90aWZpY2F0aW9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoZWxsTm90aWZpY2F0aW9uQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoZWxsLW5vdGlmaWNhdGlvbi1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTaGVsbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zaGVsbE5vdGlmaWNhdGlvbkluZGV4JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigtMSk7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0U2hlbGxTdGF0ZShzKS5zaGVsbE5vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9ucykuc3Vic2NyaWJlKChub3RpZmljYXRpb25zKSA9PiB7XG4gICAgICBjb25zdCBpdGVtcyA9IG5vdGlmaWNhdGlvbnMgPz8gW107XG4gICAgICB0aGlzLl9zaGVsbE5vdGlmaWNhdGlvbkluZGV4JC5uZXh0KGl0ZW1zLmxlbmd0aCAtIDEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBzaGVsbE5vdGlmaWNhdGlvbkluZGV4JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLl9zaGVsbE5vdGlmaWNhdGlvbkluZGV4JC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIiwiPG5nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbiBbc2hlbGxOb3RpZmljYXRpb25JbmRleF09XCJzaGVsbE5vdGlmaWNhdGlvbkluZGV4JCB8IGFzeW5jXCI+PC9uZ3NzbS1zaGVsbC1ub3RpZmljYXRpb24+Il19
@@ -1,65 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatCardModule } from '@angular/material/card';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatIconModule } from '@angular/material/icon';
6
- import { BehaviorSubject, combineLatest } from 'rxjs';
7
- import { NgSsmComponent } from 'ngssm-store';
8
- import { NgssmAceEditorComponent, NgssmAceEditorMode } from 'ngssm-ace-editor';
9
- import { selectShellState } from '../../state';
10
- import { ShellNotificationType } from '../../model';
11
- import { DisplayNotificationDetailsAction, ShellActionType } from '../../actions';
12
- import { ShellNotificationComponent } from '../shell-notification/shell-notification.component';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "ngssm-store";
15
- import * as i2 from "@angular/common";
16
- import * as i3 from "@angular/material/card";
17
- import * as i4 from "@angular/material/button";
18
- import * as i5 from "@angular/material/icon";
19
- export class ShellNotificationsComponent extends NgSsmComponent {
20
- constructor(store) {
21
- super(store);
22
- this._notificationSelected$ = new BehaviorSubject(false);
23
- this._notifications$ = new BehaviorSubject([]);
24
- this._details$ = new BehaviorSubject('');
25
- this.shellNotificationType = ShellNotificationType;
26
- this.ngssmAceEditorMode = NgssmAceEditorMode;
27
- this.watch((s) => selectShellState(s).shellNotifications.notifications).subscribe((values) => this._notifications$.next(values ?? []));
28
- combineLatest([
29
- this.watch((s) => selectShellState(s).shellNotifications.notifications),
30
- this.watch((s) => selectShellState(s).shellNotifications.selectedNotificaitonIndex)
31
- ]).subscribe((values) => {
32
- const id = values[1] ?? -1;
33
- this._notificationSelected$.next(id !== -1);
34
- const details = (values[0] ?? [])[id]?.details;
35
- if (details) {
36
- this._details$.next(JSON.stringify(details, null, 2));
37
- }
38
- else {
39
- this._details$.next('');
40
- }
41
- });
42
- }
43
- get notificationSelected$() {
44
- return this._notificationSelected$.asObservable();
45
- }
46
- get notifications$() {
47
- return this._notifications$.asObservable();
48
- }
49
- get details$() {
50
- return this._details$.asObservable();
51
- }
52
- closeDetailsPanel() {
53
- this.dispatchAction(new DisplayNotificationDetailsAction(undefined));
54
- }
55
- clearAll() {
56
- this.dispatchActionType(ShellActionType.clearAllNotifications);
57
- }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationsComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ShellNotificationsComponent, isStandalone: true, selector: "ngssm-shell-notifications", usesInheritance: true, ngImport: i0, template: "<mat-card appearance=\"outlined\" class=\"flex-column-stretch fxFlex\"\n *ngIf=\"(notificationSelected$ | async) === false; else notificationDetails\">\n <mat-card-header>\n <mat-card-title class=\"flex-row-center\">\n Notifications\n <span class=\"fxFlex\"></span>\n <button mat-stroked-button color=\"primary\" [disabled]=\"(notifications$ | async)?.length === 0\"\n (click)=\"clearAll()\">\n Clear all\n </button>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"notifications-container flex-column-stretch fxFlex\">\n <ngssm-shell-notification *ngFor=\"let notification of notifications$ | async;let index=index\"\n [shellNotificationIndex]=\"index\" [displayDetailsButton]=\"true\">\n </ngssm-shell-notification>\n </mat-card-content>\n</mat-card>\n\n<ng-template #notificationDetails>\n <mat-card appearance=\"outlined\" class=\"flex-column-stretch fxFlex\">\n <mat-card-header>\n <mat-card-title class=\"flex-row-center\">\n Notification details\n <span class=\"fxFlex\"></span>\n <button mat-icon-button (click)=\"closeDetailsPanel()\">\n <mat-icon class=\"fa-solid fa-rectangle-xmark\"></mat-icon>\n </button>\n </mat-card-title>\n </mat-card-header>\n\n <ngssm-ace-editor class=\"fxFlex\" [readonly]=\"true\" [content]=\"(details$ | async) ?? ''\"\n [editorMode]=\"ngssmAceEditorMode.json\">\n </ngssm-ace-editor>\n </mat-card>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;padding:8px;min-width:400px;max-width:400px}:host .notifications-container{overflow:auto}:host ngssm-shell-notification{margin:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: NgssmAceEditorComponent, selector: "ngssm-ace-editor", inputs: ["content", "readonly", "editorMode"], outputs: ["contentChanged", "isValidChanged", "editorReady"] }, { kind: "component", type: ShellNotificationComponent, selector: "ngssm-shell-notification", inputs: ["displayDetailsButton", "shellNotificationIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ShellNotificationsComponent, decorators: [{
62
- type: Component,
63
- args: [{ selector: 'ngssm-shell-notifications', standalone: true, imports: [CommonModule, MatCardModule, MatButtonModule, MatIconModule, NgssmAceEditorComponent, ShellNotificationComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"outlined\" class=\"flex-column-stretch fxFlex\"\n *ngIf=\"(notificationSelected$ | async) === false; else notificationDetails\">\n <mat-card-header>\n <mat-card-title class=\"flex-row-center\">\n Notifications\n <span class=\"fxFlex\"></span>\n <button mat-stroked-button color=\"primary\" [disabled]=\"(notifications$ | async)?.length === 0\"\n (click)=\"clearAll()\">\n Clear all\n </button>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"notifications-container flex-column-stretch fxFlex\">\n <ngssm-shell-notification *ngFor=\"let notification of notifications$ | async;let index=index\"\n [shellNotificationIndex]=\"index\" [displayDetailsButton]=\"true\">\n </ngssm-shell-notification>\n </mat-card-content>\n</mat-card>\n\n<ng-template #notificationDetails>\n <mat-card appearance=\"outlined\" class=\"flex-column-stretch fxFlex\">\n <mat-card-header>\n <mat-card-title class=\"flex-row-center\">\n Notification details\n <span class=\"fxFlex\"></span>\n <button mat-icon-button (click)=\"closeDetailsPanel()\">\n <mat-icon class=\"fa-solid fa-rectangle-xmark\"></mat-icon>\n </button>\n </mat-card-title>\n </mat-card-header>\n\n <ngssm-ace-editor class=\"fxFlex\" [readonly]=\"true\" [content]=\"(details$ | async) ?? ''\"\n [editorMode]=\"ngssmAceEditorMode.json\">\n </ngssm-ace-editor>\n </mat-card>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;padding:8px;min-width:400px;max-width:400px}:host .notifications-container{overflow:auto}:host ngssm-shell-notification{margin:4px}\n"] }]
64
- }], ctorParameters: () => [{ type: i1.Store }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2NvbXBvbmVudHMvc2hlbGwtbm90aWZpY2F0aW9ucy9zaGVsbC1ub3RpZmljYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaGVsbC1ub3RpZmljYXRpb25zL3NoZWxsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBUyxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7Ozs7O0FB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QixFQUFFLDBCQUEwQixDQUFDLG1CQUcxRyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuaW1wb3J0IHsgTmdzc21BY2VFZGl0b3JDb21wb25lbnQsIE5nc3NtQWNlRWRpdG9yTW9kZSB9IGZyb20gJ25nc3NtLWFjZS1lZGl0b3InO1xuXG5pbXBvcnQgeyBzZWxlY3RTaGVsbFN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUnO1xuaW1wb3J0IHsgU2hlbGxOb3RpZmljYXRpb24sIFNoZWxsTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4uLy4uL21vZGVsJztcbmltcG9ydCB7IERpc3BsYXlOb3RpZmljYXRpb25EZXRhaWxzQWN0aW9uLCBTaGVsbEFjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9hY3Rpb25zJztcbmltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hlbGwtbm90aWZpY2F0aW9uL3NoZWxsLW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaGVsbC1ub3RpZmljYXRpb25zJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBOZ3NzbUFjZUVkaXRvckNvbXBvbmVudCwgU2hlbGxOb3RpZmljYXRpb25Db21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2hlbGwtbm90aWZpY2F0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoZWxsLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2hlbGxOb3RpZmljYXRpb25zQ29tcG9uZW50IGV4dGVuZHMgTmdTc21Db21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub3RpZmljYXRpb25TZWxlY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm90aWZpY2F0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNoZWxsTm90aWZpY2F0aW9uW10+KFtdKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGV0YWlscyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBzaGVsbE5vdGlmaWNhdGlvblR5cGUgPSBTaGVsbE5vdGlmaWNhdGlvblR5cGU7XG4gIHB1YmxpYyByZWFkb25seSBuZ3NzbUFjZUVkaXRvck1vZGUgPSBOZ3NzbUFjZUVkaXRvck1vZGU7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuXG4gICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0U2hlbGxTdGF0ZShzKS5zaGVsbE5vdGlmaWNhdGlvbnMubm90aWZpY2F0aW9ucykuc3Vic2NyaWJlKCh2YWx1ZXMpID0+IHRoaXMuX25vdGlmaWNhdGlvbnMkLm5leHQodmFsdWVzID8/IFtdKSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMud2F0Y2goKHMpID0+IHNlbGVjdFNoZWxsU3RhdGUocykuc2hlbGxOb3RpZmljYXRpb25zLm5vdGlmaWNhdGlvbnMpLFxuICAgICAgdGhpcy53YXRjaCgocykgPT4gc2VsZWN0U2hlbGxTdGF0ZShzKS5zaGVsbE5vdGlmaWNhdGlvbnMuc2VsZWN0ZWROb3RpZmljYWl0b25JbmRleClcbiAgICBdKS5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICAgICAgY29uc3QgaWQgPSB2YWx1ZXNbMV0gPz8gLTE7XG4gICAgICB0aGlzLl9ub3RpZmljYXRpb25TZWxlY3RlZCQubmV4dChpZCAhPT0gLTEpO1xuICAgICAgY29uc3QgZGV0YWlscyA9ICh2YWx1ZXNbMF0gPz8gW10pW2lkXT8uZGV0YWlscztcbiAgICAgIGlmIChkZXRhaWxzKSB7XG4gICAgICAgIHRoaXMuX2RldGFpbHMkLm5leHQoSlNPTi5zdHJpbmdpZnkoZGV0YWlscywgbnVsbCwgMikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZGV0YWlscyQubmV4dCgnJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5vdGlmaWNhdGlvblNlbGVjdGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uU2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBub3RpZmljYXRpb25zJCgpOiBPYnNlcnZhYmxlPFNoZWxsTm90aWZpY2F0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRldGFpbHMkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RldGFpbHMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNsb3NlRGV0YWlsc1BhbmVsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb24obmV3IERpc3BsYXlOb3RpZmljYXRpb25EZXRhaWxzQWN0aW9uKHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGF0Y2hBY3Rpb25UeXBlKFNoZWxsQWN0aW9uVHlwZS5jbGVhckFsbE5vdGlmaWNhdGlvbnMpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleFwiXG4gICAgKm5nSWY9XCIobm90aWZpY2F0aW9uU2VsZWN0ZWQkIHwgYXN5bmMpID09PSBmYWxzZTsgZWxzZSBub3RpZmljYXRpb25EZXRhaWxzXCI+XG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgPG1hdC1jYXJkLXRpdGxlIGNsYXNzPVwiZmxleC1yb3ctY2VudGVyXCI+XG4gICAgICAgICAgICBOb3RpZmljYXRpb25zXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZ4RmxleFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIobm90aWZpY2F0aW9ucyQgfCBhc3luYyk/Lmxlbmd0aCA9PT0gMFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyQWxsKClcIj5cbiAgICAgICAgICAgICAgICBDbGVhciBhbGxcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJub3RpZmljYXRpb25zLWNvbnRhaW5lciBmbGV4LWNvbHVtbi1zdHJldGNoIGZ4RmxleFwiPlxuICAgICAgICA8bmdzc20tc2hlbGwtbm90aWZpY2F0aW9uICpuZ0Zvcj1cImxldCBub3RpZmljYXRpb24gb2Ygbm90aWZpY2F0aW9ucyQgfCBhc3luYztsZXQgaW5kZXg9aW5kZXhcIlxuICAgICAgICAgICAgW3NoZWxsTm90aWZpY2F0aW9uSW5kZXhdPVwiaW5kZXhcIiBbZGlzcGxheURldGFpbHNCdXR0b25dPVwidHJ1ZVwiPlxuICAgICAgICA8L25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbj5cbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuXG48bmctdGVtcGxhdGUgI25vdGlmaWNhdGlvbkRldGFpbHM+XG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiZmxleC1jb2x1bW4tc3RyZXRjaCBmeEZsZXhcIj5cbiAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cbiAgICAgICAgICAgIDxtYXQtY2FyZC10aXRsZSBjbGFzcz1cImZsZXgtcm93LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvbiBkZXRhaWxzXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmeEZsZXhcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlRGV0YWlsc1BhbmVsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcmVjdGFuZ2xlLXhtYXJrXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuXG4gICAgICAgIDxuZ3NzbS1hY2UtZWRpdG9yIGNsYXNzPVwiZnhGbGV4XCIgW3JlYWRvbmx5XT1cInRydWVcIiBbY29udGVudF09XCIoZGV0YWlscyQgfCBhc3luYykgPz8gJydcIlxuICAgICAgICAgICAgW2VkaXRvck1vZGVdPVwibmdzc21BY2VFZGl0b3JNb2RlLmpzb25cIj5cbiAgICAgICAgPC9uZ3NzbS1hY2UtZWRpdG9yPlxuICAgIDwvbWF0LWNhcmQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -1,37 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { RouterModule } from '@angular/router';
4
- import { MatDividerModule } from '@angular/material/divider';
5
- import { BehaviorSubject } from 'rxjs';
6
- import { NgSsmComponent } from 'ngssm-store';
7
- import { WrapperComponent } from '../wrapper/wrapper.component';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "ngssm-store";
10
- import * as i2 from "@angular/common";
11
- import * as i3 from "@angular/material/divider";
12
- import * as i4 from "@angular/router";
13
- export class SideNavComponent extends NgSsmComponent {
14
- constructor(store) {
15
- super(store);
16
- this._sidenavConfig$ = new BehaviorSubject(undefined);
17
- this.class = 'ngssm-sidenav';
18
- }
19
- set config(value) {
20
- this._sidenavConfig$.next(value);
21
- }
22
- get sidenavConfig$() {
23
- return this._sidenavConfig$.asObservable();
24
- }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SideNavComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SideNavComponent, isStandalone: true, selector: "ngssm-side-nav", inputs: { config: "config" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ngssm-sidenav-main-container\" *ngIf=\"(sidenavConfig$ | async) as config\">\n <div class=\"ngssm-sidenav-title\" *ngIf=\"config.title\">{{config.title}}</div>\n <mat-divider *ngIf=\"config.title\"></mat-divider>\n <ng-container *ngFor=\"let section of config.sections;let last = last;\" class=\"ngssm-sidenav-section-container\">\n <div class=\"ngssm-sidenav-section-item-container\">\n <div *ngIf=\"!section.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"section.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:section.linkActiveOnlyIfExact === true}\" *ngIf=\"section.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n </a>\n </div>\n <div *ngFor=\"let item of section.items\" class=\"ngssm-sidenav-item-container\">\n <div *ngIf=\"!item.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"item.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:item.linkActiveOnlyIfExact === true}\" *ngIf=\"item.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n </a>\n </div>\n\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i3.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: WrapperComponent, selector: "ngssm-wrapper", inputs: ["item"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SideNavComponent, decorators: [{
29
- type: Component,
30
- args: [{ selector: 'ngssm-side-nav', standalone: true, imports: [CommonModule, MatDividerModule, RouterModule, WrapperComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ngssm-sidenav-main-container\" *ngIf=\"(sidenavConfig$ | async) as config\">\n <div class=\"ngssm-sidenav-title\" *ngIf=\"config.title\">{{config.title}}</div>\n <mat-divider *ngIf=\"config.title\"></mat-divider>\n <ng-container *ngFor=\"let section of config.sections;let last = last;\" class=\"ngssm-sidenav-section-container\">\n <div class=\"ngssm-sidenav-section-item-container\">\n <div *ngIf=\"!section.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"section.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:section.linkActiveOnlyIfExact === true}\" *ngIf=\"section.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"section.icon\" [innerHTML]=\"section.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{section.label}}\n <ngssm-wrapper *ngIf=\"section.component\" [item]=\"section.component\"></ngssm-wrapper>\n </div>\n </a>\n </div>\n <div *ngFor=\"let item of section.items\" class=\"ngssm-sidenav-item-container\">\n <div *ngIf=\"!item.route\" class=\"ngssm-sidenav-section-item\">\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n\n <a [routerLink]=\"item.route\" routerLinkActive=\"ngssm-sidenav-active-link\"\n [routerLinkActiveOptions]=\"{exact:item.linkActiveOnlyIfExact === true}\" *ngIf=\"item.route\"\n class=\"ngssm-sidenav-section-item\">\n <div>\n <span *ngIf=\"item.icon\" [innerHTML]=\"item.icon\" class=\"ngssm-sidenav-item-icon\"></span>\n {{item.label}}\n <ngssm-wrapper *ngIf=\"item.component\" [item]=\"item.component\"></ngssm-wrapper>\n </div>\n </a>\n </div>\n\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n</div>" }]
31
- }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { class: [{
32
- type: HostBinding,
33
- args: ['class']
34
- }], config: [{
35
- type: Input
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1uYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9jb21wb25lbnRzL3NpZGUtbmF2L3NpZGUtbmF2LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy9zaWRlLW5hdi9zaWRlLW5hdi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFHcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQVNoRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsY0FBYztJQUtsRCxZQUFZLEtBQVk7UUFDdEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBTEUsb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBNEIsU0FBUyxDQUFDLENBQUM7UUFFdkUsVUFBSyxHQUFHLGVBQWUsQ0FBQztJQUk5QyxDQUFDO0lBRUQsSUFBb0IsTUFBTSxDQUFDLEtBQWdDO1FBQ3pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7OEdBZlUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsZ0xDbEI3QiwyOEVBeUNNLDJDRDNCTSxZQUFZLG9UQUFFLGdCQUFnQixrSUFBRSxZQUFZLGlmQUFFLGdCQUFnQjs7MkZBSTdELGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLG1CQUV4RCx1QkFBdUIsQ0FBQyxNQUFNOzBFQUt6QixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBTUEsTUFBTTtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBTaWRlbmF2Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXIvd3JhcHBlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS1zaWRlLW5hdicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIFJvdXRlck1vZHVsZSwgV3JhcHBlckNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWRlLW5hdi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNpZGVOYXZDb21wb25lbnQgZXh0ZW5kcyBOZ1NzbUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3NpZGVuYXZDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTaWRlbmF2Q29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICduZ3NzbS1zaWRlbmF2JztcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogU3RvcmUpIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbmZpZyh2YWx1ZTogU2lkZW5hdkNvbmZpZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuX3NpZGVuYXZDb25maWckLm5leHQodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWRlbmF2Q29uZmlnJCgpOiBPYnNlcnZhYmxlPFNpZGVuYXZDb25maWcgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fc2lkZW5hdkNvbmZpZyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LW1haW4tY29udGFpbmVyXCIgKm5nSWY9XCIoc2lkZW5hdkNvbmZpZyQgfCBhc3luYykgYXMgY29uZmlnXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtdGl0bGVcIiAqbmdJZj1cImNvbmZpZy50aXRsZVwiPnt7Y29uZmlnLnRpdGxlfX08L2Rpdj5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJjb25maWcudGl0bGVcIj48L21hdC1kaXZpZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgY29uZmlnLnNlY3Rpb25zO2xldCBsYXN0ID0gbGFzdDtcIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtc2VjdGlvbi1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtc2VjdGlvbi1pdGVtLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzZWN0aW9uLnJvdXRlXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LXNlY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic2VjdGlvbi5pY29uXCIgW2lubmVySFRNTF09XCJzZWN0aW9uLmljb25cIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtaXRlbS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIHt7c2VjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgICAgPG5nc3NtLXdyYXBwZXIgKm5nSWY9XCJzZWN0aW9uLmNvbXBvbmVudFwiIFtpdGVtXT1cInNlY3Rpb24uY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cInNlY3Rpb24ucm91dGVcIiByb3V0ZXJMaW5rQWN0aXZlPVwibmdzc20tc2lkZW5hdi1hY3RpdmUtbGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDpzZWN0aW9uLmxpbmtBY3RpdmVPbmx5SWZFeGFjdCA9PT0gdHJ1ZX1cIiAqbmdJZj1cInNlY3Rpb24ucm91dGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmdzc20tc2lkZW5hdi1zZWN0aW9uLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlY3Rpb24uaWNvblwiIFtpbm5lckhUTUxdPVwic2VjdGlvbi5pY29uXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LWl0ZW0taWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3tzZWN0aW9uLmxhYmVsfX1cbiAgICAgICAgICAgICAgICAgICAgPG5nc3NtLXdyYXBwZXIgKm5nSWY9XCJzZWN0aW9uLmNvbXBvbmVudFwiIFtpdGVtXT1cInNlY3Rpb24uY29tcG9uZW50XCI+PC9uZ3NzbS13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzZWN0aW9uLml0ZW1zXCIgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWl0ZW0ucm91dGVcIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtc2VjdGlvbi1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLmljb25cIiBbaW5uZXJIVE1MXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwibmdzc20tc2lkZW5hdi1pdGVtLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAge3tpdGVtLmxhYmVsfX1cbiAgICAgICAgICAgICAgICA8bmdzc20td3JhcHBlciAqbmdJZj1cIml0ZW0uY29tcG9uZW50XCIgW2l0ZW1dPVwiaXRlbS5jb21wb25lbnRcIj48L25nc3NtLXdyYXBwZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZVwiIHJvdXRlckxpbmtBY3RpdmU9XCJuZ3NzbS1zaWRlbmF2LWFjdGl2ZS1saW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0Oml0ZW0ubGlua0FjdGl2ZU9ubHlJZkV4YWN0ID09PSB0cnVlfVwiICpuZ0lmPVwiaXRlbS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuZ3NzbS1zaWRlbmF2LXNlY3Rpb24taXRlbVwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5pY29uXCIgW2lubmVySFRNTF09XCJpdGVtLmljb25cIiBjbGFzcz1cIm5nc3NtLXNpZGVuYXYtaXRlbS1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICB7e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICA8bmdzc20td3JhcHBlciAqbmdJZj1cIml0ZW0uY29tcG9uZW50XCIgW2l0ZW1dPVwiaXRlbS5jb21wb25lbnRcIj48L25nc3NtLXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxtYXQtZGl2aWRlciAqbmdJZj1cIiFsYXN0XCI+PC9tYXQtZGl2aWRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
@@ -1,35 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { NgSsmComponent } from 'ngssm-store';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "ngssm-store";
7
- import * as i2 from "@angular/common";
8
- export class WrapperComponent extends NgSsmComponent {
9
- constructor(store, viewContainerRef) {
10
- super(store);
11
- this.viewContainerRef = viewContainerRef;
12
- this._innerHtml$ = new BehaviorSubject(undefined);
13
- }
14
- set item(value) {
15
- if (typeof value === 'string') {
16
- this._innerHtml$.next(value);
17
- }
18
- else if (!!value) {
19
- this.viewContainerRef.clear();
20
- this.viewContainerRef.createComponent(value);
21
- }
22
- }
23
- get innerHtml$() {
24
- return this._innerHtml$.asObservable();
25
- }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WrapperComponent, deps: [{ token: i1.Store }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: WrapperComponent, isStandalone: true, selector: "ngssm-wrapper", inputs: { item: "item" }, usesInheritance: true, ngImport: i0, template: "<span *ngIf=\"(innerHtml$ | async) as innerHtml\" [innerHTML]=\"innerHtml\"></span>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
- }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WrapperComponent, decorators: [{
30
- type: Component,
31
- args: [{ selector: 'ngssm-wrapper', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span *ngIf=\"(innerHtml$ | async) as innerHtml\" [innerHTML]=\"innerHtml\"></span>" }]
32
- }], ctorParameters: () => [{ type: i1.Store }, { type: i0.ViewContainerRef }], propDecorators: { item: [{
33
- type: Input
34
- }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL2NvbXBvbmVudHMvd3JhcHBlci93cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nc3NtLXNoZWxsL3NyYy9saWIvY29tcG9uZW50cy93cmFwcGVyL3dyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQVMsTUFBTSxhQUFhLENBQUM7Ozs7QUFTcEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGNBQWM7SUFHbEQsWUFDRSxLQUFZLEVBQ0osZ0JBQWtDO1FBRTFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUZMLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFKM0IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsU0FBUyxDQUFDLENBQUM7SUFPbEYsQ0FBQztJQUVELElBQW9CLElBQUksQ0FBQyxLQUFVO1FBQ2pDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQXJCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwwSENiN0IscUZBQStFLDJDRFNuRSxZQUFZOzsyRkFJWCxnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNO3lHQVkzQixJQUFJO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTmdTc21Db21wb25lbnQsIFN0b3JlIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3NzbS13cmFwcGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi93cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIE5nU3NtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5uZXJIdG1sJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBpdGVtKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5faW5uZXJIdG1sJC5uZXh0KHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKCEhdmFsdWUpIHtcbiAgICAgIHRoaXMudmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpbm5lckh0bWwkKCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2lubmVySHRtbCQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiIsIjxzcGFuICpuZ0lmPVwiKGlubmVySHRtbCQgfCBhc3luYykgYXMgaW5uZXJIdG1sXCIgW2lubmVySFRNTF09XCJpbm5lckh0bWxcIj48L3NwYW4+Il19
@@ -1,25 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { ShellActionType } from '../actions';
3
- import { ShellNotificationPopupComponent } from '../components';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/material/snack-bar";
6
- export class NotificationShowingEffect {
7
- constructor(snackBar) {
8
- this.snackBar = snackBar;
9
- this.processedActions = [ShellActionType.displayNotification];
10
- }
11
- processAction(store, state, action) {
12
- this.snackBar.openFromComponent(ShellNotificationPopupComponent, {
13
- panelClass: 'ngssm-shell-notification-snack-panel',
14
- duration: 1000,
15
- horizontalPosition: 'center',
16
- verticalPosition: 'top'
17
- });
18
- }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationShowingEffect, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationShowingEffect }); }
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NotificationShowingEffect, decorators: [{
23
- type: Injectable
24
- }], ctorParameters: () => [{ type: i1.MatSnackBar }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXNob3dpbmcuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9lZmZlY3RzL25vdGlmaWNhdGlvbi1zaG93aW5nLmVmZmVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHaEUsTUFBTSxPQUFPLHlCQUF5QjtJQUdwQyxZQUFvQixRQUFxQjtRQUFyQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBRnpCLHFCQUFnQixHQUFhLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFdkMsQ0FBQztJQUV0QyxhQUFhLENBQUMsS0FBWSxFQUFFLEtBQVksRUFBRSxNQUFjO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLEVBQUU7WUFDL0QsVUFBVSxFQUFFLHNDQUFzQztZQUNsRCxRQUFRLEVBQUUsSUFBSTtZQUNkLGtCQUFrQixFQUFFLFFBQVE7WUFDNUIsZ0JBQWdCLEVBQUUsS0FBSztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQVpVLHlCQUF5QjtrSEFBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuXG5pbXBvcnQgeyBFZmZlY3QsIFN0b3JlLCBTdGF0ZSwgQWN0aW9uIH0gZnJvbSAnbmdzc20tc3RvcmUnO1xuXG5pbXBvcnQgeyBTaGVsbEFjdGlvblR5cGUgfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblNob3dpbmdFZmZlY3QgaW1wbGVtZW50cyBFZmZlY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvY2Vzc2VkQWN0aW9uczogc3RyaW5nW10gPSBbU2hlbGxBY3Rpb25UeXBlLmRpc3BsYXlOb3RpZmljYXRpb25dO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7fVxuXG4gIHB1YmxpYyBwcm9jZXNzQWN0aW9uKHN0b3JlOiBTdG9yZSwgc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvbik6IHZvaWQge1xuICAgIHRoaXMuc25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoU2hlbGxOb3RpZmljYXRpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgcGFuZWxDbGFzczogJ25nc3NtLXNoZWxsLW5vdGlmaWNhdGlvbi1zbmFjay1wYW5lbCcsXG4gICAgICBkdXJhdGlvbjogMTAwMCxcbiAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJ1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,8 +0,0 @@
1
- export * from './shell-config';
2
- export * from './sidenav-config';
3
- export * from './sidenav-item';
4
- export * from './sidenav-section';
5
- export * from './shell-notification';
6
- export * from './shell-notification-type';
7
- export * from './lock-status';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaGVsbC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9zaWRlbmF2LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3NpZGVuYXYtaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL3NpZGVuYXYtc2VjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3NoZWxsLW5vdGlmaWNhdGlvbi10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9jay1zdGF0dXMnO1xuIl19
@@ -1,7 +0,0 @@
1
- export var LockStatus;
2
- (function (LockStatus) {
3
- LockStatus["notLocked"] = "Not Locked";
4
- LockStatus["lockedOpen"] = "Locked Open";
5
- LockStatus["lockedClosed"] = "Locked Closed";
6
- })(LockStatus || (LockStatus = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL2xvY2stc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsc0NBQXdCLENBQUE7SUFDeEIsd0NBQTBCLENBQUE7SUFDMUIsNENBQThCLENBQUE7QUFDaEMsQ0FBQyxFQUpXLFVBQVUsS0FBVixVQUFVLFFBSXJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTG9ja1N0YXR1cyB7XG4gIG5vdExvY2tlZCA9ICdOb3QgTG9ja2VkJyxcbiAgbG9ja2VkT3BlbiA9ICdMb2NrZWQgT3BlbicsXG4gIGxvY2tlZENsb3NlZCA9ICdMb2NrZWQgQ2xvc2VkJ1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaGVsbC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZGVuYXZDb25maWcgfSBmcm9tICcuL3NpZGVuYXYtY29uZmlnJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgb2Yge0BsaW5rIFNoZWxsQ29tcG9uZW50fSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2hlbGxDb25maWcge1xuICAvKiogUGF0aCBvZiB0aGUgbG9nbyBpbWFnZSB0byBkaXNwbGF5IGluIHRoZSBoZWFkZXIgYmFyIGlmIGFueSAqL1xuICBsb2dvPzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgdGl0bGUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBoZWFkZXIgYmFyLiAqL1xuICBhcHBsaWNhdGlvblRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKiBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgb2Ygc2lkZW5hdiBhc3NvY2lhdGVkIHRvIHRoZSBzaGVsbC4gKi9cbiAgc2lkZW5hdkNvbmZpZz86IFNpZGVuYXZDb25maWc7XG5cbiAgLyoqIElmIHRydWUsIGRpc3BsYXkgdGhlIGZvb3RlciBNYXRUb29sYmFyICovXG4gIGRpc3BsYXlGb290ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgYnV0dG9uIHVzZWQgdG8gZGlzcGxheSB0aGUgbGlzdCBvZiBub3RpZmljYXRpb25zIGlzIGRpc3BsYXllZC5cbiAgICogRm9yIG5vdywgdGhpcyBpcyB1c2VsZXNzIGFzIG5vdGhpbmcgaXMgZG9uZSBhYm91dCB0aGUgbm90aWZpY2F0aW9uc1xuICAgKi9cbiAgZGlzcGxheUZvb3Rlck5vdGlmaWNhdGlvbnNCdXR0b24/OiBib29sZWFuO1xuXG4gIC8qKiBMaXN0IG9mIGNvbXBvbmVudHMgb3IgaHRtbCB0byBkaXNwbGF5IGluIHRoZSBmb290ZXIgKi9cbiAgZm9vdGVyQ29tcG9uZW50cz86IGFueVtdO1xufVxuIl19
@@ -1,6 +0,0 @@
1
- export var ShellNotificationType;
2
- (function (ShellNotificationType) {
3
- ShellNotificationType["success"] = "Success";
4
- ShellNotificationType["error"] = "Error";
5
- })(ShellNotificationType || (ShellNotificationType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL3NoZWxsLW5vdGlmaWNhdGlvbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLHFCQUdYO0FBSEQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsd0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNoZWxsTm90aWZpY2F0aW9uVHlwZSB7XG4gIHN1Y2Nlc3MgPSAnU3VjY2VzcycsXG4gIGVycm9yID0gJ0Vycm9yJ1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwtbm90aWZpY2F0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaGVsbC1ub3RpZmljYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNoZWxsTm90aWZpY2F0aW9uVHlwZSB9IGZyb20gJy4vc2hlbGwtbm90aWZpY2F0aW9uLXR5cGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoZWxsTm90aWZpY2F0aW9uIHtcbiAgdHlwZTogU2hlbGxOb3RpZmljYXRpb25UeXBlO1xuICB0aXRsZTogc3RyaW5nO1xuICB0aW1lc3RhbXA6IERhdGU7XG4gIGRldGFpbHM/OiBhbnk7XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3NzbS1zaGVsbC9zcmMvbGliL21vZGVsL3NpZGVuYXYtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaWRlbmF2U2VjdGlvbiB9IGZyb20gJy4vc2lkZW5hdi1zZWN0aW9uJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgb2YgdGhlIHtAbGluayBTaWRlTmF2Q29tcG9uZW50fSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkNvbmZpZyB7XG4gIC8qKiBNYWluIHRpdGxlIG9mIHRoZSBzaWRlbmF2ICovXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIC8qKiBMaXN0IG9mIHNlY3Rpb25zIHRvIGJlIGRpc3BsYXllZC4gRWFjaCBzZWN0aW9uIGlzIHVzZWQgdG8gZ3JvdXAgYSBsaXN0IG9mIGxpbmtzLiAqL1xuICBzZWN0aW9ucz86IFNpZGVuYXZTZWN0aW9uW107XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaWRlbmF2LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2lkZW5hdkl0ZW0ge1xuICAvKiogTGFiZWwgZGlzcGxheWVkIGluIHRoZSB7QGxpbmsgU2lkZU5hdkNvbXBvbmVudH0gZm9yIHRoZSBzZWN0aW9uIG9yIHRoZSBsaW5rICovXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIEh0bWwgY29kZSBmb3IgdGhlIGljb24gdG8gZGlzcGxheSBiZWZvcmUgdGhlIGxhYmVsICovXG4gIGljb24/OiBzdHJpbmc7XG5cbiAgLyoqIFJvdXRlciBsaW5rIGFzc29jaWF0ZWQgdG8gdGhlIGl0ZW0gKi9cbiAgcm91dGU/OiBzdHJpbmc7XG5cbiAgLyoqIEFuZ3VsYXIgY29tcG9uZW50IHRvIGRpc3BsYXkgYXQgdGhlIHJpZ2h0IG9mIHRoZSBsYWJlbCAqL1xuICBjb21wb25lbnQ/OiBhbnk7XG5cbiAgLyoqIElmIHRydWUgdGhlIGxpbmsgaXMgY29uc2lkZXJlZCBhY3RpdmUgb25seSBpZiB0aGUgY3VycmVudCByb3V0ZSBpcyBlcXVhbCB0byB0aGUgaXRlbSByb3V0ZSAqL1xuICBsaW5rQWN0aXZlT25seUlmRXhhY3Q/OiBib29sZWFuO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdi1zZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdzc20tc2hlbGwvc3JjL2xpYi9tb2RlbC9zaWRlbmF2LXNlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZGVuYXZJdGVtIH0gZnJvbSAnLi9zaWRlbmF2LWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZGVuYXZTZWN0aW9uIGV4dGVuZHMgU2lkZW5hdkl0ZW0ge1xuICAvKiogTGlzdCBvZiBsaW5rcyB0byBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24gKi9cbiAgaXRlbXM/OiBTaWRlbmF2SXRlbVtdO1xufVxuIl19