@agorapulse/ui-components 16.2.11 → 16.2.12
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/agorapulse-ui-components-16.2.12.tgz +0 -0
- package/avatar/avatar.component.d.ts +1 -1
- package/esm2022/avatar/avatar.component.mjs +8 -6
- package/esm2022/input/input.component.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-avatar.mjs +7 -5
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input.mjs +2 -2
- package/fesm2022/agorapulse-ui-components-input.mjs.map +1 -1
- package/package.json +1 -1
- package/snackbars-thread/component/snackbars-thread.component.d.ts +1 -1
- package/agorapulse-ui-components-16.2.11.tgz +0 -0
|
Binary file
|
|
@@ -3,7 +3,7 @@ import { ElementRef, OnInit } from '@angular/core';
|
|
|
3
3
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;
|
|
6
|
-
export type AvatarNetwork = 'facebook' | 'instagram' | 'twitter' | 'linkedin' | 'tiktok' | 'youtube' | 'pinterest' | 'googleMyBusiness' | 'google' | '
|
|
6
|
+
export type AvatarNetwork = 'facebook' | 'instagram' | 'twitter' | 'linkedin' | 'tiktok' | 'youtube' | 'pinterest' | 'googleMyBusiness' | 'google' | 'webNews' | 'webBlogs' | 'X';
|
|
7
7
|
export declare class AvatarComponent implements OnInit {
|
|
8
8
|
private symbolRegistry;
|
|
9
9
|
private elementRef;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SymbolComponent, apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apPinterestOfficial, apShowTheaterMaskHappy, apSingleNeutral, apTiktokOfficial, apXOfficial, apYoutubeOfficial,
|
|
1
|
+
import { SymbolComponent, apFacebookOfficial, apGoogleMyBusinessOfficial, apLinkedinOfficial, apPinterestOfficial, apShowTheaterMaskHappy, apSingleNeutral, apTiktokOfficial, apXOfficial, apYoutubeOfficial, apWebBlogs, apWebNews, } from '@agorapulse/ui-symbol';
|
|
2
2
|
import { NgForOf, NgIf, NgOptimizedImage } from '@angular/common';
|
|
3
3
|
import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation, booleanAttribute, } from '@angular/core';
|
|
4
4
|
import { LetDirective } from '@ngrx/component';
|
|
@@ -58,7 +58,8 @@ export class AvatarComponent {
|
|
|
58
58
|
pinterest: 'pinterest-official',
|
|
59
59
|
googleMyBusiness: 'google-my-business-official',
|
|
60
60
|
google: 'google-my-business-official',
|
|
61
|
-
|
|
61
|
+
webNews: 'web-news',
|
|
62
|
+
webBlogs: 'web-blogs',
|
|
62
63
|
};
|
|
63
64
|
size$ = new BehaviorSubject(40);
|
|
64
65
|
profilePicture$ = new BehaviorSubject('');
|
|
@@ -126,7 +127,8 @@ export class AvatarComponent {
|
|
|
126
127
|
apGoogleMyBusinessOfficial,
|
|
127
128
|
apPinterestOfficial,
|
|
128
129
|
apXOfficial,
|
|
129
|
-
|
|
130
|
+
apWebBlogs,
|
|
131
|
+
apWebNews,
|
|
130
132
|
]);
|
|
131
133
|
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);
|
|
132
134
|
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);
|
|
@@ -182,11 +184,11 @@ export class AvatarComponent {
|
|
|
182
184
|
this.imageError$.next(true);
|
|
183
185
|
}
|
|
184
186
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
185
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: ["size", "size", avatarSizeAttribute] }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === '
|
|
187
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: ["size", "size", avatarSizeAttribute] }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlogs' || avatarViewModel.network === 'webNews'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network.x,ap-avatar .network.pinterest,ap-avatar .network.web{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
186
188
|
}
|
|
187
189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
188
190
|
type: Component,
|
|
189
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === '
|
|
191
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlogs' || avatarViewModel.network === 'webNews'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network.x,ap-avatar .network.pinterest,ap-avatar .network.web{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
190
192
|
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }]; }, propDecorators: { alternativeText: [{
|
|
191
193
|
type: Input
|
|
192
194
|
}], anonymous: [{
|
|
@@ -217,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
217
219
|
transform: avatarSizeAttribute,
|
|
218
220
|
}]
|
|
219
221
|
}] } });
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixhQUFhLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFnQjNFLE1BQU0sMEJBQTBCLEdBQStCO0lBQzNELEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxDQUFDO0lBQ0wsRUFBRSxFQUFFLENBQUM7SUFDTCxFQUFFLEVBQUUsQ0FBQztJQUNMLEVBQUUsRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQUVGLE1BQU0sc0JBQXNCLEdBQStCO0lBQ3ZELEVBQUUsRUFBRSxFQUFFO0lB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QUFTO3NCQUFyQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFLTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBS08sWUFBWTtzQkFBeEIsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixXQUFXO3VCQUFDLHNCQUFzQjtnQkFNL0IsT0FBTztzQkFIVixLQUFLO3VCQUFDO3dCQUNILFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCO2dCQVNHLElBQUk7c0JBSFAsS0FBSzt1QkFBQzt3QkFDSCxTQUFTLEVBQUUsbUJBQW1CO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgU3ltYm9sQ29tcG9uZW50LFxuICAgIFN5bWJvbFJlZ2lzdHJ5LFxuICAgIGFwRmFjZWJvb2tPZmZpY2lhbCxcbiAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgYXBQaW50ZXJlc3RPZmZpY2lhbCxcbiAgICBhcFNob3dUaGVhdGVyTWFza0hhcHB5LFxuICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgIGFwWE9mZmljaWFsLFxuICAgIGFwWW91dHViZU9mZmljaWFsLFxuICAgIGFwQ29tcGV0aXRvcnMsXG59IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBOZ0Zvck9mLCBOZ0lmLCBOZ09wdGltaXplZEltYWdlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBBdmF0YXJTaXplID0gNTYgfCA0OCB8IDQwIHwgMzYgfCAzMiB8IDI0IHwgMTY7XG5leHBvcnQgdHlwZSBBdmF0YXJOZXR3b3JrID1cbiAgICB8ICdmYWNlYm9vaydcbiAgICB8ICdpbnN0YWdyYW0nXG4gICAgfCAndHdpdHRlcidcbiAgICB8ICdsaW5rZWRpbidcbiAgICB8ICd0aWt0b2snXG4gICAgfCAneW91dHViZSdcbiAgICB8ICdwaW50ZXJlc3QnXG4gICAgfCAnZ29vZ2xlTXlCdXNpbmVzcydcbiAgICB8ICdnb29nbGUnXG4gICAgfCAnd2ViJ1xuICAgIHwgJ1gnO1xuXG5jb25zdCBvbmxpbmVJY29uU2l6ZUJ5QXZhdGFyU2l6ZTogUmVjb3JkPEF2YXRhclNpemUsIG51bWJlcj4gPSB7XG4gICAgNTY6IDE2LFxuICAgIDQ4OiAxMixcbiAgICA0MDogMTIsXG4gICAgMzY6IDgsXG4gICAgMzI6IDgsXG4gICAgMjQ6IDYsXG4gICAgMTY6IDYsXG59O1xuXG5jb25zdCBzeW1ib2xTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMjgsXG4gICAgNDg6IDI0LFxuICAgIDQwOiAyMCxcbiAgICAzNjogMTgsXG4gICAgMzI6IDE2LFxuICAgIDI0OiAxMixcbiAgICAxNjogOCxcbn07XG5cbmNvbnN0IG5ldHdvcmtTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMTYsXG4gICAgNDg6IDE2LFxuICAgIDQwOiAxNixcbiAgICAzNjogMTYsXG4gICAgMzI6IDEyLFxuICAgIDI0OiAxMixcbiAgICAxNjogOCxcbn07XG5cbmNvbnN0IGluaXRpYWxTaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMjgsXG4gICAgNDg6IDI0LFxuICAgIDQwOiAyMixcbiAgICAzNjogMTgsXG4gICAgMzI6IDE4LFxuICAgIDI0OiAxNCxcbiAgICAxNjogMTAsXG59O1xuXG5mdW5jdGlvbiBhdmF0YXJTaXplQXR0cmlidXRlKHZhbHVlOiBBdmF0YXJTaXplIHwgYCR7QXZhdGFyU2l6ZX1gKTogQXZhdGFyU2l6ZSB7XG4gICAgcmV0dXJuICt2YWx1ZSBhcyBBdmF0YXJTaXplO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzZWxlY3RvcjogJ2FwLWF2YXRhcicsXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3JPZiwgTmdPcHRpbWl6ZWRJbWFnZSwgU3ltYm9sQ29tcG9uZW50LCBMZXREaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdmF0YXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcmVhZG9ubHkgbmV0d29ya1N5bWJvbEJ5TmV0d29yazogUmVjb3JkPEF2YXRhck5ldHdvcmssIHN0cmluZz4gPSB7XG4gICAgICAgIGZhY2Vib29rOiAnZmFjZWJvb2stb2ZmaWNpYWwnLFxuICAgICAgICBpbnN0YWdyYW06ICdpbnN0YWdyYW0tb2ZmaWNpYWwnLFxuICAgICAgICBYOiAneC1vZmZpY2lhbCcsXG4gICAgICAgIHR3aXR0ZXI6ICd4LW9mZmljaWFsJyxcbiAgICAgICAgbGlua2VkaW46ICdsaW5rZWRpbi1vZmZpY2lhbCcsXG4gICAgICAgIHRpa3RvazogJ3Rpa3Rvay1vZmZpY2lhbCcsXG4gICAgICAgIHlvdXR1YmU6ICd5b3V0dWJlLW9mZmljaWFsJyxcbiAgICAgICAgcGludGVyZXN0OiAncGludGVyZXN0LW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlTXlCdXNpbmVzczogJ2dvb2dsZS1teS1idXNpbmVzcy1vZmZpY2lhbCcsXG4gICAgICAgIGdvb2dsZTogJ2dvb2dsZS1teS1idXNpbmVzcy1vZmZpY2lhbCcsXG4gICAgICAgIHdlYjogJ2NvbXBldGl0b3JzJ1xuICAgIH07XG5cbiAgICBzaXplJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJTaXplPig0MCk7XG4gICAgcHJvZmlsZVBpY3R1cmUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPignJyk7XG4gICAgbmV0d29yayQ6IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIHByaXZhdGUgYWx0ZXJuYXRpdmVUZXh0JDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgYW5vbnltb3VzJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSB1c2VybmFtZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIG9ubGluZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgc2hvd0luaXRpYWxzJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSByb3VuZGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAgIEBJbnB1dCgpIHNldCBhbHRlcm5hdGl2ZVRleHQoYWx0ZXJuYXRpdmVUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hbHRlcm5hdGl2ZVRleHQkLm5leHQoYWx0ZXJuYXRpdmVUZXh0KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYW5vbnltb3VzKGFub255bW91czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFub255bW91cyQubmV4dChhbm9ueW1vdXMpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB1c2VybmFtZSh1c2VybmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXNlcm5hbWUkLm5leHQodXNlcm5hbWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBuZXR3b3JrKG5ldHdvcms6IEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5uZXR3b3JrJC5uZXh0KG5ldHdvcmspO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItbmV0d29yay1zaXplJywgYCR7bmV0d29ya1NpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb25saW5lKG9ubGluZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9ubGluZSQubmV4dChvbmxpbmUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBwcm9maWxlUGljdHVyZShwcm9maWxlUGljdHVyZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucHJvZmlsZVBpY3R1cmUkLm5leHQocHJvZmlsZVBpY3R1cmUpO1xuICAgICAgICB0aGlzLmltYWdlRXJyb3IkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzaG93SW5pdGlhbHMoc2hvd0luaXRpYWxzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJC5uZXh0KHNob3dJbml0aWFscyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGFsdCA9ICcnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3VuZGVkLWF2YXRhcicpXG4gICAgcm91bmRlZEF2YXRhciA9IHRydWU7XG5cbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBzZXQgcm91bmRlZChyb3VuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucm91bmRlZEF2YXRhciA9IHJvdW5kZWQ7XG4gICAgICAgIHRoaXMucm91bmRlZCQubmV4dChyb3VuZGVkKTtcbiAgICB9XG5cbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGF2YXRhclNpemVBdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBzZXQgc2l6ZShzaXplOiBBdmF0YXJTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSQubmV4dChzaXplKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXNpemUnLCBgJHtzaXplfXB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbc2l6ZV19cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLW9ubGluZS1pY29uLXNpemUnLCBgJHtvbmxpbmVJY29uU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgIH1cblxuICAgIGRpc3BsYXlQcm9maWxlUGljdHVyZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheUluaXRpYWxzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheUFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGRpc3BsYXlOZXR3b3JrJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU9ubGluZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGltYWdlRXJyb3IkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBpbml0aWFscyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKTtcbiAgICBpbml0aWFsc0F2YWlsYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwQ29tcGV0aXRvcnNcbiAgICAgICAgXSk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zaXplJywgYDQwcHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXN5bWJvbC1zaXplJywgYCR7c3ltYm9sU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCA9IHRoaXMudXNlcm5hbWUkLnBpcGUoXG4gICAgICAgICAgICBtYXAodXNlcm5hbWUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAhIXVzZXJuYW1lO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnByb2ZpbGVQaWN0dXJlJCwgdGhpcy5hbm9ueW1vdXMkLCB0aGlzLmltYWdlRXJyb3IkLCB0aGlzLnNob3dJbml0aWFscyRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbcHJvZmlsZVBpY3R1cmUsIGFub255bW91cywgaW1hZ2VFcnJvcl0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFwcm9maWxlUGljdHVyZSAmJiAhYW5vbnltb3VzICYmICFpbWFnZUVycm9yO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJCxcbiAgICAgICAgICAgIHRoaXMuYW5vbnltb3VzJCxcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbHNBdmFpbGFibGUkLFxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbc2hvd0luaXRpYWxzLCBhbm9ueW1vdXMsIGluaXRpYWxzQXZhaWxhYmxlLCBkaXNwbGF5UHJvZmlsZVBpY3R1cmVdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNob3dJbml0aWFscyAmJiAhYW5vbnltb3VzICYmIGluaXRpYWxzQXZhaWxhYmxlICYmICFkaXNwbGF5UHJvZmlsZVBpY3R1cmU7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VFcnJvciQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJCxcbiAgICAgICAgICAgIHRoaXMuYW5vbnltb3VzJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUluaXRpYWxzJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBpbWFnZUVycm9yLCBpbml0aWFsc0F2YWlsYWJsZSwgc2hvd0luaXRpYWxzLCBhbm9ueW1vdXMsIGRpc3BsYXlJbml0aWFscywgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICghcHJvZmlsZVBpY3R1cmUgfHwgaW1hZ2VFcnJvciB8fCAhaW5pdGlhbHNBdmFpbGFibGUgfHwgKGluaXRpYWxzQXZhaWxhYmxlICYmICFzaG93SW5pdGlhbHMpKSAmJlxuICAgICAgICAgICAgICAgICAgICAhYW5vbnltb3VzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5SW5pdGlhbHMgJiZcbiAgICAgICAgICAgICAgICAgICAgIWRpc3BsYXlQcm9maWxlUGljdHVyZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheUFub255bW91cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmFub255bW91cyQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbYW5vbnltb3VzLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhbm9ueW1vdXMgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5T25saW5lJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMub25saW5lJCwgdGhpcy5yb3VuZGVkJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtvbmxpbmUsIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9ubGluZSAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlOZXR3b3JrJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmV0d29yayQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbbmV0d29yaywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISFuZXR3b3JrICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuaW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5kaXNwbGF5SW5pdGlhbHMkLCB0aGlzLnVzZXJuYW1lJF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtkaXNwbGF5SW5pdGlhbHMsIHVzZXJuYW1lXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgoZGlzcGxheUluaXRpYWxzICYmICF1c2VybmFtZSkgfHwgIWRpc3BsYXlJbml0aWFscykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgICAgICAgICAnLS1hcC1hdmF0YXItaW5pdGlhbHMtc2l6ZScsXG4gICAgICAgICAgICAgICAgICAgIGAke2luaXRpYWxTaXplQnlBdmF0YXJTaXplW3RoaXMuc2l6ZSQudmFsdWVdfXB4YFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3QgbmFtZXMgPSB1c2VybmFtZT8uc3BsaXQoJyAnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7bmFtZXNbMF0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9YDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25JbWFnZUVycm9yKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlRXJyb3IkLm5leHQodHJ1ZSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAgICpuZ3J4TGV0PVwie1xuICAgICAgICBkaXNwbGF5UHJvZmlsZVBpY3R1cmU6IGRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIGRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnOiBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZyQsXG4gICAgICAgIGRpc3BsYXlJbml0aWFsczogZGlzcGxheUluaXRpYWxzJCxcbiAgICAgICAgZGlzcGxheUFub255bW91czogZGlzcGxheUFub255bW91cyQsXG4gICAgICAgIGRpc3BsYXlPbmxpbmU6IGRpc3BsYXlPbmxpbmUkLFxuICAgICAgICBkaXNwbGF5TmV0d29yazogZGlzcGxheU5ldHdvcmskLFxuICAgICAgICBpbml0aWFsczogaW5pdGlhbHMkLFxuICAgICAgICBwcm9maWxlUGljdHVyZTogcHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBzaXplOiBzaXplJCxcbiAgICAgICAgbmV0d29yazogbmV0d29yayRcbiAgICB9IGFzIGF2YXRhclZpZXdNb2RlbFwiPlxuICAgIDxpbWdcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVByb2ZpbGVQaWN0dXJlXCJcbiAgICAgICAgW3NyY109XCJhdmF0YXJWaWV3TW9kZWwucHJvZmlsZVBpY3R1cmVcIlxuICAgICAgICBbd2lkdGhdPVwiYXZhdGFyVmlld01vZGVsLnNpemVcIlxuICAgICAgICBbaGVpZ2h0XT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgW2FsdF09XCJhbHRcIlxuICAgICAgICAoZXJyb3IpPVwib25JbWFnZUVycm9yKClcIiAvPlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheVNpbmdsZU5ldXRyYWxTdmdcIlxuICAgICAgICBjbGFzcz1cIm5vLXByb2ZpbGUtcGljdHVyZVwiPlxuICAgICAgICA8YXAtc3ltYm9sIHN5bWJvbElkPVwic2luZ2xlLW5ldXRyYWxcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF2YXRhclZpZXdNb2RlbC5kaXNwbGF5QW5vbnltb3VzXCJcbiAgICAgICAgY2xhc3M9XCJhbm9ueW1vdXNcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNob3ctdGhlYXRlci1tYXNrLWhhcHB5XCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlPbmxpbmVcIlxuICAgICAgICBjbGFzcz1cIm9ubGluZVwiPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheU5ldHdvcmtcIlxuICAgICAgICBjbGFzcz1cIm5ldHdvcmtcIlxuICAgICAgICBbY2xhc3MuZmFjZWJvb2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdmYWNlYm9vaydcIlxuICAgICAgICBbY2xhc3MubGlua2VkaW5dPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdsaW5rZWRpbidcIlxuICAgICAgICBbY2xhc3MudHdpdHRlcl09XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3R3aXR0ZXInXCJcbiAgICAgICAgW2NsYXNzLnhdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdYJ1wiXG4gICAgICAgIFtjbGFzcy55b3V0dWJlXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAneW91dHViZSdcIlxuICAgICAgICBbY2xhc3MuZ29vZ2xlTXlCdXNpbmVzc109XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ2dvb2dsZU15QnVzaW5lc3MnIHx8IGF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnZ29vZ2xlJ1wiXG4gICAgICAgIFtjbGFzcy5pbnN0YWdyYW1dPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdpbnN0YWdyYW0nXCJcbiAgICAgICAgW2NsYXNzLnRpa3Rva109XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3Rpa3RvaydcIlxuICAgICAgICBbY2xhc3MucGludGVyZXN0XT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAncGludGVyZXN0J1wiXG4gICAgICAgIFtjbGFzcy53ZWJdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd3ZWInXCI+XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmtcIlxuICAgICAgICAgICAgW3N5bWJvbElkXT1cIm5ldHdvcmtTeW1ib2xCeU5ldHdvcmtbYXZhdGFyVmlld01vZGVsLm5ldHdvcmtdXCIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheUluaXRpYWxzXCJcbiAgICAgICAgY2xhc3M9XCJpbml0aWFsc1wiPlxuICAgICAgICB7eyBhdmF0YXJWaWV3TW9kZWwuaW5pdGlhbHMgfX1cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9hdmF0YXIvc3JjL2F2YXRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvYXZhdGFyL3NyYy9hdmF0YXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixrQkFBa0IsRUFDbEIsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsc0JBQXNCLEVBQ3RCLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxHQUNaLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFpQjNFLE1BQU0sMEJBQTBCLEdBQStCO0lBQzNELEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxDQUFDO0lBQ0wsRUFBRSxFQUFFLENBQUM7SUFDTCxFQUFFLEVBQUUsQ0FBQztJQUNMLEVBQUUsRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQUVGLE1BQU0sc0JBQXNCLEdBQStCO0lBQ3ZELEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQStCO0lBQ3hELEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxDQUFDO0NBQ1IsQ0FBQztBQUVGLE1BQU0sdUJBQXVCLEdBQStCO0lBQ3hELEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0lBQ04sRUFBRSxFQUFFLEVBQUU7SUFDTixFQUFFLEVBQUUsRUFBRTtJQUNOLEVBQUUsRUFBRSxFQUFFO0NBQ1QsQ0FBQztBQUVGLFNBQVMsbUJBQW1CLENBQUMsS0FBbUM7SUFDNUQsT0FBTyxDQUFDLEtBQW1CLENBQUM7QUFDaEMsQ0FBQztBQVdELE1BQU0sT0FBTyxlQUFlO0lBeUZKO0lBQXdDO0lBeEZuRCxzQkFBc0IsR0FBa0M7UUFDN0QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLENBQUMsRUFBRSxZQUFZO1FBQ2YsT0FBTyxFQUFFLFlBQVk7UUFDckIsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixnQkFBZ0IsRUFBRSw2QkFBNkI7UUFDL0MsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxPQUFPLEVBQUUsVUFBVTtRQUNuQixRQUFRLEVBQUUsV0FBVztLQUN4QixDQUFDO0lBRUYsS0FBSyxHQUFnQyxJQUFJLGVBQWUsQ0FBYSxFQUFFLENBQUMsQ0FBQztJQUN6RSxlQUFlLEdBQXdDLElBQUksZUFBZSxDQUFxQixFQUFFLENBQUMsQ0FBQztJQUNuRyxRQUFRLEdBQStDLElBQUksZUFBZSxDQUE0QixTQUFTLENBQUMsQ0FBQztJQUV6RyxnQkFBZ0IsR0FBNEIsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUUsVUFBVSxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUMzRSxTQUFTLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLE9BQU8sR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDeEUsYUFBYSxHQUE2QixJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUM5RSxRQUFRLEdBQTZCLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBRWhGLElBQWEsZUFBZSxDQUFDLGVBQXVCO1FBQ2hELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLFNBQWtCO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFhLFFBQVEsQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsT0FBa0M7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xJLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxNQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFhLGNBQWMsQ0FBQyxjQUFrQztRQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBYSxZQUFZLENBQUMsWUFBcUI7UUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNRLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFHbEIsYUFBYSxHQUFHLElBQUksQ0FBQztJQUVyQixJQUdJLE9BQU8sQ0FBQyxPQUFnQjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFHSSxJQUFJLENBQUMsSUFBZ0I7UUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdILENBQUM7SUFFRCxzQkFBc0IsR0FBd0IsSUFBSSxVQUFVLEVBQVcsQ0FBQztJQUN4RSx3QkFBd0IsR0FBd0IsSUFBSSxVQUFVLEVBQVcsQ0FBQztJQUMxRSxnQkFBZ0IsR0FBd0IsSUFBSSxVQUFVLEVBQVcsQ0FBQztJQUNsRSxpQkFBaUIsR0FBd0IsSUFBSSxVQUFVLEVBQVcsQ0FBQztJQUNuRSxlQUFlLEdBQXdCLElBQUksVUFBVSxFQUFXLENBQUM7SUFDakUsY0FBYyxHQUF3QixJQUFJLFVBQVUsRUFBVyxDQUFDO0lBQ2hFLFdBQVcsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDNUUsU0FBUyxHQUF1QixJQUFJLFVBQVUsRUFBVSxDQUFDO0lBQ3pELGtCQUFrQixHQUF3QixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEQsWUFBb0IsY0FBOEIsRUFBVSxVQUFzQjtRQUE5RCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDO1lBQ2hDLGVBQWU7WUFDZixzQkFBc0I7WUFDdEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLFVBQVU7WUFDVixTQUFTO1NBQ1osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFLEdBQUcsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEksQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNYLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLHNCQUFzQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDM0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsT0FBTyxDQUFDLENBQUMsY0FBYyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxVQUFVO1lBQ2YsSUFBSSxDQUFDLGtCQUFrQjtZQUN2QixJQUFJLENBQUMsc0JBQXNCO1NBQzlCLENBQUMsQ0FBQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLEVBQUUsRUFBRTtZQUN4RSxPQUFPLFlBQVksSUFBSSxDQUFDLFNBQVMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3JGLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsd0JBQXdCLEdBQUcsYUFBYSxDQUFDO1lBQzFDLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxrQkFBa0I7WUFDdkIsSUFBSSxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsZ0JBQWdCO1lBQ3JCLElBQUksQ0FBQyxzQkFBc0I7U0FDOUIsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUscUJBQXFCLENBQUMsRUFBRSxFQUFFO1lBQ3JILE9BQU8sQ0FDSCxDQUFDLENBQUMsY0FBYyxJQUFJLFVBQVUsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDN0YsQ0FBQyxTQUFTO2dCQUNWLENBQUMsZUFBZTtnQkFDaEIsQ0FBQyxxQkFBcUIsQ0FDekIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDekIsT0FBTyxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUN2QixPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hFLEdBQUcsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUNwRCxPQUFPLEVBQUUsQ0FBQzthQUNiO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDM0MsMkJBQTJCLEVBQzNCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNuRCxDQUFDO1lBQ0YsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBekxRLGVBQWU7NEZBQWYsZUFBZSwyUkE4RFQsZ0JBQWdCLDBCQTNFMUIsbUJBQW1CLHFHQ3BGNUIsaXlFQTBEQSwwdUZEbUNjLElBQUksNkZBQTZCLGVBQWUsNkZBQUUsWUFBWTs7NEZBSS9ELGVBQWU7a0JBVDNCLFNBQVM7c0NBQ1csdUJBQXVCLENBQUMsTUFBTSxZQUNyQyxXQUFXLGNBRVQsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLGlCQUUxRCxpQkFBaUIsQ0FBQyxJQUFJOzhIQTZCeEIsZUFBZTtzQkFBM0IsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQUlPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBSU8sT0FBTztzQkFBbkIsS0FBSztnQkFLTyxNQUFNO3NCQUFsQixLQUFLO2dCQUlPLGNBQWM7c0JBQTFCLEtBQUs7Z0JBS08sWUFBWTtzQkFBeEIsS0FBSztnQkFHRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixXQUFXO3VCQUFDLHNCQUFzQjtnQkFNL0IsT0FBTztzQkFIVixLQUFLO3VCQUFDO3dCQUNILFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzlCO2dCQVNHLElBQUk7c0JBSFAsS0FBSzt1QkFBQzt3QkFDSCxTQUFTLEVBQUUsbUJBQW1CO3FCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgU3ltYm9sQ29tcG9uZW50LFxuICAgIFN5bWJvbFJlZ2lzdHJ5LFxuICAgIGFwRmFjZWJvb2tPZmZpY2lhbCxcbiAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgYXBQaW50ZXJlc3RPZmZpY2lhbCxcbiAgICBhcFNob3dUaGVhdGVyTWFza0hhcHB5LFxuICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICBhcFRpa3Rva09mZmljaWFsLFxuICAgIGFwWE9mZmljaWFsLFxuICAgIGFwWW91dHViZU9mZmljaWFsLFxuICAgIGFwV2ViQmxvZ3MsXG4gICAgYXBXZWJOZXdzLFxufSBmcm9tICdAYWdvcmFwdWxzZS91aS1zeW1ib2wnO1xuaW1wb3J0IHsgTmdGb3JPZiwgTmdJZiwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgQXZhdGFyU2l6ZSA9IDU2IHwgNDggfCA0MCB8IDM2IHwgMzIgfCAyNCB8IDE2O1xuZXhwb3J0IHR5cGUgQXZhdGFyTmV0d29yayA9XG4gICAgfCAnZmFjZWJvb2snXG4gICAgfCAnaW5zdGFncmFtJ1xuICAgIHwgJ3R3aXR0ZXInXG4gICAgfCAnbGlua2VkaW4nXG4gICAgfCAndGlrdG9rJ1xuICAgIHwgJ3lvdXR1YmUnXG4gICAgfCAncGludGVyZXN0J1xuICAgIHwgJ2dvb2dsZU15QnVzaW5lc3MnXG4gICAgfCAnZ29vZ2xlJ1xuICAgIHwgJ3dlYk5ld3MnXG4gICAgfCAnd2ViQmxvZ3MnXG4gICAgfCAnWCc7XG5cbmNvbnN0IG9ubGluZUljb25TaXplQnlBdmF0YXJTaXplOiBSZWNvcmQ8QXZhdGFyU2l6ZSwgbnVtYmVyPiA9IHtcbiAgICA1NjogMTYsXG4gICAgNDg6IDEyLFxuICAgIDQwOiAxMixcbiAgICAzNjogOCxcbiAgICAzMjogOCxcbiAgICAyNDogNixcbiAgICAxNjogNixcbn07XG5cbmNvbnN0IHN5bWJvbFNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAyOCxcbiAgICA0ODogMjQsXG4gICAgNDA6IDIwLFxuICAgIDM2OiAxOCxcbiAgICAzMjogMTYsXG4gICAgMjQ6IDEyLFxuICAgIDE2OiA4LFxufTtcblxuY29uc3QgbmV0d29ya1NpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAxNixcbiAgICA0ODogMTYsXG4gICAgNDA6IDE2LFxuICAgIDM2OiAxNixcbiAgICAzMjogMTIsXG4gICAgMjQ6IDEyLFxuICAgIDE2OiA4LFxufTtcblxuY29uc3QgaW5pdGlhbFNpemVCeUF2YXRhclNpemU6IFJlY29yZDxBdmF0YXJTaXplLCBudW1iZXI+ID0ge1xuICAgIDU2OiAyOCxcbiAgICA0ODogMjQsXG4gICAgNDA6IDIyLFxuICAgIDM2OiAxOCxcbiAgICAzMjogMTgsXG4gICAgMjQ6IDE0LFxuICAgIDE2OiAxMCxcbn07XG5cbmZ1bmN0aW9uIGF2YXRhclNpemVBdHRyaWJ1dGUodmFsdWU6IEF2YXRhclNpemUgfCBgJHtBdmF0YXJTaXplfWApOiBBdmF0YXJTaXplIHtcbiAgICByZXR1cm4gK3ZhbHVlIGFzIEF2YXRhclNpemU7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtYXZhdGFyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ0Zvck9mLCBOZ09wdGltaXplZEltYWdlLCBTeW1ib2xDb21wb25lbnQsIExldERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F2YXRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByZWFkb25seSBuZXR3b3JrU3ltYm9sQnlOZXR3b3JrOiBSZWNvcmQ8QXZhdGFyTmV0d29yaywgc3RyaW5nPiA9IHtcbiAgICAgICAgZmFjZWJvb2s6ICdmYWNlYm9vay1vZmZpY2lhbCcsXG4gICAgICAgIGluc3RhZ3JhbTogJ2luc3RhZ3JhbS1vZmZpY2lhbCcsXG4gICAgICAgIFg6ICd4LW9mZmljaWFsJyxcbiAgICAgICAgdHdpdHRlcjogJ3gtb2ZmaWNpYWwnLFxuICAgICAgICBsaW5rZWRpbjogJ2xpbmtlZGluLW9mZmljaWFsJyxcbiAgICAgICAgdGlrdG9rOiAndGlrdG9rLW9mZmljaWFsJyxcbiAgICAgICAgeW91dHViZTogJ3lvdXR1YmUtb2ZmaWNpYWwnLFxuICAgICAgICBwaW50ZXJlc3Q6ICdwaW50ZXJlc3Qtb2ZmaWNpYWwnLFxuICAgICAgICBnb29nbGVNeUJ1c2luZXNzOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgZ29vZ2xlOiAnZ29vZ2xlLW15LWJ1c2luZXNzLW9mZmljaWFsJyxcbiAgICAgICAgd2ViTmV3czogJ3dlYi1uZXdzJyxcbiAgICAgICAgd2ViQmxvZ3M6ICd3ZWItYmxvZ3MnLFxuICAgIH07XG5cbiAgICBzaXplJDogQmVoYXZpb3JTdWJqZWN0PEF2YXRhclNpemU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJTaXplPig0MCk7XG4gICAgcHJvZmlsZVBpY3R1cmUkOiBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPignJyk7XG4gICAgbmV0d29yayQ6IEJlaGF2aW9yU3ViamVjdDxBdmF0YXJOZXR3b3JrIHwgdW5kZWZpbmVkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXZhdGFyTmV0d29yayB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIHByaXZhdGUgYWx0ZXJuYXRpdmVUZXh0JDogQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgYW5vbnltb3VzJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSB1c2VybmFtZSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIG9ubGluZSQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgc2hvd0luaXRpYWxzJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSByb3VuZGVkJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICAgIEBJbnB1dCgpIHNldCBhbHRlcm5hdGl2ZVRleHQoYWx0ZXJuYXRpdmVUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5hbHRlcm5hdGl2ZVRleHQkLm5leHQoYWx0ZXJuYXRpdmVUZXh0KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgYW5vbnltb3VzKGFub255bW91czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFub255bW91cyQubmV4dChhbm9ueW1vdXMpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCB1c2VybmFtZSh1c2VybmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXNlcm5hbWUkLm5leHQodXNlcm5hbWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBuZXR3b3JrKG5ldHdvcms6IEF2YXRhck5ldHdvcmsgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5uZXR3b3JrJC5uZXh0KG5ldHdvcmspO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItbmV0d29yay1zaXplJywgYCR7bmV0d29ya1NpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgb25saW5lKG9ubGluZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLm9ubGluZSQubmV4dChvbmxpbmUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBwcm9maWxlUGljdHVyZShwcm9maWxlUGljdHVyZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucHJvZmlsZVBpY3R1cmUkLm5leHQocHJvZmlsZVBpY3R1cmUpO1xuICAgICAgICB0aGlzLmltYWdlRXJyb3IkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBzaG93SW5pdGlhbHMoc2hvd0luaXRpYWxzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuc2hvd0luaXRpYWxzJC5uZXh0KHNob3dJbml0aWFscyk7XG4gICAgfVxuICAgIEBJbnB1dCgpIGFsdCA9ICcnO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yb3VuZGVkLWF2YXRhcicpXG4gICAgcm91bmRlZEF2YXRhciA9IHRydWU7XG5cbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBzZXQgcm91bmRlZChyb3VuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMucm91bmRlZEF2YXRhciA9IHJvdW5kZWQ7XG4gICAgICAgIHRoaXMucm91bmRlZCQubmV4dChyb3VuZGVkKTtcbiAgICB9XG5cbiAgICBASW5wdXQoe1xuICAgICAgICB0cmFuc2Zvcm06IGF2YXRhclNpemVBdHRyaWJ1dGUsXG4gICAgfSlcbiAgICBzZXQgc2l6ZShzaXplOiBBdmF0YXJTaXplKSB7XG4gICAgICAgIHRoaXMuc2l6ZSQubmV4dChzaXplKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLXNpemUnLCBgJHtzaXplfXB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbc2l6ZV19cHhgKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYXAtYXZhdGFyLW9ubGluZS1pY29uLXNpemUnLCBgJHtvbmxpbmVJY29uU2l6ZUJ5QXZhdGFyU2l6ZVtzaXplXX1weGApO1xuICAgIH1cblxuICAgIGRpc3BsYXlQcm9maWxlUGljdHVyZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheUluaXRpYWxzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheUFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGRpc3BsYXlOZXR3b3JrJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gICAgZGlzcGxheU9ubGluZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBuZXcgT2JzZXJ2YWJsZTxib29sZWFuPigpO1xuICAgIGltYWdlRXJyb3IkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBpbml0aWFscyQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IG5ldyBPYnNlcnZhYmxlPHN0cmluZz4oKTtcbiAgICBpbml0aWFsc0F2YWlsYWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZihmYWxzZSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN5bWJvbFJlZ2lzdHJ5OiBTeW1ib2xSZWdpc3RyeSwgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFtcbiAgICAgICAgICAgIGFwU2luZ2xlTmV1dHJhbCxcbiAgICAgICAgICAgIGFwU2hvd1RoZWF0ZXJNYXNrSGFwcHksXG4gICAgICAgICAgICBhcEZhY2Vib29rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcExpbmtlZGluT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFlvdXR1YmVPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwVGlrdG9rT2ZmaWNpYWwsXG4gICAgICAgICAgICBhcEdvb2dsZU15QnVzaW5lc3NPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwUGludGVyZXN0T2ZmaWNpYWwsXG4gICAgICAgICAgICBhcFhPZmZpY2lhbCxcbiAgICAgICAgICAgIGFwV2ViQmxvZ3MsXG4gICAgICAgICAgICBhcFdlYk5ld3MsXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1hcC1hdmF0YXItc2l6ZScsIGA0MHB4YCk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWFwLWF2YXRhci1zeW1ib2wtc2l6ZScsIGAke3N5bWJvbFNpemVCeUF2YXRhclNpemVbdGhpcy5zaXplJC52YWx1ZV19cHhgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQgPSB0aGlzLnVzZXJuYW1lJC5waXBlKFxuICAgICAgICAgICAgbWFwKHVzZXJuYW1lID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gISF1c2VybmFtZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5UHJvZmlsZVBpY3R1cmUkID0gY29tYmluZUxhdGVzdChbdGhpcy5wcm9maWxlUGljdHVyZSQsIHRoaXMuYW5vbnltb3VzJCwgdGhpcy5pbWFnZUVycm9yJCwgdGhpcy5zaG93SW5pdGlhbHMkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Byb2ZpbGVQaWN0dXJlLCBhbm9ueW1vdXMsIGltYWdlRXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhcHJvZmlsZVBpY3R1cmUgJiYgIWFub255bW91cyAmJiAhaW1hZ2VFcnJvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5SW5pdGlhbHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxzQXZhaWxhYmxlJCxcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheVByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW3Nob3dJbml0aWFscywgYW5vbnltb3VzLCBpbml0aWFsc0F2YWlsYWJsZSwgZGlzcGxheVByb2ZpbGVQaWN0dXJlXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaG93SW5pdGlhbHMgJiYgIWFub255bW91cyAmJiBpbml0aWFsc0F2YWlsYWJsZSAmJiAhZGlzcGxheVByb2ZpbGVQaWN0dXJlO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5wcm9maWxlUGljdHVyZSQsXG4gICAgICAgICAgICB0aGlzLmltYWdlRXJyb3IkLFxuICAgICAgICAgICAgdGhpcy5pbml0aWFsc0F2YWlsYWJsZSQsXG4gICAgICAgICAgICB0aGlzLnNob3dJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmFub255bW91cyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlQcm9maWxlUGljdHVyZSQsXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtwcm9maWxlUGljdHVyZSwgaW1hZ2VFcnJvciwgaW5pdGlhbHNBdmFpbGFibGUsIHNob3dJbml0aWFscywgYW5vbnltb3VzLCBkaXNwbGF5SW5pdGlhbHMsIGRpc3BsYXlQcm9maWxlUGljdHVyZV0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAoIXByb2ZpbGVQaWN0dXJlIHx8IGltYWdlRXJyb3IgfHwgIWluaXRpYWxzQXZhaWxhYmxlIHx8IChpbml0aWFsc0F2YWlsYWJsZSAmJiAhc2hvd0luaXRpYWxzKSkgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFub255bW91cyAmJlxuICAgICAgICAgICAgICAgICAgICAhZGlzcGxheUluaXRpYWxzICYmXG4gICAgICAgICAgICAgICAgICAgICFkaXNwbGF5UHJvZmlsZVBpY3R1cmVcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmRpc3BsYXlBbm9ueW1vdXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5hbm9ueW1vdXMkLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2Fub255bW91cywgcm91bmRlZF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYW5vbnltb3VzICYmIHJvdW5kZWQ7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheU9ubGluZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm9ubGluZSQsIHRoaXMucm91bmRlZCRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbb25saW5lLCByb3VuZGVkXSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBvbmxpbmUgJiYgcm91bmRlZDtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5TmV0d29yayQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5ldHdvcmskLCB0aGlzLnJvdW5kZWQkXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW25ldHdvcmssIHJvdW5kZWRdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICEhbmV0d29yayAmJiByb3VuZGVkO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmluaXRpYWxzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZGlzcGxheUluaXRpYWxzJCwgdGhpcy51c2VybmFtZSRdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZGlzcGxheUluaXRpYWxzLCB1c2VybmFtZV0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKGRpc3BsYXlJbml0aWFscyAmJiAhdXNlcm5hbWUpIHx8ICFkaXNwbGF5SW5pdGlhbHMpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgJy0tYXAtYXZhdGFyLWluaXRpYWxzLXNpemUnLFxuICAgICAgICAgICAgICAgICAgICBgJHtpbml0aWFsU2l6ZUJ5QXZhdGFyU2l6ZVt0aGlzLnNpemUkLnZhbHVlXX1weGBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5hbWVzID0gdXNlcm5hbWU/LnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke25hbWVzWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfWA7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uSW1hZ2VFcnJvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZUVycm9yJC5uZXh0KHRydWUpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXJcbiAgICAqbmdyeExldD1cIntcbiAgICAgICAgZGlzcGxheVByb2ZpbGVQaWN0dXJlOiBkaXNwbGF5UHJvZmlsZVBpY3R1cmUkLFxuICAgICAgICBkaXNwbGF5U2luZ2xlTmV1dHJhbFN2ZzogZGlzcGxheVNpbmdsZU5ldXRyYWxTdmckLFxuICAgICAgICBkaXNwbGF5SW5pdGlhbHM6IGRpc3BsYXlJbml0aWFscyQsXG4gICAgICAgIGRpc3BsYXlBbm9ueW1vdXM6IGRpc3BsYXlBbm9ueW1vdXMkLFxuICAgICAgICBkaXNwbGF5T25saW5lOiBkaXNwbGF5T25saW5lJCxcbiAgICAgICAgZGlzcGxheU5ldHdvcms6IGRpc3BsYXlOZXR3b3JrJCxcbiAgICAgICAgaW5pdGlhbHM6IGluaXRpYWxzJCxcbiAgICAgICAgcHJvZmlsZVBpY3R1cmU6IHByb2ZpbGVQaWN0dXJlJCxcbiAgICAgICAgc2l6ZTogc2l6ZSQsXG4gICAgICAgIG5ldHdvcms6IG5ldHdvcmskXG4gICAgfSBhcyBhdmF0YXJWaWV3TW9kZWxcIj5cbiAgICA8aW1nXG4gICAgICAgICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlQcm9maWxlUGljdHVyZVwiXG4gICAgICAgIFtzcmNdPVwiYXZhdGFyVmlld01vZGVsLnByb2ZpbGVQaWN0dXJlXCJcbiAgICAgICAgW3dpZHRoXT1cImF2YXRhclZpZXdNb2RlbC5zaXplXCJcbiAgICAgICAgW2hlaWdodF09XCJhdmF0YXJWaWV3TW9kZWwuc2l6ZVwiXG4gICAgICAgIFthbHRdPVwiYWx0XCJcbiAgICAgICAgKGVycm9yKT1cIm9uSW1hZ2VFcnJvcigpXCIgLz5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlTaW5nbGVOZXV0cmFsU3ZnXCJcbiAgICAgICAgY2xhc3M9XCJuby1wcm9maWxlLXBpY3R1cmVcIj5cbiAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cInNpbmdsZS1uZXV0cmFsXCIgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwuZGlzcGxheUFub255bW91c1wiXG4gICAgICAgIGNsYXNzPVwiYW5vbnltb3VzXCI+XG4gICAgICAgIDxhcC1zeW1ib2wgc3ltYm9sSWQ9XCJzaG93LXRoZWF0ZXItbWFzay1oYXBweVwiIC8+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF2YXRhclZpZXdNb2RlbC5kaXNwbGF5T25saW5lXCJcbiAgICAgICAgY2xhc3M9XCJvbmxpbmVcIj48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiYXZhdGFyVmlld01vZGVsLmRpc3BsYXlOZXR3b3JrXCJcbiAgICAgICAgY2xhc3M9XCJuZXR3b3JrXCJcbiAgICAgICAgW2NsYXNzLmZhY2Vib29rXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnZmFjZWJvb2snXCJcbiAgICAgICAgW2NsYXNzLmxpbmtlZGluXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnbGlua2VkaW4nXCJcbiAgICAgICAgW2NsYXNzLnR3aXR0ZXJdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd0d2l0dGVyJ1wiXG4gICAgICAgIFtjbGFzcy54XT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnWCdcIlxuICAgICAgICBbY2xhc3MueW91dHViZV09XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3lvdXR1YmUnXCJcbiAgICAgICAgW2NsYXNzLmdvb2dsZU15QnVzaW5lc3NdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICdnb29nbGVNeUJ1c2luZXNzJyB8fCBhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ2dvb2dsZSdcIlxuICAgICAgICBbY2xhc3MuaW5zdGFncmFtXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnaW5zdGFncmFtJ1wiXG4gICAgICAgIFtjbGFzcy50aWt0b2tdPVwiYXZhdGFyVmlld01vZGVsLm5ldHdvcmsgPT09ICd0aWt0b2snXCJcbiAgICAgICAgW2NsYXNzLnBpbnRlcmVzdF09XCJhdmF0YXJWaWV3TW9kZWwubmV0d29yayA9PT0gJ3BpbnRlcmVzdCdcIlxuICAgICAgICBbY2xhc3Mud2ViXT1cImF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnd2ViQmxvZ3MnIHx8IGF2YXRhclZpZXdNb2RlbC5uZXR3b3JrID09PSAnd2ViTmV3cydcIj5cbiAgICAgICAgPGFwLXN5bWJvbFxuICAgICAgICAgICAgKm5nSWY9XCJhdmF0YXJWaWV3TW9kZWwubmV0d29ya1wiXG4gICAgICAgICAgICBbc3ltYm9sSWRdPVwibmV0d29ya1N5bWJvbEJ5TmV0d29ya1thdmF0YXJWaWV3TW9kZWwubmV0d29ya11cIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImF2YXRhclZpZXdNb2RlbC5kaXNwbGF5SW5pdGlhbHNcIlxuICAgICAgICBjbGFzcz1cImluaXRpYWxzXCI+XG4gICAgICAgIHt7IGF2YXRhclZpZXdNb2RlbC5pbml0aWFscyB9fVxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -111,7 +111,7 @@ export class InputComponent {
|
|
|
111
111
|
useExisting: InputComponent,
|
|
112
112
|
multi: true,
|
|
113
113
|
},
|
|
114
|
-
], queries: [{ propertyName: "symbols", predicate: SymbolComponent }], viewQueries: [{ propertyName: "symbolWrapper", first: true, predicate: ["symbol"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:var(--comp-input-padding-horizontal)
|
|
114
|
+
], queries: [{ propertyName: "symbols", predicate: SymbolComponent }], viewQueries: [{ propertyName: "symbolWrapper", first: true, predicate: ["symbol"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:0 var(--comp-input-padding-horizontal);flex:1;font-size:var(--comp-input-text-size);font-weight:var(--comp-input-text-font-weight);line-height:var(--comp-input-text-line-height);font-family:var(--comp-input-text-font-family);color:var(--comp-input-text-default-color);min-width:0}ap-input .input-wrapper .content input::placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content input:disabled{cursor:not-allowed;pointer-events:none;background:var(--comp-input-fill-disabled-color)}ap-input .input-wrapper .content input:disabled:placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content .counter{font-size:var(--comp-input-text-counter-size);font-weight:var(--comp-input-text-counter-font-weight);line-height:var(--comp-input-text-counter-line-height);font-family:var(--comp-input-text-counter-font-family);color:var(--comp-input-text-counter-color);padding-right:var(--comp-input-spacing-horizontal)}ap-input .input-wrapper .content .clear-button{display:flex;align-items:center;justify-content:center;border:none;margin:0;padding:0 var(--comp-input-spacing-horizontal) 0 0;background-color:transparent}ap-input .input-wrapper .content .clear-button:hover{cursor:pointer}ap-input .input-wrapper .content .clear-button ap-symbol{padding:0}ap-input .input-wrapper .prefix,ap-input .input-wrapper .suffix{height:100%;display:flex;justify-content:center;align-items:center;font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--ref-font-family);color:var(--ref-color-grey-100)}ap-input .input-wrapper .prefix .divider,ap-input .input-wrapper .suffix .divider{height:18px;width:var(--border-width);background:var(--ref-color-grey-10)}ap-input .input-wrapper ap-symbol{height:var(--comp-input-icon-size);width:var(--comp-input-icon-size);min-height:var(--comp-input-icon-size);min-width:var(--comp-input-icon-size);max-height:var(--comp-input-icon-size);max-width:var(--comp-input-icon-size);color:var(--comp-input-icon-color);padding-right:var(--comp-input-padding-horizontal);pointer-events:none;box-sizing:content-box}ap-input .input-wrapper ap-symbol:hover{cursor:text}ap-input .input-wrapper.inverse{flex-direction:row-reverse}ap-input .input-wrapper.inverse.with-icon input{padding-left:0}ap-input .input-wrapper.inverse.with-icon ap-symbol{padding-right:var(--comp-input-spacing-horizontal);padding-left:var(--comp-input-padding-horizontal)}ap-input .input-wrapper.with-icon input{padding-right:var(--ref-spacing-xxxs)}ap-input .input-wrapper.with-prefix input{padding-left:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-prefix .prefix{padding-left:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix input{padding-right:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix .suffix{padding-right:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-counter input{padding-right:0}ap-input .input-wrapper.with-error{border-color:var(--comp-input-border-error-color)}ap-input .input-wrapper.with-success{border-color:var(--comp-input-border-success-color)}.form-message{font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--sys-text-style-body-font-family);margin:0;display:flex;gap:var(--ref-spacing-xxxs)}.form-message.error{color:var(--comp-forms-status-text-error-color)}.form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.form-message.success{color:var(--comp-forms-status-text-success-color)}.form-message.success ap-symbol{color:var(--comp-forms-status-icon-success-color)}form.ng-submitted ap-input.ng-valid .input-wrapper{border-color:var(--comp-input-border-success-color)}form.ng-submitted ap-input.ng-invalid .input-wrapper{border-color:var(--comp-input-border-error-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
115
115
|
}
|
|
116
116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: InputComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
@@ -122,7 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
122
122
|
useExisting: InputComponent,
|
|
123
123
|
multi: true,
|
|
124
124
|
},
|
|
125
|
-
], encapsulation: ViewEncapsulation.None, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:var(--comp-input-padding-horizontal)
|
|
125
|
+
], encapsulation: ViewEncapsulation.None, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:0 var(--comp-input-padding-horizontal);flex:1;font-size:var(--comp-input-text-size);font-weight:var(--comp-input-text-font-weight);line-height:var(--comp-input-text-line-height);font-family:var(--comp-input-text-font-family);color:var(--comp-input-text-default-color);min-width:0}ap-input .input-wrapper .content input::placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content input:disabled{cursor:not-allowed;pointer-events:none;background:var(--comp-input-fill-disabled-color)}ap-input .input-wrapper .content input:disabled:placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content .counter{font-size:var(--comp-input-text-counter-size);font-weight:var(--comp-input-text-counter-font-weight);line-height:var(--comp-input-text-counter-line-height);font-family:var(--comp-input-text-counter-font-family);color:var(--comp-input-text-counter-color);padding-right:var(--comp-input-spacing-horizontal)}ap-input .input-wrapper .content .clear-button{display:flex;align-items:center;justify-content:center;border:none;margin:0;padding:0 var(--comp-input-spacing-horizontal) 0 0;background-color:transparent}ap-input .input-wrapper .content .clear-button:hover{cursor:pointer}ap-input .input-wrapper .content .clear-button ap-symbol{padding:0}ap-input .input-wrapper .prefix,ap-input .input-wrapper .suffix{height:100%;display:flex;justify-content:center;align-items:center;font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--ref-font-family);color:var(--ref-color-grey-100)}ap-input .input-wrapper .prefix .divider,ap-input .input-wrapper .suffix .divider{height:18px;width:var(--border-width);background:var(--ref-color-grey-10)}ap-input .input-wrapper ap-symbol{height:var(--comp-input-icon-size);width:var(--comp-input-icon-size);min-height:var(--comp-input-icon-size);min-width:var(--comp-input-icon-size);max-height:var(--comp-input-icon-size);max-width:var(--comp-input-icon-size);color:var(--comp-input-icon-color);padding-right:var(--comp-input-padding-horizontal);pointer-events:none;box-sizing:content-box}ap-input .input-wrapper ap-symbol:hover{cursor:text}ap-input .input-wrapper.inverse{flex-direction:row-reverse}ap-input .input-wrapper.inverse.with-icon input{padding-left:0}ap-input .input-wrapper.inverse.with-icon ap-symbol{padding-right:var(--comp-input-spacing-horizontal);padding-left:var(--comp-input-padding-horizontal)}ap-input .input-wrapper.with-icon input{padding-right:var(--ref-spacing-xxxs)}ap-input .input-wrapper.with-prefix input{padding-left:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-prefix .prefix{padding-left:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix input{padding-right:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix .suffix{padding-right:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-counter input{padding-right:0}ap-input .input-wrapper.with-error{border-color:var(--comp-input-border-error-color)}ap-input .input-wrapper.with-success{border-color:var(--comp-input-border-success-color)}.form-message{font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--sys-text-style-body-font-family);margin:0;display:flex;gap:var(--ref-spacing-xxxs)}.form-message.error{color:var(--comp-forms-status-text-error-color)}.form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.form-message.success{color:var(--comp-forms-status-text-success-color)}.form-message.success ap-symbol{color:var(--comp-forms-status-icon-success-color)}form.ng-submitted ap-input.ng-valid .input-wrapper{border-color:var(--comp-input-border-success-color)}form.ng-submitted ap-input.ng-invalid .input-wrapper{border-color:var(--comp-input-border-error-color)}\n"] }]
|
|
126
126
|
}], propDecorators: { symbols: [{
|
|
127
127
|
type: ContentChildren,
|
|
128
128
|
args: [SymbolComponent]
|
|
@@ -179,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
179
179
|
}], keyup: [{
|
|
180
180
|
type: Output
|
|
181
181
|
}] } });
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2lucHV0L3NyYy9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5wdXQvc3JjL2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBMEJsSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQXNCRixNQUFNLE9BQU8sY0FBYztJQUNkLFVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsY0FBYyxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFL0IsT0FBTyxDQUE4QjtJQUNsRCxhQUFhLENBQWM7SUFDNUIsWUFBWSxDQUFjO0lBRXJDLFNBQVMsQ0FBVTtJQUVuQixjQUFjLENBQVU7SUFFeEIs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O2dCQUNYLGFBQWE7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxZQUFZO3NCQUEvQixTQUFTO3VCQUFDLE9BQU87Z0JBRVQsU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUtOLElBQUk7c0JBSEgsS0FBSzt1QkFBQzt3QkFDSCxRQUFRLEVBQUUsSUFBSTtxQkFDakI7Z0JBR1EsS0FBSztzQkFBYixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLEtBQUs7c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50LCBTeW1ib2xSZWdpc3RyeSwgYXBBbGVydENpcmNsZSwgYXBDaGVja0NpcmNsZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBXcml0YWJsZVNpZ25hbCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxudHlwZSBJbnB1dFR5cGUgPVxuICAgIHwgJ2J1dHRvbidcbiAgICB8ICdjaGVja2JveCdcbiAgICB8ICdjb2xvcidcbiAgICB8ICdkYXRldGltZSdcbiAgICB8ICdkYXRldGltZS1sb2NhbCdcbiAgICB8ICdlbWFpbCdcbiAgICB8ICdmaWxlJ1xuICAgIHwgJ2hpZGRlbidcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdtb250aCdcbiAgICB8ICdudW1iZXInXG4gICAgfCAncGFzc3dvcmQnXG4gICAgfCAncmFkaW8nXG4gICAgfCAncmFuZ2UnXG4gICAgfCAncmVzZXQnXG4gICAgfCAnc2VhcmNoJ1xuICAgIHwgJ3N1Ym1pdCdcbiAgICB8ICd0ZXh0J1xuICAgIHwgJ3RlbCdcbiAgICB8ICd0aW1lJ1xuICAgIHwgJ3VybCdcbiAgICB8ICd3ZWVrJztcblxuZXhwb3J0IGNvbnN0IEFQX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1pbnB1dCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgU3ltYm9sQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQVBfSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUixcblxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsXG5cbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcmVhZG9ubHkgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5ID0gaW5qZWN0KFN5bWJvbFJlZ2lzdHJ5KTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oU3ltYm9sQ29tcG9uZW50KSBzeW1ib2xzITogUXVlcnlMaXN0PFN5bWJvbENvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnc3ltYm9sJykgc3ltYm9sV3JhcHBlciE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnkhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkQnkhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpbnB1dFR5cGU6IElucHV0VHlwZSA9ICd0ZXh0JztcblxuICAgIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIG5hbWUhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJlZml4Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3VmZml4Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGVycm9yTWVzc2FnZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3ltYm9sSWQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ltYm9sUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBrZXl1cCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIHByaXZhdGUgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4hOiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQ7XG5cbiAgICBob3N0RGF0YVRlc3Q6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgdmFsdWUhOiBzdHJpbmcgfCBudWxsO1xuXG4gICAgb25Ub3VjaGVkITogKCkgPT4gdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5sYWJlbCAmJiAhdGhpcy5pbnB1dElkKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignWW91IGhhdmUgdG8gcHJvdmlkZSBhbiBpbnB1dCBpZCBpZiB5b3Ugd2FudCB0byB1c2UgYSBsYWJlbC4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3REYXRhVGVzdC5zZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRlc3QnKSk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS10ZXN0Jyk7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFthcEFsZXJ0Q2lyY2xlLCBhcENoZWNrQ2lyY2xlXSk7XG4gICAgfVxuXG4gICAgLy8gU29tZXRpbWVzIGF0dHJpYnV0ZXMgbGlrZSB0aGUgaWQsIG9yIHRoZSBkYXRhLXRlc3QgYXJlIGR5bmFtaWMgYW5kIGNhbiBjaGFuZ2UgYmV0d2VlbiB0aGUgY29uc3RydWN0b3IgYW5kIHRoZSBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBJbiBvcmRlciB0byBoYXZlIHRoZSBsYXN0IGF0dHJpYnV0ZXMgdmFsdWUgd2UgY2hlY2sgaWYgaXQgY2hhbmdlcywgYW5kIGlmIGl0IGRvZXMsIHdlIHJ1biBhIG1hcmsgZm9yIGNoZWNrIHRvIHVwZGF0ZSB0aGUgdmlldy5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhvc3REYXRhVGVzdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10ZXN0Jyk7XG5cbiAgICAgICAgaWYgKGhvc3REYXRhVGVzdCAmJiB0aGlzLmhvc3REYXRhVGVzdCgpICE9PSBob3N0RGF0YVRlc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdERhdGFUZXN0LnNldChob3N0RGF0YVRlc3QpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXRlc3QnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlKHsgdmFsdWUgfTogRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgY29uc3QgaXNOb3RWYWxpZCA9ICF0aGlzLnZhbHVlICYmIHRoaXMucmVxdWlyZWQ7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05vdFZhbGlkICYmIHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkOiB0cnVlLFxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CbHVySGFuZGxlKCRldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJsdXIuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNIYW5kbGUoJGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uS2V5dXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5dXAuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShudWxsKTtcbiAgICB9XG59XG4iLCI8bGFiZWxcbiAgICAqbmdJZj1cImxhYmVsXCJcbiAgICBbZm9yXT1cImlucHV0SWRcIj5cbiAgICA8c3Bhbj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3NwYW4+XG48L2xhYmVsPlxuXG48ZGl2XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgIFtjbGFzcy5pbnZlcnNlXT1cInN5bWJvbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgIFtjbGFzcy53aXRoLWljb25dPVwic3ltYm9sSWRcIlxuICAgIFtjbGFzcy53aXRoLXByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtjbGFzcy53aXRoLXN1ZmZpeF09XCJzdWZmaXhcIlxuICAgIFtjbGFzcy53aXRoLWVycm9yXT1cImVycm9yTWVzc2FnZVwiXG4gICAgW2NsYXNzLndpdGgtc3VjY2Vzc109XCJzdWNjZXNzTWVzc2FnZVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZD8udG9TdHJpbmcoKVwiXG4gICAgKGNsaWNrKT1cImZvY3VzSW5wdXQoKVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiZm9jdXNJbnB1dCgpXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInByZWZpeFwiXG4gICAgICAgIGNsYXNzPVwicHJlZml4XCI+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3sgcHJlZml4IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiaG9zdERhdGFUZXN0KCkgPyBob3N0RGF0YVRlc3QoKSA6IG5hbWVcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXJIYW5kbGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1c0hhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgLz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNsZWFyYWJsZVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xlYXItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcigpXCI+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cImNsb3NlXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic3VmZml4XCJcbiAgICAgICAgY2xhc3M9XCJzdWZmaXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IHN1ZmZpeCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cInN5bWJvbElkXCI+XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgIHNpemU9XCJtaWNyb1wiXG4gICAgICAgICAgICBbc3ltYm9sSWRdPVwic3ltYm9sSWRcIlxuICAgICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdJZj1cImVycm9yTWVzc2FnZVwiXG4gICAgY2xhc3M9XCJmb3JtLW1lc3NhZ2UgZXJyb3JcIj5cbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHN5bWJvbElkPVwiYWxlcnQtY2lyY2xlXCJcbiAgICAgICAgc2l6ZT1cIm1pY3JvXCIgLz5cbiAgICA8c3Bhbj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdJZj1cInN1Y2Nlc3NNZXNzYWdlXCJcbiAgICBjbGFzcz1cImZvcm0tbWVzc2FnZSBzdWNjZXNzXCI+XG4gICAgPGFwLXN5bWJvbFxuICAgICAgICBzeW1ib2xJZD1cImNoZWNrLWNpcmNsZVwiXG4gICAgICAgIHNpemU9XCJtaWNyb1wiIC8+XG4gICAgPHNwYW4+XG4gICAgICAgIHt7IHN1Y2Nlc3NNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL2lucHV0L3NyYy9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvaW5wdXQvc3JjL2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBMEJsSCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQXNCRixNQUFNLE9BQU8sY0FBYztJQUNkLFVBQVUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsY0FBYyxHQUFtQixNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFL0IsT0FBTyxDQUE4QjtJQUNsRCxhQUFhLENBQWM7SUFDNUIsWUFBWSxDQUFjO0lBRXJDLFNBQVMsQ0FBVTtJQUVuQixjQUFjLENBQVU7SUFFeEIs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O2dCQUNYLGFBQWE7c0JBQWpDLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxZQUFZO3NCQUEvQixTQUFTO3VCQUFDLE9BQU87Z0JBRVQsU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUtOLElBQUk7c0JBSEgsS0FBSzt1QkFBQzt3QkFDSCxRQUFRLEVBQUUsSUFBSTtxQkFDakI7Z0JBR1EsS0FBSztzQkFBYixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFa0MsUUFBUTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFN0IsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLEtBQUs7c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ltYm9sQ29tcG9uZW50LCBTeW1ib2xSZWdpc3RyeSwgYXBBbGVydENpcmNsZSwgYXBDaGVja0NpcmNsZSB9IGZyb20gJ0BhZ29yYXB1bHNlL3VpLXN5bWJvbCc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBXcml0YWJsZVNpZ25hbCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0LFxuICAgIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIEZvcm1zTW9kdWxlLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxudHlwZSBJbnB1dFR5cGUgPVxuICAgIHwgJ2J1dHRvbidcbiAgICB8ICdjaGVja2JveCdcbiAgICB8ICdjb2xvcidcbiAgICB8ICdkYXRldGltZSdcbiAgICB8ICdkYXRldGltZS1sb2NhbCdcbiAgICB8ICdlbWFpbCdcbiAgICB8ICdmaWxlJ1xuICAgIHwgJ2hpZGRlbidcbiAgICB8ICdpbWFnZSdcbiAgICB8ICdtb250aCdcbiAgICB8ICdudW1iZXInXG4gICAgfCAncGFzc3dvcmQnXG4gICAgfCAncmFkaW8nXG4gICAgfCAncmFuZ2UnXG4gICAgfCAncmVzZXQnXG4gICAgfCAnc2VhcmNoJ1xuICAgIHwgJ3N1Ym1pdCdcbiAgICB8ICd0ZXh0J1xuICAgIHwgJ3RlbCdcbiAgICB8ICd0aW1lJ1xuICAgIHwgJ3VybCdcbiAgICB8ICd3ZWVrJztcblxuZXhwb3J0IGNvbnN0IEFQX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1pbnB1dCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBGb3Jtc01vZHVsZSwgU3ltYm9sQ29tcG9uZW50XSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQVBfSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUixcblxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogSW5wdXRDb21wb25lbnQsXG5cbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcmVhZG9ubHkgc3ltYm9sUmVnaXN0cnk6IFN5bWJvbFJlZ2lzdHJ5ID0gaW5qZWN0KFN5bWJvbFJlZ2lzdHJ5KTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oU3ltYm9sQ29tcG9uZW50KSBzeW1ib2xzITogUXVlcnlMaXN0PFN5bWJvbENvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnc3ltYm9sJykgc3ltYm9sV3JhcHBlciE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsITogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgYXJpYUxhYmVsbGVkQnkhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkQnkhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBpbnB1dFR5cGU6IElucHV0VHlwZSA9ICd0ZXh0JztcblxuICAgIEBJbnB1dCgpIGlucHV0SWQ/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoe1xuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KVxuICAgIG5hbWUhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgcHJlZml4Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3VmZml4Pzogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGVycm9yTWVzc2FnZT86IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHN1Y2Nlc3NNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc3ltYm9sSWQ/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc3ltYm9sUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBrZXl1cCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIHByaXZhdGUgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4hOiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQ7XG5cbiAgICBob3N0RGF0YVRlc3Q6IFdyaXRhYmxlU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4gPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgdmFsdWUhOiBzdHJpbmcgfCBudWxsO1xuXG4gICAgb25Ub3VjaGVkITogKCkgPT4gdm9pZDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5sYWJlbCAmJiAhdGhpcy5pbnB1dElkKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignWW91IGhhdmUgdG8gcHJvdmlkZSBhbiBpbnB1dCBpZCBpZiB5b3Ugd2FudCB0byB1c2UgYSBsYWJlbC4nKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3REYXRhVGVzdC5zZXQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLXRlc3QnKSk7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS10ZXN0Jyk7XG4gICAgICAgIHRoaXMuc3ltYm9sUmVnaXN0cnkucmVnaXN0ZXJTeW1ib2xzKFthcEFsZXJ0Q2lyY2xlLCBhcENoZWNrQ2lyY2xlXSk7XG4gICAgfVxuXG4gICAgLy8gU29tZXRpbWVzIGF0dHJpYnV0ZXMgbGlrZSB0aGUgaWQsIG9yIHRoZSBkYXRhLXRlc3QgYXJlIGR5bmFtaWMgYW5kIGNhbiBjaGFuZ2UgYmV0d2VlbiB0aGUgY29uc3RydWN0b3IgYW5kIHRoZSBpbml0aWFsaXphdGlvbi5cbiAgICAvLyBJbiBvcmRlciB0byBoYXZlIHRoZSBsYXN0IGF0dHJpYnV0ZXMgdmFsdWUgd2UgY2hlY2sgaWYgaXQgY2hhbmdlcywgYW5kIGlmIGl0IGRvZXMsIHdlIHJ1biBhIG1hcmsgZm9yIGNoZWNrIHRvIHVwZGF0ZSB0aGUgdmlldy5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhvc3REYXRhVGVzdCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10ZXN0Jyk7XG5cbiAgICAgICAgaWYgKGhvc3REYXRhVGVzdCAmJiB0aGlzLmhvc3REYXRhVGVzdCgpICE9PSBob3N0RGF0YVRlc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdERhdGFUZXN0LnNldChob3N0RGF0YVRlc3QpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdkYXRhLXRlc3QnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlKHsgdmFsdWUgfTogRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgY29uc3QgaXNOb3RWYWxpZCA9ICF0aGlzLnZhbHVlICYmIHRoaXMucmVxdWlyZWQ7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBpc05vdFZhbGlkICYmIHtcbiAgICAgICAgICAgICAgICBpbnZhbGlkOiB0cnVlLFxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLm9uVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgb25CbHVySGFuZGxlKCRldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJsdXIuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRm9jdXNIYW5kbGUoJGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uS2V5dXAoJGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5dXAuZW1pdCgkZXZlbnQpO1xuICAgIH1cblxuICAgIG9uQ2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShudWxsKTtcbiAgICB9XG59XG4iLCI8bGFiZWxcbiAgICAqbmdJZj1cImxhYmVsXCJcbiAgICBbZm9yXT1cImlucHV0SWRcIj5cbiAgICA8c3Bhbj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIGNsYXNzPVwiZGVzY3JpcHRpb25cIj5cbiAgICAgICAge3sgZGVzY3JpcHRpb24gfX1cbiAgICA8L3NwYW4+XG48L2xhYmVsPlxuXG48ZGl2XG4gICAgdGFiaW5kZXg9XCIwXCJcbiAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgIFtjbGFzcy5pbnZlcnNlXT1cInN5bWJvbFBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgIFtjbGFzcy53aXRoLWljb25dPVwic3ltYm9sSWRcIlxuICAgIFtjbGFzcy53aXRoLXByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtjbGFzcy53aXRoLXN1ZmZpeF09XCJzdWZmaXhcIlxuICAgIFtjbGFzcy53aXRoLWVycm9yXT1cImVycm9yTWVzc2FnZVwiXG4gICAgW2NsYXNzLndpdGgtc3VjY2Vzc109XCJzdWNjZXNzTWVzc2FnZVwiXG4gICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCB8fCBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnkgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkQnkgfHwgbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZD8udG9TdHJpbmcoKVwiXG4gICAgKGNsaWNrKT1cImZvY3VzSW5wdXQoKVwiXG4gICAgKGtleWRvd24uZW50ZXIpPVwiZm9jdXNJbnB1dCgpXCI+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cInByZWZpeFwiXG4gICAgICAgIGNsYXNzPVwicHJlZml4XCI+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgICAge3sgcHJlZml4IH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBbdHlwZV09XCJpbnB1dFR5cGVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiaG9zdERhdGFUZXN0KCkgPyBob3N0RGF0YVRlc3QoKSA6IG5hbWVcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoYmx1cik9XCJvbkJsdXJIYW5kbGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1c0hhbmRsZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCIgLz5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNsZWFyYWJsZVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xlYXItYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGVhcigpXCI+XG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBzeW1ib2xJZD1cImNsb3NlXCIgLz5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwic3VmZml4XCJcbiAgICAgICAgY2xhc3M9XCJzdWZmaXhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIHt7IHN1ZmZpeCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cInN5bWJvbElkXCI+XG4gICAgICAgIDxhcC1zeW1ib2xcbiAgICAgICAgICAgIHNpemU9XCJtaWNyb1wiXG4gICAgICAgICAgICBbc3ltYm9sSWRdPVwic3ltYm9sSWRcIlxuICAgICAgICAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdJZj1cImVycm9yTWVzc2FnZVwiXG4gICAgY2xhc3M9XCJmb3JtLW1lc3NhZ2UgZXJyb3JcIj5cbiAgICA8YXAtc3ltYm9sXG4gICAgICAgIHN5bWJvbElkPVwiYWxlcnQtY2lyY2xlXCJcbiAgICAgICAgc2l6ZT1cIm1pY3JvXCIgLz5cbiAgICA8c3Bhbj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG5cbjxkaXZcbiAgICAqbmdJZj1cInN1Y2Nlc3NNZXNzYWdlXCJcbiAgICBjbGFzcz1cImZvcm0tbWVzc2FnZSBzdWNjZXNzXCI+XG4gICAgPGFwLXN5bWJvbFxuICAgICAgICBzeW1ib2xJZD1cImNoZWNrLWNpcmNsZVwiXG4gICAgICAgIHNpemU9XCJtaWNyb1wiIC8+XG4gICAgPHNwYW4+XG4gICAgICAgIHt7IHN1Y2Nlc3NNZXNzYWdlIH19XG4gICAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i1 from '@agorapulse/ui-symbol';
|
|
2
|
-
import { apSingleNeutral, apShowTheaterMaskHappy, apFacebookOfficial, apLinkedinOfficial, apYoutubeOfficial, apTiktokOfficial, apGoogleMyBusinessOfficial, apPinterestOfficial, apXOfficial,
|
|
2
|
+
import { apSingleNeutral, apShowTheaterMaskHappy, apFacebookOfficial, apLinkedinOfficial, apYoutubeOfficial, apTiktokOfficial, apGoogleMyBusinessOfficial, apPinterestOfficial, apXOfficial, apWebBlogs, apWebNews, SymbolComponent } from '@agorapulse/ui-symbol';
|
|
3
3
|
import { NgIf, NgForOf, NgOptimizedImage } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding } from '@angular/core';
|
|
@@ -59,7 +59,8 @@ class AvatarComponent {
|
|
|
59
59
|
pinterest: 'pinterest-official',
|
|
60
60
|
googleMyBusiness: 'google-my-business-official',
|
|
61
61
|
google: 'google-my-business-official',
|
|
62
|
-
|
|
62
|
+
webNews: 'web-news',
|
|
63
|
+
webBlogs: 'web-blogs',
|
|
63
64
|
};
|
|
64
65
|
size$ = new BehaviorSubject(40);
|
|
65
66
|
profilePicture$ = new BehaviorSubject('');
|
|
@@ -127,7 +128,8 @@ class AvatarComponent {
|
|
|
127
128
|
apGoogleMyBusinessOfficial,
|
|
128
129
|
apPinterestOfficial,
|
|
129
130
|
apXOfficial,
|
|
130
|
-
|
|
131
|
+
apWebBlogs,
|
|
132
|
+
apWebNews,
|
|
131
133
|
]);
|
|
132
134
|
this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);
|
|
133
135
|
this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);
|
|
@@ -183,11 +185,11 @@ class AvatarComponent {
|
|
|
183
185
|
this.imageError$.next(true);
|
|
184
186
|
}
|
|
185
187
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AvatarComponent, deps: [{ token: i1.SymbolRegistry }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: ["size", "size", avatarSizeAttribute] }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === '
|
|
188
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "16.2.10", type: AvatarComponent, isStandalone: true, selector: "ap-avatar", inputs: { alternativeText: "alternativeText", anonymous: "anonymous", username: "username", network: "network", online: "online", profilePicture: "profilePicture", showInitials: "showInitials", alt: "alt", rounded: ["rounded", "rounded", booleanAttribute], size: ["size", "size", avatarSizeAttribute] }, host: { properties: { "class.rounded-avatar": "this.roundedAvatar" } }, ngImport: i0, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlogs' || avatarViewModel.network === 'webNews'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network.x,ap-avatar .network.pinterest,ap-avatar .network.web{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }, { kind: "directive", type: LetDirective, selector: "[ngrxLet]", inputs: ["ngrxLet", "ngrxLetSuspenseTpl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
187
189
|
}
|
|
188
190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
189
191
|
type: Component,
|
|
190
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === '
|
|
192
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-avatar', standalone: true, imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective], encapsulation: ViewEncapsulation.None, template: "<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlogs' || avatarViewModel.network === 'webNews'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n", styles: ["ap-avatar{display:flex;justify-content:center;align-items:center;height:var(--ap-avatar-size);min-height:var(--ap-avatar-size);max-height:var(--ap-avatar-size);width:var(--ap-avatar-size);min-width:var(--ap-avatar-size);max-width:var(--ap-avatar-size);border-radius:var(--sys-border-radius-sm);background:var(--ref-color-grey-40);box-sizing:border-box;position:relative;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar.rounded-avatar{border-radius:100%}ap-avatar.rounded-avatar img,ap-avatar.rounded-avatar .no-profile-picture,ap-avatar.rounded-avatar .anonymous{border-radius:100%}ap-avatar img{overflow:hidden;border-radius:var(--sys-border-radius-sm);box-sizing:border-box}ap-avatar .no-profile-picture,ap-avatar .anonymous{display:flex;justify-content:center;align-items:center;background:var(--ref-color-grey-40);border-radius:var(--sys-border-radius-sm)}ap-avatar .no-profile-picture ap-symbol,ap-avatar .anonymous ap-symbol{color:var(--ref-color-white);width:var(--ap-avatar-symbol-size);min-width:var(--ap-avatar-symbol-size);max-width:var(--ap-avatar-symbol-size);height:var(--ap-avatar-symbol-size);min-height:var(--ap-avatar-symbol-size);max-height:var(--ap-avatar-symbol-size)}ap-avatar .anonymous{margin-top:7%}ap-avatar .online{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-online-icon-size);max-height:var(--ap-avatar-online-icon-size);width:var(--ap-avatar-online-icon-size);min-width:var(--ap-avatar-online-icon-size);max-width:var(--ap-avatar-online-icon-size);border-radius:100%;overflow:hidden;background:var(--ref-color-grey-40);box-sizing:border-box;border:1px solid var(--ref-color-white);bottom:0;right:0;background:var(--ref-color-green-100)}ap-avatar .initials{font-weight:var(--ref-font-weight-bold);font-size:var(--ap-avatar-initials-size);line-height:var(--ref-font-line-height-xl);font-family:Averta;color:var(--ref-color-white)}ap-avatar .network{position:absolute;height:var(--ap-avatar-online-icon-size);min-height:var(--ap-avatar-network-size);max-height:var(--ap-avatar-network-size);width:var(--ap-avatar-network-size);min-width:var(--ap-avatar-network-size);max-width:var(--ap-avatar-network-size);overflow:hidden;box-sizing:border-box;bottom:0;right:0;box-shadow:0 0 0 1px var(--ref-color-grey-10)}ap-avatar .network.facebook,ap-avatar .network.twitter,ap-avatar .network.youtube,ap-avatar .network.tiktok,ap-avatar .network.x,ap-avatar .network.pinterest,ap-avatar .network.web{border-radius:100%}ap-avatar .network.instagram{border-radius:28%}ap-avatar .network.linkedin{border-radius:6%}ap-avatar .network.googleMyBusiness,ap-avatar .network.google{box-shadow:none;border-radius:unset}ap-avatar .network ap-symbol img{border-radius:0;border:none}\n"] }]
|
|
191
193
|
}], ctorParameters: function () { return [{ type: i1.SymbolRegistry }, { type: i0.ElementRef }]; }, propDecorators: { alternativeText: [{
|
|
192
194
|
type: Input
|
|
193
195
|
}], anonymous: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-avatar.mjs","sources":["../../../libs/ui-components/avatar/src/avatar.component.ts","../../../libs/ui-components/avatar/src/avatar.component.html","../../../libs/ui-components/avatar/src/agorapulse-ui-components-avatar.ts"],"sourcesContent":["import {\n SymbolComponent,\n SymbolRegistry,\n apFacebookOfficial,\n apGoogleMyBusinessOfficial,\n apLinkedinOfficial,\n apPinterestOfficial,\n apShowTheaterMaskHappy,\n apSingleNeutral,\n apTiktokOfficial,\n apXOfficial,\n apYoutubeOfficial,\n apCompetitors,\n} from '@agorapulse/ui-symbol';\nimport { NgForOf, NgIf, NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { LetDirective } from '@ngrx/component';\nimport { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';\n\nexport type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;\nexport type AvatarNetwork =\n | 'facebook'\n | 'instagram'\n | 'twitter'\n | 'linkedin'\n | 'tiktok'\n | 'youtube'\n | 'pinterest'\n | 'googleMyBusiness'\n | 'google'\n | 'web'\n | 'X';\n\nconst onlineIconSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 12,\n 40: 12,\n 36: 8,\n 32: 8,\n 24: 6,\n 16: 6,\n};\n\nconst symbolSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 20,\n 36: 18,\n 32: 16,\n 24: 12,\n 16: 8,\n};\n\nconst networkSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 16,\n 40: 16,\n 36: 16,\n 32: 12,\n 24: 12,\n 16: 8,\n};\n\nconst initialSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 22,\n 36: 18,\n 32: 18,\n 24: 14,\n 16: 10,\n};\n\nfunction avatarSizeAttribute(value: AvatarSize | `${AvatarSize}`): AvatarSize {\n return +value as AvatarSize;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n standalone: true,\n imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent implements OnInit {\n readonly networkSymbolByNetwork: Record<AvatarNetwork, string> = {\n facebook: 'facebook-official',\n instagram: 'instagram-official',\n X: 'x-official',\n twitter: 'x-official',\n linkedin: 'linkedin-official',\n tiktok: 'tiktok-official',\n youtube: 'youtube-official',\n pinterest: 'pinterest-official',\n googleMyBusiness: 'google-my-business-official',\n google: 'google-my-business-official',\n web: 'competitors'\n };\n\n size$: BehaviorSubject<AvatarSize> = new BehaviorSubject<AvatarSize>(40);\n profilePicture$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>('');\n network$: BehaviorSubject<AvatarNetwork | undefined> = new BehaviorSubject<AvatarNetwork | undefined>(undefined);\n\n private alternativeText$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private anonymous$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private username$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private online$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private showInitials$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private rounded$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n @Input() set alternativeText(alternativeText: string) {\n this.alternativeText$.next(alternativeText);\n }\n\n @Input() set anonymous(anonymous: boolean) {\n this.anonymous$.next(anonymous);\n }\n\n @Input() set username(username: string) {\n this.username$.next(username);\n }\n\n @Input() set network(network: AvatarNetwork | undefined) {\n this.network$.next(network);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);\n }\n\n @Input() set online(online: boolean) {\n this.online$.next(online);\n }\n\n @Input() set profilePicture(profilePicture: string | undefined) {\n this.profilePicture$.next(profilePicture);\n this.imageError$.next(false);\n }\n\n @Input() set showInitials(showInitials: boolean) {\n this.showInitials$.next(showInitials);\n }\n @Input() alt = '';\n\n @HostBinding('class.rounded-avatar')\n roundedAvatar = true;\n\n @Input({\n transform: booleanAttribute,\n })\n set rounded(rounded: boolean) {\n this.roundedAvatar = rounded;\n this.rounded$.next(rounded);\n }\n\n @Input({\n transform: avatarSizeAttribute,\n })\n set size(size: AvatarSize) {\n this.size$.next(size);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);\n }\n\n displayProfilePicture$: Observable<boolean> = new Observable<boolean>();\n displaySingleNeutralSvg$: Observable<boolean> = new Observable<boolean>();\n displayInitials$: Observable<boolean> = new Observable<boolean>();\n displayAnonymous$: Observable<boolean> = new Observable<boolean>();\n displayNetwork$: Observable<boolean> = new Observable<boolean>();\n displayOnline$: Observable<boolean> = new Observable<boolean>();\n imageError$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n initials$: Observable<string> = new Observable<string>();\n initialsAvailable$: Observable<boolean> = of(false);\n\n constructor(private symbolRegistry: SymbolRegistry, private elementRef: ElementRef) {\n this.symbolRegistry.registerSymbols([\n apSingleNeutral,\n apShowTheaterMaskHappy,\n apFacebookOfficial,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apTiktokOfficial,\n apGoogleMyBusinessOfficial,\n apPinterestOfficial,\n apXOfficial,\n apCompetitors\n ]);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);\n }\n\n ngOnInit(): void {\n this.initialsAvailable$ = this.username$.pipe(\n map(username => {\n return !!username;\n })\n );\n\n this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(\n map(([profilePicture, anonymous, imageError]) => {\n return !!profilePicture && !anonymous && !imageError;\n })\n );\n\n this.displayInitials$ = combineLatest([\n this.showInitials$,\n this.anonymous$,\n this.initialsAvailable$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {\n return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;\n })\n );\n\n this.displaySingleNeutralSvg$ = combineLatest([\n this.profilePicture$,\n this.imageError$,\n this.initialsAvailable$,\n this.showInitials$,\n this.anonymous$,\n this.displayInitials$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {\n return (\n (!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&\n !anonymous &&\n !displayInitials &&\n !displayProfilePicture\n );\n })\n );\n\n this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(\n map(([anonymous, rounded]) => {\n return anonymous && rounded;\n })\n );\n\n this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(\n map(([online, rounded]) => {\n return online && rounded;\n })\n );\n\n this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(\n map(([network, rounded]) => {\n return !!network && rounded;\n })\n );\n\n this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(\n map(([displayInitials, username]) => {\n if ((displayInitials && !username) || !displayInitials) {\n return '';\n }\n this.elementRef.nativeElement.style.setProperty(\n '--ap-avatar-initials-size',\n `${initialSizeByAvatarSize[this.size$.value]}px`\n );\n const names = username?.split(' ');\n return `${names[0].charAt(0).toUpperCase()}`;\n })\n );\n }\n\n onImageError(): void {\n this.imageError$.next(true);\n }\n}\n","<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'web'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;AA0CA,MAAM,0BAA0B,GAA+B;AAC3D,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,sBAAsB,GAA+B;AACvD,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,uBAAuB,GAA+B;AACxD,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,uBAAuB,GAA+B;AACxD,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;CACT,CAAC;AAEF,SAAS,mBAAmB,CAAC,KAAmC,EAAA;IAC5D,OAAO,CAAC,KAAmB,CAAC;AAChC,CAAC;MAWY,eAAe,CAAA;AAwFJ,IAAA,cAAA,CAAA;AAAwC,IAAA,UAAA,CAAA;AAvFnD,IAAA,sBAAsB,GAAkC;AAC7D,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,CAAC,EAAE,YAAY;AACf,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,QAAQ,EAAE,mBAAmB;AAC7B,QAAA,MAAM,EAAE,iBAAiB;AACzB,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,gBAAgB,EAAE,6BAA6B;AAC/C,QAAA,MAAM,EAAE,6BAA6B;AACrC,QAAA,GAAG,EAAE,aAAa;KACrB,CAAC;AAEF,IAAA,KAAK,GAAgC,IAAI,eAAe,CAAa,EAAE,CAAC,CAAC;AACzE,IAAA,eAAe,GAAwC,IAAI,eAAe,CAAqB,EAAE,CAAC,CAAC;AACnG,IAAA,QAAQ,GAA+C,IAAI,eAAe,CAA4B,SAAS,CAAC,CAAC;AAEzG,IAAA,gBAAgB,GAA4B,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AAC5E,IAAA,UAAU,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC3E,IAAA,SAAS,GAA4B,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AACrE,IAAA,OAAO,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACxE,IAAA,aAAa,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC9E,IAAA,QAAQ,GAA6B,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;IAEhF,IAAa,eAAe,CAAC,eAAuB,EAAA;AAChD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KAC/C;IAED,IAAa,SAAS,CAAC,SAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACnC;IAED,IAAa,QAAQ,CAAC,QAAgB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjC;IAED,IAAa,OAAO,CAAC,OAAkC,EAAA;AACnD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;KACjI;IAED,IAAa,MAAM,CAAC,MAAe,EAAA;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC7B;IAED,IAAa,cAAc,CAAC,cAAkC,EAAA;AAC1D,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;IAED,IAAa,YAAY,CAAC,YAAqB,EAAA;AAC3C,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzC;IACQ,GAAG,GAAG,EAAE,CAAC;IAGlB,aAAa,GAAG,IAAI,CAAC;IAErB,IAGI,OAAO,CAAC,OAAgB,EAAA;AACxB,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,IAGI,IAAI,CAAC,IAAgB,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA,EAAG,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI,CAAC,CAAC;AAChH,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI,CAAC,CAAC;KAC5H;AAED,IAAA,sBAAsB,GAAwB,IAAI,UAAU,EAAW,CAAC;AACxE,IAAA,wBAAwB,GAAwB,IAAI,UAAU,EAAW,CAAC;AAC1E,IAAA,gBAAgB,GAAwB,IAAI,UAAU,EAAW,CAAC;AAClE,IAAA,iBAAiB,GAAwB,IAAI,UAAU,EAAW,CAAC;AACnE,IAAA,eAAe,GAAwB,IAAI,UAAU,EAAW,CAAC;AACjE,IAAA,cAAc,GAAwB,IAAI,UAAU,EAAW,CAAC;AAChE,IAAA,WAAW,GAA6B,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC5E,IAAA,SAAS,GAAuB,IAAI,UAAU,EAAU,CAAC;AACzD,IAAA,kBAAkB,GAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;IAEpD,WAAoB,CAAA,cAA8B,EAAU,UAAsB,EAAA;QAA9D,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAAU,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAC9E,QAAA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAChC,eAAe;YACf,sBAAsB;YACtB,kBAAkB;YAClB,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;YAChB,0BAA0B;YAC1B,mBAAmB;YACnB,WAAW;YACX,aAAa;AAChB,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAA,IAAA,CAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CAAC,CAAC;KAC/H;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACzC,GAAG,CAAC,QAAQ,IAAG;YACX,OAAO,CAAC,CAAC,QAAQ,CAAC;SACrB,CAAC,CACL,CAAC;AAEF,QAAA,IAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAC3H,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,UAAU,CAAC,KAAI;YAC5C,OAAO,CAAC,CAAC,cAAc,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC;SACxD,CAAC,CACL,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC;AAClC,YAAA,IAAI,CAAC,aAAa;AAClB,YAAA,IAAI,CAAC,UAAU;AACf,YAAA,IAAI,CAAC,kBAAkB;AACvB,YAAA,IAAI,CAAC,sBAAsB;AAC9B,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,qBAAqB,CAAC,KAAI;YACxE,OAAO,YAAY,IAAI,CAAC,SAAS,IAAI,iBAAiB,IAAI,CAAC,qBAAqB,CAAC;SACpF,CAAC,CACL,CAAC;AAEF,QAAA,IAAI,CAAC,wBAAwB,GAAG,aAAa,CAAC;AAC1C,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,kBAAkB;AACvB,YAAA,IAAI,CAAC,aAAa;AAClB,YAAA,IAAI,CAAC,UAAU;AACf,YAAA,IAAI,CAAC,gBAAgB;AACrB,YAAA,IAAI,CAAC,sBAAsB;SAC9B,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,CAAC,KAAI;AACrH,YAAA,QACI,CAAC,CAAC,cAAc,IAAI,UAAU,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,IAAI,CAAC,YAAY,CAAC;AAC5F,gBAAA,CAAC,SAAS;AACV,gBAAA,CAAC,eAAe;gBAChB,CAAC,qBAAqB,EACxB;SACL,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzE,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,KAAI;YACzB,OAAO,SAAS,IAAI,OAAO,CAAC;SAC/B,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACnE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,KAAI;YACtB,OAAO,MAAM,IAAI,OAAO,CAAC;SAC5B,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACrE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAI;AACvB,YAAA,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC;SAC/B,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACxE,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,QAAQ,CAAC,KAAI;YAChC,IAAI,CAAC,eAAe,IAAI,CAAC,QAAQ,KAAK,CAAC,eAAe,EAAE;AACpD,gBAAA,OAAO,EAAE,CAAC;AACb,aAAA;YACD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAC3C,2BAA2B,EAC3B,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAI,EAAA,CAAA,CACnD,CAAC;YACF,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,YAAA,OAAO,CAAG,EAAA,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;SAChD,CAAC,CACL,CAAC;KACL;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;wGAvLQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,GAAA,EAAA,KAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EA6DT,gBAAgB,CAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EA1E1B,mBAAmB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClF5B,mvEA0DA,EAAA,MAAA,EAAA,CAAA,2pFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDiCc,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAA6B,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,YAAY,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAI/D,eAAe,EAAA,UAAA,EAAA,CAAA;kBAT3B,SAAS;sCACW,uBAAuB,CAAC,MAAM,EACrC,QAAA,EAAA,WAAW,cAET,IAAI,EAAA,OAAA,EACP,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,CAAC,EAAA,aAAA,EAE1D,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,mvEAAA,EAAA,MAAA,EAAA,CAAA,2pFAAA,CAAA,EAAA,CAAA;8HA4BxB,eAAe,EAAA,CAAA;sBAA3B,KAAK;gBAIO,SAAS,EAAA,CAAA;sBAArB,KAAK;gBAIO,QAAQ,EAAA,CAAA;sBAApB,KAAK;gBAIO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAKO,MAAM,EAAA,CAAA;sBAAlB,KAAK;gBAIO,cAAc,EAAA,CAAA;sBAA1B,KAAK;gBAKO,YAAY,EAAA,CAAA;sBAAxB,KAAK;gBAGG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBAGN,aAAa,EAAA,CAAA;sBADZ,WAAW;uBAAC,sBAAsB,CAAA;gBAM/B,OAAO,EAAA,CAAA;sBAHV,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACH,wBAAA,SAAS,EAAE,gBAAgB;AAC9B,qBAAA,CAAA;gBASG,IAAI,EAAA,CAAA;sBAHP,KAAK;AAAC,gBAAA,IAAA,EAAA,CAAA;AACH,wBAAA,SAAS,EAAE,mBAAmB;AACjC,qBAAA,CAAA;;;AErKL;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-avatar.mjs","sources":["../../../libs/ui-components/avatar/src/avatar.component.ts","../../../libs/ui-components/avatar/src/avatar.component.html","../../../libs/ui-components/avatar/src/agorapulse-ui-components-avatar.ts"],"sourcesContent":["import {\n SymbolComponent,\n SymbolRegistry,\n apFacebookOfficial,\n apGoogleMyBusinessOfficial,\n apLinkedinOfficial,\n apPinterestOfficial,\n apShowTheaterMaskHappy,\n apSingleNeutral,\n apTiktokOfficial,\n apXOfficial,\n apYoutubeOfficial,\n apWebBlogs,\n apWebNews,\n} from '@agorapulse/ui-symbol';\nimport { NgForOf, NgIf, NgOptimizedImage } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\nimport { LetDirective } from '@ngrx/component';\nimport { BehaviorSubject, Observable, combineLatest, map, of } from 'rxjs';\n\nexport type AvatarSize = 56 | 48 | 40 | 36 | 32 | 24 | 16;\nexport type AvatarNetwork =\n | 'facebook'\n | 'instagram'\n | 'twitter'\n | 'linkedin'\n | 'tiktok'\n | 'youtube'\n | 'pinterest'\n | 'googleMyBusiness'\n | 'google'\n | 'webNews'\n | 'webBlogs'\n | 'X';\n\nconst onlineIconSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 12,\n 40: 12,\n 36: 8,\n 32: 8,\n 24: 6,\n 16: 6,\n};\n\nconst symbolSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 20,\n 36: 18,\n 32: 16,\n 24: 12,\n 16: 8,\n};\n\nconst networkSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 16,\n 48: 16,\n 40: 16,\n 36: 16,\n 32: 12,\n 24: 12,\n 16: 8,\n};\n\nconst initialSizeByAvatarSize: Record<AvatarSize, number> = {\n 56: 28,\n 48: 24,\n 40: 22,\n 36: 18,\n 32: 18,\n 24: 14,\n 16: 10,\n};\n\nfunction avatarSizeAttribute(value: AvatarSize | `${AvatarSize}`): AvatarSize {\n return +value as AvatarSize;\n}\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-avatar',\n styleUrls: ['./avatar.component.scss'],\n standalone: true,\n imports: [NgIf, NgForOf, NgOptimizedImage, SymbolComponent, LetDirective],\n templateUrl: './avatar.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class AvatarComponent implements OnInit {\n readonly networkSymbolByNetwork: Record<AvatarNetwork, string> = {\n facebook: 'facebook-official',\n instagram: 'instagram-official',\n X: 'x-official',\n twitter: 'x-official',\n linkedin: 'linkedin-official',\n tiktok: 'tiktok-official',\n youtube: 'youtube-official',\n pinterest: 'pinterest-official',\n googleMyBusiness: 'google-my-business-official',\n google: 'google-my-business-official',\n webNews: 'web-news',\n webBlogs: 'web-blogs',\n };\n\n size$: BehaviorSubject<AvatarSize> = new BehaviorSubject<AvatarSize>(40);\n profilePicture$: BehaviorSubject<string | undefined> = new BehaviorSubject<string | undefined>('');\n network$: BehaviorSubject<AvatarNetwork | undefined> = new BehaviorSubject<AvatarNetwork | undefined>(undefined);\n\n private alternativeText$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private anonymous$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private username$: BehaviorSubject<string> = new BehaviorSubject<string>('');\n private online$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private showInitials$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n private rounded$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n @Input() set alternativeText(alternativeText: string) {\n this.alternativeText$.next(alternativeText);\n }\n\n @Input() set anonymous(anonymous: boolean) {\n this.anonymous$.next(anonymous);\n }\n\n @Input() set username(username: string) {\n this.username$.next(username);\n }\n\n @Input() set network(network: AvatarNetwork | undefined) {\n this.network$.next(network);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-network-size', `${networkSizeByAvatarSize[this.size$.value]}px`);\n }\n\n @Input() set online(online: boolean) {\n this.online$.next(online);\n }\n\n @Input() set profilePicture(profilePicture: string | undefined) {\n this.profilePicture$.next(profilePicture);\n this.imageError$.next(false);\n }\n\n @Input() set showInitials(showInitials: boolean) {\n this.showInitials$.next(showInitials);\n }\n @Input() alt = '';\n\n @HostBinding('class.rounded-avatar')\n roundedAvatar = true;\n\n @Input({\n transform: booleanAttribute,\n })\n set rounded(rounded: boolean) {\n this.roundedAvatar = rounded;\n this.rounded$.next(rounded);\n }\n\n @Input({\n transform: avatarSizeAttribute,\n })\n set size(size: AvatarSize) {\n this.size$.next(size);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `${size}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[size]}px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-online-icon-size', `${onlineIconSizeByAvatarSize[size]}px`);\n }\n\n displayProfilePicture$: Observable<boolean> = new Observable<boolean>();\n displaySingleNeutralSvg$: Observable<boolean> = new Observable<boolean>();\n displayInitials$: Observable<boolean> = new Observable<boolean>();\n displayAnonymous$: Observable<boolean> = new Observable<boolean>();\n displayNetwork$: Observable<boolean> = new Observable<boolean>();\n displayOnline$: Observable<boolean> = new Observable<boolean>();\n imageError$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n initials$: Observable<string> = new Observable<string>();\n initialsAvailable$: Observable<boolean> = of(false);\n\n constructor(private symbolRegistry: SymbolRegistry, private elementRef: ElementRef) {\n this.symbolRegistry.registerSymbols([\n apSingleNeutral,\n apShowTheaterMaskHappy,\n apFacebookOfficial,\n apLinkedinOfficial,\n apYoutubeOfficial,\n apTiktokOfficial,\n apGoogleMyBusinessOfficial,\n apPinterestOfficial,\n apXOfficial,\n apWebBlogs,\n apWebNews,\n ]);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-size', `40px`);\n this.elementRef.nativeElement.style.setProperty('--ap-avatar-symbol-size', `${symbolSizeByAvatarSize[this.size$.value]}px`);\n }\n\n ngOnInit(): void {\n this.initialsAvailable$ = this.username$.pipe(\n map(username => {\n return !!username;\n })\n );\n\n this.displayProfilePicture$ = combineLatest([this.profilePicture$, this.anonymous$, this.imageError$, this.showInitials$]).pipe(\n map(([profilePicture, anonymous, imageError]) => {\n return !!profilePicture && !anonymous && !imageError;\n })\n );\n\n this.displayInitials$ = combineLatest([\n this.showInitials$,\n this.anonymous$,\n this.initialsAvailable$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([showInitials, anonymous, initialsAvailable, displayProfilePicture]) => {\n return showInitials && !anonymous && initialsAvailable && !displayProfilePicture;\n })\n );\n\n this.displaySingleNeutralSvg$ = combineLatest([\n this.profilePicture$,\n this.imageError$,\n this.initialsAvailable$,\n this.showInitials$,\n this.anonymous$,\n this.displayInitials$,\n this.displayProfilePicture$,\n ]).pipe(\n map(([profilePicture, imageError, initialsAvailable, showInitials, anonymous, displayInitials, displayProfilePicture]) => {\n return (\n (!profilePicture || imageError || !initialsAvailable || (initialsAvailable && !showInitials)) &&\n !anonymous &&\n !displayInitials &&\n !displayProfilePicture\n );\n })\n );\n\n this.displayAnonymous$ = combineLatest([this.anonymous$, this.rounded$]).pipe(\n map(([anonymous, rounded]) => {\n return anonymous && rounded;\n })\n );\n\n this.displayOnline$ = combineLatest([this.online$, this.rounded$]).pipe(\n map(([online, rounded]) => {\n return online && rounded;\n })\n );\n\n this.displayNetwork$ = combineLatest([this.network$, this.rounded$]).pipe(\n map(([network, rounded]) => {\n return !!network && rounded;\n })\n );\n\n this.initials$ = combineLatest([this.displayInitials$, this.username$]).pipe(\n map(([displayInitials, username]) => {\n if ((displayInitials && !username) || !displayInitials) {\n return '';\n }\n this.elementRef.nativeElement.style.setProperty(\n '--ap-avatar-initials-size',\n `${initialSizeByAvatarSize[this.size$.value]}px`\n );\n const names = username?.split(' ');\n return `${names[0].charAt(0).toUpperCase()}`;\n })\n );\n }\n\n onImageError(): void {\n this.imageError$.next(true);\n }\n}\n","<ng-container\n *ngrxLet=\"{\n displayProfilePicture: displayProfilePicture$,\n displaySingleNeutralSvg: displaySingleNeutralSvg$,\n displayInitials: displayInitials$,\n displayAnonymous: displayAnonymous$,\n displayOnline: displayOnline$,\n displayNetwork: displayNetwork$,\n initials: initials$,\n profilePicture: profilePicture$,\n size: size$,\n network: network$\n } as avatarViewModel\">\n <img\n *ngIf=\"avatarViewModel.displayProfilePicture\"\n [src]=\"avatarViewModel.profilePicture\"\n [width]=\"avatarViewModel.size\"\n [height]=\"avatarViewModel.size\"\n [alt]=\"alt\"\n (error)=\"onImageError()\" />\n <div\n *ngIf=\"avatarViewModel.displaySingleNeutralSvg\"\n class=\"no-profile-picture\">\n <ap-symbol symbolId=\"single-neutral\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayAnonymous\"\n class=\"anonymous\">\n <ap-symbol symbolId=\"show-theater-mask-happy\" />\n </div>\n <div\n *ngIf=\"avatarViewModel.displayOnline\"\n class=\"online\"></div>\n <div\n *ngIf=\"avatarViewModel.displayNetwork\"\n class=\"network\"\n [class.facebook]=\"avatarViewModel.network === 'facebook'\"\n [class.linkedin]=\"avatarViewModel.network === 'linkedin'\"\n [class.twitter]=\"avatarViewModel.network === 'twitter'\"\n [class.x]=\"avatarViewModel.network === 'X'\"\n [class.youtube]=\"avatarViewModel.network === 'youtube'\"\n [class.googleMyBusiness]=\"avatarViewModel.network === 'googleMyBusiness' || avatarViewModel.network === 'google'\"\n [class.instagram]=\"avatarViewModel.network === 'instagram'\"\n [class.tiktok]=\"avatarViewModel.network === 'tiktok'\"\n [class.pinterest]=\"avatarViewModel.network === 'pinterest'\"\n [class.web]=\"avatarViewModel.network === 'webBlogs' || avatarViewModel.network === 'webNews'\">\n <ap-symbol\n *ngIf=\"avatarViewModel.network\"\n [symbolId]=\"networkSymbolByNetwork[avatarViewModel.network]\" />\n </div>\n\n <div\n *ngIf=\"avatarViewModel.displayInitials\"\n class=\"initials\">\n {{ avatarViewModel.initials }}\n </div>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -112,7 +112,7 @@ class InputComponent {
|
|
|
112
112
|
useExisting: InputComponent,
|
|
113
113
|
multi: true,
|
|
114
114
|
},
|
|
115
|
-
], queries: [{ propertyName: "symbols", predicate: SymbolComponent }], viewQueries: [{ propertyName: "symbolWrapper", first: true, predicate: ["symbol"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:var(--comp-input-padding-horizontal)
|
|
115
|
+
], queries: [{ propertyName: "symbols", predicate: SymbolComponent }], viewQueries: [{ propertyName: "symbolWrapper", first: true, predicate: ["symbol"], descendants: true }, { propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:0 var(--comp-input-padding-horizontal);flex:1;font-size:var(--comp-input-text-size);font-weight:var(--comp-input-text-font-weight);line-height:var(--comp-input-text-line-height);font-family:var(--comp-input-text-font-family);color:var(--comp-input-text-default-color);min-width:0}ap-input .input-wrapper .content input::placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content input:disabled{cursor:not-allowed;pointer-events:none;background:var(--comp-input-fill-disabled-color)}ap-input .input-wrapper .content input:disabled:placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content .counter{font-size:var(--comp-input-text-counter-size);font-weight:var(--comp-input-text-counter-font-weight);line-height:var(--comp-input-text-counter-line-height);font-family:var(--comp-input-text-counter-font-family);color:var(--comp-input-text-counter-color);padding-right:var(--comp-input-spacing-horizontal)}ap-input .input-wrapper .content .clear-button{display:flex;align-items:center;justify-content:center;border:none;margin:0;padding:0 var(--comp-input-spacing-horizontal) 0 0;background-color:transparent}ap-input .input-wrapper .content .clear-button:hover{cursor:pointer}ap-input .input-wrapper .content .clear-button ap-symbol{padding:0}ap-input .input-wrapper .prefix,ap-input .input-wrapper .suffix{height:100%;display:flex;justify-content:center;align-items:center;font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--ref-font-family);color:var(--ref-color-grey-100)}ap-input .input-wrapper .prefix .divider,ap-input .input-wrapper .suffix .divider{height:18px;width:var(--border-width);background:var(--ref-color-grey-10)}ap-input .input-wrapper ap-symbol{height:var(--comp-input-icon-size);width:var(--comp-input-icon-size);min-height:var(--comp-input-icon-size);min-width:var(--comp-input-icon-size);max-height:var(--comp-input-icon-size);max-width:var(--comp-input-icon-size);color:var(--comp-input-icon-color);padding-right:var(--comp-input-padding-horizontal);pointer-events:none;box-sizing:content-box}ap-input .input-wrapper ap-symbol:hover{cursor:text}ap-input .input-wrapper.inverse{flex-direction:row-reverse}ap-input .input-wrapper.inverse.with-icon input{padding-left:0}ap-input .input-wrapper.inverse.with-icon ap-symbol{padding-right:var(--comp-input-spacing-horizontal);padding-left:var(--comp-input-padding-horizontal)}ap-input .input-wrapper.with-icon input{padding-right:var(--ref-spacing-xxxs)}ap-input .input-wrapper.with-prefix input{padding-left:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-prefix .prefix{padding-left:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix input{padding-right:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix .suffix{padding-right:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-counter input{padding-right:0}ap-input .input-wrapper.with-error{border-color:var(--comp-input-border-error-color)}ap-input .input-wrapper.with-success{border-color:var(--comp-input-border-success-color)}.form-message{font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--sys-text-style-body-font-family);margin:0;display:flex;gap:var(--ref-spacing-xxxs)}.form-message.error{color:var(--comp-forms-status-text-error-color)}.form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.form-message.success{color:var(--comp-forms-status-text-success-color)}.form-message.success ap-symbol{color:var(--comp-forms-status-icon-success-color)}form.ng-submitted ap-input.ng-valid .input-wrapper{border-color:var(--comp-input-border-success-color)}form.ng-submitted ap-input.ng-invalid .input-wrapper{border-color:var(--comp-input-border-error-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["color", "symbolId", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
116
116
|
}
|
|
117
117
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: InputComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
@@ -123,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
|
|
|
123
123
|
useExisting: InputComponent,
|
|
124
124
|
multi: true,
|
|
125
125
|
},
|
|
126
|
-
], encapsulation: ViewEncapsulation.None, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:var(--comp-input-padding-horizontal)
|
|
126
|
+
], encapsulation: ViewEncapsulation.None, template: "<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n", styles: ["ap-input{display:flex;flex-direction:column;gap:var(--comp-input-spacing-horizontal);--border-width: 1px}ap-input.full-width{width:100%}ap-input.full-width .input-wrapper{min-width:100%}ap-input label{display:flex;flex-direction:column;gap:var(--comp-forms-label-spacing-vertical);font-size:var(--comp-forms-label-size);font-weight:var(--comp-forms-label-font-weight);line-height:var(--comp-forms-label-line-height);font-family:var(--comp-forms-label-font-family);color:var(--comp-forms-label-text-color)}ap-input label .description{font-size:var(--comp-forms-label-description-text-size);font-weight:var(--comp-forms-label-description-text-font-weight);line-height:var(--comp-forms-label-description-text-line-height);font-family:var(--comp-forms-label-description-text-font-family);color:var(--comp-forms-label-description-text-color)}ap-input .input-wrapper{display:flex;align-items:center;position:relative;min-width:var(--comp-input-width-default);height:var(--comp-input-height);border:var(--border-width) solid var(--comp-input-border-default-color);box-sizing:border-box;border-radius:var(--comp-input-border-radius);overflow:hidden;background-color:var(--comp-input-fill-color)}ap-input .input-wrapper:hover:not(.disabled){border-color:var(--comp-input-border-hover-color)}ap-input .input-wrapper:focus-within:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper:focus-visible:not(.disabled){outline:none}ap-input .input-wrapper:active:not(.disabled){border-color:var(--comp-input-border-focused-color)}ap-input .input-wrapper.disabled{background-color:var(--comp-input-fill-disabled-color);color:var(--comp-input-border-disabled-color)}ap-input .input-wrapper .content{display:flex;gap:var(--comp-input-spacing-horizontal);flex:1;align-items:center}ap-input .input-wrapper .content input{border:none;outline:none;box-sizing:border-box;min-height:34px;max-height:34px;padding:0 var(--comp-input-padding-horizontal);flex:1;font-size:var(--comp-input-text-size);font-weight:var(--comp-input-text-font-weight);line-height:var(--comp-input-text-line-height);font-family:var(--comp-input-text-font-family);color:var(--comp-input-text-default-color);min-width:0}ap-input .input-wrapper .content input::placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content input:disabled{cursor:not-allowed;pointer-events:none;background:var(--comp-input-fill-disabled-color)}ap-input .input-wrapper .content input:disabled:placeholder{color:var(--comp-input-text-placeholder-color)}ap-input .input-wrapper .content .counter{font-size:var(--comp-input-text-counter-size);font-weight:var(--comp-input-text-counter-font-weight);line-height:var(--comp-input-text-counter-line-height);font-family:var(--comp-input-text-counter-font-family);color:var(--comp-input-text-counter-color);padding-right:var(--comp-input-spacing-horizontal)}ap-input .input-wrapper .content .clear-button{display:flex;align-items:center;justify-content:center;border:none;margin:0;padding:0 var(--comp-input-spacing-horizontal) 0 0;background-color:transparent}ap-input .input-wrapper .content .clear-button:hover{cursor:pointer}ap-input .input-wrapper .content .clear-button ap-symbol{padding:0}ap-input .input-wrapper .prefix,ap-input .input-wrapper .suffix{height:100%;display:flex;justify-content:center;align-items:center;font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--ref-font-family);color:var(--ref-color-grey-100)}ap-input .input-wrapper .prefix .divider,ap-input .input-wrapper .suffix .divider{height:18px;width:var(--border-width);background:var(--ref-color-grey-10)}ap-input .input-wrapper ap-symbol{height:var(--comp-input-icon-size);width:var(--comp-input-icon-size);min-height:var(--comp-input-icon-size);min-width:var(--comp-input-icon-size);max-height:var(--comp-input-icon-size);max-width:var(--comp-input-icon-size);color:var(--comp-input-icon-color);padding-right:var(--comp-input-padding-horizontal);pointer-events:none;box-sizing:content-box}ap-input .input-wrapper ap-symbol:hover{cursor:text}ap-input .input-wrapper.inverse{flex-direction:row-reverse}ap-input .input-wrapper.inverse.with-icon input{padding-left:0}ap-input .input-wrapper.inverse.with-icon ap-symbol{padding-right:var(--comp-input-spacing-horizontal);padding-left:var(--comp-input-padding-horizontal)}ap-input .input-wrapper.with-icon input{padding-right:var(--ref-spacing-xxxs)}ap-input .input-wrapper.with-prefix input{padding-left:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-prefix .prefix{padding-left:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix input{padding-right:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-suffix .suffix{padding-right:var(--comp-input-padding-horizontal);gap:var(--ref-spacing-xxs)}ap-input .input-wrapper.with-counter input{padding-right:0}ap-input .input-wrapper.with-error{border-color:var(--comp-input-border-error-color)}ap-input .input-wrapper.with-success{border-color:var(--comp-input-border-success-color)}.form-message{font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);font-family:var(--sys-text-style-body-font-family);margin:0;display:flex;gap:var(--ref-spacing-xxxs)}.form-message.error{color:var(--comp-forms-status-text-error-color)}.form-message.error ap-symbol{color:var(--comp-forms-status-icon-error-color)}.form-message.success{color:var(--comp-forms-status-text-success-color)}.form-message.success ap-symbol{color:var(--comp-forms-status-icon-success-color)}form.ng-submitted ap-input.ng-valid .input-wrapper{border-color:var(--comp-input-border-success-color)}form.ng-submitted ap-input.ng-invalid .input-wrapper{border-color:var(--comp-input-border-error-color)}\n"] }]
|
|
127
127
|
}], propDecorators: { symbols: [{
|
|
128
128
|
type: ContentChildren,
|
|
129
129
|
args: [SymbolComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-input.mjs","sources":["../../../libs/ui-components/input/src/input.component.ts","../../../libs/ui-components/input/src/input.component.html","../../../libs/ui-components/input/src/agorapulse-ui-components-input.ts"],"sourcesContent":["import { SymbolComponent, SymbolRegistry, apAlertCircle, apCheckCircle } from '@agorapulse/ui-symbol';\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n booleanAttribute,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\ntype InputType =\n | 'button'\n | 'checkbox'\n | 'color'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'text'\n | 'tel'\n | 'time'\n | 'url'\n | 'week';\n\nexport const AP_INPUT_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-input',\n styleUrls: ['./input.component.scss'],\n standalone: true,\n imports: [NgIf, FormsModule, SymbolComponent],\n providers: [\n AP_INPUT_CONTROL_VALUE_ACCESSOR,\n\n {\n provide: NG_VALIDATORS,\n\n useExisting: InputComponent,\n\n multi: true,\n },\n ],\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent implements OnInit, AfterViewInit, ControlValueAccessor {\n readonly elementRef: ElementRef = inject(ElementRef);\n readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n\n @ContentChildren(SymbolComponent) symbols!: QueryList<SymbolComponent>;\n @ViewChild('symbol') symbolWrapper!: ElementRef;\n @ViewChild('input') inputElement!: ElementRef;\n\n @Input() ariaLabel!: string;\n\n @Input() ariaLabelledBy!: string;\n\n @Input() ariaDescribedBy!: string;\n\n @Input() disabled: boolean = false;\n\n @Input() clearable: boolean = false;\n\n @Input() inputType: InputType = 'text';\n\n @Input() inputId?: string;\n\n @Input({\n required: true,\n })\n name!: string;\n\n @Input() label?: string;\n\n @Input() description?: string;\n\n @Input() prefix?: string;\n\n @Input() suffix?: string;\n\n @Input({ transform: booleanAttribute }) required: boolean = false;\n\n @Input() placeholder?: string;\n\n @Input() errorMessage?: string;\n\n @Input() successMessage?: string;\n\n @Input() symbolId?: string;\n @Input() symbolPosition: 'left' | 'right' = 'right';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus = new EventEmitter<FocusEvent>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur = new EventEmitter<FocusEvent>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() keyup = new EventEmitter<KeyboardEvent>();\n\n private _controlValueAccessorChangeFn!: (value: string | null) => void;\n\n hostDataTest: WritableSignal<string | undefined> = signal<string | undefined>(undefined);\n\n value!: string | null;\n\n onTouched!: () => void;\n\n ngOnInit(): void {\n if (this.label && !this.inputId) {\n throw Error('You have to provide an input id if you want to use a label.');\n }\n this.hostDataTest.set(this.elementRef.nativeElement.getAttribute('data-test'));\n this.elementRef.nativeElement.removeAttribute('data-test');\n this.symbolRegistry.registerSymbols([apAlertCircle, apCheckCircle]);\n }\n\n // Sometimes attributes like the id, or the data-test are dynamic and can change between the constructor and the initialization.\n // In order to have the last attributes value we check if it changes, and if it does, we run a mark for check to update the view.\n ngAfterViewInit(): void {\n const hostDataTest = this.elementRef.nativeElement.getAttribute('data-test');\n\n if (hostDataTest && this.hostDataTest() !== hostDataTest) {\n this.hostDataTest.set(hostDataTest);\n this.elementRef.nativeElement.removeAttribute('data-test');\n }\n }\n\n validate({ value }: FormControl) {\n const isNotValid = !this.value && this.required;\n return (\n isNotValid && {\n invalid: true,\n }\n );\n }\n\n onValueChange() {\n if (this.onTouched) {\n this.onTouched();\n }\n\n if (!this.disabled) {\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.value);\n }\n }\n }\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string | null) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focusInput(): void {\n this.inputElement.nativeElement.focus();\n }\n\n onBlurHandle($event: FocusEvent): void {\n this.blur.emit($event);\n }\n\n onFocusHandle($event: FocusEvent): void {\n this.focus.emit($event);\n }\n\n onKeyup($event: KeyboardEvent): void {\n this.keyup.emit($event);\n }\n\n onClear(): void {\n this.writeValue(null);\n }\n}\n","<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-input.mjs","sources":["../../../libs/ui-components/input/src/input.component.ts","../../../libs/ui-components/input/src/input.component.html","../../../libs/ui-components/input/src/agorapulse-ui-components-input.ts"],"sourcesContent":["import { SymbolComponent, SymbolRegistry, apAlertCircle, apCheckCircle } from '@agorapulse/ui-symbol';\nimport { NgIf } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n booleanAttribute,\n forwardRef,\n inject,\n signal,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\n\ntype InputType =\n | 'button'\n | 'checkbox'\n | 'color'\n | 'datetime'\n | 'datetime-local'\n | 'email'\n | 'file'\n | 'hidden'\n | 'image'\n | 'month'\n | 'number'\n | 'password'\n | 'radio'\n | 'range'\n | 'reset'\n | 'search'\n | 'submit'\n | 'text'\n | 'tel'\n | 'time'\n | 'url'\n | 'week';\n\nexport const AP_INPUT_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputComponent),\n multi: true,\n};\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-input',\n styleUrls: ['./input.component.scss'],\n standalone: true,\n imports: [NgIf, FormsModule, SymbolComponent],\n providers: [\n AP_INPUT_CONTROL_VALUE_ACCESSOR,\n\n {\n provide: NG_VALIDATORS,\n\n useExisting: InputComponent,\n\n multi: true,\n },\n ],\n templateUrl: './input.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class InputComponent implements OnInit, AfterViewInit, ControlValueAccessor {\n readonly elementRef: ElementRef = inject(ElementRef);\n readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n\n @ContentChildren(SymbolComponent) symbols!: QueryList<SymbolComponent>;\n @ViewChild('symbol') symbolWrapper!: ElementRef;\n @ViewChild('input') inputElement!: ElementRef;\n\n @Input() ariaLabel!: string;\n\n @Input() ariaLabelledBy!: string;\n\n @Input() ariaDescribedBy!: string;\n\n @Input() disabled: boolean = false;\n\n @Input() clearable: boolean = false;\n\n @Input() inputType: InputType = 'text';\n\n @Input() inputId?: string;\n\n @Input({\n required: true,\n })\n name!: string;\n\n @Input() label?: string;\n\n @Input() description?: string;\n\n @Input() prefix?: string;\n\n @Input() suffix?: string;\n\n @Input({ transform: booleanAttribute }) required: boolean = false;\n\n @Input() placeholder?: string;\n\n @Input() errorMessage?: string;\n\n @Input() successMessage?: string;\n\n @Input() symbolId?: string;\n @Input() symbolPosition: 'left' | 'right' = 'right';\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() focus = new EventEmitter<FocusEvent>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() blur = new EventEmitter<FocusEvent>();\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() keyup = new EventEmitter<KeyboardEvent>();\n\n private _controlValueAccessorChangeFn!: (value: string | null) => void;\n\n hostDataTest: WritableSignal<string | undefined> = signal<string | undefined>(undefined);\n\n value!: string | null;\n\n onTouched!: () => void;\n\n ngOnInit(): void {\n if (this.label && !this.inputId) {\n throw Error('You have to provide an input id if you want to use a label.');\n }\n this.hostDataTest.set(this.elementRef.nativeElement.getAttribute('data-test'));\n this.elementRef.nativeElement.removeAttribute('data-test');\n this.symbolRegistry.registerSymbols([apAlertCircle, apCheckCircle]);\n }\n\n // Sometimes attributes like the id, or the data-test are dynamic and can change between the constructor and the initialization.\n // In order to have the last attributes value we check if it changes, and if it does, we run a mark for check to update the view.\n ngAfterViewInit(): void {\n const hostDataTest = this.elementRef.nativeElement.getAttribute('data-test');\n\n if (hostDataTest && this.hostDataTest() !== hostDataTest) {\n this.hostDataTest.set(hostDataTest);\n this.elementRef.nativeElement.removeAttribute('data-test');\n }\n }\n\n validate({ value }: FormControl) {\n const isNotValid = !this.value && this.required;\n return (\n isNotValid && {\n invalid: true,\n }\n );\n }\n\n onValueChange() {\n if (this.onTouched) {\n this.onTouched();\n }\n\n if (!this.disabled) {\n if (this._controlValueAccessorChangeFn) {\n this._controlValueAccessorChangeFn(this.value);\n }\n }\n }\n\n writeValue(value: string | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: string | null) => void): void {\n this._controlValueAccessorChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focusInput(): void {\n this.inputElement.nativeElement.focus();\n }\n\n onBlurHandle($event: FocusEvent): void {\n this.blur.emit($event);\n }\n\n onFocusHandle($event: FocusEvent): void {\n this.focus.emit($event);\n }\n\n onKeyup($event: KeyboardEvent): void {\n this.keyup.emit($event);\n }\n\n onClear(): void {\n this.writeValue(null);\n }\n}\n","<label\n *ngIf=\"label\"\n [for]=\"inputId\">\n <span>\n {{ label }}\n </span>\n <span\n *ngIf=\"description\"\n class=\"description\">\n {{ description }}\n </span>\n</label>\n\n<div\n tabindex=\"0\"\n class=\"input-wrapper\"\n [class.inverse]=\"symbolPosition === 'left'\"\n [class.with-icon]=\"symbolId\"\n [class.with-prefix]=\"prefix\"\n [class.with-suffix]=\"suffix\"\n [class.with-error]=\"errorMessage\"\n [class.with-success]=\"successMessage\"\n [class.disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledBy || null\"\n [attr.aria-describedby]=\"ariaDescribedBy || null\"\n [attr.aria-disabled]=\"disabled?.toString()\"\n (click)=\"focusInput()\"\n (keydown.enter)=\"focusInput()\">\n <div\n *ngIf=\"prefix\"\n class=\"prefix\">\n <span>\n {{ prefix }}\n </span>\n <span class=\"divider\"></span>\n </div>\n <div class=\"content\">\n <input\n #input\n [type]=\"inputType\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [id]=\"inputId\"\n [attr.data-test]=\"hostDataTest() ? hostDataTest() : name\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlurHandle($event)\"\n (focus)=\"onFocusHandle($event)\"\n (keyup)=\"onKeyup($event)\"\n (ngModelChange)=\"onValueChange()\" />\n <ng-container *ngIf=\"clearable\">\n <button\n type=\"button\"\n class=\"clear-button\"\n (click)=\"onClear()\">\n <ap-symbol symbolId=\"close\" />\n </button>\n </ng-container>\n </div>\n <div\n *ngIf=\"suffix\"\n class=\"suffix\">\n <span class=\"divider\"></span>\n <span>\n {{ suffix }}\n </span>\n </div>\n <ng-container\n *ngIf=\"symbolId\">\n <ap-symbol\n size=\"micro\"\n [symbolId]=\"symbolId\"\n />\n </ng-container>\n</div>\n\n<div\n *ngIf=\"errorMessage\"\n class=\"form-message error\">\n <ap-symbol\n symbolId=\"alert-circle\"\n size=\"micro\" />\n <span>\n {{ errorMessage }}\n </span>\n</div>\n\n<div\n *ngIf=\"successMessage\"\n class=\"form-message success\">\n <ap-symbol\n symbolId=\"check-circle\"\n size=\"micro\" />\n <span>\n {{ successMessage }}\n </span>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@ export declare class SnackbarsThreadComponent {
|
|
|
11
11
|
3: string;
|
|
12
12
|
};
|
|
13
13
|
SnackbarIconsMap: {
|
|
14
|
-
[k: number]: "attachment" | "add" | "view" | "variable" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "ai-magic-wand" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "ambassador" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bag-shop" | "bin" | "bin-1" | "bin-2" | "bitly" | "boosting-dollar-icon" | "button-play" | "button-shuffle" | "button-stop-1" | "button-refresh-arrow" | "button-refresh-arrows" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "computer-bug" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-facebook-reel-comment" | "custom-facebook-reel-like" | "custom-facebook-reel-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "custom-pinterest-link" | "custom-pinterest-lock" | "custom-pinterest-more" | "custom-pinterest-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "delete-no-circle" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope" | "envelope-letter" | "excel" | "expand" | "expand-1" | "external-link" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "feature-icon-market" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "google-my-business-icon" | "google-icon" | "group-of-posts" | "hash" | "hashtag" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "human-resources-search-men" | "hyperlink-3" | "icon-gif" | "icon-gif-search" | "icon-product-error" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "instagram-user" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "keyword" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "maximize" | "meetings-camera" | "megaphone" | "mention" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "microsoft-icon" | "minimize" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "original-sound" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pinterest-icon" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "remove-circle-bold-alternate-3" | "reports-2022" | "repost" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "send-for-approval" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "shorten" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "single-post" | "user-delete" | "small-arrow-down" | "small-arrow-up" | "small-arrow-left" | "small-arrow-right" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtitle" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "tools-wrench-2" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-official" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "hubspot-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "microsoft-official" | "salesforce-official" | "tiktok-white-official" | "twitter-plus-official" | "x-official" | "x-plus-official" | "x-white-official" | "youtube-official" | "instagram-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
|
|
14
|
+
[k: number]: "attachment" | "add" | "view" | "variable" | "close" | "small-caps" | "calendar" | "add-2022" | "add-circle" | "add-circle-bold-alternate" | "add-square-alternate" | "agorapulse-official" | "agorapulse-square-logo" | "ai-magic-wand" | "alarm-bell-1" | "alarm-clock-1-alternate" | "alert-circle" | "alert-triangle" | "ambassador" | "analytics-bars" | "analytics-board-bars" | "analytics-board-graph-line" | "app-window-expand" | "app-window-search-text" | "app-window-link" | "app-window-next" | "arrow-button-down" | "arrow-button-down-2" | "arrow-button-left" | "arrow-button-right" | "arrow-button-up" | "arrow-button-up-2" | "arrow-circle-right" | "arrow-corner-right" | "arrow-down-1" | "arrow-left-1" | "arrow-right" | "arrow-right-1" | "arrow-right-long" | "arrow-thick-circle-bottom-right-corner-2" | "arrow-thick-circle-right-2" | "arrow-thick-circle-top-right-corner-2" | "arrow-thick-down-2" | "arrow-thick-left-2" | "arrow-thick-right-2" | "arrow-thick-up-2" | "arrow-up-1" | "artboard-image-1" | "bag-shop" | "bin" | "bin-1" | "bin-2" | "bitly" | "boosting-dollar-icon" | "button-play" | "button-shuffle" | "button-stop-1" | "button-refresh-arrow" | "button-refresh-arrows" | "bookmarks-1" | "bookmarks-1-alternate" | "bookmarks-document" | "calendar-2022" | "calendar-3" | "calendar-add-1" | "calendar-setting" | "canva" | "certified-certificate" | "chat-translate" | "check-1" | "check-2" | "check-circle" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "check-circle-alternate" | "cog" | "cog-1" | "common-file-double" | "common-file-text-alternate" | "common-file-stack-alternate" | "common-file-upload" | "competitors" | "computer-bug" | "content-pencil-write" | "controls-pause" | "controls-play" | "controls-play-3" | "conversation-chat-1" | "conversation-chat-1-alternate" | "copy-paste" | "country-targeting" | "country-targeting-active" | "credit-card-1-alternate" | "crown" | "cursor-double-click-3" | "custom-facebook-comment" | "custom-facebook-like" | "custom-facebook-share" | "custom-facebook-reel-comment" | "custom-facebook-reel-like" | "custom-facebook-reel-share" | "custom-tiktok-like" | "custom-tiktok-comment" | "custom-tiktok-share" | "custom-tiktok-melody" | "custom-twitter-comment" | "custom-twitter-like" | "custom-twitter-retweet" | "custom-twitter-retweet-full" | "custom-twitter-share" | "custom-inbox-post" | "custom-instagram-bookmark" | "custom-instagram-carousel" | "custom-instagram-comment" | "custom-instagram-like" | "custom-instagram-play" | "custom-instagram-reels" | "custom-instagram-share" | "custom-instagram-tags" | "custom-linkedin-comment" | "custom-linkedin-like" | "custom-linkedin-share" | "custom-pinterest-link" | "custom-pinterest-lock" | "custom-pinterest-more" | "custom-pinterest-share" | "data-file-bars-add" | "data-transfer-vertical" | "data-transfer-vertical-bi-color-down" | "data-transfer-vertical-bi-color-up" | "data-transfer-square-horizontal" | "design-file-text-alternate" | "delete" | "delete-2-alternate" | "delete-no-circle" | "desktop-computer-pc-1" | "dislike" | "dislike-alternate" | "dislike-1" | "download-bottom" | "drawer-download" | "drawer-open" | "earth-heart" | "earth-search" | "email-action-add" | "email-action-reply" | "email-action-reply-alternate" | "email-action-subtract" | "email-action-sync-1" | "envelope" | "envelope-letter" | "excel" | "expand" | "expand-1" | "external-link" | "facebook" | "famous-people-man-steve-jobs" | "fans-2022" | "faq-2022" | "fast-food-burger-drink" | "feature-icon-market" | "flag-plain-2" | "file-csv-1" | "filter-1" | "filter-2" | "flag-plain" | "flip-right" | "folder-add-alternate" | "folder-alternate" | "folder-empty" | "folder-media-alternate" | "folder-search-alternate" | "gauge-dashboard-alternate" | "gift-box" | "google-analytics" | "google-my-business-icon" | "google-icon" | "group-of-posts" | "hash" | "hashtag" | "headphones-customer-support-human" | "headphones-customer-support-human-1" | "help-wheel" | "hourglass-alternate" | "house-chimney-1" | "human-resources-search-men" | "hyperlink-3" | "icon-gif" | "icon-gif-search" | "icon-product-error" | "ig-grid" | "ig-story" | "ig-reel" | "image-file-bmp" | "image-file-jpg" | "image-file-gif" | "image-file-landscape" | "image-file-landscape-2" | "image-file-png" | "inbox-2022" | "information" | "information-circle" | "instagram" | "instagram-outline" | "instagram-user" | "iris-scan-approved" | "keyboard-3" | "keyboard-arrow-bottom-right" | "keyboard-arrow-right" | "keyboard-arrow-top-right" | "keyword" | "language-targeting" | "language-targeting-active" | "layers-hide" | "layers-show" | "layout-3" | "layout-module" | "layout-module-1" | "layout-agenda" | "layout-bullets" | "layout-top-1" | "library-2022" | "light-bulb" | "like" | "like-alternate" | "like-1" | "linkedin" | "list-bullets" | "listening-2022" | "lock-password" | "logout-1-alternate" | "logout-2" | "love-it" | "love-it-alternate" | "love-it-alternate-bold" | "love-it-circle" | "maximize" | "meetings-camera" | "megaphone" | "mention" | "messages-bubble" | "messages-bubble-alternate" | "messages-bubble-dot" | "messages-bubble-empty-alternate" | "messages-bubble-forward" | "messages-bubble-graph" | "messages-bubble-question-alternate" | "messages-bubble-square-menu-alternate" | "messages-bubble-square-text" | "microsoft-icon" | "minimize" | "mobile-phone" | "module-three-1" | "money-wallet-open" | "move-to-bottom" | "multiple-man-1" | "multiple-users-1" | "natural-disaster-hurricane-radar-1" | "navigation-menu-horizontal" | "navigation-menu-horizontal-1-alternate" | "navigation-menu-vertical" | "network-search" | "notes-add" | "notes-text-flip-3" | "notes-book-text" | "notes-paper" | "notes-paper-approve" | "notes-paper-text-2" | "notif-2022" | "office-outdoors" | "open-new-tab" | "open-quote" | "organization" | "original-sound" | "paginate-filter-picture" | "paginate-filter-plus" | "payment-paypal" | "pencil-1" | "pencil-2" | "pencil-write-2-alternate" | "people-man-graduate" | "performance-increase" | "phone-ring-1" | "picture-landscape" | "picture-polaroid-landscape" | "picture-stack-landscape" | "pin" | "pinterest-icon" | "pin-active" | "pin-location" | "plant-2" | "publishing-2022" | "publishing-list-2022" | "powerpoint" | "premium-star" | "question-circle" | "rating-star" | "read-email-at-alternate" | "remove-bold" | "remove-circle" | "remove-circle-bold-alternate" | "remove-circle-bold-alternate-3" | "reports-2022" | "repost" | "roi-2022" | "rotate-back" | "search-alternate" | "send-email-2-alternate" | "send-email-3" | "send-email-4" | "send-for-approval" | "settings-slider-alternate-1" | "settings-vertical" | "share" | "shared-calendar" | "shorten" | "show-theater-mask-happy" | "single-man" | "single-neutral" | "single-neutral-actions-add" | "single-post" | "user-delete" | "small-arrow-down" | "small-arrow-up" | "small-arrow-left" | "small-arrow-right" | "smiley-happy-alternate" | "smiley-happy-alternate-custom" | "social-media-retweet" | "social-media-retweet-alternate" | "social-profile-smartphone-add" | "space-rocket-flying" | "sparkles" | "subtitle" | "subtract" | "synchronize-arrow-clock" | "synchronize-arrows-1" | "tags-alternate-active" | "tags-add-alternate" | "tags-alternate" | "taking-pictures-circle-alternate" | "taking-pictures-circle-alternate-active" | "taking-videos-circle-alternate" | "taking-videos-circle-alternate-active" | "task-checklist-check" | "task-list-clock" | "task-list-multiple" | "time-clock-circle" | "time-clock-circle-alternate" | "time-clock-circle-1-alternate" | "tools-wrench-2" | "toys-ball" | "trends-hot-flame" | "twitter" | "twitter-official" | "twitter-circle" | "twitter-link-placeholder" | "union" | "upload-bottom" | "upload-button" | "vectors-anchor-square-alternate" | "video-file-avi" | "video-file-disable" | "video-file-flv" | "video-file-mov" | "video-file-mpg" | "video-file-mp-4" | "video-file-m-4-v" | "video-file-play-alternate" | "view-alternate" | "view-off" | "view-off-alternate" | "view-off-full" | "view-on" | "view-on-full" | "vintage-tv" | "volume-control-full" | "volume-control-off" | "web-blogs" | "web-news" | "wifi-signal-4" | "youtube" | "facebook-official" | "google-official" | "google-my-business-official" | "google-analytics-official" | "hubspot-official" | "linkedin-official" | "pinterest-official" | "tiktok-official" | "microsoft-official" | "salesforce-official" | "tiktok-white-official" | "twitter-plus-official" | "x-official" | "x-plus-official" | "x-white-official" | "youtube-official" | "instagram-official" | "instagram-story-custom" | "agorapulse-en-flag" | "agorapulse-fr-flag" | "agorapulse-pt-flag" | "agorapulse-es-flag" | "agorapulse-de-flag";
|
|
15
15
|
};
|
|
16
16
|
constructor(snackbarsThreadService: SnackbarsThreadService, symbolRegistry: SymbolRegistry);
|
|
17
17
|
remove(id: string): void;
|
|
Binary file
|