@eui/ecl 23.0.0-alpha.6 → 23.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/changelog.html +86 -0
- package/docs/classes/EclLanguageService.html +8 -8
- package/docs/components/EclBannerComponent.html +28 -56
- package/docs/components/EclCardComponent.html +12 -24
- package/docs/components/EclCarouselComponent.html +33 -65
- package/docs/components/EclCarouselItemComponent.html +4 -8
- package/docs/components/EclCategoryFilterComponent.html +4 -8
- package/docs/components/EclCategoryFilterItemComponent.html +5 -9
- package/docs/components/EclCategoryFilterListComponent.html +5 -9
- package/docs/components/EclContentItemComponent.html +20 -40
- package/docs/components/EclFactFiguresItemComponent.html +4 -8
- package/docs/components/EclFactFiguresViewAllComponent.html +4 -8
- package/docs/components/EclFeaturedItemComponent.html +4 -10
- package/docs/components/EclFileComponent.html +4 -8
- package/docs/components/EclFileItemsComponent.html +4 -8
- package/docs/components/EclFormGroupComponent.html +4 -8
- package/docs/components/EclGalleryComponent.html +21 -41
- package/docs/components/EclGalleryItemComponent.html +8 -16
- package/docs/components/EclIconComponent.html +4 -8
- package/docs/components/EclInpageNavigationComponent.html +20 -40
- package/docs/components/EclInpageNavigationItemComponent.html +4 -8
- package/docs/components/EclListIllustrationComponent.html +4 -8
- package/docs/components/EclListIllustrationItemComponent.html +9 -17
- package/docs/components/EclMediaContainerComponent.html +21 -41
- package/docs/components/EclMegaMenuComponent.html +4 -8
- package/docs/components/EclMegaMenuFeaturedComponent.html +12 -24
- package/docs/components/EclMegaMenuInfoComponent.html +4 -8
- package/docs/components/EclMegaMenuItemComponent.html +37 -73
- package/docs/components/EclMegaMenuSubitemComponent.html +21 -43
- package/docs/components/EclMenuComponent.html +20 -40
- package/docs/components/EclMenuItemComponent.html +12 -24
- package/docs/components/EclMenuMegaItemComponent.html +12 -24
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +4 -8
- package/docs/components/EclMultiselectDropdownComponent.html +21 -41
- package/docs/components/EclMultiselectInputComponent.html +4 -8
- package/docs/components/EclMultiselectOptionComponent.html +4 -8
- package/docs/components/EclNavigationListComponent.html +4 -8
- package/docs/components/EclNavigationListItemComponent.html +4 -8
- package/docs/components/EclNewsTickerComponent.html +28 -48
- package/docs/components/EclNewsTickerItemComponent.html +4 -8
- package/docs/components/EclPageHeaderComponent.html +8 -16
- package/docs/components/EclPaginationComponent.html +4 -8
- package/docs/components/EclPopoverComponent.html +12 -24
- package/docs/components/EclSiteHeaderComponent.html +44 -88
- package/docs/components/EclSiteHeaderCustomActionComponent.html +8 -16
- package/docs/components/EclSiteHeaderLanguageComponent.html +10 -18
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +6 -10
- package/docs/components/EclSiteHeaderLoginComponent.html +4 -8
- package/docs/components/EclSiteHeaderSearchComponent.html +4 -8
- package/docs/components/EclTabComponent.html +12 -24
- package/docs/components/EclTabsComponent.html +29 -57
- package/docs/components/EclTimelineComponent.html +4 -8
- package/docs/components/EclTimelineItemComponent.html +16 -32
- package/docs/directives/EclCheckboxDirective.html +16 -32
- package/docs/directives/EclDescriptionListDirective.html +4 -8
- package/docs/directives/EclGalleryMediaDirective.html +2 -2
- package/docs/directives/EclGalleryPictureDirective.html +1 -1
- package/docs/directives/EclListIllustrationPictureDirective.html +4 -8
- package/docs/directives/EclMediaContainerItemDirective.html +4 -8
- package/docs/directives/EclMegaMenuSublistDirective.html +8 -16
- package/docs/directives/EclMultiselectOptionDirective.html +4 -8
- package/docs/directives/EclPageHeaderMetaItemDirective.html +9 -0
- package/docs/directives/EclRadioDirective.html +8 -16
- package/docs/directives/EclSocialMediaFollowLinkDirective.html +4 -8
- package/docs/directives/EclTableDirective.html +4 -8
- package/docs/directives/EclTableHeadDirective.html +4 -8
- package/docs/injectables/EclDefaultLanguageService.html +7 -7
- package/docs/injectables/EclMegaMenuService.html +2 -2
- package/docs/interfaces/EclMegaMenuItem.html +2 -2
- package/docs/interfaces/EclMenuItem.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclMegaMenuItemComponent.md +1 -1
- package/docs/json/EclMegaMenuSubitemComponent.md +1 -1
- package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +2 -2
- package/docs/json/documentation.json +1365 -2133
- package/docs/llms.txt +182 -182
- package/docs/miscellaneous/variables.html +16 -16
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +37 -40
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +23 -17
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +105 -82
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +36 -29
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +30 -20
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +46 -27
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +25 -15
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +10 -9
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +17 -13
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +12 -7
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -49
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -8
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +48 -50
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -24
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +6 -7
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +31 -34
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +237 -197
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +108 -86
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +0 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +70 -67
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -14
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +67 -51
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +17 -12
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +9 -7
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +44 -38
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +22 -14
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +123 -118
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +10 -8
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +17 -15
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +101 -81
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +47 -37
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-banner.d.ts +42 -43
- package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-card.d.ts +34 -35
- package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-carousel.d.ts +10 -11
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-category-filter.d.ts +6 -6
- package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-checkbox.d.ts +47 -49
- package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-item.d.ts +16 -18
- package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-fact-figures.d.ts +3 -3
- package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-featured.d.ts +2 -2
- package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts +42 -43
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-group.d.ts +1 -3
- package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-gallery.d.ts +12 -12
- package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +8 -8
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list-illustration.d.ts +44 -44
- package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list.d.ts +2 -2
- package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-media-container.d.ts +33 -33
- package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-mega-menu.d.ts +185 -191
- package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +126 -128
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts +10 -10
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-navigation-list.d.ts +3 -4
- package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts +18 -18
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +3 -3
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-popover.d.ts +3 -3
- package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-radio.d.ts +28 -28
- package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts +48 -48
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts +3 -3
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts +12 -12
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts +27 -28
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts +11 -11
- package/types/eui-ecl-core.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-page-header.mjs","sources":["../../components/ecl-page-header/ecl-page-header-background.directive.ts","../../components/ecl-page-header/ecl-page-header-description.directive.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.ts","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.html","../../components/ecl-page-header/ecl-page-header-info.directive.ts","../../components/ecl-page-header/ecl-page-header-meta.directive.ts","../../components/ecl-page-header/ecl-page-header-next/ecl-page-header-next.component.ts","../../components/ecl-page-header/ecl-page-header-next/ecl-page-header-next.component.html","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.ts","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.html","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.ts","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.html","../../components/ecl-page-header/ecl-page-header-title.directive.ts","../../components/ecl-page-header/ecl-page-header.component.ts","../../components/ecl-page-header/ecl-page-header.component.html","../../components/ecl-page-header/index.ts","../../components/ecl-page-header/eui-ecl-components-ecl-page-header.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the background picture inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-picture ecl-page-header__picture-background' classes to the host.\n *\n * @default 'ecl-picture ecl-page-header__picture-background'\n */\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-background';\n}\n\n/**\n * Styles the background image inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__background' class to the host.\n *\n * @default 'ecl-page-header__background'\n */\n @HostBinding('class') className = 'ecl-page-header__background';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n// /**\n// * Styles the container for the page header description.\n// */\n// @Directive({\n// selector: '[eclPageHeaderDescriptionContainer]',\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {\n// /**\n// * Applies 'ecl-page-header__description-container' class to the host.\n// *\n// * @default 'ecl-page-header__description-container'\n// */\n// @HostBinding('class') className = 'ecl-page-header__description-container';\n// }\n\n/**\n * Styles a picture used in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-picture ecl-page-header__picture-thumbnail' classes to the host.\n *\n * @default 'ecl-picture ecl-page-header__picture-thumbnail'\n */\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-thumbnail';\n}\n\n/**\n * Styles a thumbnail or image in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage]',\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__description-thumbnail' class to the host.\n *\n * @default 'ecl-page-header__description-thumbnail'\n */\n @HostBinding('class') className = 'ecl-page-header__description-thumbnail';\n}\n\n/**\n * Styles the text description in the page header.\n */\n@Directive({\n selector: 'p[eclPageHeaderDescription]',\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__description' class to the host.\n *\n * @default 'ecl-page-header__description'\n */\n @HostBinding('class') className = 'ecl-page-header__description';\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n imports: [NgTemplateOutlet],\n host: {\n '[class]': '\"ecl-page-header__description-\" + position()',\n },\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n\n position = input<'top' | 'bottom'>('top');\n}\n","@if (position() === 'bottom') {\n<div class=\"ecl-container\">\n <div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n </div>\n</div>\n} @else {\n<div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n</div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { afterNextRender, Component, computed, ElementRef, HostBinding, OnDestroy, signal, viewChild } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header expandable component. As a part of the PageHeader,\n * it represents expandable content, placed at the top of the parent component.\n */\n@Component({\n selector: 'div[eclPageHeaderExpandable]',\n templateUrl: './ecl-page-header-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n})\nexport class EclPageHeaderExpandableComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable'),\n this.hasProjectedContent() ? '' : 'ecl-page-header-no-toggle']\n .join(' ')\n .trim();\n }\n\n panelId = crypto.randomUUID();\n isExpanded = signal(false);\n private readonly projectedSlot = viewChild<ElementRef<HTMLElement>>('projectedSlot');\n private readonly _hasProjectedContent = signal(false);\n readonly hasProjectedContent = computed(() => this._hasProjectedContent());\n\n private observer?: MutationObserver;\n\n constructor() {\n super();\n afterNextRender(() => {\n const el = this.projectedSlot()?.nativeElement;\n if (!el) return;\n\n const recompute = () => {\n // textContent covers both text-only and element content.\n // trim() ignores whitespace/newlines from formatting.\n this._hasProjectedContent.set((el.textContent ?? '').trim().length > 0);\n };\n\n recompute();\n\n // Optional but recommended if the projected content can change dynamically\n this.observer = new MutationObserver(recompute);\n this.observer.observe(el, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n });\n }\n\n ngOnDestroy() {\n this.observer?.disconnect();\n }\n\n onExpandButtonClick(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n}","<div class=\"ecl-page-header-expandable__header\">\n <div class=\"ecl-container ecl-page-header-expandable__container\">\n <ng-content select=\"[eclPageHeaderExpandableHeader]\"></ng-content>\n\n @if (hasProjectedContent()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" isIconOnly aria-expanded=\"{{isExpanded()}}\" type=\"submit\"\n [attr.aria-controls]=\"panelId\" class=\"ecl-page-header-expandable__toggle\" (click)=\"onExpandButtonClick()\">\n <span eclButtonLabel>expandable button</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"flip-vertical\"></ecl-icon>\n </button>\n }\n </div>\n</div>\n<div class=\"ecl-page-header-expandable__panel\" id=\"{{panelId}}\" [hidden]=\"!isExpanded()\">\n <div class=\"ecl-container ecl-page-header-expandable__container\" #projectedSlot>\n <ng-content></ng-content>\n </div>\n</div>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the info section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderInfo]',\n})\nexport class EclPageHeaderInfoDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__info' class to the host.\n *\n * @default 'ecl-page-header__info'\n */\n @HostBinding('class') className = 'ecl-page-header__info';\n}\n\n\n@Directive({\n selector: '[eclPageHeaderContainer]',\n})\nexport class EclPageHeaderContainerDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__container' class to the host.\n *\n * @default 'ecl-page-header__container'\n */\n @HostBinding('class') className = 'ecl-page-header__container';\n}\n\n@Directive({\n selector: '[eclContainer]',\n})\nexport class EclContainerDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-container' class to the host.\n *\n * @default 'ecl-container'\n */\n @HostBinding('class') className = 'ecl-container';\n}\n","import { contentChild, Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Styles the meta section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMeta]',\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__meta' class to the host.\n *\n * @default 'ecl-page-header__meta'\n */\n @HostBinding('class') className = 'ecl-page-header__meta';\n}\n\n/**\n * Styles individual meta items in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective {\n\n eclIcon = contentChild(EclIconComponent);\n\n /**\n * Applies 'ecl-page-header__meta-item' class to the host.\n *\n * @default 'ecl-page-header__meta-item'\n */\n @HostBinding('class') className = 'ecl-page-header__meta-item';\n\n private readonly ICON_CLASS = 'ecl-page-header__meta-icon';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const icon = this.eclIcon();\n if (icon) {\n icon.baseDirective.class = this.ICON_CLASS;\n }\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, contentChild, HostBinding, input } from '@angular/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n */\n@Component({\n selector: 'div[eclPageHeader]',\n templateUrl: './ecl-page-header-next.component.html',\n imports: [],\n})\nexport class EclPageHeaderNextComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n eclBreadcrumbComponent = contentChild(EclBreadcrumbComponent);\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb ecl-breadcrumb--wrap';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const breadcrumb = this.eclBreadcrumbComponent();\n if (breadcrumb) {\n breadcrumb.class = this.BREADCRUMB_CLASS;\n }\n }\n}\n","<ng-content></ng-content>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSectionInfo]',\n templateUrl: './ecl-page-header-section-info.component.html',\n})\nexport class EclPageHeaderSectionInfoComponent extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class') className = 'ecl-page-header__section-info ecl-container';\n}","<ng-content select=\"ecl-breadcrumb, nav[eclBreadcrumb]\"></ng-content>\n\n<div class=\"ecl-page-header__content-info\">\n <ng-content select=\"[eclPageHeaderTitle]\"></ng-content>\n <ng-content select=\"[eclPageHeaderDescriptionContainer]\"></ng-content>\n</div>\n<ng-content select=\"[eclPageHeaderMeta]\"></ng-content>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSection]',\n templateUrl: './ecl-page-header-section.component.html',\n})\nexport class EclPageHeaderSectionComponent extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class') className = 'ecl-page-header__section-description';\n}","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the title section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderTitle]',\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n /**\n * Whether the title is visible.\n *\n * @default true\n */\n readonly isTitleVisible = input(true, { transform: booleanAttribute });\n\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header__title'\n * 'ecl-u-sr-only' if the title is hidden\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header__title'),\n !this.isTitleVisible() ? 'ecl-u-sr-only' : '',\n ].join(' ').trim();\n }\n}\n\n\n/**\n * Styles the header section for the page header expandable component.\n */\n@Directive({\n selector: '[eclPageHeaderExpandableHeader]',\n})\nexport class EclPageHeaderExpandableHeaderDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable__header-text'),\n ].join(' ').trim();\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, ContentChild, HostBinding, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common'\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n * @deprecated Use `div[eclPageHeader]` instead. To be removed in v23.\n */\n@Component({\n selector: 'ecl-page-header',\n templateUrl: './ecl-page-header.component.html',\n imports: [NgTemplateOutlet],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n this.hasPicture ? 'ecl-page-header--image' : '',\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n @ContentChild(EclBreadcrumbComponent)\n eclBreadcrumbComponent: EclBreadcrumbComponent;\n\n /**\n * Reference to the background picture directive, if present.\n */\n @ContentChild(EclPageHeaderBackgroundPictureDirective)\n eclBackgroundPicture: EclPageHeaderBackgroundPictureDirective;\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb';\n\n constructor() {\n super();\n console.warn('\"ecl-page-header\" selector is deprecated; use \"div[eclPageHeader]\" instead.');\n }\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n if (this.eclBreadcrumbComponent) {\n this.eclBreadcrumbComponent.class = this.BREADCRUMB_CLASS;\n }\n }\n\n /**\n * True if a background picture exists.\n */\n get hasPicture(): boolean {\n return !!this.eclBackgroundPicture;\n }\n}\n","<ng-content select=\"[eclPageHeaderExpandable]\"></ng-content>\n@if(hasPicture){\n<div class=\"ecl-page-header__background-container\">\n <ng-content select=\"[eclPageHeaderBackgroundPicture]\"></ng-content>\n</div>\n}\n\n<div class=\"ecl-container\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective\n} from './ecl-page-header-description.directive';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderExpandableComponent } from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nimport { EclContainerDirective, EclPageHeaderContainerDirective, EclPageHeaderInfoDirective } from './ecl-page-header-info.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-meta.directive';\nimport { EclPageHeaderNextComponent } from './ecl-page-header-next/ecl-page-header-next.component';\nimport { EclPageHeaderSectionInfoComponent } from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nimport { EclPageHeaderSectionComponent } from './ecl-page-header-section/ecl-page-header-section.component';\nimport { EclPageHeaderExpandableHeaderDirective, EclPageHeaderTitleDirective } from './ecl-page-header-title.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\n\nexport * from './ecl-page-header-background.directive';\nexport * from './ecl-page-header-description.directive';\nexport * from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nexport * from './ecl-page-header-info.directive';\nexport * from './ecl-page-header-meta.directive';\nexport * from './ecl-page-header-next/ecl-page-header-next.component';\nexport * from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nexport * from './ecl-page-header-section/ecl-page-header-section.component';\nexport * from './ecl-page-header-description/ecl-page-header-description.component';\nexport * from './ecl-page-header-title.directive';\nexport * from './ecl-page-header.component';\n\nexport const EUI_ECL_PAGE_HEADER = [\n EclPageHeaderComponent,\n EclPageHeaderNextComponent,\n EclPageHeaderContainerDirective,\n EclPageHeaderExpandableComponent,\n EclPageHeaderExpandableHeaderDirective,\n EclPageHeaderInfoDirective,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n EclPageHeaderSectionComponent,\n EclPageHeaderSectionInfoComponent,\n EclContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-page-header.mjs","sources":["../../components/ecl-page-header/ecl-page-header-background.directive.ts","../../components/ecl-page-header/ecl-page-header-description.directive.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.ts","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.html","../../components/ecl-page-header/ecl-page-header-info.directive.ts","../../components/ecl-page-header/ecl-page-header-meta.directive.ts","../../components/ecl-page-header/ecl-page-header-next/ecl-page-header-next.component.ts","../../components/ecl-page-header/ecl-page-header-next/ecl-page-header-next.component.html","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.ts","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.html","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.ts","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.html","../../components/ecl-page-header/ecl-page-header-title.directive.ts","../../components/ecl-page-header/ecl-page-header.component.ts","../../components/ecl-page-header/ecl-page-header.component.html","../../components/ecl-page-header/index.ts","../../components/ecl-page-header/eui-ecl-components-ecl-page-header.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the background picture inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-picture ecl-page-header__picture-background' classes to the host.\n *\n * @default 'ecl-picture ecl-page-header__picture-background'\n */\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-background';\n}\n\n/**\n * Styles the background image inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__background' class to the host.\n *\n * @default 'ecl-page-header__background'\n */\n @HostBinding('class') className = 'ecl-page-header__background';\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n// /**\n// * Styles the container for the page header description.\n// */\n// @Directive({\n// selector: '[eclPageHeaderDescriptionContainer]',\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {\n// /**\n// * Applies 'ecl-page-header__description-container' class to the host.\n// *\n// * @default 'ecl-page-header__description-container'\n// */\n// @HostBinding('class') className = 'ecl-page-header__description-container';\n// }\n\n/**\n * Styles a picture used in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-picture ecl-page-header__picture-thumbnail' classes to the host.\n *\n * @default 'ecl-picture ecl-page-header__picture-thumbnail'\n */\n @HostBinding('class') className = 'ecl-picture ecl-page-header__picture-thumbnail';\n}\n\n/**\n * Styles a thumbnail or image in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage]',\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__description-thumbnail' class to the host.\n *\n * @default 'ecl-page-header__description-thumbnail'\n */\n @HostBinding('class') className = 'ecl-page-header__description-thumbnail';\n}\n\n/**\n * Styles the text description in the page header.\n */\n@Directive({\n selector: 'p[eclPageHeaderDescription]',\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__description' class to the host.\n *\n * @default 'ecl-page-header__description'\n */\n @HostBinding('class') className = 'ecl-page-header__description';\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n imports: [NgTemplateOutlet],\n host: {\n '[class]': '\"ecl-page-header__description-\" + position()',\n },\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n\n position = input<'top' | 'bottom'>('top');\n}\n","@if (position() === 'bottom') {\n<div class=\"ecl-container\">\n <div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n </div>\n</div>\n} @else {\n<div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n</div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { afterNextRender, Component, computed, ElementRef, HostBinding, OnDestroy, signal, viewChild } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header expandable component. As a part of the PageHeader,\n * it represents expandable content, placed at the top of the parent component.\n */\n@Component({\n selector: 'div[eclPageHeaderExpandable]',\n templateUrl: './ecl-page-header-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n})\nexport class EclPageHeaderExpandableComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable'),\n this.hasProjectedContent() ? '' : 'ecl-page-header-no-toggle']\n .join(' ')\n .trim();\n }\n\n panelId = crypto.randomUUID();\n isExpanded = signal(false);\n private readonly projectedSlot = viewChild<ElementRef<HTMLElement>>('projectedSlot');\n private readonly _hasProjectedContent = signal(false);\n readonly hasProjectedContent = computed(() => this._hasProjectedContent());\n\n private observer?: MutationObserver;\n\n constructor() {\n super();\n afterNextRender(() => {\n const el = this.projectedSlot()?.nativeElement;\n if (!el) return;\n\n const recompute = () => {\n // textContent covers both text-only and element content.\n // trim() ignores whitespace/newlines from formatting.\n this._hasProjectedContent.set((el.textContent ?? '').trim().length > 0);\n };\n\n recompute();\n\n // Optional but recommended if the projected content can change dynamically\n this.observer = new MutationObserver(recompute);\n this.observer.observe(el, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n });\n }\n\n ngOnDestroy() {\n this.observer?.disconnect();\n }\n\n onExpandButtonClick(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n}","<div class=\"ecl-page-header-expandable__header\">\n <div class=\"ecl-container ecl-page-header-expandable__container\">\n <ng-content select=\"[eclPageHeaderExpandableHeader]\"></ng-content>\n\n @if (hasProjectedContent()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" isIconOnly aria-expanded=\"{{isExpanded()}}\" type=\"submit\"\n [attr.aria-controls]=\"panelId\" class=\"ecl-page-header-expandable__toggle\" (click)=\"onExpandButtonClick()\">\n <span eclButtonLabel>expandable button</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"flip-vertical\"></ecl-icon>\n </button>\n }\n </div>\n</div>\n<div class=\"ecl-page-header-expandable__panel\" id=\"{{panelId}}\" [hidden]=\"!isExpanded()\">\n <div class=\"ecl-container ecl-page-header-expandable__container\" #projectedSlot>\n <ng-content></ng-content>\n </div>\n</div>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the info section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderInfo]',\n})\nexport class EclPageHeaderInfoDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__info' class to the host.\n *\n * @default 'ecl-page-header__info'\n */\n @HostBinding('class') className = 'ecl-page-header__info';\n}\n\n\n@Directive({\n selector: '[eclPageHeaderContainer]',\n})\nexport class EclPageHeaderContainerDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__container' class to the host.\n *\n * @default 'ecl-page-header__container'\n */\n @HostBinding('class') className = 'ecl-page-header__container';\n}\n\n@Directive({\n selector: '[eclContainer]',\n})\nexport class EclContainerDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-container' class to the host.\n *\n * @default 'ecl-container'\n */\n @HostBinding('class') className = 'ecl-container';\n}\n","import { contentChild, Directive, HostBinding, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Styles the meta section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMeta]',\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {\n /**\n * Applies 'ecl-page-header__meta' class to the host.\n *\n * @default 'ecl-page-header__meta'\n */\n @HostBinding('class') className = 'ecl-page-header__meta';\n}\n\n/**\n * Styles individual meta items in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective implements AfterContentInit {\n\n eclIcon = contentChild(EclIconComponent);\n\n /**\n * Applies 'ecl-page-header__meta-item' class to the host.\n *\n * @default 'ecl-page-header__meta-item'\n */\n @HostBinding('class') className = 'ecl-page-header__meta-item';\n\n private readonly ICON_CLASS = 'ecl-page-header__meta-icon';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const icon = this.eclIcon();\n if (icon) {\n icon.baseDirective.class = this.ICON_CLASS;\n }\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, contentChild, HostBinding, input } from '@angular/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n */\n@Component({\n selector: 'div[eclPageHeader]',\n templateUrl: './ecl-page-header-next.component.html',\n imports: [],\n})\nexport class EclPageHeaderNextComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n eclBreadcrumbComponent = contentChild(EclBreadcrumbComponent);\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb ecl-breadcrumb--wrap';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const breadcrumb = this.eclBreadcrumbComponent();\n if (breadcrumb) {\n breadcrumb.class = this.BREADCRUMB_CLASS;\n }\n }\n}\n","<ng-content></ng-content>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSectionInfo]',\n templateUrl: './ecl-page-header-section-info.component.html',\n})\nexport class EclPageHeaderSectionInfoComponent extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class') className = 'ecl-page-header__section-info ecl-container';\n}","<ng-content select=\"ecl-breadcrumb, nav[eclBreadcrumb]\"></ng-content>\n\n<div class=\"ecl-page-header__content-info\">\n <ng-content select=\"[eclPageHeaderTitle]\"></ng-content>\n <ng-content select=\"[eclPageHeaderDescriptionContainer]\"></ng-content>\n</div>\n<ng-content select=\"[eclPageHeaderMeta]\"></ng-content>","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSection]',\n templateUrl: './ecl-page-header-section.component.html',\n})\nexport class EclPageHeaderSectionComponent extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class') className = 'ecl-page-header__section-description';\n}","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the title section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderTitle]',\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n /**\n * Whether the title is visible.\n *\n * @default true\n */\n readonly isTitleVisible = input(true, { transform: booleanAttribute });\n\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header__title'\n * 'ecl-u-sr-only' if the title is hidden\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header__title'),\n !this.isTitleVisible() ? 'ecl-u-sr-only' : '',\n ].join(' ').trim();\n }\n}\n\n\n/**\n * Styles the header section for the page header expandable component.\n */\n@Directive({\n selector: '[eclPageHeaderExpandableHeader]',\n})\nexport class EclPageHeaderExpandableHeaderDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable__header-text'),\n ].join(' ').trim();\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, HostBinding, input, contentChild } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common'\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n * @deprecated Use `div[eclPageHeader]` instead. To be removed in v23.\n */\n@Component({\n selector: 'ecl-page-header',\n templateUrl: './ecl-page-header.component.html',\n imports: [NgTemplateOutlet],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n this.hasPicture ? 'ecl-page-header--image' : '',\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n readonly eclBreadcrumbComponent = contentChild(EclBreadcrumbComponent);\n\n /**\n * Reference to the background picture directive, if present.\n */\n readonly eclBackgroundPicture = contentChild(EclPageHeaderBackgroundPictureDirective);\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb';\n\n constructor() {\n super();\n console.warn('\"ecl-page-header\" selector is deprecated; use \"div[eclPageHeader]\" instead.');\n }\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const eclBreadcrumbComponent = this.eclBreadcrumbComponent();\n if (eclBreadcrumbComponent) {\n eclBreadcrumbComponent.class = this.BREADCRUMB_CLASS;\n }\n }\n\n /**\n * True if a background picture exists.\n */\n get hasPicture(): boolean {\n return !!this.eclBackgroundPicture();\n }\n}\n","<ng-content select=\"[eclPageHeaderExpandable]\"></ng-content>\n@if(hasPicture){\n<div class=\"ecl-page-header__background-container\">\n <ng-content select=\"[eclPageHeaderBackgroundPicture]\"></ng-content>\n</div>\n}\n\n<div class=\"ecl-container\">\n <ng-container *ngTemplateOutlet=\"content\"> </ng-container>\n</div>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-background.directive';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from './ecl-page-header-description.directive';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderExpandableComponent } from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nimport { EclContainerDirective, EclPageHeaderContainerDirective, EclPageHeaderInfoDirective } from './ecl-page-header-info.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-meta.directive';\nimport { EclPageHeaderNextComponent } from './ecl-page-header-next/ecl-page-header-next.component';\nimport { EclPageHeaderSectionInfoComponent } from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nimport { EclPageHeaderSectionComponent } from './ecl-page-header-section/ecl-page-header-section.component';\nimport { EclPageHeaderExpandableHeaderDirective, EclPageHeaderTitleDirective } from './ecl-page-header-title.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\n\nexport * from './ecl-page-header-background.directive';\nexport * from './ecl-page-header-description.directive';\nexport * from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nexport * from './ecl-page-header-info.directive';\nexport * from './ecl-page-header-meta.directive';\nexport * from './ecl-page-header-next/ecl-page-header-next.component';\nexport * from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nexport * from './ecl-page-header-section/ecl-page-header-section.component';\nexport * from './ecl-page-header-description/ecl-page-header-description.component';\nexport * from './ecl-page-header-title.directive';\nexport * from './ecl-page-header.component';\n\nexport const EUI_ECL_PAGE_HEADER = [\n EclPageHeaderComponent,\n EclPageHeaderNextComponent,\n EclPageHeaderContainerDirective,\n EclPageHeaderExpandableComponent,\n EclPageHeaderExpandableHeaderDirective,\n EclPageHeaderInfoDirective,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n EclPageHeaderSectionComponent,\n EclPageHeaderSectionInfoComponent,\n EclContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAGA;;AAEG;AAIG,MAAO,uCAAwC,SAAQ,gBAAgB,CAAA;AAH7E,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,iDAAiD;AACtF,IAAA;8GAPY,uCAAuC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAHnD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kCAAkC;AAC/C,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAGxB;;AAEG;AAIG,MAAO,qCAAsC,SAAQ,gBAAgB,CAAA;AAH3E,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,6BAA6B;AAClE,IAAA;8GAPY,qCAAqC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArC,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAHjD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC7C,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;;AC3BxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;AAEG;AAIG,MAAO,wCAAyC,SAAQ,gBAAgB,CAAA;AAH9E,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,gDAAgD;AACrF,IAAA;8GAPY,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxC,wCAAwC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxC,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBAHpD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mCAAmC;AAChD,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAGxB;;AAEG;AAIG,MAAO,0CAA2C,SAAQ,gBAAgB,CAAA;AAHhF,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,wCAAwC;AAC7E,IAAA;8GAPY,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1C,0CAA0C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yEAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1C,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAHtD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yEAAyE;AACtF,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAGxB;;AAEG;AAIG,MAAO,iCAAkC,SAAQ,gBAAgB,CAAA;AAHvE,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,8BAA8B;AACnE,IAAA;8GAPY,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AAC1C,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;;AChDlB,MAAO,0CAA2C,SAAQ,gBAAgB,CAAA;AARhF,IAAA,WAAA,GAAA;;QAUI,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAmB,KAAK;qFAAC;AAC5C,IAAA;8GAHY,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1C,0CAA0C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gDAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZvD,ibAcc,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPA,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKjB,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBARtD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,EAAA,OAAA,EAEzC,CAAC,gBAAgB,CAAC,EAAA,IAAA,EACrB;AACF,wBAAA,SAAS,EAAE,8CAA8C;AAC5D,qBAAA,EAAA,QAAA,EAAA,ibAAA,EAAA;;;AELL;;;AAGG;AAMG,MAAO,gCAAiC,SAAQ,gBAAgB,CAAA;AAClE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC;YACjD,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG;AAA4B;aAC7D,IAAI,CAAC,GAAG;AACR,aAAA,IAAI,EAAE;IACf;AAUA,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AATX,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE;QAC7B,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,KAAK;uFAAC;QACT,IAAA,CAAA,aAAa,GAAG,SAAS,CAA0B,eAAe;0FAAC;QACnE,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,KAAK;iGAAC;QAC5C,IAAA,CAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE;gGAAC;QAMtE,eAAe,CAAC,MAAK;YACjB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,EAAE,aAAa;AAC9C,YAAA,IAAI,CAAC,EAAE;gBAAE;YAET,MAAM,SAAS,GAAG,MAAK;;;gBAGnB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3E,YAAA,CAAC;AAED,YAAA,SAAS,EAAE;;YAGX,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC;AAC/C,YAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE;AACtB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,aAAa,EAAE,IAAI;AACtB,aAAA,CAAC;AACN,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;IAC/B;IAEA,mBAAmB,GAAA;QACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3C;8GAnDS,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,qSCd7C,u6BAiBM,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDHO,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,WAE/B,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC,EAAA,QAAA,EAAA,u6BAAA,EAAA;;sBAM5C,WAAW;uBAAC,OAAO;6DAWgD,eAAe,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE1BvF;;AAEG;AAIG,MAAO,0BAA2B,SAAQ,gBAAgB,CAAA;AAHhE,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,uBAAuB;AAC5D,IAAA;8GAPY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAOlB,MAAO,+BAAgC,SAAQ,gBAAgB,CAAA;AAHrE,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,4BAA4B;AACjE,IAAA;8GAPY,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACvC,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAMlB,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAH3D,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,eAAe;AACpD,IAAA;8GAPY,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC7B,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;;ACpCxB;;AAEG;AAIG,MAAO,0BAA2B,SAAQ,gBAAgB,CAAA;AAHhE,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,uBAAuB;AAC5D,IAAA;8GAPY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA;;sBAOI,WAAW;uBAAC,OAAO;;AAGxB;;AAEG;AAIG,MAAO,8BAA+B,SAAQ,gBAAgB,CAAA;AAHpE,IAAA,WAAA,GAAA;;QAKI,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,gBAAgB;oFAAC;AAExC;;;;AAIG;QACmB,IAAA,CAAA,SAAS,GAAG,4BAA4B;QAE7C,IAAA,CAAA,UAAU,GAAG,4BAA4B;AAW7D,IAAA;AATG;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;QAC3B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU;QAC9C;IACJ;8GArBS,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,6KAEhB,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAF9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACtC,iBAAA;4FAG0B,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA;sBAOtC,WAAW;uBAAC,OAAO;;;AC9BxB;;AAEG;AAMG,MAAO,0BAA2B,SAAQ,gBAAgB,CAAA;AALhE,IAAA,WAAA,GAAA;;AAyBI;;AAEG;QACH,IAAA,CAAA,sBAAsB,GAAG,YAAY,CAAC,sBAAsB;mGAAC;;QAG7D,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC7D,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAmB,KAAK;gGAAC;QACpD,IAAA,CAAA,eAAe,GAAG,KAAK,CAA8B,KAAK;4FAAC;QAE1C,IAAA,CAAA,gBAAgB,GAAG,kDAAkD;AAWzF,IAAA;AAxCG;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC;;YAEtC,IAAI,CAAC,aAAa,EAAE,GAAG,6BAA6B,GAAG,EAAE;AACzD,YAAA,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAA,6BAAA,EAAgC,IAAI,CAAC,mBAAmB,EAAE,CAAA,CAAE,GAAG,EAAE;AAC9F,YAAA,IAAI,CAAC,eAAe,EAAE,GAAG,CAAA,yBAAA,EAA4B,IAAI,CAAC,eAAe,EAAE,CAAA,CAAE,GAAG,EAAE;AACrF;aACI,IAAI,CAAC,GAAG;AACR,aAAA,IAAI,EAAE;IACf;AAcA;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAChD,IAAI,UAAU,EAAE;AACZ,YAAA,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB;QAC5C;IACJ;8GAxCS,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAuBG,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnChE,2BAAyB,EAAA,CAAA,CAAA;;2FDYZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,WAErB,EAAE,EAAA,QAAA,EAAA,2BAAA,EAAA;;sBASV,WAAW;uBAAC,OAAO;6FAgBkB,sBAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE5B1D,MAAO,iCAAkC,SAAQ,gBAAgB,CAAA;AAJvE,IAAA,WAAA,GAAA;;AAKI;;AAEG;QACkB,IAAA,CAAA,SAAS,GAAG,6CAA6C;AACjF,IAAA;8GALY,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,qKCP9C,yUAMsD,EAAA,CAAA,CAAA;;2FDCzC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;+BACI,+BAA+B,EAAA,QAAA,EAAA,yUAAA,EAAA;;sBAOzC,WAAW;uBAAC,OAAO;;;AEJjB,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AAJnE,IAAA,WAAA,GAAA;;AAKI;;AAEG;QACkB,IAAA,CAAA,SAAS,GAAG,sCAAsC;AAC1E,IAAA;8GALY,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,iKCP1C,sEAEM,EAAA,CAAA,CAAA;;2FDKO,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;+BACI,2BAA2B,EAAA,QAAA,EAAA,sEAAA,EAAA;;sBAOrC,WAAW;uBAAC,OAAO;;;AERvB;;AAEG;AAIG,MAAO,2BAA4B,SAAQ,gBAAgB,CAAA;AAHjE,IAAA,WAAA,GAAA;;AAII;;;;AAIG;QACM,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,IAAI,sFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAezE,IAAA;AAbG;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC;YAC7C,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,eAAe,GAAG,EAAE;AAChD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;8GApBS,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AACnC,iBAAA;;sBAeI,WAAW;uBAAC,OAAO;;AAUxB;;AAEG;AAIG,MAAO,sCAAuC,SAAQ,gBAAgB,CAAA;AACxE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,yCAAyC,CAAC;AACjE,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;8GATS,sCAAsC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtC,sCAAsC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAHlD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iCAAiC;AAC9C,iBAAA;;sBAKI,WAAW;uBAAC,OAAO;;;ACrCxB;;;AAGG;AAaG,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AACxD;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO;AACH,YAAA,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC;YACtC,IAAI,CAAC,aAAa,EAAE,GAAG,6BAA6B,GAAG,EAAE;AACzD,YAAA,IAAI,CAAC,mBAAmB,EAAE,GAAG,CAAA,6BAAA,EAAgC,IAAI,CAAC,mBAAmB,EAAE,CAAA,CAAE,GAAG,EAAE;AAC9F,YAAA,IAAI,CAAC,eAAe,EAAE,GAAG,CAAA,yBAAA,EAA4B,IAAI,CAAC,eAAe,EAAE,CAAA,CAAE,GAAG,EAAE;YAClF,IAAI,CAAC,UAAU,GAAG,wBAAwB,GAAG,EAAE;;AAElD;aACI,IAAI,CAAC,GAAG;AACR,aAAA,IAAI,EAAE;IACf;AAmBA,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAlBX;;AAEG;QACM,IAAA,CAAA,sBAAsB,GAAG,YAAY,CAAC,sBAAsB;mGAAC;AAEtE;;AAEG;QACM,IAAA,CAAA,oBAAoB,GAAG,YAAY,CAAC,uCAAuC;iGAAC;;QAGrF,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAC7D,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAmB,KAAK;gGAAC;QACpD,IAAA,CAAA,eAAe,GAAG,KAAK,CAA8B,KAAK;4FAAC;QAE1C,IAAA,CAAA,gBAAgB,GAAG,6BAA6B;AAI7D,QAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC;IAC/F;AAEA;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE;QAC5D,IAAI,sBAAsB,EAAE;AACxB,YAAA,sBAAsB,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB;QACxD;IACJ;AAEA;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;IACxC;8GA1DS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,yoBAwBgB,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKxB,uCAAuC,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnDxF,mZAac,gFDAA,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FASjB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAElB,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,mZAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;sBAgB1B,WAAW;uBAAC,OAAO;AAiB2B,aAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,sBAAsB,sGAKxB,uCAAuC,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEvBjF,MAAM,mBAAmB,GAAG;IAC/B,sBAAsB;IACtB,0BAA0B;IAC1B,+BAA+B;IAC/B,gCAAgC;IAChC,sCAAsC;IACtC,0BAA0B;IAC1B,0BAA0B;IAC1B,8BAA8B;IAC9B,2BAA2B;IAC3B,iCAAiC;IACjC,0CAA0C;IAC1C,0CAA0C;IAC1C,wCAAwC;IACxC,uCAAuC;IACvC,qCAAqC;IACrC,6BAA6B;IAC7B,iCAAiC;IACjC,qBAAqB;;;AC9CzB;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, input, booleanAttribute, output, Input, HostBinding, ViewEncapsulation, Component, Directive, numberAttribute,
|
|
2
|
+
import { inject, ElementRef, input, booleanAttribute, output, Input, HostBinding, ViewEncapsulation, Component, Directive, numberAttribute, contentChild } from '@angular/core';
|
|
3
3
|
import { RouterLink, RouterLinkWithHref } from '@angular/router';
|
|
4
4
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
5
5
|
import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
|
|
@@ -263,6 +263,11 @@ class EclPaginationComponent extends ECLBaseDirective {
|
|
|
263
263
|
* Sets the ARIA role to indicate navigation.
|
|
264
264
|
*/
|
|
265
265
|
this.role = 'navigation';
|
|
266
|
+
/**
|
|
267
|
+
* Reference to the pagination list directive inside the component's content.
|
|
268
|
+
*/
|
|
269
|
+
this.eclPaginationList = contentChild(EclPaginationListDirective, /* @ts-ignore */
|
|
270
|
+
...(ngDevMode ? [{ debugName: "eclPaginationList" }] : /* istanbul ignore next */ []));
|
|
266
271
|
/**
|
|
267
272
|
* Internal pagination model storing pagination data and logic.
|
|
268
273
|
*/
|
|
@@ -297,7 +302,7 @@ class EclPaginationComponent extends ECLBaseDirective {
|
|
|
297
302
|
* Returns true if the pagination list exists in the template.
|
|
298
303
|
*/
|
|
299
304
|
get hasList() {
|
|
300
|
-
return !!this.eclPaginationList;
|
|
305
|
+
return !!this.eclPaginationList();
|
|
301
306
|
}
|
|
302
307
|
/**
|
|
303
308
|
* Navigates to the previous page and emits a page change event.
|
|
@@ -336,7 +341,7 @@ class EclPaginationComponent extends ECLBaseDirective {
|
|
|
336
341
|
this.page.emit(evt);
|
|
337
342
|
}
|
|
338
343
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclPaginationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
339
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclPaginationComponent, isStandalone: true, selector: "ecl-pagination", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageWindowSize: { classPropertyName: "pageWindowSize", publicName: "pageWindowSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "page" }, host: { properties: { "class.ecl-pagination": "this.cmpClass", "attr.role": "this.role" } }, queries: [{ propertyName: "eclPaginationList", first: true, predicate: EclPaginationListDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EclPaginationItemComponent, selector: "li[eclPaginationItem]", inputs: ["label", "ariaLabel", "pagesCount", "isCurrent", "isNext", "isPrevious", "isTruncated", "routerLink", "queryParams", "queryParamsHandling", "href"], outputs: ["pageClick"] }] }); }
|
|
344
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclPaginationComponent, isStandalone: true, selector: "ecl-pagination", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, currentPage: { classPropertyName: "currentPage", publicName: "currentPage", isSignal: true, isRequired: false, transformFunction: null }, pageWindowSize: { classPropertyName: "pageWindowSize", publicName: "pageWindowSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "page" }, host: { properties: { "class.ecl-pagination": "this.cmpClass", "attr.role": "this.role" } }, queries: [{ propertyName: "eclPaginationList", first: true, predicate: EclPaginationListDirective, descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EclPaginationItemComponent, selector: "li[eclPaginationItem]", inputs: ["label", "ariaLabel", "pagesCount", "isCurrent", "isNext", "isPrevious", "isTruncated", "routerLink", "queryParams", "queryParamsHandling", "href"], outputs: ["pageClick"] }] }); }
|
|
340
345
|
}
|
|
341
346
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclPaginationComponent, decorators: [{
|
|
342
347
|
type: Component,
|
|
@@ -347,10 +352,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
347
352
|
}], role: [{
|
|
348
353
|
type: HostBinding,
|
|
349
354
|
args: ['attr.role']
|
|
350
|
-
}], eclPaginationList: [{
|
|
351
|
-
type: ContentChild,
|
|
352
|
-
args: [EclPaginationListDirective]
|
|
353
|
-
}] } });
|
|
355
|
+
}], eclPaginationList: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclPaginationListDirective), { isSignal: true }] }] } });
|
|
354
356
|
|
|
355
357
|
const EUI_ECL_PAGINATION = [
|
|
356
358
|
EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-pagination.mjs","sources":["../../components/ecl-pagination/ecl-pagination-item.component.ts","../../components/ecl-pagination/ecl-pagination-item.component.html","../../components/ecl-pagination/ecl-pagination-list.directive.ts","../../components/ecl-pagination/events/ecl-pagination.event.ts","../../components/ecl-pagination/ecl-pagination.component.ts","../../components/ecl-pagination/ecl-pagination.component.html","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input, ViewEncapsulation, booleanAttribute, inject, output, input } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Event emitted when a pagination item is clicked.\n */\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterLink, RouterLinkWithHref, TranslatePipe, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent() ? 'ecl-pagination__item--current' : '',\n this.isNext() ? 'ecl-pagination__item--next' : '',\n this.isPrevious() ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Sets the `role` attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Text content of the pagination item.\n */\n readonly label = input<string>(undefined);\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n readonly ariaLabel = input<string>(undefined);\n\n /**\n * Total number of pages displayed by the pagination component.\n */\n @Input() pagesCount: string;\n\n /**\n * Adds the `ecl-pagination__item--current` class when true.\n */\n readonly isCurrent = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n readonly isNext = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n readonly isPrevious = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--truncation` class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-pagination__item--truncation') isTruncated = false;\n\n /**\n * Router navigation link for Angular routing.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters for the router link.\n */\n readonly queryParams = input<Params | null>(null);\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n readonly queryParamsHandling = input<QueryParamsHandling>(null);\n\n /**\n * Href link for navigation.\n */\n readonly href = input<string>(null);\n\n /**\n * Emits when the pagination item is clicked.\n */\n readonly pageClick = output<EclPaginationItemClickEvent>();\n\n get anchorRole(): string | null {\n return !this.href() && !this.routerLink ? 'button' : null;\n }\n\n /**\n * Adds relevant classes to the host element.\n */\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-pagination-item') {\n console.warn('\"ecl-pagination-item\" selector is deprecated; use \"li[eclPaginationItem]\" instead.');\n }\n }\n\n /**\n * Returns true if this item is an icon-only element (previous or next page).\n */\n get isIconOnly(): boolean {\n return this.isPrevOrNextVisible();\n }\n\n /**\n * Handles the click event and emits the `pageClick` output.\n * Prevents event propagation if no href is defined.\n *\n * @param evt Event object from the DOM click event.\n */\n onPageClick(evt: Event): void {\n this.pageClick.emit(new EclPaginationItemClickEvent());\n if (!this.href()) {\n evt.stopPropagation();\n }\n }\n\n /**\n * Returns the i18n translation key for the ARIA label.\n */\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext()) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious()) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n /**\n * Returns the i18n translation key for the visible label.\n */\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext()) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious()) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n\n /**\n * Returns true if the item is either previous or next.\n */\n isPrevOrNextVisible(): boolean {\n return this.isPrevious() || this.isNext();\n }\n}\n","@if (!isCurrent() && !isTruncated) {\n@if(routerLink){\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel() || geti18nPageAriaLabelKey() | translate: { pageNumber: label() } }}\" [attr.role]=\"anchorRole\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams()\" [queryParamsHandling]=\"queryParamsHandling()\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\">\n @if (isPrevious()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label() || geti18nPageLabelKey() | translate }}</span>\n @if (isNext()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n\n@if (!routerLink) {\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel() || geti18nPageAriaLabelKey() | translate: { pageNumber: label() } }}\" [attr.href]=\"href()\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\" [attr.role]=\"anchorRole\">\n @if (isPrevious()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label() || geti18nPageLabelKey() | translate }}</span>\n @if (isNext()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n}\n\n@else if (isTruncated) {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label() }}\n</span>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label() }}\n</span>\n\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label() } }}\n @if(pagesCount) {\n {{ 'ecl.common.OF' | translate}} {{pagesCount}}\n }\n</span>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply ECL styles to the pagination list element.\n * Adds the `ecl-pagination__list` class to the host element.\n */\n@Directive({\n selector: '[eclPaginationList]',\n})\nexport class EclPaginationListDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-pagination__list` class to the host element.\n */\n @HostBinding('class.ecl-pagination__list') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by EclPaginationComponent when the page changes.\n * Contains information about the current page and visible item range.\n */\nexport class EclPaginationEvent extends EclBaseEvent {\n /**\n * Current page number after the change.\n */\n constructor(\n public readonly page: number,\n\n /**\n * Index of the first item shown on the current page.\n */\n public readonly showingFrom: number,\n\n /**\n * Index of the last item shown on the current page.\n */\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n","import { Component, ContentChild, HostBinding, OnChanges, OnInit, numberAttribute, output, input } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPaginationEvent } from './events/ecl-pagination.event';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\n\n/**\n * Component rendering the ECL pagination.\n * Supports manual and automatic modes.\n * Emits page change events and manages pagination logic.\n */\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n imports: [NgTemplateOutlet, EclPaginationItemComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n /**\n * Defines the pagination mode.\n * - `manual` - component waits for external events to change pages.\n * - `auto` - component manages the pages automatically based on inputs.\n */\n readonly mode = input<'manual' | 'auto'>('manual');\n\n /**\n * Total number of items in the list.\n */\n readonly totalItems = input<number, unknown>(DefaultConfig.totalItems, { transform: numberAttribute });\n\n /**\n * Number of items displayed on a single page.\n */\n readonly pageSize = input<number, unknown>(DefaultConfig.pageSize, { transform: numberAttribute });\n\n /**\n * Currently selected page number.\n */\n readonly currentPage = input<number, unknown>(DefaultConfig.currentPage, { transform: numberAttribute });\n\n /**\n * Number of pagination links visible around the current page.\n */\n readonly pageWindowSize = input<number, unknown>(DefaultConfig.pageWindowSize, { transform: numberAttribute });\n\n /**\n * Emits a pagination event each time the page changes.\n */\n readonly page = output<EclPaginationEvent>();\n\n /**\n * Adds the `ecl-pagination` class to the host element.\n */\n @HostBinding('class.ecl-pagination') cmpClass = true;\n\n /**\n * Sets the ARIA role to indicate navigation.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Reference to the pagination list directive inside the component's content.\n */\n @ContentChild(EclPaginationListDirective) eclPaginationList: EclPaginationListDirective;\n\n /**\n * Internal pagination model storing pagination data and logic.\n */\n public model = EuiPagination.create();\n\n /**\n * Lifecycle hook that runs once after component initialization.\n * In automatic mode, triggers an initial page event.\n */\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n /**\n * Lifecycle hook called on input changes.\n * Re-creates the pagination model in automatic mode.\n */\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems(),\n pageSize: this.pageSize(),\n currentPage: this.currentPage(),\n pageWindowSize: this.pageWindowSize(),\n });\n }\n }\n\n /**\n * Returns true if the pagination list exists in the template.\n */\n get hasList(): boolean {\n return !!this.eclPaginationList;\n }\n \n /**\n * Navigates to the previous page and emits a page change event.\n */\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to the next page and emits a page change event.\n */\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to a specific page and emits a page change event.\n *\n * @param page The page number to navigate to.\n */\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n /**\n * Checks if the component is in automatic mode.\n */\n isModeAuto(): boolean {\n return this.mode() === 'auto';\n }\n\n /**\n * Emits the page change event with the current pagination state.\n */\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.emit(evt);\n }\n}\n","@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>","import { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nexport * from './ecl-pagination.component';\nexport * from './ecl-pagination-item.component';\nexport * from './events/ecl-pagination.event';\nexport * from './ecl-pagination-list.directive';\n\nexport const EUI_ECL_PAGINATION = [\n EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-pagination.mjs","sources":["../../components/ecl-pagination/ecl-pagination-item.component.ts","../../components/ecl-pagination/ecl-pagination-item.component.html","../../components/ecl-pagination/ecl-pagination-list.directive.ts","../../components/ecl-pagination/events/ecl-pagination.event.ts","../../components/ecl-pagination/ecl-pagination.component.ts","../../components/ecl-pagination/ecl-pagination.component.html","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input, ViewEncapsulation, booleanAttribute, inject, output, input } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\n/**\n * Event emitted when a pagination item is clicked.\n */\nexport class EclPaginationItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterLink, RouterLinkWithHref, TranslatePipe, ...EUI_ECL_ICON, ...EUI_ECL_LINK],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclPaginationItemComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-pagination__item'),\n this.isCurrent() ? 'ecl-pagination__item--current' : '',\n this.isNext() ? 'ecl-pagination__item--next' : '',\n this.isPrevious() ? 'ecl-pagination__item--previous' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Sets the `role` attribute for accessibility.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Text content of the pagination item.\n */\n readonly label = input<string>(undefined);\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n readonly ariaLabel = input<string>(undefined);\n\n /**\n * Total number of pages displayed by the pagination component.\n */\n @Input() pagesCount: string;\n\n /**\n * Adds the `ecl-pagination__item--current` class when true.\n */\n readonly isCurrent = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n readonly isNext = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n readonly isPrevious = input<boolean, unknown>(undefined, { transform: booleanAttribute });\n\n /**\n * Adds the `ecl-pagination__item--truncation` class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-pagination__item--truncation') isTruncated = false;\n\n /**\n * Router navigation link for Angular routing.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() routerLink: string | any[] = null;\n\n /**\n * Query parameters for the router link.\n */\n readonly queryParams = input<Params | null>(null);\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n readonly queryParamsHandling = input<QueryParamsHandling>(null);\n\n /**\n * Href link for navigation.\n */\n readonly href = input<string>(null);\n\n /**\n * Emits when the pagination item is clicked.\n */\n readonly pageClick = output<EclPaginationItemClickEvent>();\n\n get anchorRole(): string | null {\n return !this.href() && !this.routerLink ? 'button' : null;\n }\n\n /**\n * Adds relevant classes to the host element.\n */\n constructor() {\n super();\n const el = this.el;\n\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-pagination-item') {\n console.warn('\"ecl-pagination-item\" selector is deprecated; use \"li[eclPaginationItem]\" instead.');\n }\n }\n\n /**\n * Returns true if this item is an icon-only element (previous or next page).\n */\n get isIconOnly(): boolean {\n return this.isPrevOrNextVisible();\n }\n\n /**\n * Handles the click event and emits the `pageClick` output.\n * Prevents event propagation if no href is defined.\n *\n * @param evt Event object from the DOM click event.\n */\n onPageClick(evt: Event): void {\n this.pageClick.emit(new EclPaginationItemClickEvent());\n if (!this.href()) {\n evt.stopPropagation();\n }\n }\n\n /**\n * Returns the i18n translation key for the ARIA label.\n */\n geti18nPageAriaLabelKey(): string {\n let key = '';\n\n if (this.isNext()) {\n key = 'ecl.pagination.GO-TO-NEXT-PAGE';\n } else if (this.isPrevious()) {\n key = 'ecl.pagination.GO-TO-PREV-PAGE';\n } else {\n key = 'ecl.pagination.GO-TO-PAGE';\n }\n return key;\n }\n\n /**\n * Returns the i18n translation key for the visible label.\n */\n geti18nPageLabelKey(): string {\n let key = '';\n\n if (this.isNext()) {\n key = 'ecl.pagination.NEXT';\n } else if (this.isPrevious()) {\n key = 'ecl.pagination.PREVIOUS';\n }\n return key;\n }\n\n /**\n * Returns true if the item is either previous or next.\n */\n isPrevOrNextVisible(): boolean {\n return this.isPrevious() || this.isNext();\n }\n}\n","@if (!isCurrent() && !isTruncated) {\n@if(routerLink){\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel() || geti18nPageAriaLabelKey() | translate: { pageNumber: label() } }}\" [attr.role]=\"anchorRole\"\n [routerLink]=\"routerLink\" [queryParams]=\"queryParams()\" [queryParamsHandling]=\"queryParamsHandling()\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\">\n @if (isPrevious()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label() || geti18nPageLabelKey() | translate }}</span>\n @if (isNext()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n\n@if (!routerLink) {\n<a eclLink [isIconOnly]=\"isIconOnly\" (keydown.enter)=\"onPageClick($event)\" (click)=\"onPageClick($event)\" variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel() || geti18nPageAriaLabelKey() | translate: { pageNumber: label() } }}\" [attr.href]=\"href()\"\n class=\"ecl-pagination__link eui-ecl-u-cursor-pointer\" tabindex=\"{{tabindex ? tabindex : 0}}\" [attr.role]=\"anchorRole\">\n @if (isPrevious()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n }\n <span eclLinkLabel>{{ label() || geti18nPageLabelKey() | translate }}</span>\n @if (isNext()) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n }\n</a>\n}\n}\n\n@else if (isTruncated) {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label() }}\n</span>\n}\n@else {\n<span class=\"ecl-pagination__text ecl-pagination__text--summary\" aria-current=\"true\">\n {{ label() }}\n</span>\n\n<span class=\"ecl-pagination__text ecl-pagination__text--full\" aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate: { pageNumber: label() } }}\n @if(pagesCount) {\n {{ 'ecl.common.OF' | translate}} {{pagesCount}}\n }\n</span>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply ECL styles to the pagination list element.\n * Adds the `ecl-pagination__list` class to the host element.\n */\n@Directive({\n selector: '[eclPaginationList]',\n})\nexport class EclPaginationListDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-pagination__list` class to the host element.\n */\n @HostBinding('class.ecl-pagination__list') hasClass = true;\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by EclPaginationComponent when the page changes.\n * Contains information about the current page and visible item range.\n */\nexport class EclPaginationEvent extends EclBaseEvent {\n /**\n * Current page number after the change.\n */\n constructor(\n public readonly page: number,\n\n /**\n * Index of the first item shown on the current page.\n */\n public readonly showingFrom: number,\n\n /**\n * Index of the last item shown on the current page.\n */\n public readonly showingTo: number,\n ) {\n super();\n }\n}\n","import { Component, HostBinding, OnChanges, OnInit, numberAttribute, output, input, contentChild } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { DefaultConfig, EuiPagination } from '@eui/base';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPaginationEvent } from './events/ecl-pagination.event';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\n\n/**\n * Component rendering the ECL pagination.\n * Supports manual and automatic modes.\n * Emits page change events and manages pagination logic.\n */\n@Component({\n selector: 'ecl-pagination',\n templateUrl: './ecl-pagination.component.html',\n imports: [NgTemplateOutlet, EclPaginationItemComponent],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclPaginationComponent extends ECLBaseDirective implements OnInit, OnChanges {\n /**\n * Defines the pagination mode.\n * - `manual` - component waits for external events to change pages.\n * - `auto` - component manages the pages automatically based on inputs.\n */\n readonly mode = input<'manual' | 'auto'>('manual');\n\n /**\n * Total number of items in the list.\n */\n readonly totalItems = input<number, unknown>(DefaultConfig.totalItems, { transform: numberAttribute });\n\n /**\n * Number of items displayed on a single page.\n */\n readonly pageSize = input<number, unknown>(DefaultConfig.pageSize, { transform: numberAttribute });\n\n /**\n * Currently selected page number.\n */\n readonly currentPage = input<number, unknown>(DefaultConfig.currentPage, { transform: numberAttribute });\n\n /**\n * Number of pagination links visible around the current page.\n */\n readonly pageWindowSize = input<number, unknown>(DefaultConfig.pageWindowSize, { transform: numberAttribute });\n\n /**\n * Emits a pagination event each time the page changes.\n */\n readonly page = output<EclPaginationEvent>();\n\n /**\n * Adds the `ecl-pagination` class to the host element.\n */\n @HostBinding('class.ecl-pagination') cmpClass = true;\n\n /**\n * Sets the ARIA role to indicate navigation.\n */\n @HostBinding('attr.role') role = 'navigation';\n\n /**\n * Reference to the pagination list directive inside the component's content.\n */\n readonly eclPaginationList = contentChild(EclPaginationListDirective);\n\n /**\n * Internal pagination model storing pagination data and logic.\n */\n public model = EuiPagination.create();\n\n /**\n * Lifecycle hook that runs once after component initialization.\n * In automatic mode, triggers an initial page event.\n */\n ngOnInit(): void {\n if (this.isModeAuto()) {\n setTimeout(() => {\n this.firePageEvent();\n });\n }\n }\n\n /**\n * Lifecycle hook called on input changes.\n * Re-creates the pagination model in automatic mode.\n */\n ngOnChanges(): void {\n if (this.isModeAuto()) {\n this.model = EuiPagination.create({\n totalItems: this.totalItems(),\n pageSize: this.pageSize(),\n currentPage: this.currentPage(),\n pageWindowSize: this.pageWindowSize(),\n });\n }\n }\n\n /**\n * Returns true if the pagination list exists in the template.\n */\n get hasList(): boolean {\n return !!this.eclPaginationList();\n }\n \n /**\n * Navigates to the previous page and emits a page change event.\n */\n onPreviousPage(): void {\n this.model.goToPreviousPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to the next page and emits a page change event.\n */\n onNextPage(): void {\n this.model.goToNextPage();\n this.firePageEvent();\n }\n\n /**\n * Navigates to a specific page and emits a page change event.\n *\n * @param page The page number to navigate to.\n */\n onPage(page: number): void {\n this.model.goToPage(page);\n this.firePageEvent();\n }\n\n /**\n * Checks if the component is in automatic mode.\n */\n isModeAuto(): boolean {\n return this.mode() === 'auto';\n }\n\n /**\n * Emits the page change event with the current pagination state.\n */\n private firePageEvent(): void {\n const evt = new EclPaginationEvent(this.model.getCurrentPage(), this.model.getShowingFrom(), this.model.getShowingTo());\n\n this.page.emit(evt);\n }\n}\n","@if(!hasList) {\n <ul class=\"ecl-pagination__list\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ul>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n \n <ng-template #content>\n @if (isModeAuto()){\n @if(model.hasPreviousPage()){\n <li eclPaginationItem [isPrevious]=\"true\" (pageClick)=\"onPreviousPage()\"> </li>\n }\n @for (page of model.getPages(); track page) {\n <li eclPaginationItem\n [label]=\"page.toString()\"\n [isCurrent]=\"model.getCurrentPage() === page\"\n (pageClick)=\"onPage(page)\"\n [pagesCount]=\"model.getPagesCount().toString()\">\n </li>\n }\n \n @if(model.hasNextPage()){\n <li eclPaginationItem [isNext]=\"true\" (pageClick)=\"onNextPage()\"> </li>\n }\n }\n \n @if(!isModeAuto()) {\n <ng-content></ng-content>\n }\n </ng-template>","import { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nexport * from './ecl-pagination.component';\nexport * from './ecl-pagination-item.component';\nexport * from './events/ecl-pagination.event';\nexport * from './ecl-pagination-list.directive';\n\nexport const EUI_ECL_PAGINATION = [\n EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ElementRef, EventEmitter, HostListener, HostBinding, Output, Directive, output, Renderer2, DOCUMENT, PLATFORM_ID,
|
|
2
|
+
import { inject, ElementRef, EventEmitter, HostListener, HostBinding, Output, Directive, viewChild, contentChild, output, Renderer2, DOCUMENT, PLATFORM_ID, Component } from '@angular/core';
|
|
3
3
|
import { Subject, fromEvent, auditTime, takeUntil } from 'rxjs';
|
|
4
4
|
import * as i1 from '@eui/ecl/core';
|
|
5
5
|
import { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';
|
|
@@ -94,6 +94,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
94
94
|
class EclPopoverComponent extends ECLBaseDirective {
|
|
95
95
|
constructor() {
|
|
96
96
|
super(...arguments);
|
|
97
|
+
/**
|
|
98
|
+
* Reference to the popover container element.
|
|
99
|
+
*/
|
|
100
|
+
this.eclPopoverContainerElement = viewChild('container', /* @ts-ignore */
|
|
101
|
+
...(ngDevMode ? [{ debugName: "eclPopoverContainerElement" }] : /* istanbul ignore next */ []));
|
|
102
|
+
/**
|
|
103
|
+
* Reference to the scrollable content element inside the popover.
|
|
104
|
+
*/
|
|
105
|
+
this.eclPopoverScrollableElement = viewChild('scrollable', /* @ts-ignore */
|
|
106
|
+
...(ngDevMode ? [{ debugName: "eclPopoverScrollableElement" }] : /* istanbul ignore next */ []));
|
|
107
|
+
/**
|
|
108
|
+
* Reference to the toggle element used to open/close the popover.
|
|
109
|
+
*/
|
|
110
|
+
this.eclPopoverToggle = contentChild(EclPopoverToggleDirective, /* @ts-ignore */
|
|
111
|
+
...(ngDevMode ? [{ debugName: "eclPopoverToggle" }] : /* istanbul ignore next */ []));
|
|
97
112
|
this.openEvent = output();
|
|
98
113
|
this.closeEvent = output();
|
|
99
114
|
/**
|
|
@@ -142,7 +157,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
142
157
|
ngAfterContentInit() {
|
|
143
158
|
if (!isPlatformBrowser(this.platformId))
|
|
144
159
|
return;
|
|
145
|
-
this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
160
|
+
this.eclPopoverToggle()?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
146
161
|
if (this.isHidden) {
|
|
147
162
|
this.doOpen();
|
|
148
163
|
}
|
|
@@ -151,7 +166,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
151
166
|
}
|
|
152
167
|
this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document
|
|
153
168
|
});
|
|
154
|
-
this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle
|
|
169
|
+
this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle()?.hostElementRef.nativeElement);
|
|
155
170
|
}
|
|
156
171
|
/**
|
|
157
172
|
* Lifecycle hook that cleans up subscriptions on destroy.
|
|
@@ -165,7 +180,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
165
180
|
* if available. Used for accessibility linking.
|
|
166
181
|
*/
|
|
167
182
|
get popoverToggleAriaControls() {
|
|
168
|
-
return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');
|
|
183
|
+
return this.eclPopoverToggle()?.hostElementRef.nativeElement.getAttribute('aria-controls');
|
|
169
184
|
}
|
|
170
185
|
/**
|
|
171
186
|
* Handler triggered when a click outside the popover is detected.
|
|
@@ -265,7 +280,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
265
280
|
if (!isPlatformBrowser(this.platformId))
|
|
266
281
|
return;
|
|
267
282
|
this.resetStyles();
|
|
268
|
-
const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } = this.calculateAvailableSpace(this.eclPopoverToggle.getHostElement(), this.scrollableParent);
|
|
283
|
+
const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } = this.calculateAvailableSpace(this.eclPopoverToggle().getHostElement(), this.scrollableParent);
|
|
269
284
|
// Find the direction with the most available space
|
|
270
285
|
const positioningClass = 'ecl-popover--';
|
|
271
286
|
let direction = '';
|
|
@@ -285,7 +300,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
285
300
|
}
|
|
286
301
|
this.renderer.addClass(this.el.nativeElement, `${positioningClass}${direction}`);
|
|
287
302
|
// Try to use as much of the available width, respecting the max-width set.
|
|
288
|
-
const styles = this.window.getComputedStyle(this.eclPopoverScrollableElement.nativeElement);
|
|
303
|
+
const styles = this.window.getComputedStyle(this.eclPopoverScrollableElement().nativeElement);
|
|
289
304
|
const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);
|
|
290
305
|
const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);
|
|
291
306
|
const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;
|
|
@@ -311,11 +326,11 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
311
326
|
targetWidth = (horizontalSpace - padding) * 2;
|
|
312
327
|
}
|
|
313
328
|
// Ensure the width does not exceed available space
|
|
314
|
-
this.renderer.setStyle(this.eclPopoverScrollableElement.nativeElement, 'width', `${targetWidth}px`);
|
|
329
|
+
this.renderer.setStyle(this.eclPopoverScrollableElement().nativeElement, 'width', `${targetWidth}px`);
|
|
315
330
|
this.handlePushClass(direction);
|
|
316
331
|
}
|
|
317
332
|
resetStyles() {
|
|
318
|
-
const popoverContainer = this.eclPopoverContainerElement.nativeElement;
|
|
333
|
+
const popoverContainer = this.eclPopoverContainerElement().nativeElement;
|
|
319
334
|
this.renderer.removeClass(this.el.nativeElement, this.topClass);
|
|
320
335
|
this.renderer.removeClass(this.el.nativeElement, this.bottomClass);
|
|
321
336
|
this.renderer.removeClass(this.el.nativeElement, this.leftClass);
|
|
@@ -330,7 +345,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
330
345
|
this.renderer.removeStyle(popoverContainer, 'left');
|
|
331
346
|
this.renderer.removeStyle(popoverContainer, 'bottom');
|
|
332
347
|
this.renderer.removeStyle(popoverContainer, 'transform');
|
|
333
|
-
this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');
|
|
348
|
+
this.renderer.removeStyle(this.eclPopoverScrollableElement().nativeElement, 'width');
|
|
334
349
|
}
|
|
335
350
|
/**
|
|
336
351
|
* Check whether the popover is going out of its scrollable container and apply the needed repositioning.
|
|
@@ -339,7 +354,7 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
339
354
|
*/
|
|
340
355
|
handlePushClass(direction) {
|
|
341
356
|
requestAnimationFrame(() => {
|
|
342
|
-
const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();
|
|
357
|
+
const popoverRect = this.eclPopoverContainerElement().nativeElement.getBoundingClientRect();
|
|
343
358
|
const scrollableRect = this.scrollableParent.getBoundingClientRect();
|
|
344
359
|
const containerBottom = scrollableRect.bottom > this.window.innerHeight ? 0 : this.window.innerHeight - scrollableRect.bottom;
|
|
345
360
|
const containerTop = scrollableRect.top > this.window.innerHeight ? 0 : scrollableRect.top;
|
|
@@ -348,83 +363,74 @@ class EclPopoverComponent extends ECLBaseDirective {
|
|
|
348
363
|
const topOverflow = popoverRect.top < containerTop;
|
|
349
364
|
const bottomOverflow = containerBottom > this.window.innerHeight - popoverRect.bottom;
|
|
350
365
|
if (direction === 'left' || direction === 'right') {
|
|
366
|
+
const eclPopoverContainerElement = this.eclPopoverContainerElement();
|
|
351
367
|
if (topOverflow) {
|
|
352
368
|
this.renderer.addClass(this.el.nativeElement, this.pushTopClass);
|
|
353
369
|
// Push the popover to the top edge of the container
|
|
354
|
-
this.renderer.setStyle(
|
|
355
|
-
this.renderer.setStyle(
|
|
356
|
-
this.renderer.setStyle(
|
|
370
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'top', `-${Math.round(this.toggleRect.top)}px`);
|
|
371
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'bottom', '');
|
|
372
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'transform', '');
|
|
357
373
|
}
|
|
358
374
|
if (bottomOverflow) {
|
|
359
375
|
this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);
|
|
360
376
|
// Push the popover to the bottom edge of the container
|
|
361
|
-
this.renderer.setStyle(
|
|
362
|
-
this.renderer.setStyle(
|
|
363
|
-
this.renderer.setStyle(
|
|
377
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'bottom', `-${this.window.innerHeight - this.toggleRect.bottom - containerBottom}px`);
|
|
378
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'top', '');
|
|
379
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'transform', '');
|
|
364
380
|
}
|
|
365
381
|
}
|
|
366
382
|
else {
|
|
383
|
+
const eclPopoverContainerElement = this.eclPopoverContainerElement();
|
|
367
384
|
if (leftOverflow) {
|
|
368
385
|
this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);
|
|
369
386
|
// Push the popover 8px to the left edge of the container
|
|
370
|
-
this.renderer.setStyle(
|
|
371
|
-
this.renderer.setStyle(
|
|
387
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'left', `-${this.toggleRect.left - scrollableRect.left - 8}px`);
|
|
388
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'right', 'auto');
|
|
372
389
|
}
|
|
373
390
|
if (rightOverflow) {
|
|
374
391
|
this.renderer.addClass(this.el.nativeElement, this.pushRightClass);
|
|
375
392
|
// Push the popover 8px to the right edge of the container
|
|
376
|
-
this.renderer.setStyle(
|
|
377
|
-
this.renderer.setStyle(
|
|
393
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'right', `-${scrollableRect.right - this.toggleRect.right - 8}px`);
|
|
394
|
+
this.renderer.setStyle(eclPopoverContainerElement.nativeElement, 'left', 'auto');
|
|
378
395
|
}
|
|
379
396
|
}
|
|
380
397
|
this.handleArrowPosition(direction);
|
|
381
398
|
});
|
|
382
399
|
}
|
|
383
400
|
handleArrowPosition(direction) {
|
|
384
|
-
const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();
|
|
401
|
+
const popoverRect = this.eclPopoverContainerElement().nativeElement.getBoundingClientRect();
|
|
385
402
|
if (direction === 'left' || direction === 'right') {
|
|
386
403
|
if (this.el.nativeElement.classList.contains(this.pushBottomClass)) {
|
|
387
|
-
this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position', `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);
|
|
404
|
+
this.renderer.setStyle(this.eclPopoverContainerElement().nativeElement, '--ecl-popover-position', `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);
|
|
388
405
|
}
|
|
389
406
|
else if (this.el.nativeElement.classList.contains(this.pushTopClass)) {
|
|
390
|
-
this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position', `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);
|
|
407
|
+
this.renderer.setStyle(this.eclPopoverContainerElement().nativeElement, '--ecl-popover-position', `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);
|
|
391
408
|
}
|
|
392
409
|
}
|
|
393
410
|
else {
|
|
394
|
-
// eslint-disable-next-line no-lonely-if
|
|
395
411
|
if (this.el.nativeElement.classList.contains(this.pushRightClass)) {
|
|
396
|
-
this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position', `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);
|
|
412
|
+
this.renderer.setStyle(this.eclPopoverContainerElement().nativeElement, '--ecl-popover-position', `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);
|
|
397
413
|
}
|
|
398
414
|
else if (this.el.nativeElement.classList.contains(this.pushLeftClass)) {
|
|
399
|
-
this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position', `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);
|
|
415
|
+
this.renderer.setStyle(this.eclPopoverContainerElement().nativeElement, '--ecl-popover-position', `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);
|
|
400
416
|
}
|
|
401
417
|
}
|
|
402
418
|
}
|
|
403
419
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
404
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
420
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EclPopoverComponent, isStandalone: true, selector: "ecl-popover", outputs: { openEvent: "openEvent", closeEvent: "closeEvent" }, host: { listeners: { "eclClickOutside": "onClickOutsidePopover()", "document:keydown.escape": "onEscapeKeydownHandler()", "document:scroll": "onDocumentScroll()" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPopoverToggle", first: true, predicate: EclPopoverToggleDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "eclPopoverContainerElement", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "eclPopoverScrollableElement", first: true, predicate: ["scrollable"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.ECLClickOutsideDirective, outputs: ["eclClickOutside", "eclClickOutside"] }], ngImport: i0, template: "<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly type=\"button\">\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
405
421
|
}
|
|
406
422
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclPopoverComponent, decorators: [{
|
|
407
423
|
type: Component,
|
|
408
424
|
args: [{ selector: 'ecl-popover', hostDirectives: [
|
|
409
425
|
{
|
|
410
426
|
directive: ECLClickOutsideDirective,
|
|
411
|
-
// eslint-disable-next-line @angular-eslint/no-outputs-metadata-property
|
|
412
427
|
outputs: ['eclClickOutside'],
|
|
413
428
|
},
|
|
414
429
|
], imports: [
|
|
415
430
|
...EUI_ECL_BUTTON,
|
|
416
431
|
...EUI_ECL_ICON,
|
|
417
432
|
], template: "<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly type=\"button\">\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n" }]
|
|
418
|
-
}], propDecorators: { eclPopoverContainerElement: [{
|
|
419
|
-
type: ViewChild,
|
|
420
|
-
args: ['container']
|
|
421
|
-
}], eclPopoverScrollableElement: [{
|
|
422
|
-
type: ViewChild,
|
|
423
|
-
args: ['scrollable']
|
|
424
|
-
}], eclPopoverToggle: [{
|
|
425
|
-
type: ContentChild,
|
|
426
|
-
args: [EclPopoverToggleDirective]
|
|
427
|
-
}], openEvent: [{ type: i0.Output, args: ["openEvent"] }], closeEvent: [{ type: i0.Output, args: ["closeEvent"] }], cssClasses: [{
|
|
433
|
+
}], propDecorators: { eclPopoverContainerElement: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], eclPopoverScrollableElement: [{ type: i0.ViewChild, args: ['scrollable', { isSignal: true }] }], eclPopoverToggle: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclPopoverToggleDirective), { isSignal: true }] }], openEvent: [{ type: i0.Output, args: ["openEvent"] }], closeEvent: [{ type: i0.Output, args: ["closeEvent"] }], cssClasses: [{
|
|
428
434
|
type: HostBinding,
|
|
429
435
|
args: ['class']
|
|
430
436
|
}], onClickOutsidePopover: [{
|