lib-portal-angular 0.0.21 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,8 +20,6 @@ export declare class ButtonComponent {
20
20
  marginBottom: number;
21
21
  marginLeft: number;
22
22
  marginRight: number;
23
- permissions: string[];
24
- permissionChecker: ((permissions: string[]) => boolean) | null;
25
23
  clickEvent: EventEmitter<Event>;
26
24
  private isHovered;
27
25
  private isActive;
@@ -42,7 +40,6 @@ export declare class ButtonComponent {
42
40
  transition: string;
43
41
  filter: string;
44
42
  };
45
- hasPermission(): boolean;
46
43
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
47
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "permissions": { "alias": "permissions"; "required": false; }; "permissionChecker": { "alias": "permissionChecker"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, false, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "sim-app-button", never, { "type": { "alias": "type"; "required": false; }; "label": { "alias": "label"; "required": false; }; "btnClass": { "alias": "btnClass"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "form": { "alias": "form"; "required": false; }; "formaction": { "alias": "formaction"; "required": false; }; "formenctype": { "alias": "formenctype"; "required": false; }; "formmethod": { "alias": "formmethod"; "required": false; }; "formnovalidate": { "alias": "formnovalidate"; "required": false; }; "formtarget": { "alias": "formtarget"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "clickEvent": "clickEvent"; }, never, never, false, never>;
48
45
  }
@@ -8,16 +8,19 @@ import * as i6 from "./textarea/textarea.component";
8
8
  import * as i7 from "./select/select.component";
9
9
  import * as i8 from "./radio/radio.component";
10
10
  import * as i9 from "./multi-select/multi-select.component";
11
- import * as i10 from "./tables/bootstrap-table.component";
12
- import * as i11 from "./code-highlight/code-highlight.component";
13
- import * as i12 from "./badge/badge.component";
14
- import * as i13 from "./alert/alert.component";
15
- import * as i14 from "@angular/common";
16
- import * as i15 from "@angular/forms";
17
- import * as i16 from "@ng-select/ng-select";
18
- import * as i17 from "ngx-pagination";
11
+ import * as i10 from "./advanced-calendar/calendar.component";
12
+ import * as i11 from "./advanced-calendar/date-picker.component";
13
+ import * as i12 from "./advanced-calendar/date-time-picker.component";
14
+ import * as i13 from "./tables/bootstrap-table.component";
15
+ import * as i14 from "./code-highlight/code-highlight.component";
16
+ import * as i15 from "./badge/badge.component";
17
+ import * as i16 from "@angular/common";
18
+ import * as i17 from "@angular/forms";
19
+ import * as i18 from "@ng-select/ng-select";
20
+ import * as i19 from "angularx-flatpickr";
21
+ import * as i20 from "ngx-pagination";
19
22
  export declare class ComponentsModule {
20
23
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsModule, never>;
21
- static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent, typeof i13.AlertComponent], [typeof i14.CommonModule, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.NgSelectModule, typeof i17.NgxPaginationModule], [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i15.FormsModule, typeof i15.ReactiveFormsModule, typeof i16.NgSelectModule, typeof i10.BootstrapTableComponent, typeof i11.CodeHighlightComponent, typeof i12.BadgeComponent, typeof i13.AlertComponent]>;
24
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ComponentsModule, [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i10.CalendarComponent, typeof i11.DatePickerComponent, typeof i12.DateTimePickerComponent, typeof i13.BootstrapTableComponent, typeof i14.CodeHighlightComponent, typeof i15.BadgeComponent], [typeof i16.CommonModule, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.NgSelectModule, typeof i19.FlatpickrModule, typeof i20.NgxPaginationModule], [typeof i1.ButtonComponent, typeof i2.CardComponent, typeof i3.FormComponent, typeof i4.InputComponent, typeof i5.CheckboxComponent, typeof i6.TextareaComponent, typeof i7.SelectComponent, typeof i8.RadioComponent, typeof i9.MultiSelectComponent, typeof i17.FormsModule, typeof i17.ReactiveFormsModule, typeof i18.NgSelectModule, typeof i10.CalendarComponent, typeof i11.DatePickerComponent, typeof i12.DateTimePickerComponent, typeof i13.BootstrapTableComponent, typeof i14.CodeHighlightComponent, typeof i15.BadgeComponent]>;
22
25
  static ɵinj: i0.ɵɵInjectorDeclaration<ComponentsModule>;
23
26
  }
@@ -1,15 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class FormComponent {
3
3
  cardTitle: string;
4
- colClasses: string;
5
- marginTop: number;
6
- marginLeft: number;
7
- marginRight: number;
8
- getRowStyles(): {
9
- 'margin-top': string;
10
- 'margin-left': string;
11
- 'margin-right': string;
12
- };
13
4
  static ɵfac: i0.ɵɵFactoryDeclaration<FormComponent, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "sim-app-form", never, { "cardTitle": { "alias": "cardTitle"; "required": false; }; "colClasses": { "alias": "colClasses"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, {}, never, ["*"], false, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormComponent, "sim-app-form", never, { "cardTitle": { "alias": "cardTitle"; "required": false; }; }, {}, never, ["*"], false, never>;
15
6
  }
@@ -17,9 +17,6 @@ export declare class InputComponent implements ControlValueAccessor {
17
17
  marginBottom: number;
18
18
  marginLeft: number;
19
19
  marginRight: number;
20
- labelFontWeight: number;
21
- permissions: string[];
22
- permissionChecker: ((permissions: string[]) => boolean) | null;
23
20
  inputEvent: EventEmitter<Event>;
24
21
  changeEvent: EventEmitter<Event>;
25
22
  focusEvent: EventEmitter<FocusEvent>;
@@ -41,20 +38,6 @@ export declare class InputComponent implements ControlValueAccessor {
41
38
  registerOnChange(fn: any): void;
42
39
  registerOnTouched(fn: any): void;
43
40
  setDisabledState?(isDisabled: boolean): void;
44
- hasPermission(): boolean;
45
- getLabelStyles(): {
46
- 'font-weight': number;
47
- width: string;
48
- height: string;
49
- top: string;
50
- left: string;
51
- gap: string;
52
- opacity: string;
53
- 'font-family': string;
54
- 'font-size': string;
55
- 'line-height': string;
56
- 'text-align': string;
57
- };
58
41
  static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "labelFontWeight": { "alias": "labelFontWeight"; "required": false; }; "permissions": { "alias": "permissions"; "required": false; }; "permissionChecker": { "alias": "permissionChecker"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "keyupEvent": "keyupEvent"; "keydownEvent": "keydownEvent"; "keypressEvent": "keypressEvent"; }, never, never, false, never>;
42
+ static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "sim-app-input", never, { "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "type": { "alias": "type"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; }, { "inputEvent": "inputEvent"; "changeEvent": "changeEvent"; "focusEvent": "focusEvent"; "blurEvent": "blurEvent"; "keyupEvent": "keyupEvent"; "keydownEvent": "keydownEvent"; "keypressEvent": "keypressEvent"; }, never, never, false, never>;
60
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib-portal-angular",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0"
package/public-api.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- export * from './lib/components/alert/alert.component';
1
+ export * from './lib/components/advanced-calendar/calendar.component';
2
+ export * from './lib/components/advanced-calendar/date-picker.component';
3
+ export * from './lib/components/advanced-calendar/date-time-picker.component';
2
4
  export * from './lib/components/badge/badge.component';
3
5
  export * from './lib/components/button/button.component';
4
6
  export * from './lib/components/card/card.component';
@@ -14,4 +16,3 @@ export * from './lib/components/textarea/textarea.component';
14
16
  export * from './lib/enum/ButtonClassesEnum';
15
17
  export * from './lib/components/components.module';
16
18
  export * from './lib/lib-portal-angular.module';
17
- export * from './lib/components/alert/notification.service';
@@ -1,83 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class AlertComponent {
5
- constructor() {
6
- this.alerts = [];
7
- this.closeTimeouts = {}; // Armazena os temporizadores para cada alerta
8
- }
9
- ngOnInit() {
10
- // Inicia o temporizador de fechamento para cada alerta quando a página é carregada
11
- this.alerts.forEach(alert => {
12
- this.closeTimeouts[alert.message] = setTimeout(() => {
13
- this.closeAlert(alert);
14
- }, 6000); // Fecha após 8 segundos
15
- });
16
- }
17
- ngAfterViewInit() {
18
- // Adiciona a classe 'show' após um curto atraso para acionar a animação
19
- setTimeout(() => {
20
- this.alerts.forEach(alert => {
21
- const element = document.getElementById(`alert-${alert.message}`);
22
- if (element) {
23
- element.classList.add('show');
24
- }
25
- });
26
- }, 10); // Pequeno atraso para garantir que o elemento esteja no DOM
27
- }
28
- closeAlert(alert) {
29
- const element = document.getElementById(`alert-${alert.message}`);
30
- if (element) {
31
- element.classList.remove('show');
32
- setTimeout(() => {
33
- this.alerts = this.alerts.filter(a => a !== alert);
34
- }, 500); // Duração da animação de saída
35
- }
36
- else {
37
- this.alerts = this.alerts.filter(a => a !== alert);
38
- }
39
- }
40
- getAlertClass(alert) {
41
- return {
42
- 'alert-container': true,
43
- 'alert-dismissible': true,
44
- [`alert-${alert.type}`]: true
45
- };
46
- }
47
- getAlertIconClass(alert) {
48
- switch (alert.type) {
49
- case 'success':
50
- return 'success-icon'; // Classe para o ícone de sucesso
51
- case 'info':
52
- return 'info-icon'; // Classe para o ícone de informação
53
- case 'warning':
54
- return 'warning-icon'; // Classe para o ícone de aviso
55
- case 'danger':
56
- return 'danger-icon'; // Classe para o ícone de erro
57
- default:
58
- return '';
59
- }
60
- }
61
- onMouseEnter(alert) {
62
- // Cancela o temporizador quando o mouse entra no alerta
63
- if (this.closeTimeouts[alert.message]) {
64
- clearTimeout(this.closeTimeouts[alert.message]);
65
- delete this.closeTimeouts[alert.message];
66
- }
67
- }
68
- onMouseLeave(alert) {
69
- // Inicia um novo temporizador para fechar o alerta após 2 segundos quando o mouse sai do alerta
70
- this.closeTimeouts[alert.message] = setTimeout(() => {
71
- this.closeAlert(alert);
72
- }, 2000); // Fechar após 2 segundos
73
- }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AlertComponent, selector: "lib-alert", inputs: { alerts: "alerts" }, ngImport: i0, template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
76
- }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AlertComponent, decorators: [{
78
- type: Component,
79
- args: [{ selector: 'lib-alert', template: "<div *ngFor=\"let alert of alerts\" \n [ngClass]=\"getAlertClass(alert)\" \n role=\"alert\" \n [id]=\"'alert-' + alert.message\"\n (mouseenter)=\"onMouseEnter(alert)\" \n (mouseleave)=\"onMouseLeave(alert)\">\n <button type=\"button\" class=\"close\" (click)=\"closeAlert(alert)\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n <div class=\"alert-header\">\n <span [ngClass]=\"getAlertIconClass(alert)\" class=\"alert-icon\"></span>\n <strong>{{ alert.title }}</strong>\n </div>\n <div class=\"alert-body\">\n {{ alert.message }}\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.alert-container{position:fixed;top:20px;right:20px;max-width:400px;margin:10px auto;padding:15px;border-radius:4px;background-color:#f8d7da;color:#721c24;word-wrap:break-word;opacity:0;transform:translateY(-20px);transition:opacity .5s ease,transform .5s ease;display:flex;flex-direction:column;align-items:flex-start}.alert-container.show{opacity:1;transform:translateY(0)}.alert-container .close{position:absolute;top:10px;right:10px;background:none;border:none;font-size:20px;color:#000;opacity:.5;cursor:pointer;outline:none}.alert-container .close:hover{opacity:1}.alert-container .alert-header{display:flex;align-items:center;margin-bottom:5px}.alert-container .alert-icon{margin-right:10px;font-size:20px}.alert-container .alert-body{margin-left:30px}.alert-container .alert-icon.success-icon:before{content:\"\\2714\\fe0f\"}.alert-container .alert-icon.info-icon:before{content:\"\\2139\\fe0f\"}.alert-container .alert-icon.warning-icon:before{content:\"\\26a0\\fe0f\"}.alert-container .alert-icon.danger-icon:before{content:\"\\274c\"}.alert-success{background-color:#d4edda;color:#155724}.alert-info{background-color:#d8f4f7;color:#0c5460}.alert-warning{background-color:#fff3cd;color:#856404}.alert-danger{background-color:#fdd9d7;color:#721c24}\n"] }]
80
- }], propDecorators: { alerts: [{
81
- type: Input
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGliLXBvcnRhbC1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hbGVydC9hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBUXhFLE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTWEsV0FBTSxHQUFZLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUEyQixFQUFFLENBQUMsQ0FBQyw4Q0FBOEM7S0F3RXJHO0lBdEVHLFFBQVE7UUFDSixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyx3QkFBd0I7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLHdFQUF3RTtRQUN4RSxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxPQUFPLEVBQUU7b0JBQ1QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ2pDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQ7SUFDeEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFZO1FBQ25CLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsU0FBUyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsRSxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUN2RCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7U0FDM0M7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVk7UUFDdEIsT0FBTztZQUNILGlCQUFpQixFQUFFLElBQUk7WUFDdkIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSTtTQUNoQyxDQUFDO0lBQ04sQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQVk7UUFDMUIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hCLEtBQUssU0FBUztnQkFDVixPQUFPLGNBQWMsQ0FBQyxDQUFDLGlDQUFpQztZQUM1RCxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxXQUFXLENBQUMsQ0FBQyxvQ0FBb0M7WUFDNUQsS0FBSyxTQUFTO2dCQUNWLE9BQU8sY0FBYyxDQUFDLENBQUMsK0JBQStCO1lBQzFELEtBQUssUUFBUTtnQkFDVCxPQUFPLGFBQWEsQ0FBQyxDQUFDLDhCQUE4QjtZQUN4RDtnQkFDSSxPQUFPLEVBQUUsQ0FBQztTQUNqQjtJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUNyQix3REFBd0Q7UUFDeEQsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3ZDLENBQUM7K0dBekVRLGNBQWM7bUdBQWQsY0FBYywrRUNSM0IsNm1CQWlCQTs7NEZEVGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDSSxXQUFXOzhCQUtaLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYWxlcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYWxlcnQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbGVydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCkgYWxlcnRzOiBBbGVydFtdID0gW107XG4gICAgcHJpdmF0ZSBjbG9zZVRpbWVvdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307IC8vIEFybWF6ZW5hIG9zIHRlbXBvcml6YWRvcmVzIHBhcmEgY2FkYSBhbGVydGFcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBJbmljaWEgbyB0ZW1wb3JpemFkb3IgZGUgZmVjaGFtZW50byBwYXJhIGNhZGEgYWxlcnRhIHF1YW5kbyBhIHDDoWdpbmEgw6kgY2FycmVnYWRhXG4gICAgICAgIHRoaXMuYWxlcnRzLmZvckVhY2goYWxlcnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUFsZXJ0KGFsZXJ0KTtcbiAgICAgICAgICAgIH0sIDYwMDApOyAvLyBGZWNoYSBhcMOzcyA4IHNlZ3VuZG9zXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gQWRpY2lvbmEgYSBjbGFzc2UgJ3Nob3cnIGFww7NzIHVtIGN1cnRvIGF0cmFzbyBwYXJhIGFjaW9uYXIgYSBhbmltYcOnw6NvXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hbGVydHMuZm9yRWFjaChhbGVydCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sIDEwKTsgLy8gUGVxdWVubyBhdHJhc28gcGFyYSBnYXJhbnRpciBxdWUgbyBlbGVtZW50byBlc3RlamEgbm8gRE9NXG4gICAgfVxuXG4gICAgY2xvc2VBbGVydChhbGVydDogQWxlcnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBhbGVydC0ke2FsZXJ0Lm1lc3NhZ2V9YCk7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3Nob3cnKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnRzID0gdGhpcy5hbGVydHMuZmlsdGVyKGEgPT4gYSAhPT0gYWxlcnQpO1xuICAgICAgICAgICAgfSwgNTAwKTsgLy8gRHVyYcOnw6NvIGRhIGFuaW1hw6fDo28gZGUgc2HDrWRhXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0cyA9IHRoaXMuYWxlcnRzLmZpbHRlcihhID0+IGEgIT09IGFsZXJ0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEFsZXJ0Q2xhc3MoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnYWxlcnQtY29udGFpbmVyJzogdHJ1ZSxcbiAgICAgICAgICAgICdhbGVydC1kaXNtaXNzaWJsZSc6IHRydWUsXG4gICAgICAgICAgICBbYGFsZXJ0LSR7YWxlcnQudHlwZX1gXTogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEFsZXJ0SWNvbkNsYXNzKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICBzd2l0Y2ggKGFsZXJ0LnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgc3VjZXNzb1xuICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdpbmZvLWljb24nOyAvLyBDbGFzc2UgcGFyYSBvIMOtY29uZSBkZSBpbmZvcm1hw6fDo29cbiAgICAgICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZy1pY29uJzsgLy8gQ2xhc3NlIHBhcmEgbyDDrWNvbmUgZGUgYXZpc29cbiAgICAgICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICdkYW5nZXItaWNvbic7IC8vIENsYXNzZSBwYXJhIG8gw61jb25lIGRlIGVycm9cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKGFsZXJ0OiBBbGVydCkge1xuICAgICAgICAvLyBDYW5jZWxhIG8gdGVtcG9yaXphZG9yIHF1YW5kbyBvIG1vdXNlIGVudHJhIG5vIGFsZXJ0YVxuICAgICAgICBpZiAodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdKTtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmNsb3NlVGltZW91dHNbYWxlcnQubWVzc2FnZV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoYWxlcnQ6IEFsZXJ0KSB7XG4gICAgICAgIC8vIEluaWNpYSB1bSBub3ZvIHRlbXBvcml6YWRvciBwYXJhIGZlY2hhciBvIGFsZXJ0YSBhcMOzcyAyIHNlZ3VuZG9zIHF1YW5kbyBvIG1vdXNlIHNhaSBkbyBhbGVydGFcbiAgICAgICAgdGhpcy5jbG9zZVRpbWVvdXRzW2FsZXJ0Lm1lc3NhZ2VdID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQWxlcnQoYWxlcnQpO1xuICAgICAgICB9LCAyMDAwKTsgLy8gRmVjaGFyIGFww7NzIDIgc2VndW5kb3NcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBhbGVydCBvZiBhbGVydHNcIiBcbiAgICAgW25nQ2xhc3NdPVwiZ2V0QWxlcnRDbGFzcyhhbGVydClcIiBcbiAgICAgcm9sZT1cImFsZXJ0XCIgXG4gICAgIFtpZF09XCInYWxlcnQtJyArIGFsZXJ0Lm1lc3NhZ2VcIlxuICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoYWxlcnQpXCIgXG4gICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZShhbGVydClcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZUFsZXJ0KGFsZXJ0KVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gIDwvYnV0dG9uPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQtaGVhZGVyXCI+XG4gICAgPHNwYW4gW25nQ2xhc3NdPVwiZ2V0QWxlcnRJY29uQ2xhc3MoYWxlcnQpXCIgY2xhc3M9XCJhbGVydC1pY29uXCI+PC9zcGFuPlxuICAgIDxzdHJvbmc+e3sgYWxlcnQudGl0bGUgfX08L3N0cm9uZz5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhbGVydC1ib2R5XCI+XG4gICAge3sgYWxlcnQubWVzc2FnZSB9fVxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,31 +0,0 @@
1
- import { createComponent, Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { AlertComponent } from './alert.component';
4
- import * as i0 from "@angular/core";
5
- export class NotificationService {
6
- constructor(appRef, injector) {
7
- this.appRef = appRef;
8
- this.injector = injector;
9
- this.alertsSubject = new Subject();
10
- this.alerts$ = this.alertsSubject.asObservable();
11
- }
12
- showAlert(type, title, message) {
13
- const alert = { type, title, message };
14
- this.alertsSubject.next(alert);
15
- // Create the alert component dynamically
16
- const componentRef = createComponent(AlertComponent, { environmentInjector: this.appRef.injector });
17
- componentRef.instance.alerts = [alert];
18
- this.appRef.attachView(componentRef.hostView);
19
- const domElem = componentRef.hostView.rootNodes[0];
20
- document.body.appendChild(domElem);
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NotificationService, decorators: [{
26
- type: Injectable,
27
- args: [{
28
- providedIn: 'root'
29
- }]
30
- }], ctorParameters: function () { return [{ type: i0.ApplicationRef }, { type: i0.Injector }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9saWItcG9ydGFsLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2FsZXJ0L25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsZUFBZSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXbkQsTUFBTSxPQUFPLG1CQUFtQjtJQUk1QixZQUNZLE1BQXNCLEVBQ3RCLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMdEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBQzdDLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBS3hDLENBQUM7SUFFTCxTQUFTLENBQUMsSUFBK0MsRUFBRSxLQUFhLEVBQUUsT0FBZTtRQUNyRixNQUFNLEtBQUssR0FBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0IseUNBQXlDO1FBQ3pDLE1BQU0sWUFBWSxHQUFpQyxlQUFlLENBQUMsY0FBYyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2xJLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFJLFlBQVksQ0FBQyxRQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDM0UsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFHdkMsQ0FBQzsrR0F0QlEsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7NEZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9hbGVydC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0IHtcbiAgICB0eXBlOiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZGFuZ2VyJztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIGFsZXJ0c1N1YmplY3QgPSBuZXcgU3ViamVjdDxBbGVydD4oKTtcbiAgICBhbGVydHMkID0gdGhpcy5hbGVydHNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHsgfVxuXG4gICAgc2hvd0FsZXJ0KHR5cGU6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInLCB0aXRsZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgYWxlcnQ6IEFsZXJ0ID0geyB0eXBlLCB0aXRsZSwgbWVzc2FnZSB9O1xuICAgICAgICB0aGlzLmFsZXJ0c1N1YmplY3QubmV4dChhbGVydCk7XG5cbiAgICAgICAgLy8gQ3JlYXRlIHRoZSBhbGVydCBjb21wb25lbnQgZHluYW1pY2FsbHlcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QWxlcnRDb21wb25lbnQ+ID0gY3JlYXRlQ29tcG9uZW50KEFsZXJ0Q29tcG9uZW50LCB7IGVudmlyb25tZW50SW5qZWN0b3I6IHRoaXMuYXBwUmVmLmluamVjdG9yIH0pO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuYWxlcnRzID0gW2FsZXJ0XTtcblxuICAgICAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIGFueSkucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICBcbiAgICAgICAgXG4gICAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { AfterViewInit, OnInit } from '@angular/core';
2
- import { Alert } from './notification.service';
3
- import * as i0 from "@angular/core";
4
- export declare class AlertComponent implements OnInit, AfterViewInit {
5
- alerts: Alert[];
6
- private closeTimeouts;
7
- ngOnInit(): void;
8
- ngAfterViewInit(): void;
9
- closeAlert(alert: Alert): void;
10
- getAlertClass(alert: Alert): {
11
- [x: string]: boolean;
12
- 'alert-container': boolean;
13
- 'alert-dismissible': boolean;
14
- };
15
- getAlertIconClass(alert: Alert): "" | "success-icon" | "info-icon" | "warning-icon" | "danger-icon";
16
- onMouseEnter(alert: Alert): void;
17
- onMouseLeave(alert: Alert): void;
18
- static ɵfac: i0.ɵɵFactoryDeclaration<AlertComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<AlertComponent, "lib-alert", never, { "alerts": { "alias": "alerts"; "required": false; }; }, {}, never, never, false, never>;
20
- }
@@ -1,17 +0,0 @@
1
- import { ApplicationRef, Injector } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export interface Alert {
4
- type: 'success' | 'info' | 'warning' | 'danger';
5
- title: string;
6
- message: string;
7
- }
8
- export declare class NotificationService {
9
- private appRef;
10
- private injector;
11
- private alertsSubject;
12
- alerts$: import("rxjs").Observable<Alert>;
13
- constructor(appRef: ApplicationRef, injector: Injector);
14
- showAlert(type: 'success' | 'info' | 'warning' | 'danger', title: string, message: string): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<NotificationService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<NotificationService>;
17
- }