@eui/ecl 18.0.0-next.2 → 18.0.0-next.21
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/assets/i18n-ecl/bg.json +1 -1
- package/assets/i18n-ecl/cs.json +1 -1
- package/assets/i18n-ecl/da.json +1 -1
- package/assets/i18n-ecl/de.json +1 -1
- package/assets/i18n-ecl/el.json +1 -1
- package/assets/i18n-ecl/en.json +1 -1
- package/assets/i18n-ecl/es.json +1 -1
- package/assets/i18n-ecl/et.json +1 -1
- package/assets/i18n-ecl/fi.json +1 -1
- package/assets/i18n-ecl/fr.json +1 -1
- package/assets/i18n-ecl/ga.json +1 -1
- package/assets/i18n-ecl/hr.json +1 -1
- package/assets/i18n-ecl/hu.json +1 -1
- package/assets/i18n-ecl/it.json +1 -1
- package/assets/i18n-ecl/lt.json +1 -1
- package/assets/i18n-ecl/lv.json +1 -1
- package/assets/i18n-ecl/mt.json +1 -1
- package/assets/i18n-ecl/nl.json +1 -1
- package/assets/i18n-ecl/pl.json +1 -1
- package/assets/i18n-ecl/pt.json +1 -1
- package/assets/i18n-ecl/ro.json +1 -1
- package/assets/i18n-ecl/sk.json +1 -1
- package/assets/i18n-ecl/sl.json +1 -1
- package/assets/i18n-ecl/sv.json +1 -1
- package/docs/classes/{EclMessageCloseEvent.html → EclNotificationCloseEvent.html} +3 -3
- package/docs/components/EclAccordionComponent.html +2 -2
- package/docs/components/EclAccordionItemComponent.html +2 -2
- package/docs/components/EclAppComponent.html +2 -2
- package/docs/components/EclBannerComponent.html +2 -2
- package/docs/components/EclBlockquoteComponent.html +2 -2
- package/docs/components/EclBreadcrumbComponent.html +2 -2
- package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
- package/docs/components/EclButtonComponent.html +2 -2
- package/docs/components/EclCardBodyComponent.html +2 -2
- package/docs/components/EclCardComponent.html +2 -2
- package/docs/components/EclCarouselComponent.html +71 -26
- package/docs/components/EclCarouselItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterComponent.html +2 -2
- package/docs/components/EclCategoryFilterItemComponent.html +2 -2
- package/docs/components/EclCategoryFilterListComponent.html +2 -2
- package/docs/components/EclCheckboxHelpComponent.html +2 -2
- package/docs/components/EclCheckboxLabelComponent.html +2 -2
- package/docs/components/EclContentBlockComponent.html +2 -2
- package/docs/components/EclContentItemComponent.html +2 -2
- package/docs/components/EclDateBlockComponent.html +2 -2
- package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
- package/docs/components/EclExpandableComponent.html +2 -2
- package/docs/components/EclFactFiguresComponent.html +2 -2
- package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
- package/docs/components/EclFactFiguresItemComponent.html +2 -2
- package/docs/components/EclFactFiguresTitleComponent.html +2 -2
- package/docs/components/EclFactFiguresValueComponent.html +2 -2
- package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
- package/docs/components/EclFeaturedComponent.html +7 -7
- package/docs/components/EclFeaturedItemComponent.html +3 -3
- package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
- package/docs/components/{EclListIllustrationImageComponent.html → EclFeaturedItemFooterComponent.html} +21 -193
- package/docs/components/EclFileComponent.html +80 -274
- package/docs/components/EclFileItemComponent.html +10 -253
- package/docs/components/EclFileItemsComponent.html +4 -4
- package/docs/components/EclFileTaxonomyComponent.html +2 -2
- package/docs/components/EclFormGroupComponent.html +2 -2
- package/docs/components/EclFormLabelComponent.html +2 -2
- package/docs/components/EclGalleryComponent.html +2 -2
- package/docs/components/EclGalleryFooterComponent.html +2 -2
- package/docs/components/EclGalleryItemComponent.html +2 -2
- package/docs/components/EclIconComponent.html +98 -34
- package/docs/components/EclInpageNavigationComponent.html +2 -2
- package/docs/components/EclInpageNavigationItemComponent.html +2 -2
- package/docs/components/EclListIllustrationComponent.html +4 -4
- package/docs/components/EclListIllustrationItemComponent.html +2 -2
- package/docs/components/{EclSpinnerComponent.html → EclLoadingIndicatorComponent.html} +13 -13
- package/docs/components/EclMediaContainerComponent.html +11 -161
- package/docs/components/EclMenuComponent.html +2 -2
- package/docs/components/EclMenuItemComponent.html +2 -2
- package/docs/components/EclMenuMegaComponent.html +2 -2
- package/docs/components/EclMenuMegaItemComponent.html +2 -2
- package/docs/components/EclModalBodyComponent.html +2 -2
- package/docs/components/EclModalComponent.html +2 -2
- package/docs/components/EclModalFooterComponent.html +2 -2
- package/docs/components/EclModalHeaderComponent.html +123 -3
- package/docs/components/EclMultiselectComponent.html +2 -2
- package/docs/components/EclMultiselectDropdownComponent.html +2 -2
- package/docs/components/EclMultiselectInputComponent.html +2 -2
- package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
- package/docs/components/EclMultiselectOptionComponent.html +2 -2
- package/docs/components/EclNavigationListComponent.html +2 -2
- package/docs/components/EclNavigationListImageComponent.html +2 -2
- package/docs/components/EclNavigationListItemComponent.html +2 -2
- package/docs/components/EclNewsTickerComponent.html +6 -8
- package/docs/components/EclNewsTickerItemComponent.html +2 -2
- package/docs/components/{EclMessageComponent.html → EclNotificationComponent.html} +103 -48
- package/docs/components/EclPageHeaderComponent.html +2 -2
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +2 -2
- package/docs/components/EclPaginationComponent.html +2 -2
- package/docs/components/EclPaginationItemComponent.html +2 -2
- package/docs/components/EclPopoverComponent.html +265 -77
- package/docs/components/EclRadioHelpComponent.html +2 -2
- package/docs/components/EclRadioLabelComponent.html +2 -2
- package/docs/components/EclRangeValueComponent.html +2 -2
- package/docs/components/EclRatingFieldComponent.html +2 -2
- package/docs/components/EclSearchFormComponent.html +2 -2
- package/docs/components/EclSelectContainerComponent.html +2 -2
- package/docs/components/EclSiteFooterComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentECComponent.html +2 -2
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
- package/docs/components/EclSiteHeaderActionComponent.html +2 -2
- package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
- package/docs/components/EclSiteHeaderComponent.html +2 -2
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
- package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
- package/docs/components/EclSiteHeaderMessageComponent.html +2 -2
- package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
- package/docs/components/EclSocialMediaFollowComponent.html +3 -3
- package/docs/components/EclSocialMediaFollowItemComponent.html +28 -4
- package/docs/components/EclSocialMediaShareComponent.html +2 -2
- package/docs/components/EclSocialMediaShareItemComponent.html +2 -2
- package/docs/components/EclStickyContainerComponent.html +77 -4
- package/docs/components/EclTabComponent.html +2 -2
- package/docs/components/EclTabLabelComponent.html +2 -2
- package/docs/components/EclTabMoreComponent.html +2 -2
- package/docs/components/EclTableSortButtonComponent.html +72 -27
- package/docs/components/EclTabsComponent.html +2 -2
- package/docs/components/EclTagComponent.html +54 -7
- package/docs/components/EclTimelineComponent.html +2 -2
- package/docs/components/EclTimelineItemComponent.html +2 -2
- package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
- package/docs/dependencies.html +32 -50
- package/docs/directives/EclFeaturedItemFooterLinkDirective.html +492 -0
- package/docs/directives/{EclMessageTitleDirective.html → EclFeaturedItemFooterPictureDirective.html} +4 -4
- package/docs/directives/EclFileTitleDirective.html +511 -0
- package/docs/directives/EclFileTranslationDownloadDirective.html +492 -0
- package/docs/directives/EclLinkDirective.html +46 -61
- package/docs/directives/EclListIllustrationImageDirective.html +1 -1
- package/docs/directives/{EclSpinnerLabelDirective.html → EclLoadingIndicatorLabelDirective.html} +4 -4
- package/docs/directives/{EclPopoverItemDirective.html → EclLoadingIndicatorOverlayDirective.html} +4 -4
- package/docs/directives/EclMediaContainerItemDirective.html +0 -76
- package/docs/directives/{EclPopoverLinkDirective.html → EclNotificationTitleDirective.html} +4 -4
- package/docs/directives/EclTableDirective.html +1 -1
- package/docs/directives/EclTableHeaderDirective.html +32 -1
- package/docs/directives/{EclPopoverListDirective.html → EclTagSetDirective.html} +4 -4
- package/docs/index.html +2 -2
- package/docs/js/menu-wc.js +177 -136
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +40 -56
- package/docs/modules/EclAllModule.html +12 -12
- package/docs/modules/EclFeaturedModule.html +32 -8
- package/docs/modules/{EclMessageComponentModule.html → EclLoadingIndicatorComponentModule.html} +13 -7
- package/docs/modules/{EclSpinnerComponentModule.html → EclNotificationComponentModule.html} +7 -7
- package/docs/modules/EclTagComponentModule.html +6 -0
- package/docs/modules.html +18 -18
- package/esm2022/lib/components/ecl-accordion/ecl-accordion-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-accordion/ecl-accordion.component.mjs +4 -4
- package/esm2022/lib/components/ecl-accordion/ecl-accordion.module.mjs +4 -4
- package/esm2022/lib/components/ecl-app/ecl-app.component.mjs +4 -4
- package/esm2022/lib/components/ecl-app/ecl-app.module.mjs +4 -4
- package/esm2022/lib/components/ecl-banner/ecl-banner-credit.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-banner/ecl-banner-description.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner-title.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-banner/ecl-banner.component.mjs +4 -4
- package/esm2022/lib/components/ecl-banner/ecl-banner.module.mjs +4 -4
- package/esm2022/lib/components/ecl-base.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.component.mjs +3 -3
- package/esm2022/lib/components/ecl-blockquote/ecl-blockquote.module.mjs +4 -4
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.mjs +5 -5
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.mjs +4 -4
- package/esm2022/lib/components/ecl-breadcrumb/ecl-breadcrumb.module.mjs +4 -4
- package/esm2022/lib/components/ecl-button/ecl-button-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-button/ecl-button.component.mjs +4 -4
- package/esm2022/lib/components/ecl-button/ecl-button.module.mjs +4 -4
- package/esm2022/lib/components/ecl-card/ecl-card-body.component.mjs +3 -3
- package/esm2022/lib/components/ecl-card/ecl-card-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-card/ecl-card.component.mjs +4 -4
- package/esm2022/lib/components/ecl-card/ecl-card.module.mjs +4 -4
- package/esm2022/lib/components/ecl-carousel/ecl-carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-carousel/ecl-carousel.component.mjs +4 -6
- package/esm2022/lib/components/ecl-carousel/ecl-carousel.module.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.mjs +4 -4
- package/esm2022/lib/components/ecl-category-filter/ecl-category-filter.module.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-help.component.mjs +3 -3
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-checkbox/ecl-checkbox.module.mjs +4 -4
- package/esm2022/lib/components/ecl-content-block/ecl-content-block-elements.directive.mjs +51 -51
- package/esm2022/lib/components/ecl-content-block/ecl-content-block.component.mjs +3 -3
- package/esm2022/lib/components/ecl-content-block/ecl-content-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-content-item/ecl-content-item-image.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-content-item/ecl-content-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-content-item/ecl-content-item.module.mjs +4 -4
- package/esm2022/lib/components/ecl-date-block/ecl-date-block.component.mjs +4 -4
- package/esm2022/lib/components/ecl-date-block/ecl-date-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-date-picker/ecl-date-picker.module.mjs +4 -4
- package/esm2022/lib/components/ecl-expandable/ecl-expandable.component.mjs +4 -4
- package/esm2022/lib/components/ecl-expandable/ecl-expandable.module.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.mjs +9 -9
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.mjs +4 -4
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.mjs +8 -8
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.component.mjs +7 -7
- package/esm2022/lib/components/ecl-fact-figures/ecl-fact-figures.module.mjs +5 -5
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-description.component.mjs +3 -3
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-footer.component.mjs +19 -0
- package/esm2022/lib/components/ecl-featured/ecl-featured-item-link.directive.mjs +37 -4
- package/esm2022/lib/components/ecl-featured/ecl-featured-item.component.mjs +5 -6
- package/esm2022/lib/components/ecl-featured/ecl-featured.component.mjs +11 -16
- package/esm2022/lib/components/ecl-featured/ecl-featured.module.mjs +18 -8
- package/esm2022/lib/components/ecl-featured/index.mjs +2 -1
- package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-feedback-message/ecl-feedback-message.module.mjs +4 -4
- package/esm2022/lib/components/ecl-file/ecl-file-download.directive.mjs +21 -4
- package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.mjs +7 -44
- package/esm2022/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.mjs +12 -20
- package/esm2022/lib/components/ecl-file/ecl-file-picture.directive.mjs +27 -8
- package/esm2022/lib/components/ecl-file/ecl-file-taxonomy/ecl-file-taxonomy.component.mjs +3 -3
- package/esm2022/lib/components/ecl-file/ecl-file.component.mjs +22 -60
- package/esm2022/lib/components/ecl-file/ecl-file.module.mjs +13 -7
- package/esm2022/lib/components/ecl-file/index.mjs +1 -2
- package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-file-upload/ecl-file-upload.module.mjs +4 -4
- package/esm2022/lib/components/ecl-form-group/ecl-form-group.component.mjs +3 -3
- package/esm2022/lib/components/ecl-form-group/ecl-form-group.module.mjs +4 -4
- package/esm2022/lib/components/ecl-form-label/ecl-form-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-form-label/ecl-form-label.module.mjs +4 -4
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-footer.component.mjs +3 -3
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-gallery/ecl-gallery-media.directive.mjs +7 -7
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.component.mjs +4 -4
- package/esm2022/lib/components/ecl-gallery/ecl-gallery.module.mjs +4 -4
- package/esm2022/lib/components/ecl-help-block/ecl-help-block.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-help-block/ecl-help-block.module.mjs +4 -4
- package/esm2022/lib/components/ecl-icon/ecl-icon.component.mjs +25 -42
- package/esm2022/lib/components/ecl-icon/ecl-icon.module.mjs +4 -4
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.component.mjs +4 -4
- package/esm2022/lib/components/ecl-inpage-navigation/ecl-inpage-navigation.module.mjs +4 -4
- package/esm2022/lib/components/ecl-label/ecl-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-label/ecl-label.module.mjs +4 -4
- package/esm2022/lib/components/ecl-link/ecl-link-label.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-link/ecl-link.directive.mjs +33 -67
- package/esm2022/lib/components/ecl-link/ecl-link.module.mjs +4 -4
- package/esm2022/lib/components/ecl-list/ecl-description-list-definition/ecl-description-list-definition.component.mjs +4 -4
- package/esm2022/lib/components/ecl-list/ecl-description-list-definition-item.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-list/ecl-list.directive.mjs +19 -19
- package/esm2022/lib/components/ecl-list/ecl-list.module.mjs +4 -4
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-icon.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-item.component.mjs +3 -3
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.mjs +10 -15
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.component.mjs +9 -17
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration.module.mjs +5 -9
- package/esm2022/lib/components/ecl-list-illustration/index.mjs +1 -2
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.mjs +19 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.mjs +43 -0
- package/esm2022/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.mjs +21 -0
- package/esm2022/lib/components/ecl-loading-indicator/index.mjs +5 -0
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-iframe.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-item.directive.mjs +5 -16
- package/esm2022/lib/components/ecl-media-container/ecl-media-container-picture.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-media-container/ecl-media-container.component.mjs +9 -32
- package/esm2022/lib/components/ecl-media-container/ecl-media-container.module.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu/ecl-menu.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.mjs +4 -4
- package/esm2022/lib/components/ecl-menu/ecl-menu.module.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal-body-fixed.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-body.component.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-close.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal-footer.component.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal-header.component.mjs +21 -11
- package/esm2022/lib/components/ecl-modal/ecl-modal-trigger.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-modal/ecl-modal.component.mjs +4 -4
- package/esm2022/lib/components/ecl-modal/ecl-modal.module.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/boldText.pipe.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect-option.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +4 -4
- package/esm2022/lib/components/ecl-multiselect/ecl-multiselect.module.mjs +4 -4
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-image/ecl-navigation-list-image.component.mjs +3 -3
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list-picture.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.component.mjs +3 -3
- package/esm2022/lib/components/ecl-navigation-list/ecl-navigation-list.module.mjs +4 -4
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +14 -21
- package/esm2022/lib/components/ecl-news-ticker/ecl-news-ticker.module.mjs +4 -4
- package/esm2022/lib/components/ecl-notification/ecl-notification-title.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-notification/ecl-notification.component.mjs +82 -0
- package/esm2022/lib/components/ecl-notification/ecl-notification.module.mjs +23 -0
- package/esm2022/lib/components/ecl-notification/index.mjs +4 -0
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-background.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.mjs +4 -4
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-description.directive.mjs +9 -9
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-meta.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-page-header/ecl-page-header-title.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-page-header/ecl-page-header.component.mjs +4 -4
- package/esm2022/lib/components/ecl-page-header/ecl-page-header.module.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination.component.mjs +4 -4
- package/esm2022/lib/components/ecl-pagination/ecl-pagination.module.mjs +4 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover-content.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-popover/ecl-popover-toggle.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover.component.mjs +178 -37
- package/esm2022/lib/components/ecl-popover/ecl-popover.module.mjs +11 -20
- package/esm2022/lib/components/ecl-popover/index.mjs +1 -2
- package/esm2022/lib/components/ecl-radio/ecl-radio-help.component.mjs +3 -3
- package/esm2022/lib/components/ecl-radio/ecl-radio-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-radio/ecl-radio-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-radio/ecl-radio.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-radio/ecl-radio.module.mjs +4 -4
- package/esm2022/lib/components/ecl-range/ecl-range-value.component.mjs +3 -3
- package/esm2022/lib/components/ecl-range/ecl-range.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-range/ecl-range.module.mjs +4 -4
- package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.component.mjs +3 -3
- package/esm2022/lib/components/ecl-rating-field/ecl-rating-field.module.mjs +4 -4
- package/esm2022/lib/components/ecl-search-form/ecl-search-form.component.mjs +3 -3
- package/esm2022/lib/components/ecl-search-form/ecl-search-form.module.mjs +4 -4
- package/esm2022/lib/components/ecl-select/ecl-select-container.component.mjs +3 -3
- package/esm2022/lib/components/ecl-select/ecl-select.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-select/ecl-select.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.mjs +9 -9
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.mjs +15 -15
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.mjs +15 -15
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.mjs +4 -4
- package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-footer/ecl-site-footer.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/action/ecl-site-header-action.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/cta/ecl-site-header-cta.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/ecl-site-header.module.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language-popover.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/language/ecl-site-header-language.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login-details.directive.mjs +6 -6
- package/esm2022/lib/components/ecl-site-header/login/ecl-site-header-login.component.mjs +4 -4
- package/esm2022/lib/components/ecl-site-header/message/ecl-site-header-message.component.mjs +3 -3
- package/esm2022/lib/components/ecl-site-header/search/ecl-site-header-search.component.mjs +3 -3
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.mjs +14 -10
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow-link.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.mjs +7 -12
- package/esm2022/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.mjs +7 -6
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share-link.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.component.mjs +3 -3
- package/esm2022/lib/components/ecl-social-media-share/ecl-social-media-share.module.mjs +4 -4
- package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.component.mjs +43 -20
- package/esm2022/lib/components/ecl-sticky-container/ecl-sticky-container.module.mjs +4 -4
- package/esm2022/lib/components/ecl-table/ecl-table-sort-button.component.mjs +10 -9
- package/esm2022/lib/components/ecl-table/ecl-table.directive.mjs +37 -36
- package/esm2022/lib/components/ecl-table/ecl-table.module.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tab-label.component.mjs +3 -3
- package/esm2022/lib/components/ecl-tabs/ecl-tab-more.component.mjs +3 -3
- package/esm2022/lib/components/ecl-tabs/ecl-tab.component.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tabs.component.mjs +4 -4
- package/esm2022/lib/components/ecl-tabs/ecl-tabs.module.mjs +4 -4
- package/esm2022/lib/components/ecl-tag/ecl-tag-set.directive.mjs +20 -0
- package/esm2022/lib/components/ecl-tag/ecl-tag.component.mjs +18 -10
- package/esm2022/lib/components/ecl-tag/ecl-tag.module.mjs +9 -8
- package/esm2022/lib/components/ecl-tag/index.mjs +2 -1
- package/esm2022/lib/components/ecl-text-area/ecl-text-area.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-text-area/ecl-text-area.module.mjs +4 -4
- package/esm2022/lib/components/ecl-text-input/ecl-text-input.directive.mjs +4 -4
- package/esm2022/lib/components/ecl-text-input/ecl-text-input.module.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-label.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-title.directive.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item-toggler.component.mjs +3 -3
- package/esm2022/lib/components/ecl-timeline/ecl-timeline-item.component.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline.component.mjs +4 -4
- package/esm2022/lib/components/ecl-timeline/ecl-timeline.module.mjs +4 -4
- package/esm2022/lib/components/index.mjs +3 -3
- package/esm2022/lib/model/ecl-dom.event.mjs +1 -1
- package/esm2022/lib/services/ecl-default-language.service.mjs +4 -4
- package/esm2022/lib/services/ecl-rtl.service.mjs +4 -4
- package/esm2022/lib/services/ecl-theme.service.mjs +4 -4
- package/esm2022/lib/shared/ecl-all.module.mjs +15 -15
- package/esm2022/lib/utils/directives/ecl-click-outside/ecl-click-outside.directive.mjs +4 -4
- package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.directive.mjs +3 -3
- package/esm2022/lib/utils/directives/ecl-hidden/ecl-hidden.module.mjs +4 -4
- package/esm2022/lib/utils/dom/dom-helpers.mjs +1 -1
- package/fesm2022/eui-ecl.mjs +5342 -5372
- package/fesm2022/eui-ecl.mjs.map +4 -4
- package/lib/components/ecl-accordion/ecl-accordion-item.component.d.ts.map +1 -1
- package/lib/components/ecl-banner/ecl-banner.component.d.ts.map +1 -1
- package/lib/components/ecl-base.directive.d.ts.map +1 -1
- package/lib/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
- package/lib/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
- package/lib/components/ecl-button/ecl-button.component.d.ts.map +1 -1
- package/lib/components/ecl-carousel/ecl-carousel-item.component.d.ts.map +1 -1
- package/lib/components/ecl-carousel/ecl-carousel.component.d.ts +2 -2
- package/lib/components/ecl-carousel/ecl-carousel.component.d.ts.map +1 -1
- package/lib/components/ecl-expandable/ecl-expandable.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-description.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts +2 -2
- package/lib/components/ecl-fact-figures/ecl-fact-figures-item.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-title.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-value.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures-view-all.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.component.d.ts.map +1 -1
- package/lib/components/ecl-fact-figures/ecl-fact-figures.module.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts +8 -0
- package/lib/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -0
- package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts +10 -0
- package/lib/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured.component.d.ts +3 -2
- package/lib/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
- package/lib/components/ecl-featured/ecl-featured.module.d.ts +5 -4
- package/lib/components/ecl-featured/ecl-featured.module.d.ts.map +1 -1
- package/lib/components/ecl-featured/index.d.ts +1 -0
- package/lib/components/ecl-featured/index.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-download.directive.d.ts +5 -0
- package/lib/components/ecl-file/ecl-file-download.directive.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts +4 -15
- package/lib/components/ecl-file/ecl-file-item/ecl-file-item.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts +3 -2
- package/lib/components/ecl-file/ecl-file-items/ecl-file-items.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file-picture.directive.d.ts +6 -0
- package/lib/components/ecl-file/ecl-file-picture.directive.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file.component.d.ts +9 -22
- package/lib/components/ecl-file/ecl-file.component.d.ts.map +1 -1
- package/lib/components/ecl-file/ecl-file.module.d.ts +1 -1
- package/lib/components/ecl-file/ecl-file.module.d.ts.map +1 -1
- package/lib/components/ecl-file/index.d.ts +0 -1
- package/lib/components/ecl-file/index.d.ts.map +1 -1
- package/lib/components/ecl-icon/ecl-icon.component.d.ts +11 -10
- package/lib/components/ecl-icon/ecl-icon.component.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
- package/lib/components/ecl-link/ecl-link.directive.d.ts +11 -10
- package/lib/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
- package/lib/components/ecl-list/ecl-list.directive.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts +2 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-picture.directive.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts +4 -2
- package/lib/components/ecl-list-illustration/ecl-list-illustration.component.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts +6 -7
- package/lib/components/ecl-list-illustration/ecl-list-illustration.module.d.ts.map +1 -1
- package/lib/components/ecl-list-illustration/index.d.ts +0 -1
- package/lib/components/ecl-list-illustration/index.d.ts.map +1 -1
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts +7 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-label.directive.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts +8 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator-overlay.directive.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts +14 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.component.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts +12 -0
- package/lib/components/ecl-loading-indicator/ecl-loading-indicator.module.d.ts.map +1 -0
- package/lib/components/ecl-loading-indicator/index.d.ts +5 -0
- package/lib/components/ecl-loading-indicator/index.d.ts.map +1 -0
- package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts +1 -8
- package/lib/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
- package/lib/components/ecl-media-container/ecl-media-container.component.d.ts +2 -23
- package/lib/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
- package/lib/components/ecl-modal/ecl-modal-body.component.d.ts.map +1 -1
- package/lib/components/ecl-modal/ecl-modal-header.component.d.ts +4 -0
- package/lib/components/ecl-modal/ecl-modal-header.component.d.ts.map +1 -1
- package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +4 -4
- package/lib/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +4 -3
- package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
- package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts +8 -0
- package/lib/components/ecl-notification/ecl-notification-title.directive.d.ts.map +1 -0
- package/lib/components/ecl-notification/ecl-notification.component.d.ts +26 -0
- package/lib/components/ecl-notification/ecl-notification.component.d.ts.map +1 -0
- package/lib/components/ecl-notification/ecl-notification.module.d.ts +14 -0
- package/lib/components/ecl-notification/ecl-notification.module.d.ts.map +1 -0
- package/lib/components/ecl-notification/index.d.ts +4 -0
- package/lib/components/ecl-notification/index.d.ts.map +1 -0
- package/lib/components/ecl-popover/ecl-popover.component.d.ts +29 -6
- package/lib/components/ecl-popover/ecl-popover.component.d.ts.map +1 -1
- package/lib/components/ecl-popover/ecl-popover.module.d.ts +5 -5
- package/lib/components/ecl-popover/ecl-popover.module.d.ts.map +1 -1
- package/lib/components/ecl-popover/index.d.ts +0 -1
- package/lib/components/ecl-popover/index.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts +2 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow-item.component.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts +2 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.component.d.ts.map +1 -1
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts +4 -3
- package/lib/components/ecl-social-media-follow/ecl-social-media-follow.module.d.ts.map +1 -1
- package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts +14 -2
- package/lib/components/ecl-sticky-container/ecl-sticky-container.component.d.ts.map +1 -1
- package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts +2 -2
- package/lib/components/ecl-table/ecl-table-sort-button.component.d.ts.map +1 -1
- package/lib/components/ecl-table/ecl-table.directive.d.ts +7 -4
- package/lib/components/ecl-table/ecl-table.directive.d.ts.map +1 -1
- package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts +8 -0
- package/lib/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -0
- package/lib/components/ecl-tag/ecl-tag.component.d.ts +6 -7
- package/lib/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
- package/lib/components/ecl-tag/ecl-tag.module.d.ts +4 -3
- package/lib/components/ecl-tag/ecl-tag.module.d.ts.map +1 -1
- package/lib/components/ecl-tag/index.d.ts +1 -0
- package/lib/components/ecl-tag/index.d.ts.map +1 -1
- package/lib/components/index.d.ts +2 -2
- package/lib/components/index.d.ts.map +1 -1
- package/lib/services/ecl-default-language.service.d.ts +2 -1
- package/lib/services/ecl-default-language.service.d.ts.map +1 -1
- package/lib/services/ecl-theme.service.d.ts +1 -1
- package/lib/services/ecl-theme.service.d.ts.map +1 -1
- package/lib/shared/ecl-all.module.d.ts +20 -20
- package/package.json +1 -1
- package/docs/classes/EclFileDownloadEvent.html +0 -367
- package/esm2022/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.mjs +0 -8
- package/esm2022/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.mjs +0 -53
- package/esm2022/lib/components/ecl-message/ecl-message-title.directive.mjs +0 -20
- package/esm2022/lib/components/ecl-message/ecl-message.component.mjs +0 -88
- package/esm2022/lib/components/ecl-message/ecl-message.module.mjs +0 -22
- package/esm2022/lib/components/ecl-message/index.mjs +0 -4
- package/esm2022/lib/components/ecl-popover/ecl-popover-list.directive.mjs +0 -52
- package/esm2022/lib/components/ecl-spinner/ecl-spinner-label.directive.mjs +0 -19
- package/esm2022/lib/components/ecl-spinner/ecl-spinner.component.mjs +0 -51
- package/esm2022/lib/components/ecl-spinner/ecl-spinner.module.mjs +0 -20
- package/esm2022/lib/components/ecl-spinner/index.mjs +0 -4
- package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts +0 -6
- package/lib/components/ecl-file/ecl-file-item/ecl-file-download.event.d.ts.map +0 -1
- package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts +0 -17
- package/lib/components/ecl-list-illustration/ecl-list-illustration-image/ecl-list-illustration-image.component.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message-title.directive.d.ts +0 -8
- package/lib/components/ecl-message/ecl-message-title.directive.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message.component.d.ts +0 -21
- package/lib/components/ecl-message/ecl-message.component.d.ts.map +0 -1
- package/lib/components/ecl-message/ecl-message.module.d.ts +0 -13
- package/lib/components/ecl-message/ecl-message.module.d.ts.map +0 -1
- package/lib/components/ecl-message/index.d.ts +0 -4
- package/lib/components/ecl-message/index.d.ts.map +0 -1
- package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts +0 -18
- package/lib/components/ecl-popover/ecl-popover-list.directive.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts +0 -7
- package/lib/components/ecl-spinner/ecl-spinner-label.directive.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner.component.d.ts +0 -12
- package/lib/components/ecl-spinner/ecl-spinner.component.d.ts.map +0 -1
- package/lib/components/ecl-spinner/ecl-spinner.module.d.ts +0 -11
- package/lib/components/ecl-spinner/ecl-spinner.module.d.ts.map +0 -1
- package/lib/components/ecl-spinner/index.d.ts +0 -4
- package/lib/components/ecl-spinner/index.d.ts.map +0 -1
|
@@ -440,10 +440,10 @@ export class EclTabsComponent extends ECLBaseDirective {
|
|
|
440
440
|
this.styleTransform = 'translate3d(0px, 0px, 0px)';
|
|
441
441
|
this.index = 0;
|
|
442
442
|
}
|
|
443
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
444
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
443
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponent, deps: [{ token: i0.IterableDiffers }, { token: i1.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.EclRtlService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
444
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclTabsComponent, selector: "nav[eclTabs], ecl-tabs", inputs: { bodyClass: "bodyClass", direction: "direction" }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)", "window:resize": "onWindowResize($event)" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i5.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i6.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "component", type: i7.EclTabComponent, selector: "ecl-tab, li[eclTab]", inputs: ["id", "isHidden", "isActive"], outputs: ["selectTab", "keydownTab"] }, { kind: "component", type: i8.EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "component", type: i9.EclTabMoreComponent, selector: "ecl-tab-more", inputs: ["isHidden"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
445
445
|
}
|
|
446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponent, decorators: [{
|
|
447
447
|
type: Component,
|
|
448
448
|
args: [{ selector: 'nav[eclTabs], ecl-tabs', encapsulation: ViewEncapsulation.None, template: "<nav class=\"ecl-tabs\">\n <div class=\"ecl-tabs__container\">\n <ul\n class=\"ecl-tabs__list\"\n role=\"tablist\"\n #tabsList\n [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\"\n [style.transition-duration]=\"'0' || getTransitionDuration()\">\n <ng-content select=\"ecl-tab, li[eclTab]\"></ng-content>\n <ecl-tab-more [isHidden]=\"!isMoreButtonShow\">\n <button\n #moreButton\n eclButton\n class=\"ecl-tabs__toggle\"\n tabindex=\"-1\"\n variant=\"secondary\"\n [attr.aria-expanded]=\"isDropdownExpanded\"\n [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n <ul\n *ngIf=\"listTabs.length > 0\"\n class=\"ecl-tabs__dropdown\"\n [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\"\n #dropdownList>\n <ng-container *ngFor=\"let tab of listTabs; let i = index\">\n <ecl-tab\n [isActive]=\"tab.isActive\"\n [isHidden]=\"tab.isHidden\"\n (click)=\"onTabSelect(tab)\"\n (keydown.arrowRight)=\"onTabKeydownArrowRight(i)\"\n (keydown.arrowLeft)=\"onTabKeydownArrowLeft(i)\"\n (keydown.home)=\"onTabKeydownHome()\"\n (keydown.end)=\"onTabKeydownEnd()\"\n (keydown.enter)=\"onTabSelect(tab)\"\n (keydown.tab)=\"onTabBlur()\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </ecl-tab>\n </ng-container>\n </ul>\n </ecl-tab-more>\n </ul>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button\n #btnPrev\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__prev\"\n [class.ecl-u-d-none]=\"!isScrollPrevBtnShow\"\n [class.ecl-u-d-block]=\"isScrollPrevBtnShow\"\n (click)=\"onScrollPrev()\">\n <ecl-icon isInverted icon=\"corner-arrow\" transform=\"rotate-270\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n <button\n #btnNext\n [attr.aria-hidden]=\"true\"\n class=\"ecl-tabs__next\"\n [class.ecl-u-d-none]=\"!isScrollNextBtnShow\"\n [class.ecl-u-d-block]=\"isScrollNextBtnShow\"\n (click)=\"onScrollNext()\">\n <ecl-icon isInverted icon=\"corner-arrow\" color=\"inverted\" transform=\"rotate-90\" size=\"m\" class=\"ecl-u-d-block\"> </ecl-icon>\n <span class=\"ecl-u-sr-only\"></span>\n </button>\n </div>\n</nav>\n\n<ng-container *ngFor=\"let tab of tabs.toArray()\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n<ng-container *ngFor=\"let tab of listTabs\">\n <div class=\"{{ bodyClass }}\" *ngIf=\"tab.isActive\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n</ng-container>\n" }]
|
|
449
449
|
}], ctorParameters: () => [{ type: i0.IterableDiffers }, { type: i1.BreakpointObserver }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.EclRtlService }], propDecorators: { bodyClass: [{
|
|
@@ -477,4 +477,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
477
477
|
type: HostListener,
|
|
478
478
|
args: ['window:resize', ['$event']]
|
|
479
479
|
}] } });
|
|
480
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBTUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBR3RDLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQVFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFrQ2xELFlBQ1ksT0FBd0IsRUFDeEIscUJBQXlDLEVBQ3pDLEVBQXFCLEVBQ3JCLEVBQWMsRUFDZCxhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7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QUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFFNkMsSUFBSTtzQkFBdkQsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO2dCQUUzQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0ksVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNELE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDRSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ08sWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQXFEekIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDO2dCQVFqRCxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIEl0ZXJhYmxlQ2hhbmdlcyxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZVdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRWNsQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZWNsLWJ1dHRvbic7XG5pbXBvcnQgeyBFY2xUYWJDb21wb25lbnQsIEVjbFRhYlNlbGVjdEV2ZW50IH0gZnJvbSAnLi9lY2wtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLZXlDb2RlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgRWNsUnRsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuZXhwb3J0IGVudW0gU2hpZnREaXJlY3Rpb24ge1xuICAgIE5FWFQgPSAnbmV4dCcsXG4gICAgUFJFVklPVVMgPSAncHJldicsXG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXZbZWNsVGFic10sIGVjbC10YWJzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLXRhYnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEVjbFRhYnNDb21wb25lbnQgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGJvZHlDbGFzcyA9ICdlY2wtdS1tdC1zJztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIGluIDE4IHZlcnNpb24uIE5vIGFsdGVybmF0aXZlLCBzaG91bGQgbm90IGJlIHVzZWQuXG4gICAgICovXG4gICAgQElucHV0KCkgZGlyZWN0aW9uOiAncnRsJyB8ICdsdHInID0gJ2x0cic7XG4gICAgQE91dHB1dCgpIHRhYlNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsVGFiU2VsZWN0RXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gRWNsVGFiQ29tcG9uZW50KSkgdGFiczogUXVlcnlMaXN0PEVjbFRhYkNvbXBvbmVudD47XG5cbiAgICBAVmlld0NoaWxkKCd0YWJzTGlzdCcpIHRhYnNMaXN0OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ21vcmVCdXR0b24nKSBtb3JlQnV0dG9uOiBFY2xCdXR0b25Db21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnYnRuUHJldicpIGJ0blByZXY6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnYnRuTmV4dCcpIGJ0bk5leHQ6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25MaXN0JykgZHJvcGRvd25MaXN0OiBFbGVtZW50UmVmO1xuICAgIGRyb3Bkb3duVGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50PiA9IFtdO1xuICAgIGxpc3RUYWJzOiBBcnJheTxFY2xUYWJDb21wb25lbnQ+ID0gW107XG5cbiAgICBpbmRleCA9IDA7XG4gICAgaXNEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgaXNNb2JpbGVCcmVha3BvaW50ID0gZmFsc2U7XG4gICAgaXNNb3JlQnV0dG9uU2hvdyA9IHRydWU7XG4gICAgaXNTY3JvbGxQcmV2QnRuU2hvdyA9IGZhbHNlO1xuICAgIGlzU2Nyb2xsTmV4dEJ0blNob3cgPSBmYWxzZTtcbiAgICBzdHlsZVRyYW5zZm9ybSA9ICd0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KSc7XG5cbiAgICBwcml2YXRlIGRpZmZlcjogSXRlcmFibGVEaWZmZXI8RWNsVGFiQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGRpZmY6IEl0ZXJhYmxlQ2hhbmdlczxFY2xUYWJDb21wb25lbnQ+O1xuICAgIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgaXNGaXJzdENhbGwgPSB0cnVlO1xuICAgIHByaXZhdGUgaXNSdGwgPSBmYWxzZTtcbiAgICBwcml2YXRlIG1vcmVCdG5XaWR0aDogbnVtYmVyO1xuICAgIHByaXZhdGUgVElNRU9VVF9JTlRFUlZBTCA9IDMwMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgICAgICAgcHJpdmF0ZSBjZGtCcmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlcixcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZWNsUnRsU2VydmljZTogRWNsUnRsU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUnRsQ2hhbmdlU3RhdGUoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlmZiA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy50YWJzKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3JlYXRlU2Vjb25kTGlzdEZvckRyb3Bkb3duKCk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZVRhYnNDaGFuZ2VzKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVSZXNpemUoKSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgb25DbGljayh0YXJnZXQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm1vcmVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpICYmICF0aGlzLmRyb3Bkb3duTGlzdC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25XaW5kb3dSZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5oYW5kbGVSZXNpemUoKSwgdGhpcy5USU1FT1VUX0lOVEVSVkFMKTtcbiAgICB9XG5cbiAgICBnZXQgaXNNb3JlQnV0dG9uQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5saXN0VGFicy5maW5kKChlbCkgPT4gZWwuaXNBY3RpdmUpICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgb25TY3JvbGxQcmV2KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaWZ0VGFicyhTaGlmdERpcmVjdGlvbi5QUkVWSU9VUyk7XG4gICAgfVxuXG4gICAgb25TY3JvbGxOZXh0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaWZ0VGFicyhTaGlmdERpcmVjdGlvbi5ORVhUKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duVG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRHJvcGRvd25FeHBhbmRlZCA9ICF0aGlzLmlzRHJvcGRvd25FeHBhbmRlZDtcbiAgICB9XG5cbiAgICBnZXRUYWJzV2lkdGhTdHlsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPyBgJHt0aGlzLmdldFRhYnNXaWR0aCgpfXB4YCA6ICdhdXRvJztcbiAgICB9XG5cbiAgICBnZXRUYWJzV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5yZWR1Y2UoKHRvdGFsLCBpdGVtKSA9PiAodG90YWwgKz0gTWF0aC5jZWlsKGl0ZW0uZ2V0V2lkdGgoKSkpLCAwKTtcbiAgICB9XG5cbiAgICBnZXRIaWRkZW5UYWJzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaXNIaWRkZW4pLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXRUYWJMYWJlbChpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVtpbmRleF0uZ2V0VGFiTGFiZWwoKTtcbiAgICB9XG5cbiAgICBnZXRUcmFuc2l0aW9uRHVyYXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gJzAuNHMnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnMHMnO1xuICAgIH1cblxuICAgIG9uVGFiQmx1cigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG5cbiAgICAgICAgdGhpcy5nZXRMYXN0VmlzaWJsZVRhYigpLm9uRm9jdXMoKTtcbiAgICAgICAgdGhpcy5nZXRMYXN0VmlzaWJsZVRhYigpLm9uQmx1cigpO1xuICAgIH1cblxuICAgIG9uVGFiU2VsZWN0KHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVhY3RpdmF0ZUFsbFRhYnModGhpcy50YWJzLnRvQXJyYXkoKSwgdGhpcy5saXN0VGFicyk7XG4gICAgICAgIHRoaXMuYWN0aXZhdGVUYWIodGFiKTtcbiAgICAgICAgdGhpcy5zZW5kVGFiU2VsZWN0RXZlbnQodGFiKTtcbiAgICB9XG5cbiAgICBvblRhYktleWRvd25BcnJvd1JpZ2h0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoaWZ0VGFicyhTaGlmdERpcmVjdGlvbi5ORVhUKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25GaXJzdFRhYigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uTmV4dFRhYihpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRhYktleWRvd25BcnJvd0xlZnQoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZUJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRUYWJzKFNoaWZ0RGlyZWN0aW9uLlBSRVZJT1VTKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkxhc3RUYWIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZUYWIoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duSG9tZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1c09uRmlyc3RUYWIoKTtcbiAgICB9XG5cbiAgICBvblRhYktleWRvd25FbmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNPbkxhc3RUYWIoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNoaWZ0VGFicyhkaXI6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmluZGV4ID0gdGhpcy5nZXRTaGlmSW5kZXgoZGlyLCB0aGlzLmluZGV4KTtcblxuICAgICAgICB0aGlzLmlzU2Nyb2xsUHJldkJ0blNob3cgPSB0aGlzLmluZGV4ID49IDE7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IHRoaXMuaW5kZXggPD0gdGhpcy5nZXRUYWJzQ291bnQoKSAtIDE7XG5cbiAgICAgICAgY29uc3QgbGVmdE1hcmdpbiA9IHRoaXMuaW5kZXggPT09IDAgPyAwIDogdGhpcy5idG5QcmV2Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggKyAxMztcblxuICAgICAgICBsZXQgbmV3T2Zmc2V0ID0gMDtcbiAgICAgICAgaWYgKHRoaXMuaXNSdGwpIHtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IE1hdGguY2VpbChcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5pbmRleF0uaG9zdEVsZW1lbnQub2Zmc2V0TGVmdCAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVt0aGlzLmluZGV4XS5ob3N0RWxlbWVudC5vZmZzZXRXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIGxlZnRNYXJnaW4sXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3T2Zmc2V0ID0gTWF0aC5jZWlsKHRoaXMuZ2V0VGFic0FzQXJyYXkoKVt0aGlzLmluZGV4XS5ob3N0RWxlbWVudC5vZmZzZXRMZWZ0IC0gbGVmdE1hcmdpbik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtYXhTY3JvbGwgPSBNYXRoLmNlaWwodGhpcy5nZXRUYWJzTGlzdFdpZHRoKCkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpO1xuXG4gICAgICAgIGlmIChuZXdPZmZzZXQgPiBtYXhTY3JvbGwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IGZhbHNlO1xuICAgICAgICAgICAgbmV3T2Zmc2V0ID0gbWF4U2Nyb2xsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSdGwpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVUcmFuc2Zvcm0gPSBgdHJhbnNsYXRlM2QoJHtuZXdPZmZzZXR9cHgsIDBweCwgMHB4KWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKC0ke25ld09mZnNldH1weCwgMHB4LCAwcHgpYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2hpZkluZGV4KGRpcjogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGRpciA9PT0gU2hpZnREaXJlY3Rpb24uTkVYVCkge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmdldFRhYnNDb3VudCgpIC0gMSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5kZXggLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTZWNvbmRMaXN0Rm9yRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RhYiA9IE9iamVjdC5hc3NpZ24oe30sIHRhYikgYXMgRWNsVGFiQ29tcG9uZW50O1xuICAgICAgICAgICAgbmV3VGFiLmlzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIG5ld1RhYi5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5saXN0VGFicy5wdXNoKG5ld1RhYiBhcyBFY2xUYWJDb21wb25lbnQpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhYnNBc0FycmF5KCk6IEVjbFRhYkNvbXBvbmVudFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy50b0FycmF5KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFicy50b0FycmF5KCkubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZVRhYnNDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZVRhYnNDaGFuZ2VzT2JzZXJ2YWJsZSh0aGlzLnRhYnMpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUodGhpcy5vblRhYnNDaGFuZ2VzLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVGFic0NoYW5nZXNPYnNlcnZhYmxlKHRhYnM6IFF1ZXJ5TGlzdDxFY2xUYWJDb21wb25lbnQ+KTogT2JzZXJ2YWJsZTxRdWVyeUxpc3Q8RWNsVGFiQ29tcG9uZW50Pj4ge1xuICAgICAgICByZXR1cm4gb2YodGFicykucGlwZShtZXJnZVdpdGgodGFicy5jaGFuZ2VzKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uVGFic0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlmZiA9IHRoaXMuZGlmZmVyLmRpZmYodGhpcy50YWJzKTtcblxuICAgICAgICBpZiAoIXRoaXMuZGlmZikge1xuICAgICAgICAgICAgdGhpcy50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdFRhYkV2ZW50cyh0YWIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRpZmYuZm9yRWFjaEFkZGVkSXRlbSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0VGFiRXZlbnRzKGNoYW5nZS5pdGVtKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLmRpZmYuZm9yRWFjaFJlbW92ZWRJdGVtKChjaGFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RUYWJFdmVudHMoY2hhbmdlLml0ZW0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbm5lY3RUYWJFdmVudHModGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGFiLnNlbGVjdFRhYi5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25UYWJTZWxlY3QodGFiKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRhYi5rZXlkb3duVGFiLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bihldmVudCwgdGFiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRhYktleWRvd24oZXZlbnQ6IEV2ZW50LCB0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0VGFic0FzQXJyYXkoKS5pbmRleE9mKHRhYik7XG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19MRUZUOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duQXJyb3dMZWZ0KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5BUlJPV19SSUdIVDoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bkFycm93UmlnaHQoaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVORDoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bkVuZCgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkhPTUU6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25Ib21lKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuRU5URVI6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYlNlbGVjdCh0YWIpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLlRBQjoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQmx1cigpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExhc3RWaXNpYmxlVGFiKCk6IEVjbFRhYkNvbXBvbmVudCB7XG4gICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xuICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KCkuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgICAgICAgIGlmICghZWwuaXNIaWRkZW4pIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSBlbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25OZXh0VGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0VGFic0FzQXJyYXkoKVtpbmRleCArIDFdLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRHJvcGRvd25UYWIoaW5kZXggKyAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpW2luZGV4ICsgMV0ub25Gb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uRmlyc3RUYWIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgICB0aGlzLmdldEZpcnN0VGFiRnJvbUFycmF5KCkub25Gb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbkxhc3RUYWIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5nZXRMYXN0VGFiRnJvbUFycmF5KCkuaXNIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0TGFzdFRhYkZyb21BcnJheSgpLm9uRm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKCk7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25Ecm9wZG93blRhYih0aGlzLmdldFRhYnNDb3VudCgpIC0gMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25QcmV2VGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RUYWJzW2luZGV4IC0gMV0uaXNIaWRkZW4pIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkRyb3Bkb3duVGFiKGluZGV4IC0gMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVtpbmRleCAtIDFdLm9uRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbkRyb3Bkb3duVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkxpc3QubmF0aXZlRWxlbWVudC5jaGlsZHJlbltpbmRleF0uZmlyc3RDaGlsZC5mb2N1cygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmx1ckRyb3Bkb3duVGFiKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkxpc3QubmF0aXZlRWxlbWVudC5jaGlsZHJlbltpbmRleF0uZmlyc3RDaGlsZC5ibHVyKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0VGFiRnJvbUFycmF5KCk6IEVjbFRhYkNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5nZXRUYWJzQXNBcnJheSgpLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Rmlyc3RUYWJGcm9tQXJyYXkoKTogRWNsVGFiQ29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVswXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpc2Nvbm5lY3RUYWJFdmVudHModGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRhYiAmJiB0YWIuc2VsZWN0VGFiKSB7XG4gICAgICAgICAgICB0YWIuc2VsZWN0VGFiLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGRlYWN0aXZhdGVBbGxUYWJzKHRhYnM6IEFycmF5PEVjbFRhYkNvbXBvbmVudD4sIGxpc3RUYWJzOiBBcnJheTxFY2xUYWJDb21wb25lbnQ+KTogdm9pZCB7XG4gICAgICAgIHRhYnMuZm9yRWFjaCgoaXQpID0+IHtcbiAgICAgICAgICAgIGl0LmlzQWN0aXZlID0gZmFsc2U7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGxpc3RUYWJzLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICBpdC5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlVGFiKHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRhYi5pc0FjdGl2ZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZW5kVGFiU2VsZWN0RXZlbnQodGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJTZWxlY3QubmV4dChuZXcgRWNsVGFiU2VsZWN0RXZlbnQodGFiKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQnJlYWtwb2ludENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrQnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAgICAgICAub2JzZXJ2ZShbJyhtYXgtd2lkdGg6IDQ4MHB4KSddKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZUJyZWFrcG9pbnQgPSByZXN1bHQubWF0Y2hlcztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU1vYmlsZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdE1vcmVCdG5XaWR0aCgpO1xuICAgICAgICBsZXQgc3RvcFdpZHRoID0gdGhpcy5tb3JlQnRuV2lkdGggKyAyNTtcbiAgICAgICAgY29uc3QgaGlkZGVuSXRlbXMgPSBbXTtcbiAgICAgICAgY29uc3QgbGlzdFdpZHRoID0gdGhpcy5nZXRUYWJzTGlzdFdpZHRoKCk7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsUHJldkJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpdGVtLmlzSGlkZGVuID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAobGlzdFdpZHRoID49IHN0b3BXaWR0aCArIGl0ZW0uZ2V0V2lkdGgoKSAmJiAhaGlkZGVuSXRlbXMuaW5jbHVkZXMoaSAtIDEpKSB7XG4gICAgICAgICAgICAgICAgc3RvcFdpZHRoICs9IGl0ZW0uZ2V0V2lkdGgoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0VGFic1tpXS5pc0FjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhpZGRlbkl0ZW1zLnB1c2goaSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaGlkZGVuSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlSXRlbUZvck1haW5UYWJzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZXRIaWRkZW5JdGVtc0ZvckRyb3Bkb3duVGFicyhoaWRkZW5JdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRNb3JlQnRuV2lkdGgoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRmlyc3RDYWxsKSB7XG4gICAgICAgICAgICB0aGlzLm1vcmVCdG5XaWR0aCA9IHRoaXMubW9yZUJ1dHRvbi5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgICAgICAgdGhpcy5pc0ZpcnN0Q2FsbCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBY3RpdmVJdGVtRm9yTWFpblRhYnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlzdFRhYnMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJzLnRvQXJyYXkoKVtpbmRleF0uaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRhYnNMaXN0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGFic0xpc3QubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEhpZGRlbkl0ZW1zRm9yRHJvcGRvd25UYWJzKGhpZGRlbkl0ZW1zOiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RUYWJzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaGlkZGVuSXRlbXMuaW5jbHVkZXMoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtLmlzSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVNb2JpbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNNb3JlQnV0dG9uU2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsUHJldkJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbE5leHRCdG5TaG93ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJ0bENoYW5nZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpc1J0bE9sZCA9IHRoaXMuaXNSdGw7XG4gICAgICAgIHRoaXMuZWNsUnRsU2VydmljZS5jdXJyZW50UnRsU3RhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJ0bFN0YXRlKSA9PiB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUnRsID0gcnRsU3RhdGU7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ICYmIHRoaXMuaGFzUnRsQ2hhbmdlZChpc1J0bE9sZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVSdGxDaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzUnRsQ2hhbmdlZChpc1J0bE9sZDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaXNSdGxPbGQgIT09IHRoaXMuaXNSdGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSdGxDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFuZGxlTW9iaWxlKCk7XG4gICAgICAgIHRoaXMuc3R5bGVUcmFuc2Zvcm0gPSAndHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCknO1xuICAgICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiZWNsLXRhYnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZWNsLXRhYnNfX2NvbnRhaW5lclwiPlxuICAgICAgICA8dWxcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX2xpc3RcIlxuICAgICAgICAgICAgcm9sZT1cInRhYmxpc3RcIlxuICAgICAgICAgICAgI3RhYnNMaXN0XG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiZ2V0VGFic1dpZHRoU3R5bGUoKVwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNmb3JtXT1cInN0eWxlVHJhbnNmb3JtXCJcbiAgICAgICAgICAgIFtzdHlsZS50cmFuc2l0aW9uLWR1cmF0aW9uXT1cIicwJyB8fCBnZXRUcmFuc2l0aW9uRHVyYXRpb24oKVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZWNsLXRhYiwgbGlbZWNsVGFiXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxlY2wtdGFiLW1vcmUgW2lzSGlkZGVuXT1cIiFpc01vcmVCdXR0b25TaG93XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAjbW9yZUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBlY2xCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRHJvcGRvd25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5lY2wtdGFic19fdG9nZ2xlLS1hY3RpdmVdPVwiaXNNb3JlQnV0dG9uQWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRHJvcGRvd25Ub2dnbGUoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBlY2xCdXR0b25MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdlY2wuY29tbW9uLk1PUkUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAoe3sgZ2V0SGlkZGVuVGFic0NvdW50KCkgfX0pXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGVjbC1pY29uIGljb249XCJjb3JuZXItYXJyb3dcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMTgwXCIgc2l6ZT1cImZsdWlkXCI+PC9lY2wtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8dWxcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJsaXN0VGFicy5sZW5ndGggPiAwXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWNsLXRhYnNfX2Ryb3Bkb3duLS1zaG93XT1cImlzRHJvcGRvd25FeHBhbmRlZFwiXG4gICAgICAgICAgICAgICAgICAgICNkcm9wZG93bkxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBsaXN0VGFiczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVjbC10YWJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNBY3RpdmVdPVwidGFiLmlzQWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNIaWRkZW5dPVwidGFiLmlzSGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25UYWJTZWxlY3QodGFiKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJvblRhYktleWRvd25BcnJvd1JpZ2h0KGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQpPVwib25UYWJLZXlkb3duQXJyb3dMZWZ0KGkpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5ob21lKT1cIm9uVGFiS2V5ZG93bkhvbWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW5kKT1cIm9uVGFiS2V5ZG93bkVuZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvblRhYlNlbGVjdCh0YWIpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwib25UYWJCbHVyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZWNsLXRhYi1sYWJlbD57eyBnZXRUYWJMYWJlbChpKSB9fTwvZWNsLXRhYi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZWNsLXRhYj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZWNsLXRhYi1tb3JlPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImVjbC10YWJzX19jb250cm9sc1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjYnRuUHJldlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC10YWJzX19wcmV2XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIWlzU2Nyb2xsUHJldkJ0blNob3dcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtYmxvY2tdPVwiaXNTY3JvbGxQcmV2QnRuU2hvd1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TY3JvbGxQcmV2KClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkIGljb249XCJjb3JuZXItYXJyb3dcIiB0cmFuc2Zvcm09XCJyb3RhdGUtMjcwXCIgc2l6ZT1cIm1cIiBjbGFzcz1cImVjbC11LWQtYmxvY2tcIj4gPC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICNidG5OZXh0XG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX25leHRcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtbm9uZV09XCIhaXNTY3JvbGxOZXh0QnRuU2hvd1wiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ibG9ja109XCJpc1Njcm9sbE5leHRCdG5TaG93XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNjcm9sbE5leHQoKVwiPlxuICAgICAgICAgICAgPGVjbC1pY29uIGlzSW52ZXJ0ZWQgaWNvbj1cImNvcm5lci1hcnJvd1wiIGNvbG9yPVwiaW52ZXJ0ZWRcIiB0cmFuc2Zvcm09XCJyb3RhdGUtOTBcIiBzaXplPVwibVwiIGNsYXNzPVwiZWNsLXUtZC1ibG9ja1wiPiA8L2VjbC1pY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlY2wtdS1zci1vbmx5XCI+PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmF2PlxuXG48bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFicy50b0FycmF5KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwie3sgYm9keUNsYXNzIH19XCIgKm5nSWY9XCJ0YWIuaXNBY3RpdmVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIGxpc3RUYWJzXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IGJvZHlDbGFzcyB9fVwiICpuZ0lmPVwidGFiLmlzQWN0aXZlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
480
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWJzL2VjbC10YWJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFicy9lY2wtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBSUgsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBTUwsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7O0FBR3RDLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsK0JBQWEsQ0FBQTtJQUNiLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQVFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxnQkFBZ0I7SUFrQ2xELFlBQ1ksT0FBd0IsRUFDeEIscUJBQXlDLEVBQ3pDLEVBQXFCLEVBQ3JCLEVBQWMsRUFDZCxhQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5BLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBQ3hCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBb0I7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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZUNoYW5nZXMsXG4gICAgSXRlcmFibGVEaWZmZXIsXG4gICAgSXRlcmFibGVEaWZmZXJzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWVyZ2VXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFQ0xCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZWNsLWJhc2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEVjbEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2VjbC1idXR0b24nO1xuaW1wb3J0IHsgRWNsVGFiQ29tcG9uZW50LCBFY2xUYWJTZWxlY3RFdmVudCB9IGZyb20gJy4vZWNsLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2V5Q29kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVjbFJ0bFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbmV4cG9ydCBlbnVtIFNoaWZ0RGlyZWN0aW9uIHtcbiAgICBORVhUID0gJ25leHQnLFxuICAgIFBSRVZJT1VTID0gJ3ByZXYnLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnbmF2W2VjbFRhYnNdLCBlY2wtdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VjbC10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWJzQ29tcG9uZW50IGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBib2R5Q2xhc3MgPSAnZWNsLXUtbXQtcyc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVG8gYmUgcmVtb3ZlZCBpbiAxOCB2ZXJzaW9uLiBObyBhbHRlcm5hdGl2ZSwgc2hvdWxkIG5vdCBiZSB1c2VkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpcmVjdGlvbjogJ3J0bCcgfCAnbHRyJyA9ICdsdHInO1xuICAgIEBPdXRwdXQoKSB0YWJTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEVjbFRhYlNlbGVjdEV2ZW50PigpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEVjbFRhYkNvbXBvbmVudCkpIHRhYnM6IFF1ZXJ5TGlzdDxFY2xUYWJDb21wb25lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgndGFic0xpc3QnKSB0YWJzTGlzdDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdtb3JlQnV0dG9uJykgbW9yZUJ1dHRvbjogRWNsQnV0dG9uQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2J0blByZXYnKSBidG5QcmV2OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2J0bk5leHQnKSBidG5OZXh0OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2Ryb3Bkb3duTGlzdCcpIGRyb3Bkb3duTGlzdDogRWxlbWVudFJlZjtcbiAgICBkcm9wZG93blRhYnM6IEFycmF5PEVjbFRhYkNvbXBvbmVudD4gPSBbXTtcbiAgICBsaXN0VGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50PiA9IFtdO1xuXG4gICAgaW5kZXggPSAwO1xuICAgIGlzRHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgIGlzTW9iaWxlQnJlYWtwb2ludCA9IGZhbHNlO1xuICAgIGlzTW9yZUJ1dHRvblNob3cgPSB0cnVlO1xuICAgIGlzU2Nyb2xsUHJldkJ0blNob3cgPSBmYWxzZTtcbiAgICBpc1Njcm9sbE5leHRCdG5TaG93ID0gZmFsc2U7XG4gICAgc3R5bGVUcmFuc2Zvcm0gPSAndHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCknO1xuXG4gICAgcHJpdmF0ZSBkaWZmZXI6IEl0ZXJhYmxlRGlmZmVyPEVjbFRhYkNvbXBvbmVudD47XG4gICAgcHJpdmF0ZSBkaWZmOiBJdGVyYWJsZUNoYW5nZXM8RWNsVGFiQ29tcG9uZW50PjtcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIGlzRmlyc3RDYWxsID0gdHJ1ZTtcbiAgICBwcml2YXRlIGlzUnRsID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBtb3JlQnRuV2lkdGg6IG51bWJlcjtcbiAgICBwcml2YXRlIFRJTUVPVVRfSU5URVJWQUwgPSAzMDA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICAgICAgIHByaXZhdGUgY2RrQnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIGVjbFJ0bFNlcnZpY2U6IEVjbFJ0bFNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVCcmVha3BvaW50Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmhhbmRsZVJ0bENoYW5nZVN0YXRlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpZmYgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMudGFicyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNyZWF0ZVNlY29uZExpc3RGb3JEcm9wZG93bigpO1xuICAgICAgICB0aGlzLm9ic2VydmVUYWJzQ2hhbmdlcygpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUmVzaXplKCksIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIG9uQ2xpY2sodGFyZ2V0KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5tb3JlQnV0dG9uLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSAmJiAhdGhpcy5kcm9wZG93bkxpc3QubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uV2luZG93UmVzaXplKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaGFuZGxlUmVzaXplKCksIHRoaXMuVElNRU9VVF9JTlRFUlZBTCk7XG4gICAgfVxuXG4gICAgZ2V0IGlzTW9yZUJ1dHRvbkFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGlzdFRhYnMuZmluZCgoZWwpID0+IGVsLmlzQWN0aXZlKSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsUHJldigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uUFJFVklPVVMpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsTmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uTkVYVCk7XG4gICAgfVxuXG4gICAgb25Ecm9wZG93blRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQgPSAhdGhpcy5pc0Ryb3Bkb3duRXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgZ2V0VGFic1dpZHRoU3R5bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID8gYCR7dGhpcy5nZXRUYWJzV2lkdGgoKX1weGAgOiAnYXV0byc7XG4gICAgfVxuXG4gICAgZ2V0VGFic1dpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMucmVkdWNlKCh0b3RhbCwgaXRlbSkgPT4gKHRvdGFsICs9IE1hdGguY2VpbChpdGVtLmdldFdpZHRoKCkpKSwgMCk7XG4gICAgfVxuXG4gICAgZ2V0SGlkZGVuVGFic0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmlzSGlkZGVuKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0VGFiTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXhdLmdldFRhYkxhYmVsKCk7XG4gICAgfVxuXG4gICAgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuICcwLjRzJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJzBzJztcbiAgICB9XG5cbiAgICBvblRhYkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuXG4gICAgICAgIHRoaXMuZ2V0TGFzdFZpc2libGVUYWIoKS5vbkZvY3VzKCk7XG4gICAgICAgIHRoaXMuZ2V0TGFzdFZpc2libGVUYWIoKS5vbkJsdXIoKTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdCh0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlYWN0aXZhdGVBbGxUYWJzKHRoaXMudGFicy50b0FycmF5KCksIHRoaXMubGlzdFRhYnMpO1xuICAgICAgICB0aGlzLmFjdGl2YXRlVGFiKHRhYik7XG4gICAgICAgIHRoaXMuc2VuZFRhYlNlbGVjdEV2ZW50KHRhYik7XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duQXJyb3dSaWdodChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdGhpcy5zaGlmdFRhYnMoU2hpZnREaXJlY3Rpb24uTkVYVCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmdldFRhYnNDb3VudCgpIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRmlyc3RUYWIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbk5leHRUYWIoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duQXJyb3dMZWZ0KGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNNb2JpbGVCcmVha3BvaW50KSB7XG4gICAgICAgICAgICB0aGlzLnNoaWZ0VGFicyhTaGlmdERpcmVjdGlvbi5QUkVWSU9VUyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25MYXN0VGFiKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25QcmV2VGFiKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiS2V5ZG93bkhvbWUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXNPbkZpcnN0VGFiKCk7XG4gICAgfVxuXG4gICAgb25UYWJLZXlkb3duRW5kKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzT25MYXN0VGFiKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGlmdFRhYnMoZGlyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmRleCA9IHRoaXMuZ2V0U2hpZkluZGV4KGRpciwgdGhpcy5pbmRleCk7XG5cbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gdGhpcy5pbmRleCA+PSAxO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSB0aGlzLmluZGV4IDw9IHRoaXMuZ2V0VGFic0NvdW50KCkgLSAxO1xuXG4gICAgICAgIGNvbnN0IGxlZnRNYXJnaW4gPSB0aGlzLmluZGV4ID09PSAwID8gMCA6IHRoaXMuYnRuUHJldi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoICsgMTM7XG5cbiAgICAgICAgbGV0IG5ld09mZnNldCA9IDA7XG4gICAgICAgIGlmICh0aGlzLmlzUnRsKSB7XG4gICAgICAgICAgICBuZXdPZmZzZXQgPSBNYXRoLmNlaWwoXG4gICAgICAgICAgICAgICAgdGhpcy50YWJzTGlzdC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuaW5kZXhdLmhvc3RFbGVtZW50Lm9mZnNldExlZnQgLVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5pbmRleF0uaG9zdEVsZW1lbnQub2Zmc2V0V2lkdGggLVxuICAgICAgICAgICAgICAgICAgICBsZWZ0TWFyZ2luLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IE1hdGguY2VpbCh0aGlzLmdldFRhYnNBc0FycmF5KClbdGhpcy5pbmRleF0uaG9zdEVsZW1lbnQub2Zmc2V0TGVmdCAtIGxlZnRNYXJnaW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4U2Nyb2xsID0gTWF0aC5jZWlsKHRoaXMuZ2V0VGFic0xpc3RXaWR0aCgpIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtcblxuICAgICAgICBpZiAobmV3T2Zmc2V0ID4gbWF4U2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IG1heFNjcm9sbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzUnRsKSB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKCR7bmV3T2Zmc2V0fXB4LCAwcHgsIDBweClgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdHlsZVRyYW5zZm9ybSA9IGB0cmFuc2xhdGUzZCgtJHtuZXdPZmZzZXR9cHgsIDBweCwgMHB4KWA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNoaWZJbmRleChkaXI6IHN0cmluZywgaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGlmIChkaXIgPT09IFNoaWZ0RGlyZWN0aW9uLk5FWFQpIHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5nZXRUYWJzQ291bnQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4ICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNDb3VudCgpIC0gMTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4IC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlU2Vjb25kTGlzdEZvckRyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdUYWIgPSBPYmplY3QuYXNzaWduKHt9LCB0YWIpIGFzIEVjbFRhYkNvbXBvbmVudDtcbiAgICAgICAgICAgIG5ld1RhYi5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICBuZXdUYWIuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubGlzdFRhYnMucHVzaChuZXdUYWIgYXMgRWNsVGFiQ29tcG9uZW50KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzQXNBcnJheSgpOiBFY2xUYWJDb21wb25lbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGFic0NvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnMudG9BcnJheSgpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bkV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVUYWJzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jcmVhdGVUYWJzQ2hhbmdlc09ic2VydmFibGUodGhpcy50YWJzKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHRoaXMub25UYWJzQ2hhbmdlcy5iaW5kKHRoaXMpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVRhYnNDaGFuZ2VzT2JzZXJ2YWJsZSh0YWJzOiBRdWVyeUxpc3Q8RWNsVGFiQ29tcG9uZW50Pik6IE9ic2VydmFibGU8UXVlcnlMaXN0PEVjbFRhYkNvbXBvbmVudD4+IHtcbiAgICAgICAgcmV0dXJuIG9mKHRhYnMpLnBpcGUobWVyZ2VXaXRoKHRhYnMuY2hhbmdlcyksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRhYnNDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpZmYgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMudGFicyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmRpZmYpIHtcbiAgICAgICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3RUYWJFdmVudHModGFiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaWZmLmZvckVhY2hBZGRlZEl0ZW0oKGNoYW5nZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdFRhYkV2ZW50cyhjaGFuZ2UuaXRlbSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5kaWZmLmZvckVhY2hSZW1vdmVkSXRlbSgoY2hhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0VGFiRXZlbnRzKGNoYW5nZS5pdGVtKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb25uZWN0VGFiRXZlbnRzKHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRhYi5zZWxlY3RUYWIucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uVGFiU2VsZWN0KHRhYik7XG4gICAgICAgIH0pO1xuICAgICAgICB0YWIua2V5ZG93blRhYi5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd24oZXZlbnQsIHRhYik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25UYWJLZXlkb3duKGV2ZW50OiBFdmVudCwgdGFiOiBFY2xUYWJDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmdldFRhYnNBc0FycmF5KCkuaW5kZXhPZih0YWIpO1xuICAgICAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfTEVGVDoge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVGFiS2V5ZG93bkFycm93TGVmdChpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlIEtleUNvZGUuQVJST1dfUklHSFQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25BcnJvd1JpZ2h0KGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5FTkQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYktleWRvd25FbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5IT01FOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJLZXlkb3duSG9tZSgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBLZXlDb2RlLkVOVEVSOiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25UYWJTZWxlY3QodGFiKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgS2V5Q29kZS5UQUI6IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblRhYkJsdXIoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRMYXN0VmlzaWJsZVRhYigpOiBFY2xUYWJDb21wb25lbnQge1xuICAgICAgICBsZXQgcmVzdWx0ID0gbnVsbDtcbiAgICAgICAgdGhpcy5nZXRUYWJzQXNBcnJheSgpLmZvckVhY2goKGVsKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWVsLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gZWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uTmV4dFRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXggKyAxXS5pc0hpZGRlbikge1xuICAgICAgICAgICAgdGhpcy5vcGVuRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNPbkRyb3Bkb3duVGFiKGluZGV4ICsgMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0VGFic0FzQXJyYXkoKVtpbmRleCArIDFdLm9uRm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNPbkZpcnN0VGFiKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgICAgdGhpcy5nZXRGaXJzdFRhYkZyb21BcnJheSgpLm9uRm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25MYXN0VGFiKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0TGFzdFRhYkZyb21BcnJheSgpLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLmdldExhc3RUYWJGcm9tQXJyYXkoKS5vbkZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Ecm9wZG93bigpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c09uRHJvcGRvd25UYWIodGhpcy5nZXRUYWJzQ291bnQoKSAtIDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c09uUHJldlRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5saXN0VGFic1tpbmRleCAtIDFdLmlzSGlkZGVuKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzT25Ecm9wZG93blRhYihpbmRleCAtIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB0aGlzLmdldFRhYnNBc0FycmF5KClbaW5kZXggLSAxXS5vbkZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzT25Ecm9wZG93blRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25MaXN0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5baW5kZXhdLmZpcnN0Q2hpbGQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJsdXJEcm9wZG93blRhYihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25MaXN0Lm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5baW5kZXhdLmZpcnN0Q2hpbGQuYmx1cigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFzdFRhYkZyb21BcnJheSgpOiBFY2xUYWJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUYWJzQXNBcnJheSgpW3RoaXMuZ2V0VGFic0FzQXJyYXkoKS5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZpcnN0VGFiRnJvbUFycmF5KCk6IEVjbFRhYkNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhYnNBc0FycmF5KClbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0VGFiRXZlbnRzKHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0YWIgJiYgdGFiLnNlbGVjdFRhYikge1xuICAgICAgICAgICAgdGFiLnNlbGVjdFRhYi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWFjdGl2YXRlQWxsVGFicyh0YWJzOiBBcnJheTxFY2xUYWJDb21wb25lbnQ+LCBsaXN0VGFiczogQXJyYXk8RWNsVGFiQ29tcG9uZW50Pik6IHZvaWQge1xuICAgICAgICB0YWJzLmZvckVhY2goKGl0KSA9PiB7XG4gICAgICAgICAgICBpdC5pc0FjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICBsaXN0VGFicy5mb3JFYWNoKChpdCkgPT4ge1xuICAgICAgICAgICAgaXQuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZVRhYih0YWI6IEVjbFRhYkNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0YWIuaXNBY3RpdmUgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VuZFRhYlNlbGVjdEV2ZW50KHRhYjogRWNsVGFiQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFiU2VsZWN0Lm5leHQobmV3IEVjbFRhYlNlbGVjdEV2ZW50KHRhYikpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUJyZWFrcG9pbnRDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka0JyZWFrcG9pbnRPYnNlcnZlclxuICAgICAgICAgICAgLm9ic2VydmUoWycobWF4LXdpZHRoOiA0ODBweCknXSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVCcmVha3BvaW50ID0gcmVzdWx0Lm1hdGNoZXM7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVNb2JpbGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRNb3JlQnRuV2lkdGgoKTtcbiAgICAgICAgbGV0IHN0b3BXaWR0aCA9IHRoaXMubW9yZUJ0bldpZHRoICsgMjU7XG4gICAgICAgIGNvbnN0IGhpZGRlbkl0ZW1zID0gW107XG4gICAgICAgIGNvbnN0IGxpc3RXaWR0aCA9IHRoaXMuZ2V0VGFic0xpc3RXaWR0aCgpO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsTmV4dEJ0blNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb3JlQnV0dG9uU2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRhYnMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGxpc3RXaWR0aCA+PSBzdG9wV2lkdGggKyBpdGVtLmdldFdpZHRoKCkgJiYgIWhpZGRlbkl0ZW1zLmluY2x1ZGVzKGkgLSAxKSkge1xuICAgICAgICAgICAgICAgIHN0b3BXaWR0aCArPSBpdGVtLmdldFdpZHRoKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdFRhYnNbaV0uaXNBY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoaWRkZW5JdGVtcy5wdXNoKGkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWhpZGRlbkl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZUl0ZW1Gb3JNYWluVGFicygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pc01vcmVCdXR0b25TaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc2V0SGlkZGVuSXRlbXNGb3JEcm9wZG93blRhYnMoaGlkZGVuSXRlbXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0TW9yZUJ0bldpZHRoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0ZpcnN0Q2FsbCkge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnRuV2lkdGggPSB0aGlzLm1vcmVCdXR0b24uZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaXNGaXJzdENhbGwgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QWN0aXZlSXRlbUZvck1haW5UYWJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpc3RUYWJzLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pc0FjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGFicy50b0FycmF5KClbaW5kZXhdLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUYWJzTGlzdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRhYnNMaXN0Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRIaWRkZW5JdGVtc0ZvckRyb3Bkb3duVGFicyhoaWRkZW5JdGVtczogbnVtYmVyW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5saXN0VGFicy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGhpZGRlbkl0ZW1zLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIGl0ZW0uaXNIaWRkZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5pc0hpZGRlbiA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlTW9iaWxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTW9yZUJ1dHRvblNob3cgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbFByZXZCdG5TaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTY3JvbGxOZXh0QnRuU2hvdyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSdGxDaGFuZ2VTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNSdGxPbGQgPSB0aGlzLmlzUnRsO1xuICAgICAgICB0aGlzLmVjbFJ0bFNlcnZpY2UuY3VycmVudFJ0bFN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChydGxTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1J0bCA9IHJ0bFN0YXRlO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTW9iaWxlQnJlYWtwb2ludCAmJiB0aGlzLmhhc1J0bENoYW5nZWQoaXNSdGxPbGQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlUnRsQ2hhbmdlKCk7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1J0bENoYW5nZWQoaXNSdGxPbGQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGlzUnRsT2xkICE9PSB0aGlzLmlzUnRsO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUnRsQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZU1vYmlsZSgpO1xuICAgICAgICB0aGlzLnN0eWxlVHJhbnNmb3JtID0gJ3RyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpJztcbiAgICAgICAgdGhpcy5pbmRleCA9IDA7XG4gICAgfVxufVxuIiwiPG5hdiBjbGFzcz1cImVjbC10YWJzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVjbC10YWJzX19jb250YWluZXJcIj5cbiAgICAgICAgPHVsXG4gICAgICAgICAgICBjbGFzcz1cImVjbC10YWJzX19saXN0XCJcbiAgICAgICAgICAgIHJvbGU9XCJ0YWJsaXN0XCJcbiAgICAgICAgICAgICN0YWJzTGlzdFxuICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldFRhYnNXaWR0aFN0eWxlKClcIlxuICAgICAgICAgICAgW3N0eWxlLnRyYW5zZm9ybV09XCJzdHlsZVRyYW5zZm9ybVwiXG4gICAgICAgICAgICBbc3R5bGUudHJhbnNpdGlvbi1kdXJhdGlvbl09XCInMCcgfHwgZ2V0VHJhbnNpdGlvbkR1cmF0aW9uKClcIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImVjbC10YWIsIGxpW2VjbFRhYl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8ZWNsLXRhYi1tb3JlIFtpc0hpZGRlbl09XCIhaXNNb3JlQnV0dG9uU2hvd1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgI21vcmVCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgZWNsQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX3RvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZWNsLXRhYnNfX3RvZ2dsZS0tYWN0aXZlXT1cImlzTW9yZUJ1dHRvbkFjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRyb3Bkb3duVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZWNsQnV0dG9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnZWNsLmNvbW1vbi5NT1JFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgKHt7IGdldEhpZGRlblRhYnNDb3VudCgpIH19KVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxlY2wtaWNvbiBpY29uPVwiY29ybmVyLWFycm93XCIgdHJhbnNmb3JtPVwicm90YXRlLTE4MFwiIHNpemU9XCJmbHVpZFwiPjwvZWNsLWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPHVsXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGlzdFRhYnMubGVuZ3RoID4gMFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZWNsLXRhYnNfX2Ryb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmVjbC10YWJzX19kcm9wZG93bi0tc2hvd109XCJpc0Ryb3Bkb3duRXhwYW5kZWRcIlxuICAgICAgICAgICAgICAgICAgICAjZHJvcGRvd25MaXN0PlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgbGlzdFRhYnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxlY2wtdGFiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzQWN0aXZlXT1cInRhYi5pc0FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzSGlkZGVuXT1cInRhYi5pc0hpZGRlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVGFiU2VsZWN0KHRhYilcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmFycm93UmlnaHQpPVwib25UYWJLZXlkb3duQXJyb3dSaWdodChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uYXJyb3dMZWZ0KT1cIm9uVGFiS2V5ZG93bkFycm93TGVmdChpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uaG9tZSk9XCJvblRhYktleWRvd25Ib21lKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVuZCk9XCJvblRhYktleWRvd25FbmQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25UYWJTZWxlY3QodGFiKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24udGFiKT1cIm9uVGFiQmx1cigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGVjbC10YWItbGFiZWw+e3sgZ2V0VGFiTGFiZWwoaSkgfX08L2VjbC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2VjbC10YWI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2VjbC10YWItbW9yZT5cbiAgICAgICAgPC91bD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJlY2wtdGFic19fY29udHJvbHNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgI2J0blByZXZcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJlY2wtdGFic19fcHJldlwiXG4gICAgICAgICAgICBbY2xhc3MuZWNsLXUtZC1ub25lXT1cIiFpc1Njcm9sbFByZXZCdG5TaG93XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLWJsb2NrXT1cImlzU2Nyb2xsUHJldkJ0blNob3dcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2Nyb2xsUHJldigpXCI+XG4gICAgICAgICAgICA8ZWNsLWljb24gaXNJbnZlcnRlZCBpY29uPVwiY29ybmVyLWFycm93XCIgdHJhbnNmb3JtPVwicm90YXRlLTI3MFwiIHNpemU9XCJtXCIgY2xhc3M9XCJlY2wtdS1kLWJsb2NrXCI+IDwvZWNsLWljb24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVjbC11LXNyLW9ubHlcIj48L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAjYnRuTmV4dFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICBjbGFzcz1cImVjbC10YWJzX19uZXh0XCJcbiAgICAgICAgICAgIFtjbGFzcy5lY2wtdS1kLW5vbmVdPVwiIWlzU2Nyb2xsTmV4dEJ0blNob3dcIlxuICAgICAgICAgICAgW2NsYXNzLmVjbC11LWQtYmxvY2tdPVwiaXNTY3JvbGxOZXh0QnRuU2hvd1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TY3JvbGxOZXh0KClcIj5cbiAgICAgICAgICAgIDxlY2wtaWNvbiBpc0ludmVydGVkIGljb249XCJjb3JuZXItYXJyb3dcIiBjb2xvcj1cImludmVydGVkXCIgdHJhbnNmb3JtPVwicm90YXRlLTkwXCIgc2l6ZT1cIm1cIiBjbGFzcz1cImVjbC11LWQtYmxvY2tcIj4gPC9lY2wtaWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZWNsLXUtc3Itb25seVwiPjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L25hdj5cblxuPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnMudG9BcnJheSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInt7IGJvZHlDbGFzcyB9fVwiICpuZ0lmPVwidGFiLmlzQWN0aXZlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiBsaXN0VGFic1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ7eyBib2R5Q2xhc3MgfX1cIiAqbmdJZj1cInRhYi5pc0FjdGl2ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
@@ -12,20 +12,20 @@ import { ECLClickOutsideDirective } from '../../utils';
|
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
13
13
|
const COMPONENTS = [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent];
|
|
14
14
|
export class EclTabsComponentModule {
|
|
15
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
16
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
15
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponentModule, declarations: [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent], imports: [CommonModule,
|
|
17
17
|
EclLinkDirectiveModule,
|
|
18
18
|
EclButtonComponentModule,
|
|
19
19
|
EclIconComponentModule,
|
|
20
20
|
TranslateModule,
|
|
21
21
|
ECLClickOutsideDirective], exports: [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent] }); }
|
|
22
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
22
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponentModule, imports: [CommonModule,
|
|
23
23
|
EclLinkDirectiveModule,
|
|
24
24
|
EclButtonComponentModule,
|
|
25
25
|
EclIconComponentModule,
|
|
26
26
|
TranslateModule] }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTabsComponentModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Directive, HostBinding } from '@angular/core';
|
|
2
|
+
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EclTagSetDirective extends ECLBaseDirective {
|
|
5
|
+
get cssClasses() {
|
|
6
|
+
return [super.getCssClasses('ecl-tag-set')].join(' ').trim();
|
|
7
|
+
}
|
|
8
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagSetDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclTagSetDirective, selector: "[eclTagSet]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagSetDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: '[eclTagSet]',
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { cssClasses: [{
|
|
17
|
+
type: HostBinding,
|
|
18
|
+
args: ['class']
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhZy1zZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10YWcvZWNsLXRhZy1zZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUt6RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZ0JBQWdCO0lBQ3BELElBQ0ksVUFBVTtRQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pFLENBQUM7d0lBSlEsa0JBQWtCOzRIQUFsQixrQkFBa0I7O2tHQUFsQixrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7aUJBQzFCOzhCQUdPLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VjbFRhZ1NldF0nLFxufSlcbmV4cG9ydCBjbGFzcyBFY2xUYWdTZXREaXJlY3RpdmUgZXh0ZW5kcyBFQ0xCYXNlRGlyZWN0aXZlIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gW3N1cGVyLmdldENzc0NsYXNzZXMoJ2VjbC10YWctc2V0JyldLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,22 +1,27 @@
|
|
|
1
|
-
import { Component, Input, HostBinding, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { EclBaseEvent } from '../../model
|
|
1
|
+
import { Component, Input, HostBinding, Output, EventEmitter, booleanAttribute } from '@angular/core';
|
|
2
|
+
import { EclBaseEvent } from '../../model';
|
|
3
3
|
import { ECLBaseDirective } from '../ecl-base.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "
|
|
6
|
-
import * as i2 from "
|
|
5
|
+
import * as i1 from "../ecl-icon/ecl-icon.component";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
7
|
export class EclTagRemoveEvent extends EclBaseEvent {
|
|
8
8
|
}
|
|
9
9
|
export class EclTagComponent extends ECLBaseDirective {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
+
this.isWrapped = true;
|
|
12
13
|
this.remove = new EventEmitter();
|
|
13
14
|
this.isVisible = true;
|
|
15
|
+
this.title = 'dimiss';
|
|
14
16
|
}
|
|
15
17
|
get isHidden() {
|
|
16
18
|
return !this.isVisible || null;
|
|
17
19
|
}
|
|
18
20
|
get cssClasses() {
|
|
19
|
-
return [super.getCssClasses('ecl-tag'),
|
|
21
|
+
return [super.getCssClasses('ecl-tag'),
|
|
22
|
+
this.variant ? `ecl-tag--${this.variant}` : '',
|
|
23
|
+
this.isWrapped ? '' : 'ecl-tag--nowrap',
|
|
24
|
+
].join(' ').trim();
|
|
20
25
|
}
|
|
21
26
|
get isRemovable() {
|
|
22
27
|
return this.variant == 'removable';
|
|
@@ -28,14 +33,17 @@ export class EclTagComponent extends ECLBaseDirective {
|
|
|
28
33
|
this.isVisible = false;
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
32
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0-next.3", type: EclTagComponent, selector: "ecl-tag, [eclTag]", inputs: { variant: "variant", isWrapped: ["isWrapped", "isWrapped", booleanAttribute] }, outputs: { remove: "remove" }, host: { properties: { "attr.hidden": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick($event)\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" role=\"img\">\n <title>{{title | titlecase}}</title>\n </ecl-icon>\n</span>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "ariaHidden", "focusable"] }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }] }); }
|
|
33
38
|
}
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponent, decorators: [{
|
|
35
40
|
type: Component,
|
|
36
|
-
args: [{ selector: 'ecl-tag, [eclTag]', template: "<ng-content></ng-content>\n\n<span
|
|
41
|
+
args: [{ selector: 'ecl-tag, [eclTag]', template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick($event)\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" role=\"img\">\n <title>{{title | titlecase}}</title>\n </ecl-icon>\n</span>\n}\n" }]
|
|
37
42
|
}], propDecorators: { variant: [{
|
|
38
43
|
type: Input
|
|
44
|
+
}], isWrapped: [{
|
|
45
|
+
type: Input,
|
|
46
|
+
args: [{ transform: booleanAttribute }]
|
|
39
47
|
}], remove: [{
|
|
40
48
|
type: Output
|
|
41
49
|
}], isHidden: [{
|
|
@@ -45,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
45
53
|
type: HostBinding,
|
|
46
54
|
args: ['class']
|
|
47
55
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhZy9lY2wtdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9lY2wtdGFnL2VjbC10YWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQUV6RCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsWUFBWTtDQUFHO0FBTXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLGdCQUFnQjtJQUpyRDs7UUFNNEMsY0FBUyxHQUFHLElBQUksQ0FBQztRQUUvQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFjekQsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixVQUFLLEdBQUcsUUFBUSxDQUFDO0tBY3BCO0lBM0JHLElBQ0ksUUFBUTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1NBQzFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFJRCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksV0FBVyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhLENBQUMsR0FBZTtRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO3dJQWhDUSxlQUFlOzRIQUFmLGVBQWUscUdBRUosZ0JBQWdCLHlLQ1p4QyxvUkFRQTs7a0dERWEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDSSxtQkFBbUI7OEJBSXBCLE9BQU87c0JBQWYsS0FBSztnQkFDa0MsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsTUFBTTtzQkFBZixNQUFNO2dCQUdILFFBQVE7c0JBRFgsV0FBVzt1QkFBQyxhQUFhO2dCQU10QixVQUFVO3NCQURiLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWNsQmFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWwnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjbGFzcyBFY2xUYWdSZW1vdmVFdmVudCBleHRlbmRzIEVjbEJhc2VFdmVudCB7fVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VjbC10YWcsIFtlY2xUYWddJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWNsLXRhZy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIEVjbFRhZ0NvbXBvbmVudCBleHRlbmRzIEVDTEJhc2VEaXJlY3RpdmUge1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdyZW1vdmFibGUnO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1dyYXBwZWQgPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RWNsVGFnUmVtb3ZlRXZlbnQ+KCk7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaGlkZGVuJylcbiAgICBnZXQgaXNIaWRkZW4oKTogYm9vbGVhbiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMuaXNWaXNpYmxlIHx8IG51bGw7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtdGFnJyksXG4gICAgICAgICAgICB0aGlzLnZhcmlhbnQgPyBgZWNsLXRhZy0tJHt0aGlzLnZhcmlhbnR9YCA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc1dyYXBwZWQgPyAnJyA6ICdlY2wtdGFnLS1ub3dyYXAnLFxuICAgICAgICBdLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuICAgIGlzVmlzaWJsZSA9IHRydWU7XG4gICAgdGl0bGUgPSAnZGltaXNzJztcblxuICAgIGdldCBpc1JlbW92YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFyaWFudCA9PSAncmVtb3ZhYmxlJztcbiAgICB9XG5cbiAgICBvblJlbW92ZUNsaWNrKGV2dDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFY2xUYWdSZW1vdmVFdmVudCgpO1xuICAgICAgICB0aGlzLnJlbW92ZS5uZXh0KGV2ZW50KTtcblxuICAgICAgICBpZiAoIWV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5AaWYoaXNSZW1vdmFibGUpIHtcbiAgICA8c3BhbiBjbGFzcz1cImVjbC10YWdfX2ljb25cIiAoY2xpY2spPVwib25SZW1vdmVDbGljaygkZXZlbnQpXCI+XG4gICAgPGVjbC1pY29uIGljb249XCJjbG9zZS1vdXRsaW5lXCIgY2xhc3M9XCJlY2wtdGFnX19pY29uLWNsb3NlXCIgcm9sZT1cImltZ1wiPlxuICAgICAgICA8dGl0bGU+e3t0aXRsZSB8IHRpdGxlY2FzZX19PC90aXRsZT5cbiAgICA8L2VjbC1pY29uPlxuPC9zcGFuPlxufVxuIl19
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { EclIconComponentModule } from '../ecl-icon
|
|
3
|
+
import { EclIconComponentModule } from '../ecl-icon';
|
|
4
4
|
import { EclTagComponent } from './ecl-tag.component';
|
|
5
|
+
import { EclTagSetDirective } from './ecl-tag-set.directive';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export class EclTagComponentModule {
|
|
7
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
8
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
9
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
8
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponentModule, declarations: [EclTagComponent, EclTagSetDirective], imports: [CommonModule, EclIconComponentModule], exports: [EclTagComponent, EclTagSetDirective] }); }
|
|
10
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponentModule, imports: [CommonModule, EclIconComponentModule] }); }
|
|
10
11
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTagComponentModule, decorators: [{
|
|
12
13
|
type: NgModule,
|
|
13
14
|
args: [{
|
|
14
15
|
imports: [CommonModule, EclIconComponentModule],
|
|
15
|
-
exports: [EclTagComponent],
|
|
16
|
-
declarations: [EclTagComponent],
|
|
16
|
+
exports: [EclTagComponent, EclTagSetDirective],
|
|
17
|
+
declarations: [EclTagComponent, EclTagSetDirective],
|
|
17
18
|
}]
|
|
18
19
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRhZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhZy9lY2wtdGFnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQU83RCxNQUFNLE9BQU8scUJBQXFCO3dJQUFyQixxQkFBcUI7eUlBQXJCLHFCQUFxQixpQkFGZixlQUFlLEVBQUUsa0JBQWtCLGFBRnhDLFlBQVksRUFBRSxzQkFBc0IsYUFDcEMsZUFBZSxFQUFFLGtCQUFrQjt5SUFHcEMscUJBQXFCLFlBSnBCLFlBQVksRUFBRSxzQkFBc0I7O2tHQUlyQyxxQkFBcUI7a0JBTGpDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHNCQUFzQixDQUFDO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUM7b0JBQzlDLFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEVjbEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9lY2wtaWNvbic7XG5pbXBvcnQgeyBFY2xUYWdDb21wb25lbnQgfSBmcm9tICcuL2VjbC10YWcuY29tcG9uZW50JztcbmltcG9ydCB7IEVjbFRhZ1NldERpcmVjdGl2ZSB9IGZyb20gJy4vZWNsLXRhZy1zZXQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBFY2xJY29uQ29tcG9uZW50TW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRWNsVGFnQ29tcG9uZW50LCBFY2xUYWdTZXREaXJlY3RpdmVdLFxuICAgIGRlY2xhcmF0aW9uczogW0VjbFRhZ0NvbXBvbmVudCwgRWNsVGFnU2V0RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsVGFnQ29tcG9uZW50TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './ecl-tag.module';
|
|
2
2
|
export * from './ecl-tag.component';
|
|
3
|
-
|
|
3
|
+
export * from './ecl-tag-set.directive';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRhZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZWNsLXRhZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lY2wtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VjbC10YWctc2V0LmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -23,13 +23,13 @@ export class EclTextAreaDirective extends ECLBaseDirective {
|
|
|
23
23
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
24
|
this.isInvalid = false;
|
|
25
25
|
}
|
|
26
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
27
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
26
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirective, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
27
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclTextAreaDirective, selector: "textarea[eclTextArea]", inputs: { eclSize: "eclSize", isInvalid: "isInvalid" }, host: { properties: { "class": "this.cssClasses", "class.ecl-text-area--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
28
28
|
}
|
|
29
29
|
__decorate([
|
|
30
30
|
coerceBoolean
|
|
31
31
|
], EclTextAreaDirective.prototype, "isInvalid", void 0);
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirective, decorators: [{
|
|
33
33
|
type: Directive,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: 'textarea[eclTextArea]',
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
49
49
|
type: HostBinding,
|
|
50
50
|
args: ['class.ecl-text-area--invalid']
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRleHQtYXJlYS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvZWNsLXRleHQtYXJlYS9lY2wtdGV4dC1hcmVhLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBS3pELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFLdEQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsa0JBQWtCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pILENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQXdDLFNBQW9CO1FBQ3hELEtBQUssRUFBRSxDQUFDO1FBRDRCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFsQm5ELFlBQU8sR0FBRyxHQUFHLENBQUM7UUFDdkIsOERBQThEO1FBQ3RDLGNBQVMsR0FBa0IsS0FBSyxDQUFDO0lBa0J6RCxDQUFDO3dJQXJCUSxvQkFBb0I7NEhBQXBCLG9CQUFvQjs7QUFHTDtJQUF2QixhQUFhO3VEQUEyQztrR0FIaEQsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDOzswQkFvQmdCLFFBQVE7OzBCQUFJLElBQUk7eUNBbEJwQixPQUFPO3NCQUFmLEtBQUs7Z0JBRWtCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR2pCLFVBQVU7c0JBRGIsV0FBVzt1QkFBQyxPQUFPO2dCQU1oQixZQUFZO3NCQURmLFdBQVc7dUJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgSW5wdXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEVDTEJhc2VEaXJlY3RpdmUgfSBmcm9tICcuLi9lY2wtYmFzZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3RleHRhcmVhW2VjbFRleHRBcmVhXScsXG59KVxuZXhwb3J0IGNsYXNzIEVjbFRleHRBcmVhRGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQElucHV0KCkgZWNsU2l6ZSA9ICdtJztcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIEBjb2VyY2VCb29sZWFuIEBJbnB1dCgpIGlzSW52YWxpZDogYm9vbGVhbiB8IGFueSA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtdGV4dC1hcmVhJyksIHRoaXMuZWNsU2l6ZSA/IGBlY2wtdGV4dC1hcmVhLS0ke3RoaXMuZWNsU2l6ZX1gIDogJyddLmpvaW4oJyAnKS50cmltKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5lY2wtdGV4dC1hcmVhLS1pbnZhbGlkJylcbiAgICBnZXQgaW52YWxpZFN0YXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5zdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXNJbnZhbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwcml2YXRlIG5nQ29udHJvbDogTmdDb250cm9sKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { EclTextAreaDirective } from './ecl-text-area.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class EclTextAreaDirectiveModule {
|
|
6
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
8
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirectiveModule, declarations: [EclTextAreaDirective], imports: [CommonModule], exports: [EclTextAreaDirective] }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirectiveModule, imports: [CommonModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextAreaDirectiveModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
imports: [CommonModule],
|
|
@@ -23,13 +23,13 @@ export class EclTextInputDirective extends ECLBaseDirective {
|
|
|
23
23
|
return this.isInvalid;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
27
|
-
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
26
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirective, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
27
|
+
/** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EclTextInputDirective, isStandalone: true, selector: "input[eclTextInput]", inputs: { eclSize: "eclSize", isInvalid: "isInvalid" }, host: { properties: { "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-text-input--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
28
28
|
}
|
|
29
29
|
__decorate([
|
|
30
30
|
coerceBoolean
|
|
31
31
|
], EclTextInputDirective.prototype, "isInvalid", void 0);
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirective, decorators: [{
|
|
33
33
|
type: Directive,
|
|
34
34
|
args: [{
|
|
35
35
|
selector: 'input[eclTextInput]',
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
55
55
|
type: HostBinding,
|
|
56
56
|
args: ['class.ecl-text-input--invalid']
|
|
57
57
|
}] } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNsLXRleHQtaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2VjbC10ZXh0LWlucHV0L2VjbC10ZXh0LWlucHV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFVdkQsSUFDSSxVQUFVO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0gsQ0FBQztJQUVELFlBQTBDLFNBQW9CO1FBQzFELEtBQUssRUFBRSxDQUFDO1FBRDhCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFkcEMsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUUvQixZQUFPLEdBQUcsR0FBRyxDQUFDO1FBS3ZCLGNBQVMsR0FBa0IsS0FBSyxDQUFDO0lBU2pDLENBQUM7SUFFRCxJQUNJLFlBQVk7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQzt3SUExQlEscUJBQXFCOzRIQUFyQixxQkFBcUI7O0FBUTlCO0lBSEMsYUFBYTt3REFHbUI7a0dBUnhCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWdCZ0IsUUFBUTs7MEJBQUksSUFBSTt5Q0FkSCxJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBRWYsT0FBTztzQkFBZixLQUFLOztRQUlOLDhEQUE4RDtRQUM5RCxTQUFTO3NCQUZSLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixXQUFXO3VCQUFDLE9BQU87Z0JBVWhCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3B0aW9uYWwsIFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRUNMQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4uL2VjbC1iYXNlLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnaW5wdXRbZWNsVGV4dElucHV0XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWNsVGV4dElucHV0RGlyZWN0aXZlIGV4dGVuZHMgRUNMQmFzZURpcmVjdGl2ZSB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnR5cGUnKSB0eXBlID0gJ3RleHQnO1xuXG4gICAgQElucHV0KCkgZWNsU2l6ZSA9ICdtJztcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgQElucHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGlzSW52YWxpZDogYm9vbGVhbiB8IGFueSA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtzdXBlci5nZXRDc3NDbGFzc2VzKCdlY2wtdGV4dC1pbnB1dCcpLCB0aGlzLmVjbFNpemUgPyBgZWNsLXRleHQtaW5wdXQtLSR7dGhpcy5lY2xTaXplfWAgOiAnJ10uam9pbignICcpLnRyaW0oKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHByb3RlY3RlZCBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZWNsLXRleHQtaW5wdXQtLWludmFsaWQnKVxuICAgIGdldCBpbnZhbGlkU3RhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sLnN0YXR1cyA9PT0gJ0lOVkFMSUQnICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pc0ludmFsaWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { EclTextInputDirective } from './ecl-text-input.directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class EclTextInputDirectiveModule {
|
|
6
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
8
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirectiveModule, imports: [CommonModule, EclTextInputDirective], exports: [EclTextInputDirective] }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirectiveModule, imports: [CommonModule] }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EclTextInputDirectiveModule, decorators: [{
|
|
11
11
|
type: NgModule,
|
|
12
12
|
args: [{
|
|
13
13
|
imports: [CommonModule, EclTextInputDirective],
|