@festo-ui/angular 5.0.0-dev.107 → 5.0.0-dev.112

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.
@@ -14,6 +14,7 @@ export class FngCustomModalComponent {
14
14
  this.acknowledge = new EventEmitter();
15
15
  this.cancelLabel = 'Cancel';
16
16
  this.cancel = new EventEmitter();
17
+ this.close = new EventEmitter();
17
18
  }
18
19
  closeModal() {
19
20
  this.visible = false;
@@ -21,6 +22,12 @@ export class FngCustomModalComponent {
21
22
  this.visibleChange.emit(false);
22
23
  }
23
24
  }
25
+ onClose() {
26
+ if (this.close) {
27
+ this.close.emit();
28
+ }
29
+ this.closeModal();
30
+ }
24
31
  onCancel() {
25
32
  this.closeModal();
26
33
  if (this.cancel) {
@@ -34,7 +41,7 @@ export class FngCustomModalComponent {
34
41
  }
35
42
  onClickOutside() {
36
43
  if (this.closeOnBackdrop) {
37
- this.onCancel();
44
+ this.onClose();
38
45
  }
39
46
  }
40
47
  onClickInside(event) {
@@ -42,10 +49,10 @@ export class FngCustomModalComponent {
42
49
  }
43
50
  }
44
51
  FngCustomModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
45
- FngCustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
52
+ FngCustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel", close: "close" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
46
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, decorators: [{
47
54
  type: Component,
48
- args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
55
+ args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
49
56
  }], propDecorators: { closeOnBackdrop: [{
50
57
  type: Input
51
58
  }], large: [{
@@ -66,5 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
66
73
  type: Input
67
74
  }], cancel: [{
68
75
  type: Output
76
+ }], close: [{
77
+ type: Output
69
78
  }] } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbHMvY3VzdG9tLW1vZGFsL2N1c3RvbS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2N1c3RvbS1tb2RhbC9jdXN0b20tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVF2RSxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1csb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbEQsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXZCLHFCQUFnQixHQUFXLElBQUksQ0FBQztRQUMvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0ErQjdDO0lBN0JDLFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsS0FBaUI7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzFCLENBQUM7O29IQTNDVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix1V0NUcEMsNmhDQTBCQSwyQ0RyQlksWUFBWTsyRkFJWCx1QkFBdUI7a0JBTm5DLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLFlBQ2Isa0JBQWtCOzhCQUluQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksYUFBYTtzQkFBdEIsTUFBTTtnQkFFRSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZm5nLWN1c3RvbS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tbW9kYWwuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0N1c3RvbU1vZGFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY2xvc2VPbkJhY2tkcm9wOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhcmdlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBASW5wdXQoKSBoZWFkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzdWJoZWFkZXI6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGFja25vd2xlZGdlTGFiZWw6IHN0cmluZyA9ICdPayc7XG4gIEBPdXRwdXQoKSBhY2tub3dsZWRnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASW5wdXQoKSBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCc7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy52aXNpYmxlQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgaWYgKHRoaXMuY2FuY2VsKSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25BY2tub3dsZWRnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZSkge1xuICAgICAgdGhpcy5hY2tub3dsZWRnZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XG4gICAgICB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja0luc2lkZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJhY2tkcm9wXCIgKm5nSWY9XCJ2aXNpYmxlXCIgKG1vdXNlZG93bik9XCJvbkNsaWNrT3V0c2lkZSgpXCI+XG4gIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWxcIiBbY2xhc3MuZndlLW1vZGFsLS1sYXJnZV09XCJsYXJnZVwiIChtb3VzZWRvd24pPVwib25DbGlja0luc2lkZSgkZXZlbnQpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1jbG9zZVwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1saW5rIGZ3ZS1kYXJrXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgICAgPGkgY2xhc3M9XCJmd2UtaWNvbiBmd2UtaWNvbi0yeCBmd2UtaWNvbi1jbG9zZS1zbWFsbFwiPjwvaT5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtaGVhZGVyXCI+XG4gICAgICA8aDIgY2xhc3M9XCJmd2UtbW9kYWwtaDJcIiAqbmdJZj1cInN1YmhlYWRlcj8ubGVuZ3RoXCI+e3sgc3ViaGVhZGVyIH19PC9oMj5cbiAgICAgIDxoMSBjbGFzcz1cImZ3ZS1tb2RhbC1oMVwiPnt7IGhlYWRlciB9fTwvaDE+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1ib2R5XCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbC1mb290ZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYnV0dG9uc1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxnXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIj5cbiAgICAgICAgICB7eyBjYW5jZWxMYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1oZXJvIGZ3ZS1idG4tbGdcIiAoY2xpY2spPVwib25BY2tub3dsZWRnZSgpXCI+XG4gICAgICAgICAge3sgYWNrbm93bGVkZ2VMYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbHMvY3VzdG9tLW1vZGFsL2N1c3RvbS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2N1c3RvbS1tb2RhbC9jdXN0b20tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVF2RSxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1csb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFDakMsVUFBSyxHQUFZLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbEQsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNwQixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXZCLHFCQUFnQixHQUFXLElBQUksQ0FBQztRQUMvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFeEMsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FzQzVDO0lBcENDLFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCO1FBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDOztvSEFwRFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsdVhDVHBDLDRoQ0EwQkEsMkNEckJZLFlBQVk7MkZBSVgsdUJBQXVCO2tCQU5uQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLGtCQUFrQjs4QkFJbkIsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBRUcsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctY3VzdG9tLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm5nQ3VzdG9tTW9kYWxDb21wb25lbnQge1xuICBASW5wdXQoKSBjbG9zZU9uQmFja2Ryb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbGFyZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBJbnB1dCgpIGhlYWRlcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHN1YmhlYWRlcjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgYWNrbm93bGVkZ2VMYWJlbDogc3RyaW5nID0gJ09rJztcbiAgQE91dHB1dCgpIGFja25vd2xlZGdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBJbnB1dCgpIGNhbmNlbExhYmVsOiBzdHJpbmcgPSAnQ2FuY2VsJztcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICBpZiAodGhpcy52aXNpYmxlQ2hhbmdlKSB7XG4gICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jbG9zZSkge1xuICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2VNb2RhbCgpO1xuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZU1vZGFsKCk7XG4gICAgaWYgKHRoaXMuY2FuY2VsKSB7XG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25BY2tub3dsZWRnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZSkge1xuICAgICAgdGhpcy5hY2tub3dsZWRnZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DbGlja091dHNpZGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2xvc2VPbkJhY2tkcm9wKSB7XG4gICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrSW5zaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYmFja2Ryb3BcIiAqbmdJZj1cInZpc2libGVcIiAobW91c2Vkb3duKT1cIm9uQ2xpY2tPdXRzaWRlKClcIj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1tb2RhbFwiIFtjbGFzcy5md2UtbW9kYWwtLWxhcmdlXT1cImxhcmdlXCIgKG1vdXNlZG93bik9XCJvbkNsaWNrSW5zaWRlKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWNsb3NlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxpbmsgZndlLWRhcmtcIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tMnggZndlLWljb24tY2xvc2Utc21hbGxcIj48L2k+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWhlYWRlclwiPlxuICAgICAgPGgyIGNsYXNzPVwiZndlLW1vZGFsLWgyXCIgKm5nSWY9XCJzdWJoZWFkZXI/Lmxlbmd0aFwiPnt7IHN1YmhlYWRlciB9fTwvaDI+XG4gICAgICA8aDEgY2xhc3M9XCJmd2UtbW9kYWwtaDFcIj57eyBoZWFkZXIgfX08L2gxPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtYm9keVwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbW9kYWwtZm9vdGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLW1vZGFsLWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZ3ZS1idG4gZndlLWJ0bi1sZ1wiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+XG4gICAgICAgICAge3sgY2FuY2VsTGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4taGVybyBmd2UtYnRuLWxnXCIgKGNsaWNrKT1cIm9uQWNrbm93bGVkZ2UoKVwiPlxuICAgICAgICAgIHt7IGFja25vd2xlZGdlTGFiZWwgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -43,10 +43,10 @@ export class FngImageGalleryComponent {
43
43
  }
44
44
  }
45
45
  FngImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
46
- FngImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
46
+ FngImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
47
47
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, decorators: [{
48
48
  type: Component,
49
- args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n" }]
49
+ args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n" }]
50
50
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
51
51
  type: Input
52
52
  }], close: [{
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
59
59
  type: HostListener,
60
60
  args: ['window:keyup', ['$event']]
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRzdELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQXdCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFmaEMsU0FBSSxHQUF3QjtZQUNuQyxVQUFVLEVBQUUsQ0FBQztZQUNiLE1BQU0sRUFBRSxFQUFFO1lBQ1YsZUFBZSxFQUFFLEVBQUU7WUFDbkIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDeEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsa0JBQWtCLEVBQUUsS0FBSztTQUMxQixDQUFDO1FBQ1EsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsT0FBRSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHdkMsaUJBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFSSxDQUFDO0lBRzdDLE9BQU8sQ0FBQyxLQUFvQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFpQztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOztxSEF2Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsNE5DaENyQyw2dEZBb0VBLHlERDFDWSxZQUFZLDBuSEFBRSxZQUFZLDhxQkFBRSxlQUFlOzJGQU0xQyx3QkFBd0I7a0JBUnBDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsWUFDNUMsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLElBQUk7c0JBQVosS0FBSztnQkFRSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTTtnQkFRUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICdzd2lwZXIvYW5ndWxhcic7XG5cbmltcG9ydCBTd2lwZXJDb3JlLCB7IEZyZWVNb2RlLCBLZXlib2FyZCwgTmF2aWdhdGlvbiwgVGh1bWJzLCBab29tIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGbmdTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJy4uL21vZGFscy5tb2R1bGUnO1xuXG5Td2lwZXJDb3JlLnVzZShbRnJlZU1vZGUsIE5hdmlnYXRpb24sIEtleWJvYXJkLCBUaHVtYnMsIFpvb21dKTtcblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZURlc2NyaXB0aXZlQ29udGVudCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZUdhbGxlcnlEYXRhIHtcbiAgc3RhcnRJbmRleDogbnVtYmVyO1xuICBpbWFnZXM6IHsgdXJsOiBzdHJpbmc7IGFsdDogc3RyaW5nOyBjb250ZW50PzogRm5nSW1hZ2VEZXNjcmlwdGl2ZUNvbnRlbnQgfVtdO1xuICB0aHVtYm5haWxJbWFnZXM/OiB7IHVybDogc3RyaW5nOyBhbHQ6IHN0cmluZyB9W107XG4gIHBhZ2luYXRpb24/OiBib29sZWFuO1xuICBkZXNjcmlwdGl2ZUNvbnRlbnQ/OiBib29sZWFuO1xuICBzbGlkZUNoYW5nZWQ/OiAoaW5kZXg6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTd2lwZXJNb2R1bGUsIENvbW1vbk1vZHVsZSwgRm5nU2FmZUh0bWxQaXBlXSxcbiAgc2VsZWN0b3I6ICdmbmctaW1hZ2UtZ2FsbGVyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ0ltYWdlR2FsbGVyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsPEZuZ0ltYWdlR2FsbGVyeURhdGEsIGFueT4ge1xuICBASW5wdXQoKSBkYXRhOiBGbmdJbWFnZUdhbGxlcnlEYXRhID0ge1xuICAgIHN0YXJ0SW5kZXg6IDAsXG4gICAgaW1hZ2VzOiBbXSxcbiAgICB0aHVtYm5haWxJbWFnZXM6IFtdLFxuICAgIHNsaWRlQ2hhbmdlZDogKCkgPT4gbnVsbCxcbiAgICBwYWdpbmF0aW9uOiB0cnVlLFxuICAgIGRlc2NyaXB0aXZlQ29udGVudDogZmFsc2VcbiAgfTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIG9rID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgdGh1bWJzU3dpcGVyOiBhbnk7XG4gIGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5zdGFydEluZGV4ICsgMTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6a2V5dXAnLCBbJyRldmVudCddKVxuICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2MnIHx8IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgIHRoaXMub25DbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2xpZGVDaGFuZ2Uoc3dpcGVyOiB7IGFjdGl2ZUluZGV4OiBudW1iZXIgfVtdKSB7XG4gICAgdGhpcy5jdXJyZW50SW5kZXggPSBzd2lwZXJbMF0uYWN0aXZlSW5kZXggKyAxO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgaWYgKHRoaXMuZGF0YT8uc2xpZGVDaGFuZ2VkKSB7XG4gICAgICB0aGlzLmRhdGEuc2xpZGVDaGFuZ2VkKHN3aXBlclswXS5hY3RpdmVJbmRleCk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImZ3ZS1tb2RhbCBmd2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeVwiXG4gICpuZ0lmPVwiZGF0YSAhPSBudWxsXCJcbiAgW2NsYXNzLmZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5LS13aXRoLXRodW1ibmFpbHNdPVwiZGF0YS50aHVtYm5haWxJbWFnZXM/Lmxlbmd0aFwiXG4gIFtjbGFzcy5md2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeS0td2l0aC1jb250YWluZXJdPVwiZGF0YS5kZXNjcmlwdGl2ZUNvbnRlbnRcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktaGVhZGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImRhdGEucGFnaW5hdGlvblwiIGNsYXNzPVwiZndlLXBhZ2luYXRpb24gZndlLXBhZ2luYXRpb24tLW9uLWRhcmstYmdcIj5cbiAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cInByZXZpb3VzXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLW5hdmlnYXRlLWJ0bi1kb3duXCI+PC9idXR0b24+XG4gICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1wYWdlLWN1cnJlbnRcIj57eyBjdXJyZW50SW5kZXggfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImZ3ZS1wYWdlLW1heFwiPnt7IGRhdGEuaW1hZ2VzLmxlbmd0aCB9fTwvc3Bhbj5cbiAgICAgIDxidXR0b24gYXJpYS1sYWJlbD1cIm5leHRcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtbmF2aWdhdGUtYnRuLXVwXCI+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvbiBhcmlhLWxhYmVsPVwiY2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2UtYnRuIGZ3ZS1idG4tbGluayBmd2UtbWwtYXV0b1wiIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgIDxpIGNsYXNzPVwiZndlLWljb24gZndlLWljb24tbGcgZndlLWNvbG9yLXdoaXRlIGZ3ZS1pY29uLW1lbnUtY2xvc2UgZndlLW1vZGFsLWltYWdlLWdhbGxlcnktY2xvc2VcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJkYXRhLmRlc2NyaXB0aXZlQ29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtaW1hZ2UtZ2FsbGVyeS1jb250YWluZXJcIiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJhc2VHYWxsZXJ5XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktY29udGVudFwiICpuZ0lmPVwiZGF0YS5pbWFnZXNbY3VycmVudEluZGV4IC0gMV0/LmNvbnRlbnQgYXMgaW1hZ2VDb250ZW50XCI+XG4gICAgICAgIDxoMz57eyBpbWFnZUNvbnRlbnQudGl0bGUgfX08L2gzPlxuICAgICAgICA8ZGl2IFtpbm5lckhUTUxdPVwiaW1hZ2VDb250ZW50LmJvZHkgfCBmbmdTYWZlSHRtbFwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJhc2VHYWxsZXJ5XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjYmFzZUdhbGxlcnk+XG4gIDxkaXYgY2xhc3M9XCJmd2UtaW1hZ2UtZ2FsbGVyeS13cmFwcGVyXCI+XG4gICAgPHN3aXBlclxuICAgICAgW2luaXRpYWxTbGlkZV09XCJkYXRhLnN0YXJ0SW5kZXhcIlxuICAgICAgW2tleWJvYXJkXT1cIntcbiAgICAgICAgZW5hYmxlZDogdHJ1ZVxuICAgICAgfVwiXG4gICAgICBbc3BhY2VCZXR3ZWVuXT1cIjBcIlxuICAgICAgW3pvb21dPVwidHJ1ZVwiXG4gICAgICBbbmF2aWdhdGlvbl09XCJ7XG4gICAgICAgIG5leHRFbDogJy5md2UtbmF2aWdhdGUtYnRuLXVwJyxcbiAgICAgICAgcHJldkVsOiAnLmZ3ZS1uYXZpZ2F0ZS1idG4tZG93bidcbiAgICAgIH1cIlxuICAgICAgW3RodW1ic109XCJ7IHN3aXBlcjogdGh1bWJzU3dpcGVyIH1cIlxuICAgICAgKHNsaWRlQ2hhbmdlKT1cIm9uU2xpZGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICBjbGFzcz1cImdhbGxlcnktc3dpcGVyIGZ3ZS1pbWFnZS1nYWxsZXJ5XCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IGltYWdlIG9mIGRhdGEuaW1hZ2VzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItem9vbS1jb250YWluZXJcIj5cbiAgICAgICAgICA8aW1nIFthbHRdPVwiaW1hZ2UuYWx0XCIgW3NyY109XCJpbWFnZS51cmxcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zd2lwZXI+XG4gICAgPHN3aXBlclxuICAgICAgKm5nSWY9XCJkYXRhLnRodW1ibmFpbEltYWdlcz8ubGVuZ3RoXCJcbiAgICAgIChzd2lwZXIpPVwidGh1bWJzU3dpcGVyID0gJGV2ZW50XCJcbiAgICAgIFtzbGlkZXNQZXJWaWV3XT1cIidhdXRvJ1wiXG4gICAgICBbZnJlZU1vZGVdPVwidHJ1ZVwiXG4gICAgICBbd2F0Y2hTbGlkZXNQcm9ncmVzc109XCJ0cnVlXCJcbiAgICAgIGNsYXNzPVwidGh1bWJzLXN3aXBlciBmd2UtaW1hZ2UtZ2FsbGVyeS10aHVtYnNcIlxuICAgID5cbiAgICAgIDxuZy10ZW1wbGF0ZSAqbmdGb3I9XCJsZXQgdGh1bWJuYWlsIG9mIGRhdGEudGh1bWJuYWlsSW1hZ2VzXCIgc3dpcGVyU2xpZGU+XG4gICAgICAgIDxpbWcgW2FsdF09XCJ0aHVtYm5haWwuYWx0XCIgW3NyY109XCJ0aHVtYm5haWwudXJsXCIgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zd2lwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvbW9kYWxzL2ltYWdlLWdhbGxlcnkvaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0gsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRzdELFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztBQXdCL0QsTUFBTSxPQUFPLHdCQUF3QjtJQWdCbkMsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFmaEMsU0FBSSxHQUF3QjtZQUNuQyxVQUFVLEVBQUUsQ0FBQztZQUNiLE1BQU0sRUFBRSxFQUFFO1lBQ1YsZUFBZSxFQUFFLEVBQUU7WUFDbkIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7WUFDeEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsa0JBQWtCLEVBQUUsS0FBSztTQUMxQixDQUFDO1FBQ1EsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsT0FBRSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFHdkMsaUJBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFFSSxDQUFDO0lBRzdDLE9BQU8sQ0FBQyxLQUFvQjtRQUMxQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDakQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFpQztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDOztxSEF2Q1Usd0JBQXdCO3lHQUF4Qix3QkFBd0IsNE5DaENyQyw2K0ZBMEVBLHlERGhEWSxZQUFZLDBuSEFBRSxZQUFZLDhxQkFBRSxlQUFlOzJGQU0xQyx3QkFBd0I7a0JBUnBDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLENBQUMsWUFDNUMsbUJBQW1CLGlCQUdkLGlCQUFpQixDQUFDLElBQUk7d0dBRzVCLElBQUk7c0JBQVosS0FBSztnQkFRSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTTtnQkFRUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTd2lwZXJNb2R1bGUgfSBmcm9tICdzd2lwZXIvYW5ndWxhcic7XG5cbmltcG9ydCBTd2lwZXJDb3JlLCB7IEZyZWVNb2RlLCBLZXlib2FyZCwgTmF2aWdhdGlvbiwgVGh1bWJzLCBab29tIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGbmdTYWZlSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9zYWZlLWh0bWwucGlwZSc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJy4uL21vZGFscy5tb2R1bGUnO1xuXG5Td2lwZXJDb3JlLnVzZShbRnJlZU1vZGUsIE5hdmlnYXRpb24sIEtleWJvYXJkLCBUaHVtYnMsIFpvb21dKTtcblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZURlc2NyaXB0aXZlQ29udGVudCB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGJvZHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbmdJbWFnZUdhbGxlcnlEYXRhIHtcbiAgc3RhcnRJbmRleDogbnVtYmVyO1xuICBpbWFnZXM6IHsgdXJsOiBzdHJpbmc7IGFsdDogc3RyaW5nOyBjb250ZW50PzogRm5nSW1hZ2VEZXNjcmlwdGl2ZUNvbnRlbnQ7IGNvbnRhaW5Nb2RlPzogYm9vbGVhbiB9W107XG4gIHRodW1ibmFpbEltYWdlcz86IHsgdXJsOiBzdHJpbmc7IGFsdDogc3RyaW5nOyBjb250YWluTW9kZT86IGJvb2xlYW4gfVtdO1xuICBwYWdpbmF0aW9uPzogYm9vbGVhbjtcbiAgZGVzY3JpcHRpdmVDb250ZW50PzogYm9vbGVhbjtcbiAgc2xpZGVDaGFuZ2VkPzogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU3dpcGVyTW9kdWxlLCBDb21tb25Nb2R1bGUsIEZuZ1NhZmVIdG1sUGlwZV0sXG4gIHNlbGVjdG9yOiAnZm5nLWltYWdlLWdhbGxlcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ltYWdlLWdhbGxlcnkuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbmdJbWFnZUdhbGxlcnlDb21wb25lbnQgaW1wbGVtZW50cyBNb2RhbDxGbmdJbWFnZUdhbGxlcnlEYXRhLCBhbnk+IHtcbiAgQElucHV0KCkgZGF0YTogRm5nSW1hZ2VHYWxsZXJ5RGF0YSA9IHtcbiAgICBzdGFydEluZGV4OiAwLFxuICAgIGltYWdlczogW10sXG4gICAgdGh1bWJuYWlsSW1hZ2VzOiBbXSxcbiAgICBzbGlkZUNoYW5nZWQ6ICgpID0+IG51bGwsXG4gICAgcGFnaW5hdGlvbjogdHJ1ZSxcbiAgICBkZXNjcmlwdGl2ZUNvbnRlbnQ6IGZhbHNlXG4gIH07XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBvayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHRodW1ic1N3aXBlcjogYW55O1xuICBjdXJyZW50SW5kZXggPSB0aGlzLmRhdGEuc3RhcnRJbmRleCArIDE7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleXVwJywgWyckZXZlbnQnXSlcbiAgb25LZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjJyB8fCBldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICB0aGlzLm9uQ2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBvblNsaWRlQ2hhbmdlKHN3aXBlcjogeyBhY3RpdmVJbmRleDogbnVtYmVyIH1bXSkge1xuICAgIHRoaXMuY3VycmVudEluZGV4ID0gc3dpcGVyWzBdLmFjdGl2ZUluZGV4ICsgMTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIGlmICh0aGlzLmRhdGE/LnNsaWRlQ2hhbmdlZCkge1xuICAgICAgdGhpcy5kYXRhLnNsaWRlQ2hhbmdlZChzd2lwZXJbMF0uYWN0aXZlSW5kZXgpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xvc2UoKSB7XG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmd2UtbW9kYWwgZndlLW1vZGFsLWltYWdlLWdhbGxlcnlcIlxuICAqbmdJZj1cImRhdGEgIT0gbnVsbFwiXG4gIFtjbGFzcy5md2UtbW9kYWwtaW1hZ2UtZ2FsbGVyeS0td2l0aC10aHVtYm5haWxzXT1cImRhdGEudGh1bWJuYWlsSW1hZ2VzPy5sZW5ndGhcIlxuICBbY2xhc3MuZndlLW1vZGFsLWltYWdlLWdhbGxlcnktLXdpdGgtY29udGFpbmVyXT1cImRhdGEuZGVzY3JpcHRpdmVDb250ZW50XCJcbj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1pbWFnZS1nYWxsZXJ5LWhlYWRlclwiPlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLnBhZ2luYXRpb25cIiBjbGFzcz1cImZ3ZS1wYWdpbmF0aW9uIGZ3ZS1wYWdpbmF0aW9uLS1vbi1kYXJrLWJnXCI+XG4gICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9XCJwcmV2aW91c1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1uYXZpZ2F0ZS1idG4tZG93blwiPjwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2UtcGFnZS1jdXJyZW50XCI+e3sgY3VycmVudEluZGV4IH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmd2UtcGFnZS1tYXhcIj57eyBkYXRhLmltYWdlcy5sZW5ndGggfX08L3NwYW4+XG4gICAgICA8YnV0dG9uIGFyaWEtbGFiZWw9XCJuZXh0XCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLW5hdmlnYXRlLWJ0bi11cFwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gYXJpYS1sYWJlbD1cImNsb3NlXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLWJ0biBmd2UtYnRuLWxpbmsgZndlLW1sLWF1dG9cIiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICA8aSBjbGFzcz1cImZ3ZS1pY29uIGZ3ZS1pY29uLWxnIGZ3ZS1jb2xvci13aGl0ZSBmd2UtaWNvbi1tZW51LWNsb3NlIGZ3ZS1tb2RhbC1pbWFnZS1nYWxsZXJ5LWNsb3NlXCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZGF0YS5kZXNjcmlwdGl2ZUNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktY29udGFpbmVyXCIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJiYXNlR2FsbGVyeVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS1pbWFnZS1nYWxsZXJ5LWNvbnRlbnRcIiAqbmdJZj1cImRhdGEuaW1hZ2VzW2N1cnJlbnRJbmRleCAtIDFdPy5jb250ZW50IGFzIGltYWdlQ29udGVudFwiPlxuICAgICAgICA8aDM+e3sgaW1hZ2VDb250ZW50LnRpdGxlIH19PC9oMz5cbiAgICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cImltYWdlQ29udGVudC5ib2R5IHwgZm5nU2FmZUh0bWxcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJiYXNlR2FsbGVyeVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2Jhc2VHYWxsZXJ5PlxuICA8ZGl2IGNsYXNzPVwiZndlLWltYWdlLWdhbGxlcnktd3JhcHBlclwiPlxuICAgIDxzd2lwZXJcbiAgICAgIFtpbml0aWFsU2xpZGVdPVwiZGF0YS5zdGFydEluZGV4XCJcbiAgICAgIFtrZXlib2FyZF09XCJ7XG4gICAgICAgIGVuYWJsZWQ6IHRydWVcbiAgICAgIH1cIlxuICAgICAgW3NwYWNlQmV0d2Vlbl09XCIwXCJcbiAgICAgIFt6b29tXT1cInRydWVcIlxuICAgICAgW25hdmlnYXRpb25dPVwie1xuICAgICAgICBuZXh0RWw6ICcuZndlLW5hdmlnYXRlLWJ0bi11cCcsXG4gICAgICAgIHByZXZFbDogJy5md2UtbmF2aWdhdGUtYnRuLWRvd24nXG4gICAgICB9XCJcbiAgICAgIFt0aHVtYnNdPVwieyBzd2lwZXI6IHRodW1ic1N3aXBlciB9XCJcbiAgICAgIChzbGlkZUNoYW5nZSk9XCJvblNsaWRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgY2xhc3M9XCJnYWxsZXJ5LXN3aXBlciBmd2UtaW1hZ2UtZ2FsbGVyeVwiXG4gICAgPlxuICAgICAgPG5nLXRlbXBsYXRlICpuZ0Zvcj1cImxldCBpbWFnZSBvZiBkYXRhLmltYWdlc1wiIHN3aXBlclNsaWRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXpvb20tY29udGFpbmVyXCI+XG4gICAgICAgICAgPGltZyBbYWx0XT1cImltYWdlLmFsdFwiIFtzcmNdPVwiaW1hZ2UudXJsXCIgW2NsYXNzLmZ3ZS1vYmplY3QtZml0LWNvbnRhaW5dPVwiaW1hZ2UuY29udGFpbk1vZGVcIiBbY2xhc3MuZndlLXAtbV09XCJpbWFnZS5jb250YWluTW9kZVwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3N3aXBlcj5cbiAgICA8c3dpcGVyXG4gICAgICAqbmdJZj1cImRhdGEudGh1bWJuYWlsSW1hZ2VzPy5sZW5ndGhcIlxuICAgICAgKHN3aXBlcik9XCJ0aHVtYnNTd2lwZXIgPSAkZXZlbnRcIlxuICAgICAgW3NsaWRlc1BlclZpZXddPVwiJ2F1dG8nXCJcbiAgICAgIFtmcmVlTW9kZV09XCJ0cnVlXCJcbiAgICAgIFt0aHJlc2hvbGRdPVwiMjBcIlxuICAgICAgW3dhdGNoU2xpZGVzUHJvZ3Jlc3NdPVwidHJ1ZVwiXG4gICAgICBjbGFzcz1cInRodW1icy1zd2lwZXIgZndlLWltYWdlLWdhbGxlcnktdGh1bWJzXCJcbiAgICA+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nRm9yPVwibGV0IHRodW1ibmFpbCBvZiBkYXRhLnRodW1ibmFpbEltYWdlc1wiIHN3aXBlclNsaWRlPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgW2FsdF09XCJ0aHVtYm5haWwuYWx0XCJcbiAgICAgICAgICBbc3JjXT1cInRodW1ibmFpbC51cmxcIlxuICAgICAgICAgIFtjbGFzcy5md2Utb2JqZWN0LWZpdC1jb250YWluXT1cInRodW1ibmFpbC5jb250YWluTW9kZVwiXG4gICAgICAgICAgW2NsYXNzLmZ3ZS1wLXh4eHNdPVwidGh1bWJuYWlsLmNvbnRhaW5Nb2RlXCJcbiAgICAgICAgLz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zd2lwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -2835,6 +2835,7 @@ class FngCustomModalComponent {
2835
2835
  this.acknowledge = new EventEmitter();
2836
2836
  this.cancelLabel = 'Cancel';
2837
2837
  this.cancel = new EventEmitter();
2838
+ this.close = new EventEmitter();
2838
2839
  }
2839
2840
  closeModal() {
2840
2841
  this.visible = false;
@@ -2842,6 +2843,12 @@ class FngCustomModalComponent {
2842
2843
  this.visibleChange.emit(false);
2843
2844
  }
2844
2845
  }
2846
+ onClose() {
2847
+ if (this.close) {
2848
+ this.close.emit();
2849
+ }
2850
+ this.closeModal();
2851
+ }
2845
2852
  onCancel() {
2846
2853
  this.closeModal();
2847
2854
  if (this.cancel) {
@@ -2855,7 +2862,7 @@ class FngCustomModalComponent {
2855
2862
  }
2856
2863
  onClickOutside() {
2857
2864
  if (this.closeOnBackdrop) {
2858
- this.onCancel();
2865
+ this.onClose();
2859
2866
  }
2860
2867
  }
2861
2868
  onClickInside(event) {
@@ -2863,10 +2870,10 @@ class FngCustomModalComponent {
2863
2870
  }
2864
2871
  }
2865
2872
  FngCustomModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2866
- FngCustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2873
+ FngCustomModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngCustomModalComponent, isStandalone: true, selector: "fng-custom-modal", inputs: { closeOnBackdrop: "closeOnBackdrop", large: "large", visible: "visible", header: "header", subheader: "subheader", acknowledgeLabel: "acknowledgeLabel", cancelLabel: "cancelLabel" }, outputs: { visibleChange: "visibleChange", acknowledge: "acknowledge", cancel: "cancel", close: "close" }, ngImport: i0, template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2867
2874
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngCustomModalComponent, decorators: [{
2868
2875
  type: Component,
2869
- args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onCancel()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
2876
+ args: [{ standalone: true, imports: [CommonModule], selector: 'fng-custom-modal', template: "<div class=\"fwe-modal-backdrop\" *ngIf=\"visible\" (mousedown)=\"onClickOutside()\">\n <div class=\"fwe-modal\" [class.fwe-modal--large]=\"large\" (mousedown)=\"onClickInside($event)\">\n <div class=\"fwe-modal-close\">\n <button class=\"fwe-btn fwe-btn-link fwe-dark\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-2x fwe-icon-close-small\"></i>\n </button>\n </div>\n <div class=\"fwe-modal-header\">\n <h2 class=\"fwe-modal-h2\" *ngIf=\"subheader?.length\">{{ subheader }}</h2>\n <h1 class=\"fwe-modal-h1\">{{ header }}</h1>\n </div>\n <div class=\"fwe-modal-body\">\n <ng-content></ng-content>\n </div>\n <div class=\"fwe-modal-footer\">\n <div class=\"fwe-modal-buttons\">\n <button class=\"fwe-btn fwe-btn-lg\" (click)=\"onCancel()\">\n {{ cancelLabel }}\n </button>\n <button class=\"fwe-btn fwe-btn-hero fwe-btn-lg\" (click)=\"onAcknowledge()\">\n {{ acknowledgeLabel }}\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
2870
2877
  }], propDecorators: { closeOnBackdrop: [{
2871
2878
  type: Input
2872
2879
  }], large: [{
@@ -2887,6 +2894,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
2887
2894
  type: Input
2888
2895
  }], cancel: [{
2889
2896
  type: Output
2897
+ }], close: [{
2898
+ type: Output
2890
2899
  }] } });
2891
2900
 
2892
2901
  class FestoAngularModalsModule {
@@ -2941,10 +2950,10 @@ class FngImageGalleryComponent {
2941
2950
  }
2942
2951
  }
2943
2952
  FngImageGalleryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2944
- FngImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1$4.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1$4.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
2953
+ FngImageGalleryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: FngImageGalleryComponent, isStandalone: true, selector: "fng-image-gallery", inputs: { data: "data" }, outputs: { close: "close", cancel: "cancel", ok: "ok" }, host: { listeners: { "window:keyup": "onKeyUp($event)" } }, ngImport: i0, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SwiperModule }, { kind: "component", type: i1$4.SwiperComponent, selector: "swiper, [swiper]", inputs: ["enabled", "on", "direction", "touchEventsTarget", "initialSlide", "speed", "cssMode", "updateOnWindowResize", "resizeObserver", "nested", "focusableElements", "width", "height", "preventInteractionOnTransition", "userAgent", "url", "edgeSwipeDetection", "edgeSwipeThreshold", "freeMode", "autoHeight", "setWrapperSize", "virtualTranslate", "effect", "breakpoints", "spaceBetween", "slidesPerView", "maxBackfaceHiddenSlides", "grid", "slidesPerGroup", "slidesPerGroupSkip", "centeredSlides", "centeredSlidesBounds", "slidesOffsetBefore", "slidesOffsetAfter", "normalizeSlideIndex", "centerInsufficientSlides", "watchOverflow", "roundLengths", "touchRatio", "touchAngle", "simulateTouch", "shortSwipes", "longSwipes", "longSwipesRatio", "longSwipesMs", "followFinger", "allowTouchMove", "threshold", "touchMoveStopPropagation", "touchStartPreventDefault", "touchStartForcePreventDefault", "touchReleaseOnEdges", "uniqueNavElements", "resistance", "resistanceRatio", "watchSlidesProgress", "grabCursor", "preventClicks", "preventClicksPropagation", "slideToClickedSlide", "preloadImages", "updateOnImagesReady", "loop", "loopAdditionalSlides", "loopedSlides", "loopedSlidesLimit", "loopFillGroupWithBlank", "loopPreventsSlide", "rewind", "allowSlidePrev", "allowSlideNext", "swipeHandler", "noSwiping", "noSwipingClass", "noSwipingSelector", "passiveListeners", "containerModifierClass", "slideClass", "slideBlankClass", "slideActiveClass", "slideDuplicateActiveClass", "slideVisibleClass", "slideDuplicateClass", "slideNextClass", "slideDuplicateNextClass", "slidePrevClass", "slideDuplicatePrevClass", "wrapperClass", "runCallbacksOnInit", "observeParents", "observeSlideChildren", "a11y", "autoplay", "controller", "coverflowEffect", "cubeEffect", "fadeEffect", "flipEffect", "creativeEffect", "cardsEffect", "hashNavigation", "history", "keyboard", "lazy", "mousewheel", "parallax", "thumbs", "zoom", "slidesPerGroupAuto", "class", "id", "navigation", "pagination", "scrollbar", "virtual", "config"], outputs: ["_beforeBreakpoint", "_containerClasses", "_slideClass", "_swiper", "activeIndexChange", "afterInit", "autoplay", "autoplayStart", "autoplayStop", "autoplayPause", "autoplayResume", "beforeDestroy", "beforeInit", "beforeLoopFix", "beforeResize", "beforeSlideChangeStart", "beforeTransitionStart", "breakpoint", "changeDirection", "click", "doubleTap", "doubleClick", "destroy", "fromEdge", "hashChange", "hashSet", "imagesReady", "init", "keyPress", "lazyImageLoad", "lazyImageReady", "loopFix", "momentumBounce", "navigationHide", "navigationShow", "navigationPrev", "navigationNext", "observerUpdate", "orientationchange", "paginationHide", "paginationRender", "paginationShow", "paginationUpdate", "progress", "reachBeginning", "reachEnd", "realIndexChange", "resize", "scroll", "scrollbarDragEnd", "scrollbarDragMove", "scrollbarDragStart", "setTransition", "setTranslate", "slideChange", "slideChangeTransitionEnd", "slideChangeTransitionStart", "slideNextTransitionEnd", "slideNextTransitionStart", "slidePrevTransitionEnd", "slidePrevTransitionStart", "slideResetTransitionStart", "slideResetTransitionEnd", "sliderMove", "sliderFirstMove", "slidesLengthChange", "slidesGridLengthChange", "snapGridLengthChange", "snapIndexChange", "tap", "toEdge", "touchEnd", "touchMove", "touchMoveOpposite", "touchStart", "transitionEnd", "transitionStart", "update", "zoomChange", "swiper", "lock", "unlock"] }, { kind: "directive", type: i1$4.SwiperSlideDirective, selector: "ng-template[swiperSlide]", inputs: ["virtualIndex", "class", "ngClass", "data-swiper-autoplay", "zoom"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None });
2945
2954
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FngImageGalleryComponent, decorators: [{
2946
2955
  type: Component,
2947
- args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img [alt]=\"thumbnail.alt\" [src]=\"thumbnail.url\" />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n" }]
2956
+ args: [{ standalone: true, imports: [SwiperModule, CommonModule, FngSafeHtmlPipe], selector: 'fng-image-gallery', encapsulation: ViewEncapsulation.None, template: "<div\n class=\"fwe-modal fwe-modal-image-gallery\"\n *ngIf=\"data != null\"\n [class.fwe-modal-image-gallery--with-thumbnails]=\"data.thumbnailImages?.length\"\n [class.fwe-modal-image-gallery--with-container]=\"data.descriptiveContent\"\n>\n <div class=\"fwe-image-gallery-header\">\n <div *ngIf=\"data.pagination\" class=\"fwe-pagination fwe-pagination--on-dark-bg\">\n <button aria-label=\"previous\" type=\"button\" class=\"fwe-navigate-btn-down\"></button>\n <span class=\"fwe-page-current\">{{ currentIndex }}</span>\n <span class=\"fwe-page-max\">{{ data.images.length }}</span>\n <button aria-label=\"next\" type=\"button\" class=\"fwe-navigate-btn-up\"></button>\n </div>\n <button aria-label=\"close\" type=\"button\" class=\"fwe-btn fwe-btn-link fwe-ml-auto\" (click)=\"onClose()\">\n <i class=\"fwe-icon fwe-icon-lg fwe-color-white fwe-icon-menu-close fwe-modal-image-gallery-close\"></i>\n </button>\n </div>\n <ng-container [ngSwitch]=\"data.descriptiveContent\">\n <div class=\"fwe-image-gallery-container\" *ngSwitchCase=\"true\">\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n <div class=\"fwe-image-gallery-content\" *ngIf=\"data.images[currentIndex - 1]?.content as imageContent\">\n <h3>{{ imageContent.title }}</h3>\n <div [innerHTML]=\"imageContent.body | fngSafeHtml\"></div>\n </div>\n </div>\n <ng-container *ngSwitchDefault>\n <ng-container *ngTemplateOutlet=\"baseGallery\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #baseGallery>\n <div class=\"fwe-image-gallery-wrapper\">\n <swiper\n [initialSlide]=\"data.startIndex\"\n [keyboard]=\"{\n enabled: true\n }\"\n [spaceBetween]=\"0\"\n [zoom]=\"true\"\n [navigation]=\"{\n nextEl: '.fwe-navigate-btn-up',\n prevEl: '.fwe-navigate-btn-down'\n }\"\n [thumbs]=\"{ swiper: thumbsSwiper }\"\n (slideChange)=\"onSlideChange($event)\"\n class=\"gallery-swiper fwe-image-gallery\"\n >\n <ng-template *ngFor=\"let image of data.images\" swiperSlide>\n <div class=\"swiper-zoom-container\">\n <img [alt]=\"image.alt\" [src]=\"image.url\" [class.fwe-object-fit-contain]=\"image.containMode\" [class.fwe-p-m]=\"image.containMode\" />\n </div>\n </ng-template>\n </swiper>\n <swiper\n *ngIf=\"data.thumbnailImages?.length\"\n (swiper)=\"thumbsSwiper = $event\"\n [slidesPerView]=\"'auto'\"\n [freeMode]=\"true\"\n [threshold]=\"20\"\n [watchSlidesProgress]=\"true\"\n class=\"thumbs-swiper fwe-image-gallery-thumbs\"\n >\n <ng-template *ngFor=\"let thumbnail of data.thumbnailImages\" swiperSlide>\n <img\n [alt]=\"thumbnail.alt\"\n [src]=\"thumbnail.url\"\n [class.fwe-object-fit-contain]=\"thumbnail.containMode\"\n [class.fwe-p-xxxs]=\"thumbnail.containMode\"\n />\n </ng-template>\n </swiper>\n </div>\n</ng-template>\n" }]
2948
2957
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2949
2958
  type: Input
2950
2959
  }], close: [{