@pepperi-addons/ngx-composite-lib 0.4.2-beta.188 → 0.4.2-beta.189

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.
@@ -0,0 +1,82 @@
1
+ # Pepperi Angular Elements for React (ngx-composite-lib)
2
+
3
+ This guide explains how to use ngx-composite-lib components as Custom Elements (Web Components) in any host (Angular, React, plain HTML), with full Pepperi theming.
4
+
5
+ The Elements bundle and compiled theme CSS are produced by the `ngx-composite-lib-elements` build target.
6
+
7
+ ## What this build produces
8
+
9
+ - `dist/ngx-composite-lib-elements/main.js` – registers the custom elements at runtime
10
+ - `dist/ngx-composite-lib-elements/runtime.js` – Angular runtime
11
+ - `dist/ngx-composite-lib-elements/polyfills.js` – polyfills used by the build
12
+ - `dist/ngx-composite-lib-elements/styles.css` – compiled Pepperi theme CSS (from `projects/ngx-composite-lib/styling.entry.scss`)
13
+
14
+ Currently registered elements (via `projects/ngx-composite-lib/elements/elements.module.ts`):
15
+ - `<pep-color-settings-element>`
16
+ - `<pep-flow-picker-button-element>`
17
+ - `<pep-group-buttons-settings-element>`
18
+ - `<pep-icon-picker-element>`
19
+ - `<pep-padding-settings-element>`
20
+ - `<pep-shadow-settings-element>`
21
+ - `<pep-rich-text-element>`
22
+ - `<pep-show-if-badge-element>`
23
+
24
+ Add more by editing `projects/ngx-composite-lib/elements/elements.module.ts` and calling `customElements.define` via the helper in `ngDoBootstrap`.
25
+
26
+ ## Build the Elements bundle and CSS
27
+
28
+ ```bash
29
+ npm run for-react-build-elements
30
+ # or production build as part of the full flow
31
+ npm run for-react-pack-react-wrappers
32
+ ```
33
+
34
+ Artifacts will be under `dist/ngx-composite-lib-elements/`.
35
+
36
+ ## Using in a host app (Angular/React/HTML)
37
+
38
+ Include once at app bootstrap (use your asset base accordingly). When using the external assets server in this repo (port 5183):
39
+
40
+ ```html
41
+ <link rel="stylesheet" href="http://localhost:5183/assets/pep-elements/styles.css" />
42
+ <script>
43
+ // ensure lazy chunks like /971.js load from the external server root
44
+ window.__webpack_public_path__ = 'http://localhost:5183/';
45
+ </script>
46
+ <script type="module" src="http://localhost:5183/assets/pep-elements/polyfills.js"></script>
47
+ <script type="module" src="http://localhost:5183/assets/pep-elements/runtime.js"></script>
48
+ <script type="module" src="http://localhost:5183/assets/pep-elements/main.js"></script>
49
+
50
+ <!-- Optional: Quill for rich-text -->
51
+ <link rel="stylesheet" href="http://localhost:5183/assets/quill/quill.core.css" />
52
+ <link rel="stylesheet" href="http://localhost:5183/assets/quill/quill.bubble.css" />
53
+ <link rel="stylesheet" href="http://localhost:5183/assets/quill/quill.snow.css" />
54
+ <script src="http://localhost:5183/assets/quill/quill.core.js"></script>
55
+ ```
56
+
57
+ Ensure the host has Pepperi theme class:
58
+
59
+ ```html
60
+ <body class="pepperi-theme"></body>
61
+ ```
62
+
63
+ Then use elements directly:
64
+
65
+ ```html
66
+ <pep-icon-picker-element></pep-icon-picker-element>
67
+ <pep-rich-text-element></pep-rich-text-element>
68
+ <pep-show-if-badge-element showif="true" iconname="system_view" backgroundcolor="#0f0"></pep-show-if-badge-element>
69
+ ```
70
+
71
+ ## Dev/test in this repo
72
+
73
+ - Start external assets server + Angular tester:
74
+
75
+ ```bash
76
+ npm run for-react-run-all-testers
77
+ # external server on http://localhost:5183, tester on http://localhost:4200
78
+ ```
79
+
80
+ Open `http://localhost:4200/web-components-example` to see live Custom Elements.
81
+
82
+ If a lazy chunk like `/971.js` 404s from the Angular dev server (1818/4200), hard refresh with cache disabled so the updated `main.js` (with correct public path) is used.
@@ -1,35 +1,113 @@
1
- import { Component, Output, EventEmitter, Inject } from '@angular/core';
2
- import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
1
+ import { Component, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';
2
+ import { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/material/snack-bar";
5
5
  import * as i2 from "@angular/common";
6
6
  import * as i3 from "@pepperi-addons/ngx-lib/icon";
7
7
  import * as i4 from "@pepperi-addons/ngx-lib/snack-bar";
8
8
  export class FileStatusPanelComponent {
9
- constructor(data, snackBarRef) {
9
+ constructor(data, snackBarRef, snackBar, cdr) {
10
10
  this.data = data;
11
11
  this.snackBarRef = snackBarRef;
12
+ this.snackBar = snackBar;
13
+ this.cdr = cdr;
12
14
  // @Input() title = '';
13
15
  // @Input() filesList: Array<FileStatus> = [];
14
16
  this.closeClick = new EventEmitter();
17
+ this._openAsSnackBar = false;
18
+ this._opened = false;
19
+ this._pendingOpen = false;
15
20
  //
16
21
  }
22
+ set panelData(val) {
23
+ if (val) {
24
+ if (!val.content || !Array.isArray(val.content)) {
25
+ val.content = [];
26
+ }
27
+ this.data = val;
28
+ // Trigger change detection when used as Angular Element
29
+ try {
30
+ this.cdr.detectChanges();
31
+ }
32
+ catch { }
33
+ this.openIfRequested();
34
+ }
35
+ }
36
+ set openAsSnackBar(val) {
37
+ this._openAsSnackBar = !!val;
38
+ if (this._openAsSnackBar) {
39
+ if (this._opened) {
40
+ // If already open, dismiss and re-open after dismissed
41
+ this._pendingOpen = true;
42
+ this.dismissIfOpen();
43
+ }
44
+ else {
45
+ this.openIfRequested();
46
+ }
47
+ }
48
+ else {
49
+ this.dismissIfOpen();
50
+ }
51
+ }
17
52
  ngOnInit() {
18
- //
53
+ if (!this.data || !Array.isArray(this.data.content)) {
54
+ this.data = { ...this.data, content: [] };
55
+ }
56
+ // Provide a safe object for the template binding when not opened as snackbar
57
+ this.snackBarRefInput = this.snackBarRef ?? { dismiss: () => { } };
58
+ this.openIfRequested();
19
59
  }
20
60
  onCloseClicked(event) {
61
+ try {
62
+ this.snackBarRef?.dismiss();
63
+ }
64
+ catch { }
21
65
  this.closeClick.emit();
22
66
  }
67
+ openIfRequested() {
68
+ if (this._openAsSnackBar && !this._opened && this.data && Array.isArray(this.data.content)) {
69
+ this._opened = true;
70
+ this._snackRef = this.snackBar.openFromComponent(FileStatusPanelComponent, {
71
+ data: this.data,
72
+ });
73
+ this._snackRef.afterDismissed().subscribe(() => {
74
+ this._opened = false;
75
+ if (this._pendingOpen) {
76
+ this._pendingOpen = false;
77
+ // Re-open with current data (requested via setter while open)
78
+ this.openIfRequested();
79
+ }
80
+ });
81
+ }
82
+ }
83
+ dismissIfOpen() {
84
+ try {
85
+ this._snackRef?.dismiss();
86
+ }
87
+ catch { }
88
+ this._opened = false;
89
+ }
23
90
  }
24
- FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component });
25
- FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
91
+ FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA, optional: true }, { token: MatSnackBarRef, optional: true }, { token: i1.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
92
+ FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { panelData: "panelData", openAsSnackBar: "openAsSnackBar" }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
26
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
27
94
  type: Component,
28
- args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
29
- }], ctorParameters: function () { return [{ type: i4.PepSnackBarData, decorators: [{
95
+ args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
96
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
97
+ type: Optional
98
+ }, {
30
99
  type: Inject,
31
100
  args: [MAT_SNACK_BAR_DATA]
32
- }] }, { type: i1.MatSnackBarRef }]; }, propDecorators: { closeClick: [{
101
+ }] }, { type: undefined, decorators: [{
102
+ type: Optional
103
+ }, {
104
+ type: Inject,
105
+ args: [MatSnackBarRef]
106
+ }] }, { type: i1.MatSnackBar }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { closeClick: [{
33
107
  type: Output
108
+ }], panelData: [{
109
+ type: Input
110
+ }], openAsSnackBar: [{
111
+ type: Input
34
112
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBNkIsTUFBTSxFQUFFLFlBQVksRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFrQixrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFVakYsTUFBTSxPQUFPLHdCQUF3QjtJQU9qQyxZQUN1QyxJQUFxQixFQUNqRCxXQUFxRDtRQUR6QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBMEM7UUFSaEUsdUJBQXVCO1FBQ3ZCLDhDQUE4QztRQUc5QyxlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFNdkQsRUFBRTtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osRUFBRTtJQUNOLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7O3FIQXBCUSx3QkFBd0Isa0JBUXJCLGtCQUFrQjt5R0FSckIsd0JBQXdCLG9HQ1hyQyxndkJBWWdCOzJGRERILHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDSSx1QkFBdUI7OzBCQVk1QixNQUFNOzJCQUFDLGtCQUFrQjt5RUFIOUIsVUFBVTtzQkFEVCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdGFibGUsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJSZWYsIE1BVF9TTkFDS19CQVJfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQZXBTbmFja0JhckRhdGEgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zbmFjay1iYXInO1xuaW1wb3J0IHsgRmlsZVN0YXR1cyB9IGZyb20gJy4vZmlsZS1zdGF0dXMtcGFuZWwubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1maWxlLXN0YXR1cy1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtc3RhdHVzLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXN0YXR1cy1wYW5lbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLy8gQElucHV0KCkgdGl0bGUgPSAnJztcbiAgICAvLyBASW5wdXQoKSBmaWxlc0xpc3Q6IEFycmF5PEZpbGVTdGF0dXM+ID0gW107XG4gICAgXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KE1BVF9TTkFDS19CQVJfREFUQSkgcHVibGljIGRhdGE6IFBlcFNuYWNrQmFyRGF0YSxcbiAgICAgICAgcHVibGljIHNuYWNrQmFyUmVmOiBNYXRTbmFja0JhclJlZjxGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQ+XG4gICAgKSB7XG4gICAgICAgLy9cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy9cbiAgICB9XG5cbiAgICBvbkNsb3NlQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VDbGljay5lbWl0KCk7XG4gICAgfVxuXG5cbn0iLCI8cGVwLXNuYWNrLWJhciBjbGFzcz1cInVwbG9hZC1wYW5lbC1jb250bmFpbmVyXCIgW3NuYWNrQmFyUmVmXT1cInNuYWNrQmFyUmVmXCIgW3RpdGxlXT1cImRhdGEudGl0bGVcIiAoY2xvc2VDbGljayk9XCJvbkNsb3NlQ2xpY2tlZCgkZXZlbnQpXCIgPlxuICAgIDxkaXYgcGVwLXNuYWNrLWJhci1jb250ZW50IGNsYXNzPVwicGFuZWwtY29udGVudFwiPlxuICAgICAgICA8dWwgKm5nSWY9XCJkYXRhLmNvbnRlbnQubGVuZ3RoXCI+XG4gICAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGZpbGUgb2YgZGF0YS5jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGU/LnN0YXR1cyAhPT0gJ2hpZGRlbidcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjb2xvci1kaW1tZWQgYm9keS1zbSBlbGxpcHNpc1wiPnt7ZmlsZS5uYW1lfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxwZXAtaWNvbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnRcIiBuYW1lPVwiYXJyb3dfcmlnaHRfYWx0XCI+PC9wZXAtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2R5LXNtXCIgdGl0bGU9XCJ7e2ZpbGUuc3RhdHVzTWVzc2FnZX19XCI+e3tmaWxlLnN0YXR1c319PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvcGVwLXNuYWNrLWJhcj4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEksT0FBTyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBZSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFVOUYsTUFBTSxPQUFPLHdCQUF3QjtJQTJDakMsWUFDbUQsSUFBaUMsRUFDckMsV0FBaUUsRUFDcEcsUUFBcUIsRUFDckIsR0FBc0I7UUFIaUIsU0FBSSxHQUFKLElBQUksQ0FBNkI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQXNEO1FBQ3BHLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDckIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE5Q2xDLHVCQUF1QjtRQUN2Qiw4Q0FBOEM7UUFHOUMsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBK0JsRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBVTFCLEVBQUU7SUFDTCxDQUFDO0lBM0NELElBQ0ksU0FBUyxDQUFDLEdBQWdDO1FBQzFDLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFFLEdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFFLEdB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QUxwQyxTQUFTOytCQUNJLHVCQUF1Qjs7MEJBZ0Q1QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3JDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsY0FBYztzR0F4Q3RDLFVBQVU7c0JBRFQsTUFBTTtnQkFJSCxTQUFTO3NCQURaLEtBQUs7Z0JBY0YsY0FBYztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3RhYmxlLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBJbmplY3QsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbmFja0JhclJlZiwgTUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBQZXBTbmFja0JhckRhdGEgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zbmFjay1iYXInO1xuaW1wb3J0IHsgRmlsZVN0YXR1cyB9IGZyb20gJy4vZmlsZS1zdGF0dXMtcGFuZWwubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1maWxlLXN0YXR1cy1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtc3RhdHVzLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxlLXN0YXR1cy1wYW5lbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLy8gQElucHV0KCkgdGl0bGUgPSAnJztcbiAgICAvLyBASW5wdXQoKSBmaWxlc0xpc3Q6IEFycmF5PEZpbGVTdGF0dXM+ID0gW107XG4gICAgXG4gICAgQE91dHB1dCgpXG4gICAgY2xvc2VDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIFxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhbmVsRGF0YSh2YWw6IFBlcFNuYWNrQmFyRGF0YSB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICBpZiAoISh2YWwgYXMgYW55KS5jb250ZW50IHx8ICFBcnJheS5pc0FycmF5KCh2YWwgYXMgYW55KS5jb250ZW50KSkge1xuICAgICAgICAgICAgICAgICh2YWwgYXMgYW55KS5jb250ZW50ID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSB2YWw7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gd2hlbiB1c2VkIGFzIEFuZ3VsYXIgRWxlbWVudFxuICAgICAgICAgICAgdHJ5IHsgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpOyB9IGNhdGNoIHt9XG4gICAgICAgICAgICB0aGlzLm9wZW5JZlJlcXVlc3RlZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgb3BlbkFzU25hY2tCYXIodmFsOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX29wZW5Bc1NuYWNrQmFyID0gISF2YWw7XG4gICAgICAgIGlmICh0aGlzLl9vcGVuQXNTbmFja0Jhcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuX29wZW5lZCkge1xuICAgICAgICAgICAgICAgIC8vIElmIGFscmVhZHkgb3BlbiwgZGlzbWlzcyBhbmQgcmUtb3BlbiBhZnRlciBkaXNtaXNzZWRcbiAgICAgICAgICAgICAgICB0aGlzLl9wZW5kaW5nT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNtaXNzSWZPcGVuKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbklmUmVxdWVzdGVkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpc21pc3NJZk9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5Bc1NuYWNrQmFyID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfc25hY2tSZWY/OiBNYXRTbmFja0JhclJlZjxGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgX3BlbmRpbmdPcGVuID0gZmFsc2U7XG4gICAgLy8gVXNlZCBvbmx5IGZvciB0ZW1wbGF0ZSBiaW5kaW5nIHRvIHNhdGlzZnkgc3RyaWN0IHRlbXBsYXRlIHR5cGluZ1xuICAgIHNuYWNrQmFyUmVmSW5wdXQ6IGFueTtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpIHB1YmxpYyBkYXRhOiBQZXBTbmFja0JhckRhdGEgfCB1bmRlZmluZWQsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTWF0U25hY2tCYXJSZWYpIHB1YmxpYyBzbmFja0JhclJlZjogTWF0U25hY2tCYXJSZWY8RmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50PiB8IHVuZGVmaW5lZCxcbiAgICAgICAgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgIC8vXG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhIHx8ICFBcnJheS5pc0FycmF5KCh0aGlzLmRhdGEgYXMgYW55KS5jb250ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gKHsgLi4uKHRoaXMuZGF0YSBhcyBhbnkpLCBjb250ZW50OiBbXSB9IGFzIGFueSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJvdmlkZSBhIHNhZmUgb2JqZWN0IGZvciB0aGUgdGVtcGxhdGUgYmluZGluZyB3aGVuIG5vdCBvcGVuZWQgYXMgc25hY2tiYXJcbiAgICAgICAgdGhpcy5zbmFja0JhclJlZklucHV0ID0gdGhpcy5zbmFja0JhclJlZiA/PyB7IGRpc21pc3M6ICgpID0+IHt9IH07XG4gICAgICAgIHRoaXMub3BlbklmUmVxdWVzdGVkKCk7XG4gICAgfVxuXG4gICAgb25DbG9zZUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkgeyB0aGlzLnNuYWNrQmFyUmVmPy5kaXNtaXNzKCk7IH0gY2F0Y2gge31cbiAgICAgICAgdGhpcy5jbG9zZUNsaWNrLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5JZlJlcXVlc3RlZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX29wZW5Bc1NuYWNrQmFyICYmICF0aGlzLl9vcGVuZWQgJiYgdGhpcy5kYXRhICYmIEFycmF5LmlzQXJyYXkoKHRoaXMuZGF0YSBhcyBhbnkpLmNvbnRlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLl9vcGVuZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5fc25hY2tSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHRoaXMuZGF0YSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5fc25hY2tSZWYuYWZ0ZXJEaXNtaXNzZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wZW5kaW5nT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wZW5kaW5nT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAvLyBSZS1vcGVuIHdpdGggY3VycmVudCBkYXRhIChyZXF1ZXN0ZWQgdmlhIHNldHRlciB3aGlsZSBvcGVuKVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5JZlJlcXVlc3RlZCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNtaXNzSWZPcGVuKCk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5fc25hY2tSZWY/LmRpc21pc3MoKTtcbiAgICAgICAgfSBjYXRjaCB7fVxuICAgICAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcbiAgICB9XG5cblxufSIsIjxwZXAtc25hY2stYmFyIGNsYXNzPVwidXBsb2FkLXBhbmVsLWNvbnRuYWluZXJcIiBbc25hY2tCYXJSZWZdPVwic25hY2tCYXJSZWZJbnB1dFwiIFt0aXRsZV09XCJkYXRhPy50aXRsZSB8fCAnJ1wiIChjbG9zZUNsaWNrKT1cIm9uQ2xvc2VDbGlja2VkKCRldmVudClcIiA+XG4gICAgPGRpdiBwZXAtc25hY2stYmFyLWNvbnRlbnQgY2xhc3M9XCJwYW5lbC1jb250ZW50XCI+XG4gICAgICAgIDx1bCAqbmdJZj1cImRhdGE/LmNvbnRlbnQ/Lmxlbmd0aFwiPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRhdGE/LmNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZT8uc3RhdHVzICE9PSAnaGlkZGVuJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvbG9yLWRpbW1lZCBib2R5LXNtIGVsbGlwc2lzXCI+e3tmaWxlLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHBlcC1pY29uIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudFwiIG5hbWU9XCJhcnJvd19yaWdodF9hbHRcIj48L3BlcC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJvZHktc21cIiB0aXRsZT1cInt7ZmlsZS5zdGF0dXNNZXNzYWdlfX1cIj57e2ZpbGUuc3RhdHVzfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9wZXAtc25hY2stYmFyPiJdfQ==
@@ -7,7 +7,6 @@ import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
7
7
  import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
8
8
  import { PepIconModule, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';
9
9
  import { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';
10
- import { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';
11
10
  import * as i0 from "@angular/core";
12
11
  import * as i1 from "@pepperi-addons/ngx-lib/icon";
13
12
  const pepIcons = [
@@ -27,16 +26,7 @@ PepFileStatusPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0"
27
26
  PepIconModule,
28
27
  PepDialogModule,
29
28
  PepSnackBarModule], exports: [FileStatusPanelComponent] });
30
- PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, providers: [
31
- {
32
- provide: MatSnackBarRef,
33
- useValue: {}
34
- },
35
- {
36
- provide: MAT_SNACK_BAR_DATA,
37
- useValue: {} // Add any data you wish to test if it is passed/used correctly
38
- }
39
- ], imports: [CommonModule,
29
+ PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, imports: [CommonModule,
40
30
  PepTopBarModule,
41
31
  PepTextboxModule,
42
32
  PepButtonModule,
@@ -58,17 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
58
48
  PepDialogModule,
59
49
  PepSnackBarModule
60
50
  ],
61
- exports: [FileStatusPanelComponent],
62
- providers: [
63
- {
64
- provide: MatSnackBarRef,
65
- useValue: {}
66
- },
67
- {
68
- provide: MAT_SNACK_BAR_DATA,
69
- useValue: {} // Add any data you wish to test if it is passed/used correctly
70
- }
71
- ]
51
+ exports: [FileStatusPanelComponent]
72
52
  }]
73
53
  }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFakYsTUFBTSxRQUFRLEdBQUc7SUFDYixvQkFBb0I7Q0FDdkIsQ0FBQTtBQTRCRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ2pDLFlBQ1ksZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRXhDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O3FIQUxRLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQXhCN0Isd0JBQXdCLGFBR3hCLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLGlCQUFpQixhQUVYLHdCQUF3QjtzSEFhekIsd0JBQXdCLGFBWnZCO1FBQ047WUFDQSxPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsRUFBRTtTQUNYO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFFBQVEsRUFBRSxFQUFFLENBQUMsK0RBQStEO1NBQy9FO0tBQ0osWUFsQkcsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGFBQWE7UUFDYixlQUFlO1FBQ2YsaUJBQWlCOzJGQWVaLHdCQUF3QjtrQkExQnBDLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFO3dCQUNWLHdCQUF3QjtxQkFDM0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ25DLFNBQVMsRUFBQzt3QkFDTjs0QkFDQSxPQUFPLEVBQUUsY0FBYzs0QkFDdkIsUUFBUSxFQUFFLEVBQUU7eUJBQ1g7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLEVBQUUsQ0FBQywrREFBK0Q7eUJBQy9FO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtc3RhdHVzLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQZXBUZXh0Ym94TW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvdGV4dGJveCc7XG5pbXBvcnQgeyBQZXBUb3BCYXJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90b3AtYmFyJztcbmltcG9ydCB7IFBlcERpYWxvZ01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBCdXR0b25Nb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9idXR0b24nO1xuaW1wb3J0IHsgUGVwSWNvbk1vZHVsZSwgUGVwSWNvblJlZ2lzdHJ5LCBwZXBJY29uQXJyb3dSaWdodEFsdCB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwU25hY2tCYXJNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zbmFjay1iYXInO1xuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5cbmNvbnN0IHBlcEljb25zID0gW1xuICAgIHBlcEljb25BcnJvd1JpZ2h0QWx0LFxuXVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBGaWxlU3RhdHVzUGFuZWxDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQZXBUb3BCYXJNb2R1bGUsXG4gICAgICAgIFBlcFRleHRib3hNb2R1bGUsXG4gICAgICAgIFBlcEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgICAgICBQZXBTbmFja0Jhck1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW0ZpbGVTdGF0dXNQYW5lbENvbXBvbmVudF0sXG4gICAgcHJvdmlkZXJzOltcbiAgICAgICAge1xuICAgICAgICBwcm92aWRlOiBNYXRTbmFja0JhclJlZixcbiAgICAgICAgdXNlVmFsdWU6IHt9XG4gICAgICAgIH0sIFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNQVRfU05BQ0tfQkFSX0RBVEEsXG4gICAgICAgICAgICB1c2VWYWx1ZToge30gLy8gQWRkIGFueSBkYXRhIHlvdSB3aXNoIHRvIHRlc3QgaWYgaXQgaXMgcGFzc2VkL3VzZWQgY29ycmVjdGx5XG4gICAgICAgIH1cbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgUGVwRmlsZVN0YXR1c1BhbmVsTW9kdWxlIHsgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcGVwSWNvblJlZ2lzdHJ5OiBQZXBJY29uUmVnaXN0cnksXG4gICAgKSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMocGVwSWNvbnMpO1xuICAgIH1cbn0iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZmlsZS1zdGF0dXMtcGFuZWwvZmlsZS1zdGF0dXMtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQW1CLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUd0RSxNQUFNLFFBQVEsR0FBRztJQUNiLG9CQUFvQjtDQUN2QixDQUFBO0FBa0JELE1BQU0sT0FBTyx3QkFBd0I7SUFDakMsWUFDWSxlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFFeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7cUhBTFEsd0JBQXdCO3NIQUF4Qix3QkFBd0IsaUJBZDdCLHdCQUF3QixhQUd4QixZQUFZO1FBQ1osZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUIsYUFFWCx3QkFBd0I7c0hBR3pCLHdCQUF3QixZQVg3QixZQUFZO1FBQ1osZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUI7MkZBS1osd0JBQXdCO2tCQWhCcEMsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1Ysd0JBQXdCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztpQkFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1zdGF0dXMtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBlcFRleHRib3hNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi90ZXh0Ym94JztcbmltcG9ydCB7IFBlcFRvcEJhck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3RvcC1iYXInO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IFBlcEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBQZXBJY29uTW9kdWxlLCBQZXBJY29uUmVnaXN0cnksIHBlcEljb25BcnJvd1JpZ2h0QWx0IH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvaWNvbic7XG5pbXBvcnQgeyBQZXBTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBNQVRfU05BQ0tfQkFSX0RBVEEsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuY29uc3QgcGVwSWNvbnMgPSBbXG4gICAgcGVwSWNvbkFycm93UmlnaHRBbHQsXG5dXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEZpbGVTdGF0dXNQYW5lbENvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBlcFRvcEJhck1vZHVsZSxcbiAgICAgICAgUGVwVGV4dGJveE1vZHVsZSxcbiAgICAgICAgUGVwQnV0dG9uTW9kdWxlLFxuICAgICAgICBQZXBJY29uTW9kdWxlLFxuICAgICAgICBQZXBEaWFsb2dNb2R1bGUsXG4gICAgICAgIFBlcFNuYWNrQmFyTW9kdWxlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbRmlsZVN0YXR1c1BhbmVsQ29tcG9uZW50XVxufSlcblxuZXhwb3J0IGNsYXNzIFBlcEZpbGVTdGF0dXNQYW5lbE1vZHVsZSB7IFxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5LFxuICAgICkge1xuICAgICAgICB0aGlzLnBlcEljb25SZWdpc3RyeS5yZWdpc3Rlckljb25zKHBlcEljb25zKTtcbiAgICB9XG59Il19
@@ -12,7 +12,7 @@ export class GroupButtonsSettingsComponent {
12
12
  this.subHeader = '';
13
13
  this.groupType = 'sizes';
14
14
  this.btnsArray = [];
15
- this.excludeKeys = []; // for example ['xs','xl']
15
+ this._excludeKeys = [];
16
16
  this.useNone = false;
17
17
  this.disabled = false;
18
18
  this.dir = 'ltr';
@@ -23,6 +23,16 @@ export class GroupButtonsSettingsComponent {
23
23
  this.sizes = [];
24
24
  this.defaultCallback = (event) => this.onKeyChange(event);
25
25
  }
26
+ set excludeKeys(value) {
27
+ this._excludeKeys = value || [];
28
+ // Trigger array rebuild when excludeKeys changes
29
+ if (this.translate) { // Only if component is initialized
30
+ setTimeout(() => this.arrayMerge(), 0);
31
+ }
32
+ }
33
+ get excludeKeys() {
34
+ return this._excludeKeys;
35
+ }
26
36
  set btnKey(value) {
27
37
  if (!value) {
28
38
  this._btnKey = '';
@@ -154,4 +164,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
154
164
  }], btnkeyChange: [{
155
165
  type: Output
156
166
  }] } });
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9ncm91cC1idXR0b25zLXNldHRpbmdzL2dyb3VwLWJ1dHRvbnMtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVcvRSxNQUFNLE9BQU8sNkJBQTZCO0lBcUN0QyxxQ0FBcUM7SUFFckMsWUFDWSxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQXRDOUIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixjQUFTLEdBQXlCLE9BQU8sQ0FBQztRQUMxQyxjQUFTLEdBQXFCLEVBQUUsQ0FBQztRQUNqQyxnQkFBVyxHQUFrQixFQUFFLENBQUMsQ0FBQywwQkFBMEI7UUFFM0QsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLENBQUM7UUFnQnJCLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHaEUsU0FBSSxHQUFjLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBRWhDLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsQ0FBQyxLQUEyQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBTzNFLENBQUM7SUExQkQsSUFDSSxNQUFNLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDckI7YUFBTTtZQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBa0JELFFBQVE7UUFDSix1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFFbkgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFFTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4Qyx1REFBdUQ7UUFDdkQsSUFBRyxJQUFJLENBQUMsV0FBVyxFQUFDO1lBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pGO1FBQ0QsdUNBQXVDO1FBQ3ZDLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBQztZQUNaLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN2RDtJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0M7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxlQUFlO1FBQ1gsUUFBTyxJQUFJLENBQUMsU0FBUyxFQUFDO1lBQ2xCLEtBQUssUUFBUSxDQUFDLENBQUE7Z0JBQ1YscUNBQXFDO2dCQUNyQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ3hELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBRWxDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO3dCQUNmLEdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztxQkFDdkM7aUJBQ0o7Z0JBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3pCO1lBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQTtnQkFDVCxPQUFPO29CQUNILEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzFGLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzFGLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzFGLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzFGLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzFGLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7aUJBQy9GLENBQUM7YUFDTDtZQUNELEtBQUssZ0JBQWdCLENBQUMsQ0FBQTtnQkFDbEIsT0FBTztvQkFDSCxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzdHLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsK0JBQStCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDakgsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2lCQUNqSCxDQUFDO2FBQ0w7WUFDRCxLQUFLLG1CQUFtQixDQUFDLENBQUE7Z0JBQ3JCLE9BQU87b0JBQ0gsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDM0UsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtpQkFDaEYsQ0FBQzthQUNMO1lBQ0QsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNyQixPQUFPO29CQUNILEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQzdFLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ2hGLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7aUJBQ2hGLENBQUM7YUFDTDtZQUNELEtBQUssYUFBYSxDQUFDLENBQUE7Z0JBQ2YsT0FBTztvQkFDSCxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQ2hILEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDMUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2lCQUNqSCxDQUFBO2FBQ0o7WUFDRCxLQUFLLGFBQWEsQ0FBQyxDQUFBO2dCQUNmLE9BQU87b0JBQ0gsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUM3RyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7b0JBQy9HLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtpQkFDNUcsQ0FBQzthQUNMO1lBQ0QsS0FBSyxTQUFTLENBQUMsQ0FBQTtnQkFDWCxPQUFPO29CQUNILEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDdEcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2lCQUMzRyxDQUFDO2FBQ0w7WUFFRCxPQUFPLENBQUMsQ0FBQztnQkFDTCxPQUFPLEVBQUUsQ0FBQzthQUNiO1NBQ0o7SUFDTCxDQUFDOzswSEE3SVEsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsNlZDWDFDLHNsQkFTQTsyRkRFYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0ksNEJBQTRCO3VHQU03QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQWFOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFBlcFNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcEJ1dHRvbkNsaWNrRXZlbnQsIFBlcEJ1dHRvbiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBQZXBHcm91cGJ1dHRvbnNUeXBlcyB9IGZyb20gJy4vZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWdyb3VwLWJ1dHRvbnMtc2V0dGluZ3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBCdXR0b25zU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgaGVhZGVyID0gJyc7XG4gICAgQElucHV0KCkgc3ViSGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKSBncm91cFR5cGU6IFBlcEdyb3VwYnV0dG9uc1R5cGVzID0gJ3NpemVzJzsgXG4gICAgQElucHV0KCkgYnRuc0FycmF5OiBBcnJheTxQZXBCdXR0b24+ID0gW107XG4gICAgQElucHV0KCkgZXhjbHVkZUtleXM6IEFycmF5PHN0cmluZz4gPSBbXTsgLy8gZm9yIGV4YW1wbGUgWyd4cycsJ3hsJ11cblxuICAgIEBJbnB1dCgpIHVzZU5vbmUgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpcjogJ3J0bCcgfCAnbHRyJyA9ICdsdHInO1xuICAgIEBJbnB1dCgpIHRpdGxlU2l6ZTogUGVwU2l6ZVR5cGUgPSAneGwnO1xuICAgIEBJbnB1dCgpIGJvbGQgPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBfYnRuS2V5OiBhbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgYnRuS2V5KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fYnRuS2V5ID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9idG5LZXkgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgYnRuS2V5KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9idG5LZXk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgYnRua2V5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIFxuICAgIFxuICAgIG5vbmU6IFBlcEJ1dHRvbiA9IHtrZXk6ICdub25lJ307XG4gICAgXG4gICAgc2l6ZXM6IEFycmF5PFBlcEJ1dHRvbj4gPSBbXTtcbiAgICBkZWZhdWx0Q2FsbGJhY2sgPSAoZXZlbnQ6IElQZXBCdXR0b25DbGlja0V2ZW50KSA9PiB0aGlzLm9uS2V5Q2hhbmdlKGV2ZW50KTtcblxuICAgIC8vIHBlcEI6IFBlcFNpemVUeXBlIHwgJ25vbmUnID0gXCJ4c1wiO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQgeyBcbiAgICAgICAgLy8gR2V0IHRoZSBmaXJzdCB0cmFuc2xhdGlvbiBmb3IgbG9hZCBhbGwgdHJhbnNsYXRpb25zLlxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0dFTkVSQUwuTk9ORScpLnN1YnNjcmliZSgocmVzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5vbmUgPSB7IGtleTogJ25vbmUnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5OT05FJyksIGNhbGxiYWNrOiAoKSA9PiB0aGlzLm9uS2V5Q2hhbmdlKG51bGwpIH07XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuYXJyYXlNZXJnZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhcnJheU1lcmdlKCl7XG5cbiAgICAgICAgdGhpcy5idG5zQXJyYXkgPSB0aGlzLmdldEJ1dHRvbnNBcnJheSgpO1xuICAgICAgICBcbiAgICAgICAgLy8gY2hlY2sgaWYgbmVlZCB0byByZW1vdmUgaXRlbXMgZnJvbSB0aGUgYnV0dG9ucyBhcnJheVxuICAgICAgICBpZih0aGlzLmV4Y2x1ZGVLZXlzKXtcbiAgICAgICAgICAgIHRoaXMuYnRuc0FycmF5ID0gdGhpcy5idG5zQXJyYXkuZmlsdGVyKGkgPT4gIXRoaXMuZXhjbHVkZUtleXMuZmluZChmID0+IGYgPT09IGkua2V5KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgaWYgbmVlZCB0byBhZGQgdGhlIE5vbmUgYnV0dG9uXG4gICAgICAgIGlmKHRoaXMudXNlTm9uZSl7XG4gICAgICAgICAgICB0aGlzLmJ0bnNBcnJheSA9IFt0aGlzLm5vbmVdLmNvbmNhdCh0aGlzLmJ0bnNBcnJheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleUNoYW5nZShldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuYnRuS2V5ID0gZXZlbnQ/LnNvdXJjZT8ua2V5IHx8ICdub25lJztcbiAgICAgICAgdGhpcy5idG5rZXlDaGFuZ2UuZW1pdCh0aGlzLmJ0bktleSk7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uc0FycmF5KCkge1xuICAgICAgICBzd2l0Y2godGhpcy5ncm91cFR5cGUpe1xuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzp7XG4gICAgICAgICAgICAgICAgLy8gU2V0IGRlZmF1bHQgY2FsbGJhY2sgaWYgbm90IGV4aXN0LlxuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmJ0bnNBcnJheS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYnRuID0gdGhpcy5idG5zQXJyYXlbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFidG4uY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5jYWxsYmFjayA9IHRoaXMuZGVmYXVsdENhbGxiYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnRuc0FycmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnc2l6ZXMnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3hzJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuWFMnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnc20nLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5TTScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdtZCcsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLk1EJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2xnJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuTEcnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAneGwnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5YTCcpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICcyeGwnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5YWEwnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAndmVydGljYWwtYWxpZ24nOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3N0YXJ0JywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuVkVSVElDQUxfQUxJR04uVE9QJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ21pZGRsZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLlZFUlRJQ0FMX0FMSUdOLk1JRERMRScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdlbmQnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5WRVJUSUNBTF9BTElHTi5CT1RUT00nKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbGVmdC1yaWdodC1hcnJvd3MnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2xlZnQnLCBpY29uTmFtZTogJ2Fycm93X2xlZnRfYWx0JywgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAncmlnaHQnLCBpY29uTmFtZTogJ2Fycm93X3JpZ2h0X2FsdCcsIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwtYWxpZ24nOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdsZWZ0JywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX3JpZ2h0JywgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnY2VudGVyJywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX2NlbnRlcicsIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3JpZ2h0JywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX2xlZnQnLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZm9udC13ZWlnaHQnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3JlZ3VsYXInLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5GT05UX1dFSUdIVC5SRUdVTEFSJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2JvbGQnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5GT05UX1dFSUdIVC5CT0xEJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2JvbGRlcicsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkZPTlRfV0VJR0hULkJPTERFUicpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3dpZHRoLXNpemVzJzp7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICduYXJyb3cnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5XSURUSF9TSVpFLk5BUlJPVycpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdyZWd1bGFyJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuV0lEVEhfU0laRS5SRUdVTEFSJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3dpZGUnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5XSURUSF9TSVpFLldJREUnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6e1xuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAndHJ1ZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkJPT0xFQU4uVFJVRScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdmYWxzZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkJPT0xFQU4uRkFMU0UnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwiaGVhZGVyICE9ICcnXCIgY2xhc3M9XCJib2R5LXt7dGl0bGVTaXplfX0ge3tib2xkID8gJ2JvbGQnIDogJyd9fSBlbGxpcHNpc1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+e3toZWFkZXJ9fTwvbGFiZWw+XG48cGVwLWZpZWxkLXRpdGxlICpuZ0lmPVwic3ViSGVhZGVyICE9JydcIiBbbGFiZWxdPVwic3ViSGVhZGVyXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3hBbGlnbm1lbnRdPVwiZGlyID09PSAncnRsJyA/ICdyaWdodCcgOiAnbGVmdCdcIj48L3BlcC1maWVsZC10aXRsZT5cbjxwZXAtZ3JvdXAtYnV0dG9ucyBbYnV0dG9uc109XCJidG5zQXJyYXlcIiBcbiAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRCdXR0b25LZXldPVwiYnRuS2V5XCIgXG4gICAgICAgICAgICAgICAgICAgW3N0cmV0Y2hdPVwidHJ1ZVwiIFxuICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNDbGFzcz1cIm1kIHJlZ3VsYXJcIiBcbiAgICAgICAgICAgICAgICAgICBbYnV0dG9uc0Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgICAgICAgICAgICAgICAgdmlld1R5cGU9XCJ0b2dnbGVcIj5cbjwvcGVwLWdyb3VwLWJ1dHRvbnM+XG4iXX0=
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tcG9zaXRlLWxpYi9ncm91cC1idXR0b25zLXNldHRpbmdzL2dyb3VwLWJ1dHRvbnMtc2V0dGluZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVcvRSxNQUFNLE9BQU8sNkJBQTZCO0lBaUR0QyxxQ0FBcUM7SUFFckMsWUFDWSxTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQWxEOUIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixjQUFTLEdBQXlCLE9BQU8sQ0FBQztRQUMxQyxjQUFTLEdBQXFCLEVBQUUsQ0FBQztRQUVsQyxpQkFBWSxHQUFrQixFQUFFLENBQUM7UUFhaEMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFNBQUksR0FBRyxJQUFJLENBQUM7UUFnQnJCLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHaEUsU0FBSSxHQUFjLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBQyxDQUFDO1FBRWhDLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBQzdCLG9CQUFlLEdBQUcsQ0FBQyxLQUEyQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FB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LEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtpQkFDM0csQ0FBQzthQUNMO1lBRUQsT0FBTyxDQUFDLENBQUM7Z0JBQ0wsT0FBTyxFQUFFLENBQUM7YUFDYjtTQUNKO0lBQ0wsQ0FBQzs7MEhBekpRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDZWQ1gxQyxzbEJBU0E7MkZERWEsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNJLDRCQUE0Qjt1R0FNN0IsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlGLFdBQVc7c0JBRGQsS0FBSztnQkFZRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBSUYsTUFBTTtzQkFEVCxLQUFLO2dCQWFOLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFBlcFNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgSVBlcEJ1dHRvbkNsaWNrRXZlbnQsIFBlcEJ1dHRvbiB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2J1dHRvbic7XG5pbXBvcnQgeyBQZXBHcm91cGJ1dHRvbnNUeXBlcyB9IGZyb20gJy4vZ3JvdXAtYnV0dG9ucy1zZXR0aW5ncy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWdyb3VwLWJ1dHRvbnMtc2V0dGluZ3MnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9ncm91cC1idXR0b25zLXNldHRpbmdzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBCdXR0b25zU2V0dGluZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQElucHV0KCkgaGVhZGVyID0gJyc7XG4gICAgQElucHV0KCkgc3ViSGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKSBncm91cFR5cGU6IFBlcEdyb3VwYnV0dG9uc1R5cGVzID0gJ3NpemVzJzsgXG4gICAgQElucHV0KCkgYnRuc0FycmF5OiBBcnJheTxQZXBCdXR0b24+ID0gW107XG4gICAgXG4gICAgcHJpdmF0ZSBfZXhjbHVkZUtleXM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBleGNsdWRlS2V5cyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgICAgICB0aGlzLl9leGNsdWRlS2V5cyA9IHZhbHVlIHx8IFtdO1xuICAgICAgICAvLyBUcmlnZ2VyIGFycmF5IHJlYnVpbGQgd2hlbiBleGNsdWRlS2V5cyBjaGFuZ2VzXG4gICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZSkgeyAvLyBPbmx5IGlmIGNvbXBvbmVudCBpcyBpbml0aWFsaXplZFxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFycmF5TWVyZ2UoKSwgMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGV4Y2x1ZGVLZXlzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhjbHVkZUtleXM7XG4gICAgfVxuXG4gICAgQElucHV0KCkgdXNlTm9uZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgZGlyOiAncnRsJyB8ICdsdHInID0gJ2x0cic7XG4gICAgQElucHV0KCkgdGl0bGVTaXplOiBQZXBTaXplVHlwZSA9ICd4bCc7XG4gICAgQElucHV0KCkgYm9sZCA9IHRydWU7XG5cbiAgICBwcml2YXRlIF9idG5LZXk6IGFueTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBidG5LZXkodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9idG5LZXkgPSAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2J0bktleSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBidG5LZXkoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2J0bktleTtcbiAgICB9XG5cbiAgICBAT3V0cHV0KClcbiAgICBidG5rZXlDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgXG4gICAgXG4gICAgbm9uZTogUGVwQnV0dG9uID0ge2tleTogJ25vbmUnfTtcbiAgICBcbiAgICBzaXplczogQXJyYXk8UGVwQnV0dG9uPiA9IFtdO1xuICAgIGRlZmF1bHRDYWxsYmFjayA9IChldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQpID0+IHRoaXMub25LZXlDaGFuZ2UoZXZlbnQpO1xuXG4gICAgLy8gcGVwQjogUGVwU2l6ZVR5cGUgfCAnbm9uZScgPSBcInhzXCI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7IFxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIGZvciBsb2FkIGFsbCB0cmFuc2xhdGlvbnMuXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnR0VORVJBTC5OT05FJykuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMubm9uZSA9IHsga2V5OiAnbm9uZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLk5PTkUnKSwgY2FsbGJhY2s6ICgpID0+IHRoaXMub25LZXlDaGFuZ2UobnVsbCkgfTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5hcnJheU1lcmdlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhcnJheU1lcmdlKCl7XG5cbiAgICAgICAgdGhpcy5idG5zQXJyYXkgPSB0aGlzLmdldEJ1dHRvbnNBcnJheSgpO1xuICAgICAgICBcbiAgICAgICAgLy8gY2hlY2sgaWYgbmVlZCB0byByZW1vdmUgaXRlbXMgZnJvbSB0aGUgYnV0dG9ucyBhcnJheVxuICAgICAgICBpZih0aGlzLmV4Y2x1ZGVLZXlzKXtcbiAgICAgICAgICAgIHRoaXMuYnRuc0FycmF5ID0gdGhpcy5idG5zQXJyYXkuZmlsdGVyKGkgPT4gIXRoaXMuZXhjbHVkZUtleXMuZmluZChmID0+IGYgPT09IGkua2V5KSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY2hlY2sgaWYgbmVlZCB0byBhZGQgdGhlIE5vbmUgYnV0dG9uXG4gICAgICAgIGlmKHRoaXMudXNlTm9uZSl7XG4gICAgICAgICAgICB0aGlzLmJ0bnNBcnJheSA9IFt0aGlzLm5vbmVdLmNvbmNhdCh0aGlzLmJ0bnNBcnJheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbktleUNoYW5nZShldmVudDogSVBlcEJ1dHRvbkNsaWNrRXZlbnQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuYnRuS2V5ID0gZXZlbnQ/LnNvdXJjZT8ua2V5IHx8ICdub25lJztcbiAgICAgICAgdGhpcy5idG5rZXlDaGFuZ2UuZW1pdCh0aGlzLmJ0bktleSk7XG4gICAgfVxuXG4gICAgZ2V0QnV0dG9uc0FycmF5KCkge1xuICAgICAgICBzd2l0Y2godGhpcy5ncm91cFR5cGUpe1xuICAgICAgICAgICAgY2FzZSAnY3VzdG9tJzp7XG4gICAgICAgICAgICAgICAgLy8gU2V0IGRlZmF1bHQgY2FsbGJhY2sgaWYgbm90IGV4aXN0LlxuICAgICAgICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0aGlzLmJ0bnNBcnJheS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYnRuID0gdGhpcy5idG5zQXJyYXlbaW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFidG4uY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ0bi5jYWxsYmFjayA9IHRoaXMuZGVmYXVsdENhbGxiYWNrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnRuc0FycmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnc2l6ZXMnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3hzJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuWFMnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnc20nLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5TTScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdtZCcsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLk1EJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2xnJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuTEcnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAneGwnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5YTCcpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICcyeGwnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5YWEwnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAndmVydGljYWwtYWxpZ24nOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3N0YXJ0JywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuVkVSVElDQUxfQUxJR04uVE9QJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ21pZGRsZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLlZFUlRJQ0FMX0FMSUdOLk1JRERMRScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdlbmQnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5WRVJUSUNBTF9BTElHTi5CT1RUT00nKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbGVmdC1yaWdodC1hcnJvd3MnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2xlZnQnLCBpY29uTmFtZTogJ2Fycm93X2xlZnRfYWx0JywgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAncmlnaHQnLCBpY29uTmFtZTogJ2Fycm93X3JpZ2h0X2FsdCcsIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2hvcml6b250YWwtYWxpZ24nOiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdsZWZ0JywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX3JpZ2h0JywgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH0sXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnY2VudGVyJywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX2NlbnRlcicsIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3JpZ2h0JywgaWNvbk5hbWU6ICd0ZXh0X2FsaWduX2xlZnQnLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnZm9udC13ZWlnaHQnOntcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3JlZ3VsYXInLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5GT05UX1dFSUdIVC5SRUdVTEFSJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2JvbGQnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5GT05UX1dFSUdIVC5CT0xEJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ2JvbGRlcicsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkZPTlRfV0VJR0hULkJPTERFUicpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ3dpZHRoLXNpemVzJzp7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICduYXJyb3cnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5XSURUSF9TSVpFLk5BUlJPVycpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdyZWd1bGFyJywgdmFsdWU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0dFTkVSQUwuV0lEVEhfU0laRS5SRUdVTEFSJyksIGNhbGxiYWNrOiB0aGlzLmRlZmF1bHRDYWxsYmFjayB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ3dpZGUnLCB2YWx1ZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnR0VORVJBTC5XSURUSF9TSVpFLldJREUnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6e1xuICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAndHJ1ZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkJPT0xFQU4uVFJVRScpLCBjYWxsYmFjazogdGhpcy5kZWZhdWx0Q2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdmYWxzZScsIHZhbHVlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdHRU5FUkFMLkJPT0xFQU4uRkFMU0UnKSwgY2FsbGJhY2s6IHRoaXMuZGVmYXVsdENhbGxiYWNrIH1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGxhYmVsICpuZ0lmPVwiaGVhZGVyICE9ICcnXCIgY2xhc3M9XCJib2R5LXt7dGl0bGVTaXplfX0ge3tib2xkID8gJ2JvbGQnIDogJyd9fSBlbGxpcHNpc1wiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+e3toZWFkZXJ9fTwvbGFiZWw+XG48cGVwLWZpZWxkLXRpdGxlICpuZ0lmPVwic3ViSGVhZGVyICE9JydcIiBbbGFiZWxdPVwic3ViSGVhZGVyXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3hBbGlnbm1lbnRdPVwiZGlyID09PSAncnRsJyA/ICdyaWdodCcgOiAnbGVmdCdcIj48L3BlcC1maWVsZC10aXRsZT5cbjxwZXAtZ3JvdXAtYnV0dG9ucyBbYnV0dG9uc109XCJidG5zQXJyYXlcIiBcbiAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRCdXR0b25LZXldPVwiYnRuS2V5XCIgXG4gICAgICAgICAgICAgICAgICAgW3N0cmV0Y2hdPVwidHJ1ZVwiIFxuICAgICAgICAgICAgICAgICAgIGJ1dHRvbnNDbGFzcz1cIm1kIHJlZ3VsYXJcIiBcbiAgICAgICAgICAgICAgICAgICBbYnV0dG9uc0Rpc2FibGVkXT1cImRpc2FibGVkXCIgXG4gICAgICAgICAgICAgICAgICAgdmlld1R5cGU9XCJ0b2dnbGVcIj5cbjwvcGVwLWdyb3VwLWJ1dHRvbnM+XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Inject, Output, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Optional, Inject, Output, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/material/snack-bar';
@@ -14,33 +14,114 @@ import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
14
14
  import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
