@eui/ecl 15.0.0-rc.17 → 15.0.0-rc.19
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/EclAccordionComponent.html +19 -0
- package/docs/components/EclAccordionItemComponent.html +19 -0
- package/docs/components/EclAppComponent.html +19 -0
- package/docs/components/EclBlockquoteComponent.html +19 -0
- package/docs/components/EclBreadcrumbComponent.html +19 -0
- package/docs/components/EclBreadcrumbComponentBase.html +19 -0
- package/docs/components/EclBreadcrumbCoreComponent.html +19 -0
- package/docs/components/EclBreadcrumbCoreSegmentComponent.html +19 -0
- package/docs/components/EclBreadcrumbHarmonisedComponent.html +19 -0
- package/docs/components/EclBreadcrumbHarmonisedSegmentComponent.html +19 -0
- package/docs/components/EclBreadcrumbSegmentComponent.html +19 -0
- package/docs/components/EclBreadcrumbSegmentComponentBase.html +19 -0
- package/docs/components/EclBreadcrumbStandardisedComponent.html +19 -0
- package/docs/components/EclBreadcrumbStandardisedSegmentComponent.html +19 -0
- package/docs/components/EclButtonComponent.html +19 -0
- package/docs/components/EclCardBodyComponent.html +19 -0
- package/docs/components/EclCardComponent.html +19 -0
- package/docs/components/EclCarouselComponent.html +19 -0
- package/docs/components/EclCarouselItemComponent.html +19 -0
- package/docs/components/EclCategoryFilterComponent.html +19 -0
- package/docs/components/EclCategoryFilterItemComponent.html +19 -0
- package/docs/components/EclCategoryFilterListComponent.html +19 -0
- package/docs/components/EclCheckboxHelpComponent.html +19 -0
- package/docs/components/EclCheckboxLabelComponent.html +19 -0
- package/docs/components/EclContentBlockComponent.html +19 -0
- package/docs/components/EclContentItemComponent.html +19 -0
- package/docs/components/EclDateBlockComponent.html +19 -0
- package/docs/components/EclExpandableComponent.html +19 -0
- package/docs/components/EclFactFiguresComponent.html +19 -0
- package/docs/components/EclFactFiguresDescriptionComponent.html +19 -0
- package/docs/components/EclFactFiguresItemComponent.html +19 -0
- package/docs/components/EclFactFiguresTitleComponent.html +19 -0
- package/docs/components/EclFactFiguresValueComponent.html +19 -0
- package/docs/components/EclFactFiguresViewAllComponent.html +19 -0
- package/docs/components/EclFeaturedComponent.html +19 -0
- package/docs/components/EclFeaturedItemComponent.html +19 -0
- package/docs/components/EclFeaturedItemDescriptionComponent.html +19 -0
- package/docs/components/EclFileComponent.html +19 -0
- package/docs/components/EclFileItemComponent.html +19 -0
- package/docs/components/EclFileItemsComponent.html +19 -0
- package/docs/components/EclFileTaxonomyComponent.html +19 -0
- package/docs/components/EclFooterComponentBase.html +19 -0
- package/docs/components/EclFooterCoreComponent.html +19 -0
- package/docs/components/EclFooterHarmonisedComponent.html +19 -0
- package/docs/components/EclFooterStandardisedComponent.html +19 -0
- package/docs/components/EclFormGroupComponent.html +19 -0
- package/docs/components/EclFormLabelComponent.html +19 -0
- package/docs/components/EclGalleryComponent.html +19 -0
- package/docs/components/EclGalleryItemComponent.html +19 -0
- package/docs/components/EclHeroBannerComponent.html +19 -0
- package/docs/components/EclIconComponent.html +19 -0
- package/docs/components/EclInpageNavigationComponent.html +19 -0
- package/docs/components/EclInpageNavigationItemComponent.html +19 -0
- package/docs/components/EclLanguageListComponent.html +19 -0
- package/docs/components/EclLanguageListItemComponent.html +19 -0
- package/docs/components/EclListIllustrationComponent.html +19 -0
- package/docs/components/EclListIllustrationItemComponent.html +19 -0
- package/docs/components/EclMediaContainerComponent.html +19 -0
- package/docs/components/EclMenuComponent.html +19 -0
- package/docs/components/EclMenuItemComponent.html +19 -0
- package/docs/components/EclMenuMegaComponent.html +19 -0
- package/docs/components/EclMenuMegaItemComponent.html +19 -0
- package/docs/components/EclMessageComponent.html +19 -0
- package/docs/components/EclMultiselectComponent.html +19 -0
- package/docs/components/EclNavigationListComponent.html +19 -0
- package/docs/components/EclNavigationListItemComponent.html +19 -0
- package/docs/components/EclNewsTickerComponent.html +147 -6
- package/docs/components/EclNewsTickerItemComponent.html +176 -35
- package/docs/components/EclPageBannerComponent.html +19 -0
- package/docs/components/EclPageHeaderComponent.html +19 -0
- package/docs/components/EclPageHeaderComponentBase.html +19 -0
- package/docs/components/EclPageHeaderCoreComponent.html +19 -0
- package/docs/components/EclPageHeaderHarmonisedComponent.html +19 -0
- package/docs/components/EclPageHeaderStandardisedComponent.html +19 -0
- package/docs/components/EclPaginationComponent.html +19 -0
- package/docs/components/EclPaginationItemComponent.html +19 -0
- package/docs/components/EclRadioHelpComponent.html +19 -0
- package/docs/components/EclRadioLabelComponent.html +19 -0
- package/docs/components/EclRatingFieldComponent.html +19 -0
- package/docs/components/EclSearchFormComponent.html +19 -0
- package/docs/components/EclSiteFooterComponent.html +19 -0
- package/docs/components/EclSiteHeaderActionComponent.html +19 -0
- package/docs/components/EclSiteHeaderActionComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderBannerTopComponent.html +19 -0
- package/docs/components/EclSiteHeaderBannerTopComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderComponent.html +19 -0
- package/docs/components/EclSiteHeaderComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderCoreActionComponent.html +19 -0
- package/docs/components/EclSiteHeaderCoreComponent.html +19 -0
- package/docs/components/EclSiteHeaderCoreLanguageComponent.html +19 -0
- package/docs/components/EclSiteHeaderCoreLoginComponent.html +19 -0
- package/docs/components/EclSiteHeaderCoreSearchComponent.html +19 -0
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedActionComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedBannerTopComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedLanguageComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedLoginComponent.html +19 -0
- package/docs/components/EclSiteHeaderHarmonisedSearchComponent.html +19 -0
- package/docs/components/EclSiteHeaderLanguageComponent.html +19 -0
- package/docs/components/EclSiteHeaderLanguageComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderLoginComponent.html +19 -0
- package/docs/components/EclSiteHeaderLoginComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderSearchComponent.html +19 -0
- package/docs/components/EclSiteHeaderSearchComponentBase.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedActionComponent.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedBannerTopComponent.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedComponent.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedLanguageComponent.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedLoginComponent.html +19 -0
- package/docs/components/EclSiteHeaderStandardisedSearchComponent.html +19 -0
- package/docs/components/EclSocialMediaFollowComponent.html +19 -0
- package/docs/components/EclSocialMediaFollowItemComponent.html +19 -0
- package/docs/components/EclSocialMediaShareComponent.html +19 -0
- package/docs/components/EclSocialMediaShareItemComponent.html +19 -0
- package/docs/components/EclSpinnerComponent.html +19 -0
- package/docs/components/EclStickyContainerComponent.html +19 -0
- package/docs/components/EclTabComponent.html +19 -0
- package/docs/components/EclTabLabelComponent.html +19 -0
- package/docs/components/EclTabMoreComponent.html +19 -0
- package/docs/components/EclTabsComponent.html +19 -0
- package/docs/components/EclTagComponent.html +19 -0
- package/docs/components/EclTimelineComponent.html +19 -0
- package/docs/components/EclTimelineItemComponent.html +19 -0
- package/docs/components/EclTimelineItemTogglerComponent.html +19 -0
- package/docs/dependencies.html +3 -1
- package/docs/directives/ECLBaseDirective.html +97 -0
- package/docs/directives/ECLClickOutsideDirective.html +19 -0
- package/docs/directives/EclBlockquoteImageDirective.html +19 -0
- package/docs/directives/EclButtonLabelDirective.html +19 -0
- package/docs/directives/EclCardImageDirective.html +19 -0
- package/docs/directives/EclCheckboxDirective.html +19 -0
- package/docs/directives/EclCheckboxInputDirective.html +19 -0
- package/docs/directives/EclContentBlockDescriptionDirective.html +19 -0
- package/docs/directives/EclContentBlockLabelDirective.html +19 -0
- package/docs/directives/EclContentBlockLabelsDirective.html +19 -0
- package/docs/directives/EclContentBlockLinkDirective.html +19 -0
- package/docs/directives/EclContentBlockLinksContainerDirective.html +19 -0
- package/docs/directives/EclContentBlockLinksDirective.html +19 -0
- package/docs/directives/EclContentBlockListContainerDirective.html +19 -0
- package/docs/directives/EclContentBlockListDirective.html +19 -0
- package/docs/directives/EclContentBlockPrimaryMetaDirective.html +19 -0
- package/docs/directives/EclContentBlockPrimaryMetasDirective.html +19 -0
- package/docs/directives/EclContentBlockSecondaryMetaDirective.html +19 -0
- package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +19 -0
- package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +19 -0
- package/docs/directives/EclContentBlockSecondaryMetasDirective.html +19 -0
- package/docs/directives/EclContentBlockTagDirective.html +19 -0
- package/docs/directives/EclContentBlockTagsDirective.html +19 -0
- package/docs/directives/EclContentBlockTitleDirective.html +19 -0
- package/docs/directives/EclContentItemImageDirective.html +19 -0
- package/docs/directives/EclContentItemPictureDirective.html +19 -0
- package/docs/directives/EclDatePickerDirective.html +19 -0
- package/docs/directives/EclDescriptionListDefinitionDirective.html +19 -0
- package/docs/directives/EclDescriptionListDefinitionItemDirective.html +19 -0
- package/docs/directives/EclDescriptionListDirective.html +19 -0
- package/docs/directives/EclDescriptionListTermDirective.html +19 -0
- package/docs/directives/EclFeaturedItemLinkDirective.html +19 -0
- package/docs/directives/EclFeedbackMessageDirective.html +19 -0
- package/docs/directives/EclFileUploadDirective.html +19 -0
- package/docs/directives/EclFooterCoreColumntDirective.html +19 -0
- package/docs/directives/EclFooterCoreDescriptionDirective.html +19 -0
- package/docs/directives/EclFooterCoreLinkDirective.html +19 -0
- package/docs/directives/EclFooterCoreListDirective.html +19 -0
- package/docs/directives/EclFooterCoreSectionDirective.html +19 -0
- package/docs/directives/EclFooterCoreTitleDirective.html +19 -0
- package/docs/directives/EclFooterCoreTitleLinkDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedColumnDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedContentDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedDescriptionDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLinkDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedListDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedListItemDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLogoDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLogoImageDesktopDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLogoItemDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLogoLinkDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedLogoListDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedRowDirective.html +19 -0
- package/docs/directives/EclFooterHarmonisedSectionDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedColumnDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedContentDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedDescriptionDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedLinkDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedLogoImageDesktopDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedLogoLinkDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedRowDirective.html +19 -0
- package/docs/directives/EclFooterStandardisedSectionDirective.html +19 -0
- package/docs/directives/EclGalleryMediaDirective.html +19 -0
- package/docs/directives/EclHelpBlockDirective.html +19 -0
- package/docs/directives/EclHeroBannerCreditDirective.html +19 -0
- package/docs/directives/EclHeroBannerCtaLinkDirective.html +19 -0
- package/docs/directives/EclHeroBannerDescriptionDirective.html +19 -0
- package/docs/directives/EclHeroBannerTitleDirective.html +19 -0
- package/docs/directives/EclHiddenDirective.html +19 -0
- package/docs/directives/EclLabelDirective.html +19 -0
- package/docs/directives/EclLinkDirective.html +89 -1
- package/docs/directives/EclLinkLabelDirective.html +19 -0
- package/docs/directives/EclListIllustrationIconDirective.html +19 -0
- package/docs/directives/EclListIllustrationImageDirective.html +19 -0
- package/docs/directives/EclMediaContainerItemDirective.html +19 -0
- package/docs/directives/EclMessageTitleDirective.html +19 -0
- package/docs/directives/EclMultiselectOptionDirective.html +19 -0
- package/docs/directives/EclNavigationListImageDirective.html +19 -0
- package/docs/directives/EclOrderedListDirective.html +19 -0
- package/docs/directives/EclOrderedListItemDirective.html +19 -0
- package/docs/directives/EclPageBannerCreditDirective.html +19 -0
- package/docs/directives/EclPageBannerCtaLinkDirective.html +19 -0
- package/docs/directives/EclPageBannerDescriptionDirective.html +19 -0
- package/docs/directives/EclPageBannerTitleDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreDescriptionContainerDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreDescriptionDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreDescriptionThumbnailDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreMetaDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreMetaItemDirective.html +19 -0
- package/docs/directives/EclPageHeaderCoreTitleDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionContainerDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionDirective.html +19 -0
- package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedDescriptionContainerDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedDescriptionDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedDescriptionThumbnailDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedMetaDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedMetaItemDirective.html +19 -0
- package/docs/directives/EclPageHeaderHarmonisedTitleDirective.html +19 -0
- package/docs/directives/EclPageHeaderMetaDirective.html +19 -0
- package/docs/directives/EclPageHeaderMetaItemDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedDescriptionContainerDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedDescriptionDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedDescriptionThumbnailDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedMetaDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedMetaItemDirective.html +19 -0
- package/docs/directives/EclPageHeaderStandardisedTitleDirective.html +19 -0
- package/docs/directives/EclPageHeaderTitleDirective.html +19 -0
- package/docs/directives/EclRadioDirective.html +19 -0
- package/docs/directives/EclRadioInputDirective.html +19 -0
- package/docs/directives/EclSelectDirective.html +19 -0
- package/docs/directives/EclSiteFooterColumnDirective.html +19 -0
- package/docs/directives/EclSiteFooterContentDirective.html +19 -0
- package/docs/directives/EclSiteFooterDescriptionDirective.html +19 -0
- package/docs/directives/EclSiteFooterLinkDirective.html +19 -0
- package/docs/directives/EclSiteFooterListDirective.html +19 -0
- package/docs/directives/EclSiteFooterListItemDirective.html +19 -0
- package/docs/directives/EclSiteFooterLogoDirective.html +19 -0
- package/docs/directives/EclSiteFooterLogoImageDesktopDirective.html +19 -0
- package/docs/directives/EclSiteFooterLogoItemDirective.html +19 -0
- package/docs/directives/EclSiteFooterLogoLinkDirective.html +19 -0
- package/docs/directives/EclSiteFooterLogoListDirective.html +19 -0
- package/docs/directives/EclSiteFooterRowDirective.html +19 -0
- package/docs/directives/EclSiteFooterSectionDirective.html +19 -0
- package/docs/directives/EclSiteFooterTitleDirective.html +19 -0
- package/docs/directives/EclSiteFooterTitleLinkDirective.html +19 -0
- package/docs/directives/EclSiteHeaderCoreLoginDescriptionDirective.html +19 -0
- package/docs/directives/EclSiteHeaderCoreLoginSeparatorDirective.html +19 -0
- package/docs/directives/EclSiteHeaderHarmonisedLoginDescriptionDirective.html +19 -0
- package/docs/directives/EclSiteHeaderHarmonisedLoginSeparatorDirective.html +19 -0
- package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +19 -0
- package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +19 -0
- package/docs/directives/EclSiteHeaderStandardisedCtaDirective.html +19 -0
- package/docs/directives/EclSiteHeaderStandardisedLoginDescriptionDirective.html +19 -0
- package/docs/directives/EclSiteHeaderStandardisedLoginSeparatorDirective.html +19 -0
- package/docs/directives/EclTableBodyDirective.html +19 -0
- package/docs/directives/EclTableCellDirective.html +19 -0
- package/docs/directives/EclTableCellGroupDirective.html +19 -0
- package/docs/directives/EclTableDirective.html +19 -0
- package/docs/directives/EclTableHeadDirective.html +19 -0
- package/docs/directives/EclTableHeaderDirective.html +19 -0
- package/docs/directives/EclTableRowDirective.html +19 -0
- package/docs/directives/EclTextAreaDirective.html +19 -0
- package/docs/directives/EclTextInputDirective.html +19 -0
- package/docs/directives/EclTimelineItemLabelDirective.html +19 -0
- package/docs/directives/EclTimelineItemTitleDirective.html +19 -0
- package/docs/directives/EclUnorderedListDirective.html +19 -0
- package/docs/directives/EclUnorderedListItemDirective.html +19 -0
- package/docs/js/search/search_index.js +2 -2
- package/esm2020/lib/components/ecl-base.directive.mjs +12 -2
- package/esm2020/lib/components/ecl-link/ecl-link.directive.mjs +10 -6
- package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +48 -8
- package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +46 -19
- package/fesm2015/eui-ecl.mjs +103 -26
- package/fesm2015/eui-ecl.mjs.map +1 -1
- package/fesm2020/eui-ecl.mjs +103 -26
- package/fesm2020/eui-ecl.mjs.map +1 -1
- package/lib/components/ecl-base.directive.d.ts +5 -1
- package/lib/components/ecl-base.directive.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link.directive.d.ts +4 -2
- package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts +13 -5
- package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts.map +1 -1
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +7 -2
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { Directive, Input, HostBinding } from '@angular/core';
|
|
2
|
+
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export class ECLBaseDirective {
|
|
5
|
+
get tabindex() {
|
|
6
|
+
return this._tabindex || null;
|
|
7
|
+
}
|
|
8
|
+
set tabindex(value) { this._tabindex = coerceNumberProperty(value); }
|
|
4
9
|
getCssClasses(rootClass) {
|
|
5
10
|
return [
|
|
6
11
|
rootClass,
|
|
@@ -9,7 +14,7 @@ export class ECLBaseDirective {
|
|
|
9
14
|
}
|
|
10
15
|
}
|
|
11
16
|
/** @nocollapse */ ECLBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ECLBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
12
|
-
/** @nocollapse */ ECLBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: ECLBaseDirective, selector: "[eclBase]", inputs: { class: "class", e2eAttr: "e2eAttr" }, host: { properties: { "attr.data-e2e": "this.e2eAttr" } }, ngImport: i0 });
|
|
17
|
+
/** @nocollapse */ ECLBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: ECLBaseDirective, selector: "[eclBase]", inputs: { class: "class", e2eAttr: "e2eAttr", tabindex: "tabindex" }, host: { properties: { "attr.data-e2e": "this.e2eAttr", "attr.tabindex": "this.tabindex" } }, ngImport: i0 });
|
|
13
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ECLBaseDirective, decorators: [{
|
|
14
19
|
type: Directive,
|
|
15
20
|
args: [{
|
|
@@ -22,5 +27,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
22
27
|
args: ['attr.data-e2e']
|
|
23
28
|
}, {
|
|
24
29
|
type: Input
|
|
30
|
+
}], tabindex: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}, {
|
|
33
|
+
type: HostBinding,
|
|
34
|
+
args: ['attr.tabindex']
|
|
25
35
|
}] } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFlLE1BQU0sdUJBQXVCLENBQUM7O0FBSzFFLE1BQU0sT0FBTyxnQkFBZ0I7SUFLekIsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNsQyxDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBa0IsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUdsRixhQUFhLENBQUMsU0FBaUI7UUFDM0IsT0FBTztZQUNILFNBQVM7WUFDVCxJQUFJLENBQUMsS0FBSztTQUNiLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2dJQWpCUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUg1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7Z0JBRWlDLE9BQU87c0JBQTdDLFdBQVc7dUJBQUMsZUFBZTs7c0JBQUcsS0FBSztnQkFHaEMsUUFBUTtzQkFEWCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHksIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsQmFzZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSBjbGFzczogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtZTJlJykgQElucHV0KCkgZTJlQXR0cjtcblxuICAgIEBJbnB1dCgpIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJpbmRleCB8fCBudWxsO1xuICAgIH1cbiAgICBzZXQgdGFiaW5kZXgodmFsdWU6IE51bWJlcklucHV0KSB7IHRoaXMuX3RhYmluZGV4ID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpOyB9XG4gICAgcHJpdmF0ZSBfdGFiaW5kZXg6IG51bWJlcjtcblxuICAgIGdldENzc0NsYXNzZXMocm9vdENsYXNzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgcm9vdENsYXNzLFxuICAgICAgICAgICAgdGhpcy5jbGFzc1xuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -6,6 +6,10 @@ import { ECLBaseDirective } from '../ecl-base.directive';
|
|
|
6
6
|
import { coerceBoolean } from '@eui/base';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class EclLinkDirective extends ECLBaseDirective {
|
|
9
|
+
constructor(el) {
|
|
10
|
+
super();
|
|
11
|
+
this.el = el;
|
|
12
|
+
}
|
|
9
13
|
get cssClasses() {
|
|
10
14
|
return [
|
|
11
15
|
super.getCssClasses('ecl-link'),
|
|
@@ -57,7 +61,7 @@ export class EclLinkDirective extends ECLBaseDirective {
|
|
|
57
61
|
});
|
|
58
62
|
}
|
|
59
63
|
}
|
|
60
|
-
/** @nocollapse */ EclLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclLinkDirective, deps:
|
|
64
|
+
/** @nocollapse */ EclLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclLinkDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
61
65
|
/** @nocollapse */ EclLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0", type: EclLinkDirective, selector: "[eclLink]", inputs: { variant: "variant", isNegative: "isNegative", isNoVisited: "isNoVisited" }, host: { properties: { "class.ecl-link--negative": "this.isNegative", "class.ecl-link--no-visited": "this.isNoVisited", "class": "this.cssClasses", "class.ecl-link--icon-after": "this.hasRightIcon", "class.ecl-link--icon-before": "this.hasLeftIcon", "class.ecl-link--icon": "this.hasIcon" } }, queries: [{ propertyName: "eclIconComponents", predicate: i0.forwardRef(function () { return EclIconComponent; }) }], usesInheritance: true, ngImport: i0 });
|
|
62
66
|
__decorate([
|
|
63
67
|
coerceBoolean
|
|
@@ -70,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
70
74
|
args: [{
|
|
71
75
|
selector: '[eclLink]'
|
|
72
76
|
}]
|
|
73
|
-
}], propDecorators: { variant: [{
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { variant: [{
|
|
74
78
|
type: Input
|
|
75
79
|
}], isNegative: [{
|
|
76
80
|
type: Input
|
|
@@ -82,6 +86,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
82
86
|
}, {
|
|
83
87
|
type: HostBinding,
|
|
84
88
|
args: ['class.ecl-link--no-visited']
|
|
89
|
+
}], eclIconComponents: [{
|
|
90
|
+
type: ContentChildren,
|
|
91
|
+
args: [forwardRef(() => EclIconComponent)]
|
|
85
92
|
}], cssClasses: [{
|
|
86
93
|
type: HostBinding,
|
|
87
94
|
args: ['class']
|
|
@@ -94,8 +101,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
94
101
|
}], hasIcon: [{
|
|
95
102
|
type: HostBinding,
|
|
96
103
|
args: ['class.ecl-link--icon']
|
|
97
|
-
}], eclIconComponents: [{
|
|
98
|
-
type: ContentChildren,
|
|
99
|
-
args: [forwardRef(() => EclIconComponent)]
|
|
100
104
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1saW5rL2VjbC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFVBQVUsRUFDVixlQUFlLEVBR2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBSzFDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUE2QmxELFlBQW1CLEVBQWM7UUFDN0IsS0FBSyxFQUFFLENBQUM7UUFETyxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWpDLENBQUM7SUF6QkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1NBQ2xELENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFDSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFNRCxrQkFBa0I7UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFO3dCQUN6RCxHQUFHLENBQUMsS0FBSyxHQUFHLHVDQUF1QyxDQUFDO3FCQUN2RDt5QkFBTSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTt3QkFDakUsR0FBRyxDQUFDLEtBQUssR0FBRyxzQ0FBc0MsQ0FBQztxQkFDdEQ7eUJBQU07d0JBQ0gsR0FBRyxDQUFDLEtBQUssR0FBRyx1Q0FBdUMsQ0FBQztxQkFDdkQ7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXlCO1FBQy9DLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxhQUE0QixDQUFDO1lBRW5ELElBQUksK0JBQStCLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBeUI7UUFDOUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLGFBQTRCLENBQUM7WUFFbkQsSUFBSSwyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLEVBQUU7Z0JBQ3JELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O2dJQXZFUSxnQkFBZ0I7b0hBQWhCLGdCQUFnQixpZkFJUyxnQkFBZ0I7QUFGbkM7SUFBZCxhQUFhO29EQUE4RTtBQUM3RTtJQUFkLGFBQWE7cURBQWlGOzJGQUh0RixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7aUJBQ3hCO2lHQUVZLE9BQU87c0JBQWYsS0FBSztnQkFDMkQsVUFBVTtzQkFBM0QsS0FBSzs7c0JBQUksV0FBVzt1QkFBQywwQkFBMEI7Z0JBQ0ksV0FBVztzQkFBOUQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyw0QkFBNEI7Z0JBQ1osaUJBQWlCO3NCQUFyRSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFHL0MsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBU2hCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBTXJDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBTXRDLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGZvcndhcmRSZWYsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaGFzTmV4dFNpYmxpbmdXaXRoQXR0cmlidXRlLCBoYXNQcmV2aW91c1NpYmxpbmdXaXRoQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZG9tL2RvbS1oZWxwZXJzJztcbmltcG9ydCB7IEVjbEljb25Db21wb25lbnQgfSBmcm9tICcuLi9lY2wtaWNvbi9lY2wtaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZWNsTGlua10nXG59KVxuZXhwb3J0IGNsYXNzIEVjbExpbmtEaXJlY3RpdmUgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQElucHV0KCkgdmFyaWFudDogJ3N0YW5kYWxvbmUnIHwgJ2N0YScgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1uZWdhdGl2ZScpIGlzTmVnYXRpdmU6IGJvb2xlYW4gfCBhbnkgO1xuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpbmstLW5vLXZpc2l0ZWQnKSBpc05vVmlzaXRlZDogYm9vbGVhbiB8IGFueSA7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbEljb25Db21wb25lbnQpKSBlY2xJY29uQ29tcG9uZW50czogUXVlcnlMaXN0PEVjbEljb25Db21wb25lbnQ+O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHN1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC1saW5rJyksXG4gICAgICAgICAgICB0aGlzLnZhcmlhbnQgPyBgZWNsLWxpbmstLSR7dGhpcy52YXJpYW50fWAgOiAnJyxcbiAgICAgICAgXS5qb2luKCcgJykudHJpbSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLWxpbmstLWljb24tYWZ0ZXInKVxuICAgIGdldCBoYXNSaWdodEljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSWNvbk9uUmlnaHRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uLWJlZm9yZScpXG4gICAgZ2V0IGhhc0xlZnRJY29uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ljb25PbkxlZnRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmVjbC1saW5rLS1pY29uJylcbiAgICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMgJiYgdGhpcy5lY2xJY29uQ29tcG9uZW50cy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZWNsSWNvbkNvbXBvbmVudHMuZm9yRWFjaChpY24gPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ljb25PbkxlZnRTaWRlKHRoaXMuZWNsSWNvbkNvbXBvbmVudHMudG9BcnJheSgpKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWNuLmNsYXNzID0gJ2VjbC1saW5rX19pY29uIGVjbC1saW5rX19pY29uLS1iZWZvcmUnO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNJY29uT25SaWdodFNpZGUodGhpcy5lY2xJY29uQ29tcG9uZW50cy50b0FycmF5KCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpY24uY2xhc3MgPSAnZWNsLWxpbmtfX2ljb24gZWNsLWxpbmtfX2ljb24tLWFmdGVyJztcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGljbi5jbGFzcyA9ICdlY2wtbGlua19faWNvbiBlY2wtbGlua19faWNvbi0tYmVmb3JlJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlzSWNvbk9uUmlnaHRTaWRlKGljb25zOiBFY2xJY29uQ29tcG9uZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhaWNvbnMuZmluZChpY24gPT4ge1xuICAgICAgICAgICAgY29uc3QgaWNvbkVsID0gaWNuLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChoYXNQcmV2aW91c1NpYmxpbmdXaXRoQXR0cmlidXRlKGljb25FbCwgJ2VjbExpbmtMYWJlbCcpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0ljb25PbkxlZnRTaWRlKGljb25zOiBFY2xJY29uQ29tcG9uZW50W10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhaWNvbnMuZmluZChpY24gPT4ge1xuICAgICAgICAgICAgY29uc3QgaWNvbkVsID0gaWNuLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChoYXNOZXh0U2libGluZ1dpdGhBdHRyaWJ1dGUoaWNvbkVsLCAnZWNsTGlua0xhYmVsJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,41 +1,81 @@
|
|
|
1
|
-
import { Component, ContentChild, HostBinding } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, ContentChild, EventEmitter, HostBinding, Output } from '@angular/core';
|
|
2
|
+
import { fromEvent, Subject, takeUntil } from 'rxjs';
|
|
3
3
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
4
|
+
import { EclLinkDirective } from '../ecl-link/ecl-link.directive';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class EclNewsTickerItemComponent extends ECLBaseDirective {
|
|
6
7
|
constructor(el) {
|
|
7
8
|
super();
|
|
8
9
|
this.el = el;
|
|
9
|
-
this.
|
|
10
|
+
this.itemFocused = new EventEmitter();
|
|
10
11
|
this.role = 'listitem';
|
|
12
|
+
this._isCurrent = false;
|
|
13
|
+
this.destroy$ = new Subject();
|
|
11
14
|
}
|
|
12
15
|
get cssClasses() {
|
|
13
16
|
return [
|
|
14
17
|
super.getCssClasses('ecl-news-ticker__slide'),
|
|
15
18
|
].join(' ').trim();
|
|
16
19
|
}
|
|
20
|
+
get isCurrent() {
|
|
21
|
+
return this._isCurrent;
|
|
22
|
+
}
|
|
23
|
+
set isCurrent(value) {
|
|
24
|
+
this._isCurrent = value;
|
|
25
|
+
if (this.eclLink) {
|
|
26
|
+
this.setLinkTabindex();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
get isAriahidden() {
|
|
30
|
+
return !this.isCurrent || undefined;
|
|
31
|
+
}
|
|
32
|
+
get isInert() {
|
|
33
|
+
return !this.isCurrent || undefined;
|
|
34
|
+
}
|
|
17
35
|
ngAfterContentInit() {
|
|
18
36
|
if (this.eclLink) {
|
|
19
37
|
this.eclLink.class = 'ecl-news-ticker__slide-text';
|
|
20
38
|
}
|
|
39
|
+
if (this.eclLink) {
|
|
40
|
+
fromEvent(this.eclLink.el.nativeElement, 'focus').pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
41
|
+
this.itemFocused.emit();
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
this.destroy$.next(true);
|
|
47
|
+
this.destroy$.unsubscribe();
|
|
48
|
+
}
|
|
49
|
+
setLinkTabindex() {
|
|
50
|
+
if (this._isCurrent) {
|
|
51
|
+
this.eclLink.tabindex = null;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.eclLink.tabindex = -1;
|
|
55
|
+
}
|
|
21
56
|
}
|
|
22
57
|
}
|
|
23
58
|
/** @nocollapse */ EclNewsTickerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
/** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", host: { properties: { "class": "this.cssClasses", "attr.aria-hidden": "this.
|
|
59
|
+
/** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", outputs: { itemFocused: "itemFocused" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "attr.aria-hidden": "this.isAriahidden", "attr.inert": "this.isInert" } }, queries: [{ propertyName: "eclLink", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" });
|
|
25
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerItemComponent, decorators: [{
|
|
26
61
|
type: Component,
|
|
27
62
|
args: [{ selector: 'ecl-news-ticker-item', template: "<ng-content></ng-content>\n" }]
|
|
28
63
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { eclLink: [{
|
|
29
64
|
type: ContentChild,
|
|
30
65
|
args: [EclLinkDirective]
|
|
66
|
+
}], itemFocused: [{
|
|
67
|
+
type: Output
|
|
31
68
|
}], cssClasses: [{
|
|
32
69
|
type: HostBinding,
|
|
33
70
|
args: ['class']
|
|
34
|
-
}], ariaHidden: [{
|
|
35
|
-
type: HostBinding,
|
|
36
|
-
args: ['attr.aria-hidden']
|
|
37
71
|
}], role: [{
|
|
38
72
|
type: HostBinding,
|
|
39
73
|
args: ['attr.role']
|
|
74
|
+
}], isAriahidden: [{
|
|
75
|
+
type: HostBinding,
|
|
76
|
+
args: ['attr.aria-hidden']
|
|
77
|
+
}], isInert: [{
|
|
78
|
+
type: HostBinding,
|
|
79
|
+
args: ['attr.inert']
|
|
40
80
|
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC1uZXdzLXRpY2tlci9lY2wtbmV3cy10aWNrZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLW5ld3MtdGlja2VyL2VjbC1uZXdzLXRpY2tlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBQ1QsWUFBWSxFQUVaLFlBQVksRUFDWixXQUFXLEVBRVgsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGdCQUFnQjtJQWdDNUQsWUFBbUIsRUFBYztRQUM3QixLQUFLLEVBQUUsQ0FBQztRQURPLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQU92QixTQUFJLEdBQUcsVUFBVSxDQUFDO1FBV3BDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFVbkIsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBSTVELENBQUM7SUEvQkQsSUFDSSxVQUFVO1FBQ1YsT0FBTztZQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUM7U0FDaEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDMUI7SUFDTCxDQUFDO0lBR0QsSUFDSSxZQUFZO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUNJLE9BQU87UUFDUCxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7SUFDeEMsQ0FBQztJQU9ELGtCQUFrQjtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLDZCQUE2QixDQUFDO1NBQ3REO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzVGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO2FBQU07WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM5QjtJQUNMLENBQUM7OzBJQTNEUSwwQkFBMEI7OEhBQTFCLDBCQUEwQixpU0FDckIsZ0JBQWdCLHVFQ2xCbEMsNkJBQ0E7MkZEZ0JhLDBCQUEwQjtrQkFKdEMsU0FBUzsrQkFDSSxzQkFBc0I7aUdBSUEsT0FBTztzQkFBdEMsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ3BCLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUgsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBTU0sSUFBSTtzQkFBN0IsV0FBVzt1QkFBQyxXQUFXO2dCQWNwQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUszQixPQUFPO3NCQURWLFdBQVc7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWxpbmsvZWNsLWxpbmsuZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWNsLW5ld3MtdGlja2VyLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZChFY2xMaW5rRGlyZWN0aXZlKSBlY2xMaW5rOiBFY2xMaW5rRGlyZWN0aXZlO1xuICAgIEBPdXRwdXQoKSBpdGVtRm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyX19zbGlkZScpLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdsaXN0aXRlbSc7XG5cbiAgICBnZXQgaXNDdXJyZW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNDdXJyZW50O1xuICAgIH1cbiAgICBzZXQgaXNDdXJyZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2lzQ3VycmVudCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5lY2xMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLnNldExpbmtUYWJpbmRleCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgX2lzQ3VycmVudCA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBnZXQgaXNBcmlhaGlkZGVuKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0N1cnJlbnQgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaW5lcnQnKVxuICAgIGdldCBpc0luZXJ0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc0N1cnJlbnQgfHwgdW5kZWZpbmVkO1xuICAgIH1cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZWNsTGluaykge1xuICAgICAgICAgICAgdGhpcy5lY2xMaW5rLmNsYXNzID0gJ2VjbC1uZXdzLXRpY2tlcl9fc2xpZGUtdGV4dCc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lY2xMaW5rKSB7XG4gICAgICAgICAgICBmcm9tRXZlbnQodGhpcy5lY2xMaW5rLmVsLm5hdGl2ZUVsZW1lbnQsICdmb2N1cycpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbUZvY3VzZWQuZW1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMaW5rVGFiaW5kZXgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pc0N1cnJlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZWNsTGluay50YWJpbmRleCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVjbExpbmsudGFiaW5kZXggPSAtMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component, ContentChildren, EventEmitter, HostBinding, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
4
|
import { coerceBoolean, coerceElement } from '@eui/base';
|
|
4
5
|
import { EclBaseEvent } from '../../model/ecl-base.event';
|
|
5
6
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
6
7
|
import { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "
|
|
9
|
-
import * as i2 from "../ecl-
|
|
10
|
-
import * as i3 from "
|
|
11
|
-
import * as i4 from "
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "../ecl-button/ecl-button.component";
|
|
11
|
+
import * as i3 from "../ecl-icon/ecl-icon.component";
|
|
12
|
+
import * as i4 from "./ecl-news-ticker-item.component";
|
|
13
|
+
import * as i5 from "@ngx-translate/core";
|
|
12
14
|
export class EclNewsTickerItemEvent extends EclBaseEvent {
|
|
13
15
|
constructor(itemIndex) {
|
|
14
16
|
super();
|
|
@@ -26,6 +28,8 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
26
28
|
this.slidesTransform = '';
|
|
27
29
|
this.PLAY_INTERVAL = 5000;
|
|
28
30
|
this.INIT_DELAY = 300;
|
|
31
|
+
this.pausePlay = false;
|
|
32
|
+
this.destroy$ = new Subject();
|
|
29
33
|
}
|
|
30
34
|
get cssClasses() {
|
|
31
35
|
return [
|
|
@@ -37,6 +41,7 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
37
41
|
get itemsCount() {
|
|
38
42
|
return this.newsTickerItems.length;
|
|
39
43
|
}
|
|
44
|
+
get isShowControls() { return this.newsTickerItems.length > 1; }
|
|
40
45
|
onResize(event) {
|
|
41
46
|
setTimeout(() => {
|
|
42
47
|
this.resizeTicker();
|
|
@@ -47,12 +52,22 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
47
52
|
setTimeout(() => {
|
|
48
53
|
this.initContainer();
|
|
49
54
|
}, this.INIT_DELAY);
|
|
55
|
+
this.newsTickerItems.forEach(item => {
|
|
56
|
+
item.itemFocused.pipe(takeUntil(this.destroy$))
|
|
57
|
+
.subscribe(() => {
|
|
58
|
+
this.cancelAutoplay();
|
|
59
|
+
});
|
|
60
|
+
});
|
|
50
61
|
}
|
|
51
62
|
ngOnDestroy() {
|
|
52
63
|
if (this.intervalId) {
|
|
53
64
|
clearInterval(this.intervalId);
|
|
54
65
|
}
|
|
55
|
-
this.unsubscribeListener
|
|
66
|
+
if (this.unsubscribeListener) {
|
|
67
|
+
this.unsubscribeListener();
|
|
68
|
+
}
|
|
69
|
+
this.destroy$.next(true);
|
|
70
|
+
this.destroy$.unsubscribe();
|
|
56
71
|
}
|
|
57
72
|
onPrevious() {
|
|
58
73
|
this.cancelAutoplay();
|
|
@@ -82,14 +97,9 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
82
97
|
}
|
|
83
98
|
this.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));
|
|
84
99
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
clearInterval(this.intervalId);
|
|
91
|
-
}
|
|
92
|
-
this.playing = !this.playing;
|
|
100
|
+
startAutoplay() {
|
|
101
|
+
this.playing = true;
|
|
102
|
+
this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);
|
|
93
103
|
}
|
|
94
104
|
cancelAutoplay() {
|
|
95
105
|
if (this.intervalId) {
|
|
@@ -97,6 +107,18 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
97
107
|
}
|
|
98
108
|
this.playing = false;
|
|
99
109
|
}
|
|
110
|
+
onNewsTickerItemMouseOver() {
|
|
111
|
+
if (this.playing) {
|
|
112
|
+
this.pausePlay = true;
|
|
113
|
+
this.cancelAutoplay();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
onNewsTickerItemMouseOut() {
|
|
117
|
+
if (this.pausePlay) {
|
|
118
|
+
this.pausePlay = false;
|
|
119
|
+
this.startAutoplay();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
100
122
|
moveSlides(item, withTransition) {
|
|
101
123
|
if (item) {
|
|
102
124
|
const newOffset = item.el.nativeElement.offsetTop;
|
|
@@ -108,13 +130,18 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
108
130
|
}
|
|
109
131
|
}
|
|
110
132
|
initContainer() {
|
|
133
|
+
if (this.newsTickerItems.length === 1) {
|
|
134
|
+
this.resizeTicker();
|
|
135
|
+
this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
111
138
|
this.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();
|
|
112
139
|
this.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();
|
|
113
140
|
this.unsubscribeListener = this.renderer2.listen(this.slidesContainer, 'transitionend', () => this.checkIndex());
|
|
114
141
|
this.resizeTicker();
|
|
115
142
|
this.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);
|
|
116
143
|
if (this.isAutoplay) {
|
|
117
|
-
this.
|
|
144
|
+
this.startAutoplay();
|
|
118
145
|
}
|
|
119
146
|
}
|
|
120
147
|
checkIndex() {
|
|
@@ -161,15 +188,15 @@ export class EclNewsTickerComponent extends ECLBaseDirective {
|
|
|
161
188
|
}
|
|
162
189
|
setCurrentSlide(currentItem) {
|
|
163
190
|
this.newsTickerItems.forEach(item => {
|
|
164
|
-
item.
|
|
191
|
+
item.isCurrent = false;
|
|
165
192
|
if (item === currentItem) {
|
|
166
|
-
item.
|
|
193
|
+
item.isCurrent = true;
|
|
167
194
|
}
|
|
168
195
|
});
|
|
169
196
|
}
|
|
170
197
|
}
|
|
171
198
|
/** @nocollapse */ EclNewsTickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
172
|
-
/** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerComponent, selector: "ecl-news-ticker", inputs: { isAutoplay: "isAutoplay" }, outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer
|
|
199
|
+
/** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EclNewsTickerComponent, selector: "ecl-news-ticker", inputs: { isAutoplay: "isAutoplay" }, outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n <ecl-news-ticker-item #firstHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\" *ngIf=\"isShowControls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: i4.EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", outputs: ["itemFocused"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
173
200
|
__decorate([
|
|
174
201
|
coerceBoolean
|
|
175
202
|
], EclNewsTickerComponent.prototype, "isAutoplay", void 0);
|
|
@@ -178,7 +205,7 @@ __decorate([
|
|
|
178
205
|
], EclNewsTickerComponent.prototype, "slidesContainer", void 0);
|
|
179
206
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EclNewsTickerComponent, decorators: [{
|
|
180
207
|
type: Component,
|
|
181
|
-
args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer
|
|
208
|
+
args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\"\n #slidesContainer>\n <ecl-news-ticker-item #firstHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem *ngIf=\"isShowControls\"></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n\n\n<div class=\"ecl-news-ticker__controls\" *ngIf=\"isShowControls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"corner-arrow\"\n size=\"l\"\n transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button \n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__play\"\n [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"play\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"play-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <button\n eclButton \n variant=\"primary\"\n class=\"ecl-news-ticker__pause\"\n [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted\n icon=\"pause\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n <ecl-icon isInverted\n icon=\"pause-filled\"\n size=\"l\"\n class=\"ecl-news-ticker__icon-active\"></ecl-icon>\n </button>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n" }]
|
|
182
209
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { isAutoplay: [{
|
|
183
210
|
type: Input
|
|
184
211
|
}], itemSwitch: [{
|
|
@@ -202,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
202
229
|
type: HostListener,
|
|
203
230
|
args: ['window:resize', ['$event']]
|
|
204
231
|
}] } });
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQUU5RSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsWUFBWTtJQUNwRCxZQUFtQixTQUFpQjtRQUNoQyxLQUFLLEVBQUUsQ0FBQztRQURPLGNBQVMsR0FBVCxTQUFTLENBQVE7SUFFcEMsQ0FBQztDQUNKO0FBTUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGdCQUFnQjtJQTJCeEQsWUFBb0IsU0FBb0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEUSxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBekJoQixlQUFVLEdBQWtCLElBQUksQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFhbEUsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hC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O2dCQStCcEIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbmV3cy10aWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xOZXdzVGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0F1dG9wbGF5OiBib29sZWFuIHwgYW55ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaXRlbVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTmV3c1RpY2tlckl0ZW1FdmVudD4oKTtcbiAgICBAQ29udGVudENoaWxkcmVuKEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KSBuZXdzVGlja2VySXRlbXM6IFF1ZXJ5TGlzdDxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdsYXN0SGlkZGVuSXRlbScpIGxhc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzbGlkZXNDb250YWluZXInKSBzbGlkZXNDb250YWluZXI6IEVsZW1lbnQgfCBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpdGVtSW5kZXg6IG51bWJlciA9IDE7XG4gICAgcGxheWluZyA9IGZhbHNlO1xuICAgIHNsaWRlc1RyYW5zZm9ybTogc3RyaW5nID0gJyc7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBQTEFZX0lOVEVSVkFMID0gNTAwMDtcbiAgICBwcml2YXRlIElOSVRfREVMQVkgPSAzMDA7XG4gICAgcHJpdmF0ZSBfY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29udGVudEhlaWdodDogbnVtYmVyO1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXIyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBnZXQgY29udGFpbmVySGVpZ2h0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9jb250YWluZXJIZWlnaHQ7IH1cblxuICAgIGdldCBjb250ZW50SGVpZ2h0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9jb250ZW50SGVpZ2h0OyB9XG5cbiAgICBnZXQgaXRlbXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVUaWNrZXIoKTtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdENvbnRhaW5lcigpO1xuICAgICAgICB9LCB0aGlzLklOSVRfREVMQVkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0UHJldkluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgb25OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbEF1dG9wbGF5KCk7XG4gICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuXG4gICAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0TGFzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlUGxheSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnBsYXlpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHRoaXMubmV4dFNsaWRlKCksIHRoaXMuUExBWV9JTlRFUlZBTCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wbGF5aW5nID0gIXRoaXMucGxheWluZztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbmNlbEF1dG9wbGF5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5wbGF5aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtb3ZlU2xpZGVzKGl0ZW06IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50LCB3aXRoVHJhbnNpdGlvbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgY29uc3QgbmV3T2Zmc2V0ID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgICAgICAgIGNvbnN0IG5ld0hlaWdodCA9IGl0ZW0uZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50SGVpZ2h0ID0gbmV3SGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uRHVyYXRpb24gPSB3aXRoVHJhbnNpdGlvbiA/IDAuNCA6IDA7XG4gICAgICAgICAgICB0aGlzLnNsaWRlc1RyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgwcHgsIC0ke25ld09mZnNldH1weCwgMHB4KWA7XG5cbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudFNsaWRlKGl0ZW0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q29udGFpbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpcnN0SGlkZGVuSXRlbS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuZ2V0TGFzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLmxhc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRGaXJzdENvbnRlbnRDaGlsZCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyMi5saXN0ZW4oXG4gICAgICAgICAgICB0aGlzLnNsaWRlc0NvbnRhaW5lcixcbiAgICAgICAgICAgICd0cmFuc2l0aW9uZW5kJyxcbiAgICAgICAgICAgICgpID0+IHRoaXMuY2hlY2tJbmRleCgpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVzaXplVGlja2VyKCk7XG4gICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEZpcnN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpLCBmYWxzZSk7XG4gICAgICAgIGlmICh0aGlzLmlzQXV0b3BsYXkpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlUGxheSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0luZGV4KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pdGVtSW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEZpcnN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKGl0ZW0sIGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gdGhpcy5nZXRMYXN0SXRlbSh0aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCkpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKGl0ZW0sIGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplVGlja2VyKCk6IHZvaWQge1xuICAgICAgICBsZXQgaGlnaGVzdFNsaWRlID0gMDtcbiAgICAgICAgdGhpcy5uZXdzVGlja2VySXRlbXMuZm9yRWFjaCgoc2xpZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNsaWRlSGVpZ2h0ID0gc2xpZGUuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgICAgICAgICBoaWdoZXN0U2xpZGUgPSBoaWdoZXN0U2xpZGUgPCBzbGlkZUhlaWdodCA/IHNsaWRlSGVpZ2h0IDogaGlnaGVzdFNsaWRlO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fY29udGFpbmVySGVpZ2h0ID0gaGlnaGVzdFNsaWRlICsgMTA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXRlbUluZGV4ID09PSB0aGlzLml0ZW1zQ291bnQgPyAxIDogKyt0aGlzLml0ZW1JbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEN1cnJlbnRJdGVtKCk6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsSXRlbXNBcnJheSgpW3RoaXMuaXRlbUluZGV4XTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZXZJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXggPT09IDEgPyB0aGlzLml0ZW1zQ291bnQgOiAtLXRoaXMuaXRlbUluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rmlyc3RJdGVtKGl0ZW1zOiBBcnJheTxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD4pOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiBpdGVtcy5sZW5ndGggPiAwID8gaXRlbXNbMF0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdEl0ZW0oaXRlbXM6IEFycmF5PEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50Pik6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdENvbnRlbnRDaGlsZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMCA/IHRoaXMubmV3c1RpY2tlckl0ZW1zLmdldCh0aGlzLml0ZW1zQ291bnQgLSAxKS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rmlyc3RDb250ZW50Q2hpbGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV3c1RpY2tlckl0ZW1zLmxlbmd0aCA+IDAgPyB0aGlzLm5ld3NUaWNrZXJJdGVtcy5nZXQoMCkuZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFsbEl0ZW1zQXJyYXkoKTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiBbLi4uW3RoaXMuZmlyc3RIaWRkZW5JdGVtXSwgLi4udGhpcy5uZXdzVGlja2VySXRlbXMudG9BcnJheSgpLCAuLi5bdGhpcy5sYXN0SGlkZGVuSXRlbV1dO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q3VycmVudFNsaWRlKGN1cnJlbnRJdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5ld3NUaWNrZXJJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgaXRlbS5hcmlhSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmKGl0ZW0gPT09IGN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5hcmlhSGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRhaW5lclwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImluZm9ybWF0aW9uXCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY29udGVudFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGVudEhlaWdodFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3NsaWRlc1wiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInNsaWRlc1RyYW5zZm9ybVwiXG4gICAgICAgICAgICAjc2xpZGVzQ29udGFpbmVyID5cbiAgICAgICAgICAgIDxlY2wtbmV3cy10aWNrZXItaXRlbSAjZmlyc3RIaWRkZW5JdGVtPjwvZWNsLW5ld3MtdGlja2VyLWl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZWNsLW5ld3MtdGlja2VyLWl0ZW0gI2xhc3RIaWRkZW5JdGVtPjwvZWNsLW5ld3MtdGlja2VyLWl0ZW0+XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuXG48ZGl2IGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb250cm9sc1wiPlxuICAgIDxidXR0b24gZWNsQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3ByZXZcIlxuICAgICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QUkVWLU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGVjbEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19uZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5ORVhULU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cImNvcm5lci1hcnJvd1wiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tZGVmYXVsdFwiPjwvZWNsLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBcbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wbGF5XCJcbiAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCJwbGF5aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuQVVUTy1QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkXG4gICAgICAgICAgICBpY29uPVwicGxheVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwbGF5LWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wYXVzZVwiXG4gICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIXBsYXlpbmdcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGxheSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QQVVTRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cInBhdXNlXCJcbiAgICAgICAgICAgIHNpemU9XCJsXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19pY29uLWRlZmF1bHRcIj48L2VjbC1pY29uPlxuICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cInBhdXNlLWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvdW50ZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvdW50ZXItLWN1cnJlbnRcIj4ge3sgaXRlbUluZGV4IH19PC9zcGFuPiBcbiAgICAgICAge3sgJ2VjbC5jb21tb24uT0YnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyLS1tYXhcIj57eyBpdGVtc0NvdW50IH19PC9zcGFuPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtbmV3cy10aWNrZXIvZWNsLW5ld3MtdGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFFOUUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFlBQVk7SUFDcEQsWUFBbUIsU0FBaUI7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFETyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBRXBDLENBQUM7Q0FDSjtBQU1ELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUE2QnhELFlBQW9CLFNBQW9CO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFEsY0FBUyxHQUFULFNBQVMsQ0FBVztRQTNCaEIsZUFBVSxHQUFrQixJQUFJLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBYWxF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RFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4sIGNvZXJjZUVsZW1lbnQgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwvZWNsLWJhc2UuZXZlbnQnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZWNsLW5ld3MtdGlja2VyLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIEVjbE5ld3NUaWNrZXJJdGVtRXZlbnQgZXh0ZW5kcyBFY2xCYXNlRXZlbnQge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBpdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlY2wtbmV3cy10aWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lY2wtbmV3cy10aWNrZXIuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xOZXdzVGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBAY29lcmNlQm9vbGVhbiBASW5wdXQoKSBpc0F1dG9wbGF5OiBib29sZWFuIHwgYW55ID0gdHJ1ZTtcbiAgICBAT3V0cHV0KCkgaXRlbVN3aXRjaCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsTmV3c1RpY2tlckl0ZW1FdmVudD4oKTtcbiAgICBAQ29udGVudENoaWxkcmVuKEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KSBuZXdzVGlja2VySXRlbXM6IFF1ZXJ5TGlzdDxFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudD47XG4gICAgQFZpZXdDaGlsZCgnZmlyc3RIaWRkZW5JdGVtJykgZmlyc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdsYXN0SGlkZGVuSXRlbScpIGxhc3RIaWRkZW5JdGVtOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudDtcbiAgICBAY29lcmNlRWxlbWVudCBAVmlld0NoaWxkKCdzbGlkZXNDb250YWluZXInKSBzbGlkZXNDb250YWluZXI6IEVsZW1lbnQgfCBhbnk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgc3VwZXIuZ2V0Q3NzQ2xhc3NlcygnZWNsLW5ld3MtdGlja2VyJyksXG4gICAgICAgIF0uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBpdGVtSW5kZXg6IG51bWJlciA9IDE7XG4gICAgcGxheWluZyA9IGZhbHNlO1xuICAgIHNsaWRlc1RyYW5zZm9ybTogc3RyaW5nID0gJyc7XG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBpbnRlcnZhbElkOiBhbnk7XG4gICAgcHJpdmF0ZSBQTEFZX0lOVEVSVkFMID0gNTAwMDtcbiAgICBwcml2YXRlIElOSVRfREVMQVkgPSAzMDA7XG4gICAgcHJpdmF0ZSBfY29udGFpbmVySGVpZ2h0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSBfY29udGVudEhlaWdodDogbnVtYmVyO1xuICAgIHByaXZhdGUgcGF1c2VQbGF5ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldCBjb250YWluZXJIZWlnaHQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2NvbnRhaW5lckhlaWdodDsgfVxuXG4gICAgZ2V0IGNvbnRlbnRIZWlnaHQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2NvbnRlbnRIZWlnaHQ7IH1cblxuICAgIGdldCBpdGVtc0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2hvd0NvbnRyb2xzKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMTsgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2l6ZVRpY2tlcigpO1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0Q3VycmVudEl0ZW0oKSwgZmFsc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbml0Q29udGFpbmVyKCk7XG4gICAgICAgIH0sIHRoaXMuSU5JVF9ERUxBWSk7XG4gICAgICAgIHRoaXMubmV3c1RpY2tlckl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLml0ZW1Gb2N1c2VkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnRlcnZhbElkKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWxJZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudW5zdWJzY3JpYmVMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy51bnN1YnNjcmliZUxpc3RlbmVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25QcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYW5jZWxBdXRvcGxheSgpO1xuICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0UHJldkluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gdGhpcy5pdGVtc0NvdW50KSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgb25OZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNhbmNlbEF1dG9wbGF5KCk7XG4gICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgfVxuXG4gICAgbmV4dFNsaWRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLml0ZW1JbmRleCA9IHRoaXMuZ2V0TmV4dEluZGV4KCk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0TGFzdEl0ZW0odGhpcy5nZXRBbGxJdGVtc0FycmF5KCkpLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubW92ZVNsaWRlcyh0aGlzLmdldEN1cnJlbnRJdGVtKCksIHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXRlbVN3aXRjaC5uZXh0KG5ldyBFY2xOZXdzVGlja2VySXRlbUV2ZW50KHRoaXMuaXRlbUluZGV4KSk7XG4gICAgfVxuXG4gICAgc3RhcnRBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wbGF5aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5uZXh0U2xpZGUoKSwgdGhpcy5QTEFZX0lOVEVSVkFMKTtcbiAgICB9XG5cbiAgICBjYW5jZWxBdXRvcGxheSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGxheWluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTmV3c1RpY2tlckl0ZW1Nb3VzZU92ZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBsYXlpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucGF1c2VQbGF5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY2FuY2VsQXV0b3BsYXkoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTmV3c1RpY2tlckl0ZW1Nb3VzZU91dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGF1c2VQbGF5KSB7XG4gICAgICAgICAgICB0aGlzLnBhdXNlUGxheSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVTbGlkZXMoaXRlbTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQsIHdpdGhUcmFuc2l0aW9uOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdPZmZzZXQgPSBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRIZWlnaHQgPSBuZXdIZWlnaHQ7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25EdXJhdGlvbiA9IHdpdGhUcmFuc2l0aW9uID8gMC40IDogMDtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzVHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKDBweCwgLSR7bmV3T2Zmc2V0fXB4LCAwcHgpYDtcblxuICAgICAgICAgICAgdGhpcy5zZXRDdXJyZW50U2xpZGUoaXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDb250YWluZXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplVGlja2VyKCk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXModGhpcy5nZXRGaXJzdEl0ZW0odGhpcy5uZXdzVGlja2VySXRlbXMudG9BcnJheSgpKSwgZmFsc2UpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZmlyc3RIaWRkZW5JdGVtLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MID0gdGhpcy5nZXRMYXN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMubGFzdEhpZGRlbkl0ZW0uZWwubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmdldEZpcnN0Q29udGVudENoaWxkKCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIyLmxpc3RlbihcbiAgICAgICAgICAgIHRoaXMuc2xpZGVzQ29udGFpbmVyLFxuICAgICAgICAgICAgJ3RyYW5zaXRpb25lbmQnLFxuICAgICAgICAgICAgKCkgPT4gdGhpcy5jaGVja0luZGV4KClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZXNpemVUaWNrZXIoKTtcbiAgICAgICAgdGhpcy5tb3ZlU2xpZGVzKHRoaXMuZ2V0Rmlyc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSksIGZhbHNlKTtcbiAgICAgICAgaWYgKHRoaXMuaXNBdXRvcGxheSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydEF1dG9wbGF5KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrSW5kZXgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZ2V0Rmlyc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXMoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbUluZGV4ID09PSB0aGlzLml0ZW1zQ291bnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldExhc3RJdGVtKHRoaXMubmV3c1RpY2tlckl0ZW1zLnRvQXJyYXkoKSk7XG4gICAgICAgICAgICB0aGlzLm1vdmVTbGlkZXMoaXRlbSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVUaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIGxldCBoaWdoZXN0U2xpZGUgPSAwO1xuICAgICAgICB0aGlzLm5ld3NUaWNrZXJJdGVtcy5mb3JFYWNoKChzbGlkZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2xpZGVIZWlnaHQgPSBzbGlkZS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgICAgIGhpZ2hlc3RTbGlkZSA9IGhpZ2hlc3RTbGlkZSA8IHNsaWRlSGVpZ2h0ID8gc2xpZGVIZWlnaHQgOiBoaWdoZXN0U2xpZGU7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9jb250YWluZXJIZWlnaHQgPSBoaWdoZXN0U2xpZGUgKyAxMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtSW5kZXggPT09IHRoaXMuaXRlbXNDb3VudCA/IDEgOiArK3RoaXMuaXRlbUluZGV4O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3VycmVudEl0ZW0oKTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxJdGVtc0FycmF5KClbdGhpcy5pdGVtSW5kZXhdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJldkluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1JbmRleCA9PT0gMSA/IHRoaXMuaXRlbXNDb3VudCA6IC0tdGhpcy5pdGVtSW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdEl0ZW0oaXRlbXM6IEFycmF5PEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50Pik6IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLmxlbmd0aCA+IDAgPyBpdGVtc1swXSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0SXRlbShpdGVtczogQXJyYXk8RWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQ+KTogRWNsTmV3c1RpY2tlckl0ZW1Db21wb25lbnQge1xuICAgICAgICByZXR1cm4gaXRlbXNbaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0Q29udGVudENoaWxkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5ld3NUaWNrZXJJdGVtcy5sZW5ndGggPiAwID8gdGhpcy5uZXdzVGlja2VySXRlbXMuZ2V0KHRoaXMuaXRlbXNDb3VudCAtIDEpLmVsLm5hdGl2ZUVsZW1lbnQuaW5uZXJIVE1MIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaXJzdENvbnRlbnRDaGlsZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdzVGlja2VySXRlbXMubGVuZ3RoID4gMCA/IHRoaXMubmV3c1RpY2tlckl0ZW1zLmdldCgwKS5lbC5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWxsSXRlbXNBcnJheSgpOiBFY2xOZXdzVGlja2VySXRlbUNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIFsuLi5bdGhpcy5maXJzdEhpZGRlbkl0ZW1dLCAuLi50aGlzLm5ld3NUaWNrZXJJdGVtcy50b0FycmF5KCksIC4uLlt0aGlzLmxhc3RIaWRkZW5JdGVtXV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDdXJyZW50U2xpZGUoY3VycmVudEl0ZW06IEVjbE5ld3NUaWNrZXJJdGVtQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmV3c1RpY2tlckl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgaWYoaXRlbSA9PT0gY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzQ3VycmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRhaW5lclwiXG4gICAgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cbiAgICA8ZWNsLWljb24gaWNvbj1cImluZm9ybWF0aW9uXCJcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvblwiPjwvZWNsLWljb24+XG4gICAgPGRpdiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY29udGVudFwiXG4gICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwiY29udGVudEhlaWdodFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3NsaWRlc1wiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbi5zXT1cInRyYW5zaXRpb25EdXJhdGlvblwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInNsaWRlc1RyYW5zZm9ybVwiXG4gICAgICAgICAgICAobW91c2VvdmVyKT1cIm9uTmV3c1RpY2tlckl0ZW1Nb3VzZU92ZXIoKVwiXG4gICAgICAgICAgICAobW91c2VvdXQpPVwib25OZXdzVGlja2VySXRlbU1vdXNlT3V0KClcIlxuICAgICAgICAgICAgI3NsaWRlc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxlY2wtbmV3cy10aWNrZXItaXRlbSAjZmlyc3RIaWRkZW5JdGVtICpuZ0lmPVwiaXNTaG93Q29udHJvbHNcIj48L2VjbC1uZXdzLXRpY2tlci1pdGVtPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPGVjbC1uZXdzLXRpY2tlci1pdGVtICNsYXN0SGlkZGVuSXRlbSAqbmdJZj1cImlzU2hvd0NvbnRyb2xzXCI+PC9lY2wtbmV3cy10aWNrZXItaXRlbT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG5cbjxkaXYgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2NvbnRyb2xzXCIgKm5nSWY9XCJpc1Nob3dDb250cm9sc1wiPlxuICAgIDxidXR0b24gZWNsQnV0dG9uXG4gICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX3ByZXZcIlxuICAgICAgICAoY2xpY2spPVwib25QcmV2aW91cygpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5QUkVWLU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJjb3JuZXItYXJyb3dcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGVjbEJ1dHRvblxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19uZXh0XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTmV4dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPlxuICAgICAgICAgICAge3sgJ2VjbC5uZXdzLXRpY2tlci5ORVhULU5FV1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8ZWNsLWljb24gaXNJbnZlcnRlZFxuICAgICAgICAgICAgaWNvbj1cImNvcm5lci1hcnJvd1wiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tZGVmYXVsdFwiPjwvZWNsLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBcbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wbGF5XCJcbiAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCJwbGF5aW5nXCJcbiAgICAgICAgKGNsaWNrKT1cInN0YXJ0QXV0b3BsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuQVVUTy1QTEFZJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkXG4gICAgICAgICAgICBpY29uPVwicGxheVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwbGF5LWZpbGxlZFwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1hY3RpdmVcIj48L2VjbC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgZWNsQnV0dG9uIFxuICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19wYXVzZVwiXG4gICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIXBsYXlpbmdcIlxuICAgICAgICAoY2xpY2spPVwiY2FuY2VsQXV0b3BsYXkoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj5cbiAgICAgICAgICAgIHt7ICdlY2wubmV3cy10aWNrZXIuUEFVU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwYXVzZVwiXG4gICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9faWNvbi1kZWZhdWx0XCI+PC9lY2wtaWNvbj5cbiAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWRcbiAgICAgICAgICAgIGljb249XCJwYXVzZS1maWxsZWRcIlxuICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtbmV3cy10aWNrZXJfX2ljb24tYWN0aXZlXCI+PC9lY2wtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLW5ld3MtdGlja2VyX19jb3VudGVyLS1jdXJyZW50XCI+IHt7IGl0ZW1JbmRleCB9fTwvc3Bhbj4gXG4gICAgICAgIHt7ICdlY2wuY29tbW9uLk9GJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC1uZXdzLXRpY2tlcl9fY291bnRlci0tbWF4XCI+e3sgaXRlbXNDb3VudCB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
|