@eui/ecl 21.0.0-alpha.13 → 21.0.0-alpha.15

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 (199) hide show
  1. package/components/ecl-featured/index.d.ts +1 -1
  2. package/components/ecl-featured/index.d.ts.map +1 -1
  3. package/components/ecl-gallery/index.d.ts.map +1 -1
  4. package/components/ecl-link/index.d.ts +6 -6
  5. package/components/ecl-link/index.d.ts.map +1 -1
  6. package/components/ecl-menu/index.d.ts.map +1 -1
  7. package/components/ecl-site-footer/index.d.ts.map +1 -1
  8. package/docs/changelog.html +173 -0
  9. package/docs/components/EclAccordionComponent.html +2 -2
  10. package/docs/components/EclAccordionItemComponent.html +2 -2
  11. package/docs/components/EclAppComponent.html +1 -1
  12. package/docs/components/EclBannerComponent.html +3 -3
  13. package/docs/components/EclBlockquoteComponent.html +1 -1
  14. package/docs/components/EclBreadcrumbComponent.html +2 -2
  15. package/docs/components/EclBreadcrumbSegmentComponent.html +5 -4
  16. package/docs/components/EclButtonComponent.html +2 -2
  17. package/docs/components/EclCardBodyComponent.html +1 -1
  18. package/docs/components/EclCardComponent.html +1 -1
  19. package/docs/components/EclCarouselComponent.html +1 -1
  20. package/docs/components/EclCarouselItemComponent.html +1 -1
  21. package/docs/components/EclCategoryFilterComponent.html +1 -1
  22. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  23. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  24. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  25. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  26. package/docs/components/EclContentBlockComponent.html +1 -1
  27. package/docs/components/EclContentItemComponent.html +1 -1
  28. package/docs/components/EclDateBlockComponent.html +1 -1
  29. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  30. package/docs/components/EclExpandableComponent.html +3 -3
  31. package/docs/components/EclFactFiguresComponent.html +1 -1
  32. package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
  33. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  34. package/docs/components/EclFactFiguresTitleComponent.html +1 -1
  35. package/docs/components/EclFactFiguresValueComponent.html +1 -1
  36. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  37. package/docs/components/EclFeaturedComponent.html +1 -1
  38. package/docs/components/EclFeaturedItemComponent.html +1 -1
  39. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  40. package/docs/components/EclFeaturedItemFooterComponent.html +1 -1
  41. package/docs/components/EclFileComponent.html +3 -3
  42. package/docs/components/EclFileItemComponent.html +1 -1
  43. package/docs/components/EclFileItemsComponent.html +3 -3
  44. package/docs/components/EclFileTaxonomyComponent.html +1 -1
  45. package/docs/components/EclFormGroupComponent.html +1 -1
  46. package/docs/components/EclFormLabelComponent.html +1 -1
  47. package/docs/components/EclGalleryComponent.html +4 -3
  48. package/docs/components/EclGalleryFooterComponent.html +2 -2
  49. package/docs/components/EclGalleryItemComponent.html +2 -2
  50. package/docs/components/EclIconComponent.html +1 -1
  51. package/docs/components/EclInpageNavigationComponent.html +2 -2
  52. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  53. package/docs/components/EclListIllustrationComponent.html +1 -1
  54. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  55. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  56. package/docs/components/EclMediaContainerComponent.html +3 -3
  57. package/docs/components/EclMegaMenuComponent.html +3 -3
  58. package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
  59. package/docs/components/EclMegaMenuInfoComponent.html +1 -1
  60. package/docs/components/EclMegaMenuItemComponent.html +6 -5
  61. package/docs/components/EclMegaMenuSubitemComponent.html +6 -5
  62. package/docs/components/EclMenuComponent.html +3 -3
  63. package/docs/components/EclMenuItemComponent.html +6 -5
  64. package/docs/components/EclMenuMegaComponent.html +1 -1
  65. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  66. package/docs/components/EclModalBodyComponent.html +1 -1
  67. package/docs/components/EclModalComponent.html +1 -1
  68. package/docs/components/EclModalFooterComponent.html +1 -1
  69. package/docs/components/EclModalHeaderComponent.html +3 -3
  70. package/docs/components/EclMultiselectComponent.html +1 -1
  71. package/docs/components/EclMultiselectDropdownComponent.html +3 -3
  72. package/docs/components/EclMultiselectInputComponent.html +3 -3
  73. package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
  74. package/docs/components/EclMultiselectOptionComponent.html +1 -1
  75. package/docs/components/EclNavigationListComponent.html +1 -1
  76. package/docs/components/EclNavigationListItemComponent.html +1 -1
  77. package/docs/components/EclNewsTickerComponent.html +3 -3
  78. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  79. package/docs/components/EclNotificationComponent.html +3 -3
  80. package/docs/components/EclPageHeaderComponent.html +1 -1
  81. package/docs/components/EclPaginationComponent.html +1 -1
  82. package/docs/components/EclPaginationItemComponent.html +5 -4
  83. package/docs/components/EclPopoverComponent.html +3 -3
  84. package/docs/components/EclRadioHelpComponent.html +1 -1
  85. package/docs/components/EclRadioLabelComponent.html +1 -1
  86. package/docs/components/EclRangeBubbleComponent.html +1 -1
  87. package/docs/components/EclRangeValueComponent.html +1 -1
  88. package/docs/components/EclRatingFieldComponent.html +2 -2
  89. package/docs/components/EclSearchFormComponent.html +3 -3
  90. package/docs/components/EclSelectContainerComponent.html +3 -3
  91. package/docs/components/EclSiteFooterComponent.html +1 -1
  92. package/docs/components/EclSiteFooterFixedContentECComponent.html +4 -2
  93. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  94. package/docs/components/EclSiteHeaderActionComponent.html +1 -1
  95. package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
  96. package/docs/components/EclSiteHeaderComponent.html +2 -2
  97. package/docs/components/EclSiteHeaderCustomActionComponent.html +3 -3
  98. package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
  99. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  100. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +4 -4
  101. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  102. package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
  103. package/docs/components/EclSiteHeaderSearchComponent.html +3 -3
  104. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  105. package/docs/components/EclSocialMediaFollowItemComponent.html +5 -4
  106. package/docs/components/EclSocialMediaShareComponent.html +1 -1
  107. package/docs/components/EclSocialMediaShareItemComponent.html +3 -3
  108. package/docs/components/EclSplashPageComponent.html +1 -1
  109. package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
  110. package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
  111. package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
  112. package/docs/components/EclStickyContainerComponent.html +1 -1
  113. package/docs/components/EclTabComponent.html +2 -2
  114. package/docs/components/EclTabLabelComponent.html +1 -1
  115. package/docs/components/EclTabMoreComponent.html +1 -1
  116. package/docs/components/EclTableSortButtonComponent.html +2 -2
  117. package/docs/components/EclTabsComponent.html +3 -3
  118. package/docs/components/EclTagComponent.html +2 -2
  119. package/docs/components/EclTimelineComponent.html +1 -1
  120. package/docs/components/EclTimelineItemComponent.html +3 -3
  121. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  122. package/docs/directives/{EclIndicatorDirective-1.html → EclLinkIndicatorDirective.html} +2 -2
  123. package/docs/js/menu-wc.js +12 -12
  124. package/docs/js/menu-wc_es5.js +1 -1
  125. package/docs/js/search/search_index.js +2 -2
  126. package/docs/miscellaneous/variables.html +68 -66
  127. package/docs/modules/EclAllModule.html +0 -360
  128. package/docs/modules/EclLinkModule.html +6 -3
  129. package/docs/properties.html +1 -1
  130. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +5 -5
  131. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  132. package/fesm2022/eui-ecl-components-ecl-banner.mjs +5 -5
  133. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  134. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +10 -11
  135. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  136. package/fesm2022/eui-ecl-components-ecl-button.mjs +3 -3
  137. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  138. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +3 -3
  139. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  140. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +3 -3
  141. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +4 -4
  143. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  144. package/fesm2022/eui-ecl-components-ecl-featured.mjs +3 -1
  145. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  146. package/fesm2022/eui-ecl-components-ecl-file.mjs +9 -11
  147. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  148. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +10 -8
  149. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  150. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +7 -7
  151. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  152. package/fesm2022/eui-ecl-components-ecl-link.mjs +9 -9
  153. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  154. package/fesm2022/eui-ecl-components-ecl-list.mjs +3 -3
  155. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +4 -4
  157. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +14 -15
  159. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  160. package/fesm2022/eui-ecl-components-ecl-menu.mjs +14 -16
  161. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  162. package/fesm2022/eui-ecl-components-ecl-modal.mjs +5 -5
  163. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  164. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +8 -8
  165. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  166. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +5 -5
  167. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  168. package/fesm2022/eui-ecl-components-ecl-notification.mjs +5 -5
  169. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  170. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +8 -9
  171. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  172. package/fesm2022/eui-ecl-components-ecl-popover.mjs +5 -5
  173. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  174. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +3 -3
  175. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  176. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +4 -4
  177. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  178. package/fesm2022/eui-ecl-components-ecl-select.mjs +5 -5
  179. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  180. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +6 -5
  181. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  182. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +16 -16
  183. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  184. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +5 -6
  185. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  186. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs +4 -4
  187. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
  188. package/fesm2022/eui-ecl-components-ecl-table.mjs +3 -3
  189. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  190. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +8 -8
  191. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  192. package/fesm2022/eui-ecl-components-ecl-tag.mjs +3 -3
  193. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  194. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +4 -4
  195. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  196. package/fesm2022/eui-ecl.mjs +182 -302
  197. package/fesm2022/eui-ecl.mjs.map +1 -1
  198. package/index.d.ts +1 -1
  199. package/package.json +17 -17
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-news-ticker.mjs","sources":["../../components/ecl-news-ticker/ecl-news-ticker-item.component.ts","../../components/ecl-news-ticker/ecl-news-ticker-item.component.html","../../components/ecl-news-ticker/events/ecl-news-ticker-item.event.ts","../../components/ecl-news-ticker/ecl-news-ticker.component.ts","../../components/ecl-news-ticker/ecl-news-ticker.component.html","../../components/ecl-news-ticker/ecl-news-ticker-icon.directive.ts","../../components/ecl-news-ticker/ecl-news-ticker.module.ts","../../components/ecl-news-ticker/index.ts","../../components/ecl-news-ticker/eui-ecl-components-ecl-news-ticker.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, OnDestroy, Output, inject } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n@Component({\n\tselector: 'ecl-news-ticker-item',\n\ttemplateUrl: './ecl-news-ticker-item.component.html',\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n\tel = inject(ElementRef);\n\n\t/**\n\t * Optional projected `ecl-link` element within the news ticker item.\n\t */\n\t@ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n\t/**\n\t * Emitted when the internal link receives focus (used to cancel autoplay).\n\t */\n\t@Output() itemFocused = new EventEmitter<null>();\n\n\t/**\n\t * HostBinding to set the component’s CSS classes.\n\t */\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n\t}\n\n\t/**\n\t * Declares ARIA role as list item for accessibility.\n\t */\n\t@HostBinding('attr.role') role = 'listitem';\n\n\t/**\n\t * Whether this slide is currently visible.\n\t */\n\tget isCurrent(): boolean {\n\t\treturn this._isCurrent;\n\t}\n\tset isCurrent(value: boolean) {\n\t\tthis._isCurrent = value;\n\t\tif (this.eclLink) {\n\t\t\tthis.setLinkTabindex();\n\t\t}\n\t}\n\tprivate _isCurrent = false;\n\n\t/**\n\t * Sets `aria-hidden` based on current slide visibility.\n\t */\n\t@HostBinding('attr.aria-hidden')\n\tget isAriahidden(): boolean {\n\t\treturn !this.isCurrent || undefined;\n\t}\n\n\t/**\n\t * Sets `inert` attribute when the item is not current (prevents interaction).\n\t */\n\t@HostBinding('attr.inert')\n\tget isInert(): boolean {\n\t\treturn !this.isCurrent || undefined;\n\t}\n\n\tprivate destroy$: Subject<boolean> = new Subject<boolean>();\n\n\t/**\n\t * Lifecycle hook that sets up the internal link class and focus listener.\n\t */\n\tngAfterContentInit(): void {\n\t\tif (this.eclLink) {\n\t\t\tthis.eclLink.class = 'ecl-news-ticker__slide-text';\n\t\t}\n\n\t\tif (this.eclLink) {\n\t\t\tfromEvent(this.eclLink.el.nativeElement, 'focus')\n\t\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.itemFocused.emit();\n\t\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup on destroy: unsubscribe from observables.\n\t */\n\tngOnDestroy(): void {\n\t\tthis.destroy$.next(true);\n\t\tthis.destroy$.unsubscribe();\n\t}\n\n\tprivate setLinkTabindex(): void {\n\t\tif (this._isCurrent) {\n\t\t\tthis.eclLink.tabindex = null;\n\t\t} else {\n\t\t\tthis.eclLink.tabindex = -1;\n\t\t}\n\t}\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclNewsTickerItemEvent extends EclBaseEvent {\n constructor(public itemIndex: number) {\n super();\n }\n}","import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, QueryList, Renderer2, ViewChild, afterNextRender, booleanAttribute, inject } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerItemEvent } from './events/ecl-news-ticker-item.event';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n\tselector: 'ecl-news-ticker',\n\ttemplateUrl: './ecl-news-ticker.component.html',\n\t imports: [\n\t\tEclButtonModule,\n EclIconModule,\n\t\tEclNewsTickerItemComponent,\n\t\tTranslateModule,\n\t],\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy {\n\t/**\n\t * Enables or disables automatic cycling through ticker items.\n\t * Defaults to `true`.\n\t */\n\t@Input({ transform: booleanAttribute }) isAutoplay = true;\n\n\t/**\n\t * Emits when the visible news ticker item changes.\n\t * The payload is an instance of `EclNewsTickerItemEvent`.\n\t */\n\t@Output() itemSwitch = new EventEmitter<EclNewsTickerItemEvent>();\n\n\t/**\n\t * Query list of all `EclNewsTickerItemComponent` children projected into this component.\n\t */\n\t@ContentChildren(EclNewsTickerItemComponent) newsTickerItems: QueryList<EclNewsTickerItemComponent>;\n\n\t/**\n\t * Reference to the hidden first item used for looping.\n\t */\n\t@ViewChild('firstHiddenItem') firstHiddenItem: EclNewsTickerItemComponent;\n\n\t/**\n\t * Reference to the hidden last item used for looping.\n\t */\n\t@ViewChild('lastHiddenItem') lastHiddenItem: EclNewsTickerItemComponent;\n\n\t/**\n\t * Reference to the container element that holds the slides.\n\t */\n\t@ViewChild('slidesContainer') slidesContainer: ElementRef;\n\n\t/**\n\t * Reference to the play button used to start autoplay.\n\t */\n\t@ViewChild('playBtn') playBtn: EclButtonComponent;\n\n\t/**\n\t * Reference to the pause button used to stop autoplay.\n\t */\n\t@ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n\t}\n\n\titemIndex = 1;\n\tplaying = false;\n\tslidesTransform = '';\n\ttransitionDuration: number;\n\tprivate intervalId: number;\n\tprivate PLAY_INTERVAL = 5000;\n\tprivate INIT_DELAY = 300;\n\tprivate _contentHeight: number;\n\tprivate pausePlay = false;\n\tprivate unsubscribeListener: () => void;\n\tprivate destroy$: Subject<boolean> = new Subject<boolean>();\n private renderer2 = inject(Renderer2);\n private cd = inject(ChangeDetectorRef);\n\n\tconstructor() {\n\t\tsuper();\n\t\tafterNextRender(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.initContainer();\n\t\t\t}, this.INIT_DELAY);\n\t\t\tthis.newsTickerItems.forEach((item) => {\n\t\t\t\titem.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n\t\t\t\t\tthis.cancelAutoplay();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Returns the height of the currently visible ticker item.\n\t */\n\tget contentHeight(): number {\n\t\treturn this._contentHeight;\n\t}\n\n\t/**\n\t * Returns the number of ticker items.\n\t */\n\tget itemsCount(): number {\n\t\treturn this.newsTickerItems.length;\n\t}\n\n\t/**\n\t * Indicates whether navigation controls should be shown.\n\t */\n\tget isShowControls(): boolean {\n\t\treturn this.newsTickerItems.length > 1;\n\t}\n\n\t/**\n\t * Handles window resize and recalculates the layout.\n\t */\n\t@HostListener('window:resize', ['$event'])\n\tonResize(event): void {\n\t\tsetTimeout(() => {\n\t\t\tthis.resizeTicker();\n\t\t\tthis.moveSlides(this.getCurrentItem(), false);\n\t\t});\n\t}\n\n\t/**\n\t * Lifecycle hook that clears intervals and subscriptions.\n\t */\n\tngOnDestroy(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t}\n\t\tif (this.unsubscribeListener) {\n\t\t\tthis.unsubscribeListener();\n\t\t}\n\t\tthis.destroy$.next(true);\n\t\tthis.destroy$.unsubscribe();\n\t}\n\n\t/**\n\t * Handles \"previous\" button click.\n\t * Navigates to the previous slide and stops autoplay.\n\t */\n\tonPrevious(): void {\n\t\tthis.cancelAutoplay();\n\t\tthis.previousSlide();\n\t}\n\n\t/**\n\t * Moves to the previous slide and emits `itemSwitch` event.\n\t */\n\tpreviousSlide(): void {\n\t\tthis.itemIndex = this.getPrevIndex();\n\t\tif (this.itemIndex === this.itemsCount) {\n\t\t\tthis.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n\t\t} else {\n\t\t\tthis.moveSlides(this.getCurrentItem(), true);\n\t\t}\n\t\tthis.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n\t}\n\n\t/**\n\t * Handles \"next\" button click.\n\t * Navigates to the next slide and stops autoplay.\n\t */\n\tonNext(): void {\n\t\tthis.cancelAutoplay();\n\t\tthis.nextSlide();\n\t}\n\n\t/**\n\t * Moves to the next slide and emits `itemSwitch` event.\n\t */\n\tnextSlide(): void {\n\t\tthis.itemIndex = this.getNextIndex();\n\t\tif (this.itemIndex === 1) {\n\t\t\tthis.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n\t\t} else {\n\t\t\tthis.moveSlides(this.getCurrentItem(), true);\n\t\t}\n\t\tthis.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n\t}\n\n\t/**\n\t * Starts automatic cycling of the ticker items.\n\t */\n\tstartAutoplay(): void {\n\t\tthis.playing = true;\n\t\tthis.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n\t}\n\n\t/**\n\t * Cancels the automatic cycling of the ticker items.\n\t */\n\tcancelAutoplay(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t}\n\t\tthis.playing = false;\n\t}\n\n\t/**\n\t * Handles mouse over event on a ticker item.\n\t * Temporarily pauses autoplay.\n\t */\n\tonNewsTickerItemMouseOver(): void {\n\t\tif (this.playing) {\n\t\t\tthis.pausePlay = true;\n\t\t\tthis.cancelAutoplay();\n\t\t}\n\t}\n\n\t/**\n\t * Handles mouse out event from a ticker item.\n\t * Resumes autoplay if it was paused due to hover.\n\t */\n\tonNewsTickerItemMouseOut(): void {\n\t\tif (this.pausePlay) {\n\t\t\tthis.pausePlay = false;\n\t\t\tthis.startAutoplay();\n\t\t}\n\t}\n\n\t/**\n\t * Handles focus event on the \"Play\" button.\n\t * Starts autoplay and shifts focus to the \"Pause\" button.\n\t */\n\tonPlayBtnEnter(evt: Event): void {\n\t\tevt.preventDefault();\n\t\tthis.startAutoplay();\n\t\tthis.cd.detectChanges();\n\t\tthis.pauseBtn.el.nativeElement.focus();\n\t}\n\n\t/**\n\t * Handles focus event on the \"Pause\" button.\n\t * Stops autoplay and shifts focus to the \"Play\" button.\n\t */\n\tonPauseBtnEnter(evt: Event): void {\n\t\tevt.preventDefault();\n\t\tthis.cancelAutoplay();\n\t\tthis.cd.detectChanges();\n\t\tthis.playBtn.el.nativeElement.focus();\n\t}\n\n\tprivate moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n\t\tif (item) {\n\t\t\tconst newOffset = item.el.nativeElement.offsetTop;\n\t\t\tconst newHeight = item.el.nativeElement.offsetHeight;\n\t\t\tthis._contentHeight = newHeight;\n\t\t\tthis.transitionDuration = withTransition ? 0.4 : 0;\n\t\t\tthis.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n\t\t\tthis.cd.detectChanges();\n\t\t\tthis.setCurrentSlide(item);\n\t\t}\n\t}\n\n\tprivate initContainer(): void {\n\t\tif (this.newsTickerItems.length === 1) {\n\t\t\tthis.resizeTicker();\n\t\t\tthis.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n\t\t\treturn;\n\t\t}\n\t\tthis.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n\t\tthis.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n\t\tthis.unsubscribeListener = this.renderer2.listen(this.slidesContainer.nativeElement, 'transitionend', () => this.checkIndex());\n\t\tthis.resizeTicker();\n\t\tthis.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n\t\tif (this.isAutoplay) {\n\t\t\tthis.startAutoplay();\n\t\t}\n\t}\n\n\tprivate checkIndex(): void {\n\t\tif (this.itemIndex === 1) {\n\t\t\tconst item = this.getFirstItem(this.newsTickerItems.toArray());\n\t\t\tthis.moveSlides(item, false);\n\t\t} else if (this.itemIndex === this.itemsCount) {\n\t\t\tconst item = this.getLastItem(this.newsTickerItems.toArray());\n\t\t\tthis.moveSlides(item, false);\n\t\t}\n\t}\n\n\tprivate resizeTicker(): void {\n\t\tlet highestSlide = 0;\n\t\tthis.newsTickerItems.forEach((slide) => {\n\t\t\tconst slideHeight = slide.el.nativeElement.offsetHeight;\n\t\t\thighestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n\t\t});\n\t}\n\n\tprivate getNextIndex(): number {\n\t\treturn this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n\t}\n\n\tprivate getCurrentItem(): EclNewsTickerItemComponent {\n\t\treturn this.getAllItemsArray()[this.itemIndex];\n\t}\n\n\tprivate getPrevIndex(): number {\n\t\treturn this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n\t}\n\n\tprivate getFirstItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n\t\treturn items.length > 0 ? items[0] : null;\n\t}\n\n\tprivate getLastItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n\t\treturn items[items.length - 1];\n\t}\n\n\tprivate getLastContentChild(): string {\n\t\treturn this.newsTickerItems.length > 0 ? this.newsTickerItems.get(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n\t}\n\n\tprivate getFirstContentChild(): string {\n\t\treturn this.newsTickerItems.length > 0 ? this.newsTickerItems.get(0).el.nativeElement.innerHTML : '';\n\t}\n\n\tprivate getAllItemsArray(): EclNewsTickerItemComponent[] {\n\t\treturn [...[this.firstHiddenItem], ...this.newsTickerItems.toArray(), ...[this.lastHiddenItem]];\n\t}\n\n\tprivate setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n\t\tthis.newsTickerItems.forEach((item) => {\n\t\t\titem.isCurrent = false;\n\t\t\tif (item === currentItem) {\n\t\t\t\titem.isCurrent = true;\n\t\t\t}\n\t\t});\n\t}\n}\n","<div class=\"ecl-news-ticker__container\">\n <div class=\"ecl-news-ticker__content\" [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\" [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\" (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\" #slidesContainer>\n @if(isShowControls) {\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n }\n <ng-content></ng-content>\n @if(isShowControls) {\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n }\n </ul>\n </div>\n</div>\n\n@if(isShowControls) {\n<div class=\"ecl-news-ticker__controls\">\n <div class=\"ecl-news-ticker__actions\">\n <button eclButton class=\"ecl-news-ticker__prev\" variant=\"tertiary\" isIconOnly (click)=\"onPrevious()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.PREV-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button #playBtn eclButton class=\"ecl-news-ticker__play\" variant=\"tertiary\" isIconOnly [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\" (keydown.enter)=\"onPlayBtnEnter($event)\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted icon=\"play-outline\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton class=\"ecl-news-ticker__pause\" variant=\"tertiary\" isIconOnly [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\" (keydown.enter)=\"onPauseBtnEnter($event)\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted icon=\"pause-outline\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton class=\"ecl-news-ticker__next\" variant=\"tertiary\" isIconOnly (click)=\"onNext()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.NEXT-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to mark and style the icon inside a news ticker item.\n */\n@Directive({\n\tselector: '[eclNewsTickerIcon]',\n})\nexport class EclNewsTickerIconDirective extends ECLBaseDirective {\n\t/**\n\t * Adds the `ecl-news-ticker__icon` class to the host element.\n\t */\n\t@HostBinding('class.ecl-news-ticker__icon') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerIconDirective } from './ecl-news-ticker-icon.directive';\n\nconst COMPONENTS = [\n EclNewsTickerComponent,\n EclNewsTickerItemComponent,\n EclNewsTickerIconDirective,\n];\n\n/**\n * @description\n * Module that provides the EclNewsTicker component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_NEWS_TICKER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclNewsTickerModule {}\n","import { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerIconDirective } from './ecl-news-ticker-icon.directive';\n\nexport * from './ecl-news-ticker.module';\nexport * from './ecl-news-ticker.component';\nexport * from './ecl-news-ticker-item.component';\nexport * from './ecl-news-ticker-icon.directive';\nexport * from './events/ecl-news-ticker-item.event';\n\nexport const EUI_ECL_NEWS_TICKER = [\n EclNewsTickerComponent,\n EclNewsTickerItemComponent,\n EclNewsTickerIconDirective,\n] as const;\n","/**\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-news-ticker.mjs","sources":["../../components/ecl-news-ticker/ecl-news-ticker-item.component.ts","../../components/ecl-news-ticker/ecl-news-ticker-item.component.html","../../components/ecl-news-ticker/events/ecl-news-ticker-item.event.ts","../../components/ecl-news-ticker/ecl-news-ticker.component.ts","../../components/ecl-news-ticker/ecl-news-ticker.component.html","../../components/ecl-news-ticker/ecl-news-ticker-icon.directive.ts","../../components/ecl-news-ticker/ecl-news-ticker.module.ts","../../components/ecl-news-ticker/index.ts","../../components/ecl-news-ticker/eui-ecl-components-ecl-news-ticker.ts"],"sourcesContent":["import { AfterContentInit, Component, ContentChild, ElementRef, EventEmitter, HostBinding, OnDestroy, Output, inject } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n@Component({\n\tselector: 'ecl-news-ticker-item',\n\ttemplateUrl: './ecl-news-ticker-item.component.html',\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n\tel = inject(ElementRef);\n\n\t/**\n\t * Optional projected `ecl-link` element within the news ticker item.\n\t */\n\t@ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n\t/**\n\t * Emitted when the internal link receives focus (used to cancel autoplay).\n\t */\n\t@Output() itemFocused = new EventEmitter<null>();\n\n\t/**\n\t * HostBinding to set the component’s CSS classes.\n\t */\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n\t}\n\n\t/**\n\t * Declares ARIA role as list item for accessibility.\n\t */\n\t@HostBinding('attr.role') role = 'listitem';\n\n\t/**\n\t * Whether this slide is currently visible.\n\t */\n\tget isCurrent(): boolean {\n\t\treturn this._isCurrent;\n\t}\n\tset isCurrent(value: boolean) {\n\t\tthis._isCurrent = value;\n\t\tif (this.eclLink) {\n\t\t\tthis.setLinkTabindex();\n\t\t}\n\t}\n\tprivate _isCurrent = false;\n\n\t/**\n\t * Sets `aria-hidden` based on current slide visibility.\n\t */\n\t@HostBinding('attr.aria-hidden')\n\tget isAriahidden(): boolean {\n\t\treturn !this.isCurrent || undefined;\n\t}\n\n\t/**\n\t * Sets `inert` attribute when the item is not current (prevents interaction).\n\t */\n\t@HostBinding('attr.inert')\n\tget isInert(): boolean {\n\t\treturn !this.isCurrent || undefined;\n\t}\n\n\tprivate destroy$: Subject<boolean> = new Subject<boolean>();\n\n\t/**\n\t * Lifecycle hook that sets up the internal link class and focus listener.\n\t */\n\tngAfterContentInit(): void {\n\t\tif (this.eclLink) {\n\t\t\tthis.eclLink.class = 'ecl-news-ticker__slide-text';\n\t\t}\n\n\t\tif (this.eclLink) {\n\t\t\tfromEvent(this.eclLink.el.nativeElement, 'focus')\n\t\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.itemFocused.emit();\n\t\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Cleanup on destroy: unsubscribe from observables.\n\t */\n\tngOnDestroy(): void {\n\t\tthis.destroy$.next(true);\n\t\tthis.destroy$.unsubscribe();\n\t}\n\n\tprivate setLinkTabindex(): void {\n\t\tif (this._isCurrent) {\n\t\t\tthis.eclLink.tabindex = null;\n\t\t} else {\n\t\t\tthis.eclLink.tabindex = -1;\n\t\t}\n\t}\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclNewsTickerItemEvent extends EclBaseEvent {\n constructor(public itemIndex: number) {\n super();\n }\n}","import { ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, QueryList, Renderer2, ViewChild, afterNextRender, booleanAttribute, inject } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerItemEvent } from './events/ecl-news-ticker-item.event';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n\tselector: 'ecl-news-ticker',\n\ttemplateUrl: './ecl-news-ticker.component.html',\n\t imports: [\n\t\t...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n\t\tEclNewsTickerItemComponent,\n\t\tTranslateModule,\n\t],\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy {\n\t/**\n\t * Enables or disables automatic cycling through ticker items.\n\t * Defaults to `true`.\n\t */\n\t@Input({ transform: booleanAttribute }) isAutoplay = true;\n\n\t/**\n\t * Emits when the visible news ticker item changes.\n\t * The payload is an instance of `EclNewsTickerItemEvent`.\n\t */\n\t@Output() itemSwitch = new EventEmitter<EclNewsTickerItemEvent>();\n\n\t/**\n\t * Query list of all `EclNewsTickerItemComponent` children projected into this component.\n\t */\n\t@ContentChildren(EclNewsTickerItemComponent) newsTickerItems: QueryList<EclNewsTickerItemComponent>;\n\n\t/**\n\t * Reference to the hidden first item used for looping.\n\t */\n\t@ViewChild('firstHiddenItem') firstHiddenItem: EclNewsTickerItemComponent;\n\n\t/**\n\t * Reference to the hidden last item used for looping.\n\t */\n\t@ViewChild('lastHiddenItem') lastHiddenItem: EclNewsTickerItemComponent;\n\n\t/**\n\t * Reference to the container element that holds the slides.\n\t */\n\t@ViewChild('slidesContainer') slidesContainer: ElementRef;\n\n\t/**\n\t * Reference to the play button used to start autoplay.\n\t */\n\t@ViewChild('playBtn') playBtn: EclButtonComponent;\n\n\t/**\n\t * Reference to the pause button used to stop autoplay.\n\t */\n\t@ViewChild('pauseBtn') pauseBtn: EclButtonComponent;\n\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n\t}\n\n\titemIndex = 1;\n\tplaying = false;\n\tslidesTransform = '';\n\ttransitionDuration: number;\n\tprivate intervalId: number;\n\tprivate PLAY_INTERVAL = 5000;\n\tprivate INIT_DELAY = 300;\n\tprivate _contentHeight: number;\n\tprivate pausePlay = false;\n\tprivate unsubscribeListener: () => void;\n\tprivate destroy$: Subject<boolean> = new Subject<boolean>();\n private renderer2 = inject(Renderer2);\n private cd = inject(ChangeDetectorRef);\n\n\tconstructor() {\n\t\tsuper();\n\t\tafterNextRender(() => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.initContainer();\n\t\t\t}, this.INIT_DELAY);\n\t\t\tthis.newsTickerItems.forEach((item) => {\n\t\t\t\titem.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n\t\t\t\t\tthis.cancelAutoplay();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\t/**\n\t * Returns the height of the currently visible ticker item.\n\t */\n\tget contentHeight(): number {\n\t\treturn this._contentHeight;\n\t}\n\n\t/**\n\t * Returns the number of ticker items.\n\t */\n\tget itemsCount(): number {\n\t\treturn this.newsTickerItems.length;\n\t}\n\n\t/**\n\t * Indicates whether navigation controls should be shown.\n\t */\n\tget isShowControls(): boolean {\n\t\treturn this.newsTickerItems.length > 1;\n\t}\n\n\t/**\n\t * Handles window resize and recalculates the layout.\n\t */\n\t@HostListener('window:resize', ['$event'])\n\tonResize(event): void {\n\t\tsetTimeout(() => {\n\t\t\tthis.resizeTicker();\n\t\t\tthis.moveSlides(this.getCurrentItem(), false);\n\t\t});\n\t}\n\n\t/**\n\t * Lifecycle hook that clears intervals and subscriptions.\n\t */\n\tngOnDestroy(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t}\n\t\tif (this.unsubscribeListener) {\n\t\t\tthis.unsubscribeListener();\n\t\t}\n\t\tthis.destroy$.next(true);\n\t\tthis.destroy$.unsubscribe();\n\t}\n\n\t/**\n\t * Handles \"previous\" button click.\n\t * Navigates to the previous slide and stops autoplay.\n\t */\n\tonPrevious(): void {\n\t\tthis.cancelAutoplay();\n\t\tthis.previousSlide();\n\t}\n\n\t/**\n\t * Moves to the previous slide and emits `itemSwitch` event.\n\t */\n\tpreviousSlide(): void {\n\t\tthis.itemIndex = this.getPrevIndex();\n\t\tif (this.itemIndex === this.itemsCount) {\n\t\t\tthis.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n\t\t} else {\n\t\t\tthis.moveSlides(this.getCurrentItem(), true);\n\t\t}\n\t\tthis.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n\t}\n\n\t/**\n\t * Handles \"next\" button click.\n\t * Navigates to the next slide and stops autoplay.\n\t */\n\tonNext(): void {\n\t\tthis.cancelAutoplay();\n\t\tthis.nextSlide();\n\t}\n\n\t/**\n\t * Moves to the next slide and emits `itemSwitch` event.\n\t */\n\tnextSlide(): void {\n\t\tthis.itemIndex = this.getNextIndex();\n\t\tif (this.itemIndex === 1) {\n\t\t\tthis.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n\t\t} else {\n\t\t\tthis.moveSlides(this.getCurrentItem(), true);\n\t\t}\n\t\tthis.itemSwitch.next(new EclNewsTickerItemEvent(this.itemIndex));\n\t}\n\n\t/**\n\t * Starts automatic cycling of the ticker items.\n\t */\n\tstartAutoplay(): void {\n\t\tthis.playing = true;\n\t\tthis.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n\t}\n\n\t/**\n\t * Cancels the automatic cycling of the ticker items.\n\t */\n\tcancelAutoplay(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t}\n\t\tthis.playing = false;\n\t}\n\n\t/**\n\t * Handles mouse over event on a ticker item.\n\t * Temporarily pauses autoplay.\n\t */\n\tonNewsTickerItemMouseOver(): void {\n\t\tif (this.playing) {\n\t\t\tthis.pausePlay = true;\n\t\t\tthis.cancelAutoplay();\n\t\t}\n\t}\n\n\t/**\n\t * Handles mouse out event from a ticker item.\n\t * Resumes autoplay if it was paused due to hover.\n\t */\n\tonNewsTickerItemMouseOut(): void {\n\t\tif (this.pausePlay) {\n\t\t\tthis.pausePlay = false;\n\t\t\tthis.startAutoplay();\n\t\t}\n\t}\n\n\t/**\n\t * Handles focus event on the \"Play\" button.\n\t * Starts autoplay and shifts focus to the \"Pause\" button.\n\t */\n\tonPlayBtnEnter(evt: Event): void {\n\t\tevt.preventDefault();\n\t\tthis.startAutoplay();\n\t\tthis.cd.detectChanges();\n\t\tthis.pauseBtn.el.nativeElement.focus();\n\t}\n\n\t/**\n\t * Handles focus event on the \"Pause\" button.\n\t * Stops autoplay and shifts focus to the \"Play\" button.\n\t */\n\tonPauseBtnEnter(evt: Event): void {\n\t\tevt.preventDefault();\n\t\tthis.cancelAutoplay();\n\t\tthis.cd.detectChanges();\n\t\tthis.playBtn.el.nativeElement.focus();\n\t}\n\n\tprivate moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n\t\tif (item) {\n\t\t\tconst newOffset = item.el.nativeElement.offsetTop;\n\t\t\tconst newHeight = item.el.nativeElement.offsetHeight;\n\t\t\tthis._contentHeight = newHeight;\n\t\t\tthis.transitionDuration = withTransition ? 0.4 : 0;\n\t\t\tthis.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n\t\t\tthis.cd.detectChanges();\n\t\t\tthis.setCurrentSlide(item);\n\t\t}\n\t}\n\n\tprivate initContainer(): void {\n\t\tif (this.newsTickerItems.length === 1) {\n\t\t\tthis.resizeTicker();\n\t\t\tthis.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n\t\t\treturn;\n\t\t}\n\t\tthis.firstHiddenItem.el.nativeElement.innerHTML = this.getLastContentChild();\n\t\tthis.lastHiddenItem.el.nativeElement.innerHTML = this.getFirstContentChild();\n\t\tthis.unsubscribeListener = this.renderer2.listen(this.slidesContainer.nativeElement, 'transitionend', () => this.checkIndex());\n\t\tthis.resizeTicker();\n\t\tthis.moveSlides(this.getFirstItem(this.newsTickerItems.toArray()), false);\n\t\tif (this.isAutoplay) {\n\t\t\tthis.startAutoplay();\n\t\t}\n\t}\n\n\tprivate checkIndex(): void {\n\t\tif (this.itemIndex === 1) {\n\t\t\tconst item = this.getFirstItem(this.newsTickerItems.toArray());\n\t\t\tthis.moveSlides(item, false);\n\t\t} else if (this.itemIndex === this.itemsCount) {\n\t\t\tconst item = this.getLastItem(this.newsTickerItems.toArray());\n\t\t\tthis.moveSlides(item, false);\n\t\t}\n\t}\n\n\tprivate resizeTicker(): void {\n\t\tlet highestSlide = 0;\n\t\tthis.newsTickerItems.forEach((slide) => {\n\t\t\tconst slideHeight = slide.el.nativeElement.offsetHeight;\n\t\t\thighestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n\t\t});\n\t}\n\n\tprivate getNextIndex(): number {\n\t\treturn this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n\t}\n\n\tprivate getCurrentItem(): EclNewsTickerItemComponent {\n\t\treturn this.getAllItemsArray()[this.itemIndex];\n\t}\n\n\tprivate getPrevIndex(): number {\n\t\treturn this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n\t}\n\n\tprivate getFirstItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n\t\treturn items.length > 0 ? items[0] : null;\n\t}\n\n\tprivate getLastItem(items: Array<EclNewsTickerItemComponent>): EclNewsTickerItemComponent {\n\t\treturn items[items.length - 1];\n\t}\n\n\tprivate getLastContentChild(): string {\n\t\treturn this.newsTickerItems.length > 0 ? this.newsTickerItems.get(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n\t}\n\n\tprivate getFirstContentChild(): string {\n\t\treturn this.newsTickerItems.length > 0 ? this.newsTickerItems.get(0).el.nativeElement.innerHTML : '';\n\t}\n\n\tprivate getAllItemsArray(): EclNewsTickerItemComponent[] {\n\t\treturn [...[this.firstHiddenItem], ...this.newsTickerItems.toArray(), ...[this.lastHiddenItem]];\n\t}\n\n\tprivate setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n\t\tthis.newsTickerItems.forEach((item) => {\n\t\t\titem.isCurrent = false;\n\t\t\tif (item === currentItem) {\n\t\t\t\titem.isCurrent = true;\n\t\t\t}\n\t\t});\n\t}\n}\n","<div class=\"ecl-news-ticker__container\">\n <div class=\"ecl-news-ticker__content\" [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\" [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\" (mouseover)=\"onNewsTickerItemMouseOver()\"\n (mouseout)=\"onNewsTickerItemMouseOut()\" #slidesContainer>\n @if(isShowControls) {\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n }\n <ng-content></ng-content>\n @if(isShowControls) {\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n }\n </ul>\n </div>\n</div>\n\n@if(isShowControls) {\n<div class=\"ecl-news-ticker__controls\">\n <div class=\"ecl-news-ticker__actions\">\n <button eclButton class=\"ecl-news-ticker__prev\" variant=\"tertiary\" isIconOnly (click)=\"onPrevious()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.PREV-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-270\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button #playBtn eclButton class=\"ecl-news-ticker__play\" variant=\"tertiary\" isIconOnly [class.ecl-u-d-none]=\"playing\"\n (click)=\"startAutoplay()\" (keydown.enter)=\"onPlayBtnEnter($event)\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon isInverted icon=\"play-outline\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button #pauseBtn eclButton class=\"ecl-news-ticker__pause\" variant=\"tertiary\" isIconOnly [class.ecl-u-d-none]=\"!playing\"\n (click)=\"cancelAutoplay()\" (keydown.enter)=\"onPauseBtnEnter($event)\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon isInverted icon=\"pause-outline\" size=\"l\" class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n <button eclButton class=\"ecl-news-ticker__next\" variant=\"tertiary\" isIconOnly (click)=\"onNext()\">\n <span eclButtonLabel>\n {{ 'ecl.news-ticker.NEXT-ITEM' | translate }}\n </span>\n <ecl-icon isInverted icon=\"corner-arrow\" size=\"l\" transform=\"rotate-90\"\n class=\"ecl-news-ticker__icon-default\"></ecl-icon>\n </button>\n </div>\n <div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span>\n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n </div>\n</div>\n}","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to mark and style the icon inside a news ticker item.\n */\n@Directive({\n\tselector: '[eclNewsTickerIcon]',\n})\nexport class EclNewsTickerIconDirective extends ECLBaseDirective {\n\t/**\n\t * Adds the `ecl-news-ticker__icon` class to the host element.\n\t */\n\t@HostBinding('class.ecl-news-ticker__icon') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerIconDirective } from './ecl-news-ticker-icon.directive';\n\nconst COMPONENTS = [\n EclNewsTickerComponent,\n EclNewsTickerItemComponent,\n EclNewsTickerIconDirective,\n];\n\n/**\n * @description\n * Module that provides the EclNewsTicker component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_NEWS_TICKER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclNewsTickerModule {}\n","import { EclNewsTickerComponent } from './ecl-news-ticker.component';\nimport { EclNewsTickerItemComponent } from './ecl-news-ticker-item.component';\nimport { EclNewsTickerIconDirective } from './ecl-news-ticker-icon.directive';\n\nexport * from './ecl-news-ticker.module';\nexport * from './ecl-news-ticker.component';\nexport * from './ecl-news-ticker-item.component';\nexport * from './ecl-news-ticker-icon.directive';\nexport * from './events/ecl-news-ticker-item.event';\n\nexport const EUI_ECL_NEWS_TICKER = [\n EclNewsTickerComponent,\n EclNewsTickerItemComponent,\n EclNewsTickerIconDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ import { AsyncPipe, TitleCasePipe } from '@angular/common';
5
5
  import * as i3 from '@ngx-translate/core';
6
6
  import { TranslateModule } from '@ngx-translate/core';
7
7
  import * as i2 from '@eui/ecl/components/ecl-button';
8
- import { EclButtonModule } from '@eui/ecl/components/ecl-button';
8
+ import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
9
9
  import * as i1 from '@eui/ecl/components/ecl-icon';
10
- import { EclIconModule } from '@eui/ecl/components/ecl-icon';
10
+ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
11
11
 
12
12
  /**
13
13
  * Event emitted when the notification is closed.
@@ -96,15 +96,15 @@ class EclNotificationComponent extends ECLBaseDirective {
96
96
  }
97
97
  }
98
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclNotificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.1", type: EclNotificationComponent, isStandalone: true, selector: "ecl-notification", inputs: { notificationTitle: "notificationTitle", variant: "variant", isVisible: ["isVisible", "isVisible", booleanAttribute], isCloseable: ["isCloseable", "isCloseable", booleanAttribute] }, outputs: { close: "close" }, host: { properties: { "attr.role": "this.role", "class.ecl-u-d-none": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: EclButtonModule }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.1", type: EclNotificationComponent, isStandalone: true, selector: "ecl-notification", inputs: { notificationTitle: "notificationTitle", variant: "variant", isVisible: ["isVisible", "isVisible", booleanAttribute], isCloseable: ["isCloseable", "isCloseable", booleanAttribute] }, outputs: { close: "close" }, host: { properties: { "attr.role": "this.role", "class.ecl-u-d-none": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
100
100
  }
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclNotificationComponent, decorators: [{
102
102
  type: Component,
103
103
  args: [{ selector: 'ecl-notification', imports: [
104
104
  AsyncPipe,
105
105
  TitleCasePipe,
106
- EclIconModule,
107
- EclButtonModule,
106
+ ...EUI_ECL_ICON,
107
+ ...EUI_ECL_BUTTON,
108
108
  TranslateModule,
109
109
  ], template: "@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n" }]
110
110
  }], propDecorators: { notificationTitle: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-notification.mjs","sources":["../../components/ecl-notification/events/ecl-notification-close.event.ts","../../components/ecl-notification/ecl-notification.component.ts","../../components/ecl-notification/ecl-notification.component.html","../../components/ecl-notification/ecl-notification-title.directive.ts","../../components/ecl-notification/ecl-notification.module.ts","../../components/ecl-notification/index.ts","../../components/ecl-notification/eui-ecl-components-ecl-notification.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when the notification is closed.\n *\n * Can be used to prevent default close behavior by calling `event.preventDefault()`.\n */\nexport class EclNotificationCloseEvent extends EclBaseEvent {\n}\n","import { Component, Input, Output, EventEmitter, HostBinding, booleanAttribute, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclNotificationCloseEvent } from './events/ecl-notification-close.event';\nimport { AsyncPipe, TitleCasePipe } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-notification',\n templateUrl: './ecl-notification.component.html',\n imports: [\n AsyncPipe,\n TitleCasePipe,\n EclIconModule,\n EclButtonModule,\n TranslateModule,\n ],\n})\nexport class EclNotificationComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * The title of the notification. This is displayed inside the component.\n */\n @Input() notificationTitle: string;\n\n /**\n * Defines the visual style of the notification.\n * Can be one of: 'info' | 'success' | 'warning' | 'error'.\n * Default is 'info'.\n */\n @Input() variant: 'info' | 'success' | 'warning' | 'error' = 'info';\n\n /**\n * Controls the visibility of the notification.\n * When false, the component is hidden using CSS utility class.\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n\n /**\n * Indicates whether the close button is displayed.\n */\n @Input({ transform: booleanAttribute }) isCloseable = true;\n\n /**\n * Emits an event when the close button is clicked.\n * Consumers can call `preventDefault()` on the emitted event to prevent the notification from closing.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter<EclNotificationCloseEvent>();\n\n /**\n * The ARIA role for the component. Set to \"alert\" by default.\n */\n @HostBinding('attr.role')\n role = 'alert';\n\n private variantTitleIconMapping = new Map<string, { title: string, icon: string }>([\n ['info', { title: 'information', icon: 'information' }],\n ['success', { title: 'success', icon: 'check-filled' }],\n ['warning', { title: 'warning', icon: 'warning' }],\n ['error', { title: 'error', icon: 'error' }],\n ]);\n\n /**\n * Applies the `ecl-u-d-none` utility class when the notification is not visible.\n */\n @HostBinding('class.ecl-u-d-none')\n get isHidden(): boolean {\n return !this.isVisible;\n }\n\n /**\n * Computes the CSS classes applied to the host element, including the modifier for the current variant.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification'), this.variant ? `ecl-notification--${this.variant}` : ''].join(' ').trim();\n }\n\n /**\n * Returns the default title text based on the current variant.\n */\n get title(): string {\n return this.titleAndIconBaseOnVariant.title;\n }\n\n /**\n * Returns the icon name based on the current variant.\n */\n get icon(): string {\n return this.titleAndIconBaseOnVariant.icon;\n }\n\n /**\n * Returns a mapping of title and icon based on the current variant.\n */\n get titleAndIconBaseOnVariant(): { title: string, icon: string } {\n return this.variantTitleIconMapping.get(this.variant) || { title: 'information', icon: 'information' };\n }\n\n /**\n * Handles the click event on the close button.\n * Emits a `close` event with an instance of `EclNotificationCloseEvent`.\n * If the event is not prevented, the notification is hidden.\n */\n onCloseClick(evt: Event): void {\n const event = new EclNotificationCloseEvent();\n this.close.next(event);\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n}\n","@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to a notification title element.\n * Adds the appropriate ECL class for styling the notification title.\n */\n@Directive({\n selector: '[eclNotificationTitle]',\n})\nexport class EclNotificationTitleDirective extends ECLBaseDirective {\n /**\n * Host binding for applying the ECL notification title CSS class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification__title')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\n/**\n * @description\n * Module that provides the EclNotification component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_NOTIFICATION} instead.\n */\n@NgModule({\n imports: [EclNotificationComponent, EclNotificationTitleDirective],\n exports: [EclNotificationComponent, EclNotificationTitleDirective],\n})\nexport class EclNotificationModule {}\n","import { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\nexport * from './ecl-notification.module';\nexport * from './ecl-notification.component';\nexport * from './ecl-notification-title.directive';\nexport * from './events/ecl-notification-close.event';\n\nexport const EUI_ECL_NOTIFICATION = [\n EclNotificationComponent,\n EclNotificationTitleDirective,\n] as const;\n","/**\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-notification.mjs","sources":["../../components/ecl-notification/events/ecl-notification-close.event.ts","../../components/ecl-notification/ecl-notification.component.ts","../../components/ecl-notification/ecl-notification.component.html","../../components/ecl-notification/ecl-notification-title.directive.ts","../../components/ecl-notification/ecl-notification.module.ts","../../components/ecl-notification/index.ts","../../components/ecl-notification/eui-ecl-components-ecl-notification.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when the notification is closed.\n *\n * Can be used to prevent default close behavior by calling `event.preventDefault()`.\n */\nexport class EclNotificationCloseEvent extends EclBaseEvent {\n}\n","import { Component, Input, Output, EventEmitter, HostBinding, booleanAttribute, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclNotificationCloseEvent } from './events/ecl-notification-close.event';\nimport { AsyncPipe, TitleCasePipe } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-notification',\n templateUrl: './ecl-notification.component.html',\n imports: [\n AsyncPipe,\n TitleCasePipe,\n ...EUI_ECL_ICON,\n ...EUI_ECL_BUTTON,\n TranslateModule,\n ],\n})\nexport class EclNotificationComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * The title of the notification. This is displayed inside the component.\n */\n @Input() notificationTitle: string;\n\n /**\n * Defines the visual style of the notification.\n * Can be one of: 'info' | 'success' | 'warning' | 'error'.\n * Default is 'info'.\n */\n @Input() variant: 'info' | 'success' | 'warning' | 'error' = 'info';\n\n /**\n * Controls the visibility of the notification.\n * When false, the component is hidden using CSS utility class.\n */\n @Input({ transform: booleanAttribute }) isVisible = true;\n\n /**\n * Indicates whether the close button is displayed.\n */\n @Input({ transform: booleanAttribute }) isCloseable = true;\n\n /**\n * Emits an event when the close button is clicked.\n * Consumers can call `preventDefault()` on the emitted event to prevent the notification from closing.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() close = new EventEmitter<EclNotificationCloseEvent>();\n\n /**\n * The ARIA role for the component. Set to \"alert\" by default.\n */\n @HostBinding('attr.role')\n role = 'alert';\n\n private variantTitleIconMapping = new Map<string, { title: string, icon: string }>([\n ['info', { title: 'information', icon: 'information' }],\n ['success', { title: 'success', icon: 'check-filled' }],\n ['warning', { title: 'warning', icon: 'warning' }],\n ['error', { title: 'error', icon: 'error' }],\n ]);\n\n /**\n * Applies the `ecl-u-d-none` utility class when the notification is not visible.\n */\n @HostBinding('class.ecl-u-d-none')\n get isHidden(): boolean {\n return !this.isVisible;\n }\n\n /**\n * Computes the CSS classes applied to the host element, including the modifier for the current variant.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification'), this.variant ? `ecl-notification--${this.variant}` : ''].join(' ').trim();\n }\n\n /**\n * Returns the default title text based on the current variant.\n */\n get title(): string {\n return this.titleAndIconBaseOnVariant.title;\n }\n\n /**\n * Returns the icon name based on the current variant.\n */\n get icon(): string {\n return this.titleAndIconBaseOnVariant.icon;\n }\n\n /**\n * Returns a mapping of title and icon based on the current variant.\n */\n get titleAndIconBaseOnVariant(): { title: string, icon: string } {\n return this.variantTitleIconMapping.get(this.variant) || { title: 'information', icon: 'information' };\n }\n\n /**\n * Handles the click event on the close button.\n * Emits a `close` event with an instance of `EclNotificationCloseEvent`.\n * If the event is not prevented, the notification is hidden.\n */\n onCloseClick(evt: Event): void {\n const event = new EclNotificationCloseEvent();\n this.close.next(event);\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n}\n","@if( eclThemeService.isEC$ | async ){\n <ecl-icon size=\"l\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n} @else {\n <ecl-icon size=\"m\" class=\"ecl-notification__icon\" [icon]=\"icon\" [title]=\"title | titlecase \"></ecl-icon>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close\" isIconOnly (click)=\"onCloseClick($event)\">\n <span eclButtonLabel>\n {{ 'ecl.common.CLOSE' | translate }}\n </span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n }\n\n <ng-content select=\"[eclNotificationTitle]\"></ng-content>\n <div class=\"ecl-notification__description\"><ng-content></ng-content></div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to a notification title element.\n * Adds the appropriate ECL class for styling the notification title.\n */\n@Directive({\n selector: '[eclNotificationTitle]',\n})\nexport class EclNotificationTitleDirective extends ECLBaseDirective {\n /**\n * Host binding for applying the ECL notification title CSS class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification__title')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\n/**\n * @description\n * Module that provides the EclNotification component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_NOTIFICATION} instead.\n */\n@NgModule({\n imports: [EclNotificationComponent, EclNotificationTitleDirective],\n exports: [EclNotificationComponent, EclNotificationTitleDirective],\n})\nexport class EclNotificationModule {}\n","import { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\nexport * from './ecl-notification.module';\nexport * from './ecl-notification.component';\nexport * from './ecl-notification-title.directive';\nexport * from './events/ecl-notification-close.event';\n\nexport const EUI_ECL_NOTIFICATION = [\n EclNotificationComponent,\n EclNotificationTitleDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, ElementRef, EventEmitter, booleanAttribute, Output, Input, HostBinding, ViewEncapsulation, Component, Directive, numberAttribute, ContentChild, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/router';
4
- import { RouterModule } from '@angular/router';
5
- import * as i4 from '@ngx-translate/core';
3
+ import { RouterLink, RouterLinkWithHref } from '@angular/router';
4
+ import * as i3 from '@ngx-translate/core';
6
5
  import { TranslateModule } from '@ngx-translate/core';
7
6
  import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
8
- import * as i2 from '@eui/ecl/components/ecl-icon';
9
- import { EclIconModule } from '@eui/ecl/components/ecl-icon';
10
- import * as i3 from '@eui/ecl/components/ecl-link';
11
- import { EclLinkModule } from '@eui/ecl/components/ecl-link';
7
+ import * as i1 from '@eui/ecl/components/ecl-icon';
8
+ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
9
+ import * as i2 from '@eui/ecl/components/ecl-link';
10
+ import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
12
11
  import { NgTemplateOutlet } from '@angular/common';
13
12
  import { DefaultConfig, EuiPagination } from '@eui/base';
14
13
 
@@ -119,11 +118,11 @@ class EclPaginationItemComponent extends ECLBaseDirective {
119
118
  return this.isPrevious || this.isNext;
120
119
  }
121
120
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclPaginationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.1", type: EclPaginationItemComponent, isStandalone: true, selector: "ecl-pagination-item, li[eclPaginationItem]", inputs: { label: "label", ariaLabel: "ariaLabel", pagesCount: "pagesCount", isCurrent: ["isCurrent", "isCurrent", booleanAttribute], isNext: ["isNext", "isNext", booleanAttribute], isPrevious: ["isPrevious", "isPrevious", booleanAttribute], isTruncated: ["isTruncated", "isTruncated", booleanAttribute], routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href" }, outputs: { pageClick: "pageClick" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "class.ecl-pagination__item--truncation": "this.isTruncated" } }, usesInheritance: true, ngImport: i0, template: "@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 } }}\"\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}}\">\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}", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: EclLinkModule }, { kind: "directive", type: i3.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i3.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
121
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.1", type: EclPaginationItemComponent, isStandalone: true, selector: "ecl-pagination-item, li[eclPaginationItem]", inputs: { label: "label", ariaLabel: "ariaLabel", pagesCount: "pagesCount", isCurrent: ["isCurrent", "isCurrent", booleanAttribute], isNext: ["isNext", "isNext", booleanAttribute], isPrevious: ["isPrevious", "isPrevious", booleanAttribute], isTruncated: ["isTruncated", "isTruncated", booleanAttribute], routerLink: "routerLink", queryParams: "queryParams", queryParamsHandling: "queryParamsHandling", href: "href" }, outputs: { pageClick: "pageClick" }, host: { properties: { "class": "this.cssClasses", "attr.role": "this.role", "class.ecl-pagination__item--truncation": "this.isTruncated" } }, usesInheritance: true, ngImport: i0, template: "@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 } }}\"\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}}\">\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}", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.EclLinkDirective, selector: "[eclLink]", inputs: ["isInverted", "isIconOnly", "isNoVisited", "variant"] }, { kind: "directive", type: i2.EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
123
122
  }