15
15
 
16
16
  class FileStatusPanelComponent {
17
- constructor(data, snackBarRef) {
17
+ constructor(data, snackBarRef, snackBar, cdr) {
18
18
  this.data = data;
19
19
  this.snackBarRef = snackBarRef;
20
+ this.snackBar = snackBar;
21
+ this.cdr = cdr;
20
22
  // @Input() title = '';
21
23
  // @Input() filesList: Array<FileStatus> = [];
22
24
  this.closeClick = new EventEmitter();
25
+ this._openAsSnackBar = false;
26
+ this._opened = false;
27
+ this._pendingOpen = false;
23
28
  //
24
29
  }
30
+ set panelData(val) {
31
+ if (val) {
32
+ if (!val.content || !Array.isArray(val.content)) {
33
+ val.content = [];
34
+ }
35
+ this.data = val;
36
+ // Trigger change detection when used as Angular Element
37
+ try {
38
+ this.cdr.detectChanges();
39
+ }
40
+ catch (_a) { }
41
+ this.openIfRequested();
42
+ }
43
+ }
44
+ set openAsSnackBar(val) {
45
+ this._openAsSnackBar = !!val;
46
+ if (this._openAsSnackBar) {
47
+ if (this._opened) {
48
+ // If already open, dismiss and re-open after dismissed
49
+ this._pendingOpen = true;
50
+ this.dismissIfOpen();
51
+ }
52
+ else {
53
+ this.openIfRequested();
54
+ }
55
+ }
56
+ else {
57
+ this.dismissIfOpen();
58
+ }
59
+ }
25
60
  ngOnInit() {
26
- //
61
+ var _a;
62
+ if (!this.data || !Array.isArray(this.data.content)) {
63
+ this.data = Object.assign(Object.assign({}, this.data), { content: [] });
64
+ }
65
+ // Provide a safe object for the template binding when not opened as snackbar
66
+ this.snackBarRefInput = (_a = this.snackBarRef) !== null && _a !== void 0 ? _a : { dismiss: () => { } };
67
+ this.openIfRequested();
27
68
  }
28
69
  onCloseClicked(event) {
70
+ var _a;
71
+ try {
72
+ (_a = this.snackBarRef) === null || _a === void 0 ? void 0 : _a.dismiss();
73
+ }
74
+ catch (_b) { }
29
75
  this.closeClick.emit();
30
76
  }
77
+ openIfRequested() {
78
+ if (this._openAsSnackBar && !this._opened && this.data && Array.isArray(this.data.content)) {
79
+ this._opened = true;
80
+ this._snackRef = this.snackBar.openFromComponent(FileStatusPanelComponent, {
81
+ data: this.data,
82
+ });
83
+ this._snackRef.afterDismissed().subscribe(() => {
84
+ this._opened = false;
85
+ if (this._pendingOpen) {
86
+ this._pendingOpen = false;
87
+ // Re-open with current data (requested via setter while open)
88
+ this.openIfRequested();
89
+ }
90
+ });
91
+ }
92
+ }
93
+ dismissIfOpen() {
94
+ var _a;
95
+ try {
96
+ (_a = this._snackRef) === null || _a === void 0 ? void 0 : _a.dismiss();
97
+ }
98
+ catch (_b) { }
99
+ this._opened = false;
100
+ }
31
101
  }
32
- FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component });
33
- FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
102
+ FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA, optional: true }, { token: MatSnackBarRef, optional: true }, { token: i1.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
103
+ FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { panelData: "panelData", openAsSnackBar: "openAsSnackBar" }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
34
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
35
105
  type: Component,
36
- args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
106
+ args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
37
107
  }], ctorParameters: function () {
38
- return [{ type: i4.PepSnackBarData, decorators: [{
108
+ return [{ type: undefined, decorators: [{
109
+ type: Optional
110
+ }, {
39
111
  type: Inject,
40
112
  args: [MAT_SNACK_BAR_DATA]
41
- }] }, { type: i1.MatSnackBarRef }];
113
+ }] }, { type: undefined, decorators: [{
114
+ type: Optional
115
+ }, {
116
+ type: Inject,
117
+ args: [MatSnackBarRef]
118
+ }] }, { type: i1.MatSnackBar }, { type: i0.ChangeDetectorRef }];
42
119
  }, propDecorators: { closeClick: [{
43
120
  type: Output
121
+ }], panelData: [{
122
+ type: Input
123
+ }], openAsSnackBar: [{
124
+ type: Input
44
125
  }] } });
