@dsivd/prestations-ng 17.0.1-beta.2 → 17.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -1
- package/dsivd-prestations-ng-17.1.0-beta.1.tgz +0 -0
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.component.mjs +46 -35
- package/esm2022/foehn-feedback-notification/foehn-feedback-notification.type.mjs +3 -0
- package/esm2022/supported-browser.mjs +2 -2
- package/fesm2022/dsivd-prestations-ng.mjs +42 -30
- package/fesm2022/dsivd-prestations-ng.mjs.map +1 -1
- package/foehn-feedback-notification/foehn-feedback-notification.component.d.ts +9 -7
- package/foehn-feedback-notification/foehn-feedback-notification.type.d.ts +7 -0
- package/package.json +1 -1
- package/dsivd-prestations-ng-17.0.1-beta.2.tgz +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
## [17.0.1
|
|
9
|
+
## [17.1.0] - must be aligned with prestations-be (17.1.0+)
|
|
10
10
|
|
|
11
11
|
### Added
|
|
12
12
|
|
|
@@ -17,6 +17,12 @@
|
|
|
17
17
|
- [sdk-event-type.ts](projects/prestations-ng/src/sdk-events-logger/sdk-event-type.ts)
|
|
18
18
|
- added `BREADCRUMB_CLICK` : user has clicked on a breadcrumb item
|
|
19
19
|
|
|
20
|
+
### Updated
|
|
21
|
+
|
|
22
|
+
- [foehn-feedback-notification.component.ts](projects/prestations-ng/src/foehn-feedback-notification/foehn-feedback-notification.component.ts)
|
|
23
|
+
|
|
24
|
+
- Notification feedback answer is now encrypted in url when redirecting to feedback prestation
|
|
25
|
+
|
|
20
26
|
## [17.0.0] - must be aligned with prestations-be (17.0.0+)
|
|
21
27
|
|
|
22
28
|
### Added
|
|
Binary file
|
|
@@ -2,22 +2,25 @@ import { Component, HostListener } from '@angular/core';
|
|
|
2
2
|
import { faFaceFrown, faFaceMeh, faFaceSmile } from '@fortawesome/free-solid-svg-icons';
|
|
3
3
|
import { combineLatest, filter, of, startWith } from 'rxjs';
|
|
4
4
|
import { map, tap } from 'rxjs/operators';
|
|
5
|
+
import { FoehnFeedbackNotificationType } from '../foehn-feedback-notification/foehn-feedback-notification.type';
|
|
5
6
|
import { PORTAIL_BASE_URL_INT } from '../sdk-appinfo/application-info.service';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../sdk-appinfo/application-info.service";
|
|
8
9
|
import * as i2 from "../sdk-session-info/session-info.service";
|
|
9
10
|
import * as i3 from "../gesdem/gesdem-handler.service";
|
|
10
|
-
import * as i4 from "@angular/common";
|
|
11
|
-
import * as i5 from "@
|
|
12
|
-
import * as i6 from "
|
|
13
|
-
import * as i7 from "../foehn-icons/foehn-icon-chevron-
|
|
14
|
-
import * as i8 from "../
|
|
11
|
+
import * as i4 from "@angular/common/http";
|
|
12
|
+
import * as i5 from "@angular/common";
|
|
13
|
+
import * as i6 from "@fortawesome/angular-fontawesome";
|
|
14
|
+
import * as i7 from "../foehn-icons/foehn-icon-chevron-down.component";
|
|
15
|
+
import * as i8 from "../foehn-icons/foehn-icon-chevron-up.component";
|
|
16
|
+
import * as i9 from "../sdk-dictionary/sdk-dictionary.pipe";
|
|
15
17
|
export const FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX = 'FEEDBACK-USAGERS-';
|
|
16
18
|
export class FoehnFeedbackNotificationComponent {
|
|
17
|
-
constructor(applicationInfoService, sessionInfo, gesdemHandlerService) {
|
|
19
|
+
constructor(applicationInfoService, sessionInfo, gesdemHandlerService, http) {
|
|
18
20
|
this.applicationInfoService = applicationInfoService;
|
|
19
21
|
this.sessionInfo = sessionInfo;
|
|
20
22
|
this.gesdemHandlerService = gesdemHandlerService;
|
|
23
|
+
this.http = http;
|
|
21
24
|
this.goodIconName = faFaceSmile;
|
|
22
25
|
this.mediumIconName = faFaceMeh;
|
|
23
26
|
this.badIconName = faFaceFrown;
|
|
@@ -25,23 +28,21 @@ export class FoehnFeedbackNotificationComponent {
|
|
|
25
28
|
this.applicationInfoService.data,
|
|
26
29
|
this.applicationInfoService.currentEtapeInfo,
|
|
27
30
|
this.sessionInfo.data.pipe(startWith(null)),
|
|
28
|
-
this.gesdemHandlerService.updateFormDataSubject.pipe(startWith(null), map(() =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return `${reference}-${this.gesdemHandlerService.lastResponse.meta.currentAction}`;
|
|
34
|
-
}))
|
|
35
|
-
]).pipe(filter(([, etapeInfo]) => !!etapeInfo), tap(([applicationInfo, etapeInfo, sessionInfoData, fullReference]) => {
|
|
36
|
-
this.isConnected =
|
|
31
|
+
this.gesdemHandlerService.updateFormDataSubject.pipe(startWith(null), map(() => this.gesdemHandlerService.lastResponse?.meta))
|
|
32
|
+
]).pipe(filter(([, etapeInfo, , meta]) => !!etapeInfo && !!meta), tap(([applicationInfo, etapeInfo, sessionInfoData, meta]) => {
|
|
33
|
+
const feedBackFormBaseUrl = `${this.getPortailBaseUrl(applicationInfo)}pub/101643/`;
|
|
34
|
+
const feedbackUsager = new FoehnFeedbackNotificationType();
|
|
35
|
+
feedbackUsager.isConnected =
|
|
37
36
|
!!sessionInfoData && !!sessionInfoData.context;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
42
|
-
|
|
37
|
+
feedbackUsager.idMetierEtape = etapeInfo.idMetierEtape;
|
|
38
|
+
feedbackUsager.beneficiaryCategory = this.getCategory(sessionInfoData, etapeInfo);
|
|
39
|
+
feedbackUsager.currentAction = meta?.currentAction;
|
|
40
|
+
this.goodUrl = this.getUrl('good', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
41
|
+
this.mediumUrl = this.getUrl('medium', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
42
|
+
this.badUrl = this.getUrl('bad', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
43
|
+
}), map(([, etapeInfo, , meta]) => {
|
|
43
44
|
const visible = etapeInfo?.userFeedbackRequested;
|
|
44
|
-
const needFeedback = !localStorage.getItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX
|
|
45
|
+
const needFeedback = !localStorage.getItem(`${FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX}${this.getFullReference(meta)}`);
|
|
45
46
|
this.expanded = visible;
|
|
46
47
|
return needFeedback && visible;
|
|
47
48
|
}));
|
|
@@ -52,17 +53,21 @@ export class FoehnFeedbackNotificationComponent {
|
|
|
52
53
|
document.body.offsetHeight - 30;
|
|
53
54
|
}
|
|
54
55
|
hideNotification() {
|
|
55
|
-
localStorage.setItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX +
|
|
56
|
+
localStorage.setItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX +
|
|
57
|
+
this.getFullReference(this.gesdemHandlerService.lastResponse?.meta), 'Done');
|
|
56
58
|
this.visible = of(false);
|
|
57
59
|
}
|
|
58
|
-
getUrl(answer) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
60
|
+
getUrl(answer, feedbackUsager, feedBackFormBaseUrl, reference) {
|
|
61
|
+
if (!feedbackUsager || !feedBackFormBaseUrl || !reference) {
|
|
62
|
+
return of(null);
|
|
63
|
+
}
|
|
64
|
+
const fbu = { ...feedbackUsager };
|
|
65
|
+
fbu.answer = answer;
|
|
66
|
+
return this.http
|
|
67
|
+
.post(`api/feedbacknotification/queryparams/${reference}`, fbu, {
|
|
68
|
+
responseType: 'text'
|
|
69
|
+
})
|
|
70
|
+
.pipe(map(cryptedUrlParams => `${feedBackFormBaseUrl}?q=${encodeURIComponent(cryptedUrlParams)}`));
|
|
66
71
|
}
|
|
67
72
|
getCategory(sessionInfoData, etapeInfo) {
|
|
68
73
|
if (sessionInfoData) {
|
|
@@ -77,14 +82,20 @@ export class FoehnFeedbackNotificationComponent {
|
|
|
77
82
|
? PORTAIL_BASE_URL_INT
|
|
78
83
|
: `${window.location.origin}/`;
|
|
79
84
|
}
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
getFullReference(meta) {
|
|
86
|
+
if (!meta) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return `${meta.reference}-${meta.currentAction}`;
|
|
90
|
+
}
|
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnFeedbackNotificationComponent, deps: [{ token: i1.ApplicationInfoService }, { token: i2.SessionInfo }, { token: i3.GesdemHandlerService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, ngImport: i0, template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: i7.FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: i8.FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i9.SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
82
93
|
}
|
|
83
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnFeedbackNotificationComponent, decorators: [{
|
|
84
95
|
type: Component,
|
|
85
|
-
args: [{ selector: 'foehn-feedback-notification', template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"
|
|
86
|
-
}], ctorParameters: () => [{ type: i1.ApplicationInfoService }, { type: i2.SessionInfo }, { type: i3.GesdemHandlerService }], propDecorators: { onWindowScroll: [{
|
|
96
|
+
args: [{ selector: 'foehn-feedback-notification', template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"] }]
|
|
97
|
+
}], ctorParameters: () => [{ type: i1.ApplicationInfoService }, { type: i2.SessionInfo }, { type: i3.GesdemHandlerService }, { type: i4.HttpClient }], propDecorators: { onWindowScroll: [{
|
|
87
98
|
type: HostListener,
|
|
88
99
|
args: ['window:scroll', ['$event']]
|
|
89
100
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDZCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkxQyxPQUFPLEVBRUgsb0JBQW9CLEVBQ3ZCLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7QUFJakQsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsbUJBQW1CLENBQUM7QUFPekUsTUFBTSxPQUFPLGtDQUFrQztJQWdCM0MsWUFDWSxzQkFBOEMsRUFDOUMsV0FBd0IsRUFDeEIsb0JBQTBDO1FBRjFDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQWxCdEQsaUJBQVksR0FBRyxXQUFXLENBQUM7UUFDM0IsbUJBQWMsR0FBRyxTQUFTLENBQUM7UUFDM0IsZ0JBQVcs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QkFBd0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEQsQ0FBQyxJQUFJLGtCQUFrQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU8sV0FBVyxDQUNmLGVBQWdDLEVBQ2hDLFNBQW9CO1FBRXBCLElBQUksZUFBZSxFQUFFLENBQUM7WUFDbEIsT0FBTyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUM7WUFDdEMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEIsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQXdCO1FBQzlDLE9BQU8sT0FBTyxDQUFDLFdBQVcsS0FBSyxJQUFJO1lBQy9CLENBQUMsQ0FBQyxvQkFBb0I7WUFDdEIsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztJQUN2QyxDQUFDOytHQTdHUSxrQ0FBa0M7bUdBQWxDLGtDQUFrQyx1SUN6Qi9DLDRySUFnSEE7OzRGRHZGYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0ksNkJBQTZCO3dKQXlFdkMsY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGZhRmFjZUZyb3duLFxuICAgIGZhRmFjZU1laCxcbiAgICBmYUZhY2VTbWlsZVxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR2VzZGVtSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm8sIEV0YXBlSW5mbyB9IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8nO1xuaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgIFBPUlRBSUxfQkFTRV9VUkxfSU5UXG59IGZyb20gJy4uL3Nkay1hcHBpbmZvL2FwcGxpY2F0aW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8tZGF0YSc7XG5cbmV4cG9ydCBjb25zdCBGRUVEQkFDS19VU0FHRVJTX0xPQ0FMX1NUT1JBR0VfUFJFRklYID0gJ0ZFRURCQUNLLVVTQUdFUlMtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvbkNvbXBvbmVudCB7XG4gICAgZ29vZEljb25OYW1lID0gZmFGYWNlU21pbGU7XG4gICAgbWVkaXVtSWNvbk5hbWUgPSBmYUZhY2VNZWg7XG4gICAgYmFkSWNvbk5hbWUgPSBmYUZhY2VGcm93bjtcblxuICAgIGV4cGFuZGVkOiBib29sZWFuO1xuICAgIGlzU2Nyb2xsRW5kZWQ6IGJvb2xlYW47XG5cbiAgICB2aXNpYmxlOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHJpdmF0ZSBmZWVkQmFja0Zvcm1CYXNlVXJsOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIGlkTWV0aWVyRXRhcGU6IHN0cmluZztcbiAgICBwcml2YXRlIGJlbmVmaWNpYXJ5Q2F0ZWdvcnk6IHN0cmluZztcbiAgICBwcml2YXRlIGZ1bGxSZWZlcmVuY2U6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcGxpY2F0aW9uSW5mb1NlcnZpY2U6IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2Vzc2lvbkluZm86IFNlc3Npb25JbmZvLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUhhbmRsZXJTZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLFxuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhPy5yZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7cmVmZXJlbmNlfS0ke3RoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEuY3VycmVudEFjdGlvbn1gO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKFssIGV0YXBlSW5mb10pID0+ICEhZXRhcGVJbmZvKSxcbiAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkluZm8sXG4gICAgICAgICAgICAgICAgICAgIGV0YXBlSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICBmdWxsUmVmZXJlbmNlXG4gICAgICAgICAgICAgICAgXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGVkID1cbiAgICAgICAgICAgICAgICAgICAgICAgICEhc2Vzc2lvbkluZm9EYXRhICYmICEhc2Vzc2lvbkluZm9EYXRhLmNvbnRleHQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaWRNZXRpZXJFdGFwZSA9IGV0YXBlSW5mby5pZE1ldGllckV0YXBlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlbmVmaWNpYXJ5Q2F0ZWdvcnkgPSB0aGlzLmdldENhdGVnb3J5KFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXRhcGVJbmZvXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZnVsbFJlZmVyZW5jZSA9IGZ1bGxSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tGb3JtQmFzZVVybCA9IGAke3RoaXMuZ2V0UG9ydGFpbEJhc2VVcmwoYXBwbGljYXRpb25JbmZvKX1wdWIvMTAxNjQzL2A7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIG1hcCgoWywgZXRhcGVJbmZvXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZpc2libGUgPSBldGFwZUluZm8/LnVzZXJGZWVkYmFja1JlcXVlc3RlZDtcbiAgICAgICAgICAgICAgICBjb25zdCBuZWVkRmVlZGJhY2sgPSAhbG9jYWxTdG9yYWdlLmdldEl0ZW0oXG4gICAgICAgICAgICAgICAgICAgIEZFRURCQUNLX1VTQUdFUlNfTE9DQUxfU1RPUkFHRV9QUkVGSVggKyB0aGlzLmZ1bGxSZWZlcmVuY2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB2aXNpYmxlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5lZWRGZWVkYmFjayAmJiB2aXNpYmxlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6c2Nyb2xsJywgWyckZXZlbnQnXSlcbiAgICBvbldpbmRvd1Njcm9sbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Njcm9sbEVuZGVkID1cbiAgICAgICAgICAgIHdpbmRvdy5pbm5lckhlaWdodCArIHdpbmRvdy5zY3JvbGxZID49XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCAtIDMwO1xuICAgIH1cblxuICAgIGhpZGVOb3RpZmljYXRpb24oKTogdm9pZCB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCArIHRoaXMuZnVsbFJlZmVyZW5jZSxcbiAgICAgICAgICAgICdEb25lJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLnZpc2libGUgPSBvZihmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0VXJsKGFuc3dlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHMgPSBgJHt0aGlzLmZlZWRCYWNrRm9ybUJhc2VVcmx9P2A7XG4gICAgICAgIHMgKz0gYGFuc3dlcj0ke2Fuc3dlcn1gO1xuICAgICAgICBzICs9IGAmaWRNZXRpZXJFdGFwZT0ke3RoaXMuaWRNZXRpZXJFdGFwZX1gO1xuICAgICAgICBzICs9IGAmaXNDb25uZWN0ZWQ9JHt0aGlzLmlzQ29ubmVjdGVkfWA7XG4gICAgICAgIHMgKz0gYCZiZW5lZmljaWFyeUNhdGVnb3J5PSR7dGhpcy5iZW5lZmljaWFyeUNhdGVnb3J5fWA7XG4gICAgICAgIHMgKz0gYCZmdWxsUmVmZXJlbmNlPSR7dGhpcy5mdWxsUmVmZXJlbmNlfWA7XG4gICAgICAgIHJldHVybiBzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2F0ZWdvcnkoXG4gICAgICAgIHNlc3Npb25JbmZvRGF0YTogU2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICBldGFwZUluZm86IEV0YXBlSW5mb1xuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGlmIChzZXNzaW9uSW5mb0RhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBzZXNzaW9uSW5mb0RhdGEuY2F0ZWdvcmllc1swXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZXRhcGVJbmZvLnB1YmxpY0NpYmxlPy5sZW5ndGggPT09IDFcbiAgICAgICAgICAgID8gZXRhcGVJbmZvLnB1YmxpY0NpYmxlWzBdXG4gICAgICAgICAgICA6ICdJbmNvbm51JztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvcnRhaWxCYXNlVXJsKGFwcEluZm86IEFwcGxpY2F0aW9uSW5mbyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBhcHBJbmZvLmVudmlyb25tZW50ID09PSAnQ08nXG4gICAgICAgICAgICA/IFBPUlRBSUxfQkFTRV9VUkxfSU5UXG4gICAgICAgICAgICA6IGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59L2A7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGlkPVwiZmVlZGJhY2stY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJleHBhbmRlZCA/ICdleHBhbmRlZCcgOiAncmVkdWNlZCdcIlxuICAgIFtjbGFzcy5vZmZzZXQtYm90dG9tXT1cImlzU2Nyb2xsRW5kZWRcIlxuICAgIFtjbGFzcy52aXNpYmxlXT1cInZpc2libGUgfCBhc3luY1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJmZWVkYmFjay1jaGV2cm9uIGJ0biBidG4tbGlua1wiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidmZWVkYmFjay1mb3JtJ1wiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd25cbiAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi1kb3duJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cFxuICAgICAgICAgICAgKm5nSWY9XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi11cCcgfCBmcm9tRGljdGlvbmFyeVwiXG4gICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stdGl0bGVcIiBjbGFzcz1cImg0XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udGl0bGUtZXhwYW5kZWQnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFleHBhbmRlZFwiIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50aXRsZS1yZWR1Y2VkJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stZm9ybVwiIFtjbGFzcy52aXNpYmxlXT1cImV4cGFuZGVkXCI+XG4gICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5xdWVzdGlvbi5RX05PVElGSUNBVElPTl9GQUNJTEVfQV9VVElMSVNFUidcbiAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHVsIGNsYXNzPVwidmQtbGlzdC1pY29ucyBtYi0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVOb3RpZmljYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldFVybCgnZ29vZCcpXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgcmVsPVwib3BlbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzbWlsZXktbGluayB0ZXh0LXN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmdvb2QnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJnb29kSWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24uZ29vZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJteC0yXCIgKGNsaWNrKT1cImhpZGVOb3RpZmljYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdldFVybCgnbWVkaXVtJylcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICByZWw9XCJvcGVuZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNtaWxleS1saW5rIHRleHQtd2FybmluZ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwibWVkaXVtSWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mYS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmljb24ubWVkaXVtJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaSAoY2xpY2spPVwiaGlkZU5vdGlmaWNhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0VXJsKCdiYWQnKVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImJhZEljb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFdBQVcsRUFDZCxNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUloSCxPQUFPLEVBRUgsb0JBQW9CLEVBQ3ZCLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7O0FBSWpELE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLG1CQUFtQixDQUFDO0FBT3pFLE1BQU0sT0FBTyxrQ0FBa0M7SUFhM0MsWUFDWSxzQkFBOEMsRUFDOUMsV0FBd0IsRUFDeEIsb0JBQTBDLEVBQzFDLElBQWdCO1FBSGhCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyxTQUFJ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LENBQUMsT0FBd0I7UUFDOUMsT0FBTyxPQUFPLENBQUMsV0FBVyxLQUFLLElBQUk7WUFDL0IsQ0FBQyxDQUFDLG9CQUFvQjtZQUN0QixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFrQjtRQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDUixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JELENBQUM7K0dBdklRLGtDQUFrQzttR0FBbEMsa0NBQWtDLHVJQzVCL0MsK3JJQWdIQTs7NEZEcEZhLGtDQUFrQztrQkFMOUMsU0FBUzsrQkFDSSw2QkFBNkI7aUxBNEV2QyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIGZhRmFjZUZyb3duLFxuICAgIGZhRmFjZU1laCxcbiAgICBmYUZhY2VTbWlsZVxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBvZiwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUgfSBmcm9tICcuLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnR5cGUnO1xuaW1wb3J0IHsgRm9ybU1ldGFkYXRhIH0gZnJvbSAnLi4vZm9ybS1wb3N0LXJlc3BvbnNlJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvLCBFdGFwZUluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7XG4gICAgQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICBQT1JUQUlMX0JBU0VfVVJMX0lOVFxufSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm8gfSBmcm9tICcuLi9zZGstc2Vzc2lvbi1pbmZvL3Nlc3Npb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuXG5leHBvcnQgY29uc3QgRkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWCA9ICdGRUVEQkFDSy1VU0FHRVJTLSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25Db21wb25lbnQge1xuICAgIGdvb2RJY29uTmFtZSA9IGZhRmFjZVNtaWxlO1xuICAgIG1lZGl1bUljb25OYW1lID0gZmFGYWNlTWVoO1xuICAgIGJhZEljb25OYW1lID0gZmFGYWNlRnJvd247XG5cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICBpc1Njcm9sbEVuZGVkOiBib29sZWFuO1xuXG4gICAgdmlzaWJsZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBnb29kVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgbWVkaXVtVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgYmFkVXJsOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1IYW5kbGVyU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudFxuICAgICkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5kYXRhLFxuICAgICAgICAgICAgdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8sXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JbmZvLmRhdGEucGlwZShzdGFydFdpdGgobnVsbCkpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS51cGRhdGVGb3JtRGF0YVN1YmplY3QucGlwZShcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2VzZGVtSGFuZGxlclNlcnZpY2UubGFzdFJlc3BvbnNlPy5tZXRhKVxuICAgICAgICAgICAgKVxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKChbLCBldGFwZUluZm8sICwgbWV0YV0pID0+ICEhZXRhcGVJbmZvICYmICEhbWV0YSksXG4gICAgICAgICAgICB0YXAoKFthcHBsaWNhdGlvbkluZm8sIGV0YXBlSW5mbywgc2Vzc2lvbkluZm9EYXRhLCBtZXRhXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRCYWNrRm9ybUJhc2VVcmwgPSBgJHt0aGlzLmdldFBvcnRhaWxCYXNlVXJsKGFwcGxpY2F0aW9uSW5mbyl9cHViLzEwMTY0My9gO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZlZWRiYWNrVXNhZ2VyID0gbmV3IEZvZWhuRmVlZGJhY2tOb3RpZmljYXRpb25UeXBlKCk7XG4gICAgICAgICAgICAgICAgZmVlZGJhY2tVc2FnZXIuaXNDb25uZWN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICAhIXNlc3Npb25JbmZvRGF0YSAmJiAhIXNlc3Npb25JbmZvRGF0YS5jb250ZXh0O1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmlkTWV0aWVyRXRhcGUgPSBldGFwZUluZm8uaWRNZXRpZXJFdGFwZTtcbiAgICAgICAgICAgICAgICBmZWVkYmFja1VzYWdlci5iZW5lZmljaWFyeUNhdGVnb3J5ID0gdGhpcy5nZXRDYXRlZ29yeShcbiAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICBldGFwZUluZm9cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLmN1cnJlbnRBY3Rpb24gPSBtZXRhPy5jdXJyZW50QWN0aW9uO1xuICAgICAgICAgICAgICAgIHRoaXMuZ29vZFVybCA9IHRoaXMuZ2V0VXJsKFxuICAgICAgICAgICAgICAgICAgICAnZ29vZCcsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5tZWRpdW1VcmwgPSB0aGlzLmdldFVybChcbiAgICAgICAgICAgICAgICAgICAgJ21lZGl1bScsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgdGhpcy5iYWRVcmwgPSB0aGlzLmdldFVybChcbiAgICAgICAgICAgICAgICAgICAgJ2JhZCcsXG4gICAgICAgICAgICAgICAgICAgIGZlZWRiYWNrVXNhZ2VyLFxuICAgICAgICAgICAgICAgICAgICBmZWVkQmFja0Zvcm1CYXNlVXJsLFxuICAgICAgICAgICAgICAgICAgICBtZXRhLnJlZmVyZW5jZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoWywgZXRhcGVJbmZvLCAsIG1ldGFdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9IGV0YXBlSW5mbz8udXNlckZlZWRiYWNrUmVxdWVzdGVkO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5lZWRGZWVkYmFjayA9ICFsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgICAgICAgICAgICAgICAgYCR7RkVFREJBQ0tfVVNBR0VSU19MT0NBTF9TVE9SQUdFX1BSRUZJWH0ke3RoaXMuZ2V0RnVsbFJlZmVyZW5jZShtZXRhKX1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gdmlzaWJsZTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBuZWVkRmVlZGJhY2sgJiYgdmlzaWJsZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnNjcm9sbCcsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dTY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxFbmRlZCA9XG4gICAgICAgICAgICB3aW5kb3cuaW5uZXJIZWlnaHQgKyB3aW5kb3cuc2Nyb2xsWSA+PVxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQgLSAzMDtcbiAgICB9XG5cbiAgICBoaWRlTm90aWZpY2F0aW9uKCk6IHZvaWQge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgIEZFRURCQUNLX1VTQUdFUlNfTE9DQUxfU1RPUkFHRV9QUkVGSVggK1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RnVsbFJlZmVyZW5jZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXNkZW1IYW5kbGVyU2VydmljZS5sYXN0UmVzcG9uc2U/Lm1ldGFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgJ0RvbmUnXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMudmlzaWJsZSA9IG9mKGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRVcmwoXG4gICAgICAgIGFuc3dlcjogc3RyaW5nLFxuICAgICAgICBmZWVkYmFja1VzYWdlcjogRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUsXG4gICAgICAgIGZlZWRCYWNrRm9ybUJhc2VVcmw6IHN0cmluZyxcbiAgICAgICAgcmVmZXJlbmNlOiBzdHJpbmdcbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoIWZlZWRiYWNrVXNhZ2VyIHx8ICFmZWVkQmFja0Zvcm1CYXNlVXJsIHx8ICFyZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmYnUgPSB7IC4uLmZlZWRiYWNrVXNhZ2VyIH07XG4gICAgICAgIGZidS5hbnN3ZXIgPSBhbnN3ZXI7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0KGBhcGkvZmVlZGJhY2tub3RpZmljYXRpb24vcXVlcnlwYXJhbXMvJHtyZWZlcmVuY2V9YCwgZmJ1LCB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCdcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIGNyeXB0ZWRVcmxQYXJhbXMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGAke2ZlZWRCYWNrRm9ybUJhc2VVcmx9P3E9JHtlbmNvZGVVUklDb21wb25lbnQoY3J5cHRlZFVybFBhcmFtcyl9YFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDYXRlZ29yeShcbiAgICAgICAgc2Vzc2lvbkluZm9EYXRhOiBTZXNzaW9uSW5mb0RhdGEsXG4gICAgICAgIGV0YXBlSW5mbzogRXRhcGVJbmZvXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHNlc3Npb25JbmZvRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIHNlc3Npb25JbmZvRGF0YS5jYXRlZ29yaWVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBldGFwZUluZm8ucHVibGljQ2libGU/Lmxlbmd0aCA9PT0gMVxuICAgICAgICAgICAgPyBldGFwZUluZm8ucHVibGljQ2libGVbMF1cbiAgICAgICAgICAgIDogJ0luY29ubnUnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9ydGFpbEJhc2VVcmwoYXBwSW5mbzogQXBwbGljYXRpb25JbmZvKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGFwcEluZm8uZW52aXJvbm1lbnQgPT09ICdDTydcbiAgICAgICAgICAgID8gUE9SVEFJTF9CQVNFX1VSTF9JTlRcbiAgICAgICAgICAgIDogYCR7d2luZG93LmxvY2F0aW9uLm9yaWdpbn0vYDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZ1bGxSZWZlcmVuY2UobWV0YTogRm9ybU1ldGFkYXRhKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFtZXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7bWV0YS5yZWZlcmVuY2V9LSR7bWV0YS5jdXJyZW50QWN0aW9ufWA7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGlkPVwiZmVlZGJhY2stY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJleHBhbmRlZCA/ICdleHBhbmRlZCcgOiAncmVkdWNlZCdcIlxuICAgIFtjbGFzcy5vZmZzZXQtYm90dG9tXT1cImlzU2Nyb2xsRW5kZWRcIlxuICAgIFtjbGFzcy52aXNpYmxlXT1cInZpc2libGUgfCBhc3luY1wiXG4+XG4gICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJmZWVkYmFjay1jaGV2cm9uIGJ0biBidG4tbGlua1wiXG4gICAgICAgIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidmZWVkYmFjay1mb3JtJ1wiXG4gICAgPlxuICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd25cbiAgICAgICAgICAgICpuZ0lmPVwiZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi1kb3duJyB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICBcIlxuICAgICAgICA+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cFxuICAgICAgICAgICAgKm5nSWY9XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIidmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uY2hldnJvbi11cCcgfCBmcm9tRGljdGlvbmFyeVwiXG4gICAgICAgID48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stdGl0bGVcIiBjbGFzcz1cImg0XCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwiZXhwYW5kZWRcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24udGl0bGUtZXhwYW5kZWQnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFleHBhbmRlZFwiIChjbGljayk9XCJleHBhbmRlZCA9ICFleHBhbmRlZFwiPlxuICAgICAgICAgICAge3sgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50aXRsZS1yZWR1Y2VkJyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiZmVlZGJhY2stZm9ybVwiIFtjbGFzcy52aXNpYmxlXT1cImV4cGFuZGVkXCI+XG4gICAgICAgIDxsYWJlbD5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5xdWVzdGlvbi5RX05PVElGSUNBVElPTl9GQUNJTEVfQV9VVElMSVNFUidcbiAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHVsIGNsYXNzPVwidmQtbGlzdC1pY29ucyBtYi0wIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XG4gICAgICAgICAgICA8bGkgKGNsaWNrKT1cImhpZGVOb3RpZmljYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdvb2RVcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC1zdWNjZXNzXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5nb29kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb21EaWN0aW9uYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiZ29vZEljb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmdvb2QnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwibXgtMlwiIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJtZWRpdW1VcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC13YXJuaW5nXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxmYS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5tZWRpdW0nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJtZWRpdW1JY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgID48L2ZhLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb2Vobi1mZWVkYmFjay1ub3RpZmljYXRpb24uaWNvbi5tZWRpdW0nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIChjbGljayk9XCJoaWRlTm90aWZpY2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJiYWRVcmwgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgIHJlbD1cIm9wZW5lclwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic21pbGV5LWxpbmsgdGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGZhLWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpY29uXT1cImJhZEljb25OYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2aXN1YWxseS1oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi5pY29uLmJhZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class FoehnFeedbackNotificationType {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tZmVlZGJhY2stbm90aWZpY2F0aW9uL2ZvZWhuLWZlZWRiYWNrLW5vdGlmaWNhdGlvbi50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw2QkFBNkI7Q0FNekMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9laG5GZWVkYmFja05vdGlmaWNhdGlvblR5cGUge1xuICAgIGFuc3dlcjogc3RyaW5nO1xuICAgIGlkTWV0aWVyRXRhcGU6IHN0cmluZztcbiAgICBpc0Nvbm5lY3RlZDogYm9vbGVhbjtcbiAgICBiZW5lZmljaWFyeUNhdGVnb3J5OiBzdHJpbmc7XG4gICAgY3VycmVudEFjdGlvbjogbnVtYmVyO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const supportedBrowsers = /Edge?\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](12[
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsd2dDQUF3Z0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC9FZGdlP1xcLygxMls0LTldfDFbMy05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfEZpcmVmb3hcXC8oMXsyfVs1LTldfDFbMi05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfENocm9tKGl1bXxlKVxcLygxMDl8MVsxLTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8KE1hY2l8WDF7Mn0pLisgVmVyc2lvblxcLygxN1xcLihbNC05XXxcXGR7Mix9KXwoMVs4OV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKShbLC5dXFxkK3wpKCBcXChcXHcrXFwpfCkoIE1vYmlsZVxcL1xcdyt8KSBTYWZhcmlcXC98Q2hyb21lLitPUFJcXC8oMTA5fDFbMS05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCtcXC5cXGQrfChDUFVbICtdT1N8aVBob25lWyArXU9TfENQVVsgK11pUGhvbmV8Q1BVIElQaG9uZSBPU3xDUFUgaVBhZCBPUylbICtdKygxNVsuX10oWzYtOV18XFxkezIsfSl8KDFbNi05XXxbMi05XVxcZHxcXGR7Myx9KVsuX11cXGQrKShbLl9dXFxkK3wpfE9wZXJhIE1pbml8QW5kcm9pZDo/
|
|
1
|
+
export const supportedBrowsers = /Edge?\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](12[6-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[6-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[4-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydGVkLWJyb3dzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvc3VwcG9ydGVkLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsd2dDQUF3Z0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzdXBwb3J0ZWRCcm93c2VycyA9IC9FZGdlP1xcLygxMls0LTldfDFbMy05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfEZpcmVmb3hcXC8oMXsyfVs1LTldfDFbMi05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCsoXFwuXFxkK3wpfENocm9tKGl1bXxlKVxcLygxMDl8MVsxLTldXFxkfFsyLTldXFxkezJ9fFxcZHs0LH0pXFwuXFxkKyhcXC5cXGQrfCl8KE1hY2l8WDF7Mn0pLisgVmVyc2lvblxcLygxN1xcLihbNC05XXxcXGR7Mix9KXwoMVs4OV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKShbLC5dXFxkK3wpKCBcXChcXHcrXFwpfCkoIE1vYmlsZVxcL1xcdyt8KSBTYWZhcmlcXC98Q2hyb21lLitPUFJcXC8oMTA5fDFbMS05XVxcZHxbMi05XVxcZHsyfXxcXGR7NCx9KVxcLlxcZCtcXC5cXGQrfChDUFVbICtdT1N8aVBob25lWyArXU9TfENQVVsgK11pUGhvbmV8Q1BVIElQaG9uZSBPU3xDUFUgaVBhZCBPUylbICtdKygxNVsuX10oWzYtOV18XFxkezIsfSl8KDFbNi05XXxbMi05XVxcZHxcXGR7Myx9KVsuX11cXGQrKShbLl9dXFxkK3wpfE9wZXJhIE1pbml8QW5kcm9pZDo/WyAvLV0oMTJbNi05XXwxWzMtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSkoXFwuXFxkK3wpKFxcLlxcZCt8KXxNb2JpbGUgU2FmYXJpLitPUFJcXC8oWzg5XVxcZHxcXGR7Myx9KVxcLlxcZCtcXC5cXGQrfEFuZHJvaWQuK0ZpcmVmb3hcXC8oMTJbNy05XXwxWzMtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrKFxcLlxcZCt8KXxBbmRyb2lkLitDaHJvbShpdW18ZSlcXC8oMTJbNi05XXwxWzMtOV1cXGR8WzItOV1cXGR7Mn18XFxkezQsfSlcXC5cXGQrKFxcLlxcZCt8KXxBbmRyb2lkLisoVUM/ID9Ccm93c2VyfFVDV0VCfFUzKVsgL10/KDE1XFwuKFs1LTldfFxcZHsyLH0pfCgxWzYtOV18WzItOV1cXGR8XFxkezMsfSlcXC5cXGQrKVxcLlxcZCt8U2Ftc3VuZ0Jyb3dzZXJcXC8oMls0LTldfFszLTldXFxkfFxcZHszLH0pXFwuXFxkK3xBbmRyb2lkLitNUXsyfUJyb3dzZXJcXC8oMTQoXFwuKDl8XFxkezIsfSl8KXwoMVs1LTldfFsyLTldXFxkfFxcZHszLH0pKFxcLlxcZCt8KSkoXFwuXFxkK3wpfEtbQWFdW0lpXU9TXFwvKDJcXC4oWzUtOV18XFxkezIsfSl8KFszLTldfFxcZHsyLH0pXFwuXFxkKykoXFwuXFxkK3wpLztcbiJdfQ==
|
|
@@ -3657,6 +3657,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
3657
3657
|
args: [{ selector: 'foehn-icon-info-circle', template: "<fa-icon\n aria-hidden=\"true\"\n [title]=\"title ? title : defaultTitle\"\n [icon]=\"iconName\"\n></fa-icon>\n<span class=\"visually-hidden\">{{ title ? title : defaultTitle }}</span>\n" }]
|
|
3658
3658
|
}] });
|
|
3659
3659
|
|
|
3660
|
+
class FoehnFeedbackNotificationType {
|
|
3661
|
+
}
|
|
3662
|
+
|
|
3660
3663
|
class FoehnIconChevronDownComponent extends AbstractIconComponent {
|
|
3661
3664
|
constructor() {
|
|
3662
3665
|
super(...arguments);
|
|
@@ -3687,10 +3690,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
3687
3690
|
|
|
3688
3691
|
const FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX = 'FEEDBACK-USAGERS-';
|
|
3689
3692
|
class FoehnFeedbackNotificationComponent {
|
|
3690
|
-
constructor(applicationInfoService, sessionInfo, gesdemHandlerService) {
|
|
3693
|
+
constructor(applicationInfoService, sessionInfo, gesdemHandlerService, http) {
|
|
3691
3694
|
this.applicationInfoService = applicationInfoService;
|
|
3692
3695
|
this.sessionInfo = sessionInfo;
|
|
3693
3696
|
this.gesdemHandlerService = gesdemHandlerService;
|
|
3697
|
+
this.http = http;
|
|
3694
3698
|
this.goodIconName = faFaceSmile;
|
|
3695
3699
|
this.mediumIconName = faFaceMeh;
|
|
3696
3700
|
this.badIconName = faFaceFrown;
|
|
@@ -3698,23 +3702,21 @@ class FoehnFeedbackNotificationComponent {
|
|
|
3698
3702
|
this.applicationInfoService.data,
|
|
3699
3703
|
this.applicationInfoService.currentEtapeInfo,
|
|
3700
3704
|
this.sessionInfo.data.pipe(startWith(null)),
|
|
3701
|
-
this.gesdemHandlerService.updateFormDataSubject.pipe(startWith(null), map(() =>
|
|
3702
|
-
|
|
3703
|
-
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
return `${reference}-${this.gesdemHandlerService.lastResponse.meta.currentAction}`;
|
|
3707
|
-
}))
|
|
3708
|
-
]).pipe(filter$1(([, etapeInfo]) => !!etapeInfo), tap(([applicationInfo, etapeInfo, sessionInfoData, fullReference]) => {
|
|
3709
|
-
this.isConnected =
|
|
3705
|
+
this.gesdemHandlerService.updateFormDataSubject.pipe(startWith(null), map(() => this.gesdemHandlerService.lastResponse?.meta))
|
|
3706
|
+
]).pipe(filter$1(([, etapeInfo, , meta]) => !!etapeInfo && !!meta), tap(([applicationInfo, etapeInfo, sessionInfoData, meta]) => {
|
|
3707
|
+
const feedBackFormBaseUrl = `${this.getPortailBaseUrl(applicationInfo)}pub/101643/`;
|
|
3708
|
+
const feedbackUsager = new FoehnFeedbackNotificationType();
|
|
3709
|
+
feedbackUsager.isConnected =
|
|
3710
3710
|
!!sessionInfoData && !!sessionInfoData.context;
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
this.
|
|
3715
|
-
|
|
3711
|
+
feedbackUsager.idMetierEtape = etapeInfo.idMetierEtape;
|
|
3712
|
+
feedbackUsager.beneficiaryCategory = this.getCategory(sessionInfoData, etapeInfo);
|
|
3713
|
+
feedbackUsager.currentAction = meta?.currentAction;
|
|
3714
|
+
this.goodUrl = this.getUrl('good', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
3715
|
+
this.mediumUrl = this.getUrl('medium', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
3716
|
+
this.badUrl = this.getUrl('bad', feedbackUsager, feedBackFormBaseUrl, meta.reference);
|
|
3717
|
+
}), map(([, etapeInfo, , meta]) => {
|
|
3716
3718
|
const visible = etapeInfo?.userFeedbackRequested;
|
|
3717
|
-
const needFeedback = !localStorage.getItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX
|
|
3719
|
+
const needFeedback = !localStorage.getItem(`${FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX}${this.getFullReference(meta)}`);
|
|
3718
3720
|
this.expanded = visible;
|
|
3719
3721
|
return needFeedback && visible;
|
|
3720
3722
|
}));
|
|
@@ -3725,17 +3727,21 @@ class FoehnFeedbackNotificationComponent {
|
|
|
3725
3727
|
document.body.offsetHeight - 30;
|
|
3726
3728
|
}
|
|
3727
3729
|
hideNotification() {
|
|
3728
|
-
localStorage.setItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX +
|
|
3730
|
+
localStorage.setItem(FEEDBACK_USAGERS_LOCAL_STORAGE_PREFIX +
|
|
3731
|
+
this.getFullReference(this.gesdemHandlerService.lastResponse?.meta), 'Done');
|
|
3729
3732
|
this.visible = of(false);
|
|
3730
3733
|
}
|
|
3731
|
-
getUrl(answer) {
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3734
|
+
getUrl(answer, feedbackUsager, feedBackFormBaseUrl, reference) {
|
|
3735
|
+
if (!feedbackUsager || !feedBackFormBaseUrl || !reference) {
|
|
3736
|
+
return of(null);
|
|
3737
|
+
}
|
|
3738
|
+
const fbu = { ...feedbackUsager };
|
|
3739
|
+
fbu.answer = answer;
|
|
3740
|
+
return this.http
|
|
3741
|
+
.post(`api/feedbacknotification/queryparams/${reference}`, fbu, {
|
|
3742
|
+
responseType: 'text'
|
|
3743
|
+
})
|
|
3744
|
+
.pipe(map(cryptedUrlParams => `${feedBackFormBaseUrl}?q=${encodeURIComponent(cryptedUrlParams)}`));
|
|
3739
3745
|
}
|
|
3740
3746
|
getCategory(sessionInfoData, etapeInfo) {
|
|
3741
3747
|
if (sessionInfoData) {
|
|
@@ -3750,13 +3756,19 @@ class FoehnFeedbackNotificationComponent {
|
|
|
3750
3756
|
? PORTAIL_BASE_URL_INT
|
|
3751
3757
|
: `${window.location.origin}/`;
|
|
3752
3758
|
}
|
|
3753
|
-
|
|
3754
|
-
|
|
3759
|
+
getFullReference(meta) {
|
|
3760
|
+
if (!meta) {
|
|
3761
|
+
return null;
|
|
3762
|
+
}
|
|
3763
|
+
return `${meta.reference}-${meta.currentAction}`;
|
|
3764
|
+
}
|
|
3765
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnFeedbackNotificationComponent, deps: [{ token: ApplicationInfoService }, { token: SessionInfo }, { token: GesdemHandlerService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: FoehnFeedbackNotificationComponent, selector: "foehn-feedback-notification", host: { listeners: { "window:scroll": "onWindowScroll($event)" } }, ngImport: i0, template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: FoehnIconChevronDownComponent, selector: "foehn-icon-chevron-down" }, { kind: "component", type: FoehnIconChevronUpComponent, selector: "foehn-icon-chevron-up" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: SdkDictionaryPipe, name: "fromDictionary" }] }); }
|
|
3755
3767
|
}
|
|
3756
3768
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: FoehnFeedbackNotificationComponent, decorators: [{
|
|
3757
3769
|
type: Component,
|
|
3758
|
-
args: [{ selector: 'foehn-feedback-notification', template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"
|
|
3759
|
-
}], ctorParameters: () => [{ type: ApplicationInfoService }, { type: SessionInfo }, { type: GesdemHandlerService }], propDecorators: { onWindowScroll: [{
|
|
3770
|
+
args: [{ selector: 'foehn-feedback-notification', template: "<div\n id=\"feedback-container\"\n [ngClass]=\"expanded ? 'expanded' : 'reduced'\"\n [class.offset-bottom]=\"isScrollEnded\"\n [class.visible]=\"visible | async\"\n>\n <button\n type=\"button\"\n class=\"feedback-chevron btn btn-link\"\n (click)=\"expanded = !expanded\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"'feedback-form'\"\n >\n <foehn-icon-chevron-down\n *ngIf=\"expanded\"\n [title]=\"\n 'foehn-feedback-notification.chevron-down' | fromDictionary\n \"\n ></foehn-icon-chevron-down>\n <foehn-icon-chevron-up\n *ngIf=\"!expanded\"\n [title]=\"'foehn-feedback-notification.chevron-up' | fromDictionary\"\n ></foehn-icon-chevron-up>\n </button>\n <div id=\"feedback-title\" class=\"h4\">\n <span *ngIf=\"expanded\">\n {{ 'foehn-feedback-notification.title-expanded' | fromDictionary }}\n </span>\n <span *ngIf=\"!expanded\" (click)=\"expanded = !expanded\">\n {{ 'foehn-feedback-notification.title-reduced' | fromDictionary }}\n </span>\n </div>\n <div id=\"feedback-form\" [class.visible]=\"expanded\">\n <label>\n {{\n 'foehn-feedback-notification.question.Q_NOTIFICATION_FACILE_A_UTILISER'\n | fromDictionary\n }}\n </label>\n <ul class=\"vd-list-icons mb-0 d-flex justify-content-center\">\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"goodUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-success\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n \"\n [icon]=\"goodIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.good'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li class=\"mx-2\" (click)=\"hideNotification()\">\n <a\n [href]=\"mediumUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-warning\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n \"\n [icon]=\"mediumIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.medium'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n <li (click)=\"hideNotification()\">\n <a\n [href]=\"badUrl | async\"\n target=\"_blank\"\n rel=\"opener\"\n class=\"smiley-link text-danger\"\n >\n <fa-icon\n aria-hidden=\"true\"\n [title]=\"\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n \"\n [icon]=\"badIconName\"\n ></fa-icon>\n <span class=\"visually-hidden\">\n {{\n 'foehn-feedback-notification.icon.bad'\n | fromDictionary\n }}\n </span>\n </a>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["#feedback-container{display:none;position:fixed;bottom:0;right:0;color:#fff;background-color:var(--vd-neutral-dark);border:1px white solid;border-bottom:0;z-index:99999;transition:all .3s}#feedback-container.visible{display:block;animation:popout 1s}#feedback-container.offset-bottom{bottom:23px}#feedback-container.expanded{padding:15px;width:420px;height:175px;background-color:var(--vd-neutral-dark);border-top-left-radius:20px;border-top-right-radius:20px}#feedback-container.expanded #feedback-title{margin-top:0;text-align:center}#feedback-container.reduced{width:230px;height:35px;text-align:left;padding-left:12px}#feedback-container.reduced #feedback-title{margin-top:5px;cursor:pointer}#feedback-container .feedback-chevron{position:absolute;top:0;right:0}#feedback-container.expanded .feedback-chevron{border-top-right-radius:50%}#feedback-container #feedback-form{display:none}#feedback-container #feedback-form.visible{display:block;animation:fadeIn .5s}#feedback-container #feedback-form a{border:solid 1px var(--vd-neutral-dark);border-radius:50%;padding-left:11px;padding-right:11px}#feedback-container #feedback-form a:focus{background-color:var(--vd-neutral-dark)}#feedback-container #feedback-form .smiley-link{font-size:60px}:host ::ng-deep #feedback-container #feedback-form svg{transition:all .2s}:host ::ng-deep #feedback-container #feedback-form svg:hover,:host ::ng-deep #feedback-container #feedback-form svg:focus{transform:scale(1.3)}@keyframes fadeIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (min-width: 577px){@keyframes popout{0%{bottom:-175px}to{bottom:0}}}@media (max-width: 576px){#feedback-container{transform:scale(.8)}#feedback-container.expanded{right:-42px;bottom:-20px}#feedback-container.reduced{right:-29px;bottom:-3px}#feedback-container.expanded.offset-bottom{bottom:6px}#feedback-container.reduced.offset-bottom{bottom:20px}@keyframes popout{0%{bottom:-140px}to{bottom:-20px}}}\n"] }]
|
|
3771
|
+
}], ctorParameters: () => [{ type: ApplicationInfoService }, { type: SessionInfo }, { type: GesdemHandlerService }, { type: i1.HttpClient }], propDecorators: { onWindowScroll: [{
|
|
3760
3772
|
type: HostListener,
|
|
3761
3773
|
args: ['window:scroll', ['$event']]
|
|
3762
3774
|
}] } });
|
|
@@ -4611,7 +4623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
4611
4623
|
}]
|
|
4612
4624
|
}], ctorParameters: () => [{ type: SessionInfo }, { type: GesdemEventService }, { type: GesdemHandlerService }] });
|
|
4613
4625
|
|
|
4614
|
-
const supportedBrowsers = /Edge?\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](12[
|
|
4626
|
+
const supportedBrowsers = /Edge?\/(12[4-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[5-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(17\.([4-9]|\d{2,})|(1[89]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]([6-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Opera Mini|Android:?[ /-](12[6-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(12[7-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[6-9]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(2[4-9]|[3-9]\d|\d{3,})\.\d+|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(2\.([5-9]|\d{2,})|([3-9]|\d{2,})\.\d+)(\.\d+|)/;
|
|
4615
4627
|
|
|
4616
4628
|
class FoehnPageModalService {
|
|
4617
4629
|
constructor(applicationInfoService) {
|