124
123
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclPaginationItemComponent, decorators: [{
125
124
  type: Component,
126
- args: [{ selector: 'ecl-pagination-item, li[eclPaginationItem]', imports: [RouterModule, TranslateModule, EclIconModule, EclLinkModule], encapsulation: ViewEncapsulation.None, template: "@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 } }}\"\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}}\">\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}" }]
125
+ args: [{ selector: 'ecl-pagination-item, li[eclPaginationItem]', imports: [RouterLink, RouterLinkWithHref, TranslateModule, ...EUI_ECL_ICON, ...EUI_ECL_LINK], encapsulation: ViewEncapsulation.None, template: "@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 } }}\"\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}}\">\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}" }]
127
126
  }], ctorParameters: () => [], propDecorators: { cssClasses: [{
128
127
  type: HostBinding,
129
128
  args: ['class']
@@ -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/ecl-pagination.module.ts","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } 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// TODO: ecl-pagination-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-pagination-item, li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterModule, TranslateModule, EclIconModule, EclLinkModule],\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 @Input() label: string;\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n @Input() ariaLabel: string;\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 @Input({ transform: booleanAttribute }) isCurrent: boolean;\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n @Input({ transform: booleanAttribute }) isNext: boolean;\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n @Input({ transform: booleanAttribute }) isPrevious: boolean;\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 @Input() queryParams: Params | null = null;\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Href link for navigation.\n */\n @Input() href: string;\n\n /**\n * Emits when the pagination item is clicked.\n */\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\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.next(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 } }}\"\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}}\">\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, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, numberAttribute } 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 @Input() mode: 'manual' | 'auto' = 'manual';\n\n /**\n * Total number of items in the list.\n */\n @Input({ transform: numberAttribute }) totalItems: number = DefaultConfig.totalItems;\n\n /**\n * Number of items displayed on a single page.\n */\n @Input({ transform: numberAttribute }) pageSize: number = DefaultConfig.pageSize;\n\n /**\n * Currently selected page number.\n */\n @Input({ transform: numberAttribute }) currentPage: number = DefaultConfig.currentPage;\n\n /**\n * Number of pagination links visible around the current page.\n */\n @Input({ transform: numberAttribute }) pageWindowSize: number = DefaultConfig.pageWindowSize;\n\n /**\n * Emits a pagination event each time the page changes.\n */\n @Output() page = new EventEmitter<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.next(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 { NgModule } from '@angular/core';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nconst COMPONENTS = [EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective];\n\n/**\n * Module that provides the EclPaginationComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_PAGINATION} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPaginationModule {}\n","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.module';\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/ecl-pagination.module.ts","../../components/ecl-pagination/index.ts","../../components/ecl-pagination/eui-ecl-components-ecl-pagination.ts"],"sourcesContent":["import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation, booleanAttribute, inject } from '@angular/core';\nimport { Params, QueryParamsHandling, RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { TranslateModule } 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// TODO: ecl-pagination-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-pagination-item, li[eclPaginationItem]',\n templateUrl: './ecl-pagination-item.component.html',\n imports: [RouterLink, RouterLinkWithHref, TranslateModule, ...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 @Input() label: string;\n\n /**\n * Value for the `aria-label` attribute used for accessibility.\n */\n @Input() ariaLabel: string;\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 @Input({ transform: booleanAttribute }) isCurrent: boolean;\n\n /**\n * Adds the `ecl-pagination__item--next` class when true.\n */\n @Input({ transform: booleanAttribute }) isNext: boolean;\n\n /**\n * Adds the `ecl-pagination__item--previous` class when true.\n */\n @Input({ transform: booleanAttribute }) isPrevious: boolean;\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 @Input() queryParams: Params | null = null;\n\n /**\n * Determines how query parameters are handled during navigation.\n */\n @Input() queryParamsHandling: QueryParamsHandling = null;\n\n /**\n * Href link for navigation.\n */\n @Input() href: string;\n\n /**\n * Emits when the pagination item is clicked.\n */\n @Output() pageClick = new EventEmitter<EclPaginationItemClickEvent>();\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.next(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 } }}\"\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}}\">\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, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, numberAttribute } 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 @Input() mode: 'manual' | 'auto' = 'manual';\n\n /**\n * Total number of items in the list.\n */\n @Input({ transform: numberAttribute }) totalItems: number = DefaultConfig.totalItems;\n\n /**\n * Number of items displayed on a single page.\n */\n @Input({ transform: numberAttribute }) pageSize: number = DefaultConfig.pageSize;\n\n /**\n * Currently selected page number.\n */\n @Input({ transform: numberAttribute }) currentPage: number = DefaultConfig.currentPage;\n\n /**\n * Number of pagination links visible around the current page.\n */\n @Input({ transform: numberAttribute }) pageWindowSize: number = DefaultConfig.pageWindowSize;\n\n /**\n * Emits a pagination event each time the page changes.\n */\n @Output() page = new EventEmitter<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.next(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 { NgModule } from '@angular/core';\nimport { EclPaginationItemComponent } from './ecl-pagination-item.component';\nimport { EclPaginationListDirective } from './ecl-pagination-list.directive';\nimport { EclPaginationComponent } from './ecl-pagination.component';\n\nconst COMPONENTS = [EclPaginationComponent, EclPaginationItemComponent, EclPaginationListDirective];\n\n/**\n * Module that provides the EclPaginationComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_PAGINATION} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPaginationModule {}\n","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.module';\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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"}
@@ -4,9 +4,9 @@ import { Subject, takeUntil } from 'rxjs';
4
4
  import * as i1 from '@eui/ecl/core';
5
5
  import { ECLBaseDirective, ECLClickOutsideDirective } from '@eui/ecl/core';
6
6
  import * as i2 from '@eui/ecl/components/ecl-button';
7
- import { EclButtonModule } from '@eui/ecl/components/ecl-button';
7
+ import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
8
8
  import * as i3 from '@eui/ecl/components/ecl-icon';
9
- import { EclIconModule } from '@eui/ecl/components/ecl-icon';
9
+ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
10
10
 
11
11
  /**
12
12
  * Directive used to toggle the visibility of an `ecl-popover` component.
@@ -304,7 +304,7 @@ class EclPopoverComponent extends ECLBaseDirective {
304
304
  }
305
305
  }
306
306
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
307
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.1", type: EclPopoverComponent, isStandalone: true, selector: "ecl-popover", host: { listeners: { "eclClickOutside": "onClickOutsidePopover()", "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "onWindowResize($event)", "document:scroll": "onDocumentScroll($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPopoverToggle", first: true, predicate: EclPopoverToggleDirective, descendants: true }], viewQueries: [{ propertyName: "eclPopoverContainerElement", first: true, predicate: ["container"], descendants: true }, { propertyName: "eclPopoverScrollableElement", first: true, predicate: ["scrollable"], descendants: 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\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\" [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\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: "ngmodule", type: EclButtonModule }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: EclIconModule }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
307
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.1", type: EclPopoverComponent, isStandalone: true, selector: "ecl-popover", host: { listeners: { "eclClickOutside": "onClickOutsidePopover()", "document:keydown.escape": "onEscapeKeydownHandler($event)", "window:resize": "onWindowResize($event)", "document:scroll": "onDocumentScroll($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "eclPopoverToggle", first: true, predicate: EclPopoverToggleDirective, descendants: true }], viewQueries: [{ propertyName: "eclPopoverContainerElement", first: true, predicate: ["container"], descendants: true }, { propertyName: "eclPopoverScrollableElement", first: true, predicate: ["scrollable"], descendants: 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\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\" [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\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", "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"] }] }); }
308
308
  }
309
309
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1", ngImport: i0, type: EclPopoverComponent, decorators: [{
310
310
  type: Component,
@@ -315,8 +315,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.1",
315
315
  outputs: ['eclClickOutside'],
316
316
  },
317
317
  ], imports: [
318
- EclButtonModule,
319
- EclIconModule,
318
+ ...EUI_ECL_BUTTON,
319
+ ...EUI_ECL_ICON,
320
320
  ], template: "<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\" [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\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" }]
321
321
  }], propDecorators: { eclPopoverContainerElement: [{
322
322
  type: ViewChild,