@eui/ecl 21.0.0-next.16 → 21.0.0-next.18

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.
Files changed (184) hide show
  1. package/docs/changelog.html +54 -0
  2. package/docs/components/EclAccordionComponent.html +2 -2
  3. package/docs/components/EclAccordionItemComponent.html +2 -2
  4. package/docs/components/EclAppComponent.html +2 -2
  5. package/docs/components/EclBannerComponent.html +2 -2
  6. package/docs/components/EclBlockquoteComponent.html +2 -2
  7. package/docs/components/EclBreadcrumbComponent.html +5 -45
  8. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  9. package/docs/components/EclButtonComponent.html +2 -2
  10. package/docs/components/EclCardBodyComponent.html +2 -2
  11. package/docs/components/EclCardComponent.html +2 -2
  12. package/docs/components/EclCarouselComponent.html +2 -2
  13. package/docs/components/EclCarouselItemComponent.html +2 -2
  14. package/docs/components/EclCategoryFilterComponent.html +2 -2
  15. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  16. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  17. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  18. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  19. package/docs/components/EclContentBlockComponent.html +2 -2
  20. package/docs/components/EclContentItemComponent.html +2 -2
  21. package/docs/components/EclDateBlockComponent.html +2 -2
  22. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  23. package/docs/components/EclExpandableComponent.html +2 -2
  24. package/docs/components/EclFactFiguresComponent.html +2 -2
  25. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  26. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  27. package/docs/components/EclFeaturedComponent.html +2 -2
  28. package/docs/components/EclFeaturedItemComponent.html +2 -2
  29. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  30. package/docs/components/EclFileComponent.html +2 -2
  31. package/docs/components/EclFileItemComponent.html +2 -2
  32. package/docs/components/EclFileItemsComponent.html +2 -2
  33. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  34. package/docs/components/EclFormGroupComponent.html +2 -2
  35. package/docs/components/EclFormLabelComponent.html +2 -2
  36. package/docs/components/EclGalleryComponent.html +2 -2
  37. package/docs/components/EclGalleryFooterComponent.html +2 -2
  38. package/docs/components/EclGalleryItemComponent.html +3 -70
  39. package/docs/components/EclIconComponent.html +2 -2
  40. package/docs/components/EclInpageNavigationComponent.html +3 -43
  41. package/docs/components/EclInpageNavigationItemComponent.html +3 -3
  42. package/docs/components/EclListIllustrationComponent.html +2 -2
  43. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  44. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  45. package/docs/components/EclMediaContainerComponent.html +2 -2
  46. package/docs/components/EclMegaMenuComponent.html +2 -2
  47. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  48. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  49. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  50. package/docs/components/EclMegaMenuSubitemComponent.html +2 -26
  51. package/docs/components/EclMenuComponent.html +2 -2
  52. package/docs/components/EclMenuItemComponent.html +2 -2
  53. package/docs/components/EclMenuMegaComponent.html +2 -2
  54. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  55. package/docs/components/EclModalBodyComponent.html +3 -33
  56. package/docs/components/EclModalComponent.html +2 -2
  57. package/docs/components/EclModalFooterComponent.html +2 -2
  58. package/docs/components/EclModalHeaderComponent.html +2 -2
  59. package/docs/components/EclMultiselectComponent.html +2 -2
  60. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  61. package/docs/components/EclMultiselectInputComponent.html +2 -2
  62. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  63. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  64. package/docs/components/EclNavigationListComponent.html +2 -2
  65. package/docs/components/EclNavigationListItemComponent.html +2 -2
  66. package/docs/components/EclNewsTickerComponent.html +2 -2
  67. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  68. package/docs/components/EclNotificationComponent.html +2 -2
  69. package/docs/components/EclPageHeaderComponent.html +2 -2
  70. package/docs/components/EclPageHeaderExpandableComponent.html +2 -2
  71. package/docs/components/EclPaginationComponent.html +2 -2
  72. package/docs/components/EclPaginationItemComponent.html +3 -3
  73. package/docs/components/EclPopoverComponent.html +8 -37
  74. package/docs/components/EclRadioHelpComponent.html +2 -2
  75. package/docs/components/EclRadioLabelComponent.html +2 -2
  76. package/docs/components/EclRangeBubbleComponent.html +2 -2
  77. package/docs/components/EclRangeValueComponent.html +2 -2
  78. package/docs/components/EclRatingFieldComponent.html +2 -2
  79. package/docs/components/EclSearchFormComponent.html +5 -5
  80. package/docs/components/EclSelectContainerComponent.html +2 -2
  81. package/docs/components/EclSiteFooterComponent.html +2 -2
  82. package/docs/components/EclSiteFooterCoownerComponent.html +2 -2
  83. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  84. package/docs/components/EclSiteFooterFixedContentEUComponent.html +3 -3
  85. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  86. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  87. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  88. package/docs/components/EclSiteHeaderComponent.html +2 -21
  89. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  90. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  91. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  92. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  93. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  94. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  95. package/docs/components/EclSiteHeaderSearchComponent.html +6 -6
  96. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  97. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  98. package/docs/components/EclSplashPageComponent.html +2 -2
  99. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  100. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  101. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  102. package/docs/components/EclSpotlightComponent.html +2 -2
  103. package/docs/components/EclSpotlightLinkComponent.html +2 -2
  104. package/docs/components/EclStickyContainerComponent.html +2 -2
  105. package/docs/components/EclTabComponent.html +3 -5
  106. package/docs/components/EclTabLabelComponent.html +2 -2
  107. package/docs/components/EclTableSortButtonComponent.html +2 -2
  108. package/docs/components/EclTabsComponent.html +3 -5
  109. package/docs/components/EclTagComponent.html +2 -2
  110. package/docs/components/EclTimelineComponent.html +2 -2
  111. package/docs/components/EclTimelineItemComponent.html +2 -2
  112. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  113. package/docs/directives/EclBreadcrumbContainerDirective.html +0 -23
  114. package/docs/directives/EclSiteFooterListDirective.html +0 -19
  115. package/docs/directives/EclSiteFooterSectionDirective.html +0 -96
  116. package/docs/js/menu-wc.js +0 -12
  117. package/docs/js/menu-wc_es5.js +1 -1
  118. package/docs/js/search/search_index.js +2 -2
  119. package/docs/miscellaneous/variables.html +1 -4
  120. package/docs/overview.html +2 -2
  121. package/docs/properties.html +1 -1
  122. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +6 -14
  123. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  124. package/fesm2022/eui-ecl-components-ecl-button.mjs +0 -1
  125. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  126. package/fesm2022/eui-ecl-components-ecl-divider.mjs +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  128. package/fesm2022/eui-ecl-components-ecl-featured.mjs +0 -2
  129. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  130. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +2 -18
  131. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  132. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +6 -13
  133. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  134. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +1 -1
  136. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  138. package/fesm2022/eui-ecl-components-ecl-modal.mjs +4 -15
  139. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  140. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +3 -4
  141. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-popover.mjs +6 -6
  143. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  144. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +5 -7
  145. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  146. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +6 -115
  147. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  148. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +7 -11
  149. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  150. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +0 -1
  151. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  152. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +7 -51
  153. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  154. package/package.json +1 -1
  155. package/types/eui-ecl-components-ecl-breadcrumb.d.ts +14 -19
  156. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
  157. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -1
  158. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  159. package/types/eui-ecl-components-ecl-gallery.d.ts +2 -8
  160. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
  161. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +1 -5
  162. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
  163. package/types/eui-ecl-components-ecl-link.d.ts +1 -1
  164. package/types/eui-ecl-components-ecl-mega-menu.d.ts +0 -1
  165. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
  166. package/types/eui-ecl-components-ecl-modal.d.ts +1 -6
  167. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  168. package/types/eui-ecl-components-ecl-pagination.d.ts +1 -1
  169. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
  170. package/types/eui-ecl-components-ecl-popover.d.ts +4 -4
  171. package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
  172. package/types/eui-ecl-components-ecl-search-form.d.ts +2 -2
  173. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
  174. package/types/eui-ecl-components-ecl-site-footer.d.ts +4 -50
  175. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
  176. package/types/eui-ecl-components-ecl-site-header.d.ts +3 -7
  177. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
  178. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
  179. package/types/eui-ecl-components-ecl-tabs.d.ts +4 -31
  180. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  181. package/docs/components/EclTabMoreComponent.html +0 -598
  182. package/docs/directives/EclSiteFooterLogoDirective.html +0 -523
  183. package/docs/directives/EclSiteFooterLogoItemDirective.html +0 -523
  184. package/docs/directives/EclSiteFooterLogoListDirective.html +0 -523
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/index.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n/**\n * Represent a single navigation item. contains the link, that activates/scrolls to the new current paragraph of the page.\n */\n// TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n imports: [...EUI_ECL_LINK],\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n /**\n * The role of the component is 'listitem', should not be changed.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * The label that is displayed in the items list.\n */\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n /**\n * Emited when user clicks on the item.\n */\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-up.\n */\n @Output() itemArrowUp = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-down.\n */\n @Output() itemArrowDown = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the TAB.\n */\n @Output() itemTab = new EventEmitter<Event>();\n /**\n * Emitted when on keyboard navigation, user clicks the ENTER.\n */\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor() {\n const el = inject(ElementRef);\n\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n /**\n * Returns page element/paragraph, that is associated with this item from the navigation list.\n */\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n\t/**\n\t * When user clicks on arrow down button in mobile view.\n\t * @param isExpanded\n\t */\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy, inject } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n/**\n * The parent list component, that contains navigation items links.\n */\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n /**\n * If the dropdown is visible in mobile view.\n */\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private eclInpageNavigationService = inject(EclInpageNavigationService);\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import { Component, ContentChild, ContentChildren, DoCheck, ElementRef, EventEmitter, Input, IterableDiffer, IterableDiffers, NgZone, OnDestroy, OnInit, Output, QueryList, ViewChild, afterNextRender, numberAttribute, inject } from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_STICKY_CONTAINER } from '@eui/ecl/components/ecl-sticky-container';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n/**\n * The in-page navigation is a vertical menu containing (anchored) links to H2-headings on long content pages.\n * It gives the user an overview of the page contents and has a fixed position (does not move while scrolling) at either the left\n * side of a page on desktop or top-bar on mobile. This component helps users scan of the page quickly contents and may potentially\n * reduce vertical scrolling, allowing users to easily jump straight to the segment of the page.\n */\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n imports: [TranslateModule, NgTemplateOutlet, ...EUI_ECL_STICKY_CONTAINER, ...EUI_ECL_ICON],\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n eclThemeService = inject(EclThemeService);\n\n @Input() eclTitle: string;\n /**\n * Used to calculate component's position.\n */\n @Input() marginTop: number;\n @Input() marginBottom: number;\n /**\n * Sets the offset from the top of the page (for example if there is a toolbar or header). Used to calculate scrolling behaviour.\n */\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclNavigationList'\n */\n @ViewChild('listContainer') listContainer: ElementRef<HTMLUListElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n /**\n * This event will be emitted, when onscroll a new section becomes active.\n */\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n /**\n * Used for the mobile view, where user can select a section from the dropdown.\n */\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = '2xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n private eclRtlService = inject(EclRtlService);\n private differs = inject(IterableDiffers);\n private scrollDispatcher: ScrollDispatcher = inject(ScrollDispatcher);\n private zone = inject(NgZone);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private viewportRuler = inject(ViewportRuler);\n private eclInpageNavigationService = inject(EclInpageNavigationService);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n /**\n * the size of the arrow-down icon, used in mobile view. There are different sizes for EC and EU themes.\n */\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n /**\n * On mobile view - handle the dropdown toggle.\n */\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n /**\n * Dropdown keyboard navigation on mobile view.\n * @param evt\n */\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n /**\n * Set the height of the list with the navigation items in px. So in case the full list cannot be displayed, a scroll will appear.\n */\n private setListHeight(): void {\n if (!this.listContainer && !this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.listContainer) {\n topPosition = this.listContainer.nativeElement.getBoundingClientRect().top;\n } else if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n if (item.sectionElement.tabIndex === -1) {\n item.sectionElement.tabIndex = 0;\n item.sectionElement.focus();\n item.sectionElement.tabIndex = -1;\n }\n }\n this.isButtonExpanded = false;\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\n\nexport * from './ecl-inpage-navigation.component';\nexport * from './ecl-inpage-navigation-item.component';\nexport * from './ecl-inpage-navigation-list.directive';\nexport * from './services/ecl-inpage-navigation.service';\n\nexport const EUI_ECL_INPAGE_NAVIGATION = [\n EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/index.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n/**\n * Represent a single navigation item. contains the link, that activates/scrolls to the new current paragraph of the page.\n */\n@Component({\n selector: 'li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n imports: [...EUI_ECL_LINK],\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n /**\n * The role of the component is 'listitem', should not be changed.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * The label that is displayed in the items list.\n */\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n /**\n * Emited when user clicks on the item.\n */\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-up.\n */\n @Output() itemArrowUp = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-down.\n */\n @Output() itemArrowDown = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the TAB.\n */\n @Output() itemTab = new EventEmitter<Event>();\n /**\n * Emitted when on keyboard navigation, user clicks the ENTER.\n */\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor() {\n const el = inject(ElementRef);\n\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n /**\n * Returns page element/paragraph, that is associated with this item from the navigation list.\n */\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n\t/**\n\t * When user clicks on arrow down button in mobile view.\n\t * @param isExpanded\n\t */\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy, inject } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n/**\n * The parent list component, that contains navigation items links.\n */\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n /**\n * If the dropdown is visible in mobile view.\n */\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private eclInpageNavigationService = inject(EclInpageNavigationService);\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import { Component, ContentChild, ContentChildren, DoCheck, ElementRef, EventEmitter, Input, IterableDiffer, IterableDiffers, NgZone, OnDestroy, OnInit, Output, QueryList, ViewChild, afterNextRender, numberAttribute, inject } from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_STICKY_CONTAINER } from '@eui/ecl/components/ecl-sticky-container';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n/**\n * The in-page navigation is a vertical menu containing (anchored) links to H2-headings on long content pages.\n * It gives the user an overview of the page contents and has a fixed position (does not move while scrolling) at either the left\n * side of a page on desktop or top-bar on mobile. This component helps users scan of the page quickly contents and may potentially\n * reduce vertical scrolling, allowing users to easily jump straight to the segment of the page.\n */\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n imports: [TranslateModule, NgTemplateOutlet, ...EUI_ECL_STICKY_CONTAINER, ...EUI_ECL_ICON],\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n eclThemeService = inject(EclThemeService);\n\n @Input() eclTitle: string;\n /**\n * Used to calculate component's position.\n */\n @Input() marginTop: number;\n @Input() marginBottom: number;\n /**\n * Sets the offset from the top of the page (for example if there is a toolbar or header). Used to calculate scrolling behaviour.\n */\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n /**\n * This event will be emitted, when onscroll a new section becomes active.\n */\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n /**\n * Used for the mobile view, where user can select a section from the dropdown.\n */\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = '2xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n private eclRtlService = inject(EclRtlService);\n private differs = inject(IterableDiffers);\n private scrollDispatcher: ScrollDispatcher = inject(ScrollDispatcher);\n private zone = inject(NgZone);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private viewportRuler = inject(ViewportRuler);\n private eclInpageNavigationService = inject(EclInpageNavigationService);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n /**\n * the size of the arrow-down icon, used in mobile view. There are different sizes for EC and EU themes.\n */\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n /**\n * On mobile view - handle the dropdown toggle.\n */\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n /**\n * Dropdown keyboard navigation on mobile view.\n * @param evt\n */\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n /**\n * Set the height of the list with the navigation items in px. So in case the full list cannot be displayed, a scroll will appear.\n */\n private setListHeight(): void {\n if (!this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n if (item.sectionElement.tabIndex === -1) {\n item.sectionElement.tabIndex = 0;\n item.sectionElement.focus();\n item.sectionElement.tabIndex = -1;\n }\n }\n this.isButtonExpanded = false;\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav aria-labelledby=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\" [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button #togglerButton id=\"ecl-inpage-navigation-default-trigger\" type=\"button\"\n class=\"ecl-inpage-navigation__trigger\" aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\" (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\">\n </ecl-icon>\n </button>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</ecl-sticky-container>","import { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\n\nexport * from './ecl-inpage-navigation.component';\nexport * from './ecl-inpage-navigation-item.component';\nexport * from './ecl-inpage-navigation-list.directive';\nexport * from './services/ecl-inpage-navigation.service';\n\nexport const EUI_ECL_INPAGE_NAVIGATION = [\n EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil","i1"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/index.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n})\nexport class EclLinkIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n /**\n * Adds class for styling if the link has icon.\n */\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n /**\n * Property to style the component as 'inverted' (with dark background). Can be used alone or with 'standalone' variant.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n /**\n * Property to style the component if it consist only of an icon.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n\n /** Adds class for hightlighted link (works only with 'primary' variant) */\n @Input({ transform: booleanAttribute }) isHighlight = false;\n \n /**\n * @deprecated - will be removed in v21. Deprecated on ECL side.\n */\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n /**\n * With 'variant' property user can add some more specific styling to the <a> component.\n */\n @Input() variant: 'standalone' | 'primary' | 'secondary';\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : '',\n (this.variant === 'primary' && this.isHighlight) ? 'ecl-link--primary-highlight' : '',\n\n ].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n ngAfterContentInit(): void {\n // Add additional class to the child icon, if any.\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { EclLinkIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\nimport { EclLinkDirective } from './ecl-link.directive';\n\nexport * from './ecl-link.directive';\nexport * from './ecl-link-label.directive';\n\nexport const EUI_ECL_LINK = [\n EclLinkDirective, EclLinkLabelDirective, EclLinkIndicatorDirective, EclLinkIconContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAOM,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AACvD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACpE;8GAJS,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,iBAAA,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;;sBAEI,WAAW;uBAAC,OAAO;;MASX,yBAAyB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAIwC,IAAA,CAAA,QAAQ,GAAG,IAAI;AACtD,IAAA;8GAFY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC7B,iBAAA;;sBAEI,WAAW;uBAAC,qBAAqB;;MAMzB,6BAA6B,CAAA;AAH1C,IAAA,WAAA,GAAA;QAImD,IAAA,CAAA,QAAQ,GAAG,IAAI;AACjE,IAAA;8GAFY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AACrC,iBAAA;;sBAEI,WAAW;uBAAC,gCAAgC;;;ACrBjD;;AAEG;AAIG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAHtD,IAAA,WAAA,GAAA;;AAII,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAevB;;AAEG;QAC8E,IAAA,CAAA,UAAU,GAAG,KAAK;AACnG;;AAEG;QAC+E,IAAA,CAAA,UAAU,GAAG,KAAK;;QAG5D,IAAA,CAAA,WAAW,GAAG,KAAK;AAuD9D,IAAA;AA9EG;;AAEG;AACH,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;IACtE;AAEA,IAAA,IACI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,WAAW;IAC3B;AAuBA;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,aAAa,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE;AACpF,YAAA,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,6BAA6B,GAAG,EAAE;AAExF,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACtB;IAIA,kBAAkB,GAAA;;AAEd,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;oBACnC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,iBAAiB,GAAG,gBAAgB;AACtH,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;QACN;IACJ;AAEA;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;IACjC;AAEA;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;IACjC;AAEA;;AAEG;IACH,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE;IAChC;8GAhFS,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAmBL,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAIhB,gBAAgB,+CAGhB,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAKhB,gBAAgB,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,sBAAA,EAAA,0BAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAiBF,gBAAgB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAhDzC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACxB,iBAAA;;sBAOI,WAAW;uBAAC,sBAAsB;;sBAKlC,WAAW;uBAAC,4BAA4B;;sBAQxC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,0BAA0B;;sBAI9E,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,2BAA2B;;sBAG/E,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAIrC;;sBAKA,WAAW;uBAAC,OAAO;;sBAQnB,eAAe;uBAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;ACpDvE,MAAM,YAAY,GAAG;AACxB,IAAA,gBAAgB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,6BAA6B;;;ACPrG;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/index.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n})\nexport class EclLinkIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n el = inject(ElementRef);\n\n /**\n * Adds class for styling if the link has icon.\n */\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n /**\n * Property to style the component as 'inverted' (with dark background). Can be used alone or with 'standalone' variant.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n /**\n * Property to style the component if it consist only of an icon.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n\n /** Adds class for hightlighted link (works only with 'primary' variant) */\n @Input({ transform: booleanAttribute }) isHighlight = false;\n \n /**\n * @deprecated - will be removed in v21. Deprecated on ECL side. (ask them for confirmation)\n */\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n /**\n * With 'variant' property user can add some more specific styling to the <a> component.\n */\n @Input() variant: 'standalone' | 'primary' | 'secondary';\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : '',\n (this.variant === 'primary' && this.isHighlight) ? 'ecl-link--primary-highlight' : '',\n\n ].join(' ').trim();\n }\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n ngAfterContentInit(): void {\n // Add additional class to the child icon, if any.\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { EclLinkIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\nimport { EclLinkDirective } from './ecl-link.directive';\n\nexport * from './ecl-link.directive';\nexport * from './ecl-link-label.directive';\n\nexport const EUI_ECL_LINK = [\n EclLinkDirective, EclLinkLabelDirective, EclLinkIndicatorDirective, EclLinkIconContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -82,7 +82,7 @@ class EclListIllustrationImageDirective extends ECLBaseDirective {
82
82
  /**
83
83
  * If true, image is styled with square dimensions.
84
84
  */
