@eui/ecl 18.0.0-next.56 → 18.0.0-next.57
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/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclButtonComponent.html +1 -1
- package/docs/components/EclFileComponent.html +1 -1
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +1 -1
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclMenuItemComponent.html +1 -1
- package/docs/components/EclMenuMegaItemComponent.html +1 -1
- package/docs/components/EclMultiselectDropdownComponent.html +1 -1
- package/docs/components/EclPaginationComponent.html +1 -1
- package/docs/components/EclSiteHeaderComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaShareComponent.html +1 -1
- package/docs/components/EclSocialMediaShareItemComponent.html +1 -1
- package/docs/components/EclTabsComponent.html +1 -1
- package/docs/components/EclTimelineItemComponent.html +2 -40
- package/docs/dependencies.html +1 -1
- package/docs/directives/EclHelpBlockDirective.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +3 -4
- package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +3 -3
- package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +3 -3
- package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +6 -2
- package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +3 -4
- package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +5 -6
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +9 -10
- package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +5 -10
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +3 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +11 -12
- package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -5
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +5 -5
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +7 -8
- package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +8 -14
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +3 -4
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +5 -10
- package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +7 -16
- package/fesm2022/eui-ecl.mjs +782 -756
- package/fesm2022/eui-ecl.mjs.map +3 -3
- package/lib/components/ecl-content-item/ecl-content-item.component.d.ts +1 -0
- package/lib/components/ecl-content-item/ecl-content-item.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +1 -1
- package/lib/components/ecl-help-block/ecl-help-block.directive.d.ts +2 -1
- package/lib/components/ecl-help-block/ecl-help-block.directive.d.ts.map +1 -1
- package/lib/components/ecl-site-header/login/ecl-site-header-login.component.d.ts +2 -1
- package/lib/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
- package/lib/components/ecl-social-media-share/ecl-social-media-share.component.d.ts +2 -1
- package/lib/components/ecl-social-media-share/ecl-social-media-share.component.d.ts.map +1 -1
- package/lib/components/ecl-timeline/ecl-timeline-item.component.d.ts +3 -10
- package/lib/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,6 @@ import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';
|
|
|
2
2
|
import { ECLBaseDirective } from '../../ecl-base.directive';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../ecl-file.component";
|
|
5
|
-
import * as i2 from "@angular/common";
|
|
6
5
|
export class EclFileItemComponent extends ECLBaseDirective {
|
|
7
6
|
get cssClasses() {
|
|
8
7
|
return [super.getCssClasses('ecl-file__translation-item'), this.isDescription ? 'ecl-file__translation-description' : '']
|
|
@@ -18,11 +17,11 @@ export class EclFileItemComponent extends ECLBaseDirective {
|
|
|
18
17
|
return this.eclFileComponent && this.eclFileComponent.isThumbnail;
|
|
19
18
|
}
|
|
20
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclFileItemComponent, deps: [{ token: i1.EclFileComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclFileItemComponent, selector: "ecl-file-item", inputs: { isDescription: ["isDescription", "isDescription", booleanAttribute], eclTitle: "eclTitle", titleId: "titleId", meta: "meta", label: "label", langDetail: "langDetail" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (isDescription) {\n <ng-content></ng-content>\n} @else {\n <div class=\"ecl-file__translation-info\">\n <div class=\"ecl-file__translation-title\" [id]=\"titleId\" [attr.lang]=\"langDetail\">{{ eclTitle }}</div>\n <div class=\"ecl-file__translation-meta\">{{ meta }}</div>\n </div>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n}\n" }); }
|
|
22
21
|
}
|
|
23
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclFileItemComponent, decorators: [{
|
|
24
23
|
type: Component,
|
|
25
|
-
args: [{ selector: 'ecl-file-item', template: "<ng-
|
|
24
|
+
args: [{ selector: 'ecl-file-item', template: "@if (isDescription) {\n <ng-content></ng-content>\n} @else {\n <div class=\"ecl-file__translation-info\">\n <div class=\"ecl-file__translation-title\" [id]=\"titleId\" [attr.lang]=\"langDetail\">{{ eclTitle }}</div>\n <div class=\"ecl-file__translation-meta\">{{ meta }}</div>\n </div>\n <ng-content select=\"[eclFileTranslationDownload]\"></ng-content>\n}\n" }]
|
|
26
25
|
}], ctorParameters: () => [{ type: i1.EclFileComponent }], propDecorators: { isDescription: [{
|
|
27
26
|
type: Input,
|
|
28
27
|
args: [{ transform: booleanAttribute }]
|
|
@@ -40,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
40
39
|
type: HostBinding,
|
|
41
40
|
args: ['class']
|
|
42
41
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWZpbGUvZWNsLWZpbGUtaXRlbS9lY2wtZmlsZS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS9lY2wtZmlsZS1pdGVtL2VjbC1maWxlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFPNUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQVF0RCxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDcEgsSUFBSSxDQUFDLEdBQUcsQ0FBQzthQUNULElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFvQixnQkFBa0M7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZGQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFnQjlELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ3RFLENBQUM7bUhBckJRLG9CQUFvQjt1R0FBcEIsb0JBQW9CLHlGQUNULGdCQUFnQiw0TUNUeEMsa1lBU0E7O2dHRERhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDSSxlQUFlO3FGQUllLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFHRixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEZpbGVDb21wb25lbnQgfSBmcm9tICcuLi9lY2wtZmlsZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC1maWxlLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtZmlsZS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsRmlsZUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNEZXNjcmlwdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGVjbFRpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdGl0bGVJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG1ldGE6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxhbmdEZXRhaWw6IHN0cmluZztcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWZpbGVfX3RyYW5zbGF0aW9uLWl0ZW0nKSwgdGhpcy5pc0Rlc2NyaXB0aW9uID8gJ2VjbC1maWxlX190cmFuc2xhdGlvbi1kZXNjcmlwdGlvbicgOiAnJ11cbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlY2xGaWxlQ29tcG9uZW50OiBFY2xGaWxlQ29tcG9uZW50KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzVGh1bWJuYWlsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lY2xGaWxlQ29tcG9uZW50ICYmIHRoaXMuZWNsRmlsZUNvbXBvbmVudC5pc1RodW1ibmFpbDtcbiAgICB9XG59XG4iLCJAaWYgKGlzRGVzY3JpcHRpb24pIHtcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG59IEBlbHNlIHtcbiAgICA8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX3RyYW5zbGF0aW9uLWluZm9cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1maWxlX190cmFuc2xhdGlvbi10aXRsZVwiIFtpZF09XCJ0aXRsZUlkXCIgW2F0dHIubGFuZ109XCJsYW5nRGV0YWlsXCI+e3sgZWNsVGl0bGUgfX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1maWxlX190cmFuc2xhdGlvbi1tZXRhXCI+e3sgbWV0YSB9fTwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xGaWxlVHJhbnNsYXRpb25Eb3dubG9hZF1cIj48L25nLWNvbnRlbnQ+XG59XG4iXX0=
|
|
@@ -3,9 +3,8 @@ import { ECLBaseDirective } from '../ecl-base.directive';
|
|
|
3
3
|
import { EclFilePictureDirective } from './ecl-file-picture.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../../services";
|
|
6
|
-
import * as i2 from "
|
|
7
|
-
import * as i3 from "../ecl-
|
|
8
|
-
import * as i4 from "../ecl-label/ecl-label.directive";
|
|
6
|
+
import * as i2 from "../ecl-icon/ecl-icon.component";
|
|
7
|
+
import * as i3 from "../ecl-label/ecl-label.directive";
|
|
9
8
|
export class EclFileComponent extends ECLBaseDirective {
|
|
10
9
|
get cssClasses() {
|
|
11
10
|
return [super.getCssClasses('ecl-file'), this.isThumbnail ? 'ecl-file--thumbnail' : ''].join(' ').trim();
|
|
@@ -18,11 +17,11 @@ export class EclFileComponent extends ECLBaseDirective {
|
|
|
18
17
|
return !!this.eclPictureContent;
|
|
19
18
|
}
|
|
20
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclFileComponent, deps: [{ token: i1.EclThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclFileComponent, selector: "ecl-file", inputs: { description: "description", id: "id", langId: "langId", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n }\n @if(detailMeta) {\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\"
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclFileComponent, selector: "ecl-file", inputs: { description: "description", id: "id", langId: "langId", labelInfo: "labelInfo", language: "language", detailMeta: "detailMeta", meta: "meta" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPictureContent", first: true, predicate: EclFilePictureDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n }\n @if(detailMeta) {\n <div class=\"ecl-file__detail-meta\">\n @for (el of detailMeta; track el) {\n <span class=\"ecl-file__detail-meta-item\" >{{ el }}</span>\n }\n </div>\n }\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n @if(description) {\n <div class=\"ecl-file__description\">{{ description }}</div>\n }\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n </div>\n\n </div>\n <div class=\"ecl-file__footer\">\n <div class=\"ecl-file__language\" [id]=\"langId\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "directive", type: i3.EclLabelDirective, selector: "[eclLabel]", inputs: ["variant"] }] }); }
|
|
22
21
|
}
|
|
23
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclFileComponent, decorators: [{
|
|
24
23
|
type: Component,
|
|
25
|
-
args: [{ selector: 'ecl-file', template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n }\n @if(detailMeta) {\n <div class=\"ecl-file__detail-meta\">\n <span class=\"ecl-file__detail-meta-item\"
|
|
24
|
+
args: [{ selector: 'ecl-file', template: "<div class=\"ecl-file__container\">\n @if(!isThumbnail) {\n @if(eclThemeService.isECTheme()) {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"2xl\"></ecl-icon>\n } @else {\n <ecl-icon icon=\"file\" class=\"ecl-file__icon\" size=\"m\"></ecl-icon>\n }\n } @else {\n <ng-content select=\"[eclFilePicture]\"></ng-content>\n }\n <div class=\"ecl-file__info\">\n @if(labelInfo) {\n <div class=\"ecl-file__label\">\n <span eclLabel variant=\"highlight\">{{ labelInfo }}</span>\n </div>\n }\n @if(detailMeta) {\n <div class=\"ecl-file__detail-meta\">\n @for (el of detailMeta; track el) {\n <span class=\"ecl-file__detail-meta-item\" >{{ el }}</span>\n }\n </div>\n }\n <ng-content select=\"[eclFileTitle]\"></ng-content>\n @if(description) {\n <div class=\"ecl-file__description\">{{ description }}</div>\n }\n <ng-content select=\"ecl-file-taxonomy\"></ng-content>\n </div>\n\n </div>\n <div class=\"ecl-file__footer\">\n <div class=\"ecl-file__language\" [id]=\"langId\">{{ language }}</div>\n <div class=\"ecl-file__meta\">{{ meta }}</div>\n <ng-content select=\"[eclFileDownload]\"></ng-content>\n </div>\n<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
|
|
26
25
|
}], ctorParameters: () => [{ type: i1.EclThemeService }], propDecorators: { cssClasses: [{
|
|
27
26
|
type: HostBinding,
|
|
28
27
|
args: ['class']
|
|
@@ -44,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
44
43
|
type: ContentChild,
|
|
45
44
|
args: [EclFilePictureDirective]
|
|
46
45
|
}] } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1maWxlL2VjbC1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZmlsZS9lY2wtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7OztBQWF2RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBRWxELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0csQ0FBQztJQVlELFlBQW1CLGVBQWdDO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRE8sb0JBQWUsR0FBZixlQUFlLENBQWlCO0lBRW5ELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDcEMsQ0FBQzttSEF2QlEsZ0JBQWdCO3VHQUFoQixnQkFBZ0IsK1NBZVgsdUJBQXVCLHVFQ3BDekMsaTJDQXFDQTs7Z0dEaEJhLGdCQUFnQjtrQkFYNUIsU0FBUzsrQkFDSSxVQUFVO29GQWFoQixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTztnQkFLWCxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVpQyxpQkFBaUI7c0JBQXZELFlBQVk7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVjbFRoZW1lU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsRmlsZVBpY3R1cmVEaXJlY3RpdmUgfSBmcm9tICcuL2VjbC1maWxlLXBpY3R1cmUuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtZmlsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbEZpbGVDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWZpbGUnKSwgdGhpcy5pc1RodW1ibmFpbCA/ICdlY2wtZmlsZS0tdGh1bWJuYWlsJyA6ICcnXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgQElucHV0KCkgaWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYW5nSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBsYWJlbEluZm86IHN0cmluZztcbiAgICBASW5wdXQoKSBsYW5ndWFnZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRldGFpbE1ldGE6IHN0cmluZ1tdO1xuICAgIEBJbnB1dCgpIG1ldGE6IHN0cmluZztcblxuICAgIEBDb250ZW50Q2hpbGQoRWNsRmlsZVBpY3R1cmVEaXJlY3RpdmUpIGVjbFBpY3R1cmVDb250ZW50OiBFY2xGaWxlUGljdHVyZURpcmVjdGl2ZTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlY2xUaGVtZVNlcnZpY2U6IEVjbFRoZW1lU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBpc1RodW1ibmFpbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5lY2xQaWN0dXJlQ29udGVudDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX2NvbnRhaW5lclwiPlxuICAgIEBpZighaXNUaHVtYm5haWwpIHtcbiAgICAgICAgQGlmKGVjbFRoZW1lU2VydmljZS5pc0VDVGhlbWUoKSkge1xuICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJmaWxlXCIgY2xhc3M9XCJlY2wtZmlsZV9faWNvblwiIHNpemU9XCIyeGxcIj48L2VjbC1pY29uPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiZmlsZVwiIGNsYXNzPVwiZWNsLWZpbGVfX2ljb25cIiBzaXplPVwibVwiPjwvZWNsLWljb24+XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZWNsRmlsZVBpY3R1cmVdXCI+PC9uZy1jb250ZW50PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX2luZm9cIj5cbiAgICAgICAgQGlmKGxhYmVsSW5mbykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX2xhYmVsXCI+XG4gICAgICAgICAgICA8c3BhbiBlY2xMYWJlbCB2YXJpYW50PVwiaGlnaGxpZ2h0XCI+e3sgbGFiZWxJbmZvIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgICBAaWYoZGV0YWlsTWV0YSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX2RldGFpbC1tZXRhXCI+XG4gICAgICAgICAgICBAZm9yIChlbCBvZiBkZXRhaWxNZXRhOyB0cmFjayBlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLWZpbGVfX2RldGFpbC1tZXRhLWl0ZW1cIiA+e3sgZWwgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xGaWxlVGl0bGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICBAaWYoZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtZmlsZV9fZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVjbC1maWxlLXRheG9ub215XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1maWxlX19mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1maWxlX19sYW5ndWFnZVwiIFtpZF09XCJsYW5nSWRcIj57eyBsYW5ndWFnZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWZpbGVfX21ldGFcIj57eyBtZXRhIH19PC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xGaWxlRG93bmxvYWRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
|
|
@@ -8,13 +8,12 @@ import { EclGalleryFooterComponent } from './ecl-gallery-footer.component';
|
|
|
8
8
|
import { EclGalleryItemComponent } from './ecl-gallery-item.component';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
import * as i1 from "@angular/cdk/layout";
|
|
11
|
-
import * as i2 from "
|
|
12
|
-
import * as i3 from "../ecl-button/ecl-button.
|
|
13
|
-
import * as i4 from "../ecl-
|
|
14
|
-
import * as i5 from "../ecl-
|
|
15
|
-
import * as i6 from "../ecl-link/ecl-link.directive";
|
|
16
|
-
import * as i7 from "
|
|
17
|
-
import * as i8 from "@ngx-translate/core";
|
|
11
|
+
import * as i2 from "../ecl-button/ecl-button.component";
|
|
12
|
+
import * as i3 from "../ecl-button/ecl-button-label.directive";
|
|
13
|
+
import * as i4 from "../ecl-icon/ecl-icon.component";
|
|
14
|
+
import * as i5 from "../ecl-link/ecl-link.directive";
|
|
15
|
+
import * as i6 from "../ecl-link/ecl-link-label.directive";
|
|
16
|
+
import * as i7 from "@ngx-translate/core";
|
|
18
17
|
export class EclGalleryShowEvent extends EclBaseEvent {
|
|
19
18
|
}
|
|
20
19
|
export class EclGalleryHideEvent extends EclBaseEvent {
|
|
@@ -247,11 +246,11 @@ export class EclGalleryComponent extends ECLBaseDirective {
|
|
|
247
246
|
return this.galleryItems.filter((item, cnt) => cnt < this.maxVisibleItems);
|
|
248
247
|
}
|
|
249
248
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclGalleryComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclGalleryComponent, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute] }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "iframeResize($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "videoChild", first: true, predicate: ["video"], descendants: true }, { propertyName: "imageChild", first: true, predicate: ["image"], descendants: true }, { propertyName: "externalVideoChild", first: true, predicate: ["externalVideo"], descendants: true }, { propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div #externalVideo class=\"ecl-gallery__slider-embed\">\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture #image class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video #video controls=\"controls\" class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\"\n [attr.srcLang]=\"elem.srcLang\" [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n @if(canBeOpenInFullScreen()) {\n <a eclLink variant=\"standalone\" class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\"\n target=\"_blank\" (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a eclLink variant=\"standalone\" isInverted class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n </div>\n @if(item?.description) {\n
|
|
249
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclGalleryComponent, selector: "ecl-gallery", inputs: { isOpenInFullScreenPossible: ["isOpenInFullScreenPossible", "isOpenInFullScreenPossible", booleanAttribute], isShareable: ["isShareable", "isShareable", booleanAttribute], isFullWidth: ["isFullWidth", "isFullWidth", booleanAttribute], isNoOverlay: ["isNoOverlay", "isNoOverlay", booleanAttribute], maxVisibleItems: ["maxVisibleItems", "maxVisibleItems", numberAttribute] }, outputs: { show: "show", hide: "hide", openFullScreen: "openFullScreen", share: "share", itemSwitch: "itemSwitch" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "iframeResize($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, queries: [{ propertyName: "galleryFooter", first: true, predicate: EclGalleryFooterComponent, descendants: true }, { propertyName: "galleryItems", predicate: EclGalleryItemComponent }], viewQueries: [{ propertyName: "videoChild", first: true, predicate: ["video"], descendants: true }, { propertyName: "imageChild", first: true, predicate: ["image"], descendants: true }, { propertyName: "externalVideoChild", first: true, predicate: ["externalVideo"], descendants: true }, { propertyName: "overlayChild", first: true, predicate: ["overlay"], descendants: true }, { propertyName: "headerChild", first: true, predicate: ["header"], descendants: true }, { propertyName: "footerChild", first: true, predicate: ["footer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div #externalVideo class=\"ecl-gallery__slider-embed\">\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture #image class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video #video controls=\"controls\" class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\"\n [attr.srcLang]=\"elem.srcLang\" [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n @if(canBeOpenInFullScreen()) {\n <a eclLink variant=\"standalone\" class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\"\n target=\"_blank\" (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a eclLink variant=\"standalone\" isInverted class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n </div>\n @if(item?.description) {\n <div class=\"ecl-gallery__detail-description\">{{ item?.description }}</div>\n }\n @if(item?.meta) {\n <div class=\"ecl-gallery__detail-meta\">{{ item?.meta }}</div>\n }\n </div>\n </footer>\n</dialog>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i3.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i4.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "directive", type: i5.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i6.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
|
|
251
250
|
}
|
|
252
251
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclGalleryComponent, decorators: [{
|
|
253
252
|
type: Component,
|
|
254
|
-
args: [{ selector: 'ecl-gallery', template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div #externalVideo class=\"ecl-gallery__slider-embed\">\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture #image class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video #video controls=\"controls\" class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\"\n [attr.srcLang]=\"elem.srcLang\" [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n @if(canBeOpenInFullScreen()) {\n <a eclLink variant=\"standalone\" class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\"\n target=\"_blank\" (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a eclLink variant=\"standalone\" isInverted class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n </div>\n @if(item?.description) {\n
|
|
253
|
+
args: [{ selector: 'ecl-gallery', template: "<ul class=\"ecl-gallery__list\">\n <ng-content></ng-content>\n</ul>\n\n<ng-content select=\"ecl-gallery-footer\"></ng-content>\n\n<dialog #overlay [attr.open]=\"isDialogVisible || null\" class=\"ecl-gallery__overlay\"\n [attr.aria-label]=\"'ecl.gallery.FULL-SIZE-DISPLAY' | translate\">\n <header #header class=\"ecl-gallery__close\">\n <button (click)=\"onClose($event)\" eclButton class=\"ecl-gallery__close-button\" isIconOnly variant=\"ghost\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n </header>\n <section class=\"ecl-gallery__slider\">\n <div class=\"ecl-gallery__slider-media-container\">\n @if(item?.isExternalVideo) {\n <div #externalVideo class=\"ecl-gallery__slider-embed\">\n <iframe [src]=\"item?.getUrlExternalVideo()\" [style.width.px]=\"getIframeWidth()\"\n [style.height.px]=\"getIframeHeight()\" frameborder=\"0\">\n </iframe>\n </div>\n }\n @if(item?.isImage) {\n <picture #image class=\"ecl-picture ecl-gallery__picture ecl-gallery__slider-image\">\n <img [attr.alt]=\"item?.label || null\" [src]=\"item?.src\" />\n </picture>\n }\n @if(item?.isVideo) {\n <video #video controls=\"controls\" class=\"ecl-gallery__slider-video\"\n [attr.poster]=\"item.mediaChild?.poster\">\n @for (el of item.mediaChild?.sources; track el.src) {\n <source [attr.src]=\"el.src\" [attr.type]=\"el.type\" />\n }\n @for (elem of item.mediaChild?.tracks; track elem.src) {\n <track [attr.src]=\"elem.src\" [attr.kind]=\"elem.kind\"\n [attr.srcLang]=\"elem.srcLang\" [attr.label]=\"elem.label\" />\n }\n </video>\n }\n </div>\n </section>\n <footer #footer class=\"ecl-gallery__detail\">\n <div class=\"ecl-container\">\n <div class=\"ecl-gallery__pager\">\n <button eclButton class=\"ecl-gallery__slider-previous\" variant=\"tertiary\" isIconOnly\n (click)=\"onPrevious($event)\">\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-270\"></ecl-icon>\n <span eclButtonLabel>\n {{ 'ecl.common.PREVIOUS' | translate }}\n </span>\n </button>\n <div class=\"ecl-gallery__detail-counter\">\n <span>{{ itemIndex }}</span> {{ 'ecl.common.OF' | translate }} <span>{{ itemsCount }}</span>\n </div>\n <button eclButton class=\"ecl-gallery__slider-next\" variant=\"tertiary\" isIconOnly\n (click)=\"onNext($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.NEXT' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"m\" transform=\"rotate-90\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-gallery__detail-actions\">\n @if(canBeOpenInFullScreen()) {\n <a eclLink variant=\"standalone\" class=\"ecl-gallery__download\" [href]=\"item?.getDownloadLink()\"\n target=\"_blank\" (click)=\"onFullScreenOpen($event)\" isInverted>\n <span eclLinkLabel>{{ 'ecl.gallery.VIEW-ORIGINAL' | translate }}</span>\n <ecl-icon icon=\"fullscreen\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n @if(canBeShared()) {\n <a eclLink variant=\"standalone\" isInverted class=\"ecl-gallery__share\" href=\"\" (click)=\"onShare($event)\">\n <span eclLinkLabel>{{ 'ecl.common.SHARE' | translate }}</span>\n <ecl-icon icon=\"share\" size=\"fluid\" focusable=\"false\"></ecl-icon>\n </a>\n }\n </div>\n @if(item?.description) {\n <div class=\"ecl-gallery__detail-description\">{{ item?.description }}</div>\n }\n @if(item?.meta) {\n <div class=\"ecl-gallery__detail-meta\">{{ item?.meta }}</div>\n }\n </div>\n </footer>\n</dialog>\n", styles: [":host{display:block}\n"] }]
|
|
255
254
|
}], ctorParameters: () => [{ type: i1.BreakpointObserver }], propDecorators: { isOpenInFullScreenPossible: [{
|
|
256
255
|
type: Input,
|
|
257
256
|
args: [{ transform: booleanAttribute }]
|
|
@@ -314,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
314
313
|
type: HostListener,
|
|
315
314
|
args: ['window:resize', ['$event']]
|
|
316
315
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1nYWxsZXJ5L2VjbC1nYWxsZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZ2FsbGVyeS9lY2wtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBRXZFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFZO0NBQUc7QUFDeEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7Q0FBRztBQUN4RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsWUFBWTtJQUN2RCxZQUFtQixXQUEyQjtRQUMxQyxLQUFLLEVBQUUsQ0FBQztRQURPLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUU5QyxDQUFD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O2dCQUczQixJQUFJO3NCQUFiLE1BQU07Z0JBQ0csSUFBSTtzQkFBYixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ21DLFlBQVk7c0JBQXJELGVBQWU7dUJBQUMsdUJBQXVCO2dCQUNDLGFBQWE7c0JBQXJELFlBQVk7dUJBQUMseUJBQXlCO2dCQUNuQixVQUFVO3NCQUE3QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0UsVUFBVTtzQkFBN0IsU0FBUzt1QkFBQyxPQUFPO2dCQUNVLGtCQUFrQjtzQkFBN0MsU0FBUzt1QkFBQyxlQUFlO2dCQUNKLFlBQVk7c0JBQWpDLFNBQVM7dUJBQUMsU0FBUztnQkFDQyxXQUFXO3NCQUEvQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0UsV0FBVztzQkFBL0IsU0FBUzt1QkFBQyxRQUFRO2dCQUdmLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQUlNLElBQUk7c0JBQTdCLFdBQVc7dUJBQUMsV0FBVztnQkEyQ3hCLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkErRW5ELFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgZGVsYXkgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVjbEJhc2VFdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2VjbC1iYXNlLmV2ZW50JztcbmltcG9ydCB7IEVjbEdhbGxlcnlJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWdhbGxlcnktaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEdhbGxlcnlGb290ZXJDb21wb25lbnQgfSBmcm9tICcuL2VjbC1nYWxsZXJ5LWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2VjbC1nYWxsZXJ5LWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlTaG93RXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge31cbmV4cG9ydCBjbGFzcyBFY2xHYWxsZXJ5SGlkZUV2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHt9XG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeUZ1bGxTY3JlZW5FdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGdhbGxlcnlJdGVtOiBFY2xHYWxsZXJ5SXRlbSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbmV4cG9ydCBjbGFzcyBFY2xHYWxsZXJ5U2hhcmVFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGdhbGxlcnlJdGVtOiBFY2xHYWxsZXJ5SXRlbSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlJdGVtRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBnYWxsZXJ5SXRlbTogRWNsR2FsbGVyeUl0ZW0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWdhbGxlcnknLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVzOiBbXG4gICAgICAgIGBcbiAgICAgICAgICAgIDpob3N0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgYCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xHYWxsZXJ5Q29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25Jbml0IHtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc09wZW5JbkZ1bGxTY3JlZW5Qb3NzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2hhcmVhYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNGdWxsV2lkdGggPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNOb092ZXJsYXkgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBtYXhWaXNpYmxlSXRlbXM6IG51bWJlcjtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICAgIEBPdXRwdXQoKSBzaG93ID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xHYWxsZXJ5U2hvd0V2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBoaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xHYWxsZXJ5SGlkZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBvcGVuRnVsbFNjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsR2FsbGVyeUZ1bGxTY3JlZW5FdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgc2hhcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEdhbGxlcnlTaGFyZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBpdGVtU3dpdGNoID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xHYWxsZXJ5SXRlbUV2ZW50PigpO1xuICAgIEBDb250ZW50Q2hpbGRyZW4oRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpIGdhbGxlcnlJdGVtczogUXVlcnlMaXN0PEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50PjtcbiAgICBAQ29udGVudENoaWxkKEVjbEdhbGxlcnlGb290ZXJDb21wb25lbnQpIGdhbGxlcnlGb290ZXI6IEVjbEdhbGxlcnlGb290ZXJDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgndmlkZW8nKSB2aWRlb0NoaWxkOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2ltYWdlJykgaW1hZ2VDaGlsZDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdleHRlcm5hbFZpZGVvJykgZXh0ZXJuYWxWaWRlb0NoaWxkOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ292ZXJsYXknKSBvdmVybGF5Q2hpbGQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaGVhZGVyJykgaGVhZGVyQ2hpbGQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZm9vdGVyJykgZm9vdGVyQ2hpbGQ6IEVsZW1lbnRSZWY7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1nYWxsZXJ5JyksIHRoaXMuaXNGdWxsV2lkdGggPyAnZWNsLWdhbGxlcnktLWZ1bGwtd2lkdGgnIDogJyddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdyZWdpb24nO1xuXG4gICAgaXNEaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgaXNNb2JpbGUgPSBmYWxzZTtcbiAgICBpdGVtc0NvdW50OiBudW1iZXI7XG4gICAgaXRlbUluZGV4OiBudW1iZXI7XG4gICAgaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQ7XG4gICAgcHJpdmF0ZSBpZnJhbWVXaWR0aDogbnVtYmVyO1xuICAgIHByaXZhdGUgaWZyYW1lSGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBCUkVBS1BPSU5UX0NIQU5HRVNfVElNRU9VVCA9IDUwMDtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHZpc2libGVJdGVtczogbnVtYmVyO1xuICAgIHByaXZhdGUgTUFYX1ZJU0lCTEVfSVRFTVNfTU9CSUxFID0gMztcbiAgICBwcml2YXRlIFJFU09MVVRJT05fMTZfOV9QUk9QT1RJT04gPSAxNiAvIDk7XG4gICAgcHJpdmF0ZSBSRVNPTFVUSU9OXzRfM19QUk9QT1RJT04gPSA0IC8gMztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RrQnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvblByZXZpb3VzKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW0gPSB0aGlzLmZpbmRQcmV2aW91c0l0ZW0odGhpcy5nYWxsZXJ5SXRlbXMudG9BcnJheSgpLCB0aGlzLml0ZW0pO1xuXG4gICAgICAgIHRoaXMuaXRlbUluZGV4ID0gdGhpcy5maW5kSXRlbUluZGV4KHRoaXMuZ2FsbGVyeUl0ZW1zLnRvQXJyYXkoKSwgdGhpcy5pdGVtKTtcblxuICAgICAgICB0aGlzLml0ZW1Td2l0Y2gubmV4dChuZXcgRWNsR2FsbGVyeUl0ZW1FdmVudCh0aGlzLml0ZW0pKTtcbiAgICB9XG5cbiAgICBvbk5leHQoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbSA9IHRoaXMuZmluZE5leHRJdGVtKHRoaXMuZ2FsbGVyeUl0ZW1zLnRvQXJyYXkoKSwgdGhpcy5pdGVtKTtcbiAgICAgICAgdGhpcy5pdGVtSW5kZXggPSB0aGlzLmZpbmRJdGVtSW5kZXgodGhpcy5nYWxsZXJ5SXRlbXMudG9BcnJheSgpLCB0aGlzLml0ZW0pO1xuXG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xHYWxsZXJ5SXRlbUV2ZW50KHRoaXMuaXRlbSkpO1xuICAgIH1cblxuICAgIG9uQ2xvc2UoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbSA9IG51bGw7XG4gICAgICAgIHRoaXMuaXRlbUluZGV4ID0gLTE7XG4gICAgICAgIHRoaXMuaXNEaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZS5uZXh0KG5ldyBFY2xHYWxsZXJ5SGlkZUV2ZW50KCkpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgICBvbkVzY2FwZUtleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZS5uZXh0KG5ldyBFY2xHYWxsZXJ5SGlkZUV2ZW50KCkpO1xuICAgIH1cblxuICAgIG9uRnVsbFNjcmVlbk9wZW4oZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbkZ1bGxTY3JlZW4ubmV4dChuZXcgRWNsR2FsbGVyeUZ1bGxTY3JlZW5FdmVudCh0aGlzLml0ZW0pKTtcbiAgICB9XG5cbiAgICBvblNoYXJlKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNoYXJlLm5leHQobmV3IEVjbEdhbGxlcnlTaGFyZUV2ZW50KHRoaXMuaXRlbSkpO1xuICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXNDb3VudCA9IHRoaXMuZ2FsbGVyeUl0ZW1zLmxlbmd0aDtcbiAgICAgICAgdGhpcy52aXNpYmxlSXRlbXMgPSB0aGlzLm1heFZpc2libGVJdGVtcyA/IHRoaXMubWF4VmlzaWJsZUl0ZW1zIDogdGhpcy5pdGVtc0NvdW50O1xuICAgICAgICB0aGlzLmdhbGxlcnlGb290ZXIuaXRlbXNDb3VudCA9IHRoaXMuaXRlbXNDb3VudDtcbiAgICAgICAgdGhpcy5nYWxsZXJ5Rm9vdGVyLmlzU2hvd1RvZ2dsZUJ0biA9IHRoaXMuaGFzSGlkZGVuR2FsZXJ5SXRlbXMoKTtcbiAgICAgICAgdGhpcy5nYWxsZXJ5Rm9vdGVyLnRvZ2dsZUl0ZW1zLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC5leHBhbmRBbGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dBbGxJdGVtcygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbGxhcHNlSXRlbXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTm9PdmVybGF5KSB7XG4gICAgICAgICAgICB0aGlzLmdhbGxlcnlJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbS5pdGVtQ2xpY2sucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoXykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbSA9IGl0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbUluZGV4ID0gdGhpcy5maW5kSXRlbUluZGV4KHRoaXMuZ2FsbGVyeUl0ZW1zLnRvQXJyYXkoKSwgaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvdy5uZXh0KG5ldyBFY2xHYWxsZXJ5U2hvd0V2ZW50KCkpO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2V0SWZyYW1lRGltZW5zaW9ucygpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nYWxsZXJ5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gKGl0ZW0uaXNOb092ZXJsYXkgPSB0cnVlKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5oYXNIaWRkZW5HYWxlcnlJdGVtcygpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbGxhcHNlSXRlbXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBjYW5CZU9wZW5JbkZ1bGxTY3JlZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzT3BlbkluRnVsbFNjcmVlblBvc3NpYmxlICYmIHRoaXMuaXRlbT8uaXNPcGVuSW5GdWxsU2NyZWVuUG9zc2libGU7XG4gICAgfVxuXG4gICAgY2FuQmVTaGFyZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzU2hhcmVhYmxlICYmIHRoaXMuaXRlbT8uaXNTaGFyZWFibGU7XG4gICAgfVxuXG4gICAgZ2V0SWZyYW1lV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWZyYW1lV2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0SWZyYW1lSGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmlmcmFtZUhlaWdodDtcbiAgICB9XG5cbiAgICBzZXRJZnJhbWVEaW1lbnNpb25zKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMuZ2V0Q2FsY3VsYXRlZElmcmFtZURpbWVuc2lvbnMoKTtcbiAgICAgICAgdGhpcy5pZnJhbWVXaWR0aCA9IHdpZHRoO1xuICAgICAgICB0aGlzLmlmcmFtZUhlaWdodCA9IGhlaWdodDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcbiAgICBpZnJhbWVSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0SWZyYW1lRGltZW5zaW9ucygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FsY3VsYXRlZElmcmFtZURpbWVuc2lvbnMoKTogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9IHtcbiAgICAgICAgbGV0IHdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGxldCBoZWlnaHQgPVxuICAgICAgICAgICAgdGhpcy5vdmVybGF5Q2hpbGQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQgLVxuICAgICAgICAgICAgdGhpcy5oZWFkZXJDaGlsZC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtXG4gICAgICAgICAgICB0aGlzLmZvb3RlckNoaWxkLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICBpZiAod2lkdGggPiBoZWlnaHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHNjYWxlZEhlaWdodCA9IGhlaWdodCAqIHRoaXMuUkVTT0xVVElPTl8xNl85X1BST1BPVElPTjtcbiAgICAgICAgICAgIGlmIChzY2FsZWRIZWlnaHQgPiB3aWR0aCkge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gd2lkdGggKiAwLjk1O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aCA9IHNjYWxlZEhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHNjYWxlZFdpdGggPSB3aWR0aCAqIHRoaXMuUkVTT0xVVElPTl80XzNfUFJPUE9USU9OO1xuICAgICAgICAgICAgaWYgKHNjYWxlZFdpdGggPiBoZWlnaHQpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBoZWlnaHQgKiAwLjk1O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBzY2FsZWRXaXRoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRJdGVtSW5kZXgoaXRlbXM6IEFycmF5PEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50PiwgaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmluZEluZGV4KChpdCkgPT4gaXQgPT09IGl0ZW0pICsgMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRQcmV2aW91c0l0ZW0oaXRlbXM6IEFycmF5PEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50PiwgaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kUHJldmlvdXNJdGVtSW5kZXgoaXRlbXMsIGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbXNbaW5kZXhdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZE5leHRJdGVtKGl0ZW1zOiBBcnJheTxFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudD4sIGl0ZW06IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50KTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZmluZE5leHRJdGVtSW5kZXgoaXRlbXMsIGl0ZW0pO1xuICAgICAgICByZXR1cm4gaXRlbXNbaW5kZXhdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZFByZXZpb3VzSXRlbUluZGV4KGl0ZW1zOiBBcnJheTxFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudD4sIGl0ZW06IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gaXRlbXMuZmluZEluZGV4KChpdCkgPT4gaXQgPT09IGl0ZW0pO1xuICAgICAgICByZXR1cm4gY3VycmVudEluZGV4ID09PSAwID8gaXRlbXMubGVuZ3RoIC0gMSA6IGN1cnJlbnRJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmV4dEl0ZW1JbmRleChpdGVtczogQXJyYXk8RWNsR2FsbGVyeUl0ZW1Db21wb25lbnQ+LCBpdGVtOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IGl0ZW1zLmZpbmRJbmRleCgoaXQpID0+IGl0ID09PSBpdGVtKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleCA+PSBpdGVtcy5sZW5ndGggLSAxID8gMCA6IGN1cnJlbnRJbmRleCArIDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrQnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldCwgQnJlYWtwb2ludHMuVGFibGV0XSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSwgZGVsYXkodGhpcy5CUkVBS1BPSU5UX0NIQU5HRVNfVElNRU9VVCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlID0gcmVzdWx0Lm1hdGNoZXM7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VJdGVtc01vYmlsZSgpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFuYWdlSXRlbXNEZXNrdG9wKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VJdGVtc01vYmlsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXhWaXNpYmxlSXRlbXMgPSB0aGlzLk1BWF9WSVNJQkxFX0lURU1TX01PQklMRTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZUl0ZW1zKCk7XG4gICAgICAgIHRoaXMuZ2FsbGVyeUZvb3Rlci5pc1Nob3dUb2dnbGVCdG4gPSB0aGlzLmhhc0hpZGRlbkdhbGVyeUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYW5hZ2VJdGVtc0Rlc2t0b3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWF4VmlzaWJsZUl0ZW1zID0gdGhpcy52aXNpYmxlSXRlbXM7XG4gICAgICAgIHRoaXMuZ2V0VmlzaWJsZUl0ZW1zKCkuZm9yRWFjaCgoZWxlbSkgPT4gdGhpcy5zaG93R2FsZXJ5SXRlbShlbGVtKSk7XG4gICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcygpO1xuICAgICAgICB0aGlzLmdhbGxlcnlGb290ZXIuaXNTaG93VG9nZ2xlQnRuID0gdGhpcy5oYXNIaWRkZW5HYWxlcnlJdGVtcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzSGlkZGVuR2FsZXJ5SXRlbXMoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm1heFZpc2libGVJdGVtcyAmJiB0aGlzLml0ZW1zQ291bnQgPiAwICYmIHRoaXMubWF4VmlzaWJsZUl0ZW1zIDwgdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY29sbGFwc2VJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZXRIaWRkZW5JdGVtcygpLmZvckVhY2goKGVsZW0pID0+IHRoaXMuaGlkZUdhbGVyeUl0ZW0oZWxlbSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0FsbEl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEhpZGRlbkl0ZW1zKCkuZm9yRWFjaCgoZWxlbSkgPT4gdGhpcy5zaG93R2FsZXJ5SXRlbShlbGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlR2FsZXJ5SXRlbShpdGVtOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpdGVtLmlzSGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dHYWxlcnlJdGVtKGl0ZW06IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGl0ZW0uaXNIaWRkZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhpZGRlbkl0ZW1zKCk6IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nYWxsZXJ5SXRlbXMuZmlsdGVyKChpdGVtLCBjbnQpID0+IGNudCA+PSB0aGlzLm1heFZpc2libGVJdGVtcyk7XG4gICAgfVxuICAgIHByaXZhdGUgZ2V0VmlzaWJsZUl0ZW1zKCk6IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nYWxsZXJ5SXRlbXMuZmlsdGVyKChpdGVtLCBjbnQpID0+IGNudCA8IHRoaXMubWF4VmlzaWJsZUl0ZW1zKTtcbiAgICB9XG59XG4iLCI8dWwgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fbGlzdFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvdWw+XG5cbjxuZy1jb250ZW50IHNlbGVjdD1cImVjbC1nYWxsZXJ5LWZvb3RlclwiPjwvbmctY29udGVudD5cblxuPGRpYWxvZyAjb3ZlcmxheSBbYXR0ci5vcGVuXT1cImlzRGlhbG9nVmlzaWJsZSB8fCBudWxsXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fb3ZlcmxheVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInZWNsLmdhbGxlcnkuRlVMTC1TSVpFLURJU1BMQVknIHwgdHJhbnNsYXRlXCI+XG4gICAgPGhlYWRlciAjaGVhZGVyIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Nsb3NlXCI+XG4gICAgICAgIDxidXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoJGV2ZW50KVwiIGVjbEJ1dHRvbiBjbGFzcz1cImVjbC1nYWxsZXJ5X19jbG9zZS1idXR0b25cIiBpc0ljb25Pbmx5IHZhcmlhbnQ9XCJnaG9zdFwiPlxuICAgICAgICAgICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgICAgICAgICAge3sgJ2VjbC5jb21tb24uQ0xPU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNsb3NlXCIgc2l6ZT1cIm1cIj48L2VjbC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImVjbC1nYWxsZXJ5X19zbGlkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1nYWxsZXJ5X19zbGlkZXItbWVkaWEtY29udGFpbmVyXCI+XG4gICAgICAgICAgICBAaWYoaXRlbT8uaXNFeHRlcm5hbFZpZGVvKSB7XG4gICAgICAgICAgICA8ZGl2ICNleHRlcm5hbFZpZGVvIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlci1lbWJlZFwiPlxuICAgICAgICAgICAgICAgIDxpZnJhbWUgW3NyY109XCJpdGVtPy5nZXRVcmxFeHRlcm5hbFZpZGVvKClcIiBbc3R5bGUud2lkdGgucHhdPVwiZ2V0SWZyYW1lV2lkdGgoKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiZ2V0SWZyYW1lSGVpZ2h0KClcIiBmcmFtZWJvcmRlcj1cIjBcIj5cbiAgICAgICAgICAgICAgICA8L2lmcmFtZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmKGl0ZW0/LmlzSW1hZ2UpIHtcbiAgICAgICAgICAgIDxwaWN0dXJlICNpbWFnZSBjbGFzcz1cImVjbC1waWN0dXJlIGVjbC1nYWxsZXJ5X19waWN0dXJlIGVjbC1nYWxsZXJ5X19zbGlkZXItaW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nIFthdHRyLmFsdF09XCJpdGVtPy5sYWJlbCB8fCBudWxsXCIgW3NyY109XCJpdGVtPy5zcmNcIiAvPlxuICAgICAgICAgICAgPC9waWN0dXJlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmKGl0ZW0/LmlzVmlkZW8pIHtcbiAgICAgICAgICAgIDx2aWRlbyAjdmlkZW8gY29udHJvbHM9XCJjb250cm9sc1wiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlci12aWRlb1wiXG4gICAgICAgICAgICAgICAgW2F0dHIucG9zdGVyXT1cIml0ZW0ubWVkaWFDaGlsZD8ucG9zdGVyXCI+XG4gICAgICAgICAgICAgICAgQGZvciAoZWwgb2YgaXRlbS5tZWRpYUNoaWxkPy5zb3VyY2VzOyB0cmFjayBlbC5zcmMpIHtcbiAgICAgICAgICAgICAgICA8c291cmNlIFthdHRyLnNyY109XCJlbC5zcmNcIiBbYXR0ci50eXBlXT1cImVsLnR5cGVcIiAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAZm9yIChlbGVtIG9mIGl0ZW0ubWVkaWFDaGlsZD8udHJhY2tzOyB0cmFjayBlbGVtLnNyYykge1xuICAgICAgICAgICAgICAgIDx0cmFjayBbYXR0ci5zcmNdPVwiZWxlbS5zcmNcIiBbYXR0ci5raW5kXT1cImVsZW0ua2luZFwiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLnNyY0xhbmddPVwiZWxlbS5zcmNMYW5nXCIgW2F0dHIubGFiZWxdPVwiZWxlbS5sYWJlbFwiIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC92aWRlbz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICAgIDxmb290ZXIgI2Zvb3RlciBjbGFzcz1cImVjbC1nYWxsZXJ5X19kZXRhaWxcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fcGFnZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGVjbEJ1dHRvbiBjbGFzcz1cImVjbC1nYWxsZXJ5X19zbGlkZXItcHJldmlvdXNcIiB2YXJpYW50PVwidGVydGlhcnlcIiBpc0ljb25Pbmx5XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblByZXZpb3VzKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwibVwiIHRyYW5zZm9ybT1cInJvdGF0ZS0yNzBcIj48L2VjbC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBlY2xCdXR0b25MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlY2wuY29tbW9uLlBSRVZJT1VTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1nYWxsZXJ5X19kZXRhaWwtY291bnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtSW5kZXggfX08L3NwYW4+IHt7ICdlY2wuY29tbW9uLk9GJyB8IHRyYW5zbGF0ZSB9fSA8c3Bhbj57eyBpdGVtc0NvdW50IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxidXR0b24gZWNsQnV0dG9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlci1uZXh0XCIgdmFyaWFudD1cInRlcnRpYXJ5XCIgaXNJY29uT25seVxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25OZXh0KCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5ORVhUJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgc2l6ZT1cIm1cIiB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIj48L2VjbC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX2RldGFpbC1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgQGlmKGNhbkJlT3BlbkluRnVsbFNjcmVlbigpKSB7XG4gICAgICAgICAgICAgICAgPGEgZWNsTGluayB2YXJpYW50PVwic3RhbmRhbG9uZVwiIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Rvd25sb2FkXCIgW2hyZWZdPVwiaXRlbT8uZ2V0RG93bmxvYWRMaW5rKClcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwib25GdWxsU2NyZWVuT3BlbigkZXZlbnQpXCIgaXNJbnZlcnRlZD5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZWNsTGlua0xhYmVsPnt7ICdlY2wuZ2FsbGVyeS5WSUVXLU9SSUdJTkFMJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJmdWxsc2NyZWVuXCIgc2l6ZT1cImZsdWlkXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj48L2VjbC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmKGNhbkJlU2hhcmVkKCkpIHtcbiAgICAgICAgICAgICAgICA8YSBlY2xMaW5rIHZhcmlhbnQ9XCJzdGFuZGFsb25lXCIgaXNJbnZlcnRlZCBjbGFzcz1cImVjbC1nYWxsZXJ5X19zaGFyZVwiIGhyZWY9XCJcIiAoY2xpY2spPVwib25TaGFyZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGVjbExpbmtMYWJlbD57eyAnZWNsLmNvbW1vbi5TSEFSRScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwic2hhcmVcIiBzaXplPVwiZmx1aWRcIiBmb2N1c2FibGU9XCJmYWxzZVwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGlmKGl0ZW0/LmRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXRlbT8uZGVzY3JpcHRpb25cIiBjbGFzcz1cImVjbC1nYWxsZXJ5X19kZXRhaWwtZGVzY3JpcHRpb25cIj57eyBpdGVtPy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmKGl0ZW0/Lm1ldGEpIHtcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtPy5tZXRhXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZGV0YWlsLW1ldGFcIj57eyBpdGVtPy5tZXRhIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9vdGVyPlxuPC9kaWFsb2c+Il19
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWdhbGxlcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1nYWxsZXJ5L2VjbC1nYWxsZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtZ2FsbGVyeS9lY2wtZ2FsbGVyeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7QUFFdkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFlBQVk7Q0FBRztBQUN4RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTtDQUFHO0FBQ3hELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxZQUFZO0lBQ3ZELFlBQW1CLFdBQTJCO1FBQzFDLEtBQUssRUFBRSxDQUFDO1FBRE8sZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRTlDLENBQUM7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Z0JBRzNCLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxJQUFJO3NCQUFiLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDbUMsWUFBWTtzQkFBckQsZUFBZTt1QkFBQyx1QkFBdUI7Z0JBQ0MsYUFBYTtzQkFBckQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ25CLFVBQVU7c0JBQTdCLFNBQVM7dUJBQUMsT0FBTztnQkFDRSxVQUFVO3NCQUE3QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1Usa0JBQWtCO3NCQUE3QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0osWUFBWTtzQkFBakMsU0FBUzt1QkFBQyxTQUFTO2dCQUNDLFdBQVc7c0JBQS9CLFNBQVM7dUJBQUMsUUFBUTtnQkFDRSxXQUFXO3NCQUEvQixTQUFTO3VCQUFDLFFBQVE7Z0JBR2YsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBSU0sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQTJDeEIsc0JBQXNCO3NCQURyQixZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQStFbkQsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBkZWxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRWNsR2FsbGVyeUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbC9lY2wtZ2FsbGVyeS1pdGVtLm1vZGVsJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsR2FsbGVyeUZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWdhbGxlcnktZm9vdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLWdhbGxlcnktaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeVNob3dFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7fVxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlIaWRlRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge31cbmV4cG9ydCBjbGFzcyBFY2xHYWxsZXJ5RnVsbFNjcmVlbkV2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZ2FsbGVyeUl0ZW06IEVjbEdhbGxlcnlJdGVtKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlTaGFyZUV2ZW50IGV4dGVuZHMgRWNsQmFzZUV2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZ2FsbGVyeUl0ZW06IEVjbEdhbGxlcnlJdGVtKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRWNsR2FsbGVyeUl0ZW1FdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGdhbGxlcnlJdGVtOiBFY2xHYWxsZXJ5SXRlbSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtZ2FsbGVyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC1nYWxsZXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgYFxuICAgICAgICAgICAgOmhvc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBgLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVjbEdhbGxlcnlDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBPbkluaXQge1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzT3BlbkluRnVsbFNjcmVlblBvc3NpYmxlID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNTaGFyZWFibGUgPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0Z1bGxXaWR0aCA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc05vT3ZlcmxheSA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIG1heFZpc2libGVJdGVtczogbnVtYmVyO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gICAgQE91dHB1dCgpIHNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEdhbGxlcnlTaG93RXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEdhbGxlcnlIaWRlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIG9wZW5GdWxsU2NyZWVuID0gbmV3IEV2ZW50RW1pdHRlcjxFY2xHYWxsZXJ5RnVsbFNjcmVlbkV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBzaGFyZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsR2FsbGVyeVNoYXJlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGl0ZW1Td2l0Y2ggPSBuZXcgRXZlbnRFbWl0dGVyPEVjbEdhbGxlcnlJdGVtRXZlbnQ+KCk7XG4gICAgQENvbnRlbnRDaGlsZHJlbihFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCkgZ2FsbGVyeUl0ZW1zOiBRdWVyeUxpc3Q8RWNsR2FsbGVyeUl0ZW1Db21wb25lbnQ+O1xuICAgIEBDb250ZW50Q2hpbGQoRWNsR2FsbGVyeUZvb3RlckNvbXBvbmVudCkgZ2FsbGVyeUZvb3RlcjogRWNsR2FsbGVyeUZvb3RlckNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCd2aWRlbycpIHZpZGVvQ2hpbGQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaW1hZ2UnKSBpbWFnZUNoaWxkOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2V4dGVybmFsVmlkZW8nKSBleHRlcm5hbFZpZGVvQ2hpbGQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnb3ZlcmxheScpIG92ZXJsYXlDaGlsZDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdoZWFkZXInKSBoZWFkZXJDaGlsZDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdmb290ZXInKSBmb290ZXJDaGlsZDogRWxlbWVudFJlZjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWdhbGxlcnknKSwgdGhpcy5pc0Z1bGxXaWR0aCA/ICdlY2wtZ2FsbGVyeS0tZnVsbC13aWR0aCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKSByb2xlID0gJ3JlZ2lvbic7XG5cbiAgICBpc0RpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICBpc01vYmlsZSA9IGZhbHNlO1xuICAgIGl0ZW1zQ291bnQ6IG51bWJlcjtcbiAgICBpdGVtSW5kZXg6IG51bWJlcjtcbiAgICBpdGVtOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudDtcbiAgICBwcml2YXRlIGlmcmFtZVdpZHRoOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBpZnJhbWVIZWlnaHQ6IG51bWJlcjtcbiAgICBwcml2YXRlIEJSRUFLUE9JTlRfQ0hBTkdFU19USU1FT1VUID0gNTAwO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgdmlzaWJsZUl0ZW1zOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBNQVhfVklTSUJMRV9JVEVNU19NT0JJTEUgPSAzO1xuICAgIHByaXZhdGUgUkVTT0xVVElPTl8xNl85X1BST1BPVElPTiA9IDE2IC8gOTtcbiAgICBwcml2YXRlIFJFU09MVVRJT05fNF8zX1BST1BPVElPTiA9IDQgLyAzO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG9uUHJldmlvdXMoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbSA9IHRoaXMuZmluZFByZXZpb3VzSXRlbSh0aGlzLmdhbGxlcnlJdGVtcy50b0FycmF5KCksIHRoaXMuaXRlbSk7XG5cbiAgICAgICAgdGhpcy5pdGVtSW5kZXggPSB0aGlzLmZpbmRJdGVtSW5kZXgodGhpcy5nYWxsZXJ5SXRlbXMudG9BcnJheSgpLCB0aGlzLml0ZW0pO1xuXG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xHYWxsZXJ5SXRlbUV2ZW50KHRoaXMuaXRlbSkpO1xuICAgIH1cblxuICAgIG9uTmV4dChldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtID0gdGhpcy5maW5kTmV4dEl0ZW0odGhpcy5nYWxsZXJ5SXRlbXMudG9BcnJheSgpLCB0aGlzLml0ZW0pO1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZmluZEl0ZW1JbmRleCh0aGlzLmdhbGxlcnlJdGVtcy50b0FycmF5KCksIHRoaXMuaXRlbSk7XG5cbiAgICAgICAgdGhpcy5pdGVtU3dpdGNoLm5leHQobmV3IEVjbEdhbGxlcnlJdGVtRXZlbnQodGhpcy5pdGVtKSk7XG4gICAgfVxuXG4gICAgb25DbG9zZShldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtID0gbnVsbDtcbiAgICAgICAgdGhpcy5pdGVtSW5kZXggPSAtMTtcbiAgICAgICAgdGhpcy5pc0RpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlLm5leHQobmV3IEVjbEdhbGxlcnlIaWRlRXZlbnQoKSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICAgIG9uRXNjYXBlS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0RpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlLm5leHQobmV3IEVjbEdhbGxlcnlIaWRlRXZlbnQoKSk7XG4gICAgfVxuXG4gICAgb25GdWxsU2NyZWVuT3BlbihldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuRnVsbFNjcmVlbi5uZXh0KG5ldyBFY2xHYWxsZXJ5RnVsbFNjcmVlbkV2ZW50KHRoaXMuaXRlbSkpO1xuICAgIH1cblxuICAgIG9uU2hhcmUoZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hhcmUubmV4dChuZXcgRWNsR2FsbGVyeVNoYXJlRXZlbnQodGhpcy5pdGVtKSk7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtc0NvdW50ID0gdGhpcy5nYWxsZXJ5SXRlbXMubGVuZ3RoO1xuICAgICAgICB0aGlzLnZpc2libGVJdGVtcyA9IHRoaXMubWF4VmlzaWJsZUl0ZW1zID8gdGhpcy5tYXhWaXNpYmxlSXRlbXMgOiB0aGlzLml0ZW1zQ291bnQ7XG4gICAgICAgIHRoaXMuZ2FsbGVyeUZvb3Rlci5pdGVtc0NvdW50ID0gdGhpcy5pdGVtc0NvdW50O1xuICAgICAgICB0aGlzLmdhbGxlcnlGb290ZXIuaXNTaG93VG9nZ2xlQnRuID0gdGhpcy5oYXNIaWRkZW5HYWxlcnlJdGVtcygpO1xuICAgICAgICB0aGlzLmdhbGxlcnlGb290ZXIudG9nZ2xlSXRlbXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZXZ0KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZ0LmV4cGFuZEFsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0FsbEl0ZW1zKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNOb092ZXJsYXkpIHtcbiAgICAgICAgICAgIHRoaXMuZ2FsbGVyeUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtLml0ZW1DbGljay5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChfKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEaWFsb2dWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pdGVtSW5kZXggPSB0aGlzLmZpbmRJdGVtSW5kZXgodGhpcy5nYWxsZXJ5SXRlbXMudG9BcnJheSgpLCBpdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaG93Lm5leHQobmV3IEVjbEdhbGxlcnlTaG93RXZlbnQoKSk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRJZnJhbWVEaW1lbnNpb25zKCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdhbGxlcnlJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5pc05vT3ZlcmxheSA9IHRydWUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmhhc0hpZGRlbkdhbGVyeUl0ZW1zKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGNhbkJlT3BlbkluRnVsbFNjcmVlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNPcGVuSW5GdWxsU2NyZWVuUG9zc2libGUgJiYgdGhpcy5pdGVtPy5pc09wZW5JbkZ1bGxTY3JlZW5Qb3NzaWJsZTtcbiAgICB9XG5cbiAgICBjYW5CZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNTaGFyZWFibGUgJiYgdGhpcy5pdGVtPy5pc1NoYXJlYWJsZTtcbiAgICB9XG5cbiAgICBnZXRJZnJhbWVXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pZnJhbWVXaWR0aDtcbiAgICB9XG5cbiAgICBnZXRJZnJhbWVIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWZyYW1lSGVpZ2h0O1xuICAgIH1cblxuICAgIHNldElmcmFtZURpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5nZXRDYWxjdWxhdGVkSWZyYW1lRGltZW5zaW9ucygpO1xuICAgICAgICB0aGlzLmlmcmFtZVdpZHRoID0gd2lkdGg7XG4gICAgICAgIHRoaXMuaWZyYW1lSGVpZ2h0ID0gaGVpZ2h0O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIGlmcmFtZVJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJZnJhbWVEaW1lbnNpb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDYWxjdWxhdGVkSWZyYW1lRGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgICAgICBsZXQgd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgbGV0IGhlaWdodCA9XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlDaGlsZC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodCAtXG4gICAgICAgICAgICB0aGlzLmhlYWRlckNoaWxkLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0IC1cbiAgICAgICAgICAgIHRoaXMuZm9vdGVyQ2hpbGQubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICAgIGlmICh3aWR0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgY29uc3Qgc2NhbGVkSGVpZ2h0ID0gaGVpZ2h0ICogdGhpcy5SRVNPTFVUSU9OXzE2XzlfUFJPUE9USU9OO1xuICAgICAgICAgICAgaWYgKHNjYWxlZEhlaWdodCA+IHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSB3aWR0aCAqIDAuOTU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gc2NhbGVkSGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc2NhbGVkV2l0aCA9IHdpZHRoICogdGhpcy5SRVNPTFVUSU9OXzRfM19QUk9QT1RJT047XG4gICAgICAgICAgICBpZiAoc2NhbGVkV2l0aCA+IGhlaWdodCkge1xuICAgICAgICAgICAgICAgIGhlaWdodCA9IGhlaWdodCAqIDAuOTU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGhlaWdodCA9IHNjYWxlZFdpdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHdpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEl0ZW1JbmRleChpdGVtczogQXJyYXk8RWNsR2FsbGVyeUl0ZW1Db21wb25lbnQ+LCBpdGVtOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpdGVtcy5maW5kSW5kZXgoKGl0KSA9PiBpdCA9PT0gaXRlbSkgKyAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZFByZXZpb3VzSXRlbShpdGVtczogQXJyYXk8RWNsR2FsbGVyeUl0ZW1Db21wb25lbnQ+LCBpdGVtOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCk6IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbmRQcmV2aW91c0l0ZW1JbmRleChpdGVtcywgaXRlbSk7XG4gICAgICAgIHJldHVybiBpdGVtc1tpbmRleF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kTmV4dEl0ZW0oaXRlbXM6IEFycmF5PEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50PiwgaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpOiBFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudCB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5maW5kTmV4dEl0ZW1JbmRleChpdGVtcywgaXRlbSk7XG4gICAgICAgIHJldHVybiBpdGVtc1tpbmRleF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kUHJldmlvdXNJdGVtSW5kZXgoaXRlbXM6IEFycmF5PEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50PiwgaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjdXJyZW50SW5kZXggPSBpdGVtcy5maW5kSW5kZXgoKGl0KSA9PiBpdCA9PT0gaXRlbSk7XG4gICAgICAgIHJldHVybiBjdXJyZW50SW5kZXggPT09IDAgPyBpdGVtcy5sZW5ndGggLSAxIDogY3VycmVudEluZGV4IC0gMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmROZXh0SXRlbUluZGV4KGl0ZW1zOiBBcnJheTxFY2xHYWxsZXJ5SXRlbUNvbXBvbmVudD4sIGl0ZW06IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gaXRlbXMuZmluZEluZGV4KChpdCkgPT4gaXQgPT09IGl0ZW0pO1xuICAgICAgICByZXR1cm4gY3VycmVudEluZGV4ID49IGl0ZW1zLmxlbmd0aCAtIDEgPyAwIDogY3VycmVudEluZGV4ICsgMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jZGtCcmVha3BvaW50T2JzZXJ2ZXJcbiAgICAgICAgICAgIC5vYnNlcnZlKFtCcmVha3BvaW50cy5IYW5kc2V0LCBCcmVha3BvaW50cy5UYWJsZXRdKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWxheSh0aGlzLkJSRUFLUE9JTlRfQ0hBTkdFU19USU1FT1VUKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGUgPSByZXN1bHQubWF0Y2hlcztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hbmFnZUl0ZW1zTW9iaWxlKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYW5hZ2VJdGVtc0Rlc2t0b3AoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZUl0ZW1zTW9iaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1heFZpc2libGVJdGVtcyA9IHRoaXMuTUFYX1ZJU0lCTEVfSVRFTVNfTU9CSUxFO1xuICAgICAgICB0aGlzLmNvbGxhcHNlSXRlbXMoKTtcbiAgICAgICAgdGhpcy5nYWxsZXJ5Rm9vdGVyLmlzU2hvd1RvZ2dsZUJ0biA9IHRoaXMuaGFzSGlkZGVuR2FsZXJ5SXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG1hbmFnZUl0ZW1zRGVza3RvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXhWaXNpYmxlSXRlbXMgPSB0aGlzLnZpc2libGVJdGVtcztcbiAgICAgICAgdGhpcy5nZXRWaXNpYmxlSXRlbXMoKS5mb3JFYWNoKChlbGVtKSA9PiB0aGlzLnNob3dHYWxlcnlJdGVtKGVsZW0pKTtcbiAgICAgICAgdGhpcy5jb2xsYXBzZUl0ZW1zKCk7XG4gICAgICAgIHRoaXMuZ2FsbGVyeUZvb3Rlci5pc1Nob3dUb2dnbGVCdG4gPSB0aGlzLmhhc0hpZGRlbkdhbGVyeUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNIaWRkZW5HYWxlcnlJdGVtcygpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMubWF4VmlzaWJsZUl0ZW1zICYmIHRoaXMuaXRlbXNDb3VudCA+IDAgJiYgdGhpcy5tYXhWaXNpYmxlSXRlbXMgPCB0aGlzLml0ZW1zQ291bnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb2xsYXBzZUl0ZW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldEhpZGRlbkl0ZW1zKCkuZm9yRWFjaCgoZWxlbSkgPT4gdGhpcy5oaWRlR2FsZXJ5SXRlbShlbGVtKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaG93QWxsSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2V0SGlkZGVuSXRlbXMoKS5mb3JFYWNoKChlbGVtKSA9PiB0aGlzLnNob3dHYWxlcnlJdGVtKGVsZW0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVHYWxlcnlJdGVtKGl0ZW06IEVjbEdhbGxlcnlJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGl0ZW0uaXNIaWRkZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2hvd0dhbGVyeUl0ZW0oaXRlbTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaXRlbS5pc0hpZGRlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SGlkZGVuSXRlbXMoKTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhbGxlcnlJdGVtcy5maWx0ZXIoKGl0ZW0sIGNudCkgPT4gY250ID49IHRoaXMubWF4VmlzaWJsZUl0ZW1zKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBnZXRWaXNpYmxlSXRlbXMoKTogRWNsR2FsbGVyeUl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhbGxlcnlJdGVtcy5maWx0ZXIoKGl0ZW0sIGNudCkgPT4gY250IDwgdGhpcy5tYXhWaXNpYmxlSXRlbXMpO1xuICAgIH1cbn1cbiIsIjx1bCBjbGFzcz1cImVjbC1nYWxsZXJ5X19saXN0XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC91bD5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLWdhbGxlcnktZm9vdGVyXCI+PC9uZy1jb250ZW50PlxuXG48ZGlhbG9nICNvdmVybGF5IFthdHRyLm9wZW5dPVwiaXNEaWFsb2dWaXNpYmxlIHx8IG51bGxcIiBjbGFzcz1cImVjbC1nYWxsZXJ5X19vdmVybGF5XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidlY2wuZ2FsbGVyeS5GVUxMLVNJWkUtRElTUExBWScgfCB0cmFuc2xhdGVcIj5cbiAgICA8aGVhZGVyICNoZWFkZXIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fY2xvc2VcIj5cbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgkZXZlbnQpXCIgZWNsQnV0dG9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2Nsb3NlLWJ1dHRvblwiIGlzSWNvbk9ubHkgdmFyaWFudD1cImdob3N0XCI+XG4gICAgICAgICAgICA8c3BhbiBlY2xCdXR0b25MYWJlbD5cbiAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY2xvc2VcIiBzaXplPVwibVwiPjwvZWNsLWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlci1tZWRpYS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIEBpZihpdGVtPy5pc0V4dGVybmFsVmlkZW8pIHtcbiAgICAgICAgICAgIDxkaXYgI2V4dGVybmFsVmlkZW8gY2xhc3M9XCJlY2wtZ2FsbGVyeV9fc2xpZGVyLWVtYmVkXCI+XG4gICAgICAgICAgICAgICAgPGlmcmFtZSBbc3JjXT1cIml0ZW0/LmdldFVybEV4dGVybmFsVmlkZW8oKVwiIFtzdHlsZS53aWR0aC5weF09XCJnZXRJZnJhbWVXaWR0aCgpXCJcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRJZnJhbWVIZWlnaHQoKVwiIGZyYW1lYm9yZGVyPVwiMFwiPlxuICAgICAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYoaXRlbT8uaXNJbWFnZSkge1xuICAgICAgICAgICAgPHBpY3R1cmUgI2ltYWdlIGNsYXNzPVwiZWNsLXBpY3R1cmUgZWNsLWdhbGxlcnlfX3BpY3R1cmUgZWNsLWdhbGxlcnlfX3NsaWRlci1pbWFnZVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW2F0dHIuYWx0XT1cIml0ZW0/LmxhYmVsIHx8IG51bGxcIiBbc3JjXT1cIml0ZW0/LnNyY1wiIC8+XG4gICAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYoaXRlbT8uaXNWaWRlbykge1xuICAgICAgICAgICAgPHZpZGVvICN2aWRlbyBjb250cm9scz1cImNvbnRyb2xzXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fc2xpZGVyLXZpZGVvXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5wb3N0ZXJdPVwiaXRlbS5tZWRpYUNoaWxkPy5wb3N0ZXJcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChlbCBvZiBpdGVtLm1lZGlhQ2hpbGQ/LnNvdXJjZXM7IHRyYWNrIGVsLnNyYykge1xuICAgICAgICAgICAgICAgIDxzb3VyY2UgW2F0dHIuc3JjXT1cImVsLnNyY1wiIFthdHRyLnR5cGVdPVwiZWwudHlwZVwiIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBmb3IgKGVsZW0gb2YgaXRlbS5tZWRpYUNoaWxkPy50cmFja3M7IHRyYWNrIGVsZW0uc3JjKSB7XG4gICAgICAgICAgICAgICAgPHRyYWNrIFthdHRyLnNyY109XCJlbGVtLnNyY1wiIFthdHRyLmtpbmRdPVwiZWxlbS5raW5kXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3JjTGFuZ109XCJlbGVtLnNyY0xhbmdcIiBbYXR0ci5sYWJlbF09XCJlbGVtLmxhYmVsXCIgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3ZpZGVvPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGZvb3RlciAjZm9vdGVyIGNsYXNzPVwiZWNsLWdhbGxlcnlfX2RldGFpbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1nYWxsZXJ5X19wYWdlclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gZWNsQnV0dG9uIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NsaWRlci1wcmV2aW91c1wiIHZhcmlhbnQ9XCJ0ZXJ0aWFyeVwiIGlzSWNvbk9ubHlcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUHJldmlvdXMoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImNvcm5lci1hcnJvd1wiIHNpemU9XCJtXCIgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGVjbEJ1dHRvbkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ2VjbC5jb21tb24uUFJFVklPVVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX2RldGFpbC1jb3VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1JbmRleCB9fTwvc3Bhbj4ge3sgJ2VjbC5jb21tb24uT0YnIHwgdHJhbnNsYXRlIH19IDxzcGFuPnt7IGl0ZW1zQ291bnQgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBlY2xCdXR0b24gY2xhc3M9XCJlY2wtZ2FsbGVyeV9fc2xpZGVyLW5leHRcIiB2YXJpYW50PVwidGVydGlhcnlcIiBpc0ljb25Pbmx5XG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbk5leHQoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBlY2xCdXR0b25MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlY2wuY29tbW9uLk5FWFQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiBzaXplPVwibVwiIHRyYW5zZm9ybT1cInJvdGF0ZS05MFwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZGV0YWlsLWFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICBAaWYoY2FuQmVPcGVuSW5GdWxsU2NyZWVuKCkpIHtcbiAgICAgICAgICAgICAgICA8YSBlY2xMaW5rIHZhcmlhbnQ9XCJzdGFuZGFsb25lXCIgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZG93bmxvYWRcIiBbaHJlZl09XCJpdGVtPy5nZXREb3dubG9hZExpbmsoKVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiIChjbGljayk9XCJvbkZ1bGxTY3JlZW5PcGVuKCRldmVudClcIiBpc0ludmVydGVkPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBlY2xMaW5rTGFiZWw+e3sgJ2VjbC5nYWxsZXJ5LlZJRVctT1JJR0lOQUwnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8ZWNsLWljb24gaWNvbj1cImZ1bGxzY3JlZW5cIiBzaXplPVwiZmx1aWRcIiBmb2N1c2FibGU9XCJmYWxzZVwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYoY2FuQmVTaGFyZWQoKSkge1xuICAgICAgICAgICAgICAgIDxhIGVjbExpbmsgdmFyaWFudD1cInN0YW5kYWxvbmVcIiBpc0ludmVydGVkIGNsYXNzPVwiZWNsLWdhbGxlcnlfX3NoYXJlXCIgaHJlZj1cIlwiIChjbGljayk9XCJvblNoYXJlKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZWNsTGlua0xhYmVsPnt7ICdlY2wuY29tbW9uLlNIQVJFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJzaGFyZVwiIHNpemU9XCJmbHVpZFwiIGZvY3VzYWJsZT1cImZhbHNlXCI+PC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYoaXRlbT8uZGVzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWdhbGxlcnlfX2RldGFpbC1kZXNjcmlwdGlvblwiPnt7IGl0ZW0/LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYoaXRlbT8ubWV0YSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJlY2wtZ2FsbGVyeV9fZGV0YWlsLW1ldGFcIj57eyBpdGVtPy5tZXRhIH19PC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZm9vdGVyPlxuPC9kaWFsb2c+XG4iXX0=
|
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Directive, HostBinding, Input } from '@angular/core';
|
|
3
|
-
import { coerceBoolean } from '@eui/base';
|
|
1
|
+
import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';
|
|
4
2
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
5
3
|
import * as i0 from "@angular/core";
|
|
6
4
|
export class EclHelpBlockDirective extends ECLBaseDirective {
|
|
7
5
|
constructor() {
|
|
8
6
|
super(...arguments);
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
7
|
this.isDisabled = false;
|
|
11
8
|
}
|
|
12
9
|
get cssClasses() {
|
|
13
10
|
return [super.getCssClasses('ecl-help-block'), this.isDisabled ? 'ecl-help-block--disabled' : ''].join(' ').trim();
|
|
14
11
|
}
|
|
15
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclHelpBlockDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.0.0-rc.0", type: EclHelpBlockDirective, selector: "[eclHelpBlock]", inputs: { isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
17
14
|
}
|
|
18
|
-
__decorate([
|
|
19
|
-
coerceBoolean
|
|
20
|
-
], EclHelpBlockDirective.prototype, "isDisabled", void 0);
|
|
21
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclHelpBlockDirective, decorators: [{
|
|
22
16
|
type: Directive,
|
|
23
17
|
args: [{
|
|
24
18
|
selector: '[eclHelpBlock]',
|
|
25
19
|
}]
|
|
26
20
|
}], propDecorators: { isDisabled: [{
|
|
27
|
-
type: Input
|
|
21
|
+
type: Input,
|
|
22
|
+
args: [{ transform: booleanAttribute }]
|
|
28
23
|
}], cssClasses: [{
|
|
29
24
|
type: HostBinding,
|
|
30
25
|
args: ['class']
|
|
31
26
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWhlbHAtYmxvY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1oZWxwLWJsb2NrL2VjbC1oZWxwLWJsb2NrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3pELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFIM0Q7O1FBSTRDLGVBQVUsR0FBRyxLQUFLLENBQUM7S0FNOUQ7SUFKRyxJQUNJLFVBQVU7UUFDVixPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkgsQ0FBQzttSEFOUSxxQkFBcUI7dUdBQXJCLHFCQUFxQixpRkFDVixnQkFBZ0I7O2dHQUQzQixxQkFBcUI7a0JBSGpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7OEJBRTJDLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBR2xDLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlY2xIZWxwQmxvY2tdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWNsSGVscEJsb2NrRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIGdldCBjc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLWhlbHAtYmxvY2snKSwgdGhpcy5pc0Rpc2FibGVkID8gJ2VjbC1oZWxwLWJsb2NrLS1kaXNhYmxlZCcgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs
CHANGED
|
@@ -2,7 +2,6 @@ import { Component, ContentChildren, forwardRef, HostBinding, Input } from '@ang
|
|
|
2
2
|
import { EclListIllustrationIconDirective } from '..';
|
|
3
3
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
5
|
export class EclListIllustrationItemComponent extends ECLBaseDirective {
|
|
7
6
|
constructor() {
|
|
8
7
|
super(...arguments);
|
|
@@ -17,11 +16,11 @@ export class EclListIllustrationItemComponent extends ECLBaseDirective {
|
|
|
17
16
|
return Boolean(this.eclValue);
|
|
18
17
|
}
|
|
19
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclListIllustrationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-rc.0", type: EclListIllustrationItemComponent, selector: "ecl-list-illustration-item", inputs: { eclTitle: "eclTitle", eclValue: "eclValue" }, host: { properties: { "class.ecl-list-illustration__item": "this.className" } }, queries: [{ propertyName: "eclIllustrationIcons", predicate: i0.forwardRef(() => EclListIllustrationIconDirective) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n" }); }
|
|
21
20
|
}
|
|
22
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ngImport: i0, type: EclListIllustrationItemComponent, decorators: [{
|
|
23
22
|
type: Component,
|
|
24
|
-
args: [{ selector: 'ecl-list-illustration-item', template: "<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n
|
|
23
|
+
args: [{ selector: 'ecl-list-illustration-item', template: "<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
|
|
25
24
|
}], propDecorators: { eclTitle: [{
|
|
26
25
|
type: Input
|
|
27
26
|
}], eclValue: [{
|
|
@@ -33,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-rc.0", ng
|
|
|
33
32
|
type: ContentChildren,
|
|
34
33
|
args: [forwardRef(() => EclListIllustrationIconDirective)]
|
|
35
34
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWxpc3QtaWxsdXN0cmF0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1saXN0LWlsbHVzdHJhdGlvbi9lY2wtbGlzdC1pbGx1c3RyYXRpb24taXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLWxpc3QtaWxsdXN0cmF0aW9uL2VjbC1saXN0LWlsbHVzdHJhdGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLElBQUksQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLGdCQUFnQjtJQUp0RTs7UUFLYSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUMyQixjQUFTLEdBQUcsSUFBSSxDQUFDO0tBV3RFO0lBUEcsSUFBSSxRQUFRO1FBQ1IsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzttSEFiUSxnQ0FBZ0M7dUdBQWhDLGdDQUFnQyxvUUFJUCxnQ0FBZ0MscURDWnRFLGtwQkFnQkE7O2dHRFJhLGdDQUFnQztrQkFKNUMsU0FBUzsrQkFDSSw0QkFBNEI7OEJBSTdCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDNEMsU0FBUztzQkFBMUQsV0FBVzt1QkFBQyxtQ0FBbUM7Z0JBRWhELG9CQUFvQjtzQkFEbkIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0NBQWdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVjbExpc3RJbGx1c3RyYXRpb25JY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLWxpc3QtaWxsdXN0cmF0aW9uLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbGlzdC1pbGx1c3RyYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbExpc3RJbGx1c3RyYXRpb25JdGVtQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgZWNsVGl0bGUgPSAnJztcbiAgICBASW5wdXQoKSBlY2xWYWx1ZSA9ICcnO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpc3QtaWxsdXN0cmF0aW9uX19pdGVtJykgY2xhc3NOYW1lID0gdHJ1ZTtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsTGlzdElsbHVzdHJhdGlvbkljb25EaXJlY3RpdmUpKVxuICAgIGVjbElsbHVzdHJhdGlvbkljb25zOiBRdWVyeUxpc3Q8RWNsTGlzdElsbHVzdHJhdGlvbkljb25EaXJlY3RpdmU+O1xuXG4gICAgZ2V0IGhhc1RpdGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmVjbFRpdGxlKSB8fCB0aGlzLmVjbElsbHVzdHJhdGlvbkljb25zLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmVjbFZhbHVlKTtcbiAgICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbZWNsTGlzdElsbHVzdHJhdGlvbkltYWdlXSxbZWNsTGlzdElsbHVzdHJhdGlvblBpY3R1cmVdXCI+PC9uZy1jb250ZW50PlxuPGRpdiBjbGFzcz1cImVjbC1saXN0LWlsbHVzdHJhdGlvbl9fZGV0YWlsXCI+XG4gICAgQGlmIChoYXNUaXRsZSB8fCBoYXNWYWx1ZSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZWNsLWxpc3QtaWxsdXN0cmF0aW9uX190aXRsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlY2xMaXN0SWxsdXN0cmF0aW9uSWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICBAaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1saXN0LWlsbHVzdHJhdGlvbl9fdmFsdWVcIj57eyBlY2xWYWx1ZSB9fTwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVjbC1saXN0LWlsbHVzdHJhdGlvbl9fdGl0bGVcIj57eyBlY2xUaXRsZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLWxpc3QtaWxsdXN0cmF0aW9uX19kZXNjcmlwdGlvblwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|