45
126
 
46
127
  const pepIcons = [
@@ -60,16 +141,7 @@ PepFileStatusPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0"
60
141
  PepIconModule,
61
142
  PepDialogModule,
62
143
  PepSnackBarModule], exports: [FileStatusPanelComponent] });
63
- PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, providers: [
64
- {
65
- provide: MatSnackBarRef,
66
- useValue: {}
67
- },
68
- {
69
- provide: MAT_SNACK_BAR_DATA,
70
- useValue: {} // Add any data you wish to test if it is passed/used correctly
71
- }
72
- ], imports: [CommonModule,
144
+ PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, imports: [CommonModule,
73
145
  PepTopBarModule,
74
146
  PepTextboxModule,
75
147
  PepButtonModule,
@@ -91,17 +163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
91
163
  PepDialogModule,
92
164
  PepSnackBarModule
93
165
  ],
94
- exports: [FileStatusPanelComponent],
95
- providers: [
96
- {
97
- provide: MatSnackBarRef,
98
- useValue: {}
99
- },
100
- {
101
- provide: MAT_SNACK_BAR_DATA,
102
- useValue: {} // Add any data you wish to test if it is passed/used correctly
103
- }
104
- ]
166
+ exports: [FileStatusPanelComponent]
105
167
  }]
106
168
  }], ctorParameters: function () { return [{ type: i1$1.PepIconRegistry }]; } });
