@eui/ecl 21.0.0-alpha.37 → 21.0.0-alpha.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/components/ecl-spotlight/package.json +4 -0
  2. package/docs/changelog.html +85 -0
  3. package/docs/components/EclAccordionComponent.html +2 -2
  4. package/docs/components/EclAccordionItemComponent.html +2 -2
  5. package/docs/components/EclAppComponent.html +2 -2
  6. package/docs/components/EclBannerComponent.html +2 -2
  7. package/docs/components/EclBlockquoteComponent.html +2 -2
  8. package/docs/components/EclBreadcrumbComponent.html +3 -3
  9. package/docs/components/EclBreadcrumbSegmentComponent.html +2 -2
  10. package/docs/components/EclButtonComponent.html +51 -3
  11. package/docs/components/EclCardBodyComponent.html +2 -2
  12. package/docs/components/EclCardComponent.html +2 -2
  13. package/docs/components/EclCarouselComponent.html +2 -2
  14. package/docs/components/EclCarouselItemComponent.html +2 -2
  15. package/docs/components/EclCategoryFilterComponent.html +2 -2
  16. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  17. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  18. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  19. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  20. package/docs/components/EclContentBlockComponent.html +2 -2
  21. package/docs/components/EclContentItemComponent.html +2 -2
  22. package/docs/components/EclDateBlockComponent.html +2 -2
  23. package/docs/components/EclDescriptionListDefinitionComponent.html +2 -2
  24. package/docs/components/EclExpandableComponent.html +3 -3
  25. package/docs/components/EclFactFiguresComponent.html +2 -2
  26. package/docs/components/EclFactFiguresDescriptionComponent.html +2 -2
  27. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  28. package/docs/components/EclFactFiguresTitleComponent.html +2 -2
  29. package/docs/components/EclFactFiguresValueComponent.html +2 -2
  30. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  31. package/docs/components/EclFeaturedComponent.html +2 -2
  32. package/docs/components/EclFeaturedItemComponent.html +88 -8
  33. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  34. package/docs/components/EclFileComponent.html +2 -2
  35. package/docs/components/EclFileItemComponent.html +2 -2
  36. package/docs/components/EclFileItemsComponent.html +3 -3
  37. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  38. package/docs/components/EclFormGroupComponent.html +2 -2
  39. package/docs/components/EclFormLabelComponent.html +2 -2
  40. package/docs/components/EclGalleryComponent.html +3 -3
  41. package/docs/components/EclGalleryFooterComponent.html +3 -3
  42. package/docs/components/EclGalleryItemComponent.html +2 -2
  43. package/docs/components/EclIconComponent.html +2 -2
  44. package/docs/components/EclInpageNavigationComponent.html +2 -2
  45. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  46. package/docs/components/EclListIllustrationComponent.html +2 -2
  47. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  48. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  49. package/docs/components/EclMediaContainerComponent.html +2 -2
  50. package/docs/components/EclMegaMenuComponent.html +3 -3
  51. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  52. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  53. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  54. package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
  55. package/docs/components/EclMenuComponent.html +3 -3
  56. package/docs/components/EclMenuItemComponent.html +2 -2
  57. package/docs/components/EclMenuMegaComponent.html +2 -2
  58. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  59. package/docs/components/EclModalBodyComponent.html +29 -3
  60. package/docs/components/EclModalComponent.html +99 -2
  61. package/docs/components/EclModalFooterComponent.html +2 -2
  62. package/docs/components/EclModalHeaderComponent.html +2 -2
  63. package/docs/components/EclMultiselectComponent.html +2 -2
  64. package/docs/components/EclMultiselectDropdownComponent.html +3 -3
  65. package/docs/components/EclMultiselectInputComponent.html +3 -3
  66. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  67. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  68. package/docs/components/EclNavigationListComponent.html +2 -2
  69. package/docs/components/EclNavigationListItemComponent.html +2 -2
  70. package/docs/components/EclNewsTickerComponent.html +3 -3
  71. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  72. package/docs/components/EclNotificationComponent.html +2 -2
  73. package/docs/components/EclPageHeaderComponent.html +2 -2
  74. package/docs/components/EclPaginationComponent.html +2 -2
  75. package/docs/components/EclPaginationItemComponent.html +2 -2
  76. package/docs/components/EclPopoverComponent.html +2 -2
  77. package/docs/components/EclRadioHelpComponent.html +2 -2
  78. package/docs/components/EclRadioLabelComponent.html +2 -2
  79. package/docs/components/EclRangeBubbleComponent.html +2 -2
  80. package/docs/components/EclRangeValueComponent.html +2 -2
  81. package/docs/components/EclRatingFieldComponent.html +2 -2
  82. package/docs/components/EclSearchFormComponent.html +2 -2
  83. package/docs/components/EclSelectContainerComponent.html +3 -3
  84. package/docs/components/EclSiteFooterComponent.html +2 -2
  85. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  86. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  87. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  88. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  89. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  90. package/docs/components/EclSiteHeaderComponent.html +2 -2
  91. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  92. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  93. package/docs/components/EclSiteHeaderLanguageComponent.html +3 -3
  94. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +3 -3
  95. package/docs/components/EclSiteHeaderLoginComponent.html +3 -3
  96. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  97. package/docs/components/EclSiteHeaderSearchComponent.html +3 -3
  98. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  99. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  100. package/docs/components/EclSplashPageComponent.html +2 -2
  101. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  102. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  103. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  104. package/docs/components/EclSpotlightComponent.html +715 -0
  105. package/docs/components/EclSpotlightLinkComponent.html +644 -0
  106. package/docs/components/EclStickyContainerComponent.html +2 -2
  107. package/docs/components/EclTabComponent.html +2 -2
  108. package/docs/components/EclTabLabelComponent.html +2 -2
  109. package/docs/components/EclTabMoreComponent.html +2 -2
  110. package/docs/components/EclTableSortButtonComponent.html +2 -2
  111. package/docs/components/EclTabsComponent.html +3 -3
  112. package/docs/components/EclTagComponent.html +2 -2
  113. package/docs/components/EclTimelineComponent.html +2 -2
  114. package/docs/components/EclTimelineItemComponent.html +22 -50
  115. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  116. package/docs/directives/EclFeaturedItemLinkDirective.html +147 -0
  117. package/docs/directives/EclSpotlightImageDirective.html +535 -0
  118. package/docs/directives/EclSpotlightPictureDirective.html +541 -0
  119. package/docs/js/menu-wc.js +15 -3
  120. package/docs/js/menu-wc_es5.js +1 -1
  121. package/docs/js/search/search_index.js +2 -2
  122. package/docs/miscellaneous/variables.html +32 -0
  123. package/docs/overview.html +2 -2
  124. package/docs/properties.html +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-banner.mjs +1 -1
  126. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +2 -2
  128. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-button.mjs +12 -2
  130. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +2 -2
  132. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  133. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +2 -2
  134. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-featured.mjs +53 -30
  136. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-file.mjs +2 -2
  138. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +4 -4
  140. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +4 -4
  144. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  145. package/fesm2022/eui-ecl-components-ecl-menu.mjs +3 -3
  146. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -4
  148. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +4 -4
  150. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  151. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +3 -3
  152. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-notification.mjs +1 -1
  154. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-popover.mjs +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-select.mjs +2 -2
  160. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +9 -9
  162. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +136 -0
  164. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -0
  165. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +2 -2
  166. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +29 -22
  168. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  169. package/fesm2022/eui-ecl.mjs +14 -11
  170. package/fesm2022/eui-ecl.mjs.map +1 -1
  171. package/package.json +21 -17
  172. package/types/eui-ecl-components-ecl-button.d.ts +4 -2
  173. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -1
  174. package/types/eui-ecl-components-ecl-featured.d.ts +19 -12
  175. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  176. package/types/eui-ecl-components-ecl-modal.d.ts +18 -2
  177. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  178. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  179. package/types/eui-ecl-components-ecl-spotlight.d.ts +70 -0
  180. package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -0
  181. package/types/eui-ecl-components-ecl-timeline.d.ts +11 -5
  182. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
  183. package/types/eui-ecl.d.ts +11 -10
  184. package/types/eui-ecl.d.ts.map +1 -1