85
- this.isSquare = false; // TODO: breaking change - this inpt should be set in the parent picture. This is not used as an imput anymore, v21.
85
+ this.isSquare = false;
86
86
  /**
87
87
  * Defines the size variant of the image.
88
88
  * Possible values: `'s'`, `'m'`, `'l'`.
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/index.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import { ContentChild, Directive, HostBinding, Input, booleanAttribute, forwardRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * If true, image is styled with square dimensions.\n */\n @Input({ transform: booleanAttribute }) isSquare = false;\n\n @ContentChild(forwardRef(() => EclListIllustrationImageDirective))\n eclIllustrationImage!: EclListIllustrationImageDirective;\n\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture'),\n this.isSquare ? 'ecl-list-illustration__picture--square' : '',\n ].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n this.eclIllustrationImage.isSquare = this.isSquare;\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n isSquare = false; // TODO: breaking change - this inpt should be set in the parent picture. This is not used as an imput anymore, v21.\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n computed,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n Signal,\n signal,\n} from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n @Input() eclTitle = '';\n\n /**\n * Text displayed as the item value.\n */\n @Input() eclValue = '';\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n @ContentChild(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcon: EclListIllustrationIconDirective;\n\n @ContentChild(forwardRef(() => EclListIllustrationPictureDirective))\n eclIllustrationPicture: EclListIllustrationPictureDirective;\n\n /** A special class needs to be added, for vertical lists with picture. */\n isVerticalPicture = signal(false);\n\n /** A special class needs to be added, if an icon list has dividers between items. */\n hasDivider = signal(false);\n\n hasPicture: Signal<boolean> = computed(() => this.eclIllustrationPicture !== undefined);\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcon !== undefined;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>","import { Component, HostBinding, Input, booleanAttribute, numberAttribute, afterNextRender, inject, ContentChildren, forwardRef, QueryList, AfterContentInit, Signal, computed, input, effect } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /** If content should be centered */\n @Input({ transform: booleanAttribute }) isCentered = false;\n\n /** If the icon should be on the same row as title - for list with icons */\n @Input({ transform: booleanAttribute }) isIconInline = false;\n\n /** Two variants available: icon-list and number-list. */\n @Input() variant: 'icon-list' | 'number-list' | null = null;\n\n /** If this is an icon-list, it can have dividers between each item. */\n @Input({ transform: booleanAttribute }) hasDividers = false;\n\n /** If we have a number-list, the user can set the start of the counter. */\n counterStart = input<number | null>(null);\n\n @ContentChildren(forwardRef(() => EclListIllustrationItemComponent))\n eclIllustrationItems: QueryList<EclListIllustrationItemComponent>;\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n @HostBinding('style.--ecl-list-illustration-counter-start')\n counterStartStyle = '';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n this.isCentered ? 'ecl-list-illustration--centered' : '',\n this.isIconInline ? 'ecl-list-illustration--icon-inline' : '',\n this.variant === 'icon-list' ? 'ecl-list-illustration--icon-list' : '',\n this.variant === 'number-list' ? 'ecl-list-illustration--number-list ecl-list-illustration--number-list-reset': '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n @HostBinding('style.display')\n get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n private cdkBreakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n effect(() => {\n this.counterStartStyle = this.counterStart()\n ? `${this.counterStart()}`\n : '';\n });\n }\n\n ngAfterContentInit(): void {\n if (this.horizontalColumns === 0) {\n this.eclIllustrationItems?.forEach(item => {\n if (item.hasPicture()) item.isVerticalPicture.set(true);\n });\n }\n\n if (this.variant === 'icon-list' && this.hasDividers) {\n this.eclIllustrationItems?.forEach(item => {\n item.hasDivider.set(true);\n });\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>","import { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\n\nexport * from './ecl-list-illustration-item.component';\nexport * from './ecl-list-illustration-icon.directive';\nexport * from './ecl-list-illustration-picture.directive';\nexport * from './ecl-list-illustration.component';\n\nexport const EUI_ECL_LIST_ILUSTRATION = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\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-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/index.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import { ContentChild, Directive, HostBinding, Input, booleanAttribute, forwardRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * If true, image is styled with square dimensions.\n */\n @Input({ transform: booleanAttribute }) isSquare = false;\n\n @ContentChild(forwardRef(() => EclListIllustrationImageDirective))\n eclIllustrationImage!: EclListIllustrationImageDirective;\n\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture'),\n this.isSquare ? 'ecl-list-illustration__picture--square' : '',\n ].join(' ').trim();\n }\n\n ngAfterContentInit(): void {\n this.eclIllustrationImage.isSquare = this.isSquare;\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n computed,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n Signal,\n signal,\n} from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n @Input() eclTitle = '';\n\n /**\n * Text displayed as the item value.\n */\n @Input() eclValue = '';\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n @ContentChild(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcon: EclListIllustrationIconDirective;\n\n @ContentChild(forwardRef(() => EclListIllustrationPictureDirective))\n eclIllustrationPicture: EclListIllustrationPictureDirective;\n\n /** A special class needs to be added, for vertical lists with picture. */\n isVerticalPicture = signal(false);\n\n /** A special class needs to be added, if an icon list has dividers between items. */\n hasDivider = signal(false);\n\n hasPicture: Signal<boolean> = computed(() => this.eclIllustrationPicture !== undefined);\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcon !== undefined;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<div class=\"ecl-list-illustration__item-content\" [class.ecl-list-illustration__item-content--row]=\"isVerticalPicture()\"\n [class.ecl-list-illustration__divider]=\"hasDivider()\">\n <ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture],[eclListIllustrationIcon]\"></ng-content>\n <div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>","import { Component, HostBinding, Input, booleanAttribute, numberAttribute, afterNextRender, inject, ContentChildren, forwardRef, QueryList, AfterContentInit, Signal, computed, input, effect } from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /** If content should be centered */\n @Input({ transform: booleanAttribute }) isCentered = false;\n\n /** If the icon should be on the same row as title - for list with icons */\n @Input({ transform: booleanAttribute }) isIconInline = false;\n\n /** Two variants available: icon-list and number-list. */\n @Input() variant: 'icon-list' | 'number-list' | null = null;\n\n /** If this is an icon-list, it can have dividers between each item. */\n @Input({ transform: booleanAttribute }) hasDividers = false;\n\n /** If we have a number-list, the user can set the start of the counter. */\n counterStart = input<number | null>(null);\n\n @ContentChildren(forwardRef(() => EclListIllustrationItemComponent))\n eclIllustrationItems: QueryList<EclListIllustrationItemComponent>;\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n @HostBinding('style.--ecl-list-illustration-counter-start')\n counterStartStyle = '';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n this.isCentered ? 'ecl-list-illustration--centered' : '',\n this.isIconInline ? 'ecl-list-illustration--icon-inline' : '',\n this.variant === 'icon-list' ? 'ecl-list-illustration--icon-list' : '',\n this.variant === 'number-list' ? 'ecl-list-illustration--number-list ecl-list-illustration--number-list-reset': '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n @HostBinding('style.display')\n get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n private cdkBreakpointObserver = inject(BreakpointObserver);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n effect(() => {\n this.counterStartStyle = this.counterStart()\n ? `${this.counterStart()}`\n : '';\n });\n }\n\n ngAfterContentInit(): void {\n if (this.horizontalColumns === 0) {\n this.eclIllustrationItems?.forEach(item => {\n if (item.hasPicture()) item.isVerticalPicture.set(true);\n });\n }\n\n if (this.variant === 'icon-list' && this.hasDividers) {\n this.eclIllustrationItems?.forEach(item => {\n item.hasDivider.set(true);\n });\n }\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>","import { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\n\nexport * from './ecl-list-illustration-item.component';\nexport * from './ecl-list-illustration-icon.directive';\nexport * from './ecl-list-illustration-picture.directive';\nexport * from './ecl-list-illustration.component';\n\nexport const EUI_ECL_LIST_ILUSTRATION = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}