107
169
 
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.mjs","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSnackBarData } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n // @Input() title = '';\n // @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n constructor(\n @Inject(MAT_SNACK_BAR_DATA) public data: PepSnackBarData,\n public snackBarRef: MatSnackBarRef<FileStatusPanelComponent>\n ) {\n //\n }\n\n ngOnInit() {\n //\n }\n\n onCloseClicked(event: any): void {\n this.closeClick.emit();\n }\n\n\n}","<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule, PepIconRegistry, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\nconst pepIcons = [\n pepIconArrowRightAlt,\n]\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n PepSnackBarModule\n ],\n exports: [FileStatusPanelComponent],\n providers:[\n {\n provide: MatSnackBarRef,\n useValue: {}\n }, \n {\n provide: MAT_SNACK_BAR_DATA,\n useValue: {} // Add any data you wish to test if it is passed/used correctly\n }\n ]\n})\n\nexport class PepFileStatusPanelModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.mjs","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject, ChangeDetectorRef } from '@angular/core';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSnackBarData } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n // @Input() title = '';\n // @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n @Input()\n set panelData(val: PepSnackBarData | undefined) {\n if (val) {\n if (!(val as any).content || !Array.isArray((val as any).content)) {\n (val as any).content = [];\n }\n this.data = val;\n // Trigger change detection when used as Angular Element\n try { this.cdr.detectChanges(); } catch {}\n this.openIfRequested();\n }\n }\n\n @Input()\n set openAsSnackBar(val: boolean | undefined) {\n this._openAsSnackBar = !!val;\n if (this._openAsSnackBar) {\n if (this._opened) {\n // If already open, dismiss and re-open after dismissed\n this._pendingOpen = true;\n this.dismissIfOpen();\n } else {\n this.openIfRequested();\n }\n } else {\n this.dismissIfOpen();\n }\n }\n\n private _openAsSnackBar = false;\n private _opened = false;\n private _snackRef?: MatSnackBarRef<FileStatusPanelComponent>;\n private _pendingOpen = false;\n // Used only for template binding to satisfy strict template typing\n snackBarRefInput: any;\n \n constructor(\n @Optional() @Inject(MAT_SNACK_BAR_DATA) public data: PepSnackBarData | undefined,\n @Optional() @Inject(MatSnackBarRef) public snackBarRef: MatSnackBarRef<FileStatusPanelComponent> | undefined,\n private snackBar: MatSnackBar,\n private cdr: ChangeDetectorRef\n ) {\n //\n }\n\n ngOnInit() {\n if (!this.data || !Array.isArray((this.data as any).content)) {\n this.data = ({ ...(this.data as any), content: [] } as any);\n }\n // Provide a safe object for the template binding when not opened as snackbar\n this.snackBarRefInput = this.snackBarRef ?? { dismiss: () => {} };\n this.openIfRequested();\n }\n\n onCloseClicked(event: any): void {\n try { this.snackBarRef?.dismiss(); } catch {}\n this.closeClick.emit();\n }\n\n private openIfRequested(): void {\n if (this._openAsSnackBar && !this._opened && this.data && Array.isArray((this.data as any).content)) {\n this._opened = true;\n this._snackRef = this.snackBar.openFromComponent(FileStatusPanelComponent, {\n data: this.data,\n });\n this._snackRef.afterDismissed().subscribe(() => {\n this._opened = false;\n if (this._pendingOpen) {\n this._pendingOpen = false;\n // Re-open with current data (requested via setter while open)\n this.openIfRequested();\n }\n });\n }\n }\n\n private dismissIfOpen(): void {\n try {\n this._snackRef?.dismiss();\n } catch {}\n this._opened = false;\n }\n\n\n}","<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule, PepIconRegistry, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\nconst pepIcons = [\n pepIconArrowRightAlt,\n]\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n PepSnackBarModule\n ],\n exports: [FileStatusPanelComponent]\n})\n\nexport class PepFileStatusPanelModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1"],"mappings":"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"}
@@ -19,7 +19,7 @@ class GroupButtonsSettingsComponent {
19
19
  this.subHeader = '';
20
20
  this.groupType = 'sizes';
21
21
  this.btnsArray = [];
22
- this.excludeKeys = []; // for example ['xs','xl']
22
+ this._excludeKeys = [];
23
23
  this.useNone = false;
24
24
  this.disabled = false;
25
25
  this.dir = 'ltr';
@@ -30,6 +30,16 @@ class GroupButtonsSettingsComponent {
30
30
  this.sizes = [];
31
31
  this.defaultCallback = (event) => this.onKeyChange(event);
32
32
  }
33
+ set excludeKeys(value) {
34
+ this._excludeKeys = value || [];
35
+ // Trigger array rebuild when excludeKeys changes
36
+ if (this.translate) { // Only if component is initialized
37
+ setTimeout(() => this.arrayMerge(), 0);
38
+ }
39
+ }
40
+ get excludeKeys() {
41
+ return this._excludeKeys;
42
+ }
33
43
  set btnKey(value) {
34
44
  if (!value) {
35
45
  this._btnKey = '';
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs","sources":["../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.ts","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.html","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.module.ts","../../../projects/ngx-composite-lib/group-buttons-settings/public-api.ts","../../../projects/ngx-composite-lib/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSizeType } from '@pepperi-addons/ngx-lib';\nimport { IPepButtonClickEvent, PepButton } from '@pepperi-addons/ngx-lib/button';\nimport { PepGroupbuttonsTypes } from './group-buttons-settings.model';\n\n@Component({\n selector: 'pep-group-buttons-settings',\n templateUrl: './group-buttons-settings.component.html',\n styleUrls: ['./group-buttons-settings.component.scss']\n})\nexport class GroupButtonsSettingsComponent implements OnInit {\n\n @Input() header = '';\n @Input() subHeader = '';\n\n @Input() groupType: PepGroupbuttonsTypes = 'sizes'; \n @Input() btnsArray: Array<PepButton> = [];\n @Input() excludeKeys: Array<string> = []; // for example ['xs','xl']\n\n @Input() useNone = false;\n @Input() disabled = false;\n @Input() dir: 'rtl' | 'ltr' = 'ltr';\n @Input() titleSize: PepSizeType = 'xl';\n @Input() bold = true;\n\n private _btnKey: any;\n @Input()\n set btnKey(value: any) {\n if (!value) {\n this._btnKey = '';\n } else {\n this._btnKey = value;\n }\n }\n get btnKey(): any {\n return this._btnKey;\n }\n\n @Output()\n btnkeyChange: EventEmitter<string> = new EventEmitter<string>();\n \n \n none: PepButton = {key: 'none'};\n \n sizes: Array<PepButton> = [];\n defaultCallback = (event: IPepButtonClickEvent) => this.onKeyChange(event);\n\n // pepB: PepSizeType | 'none' = \"xs\";\n\n constructor(\n private translate: TranslateService,\n ) {\n }\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('GENERAL.NONE').subscribe((res) => {\n this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };\n \n this.arrayMerge();\n });\n }\n\n arrayMerge(){\n\n this.btnsArray = this.getButtonsArray();\n \n // check if need to remove items from the buttons array\n if(this.excludeKeys){\n this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));\n }\n // check if need to add the None button\n if(this.useNone){\n this.btnsArray = [this.none].concat(this.btnsArray);\n }\n }\n\n onKeyChange(event: IPepButtonClickEvent | null) {\n this.btnKey = event?.source?.key || 'none';\n this.btnkeyChange.emit(this.btnKey);\n }\n\n getButtonsArray() {\n switch(this.groupType){\n case 'custom':{\n // Set default callback if not exist.\n for (let index = 0; index < this.btnsArray.length; index++) {\n const btn = this.btnsArray[index];\n \n if (!btn.callback) {\n btn.callback = this.defaultCallback;\n }\n }\n\n return this.btnsArray;\n }\n case 'sizes':{\n return [\n { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: this.defaultCallback },\n { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: this.defaultCallback },\n { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: this.defaultCallback },\n { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: this.defaultCallback },\n { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: this.defaultCallback },\n { key: '2xl', value: this.translate.instant('GENERAL.XXL'), callback: this.defaultCallback }\n ];\n }\n case 'vertical-align':{\n return [\n { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: this.defaultCallback },\n { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: this.defaultCallback },\n { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: this.defaultCallback }\n ];\n }\n case 'left-right-arrows':{\n return [\n { key: 'left', iconName: 'arrow_left_alt', callback: this.defaultCallback },\n { key: 'right', iconName: 'arrow_right_alt', callback: this.defaultCallback }\n ];\n }\n case 'horizontal-align': {\n return [\n { key: 'left', iconName: 'text_align_right', callback: this.defaultCallback },\n { key: 'center', iconName: 'text_align_center', callback: this.defaultCallback },\n { key: 'right', iconName: 'text_align_left', callback: this.defaultCallback },\n ];\n }\n case 'font-weight':{\n return [\n { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: this.defaultCallback },\n { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: this.defaultCallback },\n { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: this.defaultCallback }\n ]\n }\n case 'width-sizes':{\n return [\n { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: this.defaultCallback },\n { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: this.defaultCallback },\n { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: this.defaultCallback }\n ];\n }\n case 'boolean':{\n return [\n { key: 'true', value: this.translate.instant('GENERAL.BOOLEAN.TRUE'), callback: this.defaultCallback },\n { key: 'false', value: this.translate.instant('GENERAL.BOOLEAN.FALSE'), callback: this.defaultCallback }\n ];\n }\n\n default: {\n return [];\n }\n }\n }\n}\n","<label *ngIf=\"header != ''\" class=\"body-{{titleSize}} {{bold ? 'bold' : ''}} ellipsis\" style=\"display: block;\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupButtonsSettingsComponent } from './group-buttons-settings.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\nimport { pepIconArrowLeftAlt, pepIconArrowRightAlt, PepIconModule, PepIconRegistry, pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight } from '@pepperi-addons/ngx-lib/icon';\n\nconst pepIcons = [\n pepIconTextAlignCenter, \n pepIconTextAlignLeft, \n pepIconTextAlignRight,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt\n]\n\n@NgModule({\n declarations: [\n GroupButtonsSettingsComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n PepIconModule\n ],\n exports: [GroupButtonsSettingsComponent]\n})\nexport class PepGroupButtonsSettingsModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/group-buttons-settings\n */\nexport * from './group-buttons-settings.module';\nexport * from './group-buttons-settings.component';\nexport * from './group-buttons-settings.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs","sources":["../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.ts","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.html","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.module.ts","../../../projects/ngx-composite-lib/group-buttons-settings/public-api.ts","../../../projects/ngx-composite-lib/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSizeType } from '@pepperi-addons/ngx-lib';\nimport { IPepButtonClickEvent, PepButton } from '@pepperi-addons/ngx-lib/button';\nimport { PepGroupbuttonsTypes } from './group-buttons-settings.model';\n\n@Component({\n selector: 'pep-group-buttons-settings',\n templateUrl: './group-buttons-settings.component.html',\n styleUrls: ['./group-buttons-settings.component.scss']\n})\nexport class GroupButtonsSettingsComponent implements OnInit {\n\n @Input() header = '';\n @Input() subHeader = '';\n\n @Input() groupType: PepGroupbuttonsTypes = 'sizes'; \n @Input() btnsArray: Array<PepButton> = [];\n \n private _excludeKeys: Array<string> = [];\n @Input()\n set excludeKeys(value: Array<string>) {\n this._excludeKeys = value || [];\n // Trigger array rebuild when excludeKeys changes\n if (this.translate) { // Only if component is initialized\n setTimeout(() => this.arrayMerge(), 0);\n }\n }\n get excludeKeys(): Array<string> {\n return this._excludeKeys;\n }\n\n @Input() useNone = false;\n @Input() disabled = false;\n @Input() dir: 'rtl' | 'ltr' = 'ltr';\n @Input() titleSize: PepSizeType = 'xl';\n @Input() bold = true;\n\n private _btnKey: any;\n @Input()\n set btnKey(value: any) {\n if (!value) {\n this._btnKey = '';\n } else {\n this._btnKey = value;\n }\n }\n get btnKey(): any {\n return this._btnKey;\n }\n\n @Output()\n btnkeyChange: EventEmitter<string> = new EventEmitter<string>();\n \n \n none: PepButton = {key: 'none'};\n \n sizes: Array<PepButton> = [];\n defaultCallback = (event: IPepButtonClickEvent) => this.onKeyChange(event);\n\n // pepB: PepSizeType | 'none' = \"xs\";\n\n constructor(\n private translate: TranslateService,\n ) {\n }\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('GENERAL.NONE').subscribe((res) => {\n this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };\n \n this.arrayMerge();\n });\n }\n\n public arrayMerge(){\n\n this.btnsArray = this.getButtonsArray();\n \n // check if need to remove items from the buttons array\n if(this.excludeKeys){\n this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));\n }\n // check if need to add the None button\n if(this.useNone){\n this.btnsArray = [this.none].concat(this.btnsArray);\n }\n }\n\n onKeyChange(event: IPepButtonClickEvent | null) {\n this.btnKey = event?.source?.key || 'none';\n this.btnkeyChange.emit(this.btnKey);\n }\n\n getButtonsArray() {\n switch(this.groupType){\n case 'custom':{\n // Set default callback if not exist.\n for (let index = 0; index < this.btnsArray.length; index++) {\n const btn = this.btnsArray[index];\n \n if (!btn.callback) {\n btn.callback = this.defaultCallback;\n }\n }\n\n return this.btnsArray;\n }\n case 'sizes':{\n return [\n { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: this.defaultCallback },\n { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: this.defaultCallback },\n { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: this.defaultCallback },\n { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: this.defaultCallback },\n { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: this.defaultCallback },\n { key: '2xl', value: this.translate.instant('GENERAL.XXL'), callback: this.defaultCallback }\n ];\n }\n case 'vertical-align':{\n return [\n { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: this.defaultCallback },\n { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: this.defaultCallback },\n { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: this.defaultCallback }\n ];\n }\n case 'left-right-arrows':{\n return [\n { key: 'left', iconName: 'arrow_left_alt', callback: this.defaultCallback },\n { key: 'right', iconName: 'arrow_right_alt', callback: this.defaultCallback }\n ];\n }\n case 'horizontal-align': {\n return [\n { key: 'left', iconName: 'text_align_right', callback: this.defaultCallback },\n { key: 'center', iconName: 'text_align_center', callback: this.defaultCallback },\n { key: 'right', iconName: 'text_align_left', callback: this.defaultCallback },\n ];\n }\n case 'font-weight':{\n return [\n { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: this.defaultCallback },\n { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: this.defaultCallback },\n { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: this.defaultCallback }\n ]\n }\n case 'width-sizes':{\n return [\n { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: this.defaultCallback },\n { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: this.defaultCallback },\n { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: this.defaultCallback }\n ];\n }\n case 'boolean':{\n return [\n { key: 'true', value: this.translate.instant('GENERAL.BOOLEAN.TRUE'), callback: this.defaultCallback },\n { key: 'false', value: this.translate.instant('GENERAL.BOOLEAN.FALSE'), callback: this.defaultCallback }\n ];\n }\n\n default: {\n return [];\n }\n }\n }\n}\n","<label *ngIf=\"header != ''\" class=\"body-{{titleSize}} {{bold ? 'bold' : ''}} ellipsis\" style=\"display: block;\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupButtonsSettingsComponent } from './group-buttons-settings.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\nimport { pepIconArrowLeftAlt, pepIconArrowRightAlt, PepIconModule, PepIconRegistry, pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight } from '@pepperi-addons/ngx-lib/icon';\n\nconst pepIcons = [\n pepIconTextAlignCenter, \n pepIconTextAlignLeft, \n pepIconTextAlignRight,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt\n]\n\n@NgModule({\n declarations: [\n GroupButtonsSettingsComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n PepIconModule\n ],\n exports: [GroupButtonsSettingsComponent]\n})\nexport class PepGroupButtonsSettingsModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/group-buttons-settings\n */\nexport * from './group-buttons-settings.module';\nexport * from './group-buttons-settings.component';\nexport * from './group-buttons-settings.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Inject, Output, NgModule } from '@angular/core';
2
+ import { EventEmitter, Component, Optional, Inject, Output, Input, NgModule } from '@angular/core';
3
3
  import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/material/snack-bar';
@@ -14,31 +14,109 @@ import { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';
14
14
  import { PepButtonModule } from '@pepperi-addons/ngx-lib/button';
15
15
 
16
16
  class FileStatusPanelComponent {
17
- constructor(data, snackBarRef) {
17
+ constructor(data, snackBarRef, snackBar, cdr) {
18
18
  this.data = data;
19
19
  this.snackBarRef = snackBarRef;
20
+ this.snackBar = snackBar;
21
+ this.cdr = cdr;
20
22
  // @Input() title = '';
21
23
  // @Input() filesList: Array<FileStatus> = [];
22
24
  this.closeClick = new EventEmitter();
25
+ this._openAsSnackBar = false;
26
+ this._opened = false;
27
+ this._pendingOpen = false;
23
28
  //
24
29
  }
30
+ set panelData(val) {
31
+ if (val) {
32
+ if (!val.content || !Array.isArray(val.content)) {
33
+ val.content = [];
34
+ }
35
+ this.data = val;
36
+ // Trigger change detection when used as Angular Element
37
+ try {
38
+ this.cdr.detectChanges();
39
+ }
40
+ catch { }
41
+ this.openIfRequested();
42
+ }
43
+ }
44
+ set openAsSnackBar(val) {
45
+ this._openAsSnackBar = !!val;
46
+ if (this._openAsSnackBar) {
47
+ if (this._opened) {
48
+ // If already open, dismiss and re-open after dismissed
49
+ this._pendingOpen = true;
50
+ this.dismissIfOpen();
51
+ }
52
+ else {
53
+ this.openIfRequested();
54
+ }
55
+ }
56
+ else {
57
+ this.dismissIfOpen();
58
+ }
59
+ }
25
60
  ngOnInit() {
26
- //
61
+ if (!this.data || !Array.isArray(this.data.content)) {
62
+ this.data = { ...this.data, content: [] };
63
+ }
64
+ // Provide a safe object for the template binding when not opened as snackbar
65
+ this.snackBarRefInput = this.snackBarRef ?? { dismiss: () => { } };
66
+ this.openIfRequested();
27
67
  }
28
68
  onCloseClicked(event) {
69
+ try {
70
+ this.snackBarRef?.dismiss();
71
+ }
72
+ catch { }
29
73
  this.closeClick.emit();
30
74
  }
75
+ openIfRequested() {
76
+ if (this._openAsSnackBar && !this._opened && this.data && Array.isArray(this.data.content)) {
77
+ this._opened = true;
78
+ this._snackRef = this.snackBar.openFromComponent(FileStatusPanelComponent, {
79
+ data: this.data,
80
+ });
81
+ this._snackRef.afterDismissed().subscribe(() => {
82
+ this._opened = false;
83
+ if (this._pendingOpen) {
84
+ this._pendingOpen = false;
85
+ // Re-open with current data (requested via setter while open)
86
+ this.openIfRequested();
87
+ }
88
+ });
89
+ }
90
+ }
91
+ dismissIfOpen() {
92
+ try {
93
+ this._snackRef?.dismiss();
94
+ }
95
+ catch { }
96
+ this._opened = false;
97
+ }
31
98
  }
32
- FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i1.MatSnackBarRef }], target: i0.ɵɵFactoryTarget.Component });
33
- FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
99
+ FileStatusPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, deps: [{ token: MAT_SNACK_BAR_DATA, optional: true }, { token: MatSnackBarRef, optional: true }, { token: i1.MatSnackBar }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
100
+ FileStatusPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: FileStatusPanelComponent, selector: "pep-file-status-panel", inputs: { panelData: "panelData", openAsSnackBar: "openAsSnackBar" }, outputs: { closeClick: "closeClick" }, ngImport: i0, template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.PepIconComponent, selector: "pep-icon", inputs: ["spin", "name", "fill"] }, { kind: "component", type: i4.PepSnackBarComponent, selector: "pep-snack-bar", inputs: ["snackBarRef", "title"], outputs: ["closeClick"] }] });
34
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: FileStatusPanelComponent, decorators: [{
35
102
  type: Component,
36
- args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
37
- }], ctorParameters: function () { return [{ type: i4.PepSnackBarData, decorators: [{
103
+ args: [{ selector: 'pep-file-status-panel', template: "<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>", styles: [".upload-panel-contnainer .panel-content{max-height:50vh;overflow:auto}.upload-panel-contnainer .panel-content ul{list-style-type:none;padding:0}.upload-panel-contnainer .panel-content ul li{height:1.25rem;margin-top:.5rem;display:flex;flex-direction:row;align-items:center}.upload-panel-contnainer .panel-content ul li pep-icon{height:1rem}\n"] }]
104
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
105
+ type: Optional
106
+ }, {
38
107
  type: Inject,
39
108
  args: [MAT_SNACK_BAR_DATA]
40
- }] }, { type: i1.MatSnackBarRef }]; }, propDecorators: { closeClick: [{
109
+ }] }, { type: undefined, decorators: [{
110
+ type: Optional
111
+ }, {
112
+ type: Inject,
113
+ args: [MatSnackBarRef]
114
+ }] }, { type: i1.MatSnackBar }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { closeClick: [{
41
115
  type: Output
116
+ }], panelData: [{
117
+ type: Input
118
+ }], openAsSnackBar: [{
119
+ type: Input
42
120
  }] } });