@@ -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 { 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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"}
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: any;\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 = Math.floor(item.el.nativeElement.getBoundingClientRect().height,\n );\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\" eclStyle=\"neutral\" 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\" eclStyle=\"neutral\" 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\" eclStyle=\"neutral\" 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\" eclStyle=\"neutral\" 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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"}
@@ -96,7 +96,7 @@ class EclNotificationComponent extends ECLBaseDirective {
96
96
  }
97
97
  }
98
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclNotificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
99
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", 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 ecl-button--neutral\" 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" }] }); }
99
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", 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 ecl-button--neutral\" 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", "eclStyle", "size", "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-rc.0", ngImport: i0, type: EclNotificationComponent, decorators: [{
102
102
  type: Component,
@@ -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 { 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 ecl-button--neutral\" 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":";;;;;;;;;;;AAEA;;;;AAIG;AACG,MAAO,yBAA0B,SAAQ,YAAY,CAAA;AAC1D;;ACYK,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAX9D,IAAA,WAAA,GAAA;;AAYI,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AAOzC;;;;AAIG;QACM,IAAA,CAAA,OAAO,GAA6C,MAAM;AAEnE;;;AAGG;QACqC,IAAA,CAAA,SAAS,GAAG,IAAI;AAExD;;AAEG;QACqC,IAAA,CAAA,WAAW,GAAG,IAAI;AAE1D;;;AAGG;;AAEO,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAA6B;AAE/D;;AAEG;QAEH,IAAA,CAAA,IAAI,GAAG,OAAO;QAEN,IAAA,CAAA,uBAAuB,GAAG,IAAI,GAAG,CAA0C;YAC/E,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACvD,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;YACvD,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAClD,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC/C,SAAA,CAAC;AAmDL,IAAA;AAjDG;;AAEG;AACH,IAAA,IACI,QAAQ,GAAA;AACR,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS;IAC1B;AAEA;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,kBAAA,EAAqB,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC9H;AAEA;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK;IAC/C;AAEA;;AAEG;AACH,IAAA,IAAI,IAAI,GAAA;AACJ,QAAA,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI;IAC9C;AAEA;;AAEG;AACH,IAAA,IAAI,yBAAyB,GAAA;QACzB,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE;IAC1G;AAEA;;;;AAIG;AACH,IAAA,YAAY,CAAC,GAAU,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,IAAI,yBAAyB,EAAE;AAC7C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QAC1B;IACJ;mHA9FS,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAmBb,gBAAgB,CAAA,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAKhB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5CxC,41BAmBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDFQ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAJf,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACT,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;gGAMR,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAXpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,OAAA,EAEnB;wBACL,SAAS;wBACT,aAAa;AACb,wBAAA,GAAG,YAAY;AACf,wBAAA,GAAG,cAAc;wBACjB,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,41BAAA,EAAA;;sBAQA;;sBAOA;;sBAMA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAOrC;;sBAKA,WAAW;uBAAC,WAAW;;sBAavB,WAAW;uBAAC,oBAAoB;;sBAQhC,WAAW;uBAAC,OAAO;;;AE1ExB;;;AAGG;AAIG,MAAO,6BAA8B,SAAQ,gBAAgB,CAAA;AAC/D;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC5E;mHAPS,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;gGAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AACrC,iBAAA;;sBAKI,WAAW;uBAAC,OAAO;;;ACVxB;;;;;AAKG;MAKU,qBAAqB,CAAA;mHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,wBAAwB,EAAE,6BAA6B,CAAA,EAAA,OAAA,EAAA,CACvD,wBAAwB,EAAE,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAEtD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,YAHtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;;gGAGvB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;AAClE,oBAAA,OAAO,EAAE,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;AACnE,iBAAA;;;ACLM,MAAM,oBAAoB,GAAG;IAClC,wBAAwB;IACxB,6BAA6B;;;ACV/B;;AAEG;;;;"}
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 ecl-button--neutral\" 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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"}
@@ -375,7 +375,7 @@ class EclPopoverComponent extends ECLBaseDirective {
375
375
  }
376
376
  }