43
121
 
44
122
  const pepIcons = [
@@ -58,16 +136,7 @@ PepFileStatusPanelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0"
58
136
  PepIconModule,
59
137
  PepDialogModule,
60
138
  PepSnackBarModule], exports: [FileStatusPanelComponent] });
61
- PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, providers: [
62
- {
63
- provide: MatSnackBarRef,
64
- useValue: {}
65
- },
66
- {
67
- provide: MAT_SNACK_BAR_DATA,
68
- useValue: {} // Add any data you wish to test if it is passed/used correctly
69
- }
70
- ], imports: [CommonModule,
139
+ PepFileStatusPanelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepFileStatusPanelModule, imports: [CommonModule,
71
140
  PepTopBarModule,
72
141
  PepTextboxModule,
73
142
  PepButtonModule,
@@ -89,17 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
89
158
  PepDialogModule,
90
159
  PepSnackBarModule
91
160
  ],
92
- exports: [FileStatusPanelComponent],
93
- providers: [
94
- {
95
- provide: MatSnackBarRef,
96
- useValue: {}
97
- },
98
- {
99
- provide: MAT_SNACK_BAR_DATA,
100
- useValue: {} // Add any data you wish to test if it is passed/used correctly
101
- }
102
- ]
161
+ exports: [FileStatusPanelComponent]
103
162
  }]
104
163
  }], ctorParameters: function () { return [{ type: i1$1.PepIconRegistry }]; } });
105
164
 
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.mjs","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject } from '@angular/core';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSnackBarData } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n // @Input() title = '';\n // @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n constructor(\n @Inject(MAT_SNACK_BAR_DATA) public data: PepSnackBarData,\n public snackBarRef: MatSnackBarRef<FileStatusPanelComponent>\n ) {\n //\n }\n\n ngOnInit() {\n //\n }\n\n onCloseClicked(event: any): void {\n this.closeClick.emit();\n }\n\n\n}","<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRef\" [title]=\"data.title\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data.content.length\">\n <li *ngFor=\"let file of data.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule, PepIconRegistry, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\nconst pepIcons = [\n pepIconArrowRightAlt,\n]\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n PepSnackBarModule\n ],\n exports: [FileStatusPanelComponent],\n providers:[\n {\n provide: MatSnackBarRef,\n useValue: {}\n }, \n {\n provide: MAT_SNACK_BAR_DATA,\n useValue: {} // Add any data you wish to test if it is passed/used correctly\n }\n ]\n})\n\nexport class PepFileStatusPanelModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-file-status-panel.mjs","sources":["../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.component.html","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.module.ts","../../../projects/ngx-composite-lib/file-status-panel/file-status-panel.model.ts","../../../projects/ngx-composite-lib/file-status-panel/public-api.ts","../../../projects/ngx-composite-lib/file-status-panel/pepperi-addons-ngx-composite-lib-file-status-panel.ts"],"sourcesContent":["import { Component, OnInit, Injectable, Input, Output, EventEmitter, Optional, Inject, ChangeDetectorRef } from '@angular/core';\nimport { MatSnackBarRef, MAT_SNACK_BAR_DATA, MatSnackBar } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSnackBarData } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { FileStatus } from './file-status-panel.model';\n\n@Component({\n selector: 'pep-file-status-panel',\n templateUrl: './file-status-panel.component.html',\n styleUrls: ['./file-status-panel.component.scss']\n})\nexport class FileStatusPanelComponent implements OnInit {\n // @Input() title = '';\n // @Input() filesList: Array<FileStatus> = [];\n \n @Output()\n closeClick: EventEmitter<void> = new EventEmitter<void>();\n \n @Input()\n set panelData(val: PepSnackBarData | undefined) {\n if (val) {\n if (!(val as any).content || !Array.isArray((val as any).content)) {\n (val as any).content = [];\n }\n this.data = val;\n // Trigger change detection when used as Angular Element\n try { this.cdr.detectChanges(); } catch {}\n this.openIfRequested();\n }\n }\n\n @Input()\n set openAsSnackBar(val: boolean | undefined) {\n this._openAsSnackBar = !!val;\n if (this._openAsSnackBar) {\n if (this._opened) {\n // If already open, dismiss and re-open after dismissed\n this._pendingOpen = true;\n this.dismissIfOpen();\n } else {\n this.openIfRequested();\n }\n } else {\n this.dismissIfOpen();\n }\n }\n\n private _openAsSnackBar = false;\n private _opened = false;\n private _snackRef?: MatSnackBarRef<FileStatusPanelComponent>;\n private _pendingOpen = false;\n // Used only for template binding to satisfy strict template typing\n snackBarRefInput: any;\n \n constructor(\n @Optional() @Inject(MAT_SNACK_BAR_DATA) public data: PepSnackBarData | undefined,\n @Optional() @Inject(MatSnackBarRef) public snackBarRef: MatSnackBarRef<FileStatusPanelComponent> | undefined,\n private snackBar: MatSnackBar,\n private cdr: ChangeDetectorRef\n ) {\n //\n }\n\n ngOnInit() {\n if (!this.data || !Array.isArray((this.data as any).content)) {\n this.data = ({ ...(this.data as any), content: [] } as any);\n }\n // Provide a safe object for the template binding when not opened as snackbar\n this.snackBarRefInput = this.snackBarRef ?? { dismiss: () => {} };\n this.openIfRequested();\n }\n\n onCloseClicked(event: any): void {\n try { this.snackBarRef?.dismiss(); } catch {}\n this.closeClick.emit();\n }\n\n private openIfRequested(): void {\n if (this._openAsSnackBar && !this._opened && this.data && Array.isArray((this.data as any).content)) {\n this._opened = true;\n this._snackRef = this.snackBar.openFromComponent(FileStatusPanelComponent, {\n data: this.data,\n });\n this._snackRef.afterDismissed().subscribe(() => {\n this._opened = false;\n if (this._pendingOpen) {\n this._pendingOpen = false;\n // Re-open with current data (requested via setter while open)\n this.openIfRequested();\n }\n });\n }\n }\n\n private dismissIfOpen(): void {\n try {\n this._snackRef?.dismiss();\n } catch {}\n this._opened = false;\n }\n\n\n}","<pep-snack-bar class=\"upload-panel-contnainer\" [snackBarRef]=\"snackBarRefInput\" [title]=\"data?.title || ''\" (closeClick)=\"onCloseClicked($event)\" >\n <div pep-snack-bar-content class=\"panel-content\">\n <ul *ngIf=\"data?.content?.length\">\n <li *ngFor=\"let file of data?.content\">\n <ng-container *ngIf=\"file?.status !== 'hidden'\">\n <span class=\"color-dimmed body-sm ellipsis\">{{file.name}}</span>\n <pep-icon class=\"pep-spacing-element\" name=\"arrow_right_alt\"></pep-icon>\n <span class=\"body-sm\" title=\"{{file.statusMessage}}\">{{file.status}}</span>\n </ng-container>\n </li>\n </ul>\n </div>\n</pep-snack-bar>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FileStatusPanelComponent } from './file-status-panel.component';\nimport { PepTextboxModule } from '@pepperi-addons/ngx-lib/textbox';\nimport { PepTopBarModule } from '@pepperi-addons/ngx-lib/top-bar';\nimport { PepDialogModule } from '@pepperi-addons/ngx-lib/dialog';\nimport { PepButtonModule } from '@pepperi-addons/ngx-lib/button';\nimport { PepIconModule, PepIconRegistry, pepIconArrowRightAlt } from '@pepperi-addons/ngx-lib/icon';\nimport { PepSnackBarModule } from '@pepperi-addons/ngx-lib/snack-bar';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\nconst pepIcons = [\n pepIconArrowRightAlt,\n]\n\n@NgModule({\n declarations: [\n FileStatusPanelComponent\n ],\n imports: [\n CommonModule,\n PepTopBarModule,\n PepTextboxModule,\n PepButtonModule,\n PepIconModule,\n PepDialogModule,\n PepSnackBarModule\n ],\n exports: [FileStatusPanelComponent]\n})\n\nexport class PepFileStatusPanelModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}","export type FileStatusType = 'uploading' | 'downloading' | 'done' | 'failed' | 'hidden' | 'deleting';\r\n\r\nexport class FileStatus {\r\n key = 0;\r\n name = '';\r\n status: FileStatusType = 'uploading';\r\n statusMessage? = '';\r\n}","/*\n * Public API Surface of ngx-composite-lib/file-status-panel\n */\nexport * from './file-status-panel.module';\nexport * from './file-status-panel.component';\nexport * from './file-status-panel.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i3","i1"],"mappings":"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"}
@@ -19,7 +19,7 @@ class GroupButtonsSettingsComponent {
19
19
  this.subHeader = '';
20
20
  this.groupType = 'sizes';
21
21
  this.btnsArray = [];
22
- this.excludeKeys = []; // for example ['xs','xl']
22
+ this._excludeKeys = [];
23
23
  this.useNone = false;
24
24
  this.disabled = false;
25
25
  this.dir = 'ltr';
@@ -30,6 +30,16 @@ class GroupButtonsSettingsComponent {
30
30
  this.sizes = [];
31
31
  this.defaultCallback = (event) => this.onKeyChange(event);
32
32
  }
33
+ set excludeKeys(value) {
34
+ this._excludeKeys = value || [];
35
+ // Trigger array rebuild when excludeKeys changes
36
+ if (this.translate) { // Only if component is initialized
37
+ setTimeout(() => this.arrayMerge(), 0);
38
+ }
39
+ }
40
+ get excludeKeys() {
41
+ return this._excludeKeys;
42
+ }
33
43
  set btnKey(value) {
34
44
  if (!value) {
35
45
  this._btnKey = '';
@@ -1 +1 @@
1
- {"version":3,"file":"pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs","sources":["../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.ts","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.html","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.module.ts","../../../projects/ngx-composite-lib/group-buttons-settings/public-api.ts","../../../projects/ngx-composite-lib/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSizeType } from '@pepperi-addons/ngx-lib';\nimport { IPepButtonClickEvent, PepButton } from '@pepperi-addons/ngx-lib/button';\nimport { PepGroupbuttonsTypes } from './group-buttons-settings.model';\n\n@Component({\n selector: 'pep-group-buttons-settings',\n templateUrl: './group-buttons-settings.component.html',\n styleUrls: ['./group-buttons-settings.component.scss']\n})\nexport class GroupButtonsSettingsComponent implements OnInit {\n\n @Input() header = '';\n @Input() subHeader = '';\n\n @Input() groupType: PepGroupbuttonsTypes = 'sizes'; \n @Input() btnsArray: Array<PepButton> = [];\n @Input() excludeKeys: Array<string> = []; // for example ['xs','xl']\n\n @Input() useNone = false;\n @Input() disabled = false;\n @Input() dir: 'rtl' | 'ltr' = 'ltr';\n @Input() titleSize: PepSizeType = 'xl';\n @Input() bold = true;\n\n private _btnKey: any;\n @Input()\n set btnKey(value: any) {\n if (!value) {\n this._btnKey = '';\n } else {\n this._btnKey = value;\n }\n }\n get btnKey(): any {\n return this._btnKey;\n }\n\n @Output()\n btnkeyChange: EventEmitter<string> = new EventEmitter<string>();\n \n \n none: PepButton = {key: 'none'};\n \n sizes: Array<PepButton> = [];\n defaultCallback = (event: IPepButtonClickEvent) => this.onKeyChange(event);\n\n // pepB: PepSizeType | 'none' = \"xs\";\n\n constructor(\n private translate: TranslateService,\n ) {\n }\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('GENERAL.NONE').subscribe((res) => {\n this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };\n \n this.arrayMerge();\n });\n }\n\n arrayMerge(){\n\n this.btnsArray = this.getButtonsArray();\n \n // check if need to remove items from the buttons array\n if(this.excludeKeys){\n this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));\n }\n // check if need to add the None button\n if(this.useNone){\n this.btnsArray = [this.none].concat(this.btnsArray);\n }\n }\n\n onKeyChange(event: IPepButtonClickEvent | null) {\n this.btnKey = event?.source?.key || 'none';\n this.btnkeyChange.emit(this.btnKey);\n }\n\n getButtonsArray() {\n switch(this.groupType){\n case 'custom':{\n // Set default callback if not exist.\n for (let index = 0; index < this.btnsArray.length; index++) {\n const btn = this.btnsArray[index];\n \n if (!btn.callback) {\n btn.callback = this.defaultCallback;\n }\n }\n\n return this.btnsArray;\n }\n case 'sizes':{\n return [\n { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: this.defaultCallback },\n { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: this.defaultCallback },\n { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: this.defaultCallback },\n { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: this.defaultCallback },\n { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: this.defaultCallback },\n { key: '2xl', value: this.translate.instant('GENERAL.XXL'), callback: this.defaultCallback }\n ];\n }\n case 'vertical-align':{\n return [\n { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: this.defaultCallback },\n { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: this.defaultCallback },\n { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: this.defaultCallback }\n ];\n }\n case 'left-right-arrows':{\n return [\n { key: 'left', iconName: 'arrow_left_alt', callback: this.defaultCallback },\n { key: 'right', iconName: 'arrow_right_alt', callback: this.defaultCallback }\n ];\n }\n case 'horizontal-align': {\n return [\n { key: 'left', iconName: 'text_align_right', callback: this.defaultCallback },\n { key: 'center', iconName: 'text_align_center', callback: this.defaultCallback },\n { key: 'right', iconName: 'text_align_left', callback: this.defaultCallback },\n ];\n }\n case 'font-weight':{\n return [\n { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: this.defaultCallback },\n { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: this.defaultCallback },\n { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: this.defaultCallback }\n ]\n }\n case 'width-sizes':{\n return [\n { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: this.defaultCallback },\n { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: this.defaultCallback },\n { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: this.defaultCallback }\n ];\n }\n case 'boolean':{\n return [\n { key: 'true', value: this.translate.instant('GENERAL.BOOLEAN.TRUE'), callback: this.defaultCallback },\n { key: 'false', value: this.translate.instant('GENERAL.BOOLEAN.FALSE'), callback: this.defaultCallback }\n ];\n }\n\n default: {\n return [];\n }\n }\n }\n}\n","<label *ngIf=\"header != ''\" class=\"body-{{titleSize}} {{bold ? 'bold' : ''}} ellipsis\" style=\"display: block;\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupButtonsSettingsComponent } from './group-buttons-settings.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\nimport { pepIconArrowLeftAlt, pepIconArrowRightAlt, PepIconModule, PepIconRegistry, pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight } from '@pepperi-addons/ngx-lib/icon';\n\nconst pepIcons = [\n pepIconTextAlignCenter, \n pepIconTextAlignLeft, \n pepIconTextAlignRight,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt\n]\n\n@NgModule({\n declarations: [\n GroupButtonsSettingsComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n PepIconModule\n ],\n exports: [GroupButtonsSettingsComponent]\n})\nexport class PepGroupButtonsSettingsModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/group-buttons-settings\n */\nexport * from './group-buttons-settings.module';\nexport * from './group-buttons-settings.component';\nexport * from './group-buttons-settings.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"pepperi-addons-ngx-composite-lib-group-buttons-settings.mjs","sources":["../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.ts","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.component.html","../../../projects/ngx-composite-lib/group-buttons-settings/group-buttons-settings.module.ts","../../../projects/ngx-composite-lib/group-buttons-settings/public-api.ts","../../../projects/ngx-composite-lib/group-buttons-settings/pepperi-addons-ngx-composite-lib-group-buttons-settings.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PepSizeType } from '@pepperi-addons/ngx-lib';\nimport { IPepButtonClickEvent, PepButton } from '@pepperi-addons/ngx-lib/button';\nimport { PepGroupbuttonsTypes } from './group-buttons-settings.model';\n\n@Component({\n selector: 'pep-group-buttons-settings',\n templateUrl: './group-buttons-settings.component.html',\n styleUrls: ['./group-buttons-settings.component.scss']\n})\nexport class GroupButtonsSettingsComponent implements OnInit {\n\n @Input() header = '';\n @Input() subHeader = '';\n\n @Input() groupType: PepGroupbuttonsTypes = 'sizes'; \n @Input() btnsArray: Array<PepButton> = [];\n \n private _excludeKeys: Array<string> = [];\n @Input()\n set excludeKeys(value: Array<string>) {\n this._excludeKeys = value || [];\n // Trigger array rebuild when excludeKeys changes\n if (this.translate) { // Only if component is initialized\n setTimeout(() => this.arrayMerge(), 0);\n }\n }\n get excludeKeys(): Array<string> {\n return this._excludeKeys;\n }\n\n @Input() useNone = false;\n @Input() disabled = false;\n @Input() dir: 'rtl' | 'ltr' = 'ltr';\n @Input() titleSize: PepSizeType = 'xl';\n @Input() bold = true;\n\n private _btnKey: any;\n @Input()\n set btnKey(value: any) {\n if (!value) {\n this._btnKey = '';\n } else {\n this._btnKey = value;\n }\n }\n get btnKey(): any {\n return this._btnKey;\n }\n\n @Output()\n btnkeyChange: EventEmitter<string> = new EventEmitter<string>();\n \n \n none: PepButton = {key: 'none'};\n \n sizes: Array<PepButton> = [];\n defaultCallback = (event: IPepButtonClickEvent) => this.onKeyChange(event);\n\n // pepB: PepSizeType | 'none' = \"xs\";\n\n constructor(\n private translate: TranslateService,\n ) {\n }\n\n ngOnInit(): void { \n // Get the first translation for load all translations.\n this.translate.get('GENERAL.NONE').subscribe((res) => {\n this.none = { key: 'none', value: this.translate.instant('GENERAL.NONE'), callback: () => this.onKeyChange(null) };\n \n this.arrayMerge();\n });\n }\n\n public arrayMerge(){\n\n this.btnsArray = this.getButtonsArray();\n \n // check if need to remove items from the buttons array\n if(this.excludeKeys){\n this.btnsArray = this.btnsArray.filter(i => !this.excludeKeys.find(f => f === i.key));\n }\n // check if need to add the None button\n if(this.useNone){\n this.btnsArray = [this.none].concat(this.btnsArray);\n }\n }\n\n onKeyChange(event: IPepButtonClickEvent | null) {\n this.btnKey = event?.source?.key || 'none';\n this.btnkeyChange.emit(this.btnKey);\n }\n\n getButtonsArray() {\n switch(this.groupType){\n case 'custom':{\n // Set default callback if not exist.\n for (let index = 0; index < this.btnsArray.length; index++) {\n const btn = this.btnsArray[index];\n \n if (!btn.callback) {\n btn.callback = this.defaultCallback;\n }\n }\n\n return this.btnsArray;\n }\n case 'sizes':{\n return [\n { key: 'xs', value: this.translate.instant('GENERAL.XS'), callback: this.defaultCallback },\n { key: 'sm', value: this.translate.instant('GENERAL.SM'), callback: this.defaultCallback },\n { key: 'md', value: this.translate.instant('GENERAL.MD'), callback: this.defaultCallback },\n { key: 'lg', value: this.translate.instant('GENERAL.LG'), callback: this.defaultCallback },\n { key: 'xl', value: this.translate.instant('GENERAL.XL'), callback: this.defaultCallback },\n { key: '2xl', value: this.translate.instant('GENERAL.XXL'), callback: this.defaultCallback }\n ];\n }\n case 'vertical-align':{\n return [\n { key: 'start', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.TOP'), callback: this.defaultCallback },\n { key: 'middle', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.MIDDLE'), callback: this.defaultCallback },\n { key: 'end', value: this.translate.instant('GENERAL.VERTICAL_ALIGN.BOTTOM'), callback: this.defaultCallback }\n ];\n }\n case 'left-right-arrows':{\n return [\n { key: 'left', iconName: 'arrow_left_alt', callback: this.defaultCallback },\n { key: 'right', iconName: 'arrow_right_alt', callback: this.defaultCallback }\n ];\n }\n case 'horizontal-align': {\n return [\n { key: 'left', iconName: 'text_align_right', callback: this.defaultCallback },\n { key: 'center', iconName: 'text_align_center', callback: this.defaultCallback },\n { key: 'right', iconName: 'text_align_left', callback: this.defaultCallback },\n ];\n }\n case 'font-weight':{\n return [\n { key: 'regular', value: this.translate.instant('GENERAL.FONT_WEIGHT.REGULAR'), callback: this.defaultCallback },\n { key: 'bold', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLD'), callback: this.defaultCallback },\n { key: 'bolder', value: this.translate.instant('GENERAL.FONT_WEIGHT.BOLDER'), callback: this.defaultCallback }\n ]\n }\n case 'width-sizes':{\n return [\n { key: 'narrow', value: this.translate.instant('GENERAL.WIDTH_SIZE.NARROW'), callback: this.defaultCallback },\n { key: 'regular', value: this.translate.instant('GENERAL.WIDTH_SIZE.REGULAR'), callback: this.defaultCallback },\n { key: 'wide', value: this.translate.instant('GENERAL.WIDTH_SIZE.WIDE'), callback: this.defaultCallback }\n ];\n }\n case 'boolean':{\n return [\n { key: 'true', value: this.translate.instant('GENERAL.BOOLEAN.TRUE'), callback: this.defaultCallback },\n { key: 'false', value: this.translate.instant('GENERAL.BOOLEAN.FALSE'), callback: this.defaultCallback }\n ];\n }\n\n default: {\n return [];\n }\n }\n }\n}\n","<label *ngIf=\"header != ''\" class=\"body-{{titleSize}} {{bold ? 'bold' : ''}} ellipsis\" style=\"display: block;\">{{header}}</label>\n<pep-field-title *ngIf=\"subHeader !=''\" [label]=\"subHeader\" [disabled]=\"disabled\" [xAlignment]=\"dir === 'rtl' ? 'right' : 'left'\"></pep-field-title>\n<pep-group-buttons [buttons]=\"btnsArray\" \n [selectedButtonKey]=\"btnKey\" \n [stretch]=\"true\" \n buttonsClass=\"md regular\" \n [buttonsDisabled]=\"disabled\" \n viewType=\"toggle\">\n</pep-group-buttons>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GroupButtonsSettingsComponent } from './group-buttons-settings.component';\nimport { PepNgxLibModule } from '@pepperi-addons/ngx-lib';\nimport { PepFieldTitleModule } from '@pepperi-addons/ngx-lib/field-title';\nimport { PepGroupButtonsModule } from '@pepperi-addons/ngx-lib/group-buttons';\nimport { pepIconArrowLeftAlt, pepIconArrowRightAlt, PepIconModule, PepIconRegistry, pepIconTextAlignCenter, pepIconTextAlignLeft, pepIconTextAlignRight } from '@pepperi-addons/ngx-lib/icon';\n\nconst pepIcons = [\n pepIconTextAlignCenter, \n pepIconTextAlignLeft, \n pepIconTextAlignRight,\n pepIconArrowRightAlt,\n pepIconArrowLeftAlt\n]\n\n@NgModule({\n declarations: [\n GroupButtonsSettingsComponent\n ],\n imports: [\n CommonModule,\n PepNgxLibModule,\n PepFieldTitleModule,\n PepGroupButtonsModule,\n PepIconModule\n ],\n exports: [GroupButtonsSettingsComponent]\n})\nexport class PepGroupButtonsSettingsModule { \n constructor(\n private pepIconRegistry: PepIconRegistry,\n ) {\n this.pepIconRegistry.registerIcons(pepIcons);\n }\n}\n","/*\n * Public API Surface of ngx-composite-lib/group-buttons-settings\n */\nexport * from './group-buttons-settings.module';\nexport * from './group-buttons-settings.component';\nexport * from './group-buttons-settings.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -1,14 +1,25 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
2
- import { MatSnackBarRef } from '@angular/material/snack-bar';
1
+ import { OnInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
+ import { MatSnackBarRef, MatSnackBar } from '@angular/material/snack-bar';
3
3
  import { PepSnackBarData } from '@pepperi-addons/ngx-lib/snack-bar';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class FileStatusPanelComponent implements OnInit {
6
- data: PepSnackBarData;
7
- snackBarRef: MatSnackBarRef<FileStatusPanelComponent>;
6
+ data: PepSnackBarData | undefined;
7
+ snackBarRef: MatSnackBarRef<FileStatusPanelComponent> | undefined;
8
+ private snackBar;
9
+ private cdr;
8
10
  closeClick: EventEmitter<void>;
9
- constructor(data: PepSnackBarData, snackBarRef: MatSnackBarRef<FileStatusPanelComponent>);
11
+ set panelData(val: PepSnackBarData | undefined);
12
+ set openAsSnackBar(val: boolean | undefined);
13
+ private _openAsSnackBar;
14
+ private _opened;
15
+ private _snackRef?;
16
+ private _pendingOpen;
17
+ snackBarRefInput: any;
18
+ constructor(data: PepSnackBarData | undefined, snackBarRef: MatSnackBarRef<FileStatusPanelComponent> | undefined, snackBar: MatSnackBar, cdr: ChangeDetectorRef);
10
19
  ngOnInit(): void;
11
20
  onCloseClicked(event: any): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<FileStatusPanelComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<FileStatusPanelComponent, "pep-file-status-panel", never, {}, { "closeClick": "closeClick"; }, never, never, false>;
21
+ private openIfRequested;
22
+ private dismissIfOpen;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileStatusPanelComponent, [{ optional: true; }, { optional: true; }, null, null]>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileStatusPanelComponent, "pep-file-status-panel", never, { "panelData": "panelData"; "openAsSnackBar": "openAsSnackBar"; }, { "closeClick": "closeClick"; }, never, never, false>;
14
25
  }
@@ -10,7 +10,9 @@ export declare class GroupButtonsSettingsComponent implements OnInit {
10
10
  subHeader: string;
11
11
  groupType: PepGroupbuttonsTypes;
12
12
  btnsArray: Array<PepButton>;
13
- excludeKeys: Array<string>;
13
+ private _excludeKeys;
14
+ set excludeKeys(value: Array<string>);
15
+ get excludeKeys(): Array<string>;
14
16
  useNone: boolean;
15
17
  disabled: boolean;
16
18
  dir: 'rtl' | 'ltr';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pepperi-addons/ngx-composite-lib",
3
- "version": "0.4.2-beta.188",
3
+ "version": "0.4.2-beta.189",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">= 14.0.2",
6
6
  "@angular/cdk": ">= 14.0.2",