377
377
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
378
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclPopoverComponent, isStandalone: true, selector: "ecl-popover", outputs: { onOpen: "onOpen", onClose: "onClose" }, host: { listeners: { "eclClickOutside": "onClickOutsidePopover()", "document:keydown.escape": "onEscapeKeydownHandler()", "window:resize": "onWindowResize()", "document:scroll": "onDocumentScroll()" }, 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\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" 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"] }] }); }
378
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclPopoverComponent, isStandalone: true, selector: "ecl-popover", outputs: { onOpen: "onOpen", onClose: "onClose" }, host: { listeners: { "eclClickOutside": "onClickOutsidePopover()", "document:keydown.escape": "onEscapeKeydownHandler()", "window:resize": "onWindowResize()", "document:scroll": "onDocumentScroll()" }, 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\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" 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", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i3.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
379
379
  }
380
380
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclPopoverComponent, decorators: [{
381
381
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/index.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n hostElementRef = inject(ElementRef);\n\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, HostListener, OnDestroy, Renderer2, ViewChild, inject, output } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing an ECL Popover.\n *\n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n onOpen = output();\n onClose = output();\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n\n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n private toggleRect = null;\n private scrollableParent = null;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n if (this.isHidden) {\n this.doOpen();\n } else {\n this.doClose();\n }\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n\n this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle.hostElementRef.nativeElement);\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.doClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.doClose();\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll')\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Protected method used to close the popover and reset related styles.\n */\n protected doClose(): void { // TODO: breaking change v21 (was onClose, but now its an output, and is protected but not public)\n this.isHidden = true;\n this.resetStyles();\n this.onClose.emit();\n }\n\n private doOpen(): void {\n this.isHidden = false;\n this.onOpen.emit();\n }\n\n private getClosestScrollableParent(element: HTMLElement): HTMLElement {\n let parent = element.parentElement;\n\n while (parent) {\n const { overflowY, overflowX } = getComputedStyle(parent);\n const isScrollableY =\n (overflowY === 'auto' || overflowY === 'scroll') &&\n parent.scrollHeight > parent.clientHeight;\n const isScrollableX =\n (overflowX === 'auto' || overflowX === 'scroll') &&\n parent.scrollWidth > parent.clientWidth;\n\n if (isScrollableY || isScrollableX) {\n return parent; // Found the closest scrollable parent\n }\n\n parent = parent.parentElement;\n }\n\n return document.body;\n }\n\n private calculateAvailableSpace(toggleElement, scrollableParent = null) {\n // Get the bounding rect for the toggle element\n this.toggleRect = toggleElement.getBoundingClientRect();\n\n // If no scrollable parent is provided, use the viewport\n const containerRect = scrollableParent\n ? scrollableParent.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n };\n const containerWidth = containerRect.right - containerRect.left;\n const containerHeight = containerRect.bottom - containerRect.top;\n // Calculate the space available in the four directions\n const containerBottom = Math.max(\n 0,\n window.innerHeight - containerRect.bottom,\n );\n const toggleBottom = Math.max(\n 0,\n window.innerHeight - this.toggleRect.bottom,\n );\n const spaceBottom = Math.max(0, toggleBottom - containerBottom);\n\n // Top Space (from toggle's top to container's top)\n const containerTop = Math.max(0, containerRect.top);\n const toggleTop = Math.max(0, this.toggleRect.top);\n const spaceTop = Math.max(0, toggleTop - containerTop);\n\n // Right Space (from toggle's right to container's right)\n const containerRight = Math.max(0, window.innerWidth - containerRect.right);\n const toggleRight = Math.max(0, window.innerWidth - this.toggleRect.right);\n const spaceRight = Math.max(0, toggleRight - containerRight);\n\n // Left Space (from toggle's left to container's left)\n const containerLeft = Math.max(0, containerRect.left);\n const toggleLeft = Math.max(0, this.toggleRect.left);\n const spaceLeft = Math.max(0, toggleLeft - containerLeft);\n\n return {\n containerWidth,\n containerHeight,\n spaceTop,\n spaceBottom,\n spaceLeft,\n spaceRight,\n };\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyles();\n\n const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } =\n this.calculateAvailableSpace(this.eclPopoverToggle.getHostElement(), this.scrollableParent);\n\n // Find the direction with the most available space\n const positioningClass = 'ecl-popover--';\n let direction = '';\n\n if (\n spaceTop > spaceBottom &&\n spaceTop > spaceLeft &&\n spaceTop > spaceRight\n ) {\n direction = 'top';\n } else if (spaceBottom > spaceLeft && spaceBottom > spaceRight) {\n direction = 'bottom';\n } else if (spaceLeft > spaceRight) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n\n this.renderer.addClass(this.el.nativeElement, `${positioningClass}${direction}`);\n\n // Try to use as much of the available width, respecting the max-width set.\n const styles = window.getComputedStyle(this.eclPopoverScrollableElement.nativeElement);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n\n // We consider 90% of the biggest space available\n const horizontalSpace = Math.max(spaceLeft, spaceRight) * 0.9;\n let targetWidth;\n\n // If the available space is larger than maxWidth (plus padding), set to maxWidth\n if (\n maxWidth + padding < horizontalSpace ||\n (direction !== 'left' &&\n direction !== 'right' &&\n containerWidth > maxWidth)\n ) {\n targetWidth = maxWidth;\n }\n // If the available space is smaller than minWidth (plus padding), set to minWidth\n else if (horizontalSpace < minWidth + padding) {\n targetWidth = minWidth;\n }\n // Otherwise, set the width to the available space minus the padding\n else if (direction === 'left' || direction === 'right') {\n targetWidth = horizontalSpace - padding;\n } else {\n targetWidth = (horizontalSpace - padding) * 2;\n }\n\n // Ensure the width does not exceed available space\n this.renderer.setStyle(this.eclPopoverScrollableElement.nativeElement, 'width', `${targetWidth}px`);\n\n this.handlePushClass(direction);\n }\n\n private resetStyles(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, '--ecl-popover-position');\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n\n /**\n * Check whether the popover is going out of its scrollable container and apply the needed repositioning.\n *\n * @param {string} direction\n */\n handlePushClass(direction: string): void {\n requestAnimationFrame(() => {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const scrollableRect = this.scrollableParent.getBoundingClientRect();\n const containerBottom =\n scrollableRect.bottom > window.innerHeight ? 0 : window.innerHeight - scrollableRect.bottom;\n const containerTop =\n scrollableRect.top > window.innerHeight ? 0 : scrollableRect.top;\n const leftOverflow = scrollableRect.left > popoverRect.left;\n const rightOverflow = scrollableRect.right < popoverRect.right;\n const topOverflow = popoverRect.top < containerTop;\n const bottomOverflow =\n containerBottom > window.innerHeight - popoverRect.bottom;\n\n if (direction === 'left' || direction === 'right') {\n if (topOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n // Push the popover to the top edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', `-${Math.round(this.toggleRect.top)}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n if (bottomOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n // Push the popover to the bottom edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', `-${window.innerHeight - this.toggleRect.bottom - containerBottom}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n } else {\n if (leftOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n // Push the popover 8px to the left edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', `-${this.toggleRect.left - scrollableRect.left - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', 'auto');\n }\n if (rightOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n // Push the popover 8px to the right edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', `-${scrollableRect.right - this.toggleRect.right - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', 'auto');\n }\n }\n\n this.handleArrowPosition(direction);\n });\n }\n\n private handleArrowPosition(direction: string): void {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (direction === 'left' || direction === 'right') {\n if (this.el.nativeElement.classList.contains(this.pushBottomClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushTopClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.el.nativeElement.classList.contains(this.pushRightClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushLeftClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly>\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","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n/**\n * @description\n * Module that provides the EclPopover component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_POPOVER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\n","import { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nexport * from './ecl-popover.module';\nexport * from './ecl-popover.component';\nexport * from './ecl-popover-content.directive';\nexport * from './ecl-popover-toggle.directive';\n\nexport const EUI_ECL_POPOVER = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\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-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/index.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n hostElementRef = inject(ElementRef);\n\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, HostListener, OnDestroy, Renderer2, ViewChild, inject, output } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing an ECL Popover.\n *\n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n onOpen = output();\n onClose = output();\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n\n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n private toggleRect = null;\n private scrollableParent = null;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n if (this.isHidden) {\n this.doOpen();\n } else {\n this.doClose();\n }\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n\n this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle.hostElementRef.nativeElement);\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.doClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.doClose();\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll')\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Protected method used to close the popover and reset related styles.\n */\n protected doClose(): void { // TODO: breaking change v21 (was onClose, but now its an output, and is protected but not public)\n this.isHidden = true;\n this.resetStyles();\n this.onClose.emit();\n }\n\n private doOpen(): void {\n this.isHidden = false;\n this.onOpen.emit();\n }\n\n private getClosestScrollableParent(element: HTMLElement): HTMLElement {\n let parent = element.parentElement;\n\n while (parent) {\n const { overflowY, overflowX } = getComputedStyle(parent);\n const isScrollableY =\n (overflowY === 'auto' || overflowY === 'scroll') &&\n parent.scrollHeight > parent.clientHeight;\n const isScrollableX =\n (overflowX === 'auto' || overflowX === 'scroll') &&\n parent.scrollWidth > parent.clientWidth;\n\n if (isScrollableY || isScrollableX) {\n return parent; // Found the closest scrollable parent\n }\n\n parent = parent.parentElement;\n }\n\n return document.body;\n }\n\n private calculateAvailableSpace(toggleElement, scrollableParent = null) {\n // Get the bounding rect for the toggle element\n this.toggleRect = toggleElement.getBoundingClientRect();\n\n // If no scrollable parent is provided, use the viewport\n const containerRect = scrollableParent\n ? scrollableParent.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n };\n const containerWidth = containerRect.right - containerRect.left;\n const containerHeight = containerRect.bottom - containerRect.top;\n // Calculate the space available in the four directions\n const containerBottom = Math.max(\n 0,\n window.innerHeight - containerRect.bottom,\n );\n const toggleBottom = Math.max(\n 0,\n window.innerHeight - this.toggleRect.bottom,\n );\n const spaceBottom = Math.max(0, toggleBottom - containerBottom);\n\n // Top Space (from toggle's top to container's top)\n const containerTop = Math.max(0, containerRect.top);\n const toggleTop = Math.max(0, this.toggleRect.top);\n const spaceTop = Math.max(0, toggleTop - containerTop);\n\n // Right Space (from toggle's right to container's right)\n const containerRight = Math.max(0, window.innerWidth - containerRect.right);\n const toggleRight = Math.max(0, window.innerWidth - this.toggleRect.right);\n const spaceRight = Math.max(0, toggleRight - containerRight);\n\n // Left Space (from toggle's left to container's left)\n const containerLeft = Math.max(0, containerRect.left);\n const toggleLeft = Math.max(0, this.toggleRect.left);\n const spaceLeft = Math.max(0, toggleLeft - containerLeft);\n\n return {\n containerWidth,\n containerHeight,\n spaceTop,\n spaceBottom,\n spaceLeft,\n spaceRight,\n };\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyles();\n\n const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } =\n this.calculateAvailableSpace(this.eclPopoverToggle.getHostElement(), this.scrollableParent);\n\n // Find the direction with the most available space\n const positioningClass = 'ecl-popover--';\n let direction = '';\n\n if (\n spaceTop > spaceBottom &&\n spaceTop > spaceLeft &&\n spaceTop > spaceRight\n ) {\n direction = 'top';\n } else if (spaceBottom > spaceLeft && spaceBottom > spaceRight) {\n direction = 'bottom';\n } else if (spaceLeft > spaceRight) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n\n this.renderer.addClass(this.el.nativeElement, `${positioningClass}${direction}`);\n\n // Try to use as much of the available width, respecting the max-width set.\n const styles = window.getComputedStyle(this.eclPopoverScrollableElement.nativeElement);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n\n // We consider 90% of the biggest space available\n const horizontalSpace = Math.max(spaceLeft, spaceRight) * 0.9;\n let targetWidth;\n\n // If the available space is larger than maxWidth (plus padding), set to maxWidth\n if (\n maxWidth + padding < horizontalSpace ||\n (direction !== 'left' &&\n direction !== 'right' &&\n containerWidth > maxWidth)\n ) {\n targetWidth = maxWidth;\n }\n // If the available space is smaller than minWidth (plus padding), set to minWidth\n else if (horizontalSpace < minWidth + padding) {\n targetWidth = minWidth;\n }\n // Otherwise, set the width to the available space minus the padding\n else if (direction === 'left' || direction === 'right') {\n targetWidth = horizontalSpace - padding;\n } else {\n targetWidth = (horizontalSpace - padding) * 2;\n }\n\n // Ensure the width does not exceed available space\n this.renderer.setStyle(this.eclPopoverScrollableElement.nativeElement, 'width', `${targetWidth}px`);\n\n this.handlePushClass(direction);\n }\n\n private resetStyles(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, '--ecl-popover-position');\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n\n /**\n * Check whether the popover is going out of its scrollable container and apply the needed repositioning.\n *\n * @param {string} direction\n */\n handlePushClass(direction: string): void {\n requestAnimationFrame(() => {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const scrollableRect = this.scrollableParent.getBoundingClientRect();\n const containerBottom =\n scrollableRect.bottom > window.innerHeight ? 0 : window.innerHeight - scrollableRect.bottom;\n const containerTop =\n scrollableRect.top > window.innerHeight ? 0 : scrollableRect.top;\n const leftOverflow = scrollableRect.left > popoverRect.left;\n const rightOverflow = scrollableRect.right < popoverRect.right;\n const topOverflow = popoverRect.top < containerTop;\n const bottomOverflow =\n containerBottom > window.innerHeight - popoverRect.bottom;\n\n if (direction === 'left' || direction === 'right') {\n if (topOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n // Push the popover to the top edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', `-${Math.round(this.toggleRect.top)}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n if (bottomOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n // Push the popover to the bottom edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', `-${window.innerHeight - this.toggleRect.bottom - containerBottom}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n } else {\n if (leftOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n // Push the popover 8px to the left edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', `-${this.toggleRect.left - scrollableRect.left - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', 'auto');\n }\n if (rightOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n // Push the popover 8px to the right edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', `-${scrollableRect.right - this.toggleRect.right - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', 'auto');\n }\n }\n\n this.handleArrowPosition(direction);\n });\n }\n\n private handleArrowPosition(direction: string): void {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (direction === 'left' || direction === 'right') {\n if (this.el.nativeElement.classList.contains(this.pushBottomClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushTopClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.el.nativeElement.classList.contains(this.pushRightClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushLeftClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly>\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","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n/**\n * @description\n * Module that provides the EclPopover component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_POPOVER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\n","import { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nexport * from './ecl-popover.module';\nexport * from './ecl-popover.component';\nexport * from './ecl-popover-content.directive';\nexport * from './ecl-popover-toggle.directive';\n\nexport const EUI_ECL_POPOVER = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ class EclSearchFormComponent extends ECLBaseDirective {
92
92
  this.onTouched = fn;
93
93
  }
94
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclSearchFormComponent, isStandalone: true, selector: "ecl-search-form", inputs: { searchInputText: "searchInputText", placeholder: "placeholder", searchButtonLabel: "searchButtonLabel", searchButtonIcon: "searchButtonIcon", buttonExtraClassses: "buttonExtraClassses", inputExtraClassses: "inputExtraClassses" }, outputs: { search: "search" }, host: { listeners: { "keydown.enter": "onEnterKeyDown($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'tertiary': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-button--neutral ecl-search-form__button {{buttonExtraClassses}}\" isIconOnly>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: EclFormGroupModule }, { kind: "component", type: i3.EclFormGroupComponent, selector: "[eclFormGroup], ecl-form-group" }, { kind: "ngmodule", type: EclTextInputModule }, { kind: "directive", type: i4.EclTextInputDirective, selector: "input[eclTextInput]", inputs: ["type", "eclSize", "isInvalid"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclSearchFormComponent, isStandalone: true, selector: "ecl-search-form", inputs: { searchInputText: "searchInputText", placeholder: "placeholder", searchButtonLabel: "searchButtonLabel", searchButtonIcon: "searchButtonIcon", buttonExtraClassses: "buttonExtraClassses", inputExtraClassses: "inputExtraClassses" }, outputs: { search: "search" }, host: { listeners: { "keydown.enter": "onEnterKeyDown($event)" }, properties: { "class": "this.cssClasses", "attr.role": "this.role" } }, providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'tertiary': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-button--neutral ecl-search-form__button {{buttonExtraClassses}}\" isIconOnly>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "ngmodule", type: EclFormGroupModule }, { kind: "component", type: i3.EclFormGroupComponent, selector: "[eclFormGroup], ecl-form-group" }, { kind: "ngmodule", type: EclTextInputModule }, { kind: "directive", type: i4.EclTextInputDirective, selector: "input[eclTextInput]", inputs: ["type", "eclSize", "isInvalid"] }, { kind: "component", type: i5.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
96
96
  }
97
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclSearchFormComponent, decorators: [{
98
98
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-search-form.mjs","sources":["../../components/ecl-search-form/events/ecl-search-form.event.ts","../../components/ecl-search-form/ecl-search-form.component.ts","../../components/ecl-search-form/ecl-search-form.component.html","../../components/ecl-search-form/ecl-search-form.module.ts","../../components/ecl-search-form/index.ts","../../components/ecl-search-form/eui-ecl-components-ecl-search-form.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n\tconstructor(public keyword: string) {\n\t\tsuper();\n\t}\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from './events/ecl-search-form.event';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { EclTextInputModule } from '@eui/ecl/components/ecl-text-input';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n/**\n * Component representing search field - input and button, in a responsive, styled layout.\n */\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n imports: [TranslateModule, FormsModule, ...EUI_ECL_BUTTON, EclFormGroupModule, EclTextInputModule, ...EUI_ECL_ICON], // TODO: replace with new names EUI_ECL_...\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n protected eclThemeService = inject(EclThemeService);\n\n /**\n * The current/default search text.\n */\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n @Input() buttonExtraClassses = '';\n @Input() inputExtraClassses = '';\n\n /**\n * Applies the base class `ecl-search-form` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n /**\n * This event is emited, when user performs the search action. Includes the search text from the input field.\n */\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n /**\n * Perform search when user clicks the search button. Emits the search event with the search text.\n */\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Perform search when user clicks Enter when on the input field. Emits the search event with the search text.\n */\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Assigns the new input text value to the 'searchInputText' property, each time the input is changed.\n * @param newValue\n */\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n","<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'tertiary': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-button--neutral ecl-search-form__button {{buttonExtraClassses}}\" isIconOnly>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\n\n/**\n * Module that provides the EclSearchForm component.\n *\n * @deprecated Use {@link EUI_ECL_SEARCH_FORM} instead.\n */\n@NgModule({\n imports: [EclSearchFormComponent],\n exports: [EclSearchFormComponent],\n})\nexport class EclSearchFormModule {}\n","import { EclSearchFormComponent } from './ecl-search-form.component';\n\nexport * from './ecl-search-form.module';\nexport * from './ecl-search-form.component';\nexport * from './events/ecl-search-form.event';\n\nexport const EUI_ECL_SEARCH_FORM = [\n EclSearchFormComponent,\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-search-form.mjs","sources":["../../components/ecl-search-form/events/ecl-search-form.event.ts","../../components/ecl-search-form/ecl-search-form.component.ts","../../components/ecl-search-form/ecl-search-form.component.html","../../components/ecl-search-form/ecl-search-form.module.ts","../../components/ecl-search-form/index.ts","../../components/ecl-search-form/eui-ecl-components-ecl-search-form.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n\tconstructor(public keyword: string) {\n\t\tsuper();\n\t}\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n inject,\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from './events/ecl-search-form.event';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { EclTextInputModule } from '@eui/ecl/components/ecl-text-input';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n/**\n * Component representing search field - input and button, in a responsive, styled layout.\n */\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n imports: [TranslateModule, FormsModule, ...EUI_ECL_BUTTON, EclFormGroupModule, EclTextInputModule, ...EUI_ECL_ICON], // TODO: replace with new names EUI_ECL_...\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n protected eclThemeService = inject(EclThemeService);\n\n /**\n * The current/default search text.\n */\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n @Input() buttonExtraClassses = '';\n @Input() inputExtraClassses = '';\n\n /**\n * Applies the base class `ecl-search-form` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n /**\n * This event is emited, when user performs the search action. Includes the search text from the input field.\n */\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n /**\n * Perform search when user clicks the search button. Emits the search event with the search text.\n */\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Perform search when user clicks Enter when on the input field. Emits the search event with the search text.\n */\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Assigns the new input text value to the 'searchInputText' property, each time the input is changed.\n * @param newValue\n */\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n","<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'tertiary': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-button--neutral ecl-search-form__button {{buttonExtraClassses}}\" isIconOnly>\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\n\n/**\n * Module that provides the EclSearchForm component.\n *\n * @deprecated Use {@link EUI_ECL_SEARCH_FORM} instead.\n */\n@NgModule({\n imports: [EclSearchFormComponent],\n exports: [EclSearchFormComponent],\n})\nexport class EclSearchFormModule {}\n","import { EclSearchFormComponent } from './ecl-search-form.component';\n\nexport * from './ecl-search-form.module';\nexport * from './ecl-search-form.component';\nexport * from './events/ecl-search-form.event';\n\nexport const EUI_ECL_SEARCH_FORM = [\n EclSearchFormComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ class EclSelectContainerComponent extends ECLBaseDirective {
53
53
  }
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclSelectContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclSelectContainerComponent, isStandalone: true, selector: "ecl-select-container", inputs: { eclSize: "eclSize", disabled: ["disabled", "disabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute], toggleLabel: "toggleLabel" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"ghost\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\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: "ngmodule", type: TranslateModule }, { 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: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclSelectContainerComponent, isStandalone: true, selector: "ecl-select-container", inputs: { eclSize: "eclSize", disabled: ["disabled", "disabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute], toggleLabel: "toggleLabel" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\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: "ngmodule", type: TranslateModule }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclSelectContainerComponent, decorators: [{
59
59
  type: Component,
@@ -61,7 +61,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ng
61
61
  ...EUI_ECL_ICON,
62
62
  TranslateModule,
63
63
  ...EUI_ECL_BUTTON,
64
- ], template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"ghost\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
64
+ ], template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
65
65
  }], propDecorators: { eclSize: [{
66
66
  type: Input
67
67
  }], disabled: [{