@eui/ecl 22.0.0-alpha.39 → 22.0.0-alpha.40

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 (650) hide show
  1. package/docs/changelog.html +28 -0
  2. package/docs/components/EclAddToCalendarComponent.html +42 -3
  3. package/docs/components/EclAnimatedNumbersComponent.html +42 -3
  4. package/docs/components/EclAnimatedNumbersItemComponent.html +42 -3
  5. package/docs/components/EclAppComponent.html +26 -3
  6. package/docs/components/EclBannerComponent.html +42 -3
  7. package/docs/components/EclBlockquoteComponent.html +42 -3
  8. package/docs/components/EclBreadcrumbComponent.html +104 -4
  9. package/docs/components/EclBreadcrumbSegmentComponent.html +26 -3
  10. package/docs/components/EclButtonComponent.html +42 -3
  11. package/docs/components/EclCardBodyComponent.html +42 -3
  12. package/docs/components/EclCardComponent.html +42 -3
  13. package/docs/components/EclCarouselComponent.html +26 -3
  14. package/docs/components/EclCarouselItemComponent.html +26 -3
  15. package/docs/components/EclCategoryFilterComponent.html +42 -3
  16. package/docs/components/EclCategoryFilterItemComponent.html +26 -3
  17. package/docs/components/EclCategoryFilterListComponent.html +42 -3
  18. package/docs/components/EclCheckboxHelpComponent.html +42 -3
  19. package/docs/components/EclCheckboxLabelComponent.html +42 -3
  20. package/docs/components/EclContentBlockComponent.html +42 -3
  21. package/docs/components/EclContentItemComponent.html +42 -3
  22. package/docs/components/EclDateBlockComponent.html +42 -3
  23. package/docs/components/EclDescriptionListDefinitionComponent.html +42 -3
  24. package/docs/components/EclExpandableComponent.html +21 -58
  25. package/docs/components/EclFactFiguresComponent.html +42 -3
  26. package/docs/components/EclFactFiguresItemComponent.html +42 -3
  27. package/docs/components/EclFactFiguresViewAllComponent.html +42 -3
  28. package/docs/components/EclFeaturedComponent.html +42 -3
  29. package/docs/components/EclFeaturedItemComponent.html +42 -3
  30. package/docs/components/EclFeaturedItemDescriptionComponent.html +42 -3
  31. package/docs/components/EclFileComponent.html +26 -3
  32. package/docs/components/EclFileItemComponent.html +42 -3
  33. package/docs/components/EclFileItemsComponent.html +26 -3
  34. package/docs/components/EclFileListsComponent.html +42 -3
  35. package/docs/components/EclFormGroupComponent.html +42 -3
  36. package/docs/components/EclFormLabelComponent.html +42 -3
  37. package/docs/components/EclGalleryComponent.html +26 -3
  38. package/docs/components/EclGalleryItemComponent.html +26 -3
  39. package/docs/components/EclHighlightBoxComponent.html +42 -3
  40. package/docs/components/EclHighlightedSearchComponent.html +26 -3
  41. package/docs/components/EclInpageNavigationComponent.html +26 -3
  42. package/docs/components/EclInpageNavigationItemComponent.html +26 -3
  43. package/docs/components/EclLayoutWrapperComponent.html +42 -3
  44. package/docs/components/EclListIllustrationComponent.html +42 -3
  45. package/docs/components/EclListIllustrationItemComponent.html +42 -3
  46. package/docs/components/EclLoadingIndicatorComponent.html +42 -3
  47. package/docs/components/EclMediaContainerComponent.html +42 -3
  48. package/docs/components/EclMegaMenuComponent.html +26 -3
  49. package/docs/components/EclMegaMenuFeaturedComponent.html +42 -3
  50. package/docs/components/EclMegaMenuInfoComponent.html +42 -3
  51. package/docs/components/EclMegaMenuItemComponent.html +26 -3
  52. package/docs/components/EclMegaMenuSubitemComponent.html +26 -3
  53. package/docs/components/EclMenuComponent.html +26 -3
  54. package/docs/components/EclMenuItemComponent.html +26 -3
  55. package/docs/components/EclMenuMegaComponent.html +26 -3
  56. package/docs/components/EclMenuMegaItemComponent.html +26 -3
  57. package/docs/components/EclModalBodyComponent.html +42 -3
  58. package/docs/components/EclModalComponent.html +26 -3
  59. package/docs/components/EclModalFooterComponent.html +42 -3
  60. package/docs/components/EclModalHeaderComponent.html +26 -3
  61. package/docs/components/EclMultiselectComponent.html +26 -3
  62. package/docs/components/EclMultiselectDropdownComponent.html +27 -4
  63. package/docs/components/EclMultiselectInputComponent.html +26 -3
  64. package/docs/components/EclMultiselectOptgroupComponent.html +42 -3
  65. package/docs/components/EclMultiselectOptionComponent.html +26 -3
  66. package/docs/components/EclNavigationListComponent.html +42 -3
  67. package/docs/components/EclNavigationListItemComponent.html +42 -3
  68. package/docs/components/EclNewsTickerComponent.html +26 -3
  69. package/docs/components/EclNewsTickerItemComponent.html +26 -3
  70. package/docs/components/EclNotificationComponent.html +26 -3
  71. package/docs/components/EclPageHeaderComponent.html +42 -3
  72. package/docs/components/EclPageHeaderDescriptionContainerComponent.html +42 -3
  73. package/docs/components/EclPageHeaderExpandableComponent.html +42 -3
  74. package/docs/components/EclPageHeaderSectionComponent.html +42 -3
  75. package/docs/components/EclPageHeaderSectionInfoComponent.html +42 -3
  76. package/docs/components/EclPaginationComponent.html +26 -3
  77. package/docs/components/EclPaginationItemComponent.html +26 -3
  78. package/docs/components/EclPopoverComponent.html +26 -3
  79. package/docs/components/EclQuizCardComponent.html +26 -3
  80. package/docs/components/EclQuizComponent.html +42 -3
  81. package/docs/components/EclRadioHelpComponent.html +26 -3
  82. package/docs/components/EclRadioLabelComponent.html +26 -3
  83. package/docs/components/EclRangeBubbleComponent.html +42 -3
  84. package/docs/components/EclRangeValueComponent.html +42 -3
  85. package/docs/components/EclRatingFieldComponent.html +21 -21
  86. package/docs/components/EclSearchFormComponent.html +26 -3
  87. package/docs/components/EclSelectContainerComponent.html +26 -3
  88. package/docs/components/EclSiteFooterComponent.html +42 -3
  89. package/docs/components/EclSiteFooterCoownerComponent.html +42 -3
  90. package/docs/components/EclSiteFooterCoreComponent.html +42 -3
  91. package/docs/components/EclSiteFooterFeedbackComponent.html +42 -3
  92. package/docs/components/EclSiteFooterFixedContentEUComponent.html +42 -3
  93. package/docs/components/EclSiteFooterRowCommonComponent.html +42 -3
  94. package/docs/components/EclSiteHeaderActionComponent.html +42 -3
  95. package/docs/components/EclSiteHeaderBannerTopComponent.html +42 -3
  96. package/docs/components/EclSiteHeaderComponent.html +26 -3
  97. package/docs/components/EclSiteHeaderCustomActionComponent.html +42 -3
  98. package/docs/components/EclSiteHeaderEnvironmentComponent.html +42 -3
  99. package/docs/components/EclSiteHeaderLanguageComponent.html +26 -3
  100. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +26 -3
  101. package/docs/components/EclSiteHeaderLoginComponent.html +26 -3
  102. package/docs/components/EclSiteHeaderNotificationComponent.html +42 -3
  103. package/docs/components/EclSiteHeaderSearchComponent.html +26 -3
  104. package/docs/components/EclSloganTickerComponent.html +42 -3
  105. package/docs/components/EclSocialMediaFollowComponent.html +42 -3
  106. package/docs/components/EclSocialMediaFollowItemComponent.html +26 -3
  107. package/docs/components/EclSplashPageComponent.html +27 -29
  108. package/docs/components/EclSplashPageLanguageCategoryComponent.html +27 -34
  109. package/docs/components/EclSplashPageLanguageContainerComponent.html +27 -34
  110. package/docs/components/EclSplashPageLanguageLinkComponent.html +39 -45
  111. package/docs/components/EclSpotlightComponent.html +28 -31
  112. package/docs/components/EclSpotlightLinkComponent.html +27 -29
  113. package/docs/components/EclStickyContainerComponent.html +26 -70
  114. package/docs/components/EclStoryCardComponent.html +27 -4
  115. package/docs/components/EclStoryCardGridDetailsComponent.html +42 -3
  116. package/docs/components/EclStoryCardItemComponent.html +26 -3
  117. package/docs/components/EclTabComponent.html +40 -310
  118. package/docs/components/EclTabLabelComponent.html +42 -3
  119. package/docs/components/EclTableSortButtonComponent.html +23 -73
  120. package/docs/components/EclTabsComponent.html +27 -1619
  121. package/docs/components/EclTagComponent.html +26 -3
  122. package/docs/components/EclTextMediaComponent.html +42 -3
  123. package/docs/components/EclTimelineComponent.html +42 -3
  124. package/docs/components/EclTimelineItemComponent.html +26 -3
  125. package/docs/components/EclTimelineItemTogglerComponent.html +26 -3
  126. package/docs/directives/ECLBaseDirective.html +42 -3
  127. package/docs/directives/ECLClickOutsideDirective.html +26 -3
  128. package/docs/directives/EclBannerDescriptionDirective.html +42 -3
  129. package/docs/directives/EclBannerDescriptionLinkDirective.html +42 -3
  130. package/docs/directives/EclBannerDescriptionTextDirective.html +42 -3
  131. package/docs/directives/EclBannerImageDirective.html +42 -3
  132. package/docs/directives/EclBannerPictureDirective.html +42 -3
  133. package/docs/directives/EclBannerTitleDirective.html +42 -3
  134. package/docs/directives/EclBannerTitleLinkDirective.html +42 -3
  135. package/docs/directives/EclBannerTitleTextDirective.html +42 -3
  136. package/docs/directives/EclBannerVideoDirective.html +42 -3
  137. package/docs/directives/EclBlockquoteImageDirective.html +42 -3
  138. package/docs/directives/EclBlockquotePictureDirective.html +42 -3
  139. package/docs/directives/EclBreadcrumbContainerDirective.html +42 -3
  140. package/docs/directives/EclButtonLabelDirective.html +42 -3
  141. package/docs/directives/EclCardImageDirective.html +42 -3
  142. package/docs/directives/EclCardPictureDirective.html +42 -3
  143. package/docs/directives/EclCheckboxDirective.html +42 -3
  144. package/docs/directives/EclCheckboxInputDirective.html +42 -3
  145. package/docs/directives/EclContainerDirective.html +42 -3
  146. package/docs/directives/EclContentBlockDescriptionDirective.html +42 -3
  147. package/docs/directives/EclContentBlockLabelDirective.html +42 -3
  148. package/docs/directives/EclContentBlockLabelsDirective.html +42 -3
  149. package/docs/directives/EclContentBlockLinkDirective.html +42 -3
  150. package/docs/directives/EclContentBlockLinksContainerDirective.html +42 -3
  151. package/docs/directives/EclContentBlockLinksDirective.html +42 -3
  152. package/docs/directives/EclContentBlockListContainerDirective.html +42 -3
  153. package/docs/directives/EclContentBlockListDirective.html +42 -3
  154. package/docs/directives/EclContentBlockPrimaryMetaDirective.html +42 -3
  155. package/docs/directives/EclContentBlockPrimaryMetasDirective.html +42 -3
  156. package/docs/directives/EclContentBlockSecondaryMetaDirective.html +42 -3
  157. package/docs/directives/EclContentBlockSecondaryMetaIconDirective.html +42 -3
  158. package/docs/directives/EclContentBlockSecondaryMetaLabelDirective.html +42 -3
  159. package/docs/directives/EclContentBlockSecondaryMetasDirective.html +42 -3
  160. package/docs/directives/EclContentBlockTagDirective.html +42 -3
  161. package/docs/directives/EclContentBlockTagsDirective.html +42 -3
  162. package/docs/directives/EclContentBlockTitleDirective.html +42 -3
  163. package/docs/directives/EclContentItemImageDirective.html +42 -3
  164. package/docs/directives/EclContentItemPictureDirective.html +42 -3
  165. package/docs/directives/EclDescriptionListDefinitionItemDirective.html +42 -3
  166. package/docs/directives/EclDescriptionListDefinitionListDirective.html +42 -3
  167. package/docs/directives/EclDescriptionListDirective.html +42 -3
  168. package/docs/directives/EclDescriptionListTermDirective.html +42 -3
  169. package/docs/directives/EclDividerDirective.html +42 -3
  170. package/docs/directives/EclFactFiguresDescriptionDirective.html +42 -3
  171. package/docs/directives/EclFeaturedItemLinkDirective.html +42 -3
  172. package/docs/directives/EclFeaturedMediaAnchorDirective.html +42 -3
  173. package/docs/directives/EclFeedbackMessageDirective.html +42 -3
  174. package/docs/directives/EclFileDownloadDirective.html +42 -3
  175. package/docs/directives/EclFileImageDirective.html +42 -3
  176. package/docs/directives/EclFileMetaDirective.html +42 -3
  177. package/docs/directives/EclFilePictureDirective.html +42 -3
  178. package/docs/directives/EclFilePreviewDirective.html +42 -3
  179. package/docs/directives/EclFileTitleDirective.html +42 -3
  180. package/docs/directives/EclFileTranslationDownloadDirective.html +42 -3
  181. package/docs/directives/EclFileUploadDirective.html +26 -3
  182. package/docs/directives/EclGalleryMediaDirective.html +42 -3
  183. package/docs/directives/EclGalleryPictureDirective.html +42 -3
  184. package/docs/directives/EclGalleryThumbnailDirective.html +42 -3
  185. package/docs/directives/EclHelpBlockDirective.html +42 -3
  186. package/docs/directives/EclHiddenDirective.html +42 -3
  187. package/docs/directives/EclInpageNavigationListDirective.html +42 -3
  188. package/docs/directives/EclLabelDirective.html +42 -3
  189. package/docs/directives/EclLinkDirective.html +42 -3
  190. package/docs/directives/EclLinkLabelDirective.html +42 -3
  191. package/docs/directives/EclListIllustrationIconDirective.html +42 -3
  192. package/docs/directives/EclListIllustrationImageDirective.html +42 -3
  193. package/docs/directives/EclListIllustrationPictureDirective.html +42 -3
  194. package/docs/directives/EclLoadingIndicatorOverlayDirective.html +42 -3
  195. package/docs/directives/EclMediaContainerCaptionDirective.html +42 -3
  196. package/docs/directives/EclMediaContainerCreditDirective.html +42 -3
  197. package/docs/directives/EclMediaContainerIframeDirective.html +42 -3
  198. package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +42 -3
  199. package/docs/directives/EclMediaContainerItemDirective.html +42 -3
  200. package/docs/directives/EclMediaContainerPictureDirective.html +42 -3
  201. package/docs/directives/EclMegaMenuContainerDirective.html +42 -3
  202. package/docs/directives/EclMegaMenuFeaturedImageDirective.html +42 -3
  203. package/docs/directives/EclMegaMenuFeaturedListDirective.html +42 -3
  204. package/docs/directives/EclMegaMenuFeaturedListItemDescriptionDirective.html +42 -3
  205. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +42 -3
  206. package/docs/directives/EclMegaMenuFeaturedPictureDirective.html +42 -3
  207. package/docs/directives/EclMegaMenuListDirective.html +42 -3
  208. package/docs/directives/EclMegaMenuSpacerDirective.html +42 -3
  209. package/docs/directives/EclMegaMenuSublistDirective.html +26 -3
  210. package/docs/directives/EclModalBodyFixedContentDirective.html +42 -3
  211. package/docs/directives/EclModalCloseDirective.html +26 -3
  212. package/docs/directives/EclModalTriggerDirective.html +42 -3
  213. package/docs/directives/EclMultiselectOptionDirective.html +42 -3
  214. package/docs/directives/EclNavigationListImageDirective.html +42 -3
  215. package/docs/directives/EclNavigationListPictureDirective.html +42 -3
  216. package/docs/directives/EclNewsTickerIconDirective.html +42 -3
  217. package/docs/directives/EclNotificationTitleDirective.html +42 -3
  218. package/docs/directives/EclOrderedListDirective.html +42 -3
  219. package/docs/directives/EclOrderedListItemDirective.html +42 -3
  220. package/docs/directives/EclPageHeaderBackgroundImageDirective.html +42 -3
  221. package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +42 -3
  222. package/docs/directives/EclPageHeaderContainerDirective.html +42 -3
  223. package/docs/directives/EclPageHeaderDescriptionDirective.html +42 -3
  224. package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +42 -3
  225. package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +42 -3
  226. package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +42 -3
  227. package/docs/directives/EclPageHeaderInfoDirective.html +42 -3
  228. package/docs/directives/EclPageHeaderMetaDirective.html +42 -3
  229. package/docs/directives/EclPageHeaderMetaItemDirective.html +42 -3
  230. package/docs/directives/EclPageHeaderTitleDirective.html +42 -3
  231. package/docs/directives/EclPaginationListDirective.html +42 -3
  232. package/docs/directives/EclPopoverContentDirective.html +42 -3
  233. package/docs/directives/EclPopoverToggleDirective.html +26 -3
  234. package/docs/directives/EclRadioDirective.html +42 -3
  235. package/docs/directives/EclRadioInputDirective.html +42 -3
  236. package/docs/directives/EclRangeDirective.html +26 -3
  237. package/docs/directives/EclSelectDirective.html +42 -3
  238. package/docs/directives/EclSiteFooterColumnDirective.html +42 -3
  239. package/docs/directives/EclSiteFooterCoownerItemDirective.html +42 -3
  240. package/docs/directives/EclSiteFooterCoownerListDirective.html +42 -3
  241. package/docs/directives/EclSiteFooterDescriptionDirective.html +42 -3
  242. package/docs/directives/EclSiteFooterDescriptionNameDirective.html +42 -3
  243. package/docs/directives/EclSiteFooterListDirective.html +42 -3
  244. package/docs/directives/EclSiteFooterListItemDirective.html +42 -3
  245. package/docs/directives/EclSiteFooterRowDirective.html +42 -3
  246. package/docs/directives/EclSiteFooterSectionDirective.html +42 -3
  247. package/docs/directives/EclSiteFooterSocialMediaDirective.html +42 -3
  248. package/docs/directives/EclSiteFooterTitleDirective.html +42 -3
  249. package/docs/directives/EclSiteFooterTitleLinkDirective.html +42 -3
  250. package/docs/directives/EclSiteHeaderCtaDirective.html +42 -3
  251. package/docs/directives/EclSiteHeaderCustomActionContentDirective.html +42 -3
  252. package/docs/directives/EclSiteHeaderCustomActionLinkDirective.html +26 -3
  253. package/docs/directives/EclSiteHeaderCustomActionTitleDirective.html +42 -3
  254. package/docs/directives/EclSiteHeaderImageDirective.html +42 -3
  255. package/docs/directives/EclSiteHeaderLinkDirective.html +42 -3
  256. package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +42 -3
  257. package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +42 -3
  258. package/docs/directives/EclSiteHeaderPictureDirective.html +42 -3
  259. package/docs/directives/EclSocialMediaFollowLinkDirective.html +42 -3
  260. package/docs/directives/EclSplashPageLanguageItemDirective.html +21 -98
  261. package/docs/directives/EclSplashPageLanguageListDirective.html +21 -98
  262. package/docs/directives/EclSplashPageLogoImageDirective.html +23 -29
  263. package/docs/directives/EclSplashPageLogoLinkDirective.html +23 -29
  264. package/docs/directives/EclSplashPagePictureDirective.html +23 -29
  265. package/docs/directives/EclSpotlightImageDirective.html +21 -98
  266. package/docs/directives/EclSpotlightPictureDirective.html +21 -98
  267. package/docs/directives/EclStoryCardLinkDirective.html +42 -3
  268. package/docs/directives/EclStoryCardListDirective.html +42 -3
  269. package/docs/directives/EclStoryCardPictureDirective.html +42 -3
  270. package/docs/directives/EclTableBodyDirective.html +35 -29
  271. package/docs/directives/EclTableCaptionDirective.html +33 -98
  272. package/docs/directives/EclTableCellDirective.html +35 -29
  273. package/docs/directives/EclTableCellGroupDirective.html +35 -29
  274. package/docs/directives/EclTableDirective.html +33 -53
  275. package/docs/directives/EclTableHeadDirective.html +23 -42
  276. package/docs/directives/EclTableHeaderDirective.html +49 -130
  277. package/docs/directives/EclTableResponsiveDirective.html +35 -29
  278. package/docs/directives/EclTableRowDirective.html +35 -29
  279. package/docs/directives/EclTagIconExternalDirective.html +42 -3
  280. package/docs/directives/EclTagSetDirective.html +42 -3
  281. package/docs/directives/EclTagSetItemDirective.html +42 -3
  282. package/docs/directives/EclTextAreaDirective.html +42 -3
  283. package/docs/directives/EclTextInputDirective.html +42 -3
  284. package/docs/directives/EclTimelineItemLabelDirective.html +42 -3
  285. package/docs/directives/EclTimelineItemTitleDirective.html +42 -3
  286. package/docs/directives/EclTimelineSetDirective.html +42 -3
  287. package/docs/directives/EclUnorderedListDirective.html +42 -3
  288. package/docs/directives/EclUnorderedListItemDirective.html +42 -3
  289. package/docs/js/search/search_index.js +2 -2
  290. package/docs/json/ECLBaseDirective.md +5 -2
  291. package/docs/json/ECLClickOutsideDirective.md +3 -2
  292. package/docs/json/EclAddToCalendarComponent.md +5 -2
  293. package/docs/json/EclAnimatedNumbersComponent.md +5 -2
  294. package/docs/json/EclAnimatedNumbersItemComponent.md +5 -2
  295. package/docs/json/EclAppComponent.md +3 -2
  296. package/docs/json/EclBannerComponent.md +5 -2
  297. package/docs/json/EclBannerDescriptionDirective.md +5 -2
  298. package/docs/json/EclBannerDescriptionLinkDirective.md +5 -2
  299. package/docs/json/EclBannerDescriptionTextDirective.md +5 -2
  300. package/docs/json/EclBannerImageDirective.md +5 -2
  301. package/docs/json/EclBannerPictureDirective.md +5 -2
  302. package/docs/json/EclBannerTitleDirective.md +5 -2
  303. package/docs/json/EclBannerTitleLinkDirective.md +5 -2
  304. package/docs/json/EclBannerTitleTextDirective.md +5 -2
  305. package/docs/json/EclBannerVideoDirective.md +5 -2
  306. package/docs/json/EclBlockquoteComponent.md +5 -2
  307. package/docs/json/EclBlockquoteImageDirective.md +5 -2
  308. package/docs/json/EclBlockquotePictureDirective.md +5 -2
  309. package/docs/json/EclBreadcrumbComponent.md +7 -2
  310. package/docs/json/EclBreadcrumbContainerDirective.md +5 -2
  311. package/docs/json/EclBreadcrumbSegmentComponent.md +3 -2
  312. package/docs/json/EclButtonComponent.md +5 -2
  313. package/docs/json/EclButtonLabelDirective.md +5 -2
  314. package/docs/json/EclCardBodyComponent.md +5 -2
  315. package/docs/json/EclCardComponent.md +5 -2
  316. package/docs/json/EclCardImageDirective.md +5 -2
  317. package/docs/json/EclCardPictureDirective.md +5 -2
  318. package/docs/json/EclCarouselComponent.md +3 -2
  319. package/docs/json/EclCarouselItemComponent.md +3 -2
  320. package/docs/json/EclCategoryFilterComponent.md +5 -2
  321. package/docs/json/EclCategoryFilterItemComponent.md +3 -2
  322. package/docs/json/EclCategoryFilterListComponent.md +5 -2
  323. package/docs/json/EclCheckboxDirective.md +5 -2
  324. package/docs/json/EclCheckboxHelpComponent.md +5 -2
  325. package/docs/json/EclCheckboxInputDirective.md +5 -2
  326. package/docs/json/EclCheckboxLabelComponent.md +5 -2
  327. package/docs/json/EclContainerDirective.md +5 -2
  328. package/docs/json/EclContentBlockComponent.md +5 -2
  329. package/docs/json/EclContentBlockDescriptionDirective.md +5 -2
  330. package/docs/json/EclContentBlockLabelDirective.md +5 -2
  331. package/docs/json/EclContentBlockLabelsDirective.md +5 -2
  332. package/docs/json/EclContentBlockLinkDirective.md +5 -2
  333. package/docs/json/EclContentBlockLinksContainerDirective.md +5 -2
  334. package/docs/json/EclContentBlockLinksDirective.md +5 -2
  335. package/docs/json/EclContentBlockListContainerDirective.md +5 -2
  336. package/docs/json/EclContentBlockListDirective.md +5 -2
  337. package/docs/json/EclContentBlockPrimaryMetaDirective.md +5 -2
  338. package/docs/json/EclContentBlockPrimaryMetasDirective.md +5 -2
  339. package/docs/json/EclContentBlockSecondaryMetaDirective.md +5 -2
  340. package/docs/json/EclContentBlockSecondaryMetaIconDirective.md +5 -2
  341. package/docs/json/EclContentBlockSecondaryMetaLabelDirective.md +5 -2
  342. package/docs/json/EclContentBlockSecondaryMetasDirective.md +5 -2
  343. package/docs/json/EclContentBlockTagDirective.md +5 -2
  344. package/docs/json/EclContentBlockTagsDirective.md +5 -2
  345. package/docs/json/EclContentBlockTitleDirective.md +5 -2
  346. package/docs/json/EclContentItemComponent.md +5 -2
  347. package/docs/json/EclContentItemImageDirective.md +5 -2
  348. package/docs/json/EclContentItemPictureDirective.md +5 -2
  349. package/docs/json/EclDateBlockComponent.md +5 -2
  350. package/docs/json/EclDescriptionListDefinitionComponent.md +5 -2
  351. package/docs/json/EclDescriptionListDefinitionItemDirective.md +5 -2
  352. package/docs/json/EclDescriptionListDefinitionListDirective.md +5 -2
  353. package/docs/json/EclDescriptionListDirective.md +5 -2
  354. package/docs/json/EclDescriptionListTermDirective.md +5 -2
  355. package/docs/json/EclDividerDirective.md +5 -2
  356. package/docs/json/EclExpandableComponent.md +5 -6
  357. package/docs/json/EclFactFiguresComponent.md +5 -2
  358. package/docs/json/EclFactFiguresDescriptionDirective.md +5 -2
  359. package/docs/json/EclFactFiguresItemComponent.md +5 -2
  360. package/docs/json/EclFactFiguresViewAllComponent.md +5 -2
  361. package/docs/json/EclFeaturedComponent.md +5 -2
  362. package/docs/json/EclFeaturedItemComponent.md +5 -2
  363. package/docs/json/EclFeaturedItemDescriptionComponent.md +5 -2
  364. package/docs/json/EclFeaturedItemLinkDirective.md +5 -2
  365. package/docs/json/EclFeaturedMediaAnchorDirective.md +5 -2
  366. package/docs/json/EclFeedbackMessageDirective.md +5 -2
  367. package/docs/json/EclFileComponent.md +3 -2
  368. package/docs/json/EclFileDownloadDirective.md +5 -2
  369. package/docs/json/EclFileImageDirective.md +5 -2
  370. package/docs/json/EclFileItemComponent.md +5 -2
  371. package/docs/json/EclFileItemsComponent.md +3 -2
  372. package/docs/json/EclFileListsComponent.md +5 -2
  373. package/docs/json/EclFileMetaDirective.md +5 -2
  374. package/docs/json/EclFilePictureDirective.md +5 -2
  375. package/docs/json/EclFilePreviewDirective.md +5 -2
  376. package/docs/json/EclFileTitleDirective.md +5 -2
  377. package/docs/json/EclFileTranslationDownloadDirective.md +5 -2
  378. package/docs/json/EclFileUploadDirective.md +3 -2
  379. package/docs/json/EclFormGroupComponent.md +5 -2
  380. package/docs/json/EclFormLabelComponent.md +5 -2
  381. package/docs/json/EclGalleryComponent.md +3 -2
  382. package/docs/json/EclGalleryItemComponent.md +3 -2
  383. package/docs/json/EclGalleryMediaDirective.md +5 -2
  384. package/docs/json/EclGalleryPictureDirective.md +5 -2
  385. package/docs/json/EclGalleryThumbnailDirective.md +5 -2
  386. package/docs/json/EclHelpBlockDirective.md +5 -2
  387. package/docs/json/EclHiddenDirective.md +5 -2
  388. package/docs/json/EclHighlightBoxComponent.md +5 -2
  389. package/docs/json/EclHighlightedSearchComponent.md +3 -2
  390. package/docs/json/EclInpageNavigationComponent.md +3 -2
  391. package/docs/json/EclInpageNavigationItemComponent.md +3 -2
  392. package/docs/json/EclInpageNavigationListDirective.md +5 -2
  393. package/docs/json/EclLabelDirective.md +5 -2
  394. package/docs/json/EclLayoutWrapperComponent.md +5 -2
  395. package/docs/json/EclLinkDirective.md +5 -2
  396. package/docs/json/EclLinkLabelDirective.md +5 -2
  397. package/docs/json/EclListIllustrationComponent.md +5 -2
  398. package/docs/json/EclListIllustrationIconDirective.md +5 -2
  399. package/docs/json/EclListIllustrationImageDirective.md +5 -2
  400. package/docs/json/EclListIllustrationItemComponent.md +5 -2
  401. package/docs/json/EclListIllustrationPictureDirective.md +5 -2
  402. package/docs/json/EclLoadingIndicatorComponent.md +5 -2
  403. package/docs/json/EclLoadingIndicatorOverlayDirective.md +5 -2
  404. package/docs/json/EclMediaContainerCaptionDirective.md +5 -2
  405. package/docs/json/EclMediaContainerComponent.md +5 -2
  406. package/docs/json/EclMediaContainerCreditDirective.md +5 -2
  407. package/docs/json/EclMediaContainerIframeDirective.md +5 -2
  408. package/docs/json/EclMediaContainerItemAudioDescriptionDirective.md +5 -2
  409. package/docs/json/EclMediaContainerItemDirective.md +5 -2
  410. package/docs/json/EclMediaContainerPictureDirective.md +5 -2
  411. package/docs/json/EclMegaMenuComponent.md +3 -2
  412. package/docs/json/EclMegaMenuContainerDirective.md +5 -2
  413. package/docs/json/EclMegaMenuFeaturedComponent.md +5 -2
  414. package/docs/json/EclMegaMenuFeaturedImageDirective.md +5 -2
  415. package/docs/json/EclMegaMenuFeaturedListDirective.md +5 -2
  416. package/docs/json/EclMegaMenuFeaturedListItemDescriptionDirective.md +5 -2
  417. package/docs/json/EclMegaMenuFeaturedListItemDirective.md +5 -2
  418. package/docs/json/EclMegaMenuFeaturedPictureDirective.md +5 -2
  419. package/docs/json/EclMegaMenuInfoComponent.md +5 -2
  420. package/docs/json/EclMegaMenuItemComponent.md +3 -2
  421. package/docs/json/EclMegaMenuListDirective.md +5 -2
  422. package/docs/json/EclMegaMenuSpacerDirective.md +5 -2
  423. package/docs/json/EclMegaMenuSubitemComponent.md +3 -2
  424. package/docs/json/EclMegaMenuSublistDirective.md +3 -2
  425. package/docs/json/EclMenuComponent.md +3 -2
  426. package/docs/json/EclMenuItemComponent.md +3 -2
  427. package/docs/json/EclMenuMegaComponent.md +3 -2
  428. package/docs/json/EclMenuMegaItemComponent.md +3 -2
  429. package/docs/json/EclModalBodyComponent.md +5 -2
  430. package/docs/json/EclModalBodyFixedContentDirective.md +5 -2
  431. package/docs/json/EclModalCloseDirective.md +3 -2
  432. package/docs/json/EclModalComponent.md +3 -2
  433. package/docs/json/EclModalFooterComponent.md +5 -2
  434. package/docs/json/EclModalHeaderComponent.md +3 -2
  435. package/docs/json/EclModalTriggerDirective.md +5 -2
  436. package/docs/json/EclMultiselectComponent.md +3 -2
  437. package/docs/json/EclMultiselectDropdownComponent.md +3 -2
  438. package/docs/json/EclMultiselectInputComponent.md +3 -2
  439. package/docs/json/EclMultiselectOptgroupComponent.md +5 -2
  440. package/docs/json/EclMultiselectOptionComponent.md +3 -2
  441. package/docs/json/EclMultiselectOptionDirective.md +5 -2
  442. package/docs/json/EclNavigationListComponent.md +5 -2
  443. package/docs/json/EclNavigationListImageDirective.md +5 -2
  444. package/docs/json/EclNavigationListItemComponent.md +5 -2
  445. package/docs/json/EclNavigationListPictureDirective.md +5 -2
  446. package/docs/json/EclNewsTickerComponent.md +3 -2
  447. package/docs/json/EclNewsTickerIconDirective.md +5 -2
  448. package/docs/json/EclNewsTickerItemComponent.md +3 -2
  449. package/docs/json/EclNotificationComponent.md +3 -2
  450. package/docs/json/EclNotificationTitleDirective.md +5 -2
  451. package/docs/json/EclOrderedListDirective.md +5 -2
  452. package/docs/json/EclOrderedListItemDirective.md +5 -2
  453. package/docs/json/EclPageHeaderBackgroundImageDirective.md +5 -2
  454. package/docs/json/EclPageHeaderBackgroundPictureDirective.md +5 -2
  455. package/docs/json/EclPageHeaderComponent.md +5 -2
  456. package/docs/json/EclPageHeaderContainerDirective.md +5 -2
  457. package/docs/json/EclPageHeaderDescriptionContainerComponent.md +5 -2
  458. package/docs/json/EclPageHeaderDescriptionDirective.md +5 -2
  459. package/docs/json/EclPageHeaderDescriptionPictureDirective.md +5 -2
  460. package/docs/json/EclPageHeaderDescriptionThumbnailDirective.md +5 -2
  461. package/docs/json/EclPageHeaderExpandableComponent.md +5 -2
  462. package/docs/json/EclPageHeaderExpandableHeaderDirective.md +5 -2
  463. package/docs/json/EclPageHeaderInfoDirective.md +5 -2
  464. package/docs/json/EclPageHeaderMetaDirective.md +5 -2
  465. package/docs/json/EclPageHeaderMetaItemDirective.md +5 -2
  466. package/docs/json/EclPageHeaderSectionComponent.md +5 -2
  467. package/docs/json/EclPageHeaderSectionInfoComponent.md +5 -2
  468. package/docs/json/EclPageHeaderTitleDirective.md +5 -2
  469. package/docs/json/EclPaginationComponent.md +3 -2
  470. package/docs/json/EclPaginationItemComponent.md +3 -2
  471. package/docs/json/EclPaginationListDirective.md +5 -2
  472. package/docs/json/EclPopoverComponent.md +3 -2
  473. package/docs/json/EclPopoverContentDirective.md +5 -2
  474. package/docs/json/EclPopoverToggleDirective.md +3 -2
  475. package/docs/json/EclQuizCardComponent.md +3 -2
  476. package/docs/json/EclQuizComponent.md +5 -2
  477. package/docs/json/EclRadioDirective.md +5 -2
  478. package/docs/json/EclRadioHelpComponent.md +3 -2
  479. package/docs/json/EclRadioInputDirective.md +5 -2
  480. package/docs/json/EclRadioLabelComponent.md +3 -2
  481. package/docs/json/EclRangeBubbleComponent.md +5 -2
  482. package/docs/json/EclRangeDirective.md +3 -2
  483. package/docs/json/EclRangeValueComponent.md +5 -2
  484. package/docs/json/EclRatingFieldComponent.md +4 -4
  485. package/docs/json/EclSearchFormComponent.md +3 -2
  486. package/docs/json/EclSelectContainerComponent.md +3 -2
  487. package/docs/json/EclSelectDirective.md +5 -2
  488. package/docs/json/EclSiteFooterColumnDirective.md +5 -2
  489. package/docs/json/EclSiteFooterComponent.md +5 -2
  490. package/docs/json/EclSiteFooterCoownerComponent.md +5 -2
  491. package/docs/json/EclSiteFooterCoownerItemDirective.md +5 -2
  492. package/docs/json/EclSiteFooterCoownerListDirective.md +5 -2
  493. package/docs/json/EclSiteFooterCoreComponent.md +5 -2
  494. package/docs/json/EclSiteFooterDescriptionDirective.md +5 -2
  495. package/docs/json/EclSiteFooterDescriptionNameDirective.md +5 -2
  496. package/docs/json/EclSiteFooterFeedbackComponent.md +5 -2
  497. package/docs/json/EclSiteFooterFixedContentEUComponent.md +5 -2
  498. package/docs/json/EclSiteFooterListDirective.md +5 -2
  499. package/docs/json/EclSiteFooterListItemDirective.md +5 -2
  500. package/docs/json/EclSiteFooterRowCommonComponent.md +5 -2
  501. package/docs/json/EclSiteFooterRowDirective.md +5 -2
  502. package/docs/json/EclSiteFooterSectionDirective.md +5 -2
  503. package/docs/json/EclSiteFooterSocialMediaDirective.md +5 -2
  504. package/docs/json/EclSiteFooterTitleDirective.md +5 -2
  505. package/docs/json/EclSiteFooterTitleLinkDirective.md +5 -2
  506. package/docs/json/EclSiteHeaderActionComponent.md +5 -2
  507. package/docs/json/EclSiteHeaderBannerTopComponent.md +5 -2
  508. package/docs/json/EclSiteHeaderComponent.md +3 -2
  509. package/docs/json/EclSiteHeaderCtaDirective.md +5 -2
  510. package/docs/json/EclSiteHeaderCustomActionComponent.md +3 -2
  511. package/docs/json/EclSiteHeaderCustomActionContentDirective.md +5 -2
  512. package/docs/json/EclSiteHeaderCustomActionLinkDirective.md +3 -2
  513. package/docs/json/EclSiteHeaderCustomActionTitleDirective.md +5 -2
  514. package/docs/json/EclSiteHeaderEnvironmentComponent.md +5 -2
  515. package/docs/json/EclSiteHeaderImageDirective.md +5 -2
  516. package/docs/json/EclSiteHeaderLanguageComponent.md +3 -2
  517. package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +3 -2
  518. package/docs/json/EclSiteHeaderLinkDirective.md +5 -2
  519. package/docs/json/EclSiteHeaderLoginComponent.md +3 -2
  520. package/docs/json/EclSiteHeaderLoginDescriptionDirective.md +5 -2
  521. package/docs/json/EclSiteHeaderLoginSeparatorDirective.md +5 -2
  522. package/docs/json/EclSiteHeaderNotificationComponent.md +5 -2
  523. package/docs/json/EclSiteHeaderPictureDirective.md +5 -2
  524. package/docs/json/EclSiteHeaderSearchComponent.md +3 -2
  525. package/docs/json/EclSloganTickerComponent.md +5 -2
  526. package/docs/json/EclSocialMediaFollowComponent.md +5 -2
  527. package/docs/json/EclSocialMediaFollowItemComponent.md +3 -2
  528. package/docs/json/EclSocialMediaFollowLinkDirective.md +5 -2
  529. package/docs/json/EclSplashPageComponent.md +5 -2
  530. package/docs/json/EclSplashPageLanguageCategoryComponent.md +5 -2
  531. package/docs/json/EclSplashPageLanguageContainerComponent.md +5 -2
  532. package/docs/json/EclSplashPageLanguageItemDirective.md +5 -2
  533. package/docs/json/EclSplashPageLanguageLinkComponent.md +5 -2
  534. package/docs/json/EclSplashPageLanguageListDirective.md +5 -2
  535. package/docs/json/EclSplashPageLogoImageDirective.md +5 -2
  536. package/docs/json/EclSplashPageLogoLinkDirective.md +5 -2
  537. package/docs/json/EclSplashPagePictureDirective.md +5 -2
  538. package/docs/json/EclSpotlightComponent.md +5 -2
  539. package/docs/json/EclSpotlightImageDirective.md +5 -2
  540. package/docs/json/EclSpotlightLinkComponent.md +5 -2
  541. package/docs/json/EclSpotlightPictureDirective.md +5 -2
  542. package/docs/json/EclStickyContainerComponent.md +7 -4
  543. package/docs/json/EclStoryCardComponent.md +3 -2
  544. package/docs/json/EclStoryCardGridDetailsComponent.md +5 -2
  545. package/docs/json/EclStoryCardItemComponent.md +3 -2
  546. package/docs/json/EclStoryCardLinkDirective.md +5 -2
  547. package/docs/json/EclStoryCardListDirective.md +5 -2
  548. package/docs/json/EclStoryCardPictureDirective.md +5 -2
  549. package/docs/json/EclTabComponent.md +5 -4
  550. package/docs/json/EclTabLabelComponent.md +5 -2
  551. package/docs/json/EclTableBodyDirective.md +7 -2
  552. package/docs/json/EclTableCaptionDirective.md +7 -2
  553. package/docs/json/EclTableCellDirective.md +7 -2
  554. package/docs/json/EclTableCellGroupDirective.md +7 -2
  555. package/docs/json/EclTableDirective.md +5 -4
  556. package/docs/json/EclTableHeadDirective.md +5 -2
  557. package/docs/json/EclTableHeaderDirective.md +9 -5
  558. package/docs/json/EclTableResponsiveDirective.md +7 -2
  559. package/docs/json/EclTableRowDirective.md +7 -2
  560. package/docs/json/EclTableSortButtonComponent.md +5 -2
  561. package/docs/json/EclTabsComponent.md +3 -2
  562. package/docs/json/EclTagComponent.md +3 -2
  563. package/docs/json/EclTagIconExternalDirective.md +5 -2
  564. package/docs/json/EclTagSetDirective.md +5 -2
  565. package/docs/json/EclTagSetItemDirective.md +5 -2
  566. package/docs/json/EclTextAreaDirective.md +5 -2
  567. package/docs/json/EclTextInputDirective.md +5 -2
  568. package/docs/json/EclTextMediaComponent.md +5 -2
  569. package/docs/json/EclTimelineComponent.md +5 -2
  570. package/docs/json/EclTimelineItemComponent.md +3 -2
  571. package/docs/json/EclTimelineItemLabelDirective.md +5 -2
  572. package/docs/json/EclTimelineItemTitleDirective.md +5 -2
  573. package/docs/json/EclTimelineItemTogglerComponent.md +3 -2
  574. package/docs/json/EclTimelineSetDirective.md +5 -2
  575. package/docs/json/EclUnorderedListDirective.md +5 -2
  576. package/docs/json/EclUnorderedListItemDirective.md +5 -2
  577. package/docs/json/documentation.json +15953 -6451
  578. package/docs/llms.txt +1633 -931
  579. package/docs/properties.html +1 -1
  580. package/fesm2022/eui-ecl-components-ecl-banner.mjs +1 -1
  581. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  582. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -3
  583. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  584. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +2 -2
  585. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  586. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +22 -20
  587. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  588. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +2 -2
  589. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  590. package/fesm2022/eui-ecl-components-ecl-featured.mjs +1 -1
  591. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  592. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +1 -1
  593. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  594. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +2 -2
  595. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  596. package/fesm2022/eui-ecl-components-ecl-menu.mjs +2 -2
  597. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  598. package/fesm2022/eui-ecl-components-ecl-modal.mjs +1 -1
  599. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  600. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +2 -2
  601. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  602. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +1 -1
  603. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  604. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +9 -4
  605. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  606. package/fesm2022/eui-ecl-components-ecl-notification.mjs +1 -1
  607. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  608. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +2 -2
  609. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  610. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +17 -9
  611. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  612. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +2 -2
  613. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  614. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +67 -86
  615. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  616. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +21 -37
  617. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
  618. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +10 -15
  619. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  620. package/fesm2022/eui-ecl-components-ecl-story-card.mjs +13 -18
  621. package/fesm2022/eui-ecl-components-ecl-story-card.mjs.map +1 -1
  622. package/fesm2022/eui-ecl-components-ecl-table.mjs +195 -209
  623. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  624. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +213 -261
  625. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  626. package/fesm2022/eui-ecl-core.mjs +15 -17
  627. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  628. package/package.json +1 -1
  629. package/types/eui-ecl-components-ecl-breadcrumb.d.ts +10 -1
  630. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
  631. package/types/eui-ecl-components-ecl-expandable.d.ts +14 -10
  632. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
  633. package/types/eui-ecl-components-ecl-news-ticker.d.ts +1 -0
  634. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  635. package/types/eui-ecl-components-ecl-rating-field.d.ts +10 -2
  636. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  637. package/types/eui-ecl-components-ecl-splash-page.d.ts +4 -17
  638. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
  639. package/types/eui-ecl-components-ecl-spotlight.d.ts +0 -8
  640. package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -1
  641. package/types/eui-ecl-components-ecl-sticky-container.d.ts +4 -4
  642. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
  643. package/types/eui-ecl-components-ecl-story-card.d.ts +7 -7
  644. package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
  645. package/types/eui-ecl-components-ecl-table.d.ts +85 -53
  646. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
  647. package/types/eui-ecl-components-ecl-tabs.d.ts +90 -120
  648. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  649. package/types/eui-ecl-core.d.ts +4 -5
  650. package/types/eui-ecl-core.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/index.ts","../../components/ecl-news-ticker/eui-ecl-components-ecl-news-ticker.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, EventEmitter, OnDestroy, Output, inject, contentChild } 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 selector: 'ecl-news-ticker-item',\n templateUrl: './ecl-news-ticker-item.component.html',\n host: {\n '[class]': 'cssClasses',\n '[attr.role]': 'role',\n '[attr.aria-hidden]': 'isAriahidden',\n '[attr.inert]': 'isInert',\n },\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n\n /**\n\t * Optional projected `ecl-link` element within the news ticker item.\n\t */\n readonly eclLink = contentChild(EclLinkDirective);\n\n /**\n\t * Emitted when the internal link receives focus (used to cancel autoplay).\n\t */\n @Output() itemFocused = new EventEmitter<null>();\n\n /**\n\t * Declares ARIA role as list item for accessibility.\n\t */\n role = 'listitem';\n\n /**\n\t * Sets the component’s CSS classes.\n\t */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n }\n\n /**\n\t * Whether this slide is currently visible.\n\t */\n get isCurrent(): boolean {\n return this._isCurrent;\n }\n set isCurrent(value: boolean) {\n this._isCurrent = value;\n if (this.eclLink()) {\n this.setLinkTabindex();\n }\n }\n private _isCurrent = false;\n\n /**\n\t * Sets `aria-hidden` based on current slide visibility.\n\t */\n get isAriahidden(): boolean {\n return !this.isCurrent || undefined;\n }\n\n /**\n\t * Sets `inert` attribute when the item is not current (prevents interaction).\n\t */\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n /**\n\t * Lifecycle hook that sets up the internal link class and focus listener.\n\t */\n ngAfterContentInit(): void {\n const eclLink = this.eclLink();\n if (eclLink) {\n eclLink.class = 'ecl-news-ticker__slide-text';\n }\n\n if (eclLink) {\n fromEvent(eclLink.el.nativeElement, 'focus')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.itemFocused.emit();\n });\n }\n }\n\n /**\n\t * Cleanup on destroy: unsubscribe from observables.\n\t */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private setLinkTabindex(): void {\n if (this._isCurrent) {\n this.eclLink().tabindex = null;\n } else {\n this.eclLink().tabindex = -1;\n }\n }\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, DOCUMENT, ElementRef, OnDestroy, Renderer2, afterNextRender, booleanAttribute, inject, output, input, contentChildren, viewChild, OnInit } from '@angular/core';\nimport { auditTime, fromEvent, 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 { TranslatePipe } 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-news-ticker',\n templateUrl: './ecl-news-ticker.component.html',\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n EclNewsTickerItemComponent,\n TranslatePipe,\n ],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy, OnInit {\n /**\n\t * Enables or disables automatic cycling through ticker items.\n\t * Defaults to `true`.\n\t */\n readonly isAutoplay = input(true, { transform: booleanAttribute });\n\n /**\n\t * Emits when the visible news ticker item changes.\n\t * The payload is an instance of `EclNewsTickerItemEvent`.\n\t */\n readonly itemSwitch = output<EclNewsTickerItemEvent>();\n\n /**\n\t * Query list of all `EclNewsTickerItemComponent` children projected into this component.\n\t */\n readonly newsTickerItems = contentChildren(EclNewsTickerItemComponent);\n\n /**\n\t * Reference to the hidden first item used for looping.\n\t */\n readonly firstHiddenItem = viewChild<EclNewsTickerItemComponent>('firstHiddenItem');\n\n /**\n\t * Reference to the hidden last item used for looping.\n\t */\n readonly lastHiddenItem = viewChild<EclNewsTickerItemComponent>('lastHiddenItem');\n\n /**\n\t * Reference to the container element that holds the slides.\n\t */\n readonly slidesContainer = viewChild<ElementRef>('slidesContainer');\n\n /**\n\t * Reference to the play button used to start autoplay.\n\t */\n readonly playBtn = viewChild<EclButtonComponent>('playBtn');\n\n /**\n\t * Reference to the pause button used to stop autoplay.\n\t */\n readonly pauseBtn = viewChild<EclButtonComponent>('pauseBtn');\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n }\n\n itemIndex = 1;\n playing = false;\n slidesTransform = '';\n transitionDuration: number;\n private intervalId: any;\n private PLAY_INTERVAL = 5000;\n private INIT_DELAY = 300;\n private _contentHeight: number;\n private pausePlay = false;\n private unsubscribeListener: () => void;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private renderer2 = inject(Renderer2);\n private cd = inject(ChangeDetectorRef);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView; // Window | null\n\n constructor() {\n super();\n afterNextRender(() => {\n setTimeout(() => {\n this.initContainer();\n }, this.INIT_DELAY);\n this.newsTickerItems().forEach((item) => {\n item.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cancelAutoplay();\n });\n });\n this.observeResizeWindow();\n });\n }\n\n /**\n\t * Initializes the autoplay state based on the input configuration.\n\t */\n ngOnInit(): void {\n this.playing = this.isAutoplay();\n }\n\n /**\n\t * Returns the height of the currently visible ticker item.\n\t */\n get contentHeight(): number {\n return this._contentHeight;\n }\n\n /**\n\t * Returns the number of ticker items.\n\t */\n get itemsCount(): number {\n return this.newsTickerItems().length;\n }\n\n /**\n\t * Indicates whether navigation controls should be shown.\n\t */\n get isShowControls(): boolean {\n return this.newsTickerItems().length > 1;\n }\n\n /**\n\t * Lifecycle hook that clears intervals and subscriptions.\n\t */\n ngOnDestroy(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n\t * Handles \"previous\" button click.\n\t * Navigates to the previous slide and stops autoplay.\n\t */\n onPrevious(): void {\n this.cancelAutoplay();\n this.previousSlide();\n }\n\n /**\n\t * Moves to the previous slide and emits `itemSwitch` event.\n\t */\n previousSlide(): void {\n this.itemIndex = this.getPrevIndex();\n if (this.itemIndex === this.itemsCount) {\n this.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.emit(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n /**\n\t * Handles \"next\" button click.\n\t * Navigates to the next slide and stops autoplay.\n\t */\n onNext(): void {\n this.cancelAutoplay();\n this.nextSlide();\n }\n\n /**\n\t * Moves to the next slide and emits `itemSwitch` event.\n\t */\n nextSlide(): void {\n this.itemIndex = this.getNextIndex();\n if (this.itemIndex === 1) {\n this.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.emit(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n /**\n\t * Starts automatic cycling of the ticker items.\n\t */\n startAutoplay(): void {\n if (!this.playing) {\n this.playing = true;\n }\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n }\n\n /**\n\t * Cancels the automatic cycling of the ticker items.\n\t */\n cancelAutoplay(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.playing = false;\n }\n\n /**\n\t * Handles mouse over event on a ticker item.\n\t * Temporarily pauses autoplay.\n\t */\n onNewsTickerItemMouseOver(): void {\n if (this.playing) {\n this.pausePlay = true;\n this.cancelAutoplay();\n }\n }\n\n /**\n\t * Handles mouse out event from a ticker item.\n\t * Resumes autoplay if it was paused due to hover.\n\t */\n onNewsTickerItemMouseOut(): void {\n if (this.pausePlay) {\n this.pausePlay = false;\n this.startAutoplay();\n }\n }\n\n /**\n\t * Handles focus event on the \"Play\" button.\n\t * Starts autoplay and shifts focus to the \"Pause\" button.\n\t */\n onPlayBtnEnter(evt: Event): void {\n evt.preventDefault();\n this.startAutoplay();\n this.cd.detectChanges();\n this.pauseBtn().el.nativeElement.focus();\n }\n\n /**\n\t * Handles focus event on the \"Pause\" button.\n\t * Stops autoplay and shifts focus to the \"Play\" button.\n\t */\n onPauseBtnEnter(evt: Event): void {\n evt.preventDefault();\n this.cancelAutoplay();\n this.cd.detectChanges();\n this.playBtn().el.nativeElement.focus();\n }\n\n /**\n\t * Handles window resize and recalculates the layout.\n\t */\n private observeResizeWindow(): void {\n fromEvent(this.window, 'resize').pipe(\n auditTime(50),\n takeUntil(this.destroy$)).subscribe(() => {\n setTimeout(() => {\n this.resizeTicker();\n this.moveSlides(this.getCurrentItem(), false);\n });\n });\n\n }\n\n private moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n if (item) {\n const newOffset = item.el.nativeElement.offsetTop;\n const newHeight = Math.floor(item.el.nativeElement.getBoundingClientRect().height,\n );\n this._contentHeight = newHeight;\n this.transitionDuration = withTransition ? 0.4 : 0;\n this.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n this.cd.detectChanges();\n this.setCurrentSlide(item);\n }\n }\n\n private initContainer(): void {\n const newsTickerItems = this.newsTickerItems();\n if (newsTickerItems.length === 1) {\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(Array.from(newsTickerItems)), false);\n return;\n }\n this.firstHiddenItem().el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem().el.nativeElement.innerHTML = this.getFirstContentChild();\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer().nativeElement, 'transitionend', () => this.checkIndex());\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(Array.from(newsTickerItems)), false);\n if (this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n private checkIndex(): void {\n if (this.itemIndex === 1) {\n const item = this.getFirstItem(Array.from(this.newsTickerItems()));\n this.moveSlides(item, false);\n } else if (this.itemIndex === this.itemsCount) {\n const item = this.getLastItem(Array.from(this.newsTickerItems()));\n this.moveSlides(item, false);\n }\n }\n\n private resizeTicker(): void {\n let highestSlide = 0;\n this.newsTickerItems().forEach((slide) => {\n const slideHeight = slide.el.nativeElement.offsetHeight;\n highestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n });\n }\n\n private getNextIndex(): number {\n return this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n }\n\n private getCurrentItem(): EclNewsTickerItemComponent {\n return this.getAllItemsArray()[this.itemIndex];\n }\n\n private getPrevIndex(): number {\n return this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n }\n\n private getFirstItem(items: EclNewsTickerItemComponent[]): EclNewsTickerItemComponent {\n return items.length > 0 ? items[0] : null;\n }\n\n private getLastItem(items: EclNewsTickerItemComponent[]): EclNewsTickerItemComponent {\n return items[items.length - 1];\n }\n\n private getLastContentChild(): string {\n return this.newsTickerItems().length > 0 ? this.newsTickerItems().at(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.newsTickerItems().length > 0 ? this.newsTickerItems().at(0).el.nativeElement.innerHTML : '';\n }\n\n private getAllItemsArray(): EclNewsTickerItemComponent[] {\n return [...[this.firstHiddenItem()], ...this.newsTickerItems(), ...[this.lastHiddenItem()]];\n }\n\n private setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n this.newsTickerItems().forEach((item) => {\n item.isCurrent = false;\n if (item === currentItem) {\n item.isCurrent = true;\n }\n });\n }\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 } 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 selector: '[eclNewsTickerIcon]',\n host: {\n 'class': 'ecl-news-ticker__icon',\n },\n})\nexport class EclNewsTickerIconDirective extends ECLBaseDirective {\n}\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.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/index.ts","../../components/ecl-news-ticker/eui-ecl-components-ecl-news-ticker.ts"],"sourcesContent":["import { AfterContentInit, Component, ElementRef, EventEmitter, OnDestroy, Output, Renderer2, inject, contentChild } 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 selector: 'ecl-news-ticker-item',\n templateUrl: './ecl-news-ticker-item.component.html',\n host: {\n '[class]': 'cssClasses',\n '[attr.role]': 'role',\n '[attr.aria-hidden]': 'isAriahidden',\n '[attr.inert]': 'isInert',\n },\n})\nexport class EclNewsTickerItemComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n el = inject(ElementRef);\n private readonly renderer = inject(Renderer2);\n\n /**\n\t * Optional projected `ecl-link` element within the news ticker item.\n\t */\n readonly eclLink = contentChild(EclLinkDirective);\n\n /**\n\t * Emitted when the internal link receives focus (used to cancel autoplay).\n\t */\n @Output() itemFocused = new EventEmitter<null>();\n\n /**\n\t * Declares ARIA role as list item for accessibility.\n\t */\n role = 'listitem';\n\n /**\n\t * Sets the component’s CSS classes.\n\t */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker__slide')].join(' ').trim();\n }\n\n /**\n\t * Whether this slide is currently visible.\n\t */\n get isCurrent(): boolean {\n return this._isCurrent;\n }\n set isCurrent(value: boolean) {\n this._isCurrent = value;\n if (this.eclLink()) {\n this.setLinkTabindex();\n }\n }\n private _isCurrent = false;\n\n /**\n\t * Sets `aria-hidden` based on current slide visibility.\n\t */\n get isAriahidden(): boolean {\n return !this.isCurrent || undefined;\n }\n\n /**\n\t * Sets `inert` attribute when the item is not current (prevents interaction).\n\t */\n get isInert(): boolean {\n return !this.isCurrent || undefined;\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n /**\n\t * Lifecycle hook that sets up the internal link class and focus listener.\n\t */\n ngAfterContentInit(): void {\n const eclLink = this.eclLink();\n if (eclLink) {\n eclLink.class.set('ecl-news-ticker__slide-text');\n }\n\n if (eclLink) {\n fromEvent(eclLink.el.nativeElement, 'focus')\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => {\n this.itemFocused.emit();\n });\n }\n }\n\n /**\n\t * Cleanup on destroy: unsubscribe from observables.\n\t */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private setLinkTabindex(): void {\n const linkElement = this.eclLink()?.el.nativeElement;\n if (!linkElement) {\n return;\n }\n\n if (this._isCurrent) {\n this.renderer.removeAttribute(linkElement, 'tabindex');\n } else {\n this.renderer.setAttribute(linkElement, 'tabindex', '-1');\n }\n }\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, DOCUMENT, ElementRef, OnDestroy, Renderer2, afterNextRender, booleanAttribute, inject, output, input, contentChildren, viewChild, OnInit } from '@angular/core';\nimport { auditTime, fromEvent, 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 { TranslatePipe } 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-news-ticker',\n templateUrl: './ecl-news-ticker.component.html',\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n EclNewsTickerItemComponent,\n TranslatePipe,\n ],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclNewsTickerComponent extends ECLBaseDirective implements OnDestroy, OnInit {\n /**\n\t * Enables or disables automatic cycling through ticker items.\n\t * Defaults to `true`.\n\t */\n readonly isAutoplay = input(true, { transform: booleanAttribute });\n\n /**\n\t * Emits when the visible news ticker item changes.\n\t * The payload is an instance of `EclNewsTickerItemEvent`.\n\t */\n readonly itemSwitch = output<EclNewsTickerItemEvent>();\n\n /**\n\t * Query list of all `EclNewsTickerItemComponent` children projected into this component.\n\t */\n readonly newsTickerItems = contentChildren(EclNewsTickerItemComponent);\n\n /**\n\t * Reference to the hidden first item used for looping.\n\t */\n readonly firstHiddenItem = viewChild<EclNewsTickerItemComponent>('firstHiddenItem');\n\n /**\n\t * Reference to the hidden last item used for looping.\n\t */\n readonly lastHiddenItem = viewChild<EclNewsTickerItemComponent>('lastHiddenItem');\n\n /**\n\t * Reference to the container element that holds the slides.\n\t */\n readonly slidesContainer = viewChild<ElementRef>('slidesContainer');\n\n /**\n\t * Reference to the play button used to start autoplay.\n\t */\n readonly playBtn = viewChild<EclButtonComponent>('playBtn');\n\n /**\n\t * Reference to the pause button used to stop autoplay.\n\t */\n readonly pauseBtn = viewChild<EclButtonComponent>('pauseBtn');\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-news-ticker')].join(' ').trim();\n }\n\n itemIndex = 1;\n playing = false;\n slidesTransform = '';\n transitionDuration: number;\n private intervalId: any;\n private PLAY_INTERVAL = 5000;\n private INIT_DELAY = 300;\n private _contentHeight: number;\n private pausePlay = false;\n private unsubscribeListener: () => void;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private renderer2 = inject(Renderer2);\n private cd = inject(ChangeDetectorRef);\n private readonly document = inject<Document>(DOCUMENT);\n private readonly window = this.document.defaultView; // Window | null\n\n constructor() {\n super();\n afterNextRender(() => {\n setTimeout(() => {\n this.initContainer();\n }, this.INIT_DELAY);\n this.newsTickerItems().forEach((item) => {\n item.itemFocused.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.cancelAutoplay();\n });\n });\n this.observeResizeWindow();\n });\n }\n\n /**\n\t * Initializes the autoplay state based on the input configuration.\n\t */\n ngOnInit(): void {\n this.playing = this.isAutoplay();\n }\n\n /**\n\t * Returns the height of the currently visible ticker item.\n\t */\n get contentHeight(): number {\n return this._contentHeight;\n }\n\n /**\n\t * Returns the number of ticker items.\n\t */\n get itemsCount(): number {\n return this.newsTickerItems().length;\n }\n\n /**\n\t * Indicates whether navigation controls should be shown.\n\t */\n get isShowControls(): boolean {\n return this.newsTickerItems().length > 1;\n }\n\n /**\n\t * Lifecycle hook that clears intervals and subscriptions.\n\t */\n ngOnDestroy(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n if (this.unsubscribeListener) {\n this.unsubscribeListener();\n }\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n\t * Handles \"previous\" button click.\n\t * Navigates to the previous slide and stops autoplay.\n\t */\n onPrevious(): void {\n this.cancelAutoplay();\n this.previousSlide();\n }\n\n /**\n\t * Moves to the previous slide and emits `itemSwitch` event.\n\t */\n previousSlide(): void {\n this.itemIndex = this.getPrevIndex();\n if (this.itemIndex === this.itemsCount) {\n this.moveSlides(this.getFirstItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.emit(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n /**\n\t * Handles \"next\" button click.\n\t * Navigates to the next slide and stops autoplay.\n\t */\n onNext(): void {\n this.cancelAutoplay();\n this.nextSlide();\n }\n\n /**\n\t * Moves to the next slide and emits `itemSwitch` event.\n\t */\n nextSlide(): void {\n this.itemIndex = this.getNextIndex();\n if (this.itemIndex === 1) {\n this.moveSlides(this.getLastItem(this.getAllItemsArray()), true);\n } else {\n this.moveSlides(this.getCurrentItem(), true);\n }\n this.itemSwitch.emit(new EclNewsTickerItemEvent(this.itemIndex));\n }\n\n /**\n\t * Starts automatic cycling of the ticker items.\n\t */\n startAutoplay(): void {\n if (!this.playing) {\n this.playing = true;\n }\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.intervalId = setInterval(() => this.nextSlide(), this.PLAY_INTERVAL);\n }\n\n /**\n\t * Cancels the automatic cycling of the ticker items.\n\t */\n cancelAutoplay(): void {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n }\n this.playing = false;\n }\n\n /**\n\t * Handles mouse over event on a ticker item.\n\t * Temporarily pauses autoplay.\n\t */\n onNewsTickerItemMouseOver(): void {\n if (this.playing) {\n this.pausePlay = true;\n this.cancelAutoplay();\n }\n }\n\n /**\n\t * Handles mouse out event from a ticker item.\n\t * Resumes autoplay if it was paused due to hover.\n\t */\n onNewsTickerItemMouseOut(): void {\n if (this.pausePlay) {\n this.pausePlay = false;\n this.startAutoplay();\n }\n }\n\n /**\n\t * Handles focus event on the \"Play\" button.\n\t * Starts autoplay and shifts focus to the \"Pause\" button.\n\t */\n onPlayBtnEnter(evt: Event): void {\n evt.preventDefault();\n this.startAutoplay();\n this.cd.detectChanges();\n this.pauseBtn().el.nativeElement.focus();\n }\n\n /**\n\t * Handles focus event on the \"Pause\" button.\n\t * Stops autoplay and shifts focus to the \"Play\" button.\n\t */\n onPauseBtnEnter(evt: Event): void {\n evt.preventDefault();\n this.cancelAutoplay();\n this.cd.detectChanges();\n this.playBtn().el.nativeElement.focus();\n }\n\n /**\n\t * Handles window resize and recalculates the layout.\n\t */\n private observeResizeWindow(): void {\n fromEvent(this.window, 'resize').pipe(\n auditTime(50),\n takeUntil(this.destroy$)).subscribe(() => {\n setTimeout(() => {\n this.resizeTicker();\n this.moveSlides(this.getCurrentItem(), false);\n });\n });\n\n }\n\n private moveSlides(item: EclNewsTickerItemComponent, withTransition: boolean): void {\n if (item) {\n const newOffset = item.el.nativeElement.offsetTop;\n const newHeight = Math.floor(item.el.nativeElement.getBoundingClientRect().height,\n );\n this._contentHeight = newHeight;\n this.transitionDuration = withTransition ? 0.4 : 0;\n this.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;\n this.cd.detectChanges();\n this.setCurrentSlide(item);\n }\n }\n\n private initContainer(): void {\n const newsTickerItems = this.newsTickerItems();\n if (newsTickerItems.length === 1) {\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(Array.from(newsTickerItems)), false);\n return;\n }\n this.firstHiddenItem().el.nativeElement.innerHTML = this.getLastContentChild();\n this.lastHiddenItem().el.nativeElement.innerHTML = this.getFirstContentChild();\n this.unsubscribeListener = this.renderer2.listen(this.slidesContainer().nativeElement, 'transitionend', () => this.checkIndex());\n this.resizeTicker();\n this.moveSlides(this.getFirstItem(Array.from(newsTickerItems)), false);\n if (this.isAutoplay()) {\n this.startAutoplay();\n }\n }\n\n private checkIndex(): void {\n if (this.itemIndex === 1) {\n const item = this.getFirstItem(Array.from(this.newsTickerItems()));\n this.moveSlides(item, false);\n } else if (this.itemIndex === this.itemsCount) {\n const item = this.getLastItem(Array.from(this.newsTickerItems()));\n this.moveSlides(item, false);\n }\n }\n\n private resizeTicker(): void {\n let highestSlide = 0;\n this.newsTickerItems().forEach((slide) => {\n const slideHeight = slide.el.nativeElement.offsetHeight;\n highestSlide = highestSlide < slideHeight ? slideHeight : highestSlide;\n });\n }\n\n private getNextIndex(): number {\n return this.itemIndex === this.itemsCount ? 1 : ++this.itemIndex;\n }\n\n private getCurrentItem(): EclNewsTickerItemComponent {\n return this.getAllItemsArray()[this.itemIndex];\n }\n\n private getPrevIndex(): number {\n return this.itemIndex === 1 ? this.itemsCount : --this.itemIndex;\n }\n\n private getFirstItem(items: EclNewsTickerItemComponent[]): EclNewsTickerItemComponent {\n return items.length > 0 ? items[0] : null;\n }\n\n private getLastItem(items: EclNewsTickerItemComponent[]): EclNewsTickerItemComponent {\n return items[items.length - 1];\n }\n\n private getLastContentChild(): string {\n return this.newsTickerItems().length > 0 ? this.newsTickerItems().at(this.itemsCount - 1).el.nativeElement.innerHTML : '';\n }\n\n private getFirstContentChild(): string {\n return this.newsTickerItems().length > 0 ? this.newsTickerItems().at(0).el.nativeElement.innerHTML : '';\n }\n\n private getAllItemsArray(): EclNewsTickerItemComponent[] {\n return [...[this.firstHiddenItem()], ...this.newsTickerItems(), ...[this.lastHiddenItem()]];\n }\n\n private setCurrentSlide(currentItem: EclNewsTickerItemComponent): void {\n this.newsTickerItems().forEach((item) => {\n item.isCurrent = false;\n if (item === currentItem) {\n item.isCurrent = true;\n }\n });\n }\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 } 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 selector: '[eclNewsTickerIcon]',\n host: {\n 'class': 'ecl-news-ticker__icon',\n },\n})\nexport class EclNewsTickerIconDirective extends ECLBaseDirective {\n}\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.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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"}
@@ -77,7 +77,7 @@ class EclNotificationLinkDirective {
77
77
  }
78
78
  ngAfterContentInit() {
79
79
  // Add required class for all the child eclLinks.
80
- this.eclLinkItems().forEach(item => item.class = 'ecl-notification__link-item');
80
+ this.eclLinkItems().forEach(item => item.class.set('ecl-notification__link-item'));
81
81
  }
82
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclNotificationLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
83
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.1.2", type: EclNotificationLinkDirective, isStandalone: true, selector: "[eclNotificationLink]", host: { properties: { "class.ecl-notification__link": "hasClass" } }, queries: [{ propertyName: "eclLinkItems", predicate: i0.forwardRef(() => EclLinkDirective), isSignal: true }], ngImport: i0 }); }
@@ -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-title.directive.ts","../../components/ecl-notification/ecl-notification.component.ts","../../components/ecl-notification/ecl-notification.component.html","../../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 { AfterContentInit, contentChildren, Directive, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\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 host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclNotificationTitleDirective extends ECLBaseDirective {\n /**\n * Host binding for applying the ECL notification title CSS class.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification__title')].join(' ').trim();\n }\n}\n\n/**\n * Directive that adds specific class for the notification icon. By default there are icons for all notification variants.\n * This directive can be used, if user wants to use another icon.\n */\n@Directive({\n selector: '[eclNotificationIcon]',\n host: {\n '[class.ecl-notification__icon]': 'hasClass',\n },\n})\nexport class EclNotificationIconDirective {\n /**\n * Host binding for applying the ECL notification icon CSS class.\n */\n hasClass = true;\n}\n\n/**\n * Directive that adds specific class for the div around the notification link and the link itself.\n */\n@Directive({\n selector: '[eclNotificationLink]',\n host: {\n '[class.ecl-notification__link]': 'hasClass',\n },\n})\nexport class EclNotificationLinkDirective implements AfterContentInit {\n /**\n * Host binding for applying the ECL notification link CSS class.\n */\n hasClass = true;\n\n eclLinkItems = contentChildren(forwardRef(() => EclLinkDirective));\n \n ngAfterContentInit(): void {\n // Add required class for all the child eclLinks.\n this.eclLinkItems().forEach(item => item.class = 'ecl-notification__link-item');\n }\n}\n","import { Component, booleanAttribute, inject, contentChild, computed, output, input, model } 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 { TranslatePipe } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclNotificationIconDirective } from './ecl-notification-title.directive';\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 TranslatePipe,\n ],\n host: {\n '[attr.role]': 'role',\n '[class.ecl-u-d-none]': 'isHidden',\n '[class]': 'cssClasses',\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 readonly notificationTitle = input<string>(undefined);\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 readonly variant = input<'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 readonly isVisible = model(true);\n\n /**\n * Indicates whether the close button is displayed.\n */\n readonly isCloseable = input(true, { transform: booleanAttribute });\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 readonly close = output<EclNotificationCloseEvent>();\n\n /**\n * The ARIA role for the component. Set to \"alert\" by default.\n */\n role = 'alert';\n\n notificationCustomIcon = contentChild(EclNotificationIconDirective);\n readonly hasCustomIcon = computed(() => this.notificationCustomIcon() !== undefined);\n\n private variantTitleIconMapping = new Map<string, { title: string, icon: string }>([\n ['info', { title: 'information', icon: 'information-outline' }],\n ['success', { title: 'success', icon: 'success-outline' }],\n ['warning', { title: 'warning', icon: 'warning-outline' }],\n ['error', { title: 'error', icon: 'error-outline' }],\n ]);\n\n /**\n * Applies the `ecl-u-d-none` utility class when the notification is not visible.\n */\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 get cssClasses(): string {\n const variant = this.variant();\n return [super.getCssClasses('ecl-notification'), variant ? `ecl-notification--${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.emit(event);\n if (!event.defaultPrevented) {\n this.isVisible.set(false);\n }\n }\n}\n","@if (!hasCustomIcon()) {\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} @else {\n<ng-content select=\"[eclNotificationIcon]\"></ng-content>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable()){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close ecl-button--neutral\" isIconOnly\n (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>","import { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationIconDirective, EclNotificationLinkDirective, EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\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 EclNotificationIconDirective,\n EclNotificationLinkDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-notification.mjs","sources":["../../components/ecl-notification/events/ecl-notification-close.event.ts","../../components/ecl-notification/ecl-notification-title.directive.ts","../../components/ecl-notification/ecl-notification.component.ts","../../components/ecl-notification/ecl-notification.component.html","../../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 { AfterContentInit, contentChildren, Directive, forwardRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\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 host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclNotificationTitleDirective extends ECLBaseDirective {\n /**\n * Host binding for applying the ECL notification title CSS class.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-notification__title')].join(' ').trim();\n }\n}\n\n/**\n * Directive that adds specific class for the notification icon. By default there are icons for all notification variants.\n * This directive can be used, if user wants to use another icon.\n */\n@Directive({\n selector: '[eclNotificationIcon]',\n host: {\n '[class.ecl-notification__icon]': 'hasClass',\n },\n})\nexport class EclNotificationIconDirective {\n /**\n * Host binding for applying the ECL notification icon CSS class.\n */\n hasClass = true;\n}\n\n/**\n * Directive that adds specific class for the div around the notification link and the link itself.\n */\n@Directive({\n selector: '[eclNotificationLink]',\n host: {\n '[class.ecl-notification__link]': 'hasClass',\n },\n})\nexport class EclNotificationLinkDirective implements AfterContentInit {\n /**\n * Host binding for applying the ECL notification link CSS class.\n */\n hasClass = true;\n\n eclLinkItems = contentChildren(forwardRef(() => EclLinkDirective));\n \n ngAfterContentInit(): void {\n // Add required class for all the child eclLinks.\n this.eclLinkItems().forEach(item => item.class.set('ecl-notification__link-item'));\n }\n}\n","import { Component, booleanAttribute, inject, contentChild, computed, output, input, model } 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 { TranslatePipe } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclNotificationIconDirective } from './ecl-notification-title.directive';\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 TranslatePipe,\n ],\n host: {\n '[attr.role]': 'role',\n '[class.ecl-u-d-none]': 'isHidden',\n '[class]': 'cssClasses',\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 readonly notificationTitle = input<string>(undefined);\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 readonly variant = input<'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 readonly isVisible = model(true);\n\n /**\n * Indicates whether the close button is displayed.\n */\n readonly isCloseable = input(true, { transform: booleanAttribute });\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 readonly close = output<EclNotificationCloseEvent>();\n\n /**\n * The ARIA role for the component. Set to \"alert\" by default.\n */\n role = 'alert';\n\n notificationCustomIcon = contentChild(EclNotificationIconDirective);\n readonly hasCustomIcon = computed(() => this.notificationCustomIcon() !== undefined);\n\n private variantTitleIconMapping = new Map<string, { title: string, icon: string }>([\n ['info', { title: 'information', icon: 'information-outline' }],\n ['success', { title: 'success', icon: 'success-outline' }],\n ['warning', { title: 'warning', icon: 'warning-outline' }],\n ['error', { title: 'error', icon: 'error-outline' }],\n ]);\n\n /**\n * Applies the `ecl-u-d-none` utility class when the notification is not visible.\n */\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 get cssClasses(): string {\n const variant = this.variant();\n return [super.getCssClasses('ecl-notification'), variant ? `ecl-notification--${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.emit(event);\n if (!event.defaultPrevented) {\n this.isVisible.set(false);\n }\n }\n}\n","@if (!hasCustomIcon()) {\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} @else {\n<ng-content select=\"[eclNotificationIcon]\"></ng-content>\n}\n\n<div class=\"ecl-notification__content\">\n @if(isCloseable()){\n <button eclButton variant=\"tertiary\" class=\"ecl-notification__close ecl-button--neutral\" isIconOnly\n (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>","import { EclNotificationComponent } from './ecl-notification.component';\nimport { EclNotificationIconDirective, EclNotificationLinkDirective, EclNotificationTitleDirective } from './ecl-notification-title.directive';\n\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 EclNotificationIconDirective,\n EclNotificationLinkDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -253,7 +253,7 @@ class EclPageHeaderMetaItemDirective extends ECLBaseDirective {
253
253
  ngAfterContentInit() {
254
254
  const icon = this.eclIcon();
255
255
  if (icon) {
256
- icon.baseDirective.class = this.ICON_CLASS;
256
+ icon.baseDirective.class.set(this.ICON_CLASS);
257
257
  }
258
258
  }
259
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclPageHeaderMetaItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
@@ -311,7 +311,7 @@ class EclPageHeaderComponent extends ECLBaseDirective {
311
311
  ngAfterContentInit() {
312
312
  const breadcrumb = this.eclBreadcrumbComponent();
313
313
  if (breadcrumb) {
314
- breadcrumb.class = this.BREADCRUMB_CLASS;
314
+ breadcrumb.class.set(this.BREADCRUMB_CLASS);
315
315
  }
316
316
  }
317
317
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclPageHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-page-header.mjs","sources":["../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-background.directive.ts","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-description.directive.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.ts","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.html","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-info.directive.ts","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-meta.directive.ts","../../components/ecl-page-header/ecl-page-header.component.ts","../../components/ecl-page-header/ecl-page-header.component.html","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.ts","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.html","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.ts","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.html","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-title.directive.ts","../../components/ecl-page-header/index.ts","../../components/ecl-page-header/eui-ecl-components-ecl-page-header.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the background picture inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n host: {\n 'class': 'ecl-picture ecl-page-header__picture-background',\n },\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {}\n\n/**\n * Styles the background image inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n host: {\n 'class': 'ecl-page-header__background',\n },\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n// /**\n// * Styles the container for the page header description.\n// */\n// @Directive({\n// selector: '[eclPageHeaderDescriptionContainer]',\n// host: {\n// 'class': 'ecl-page-header__description-container',\n// },\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {}\n\n/**\n * Styles a picture used in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n host: {\n 'class': 'ecl-picture ecl-page-header__picture-thumbnail',\n },\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {}\n\n/**\n * Styles a thumbnail or image in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage]',\n host: {\n 'class': 'ecl-page-header__description-thumbnail',\n },\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {}\n\n/**\n * Styles the text description in the page header.\n */\n@Directive({\n selector: 'p[eclPageHeaderDescription]',\n host: {\n 'class': 'ecl-page-header__description',\n },\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n imports: [NgTemplateOutlet],\n host: {\n '[class]': '\"ecl-page-header__description-\" + position()',\n },\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n\n position = input<'top' | 'bottom'>('top');\n}\n","@if (position() === 'bottom') {\n<div class=\"ecl-container\">\n <div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n </div>\n</div>\n} @else {\n<div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n</div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { afterNextRender, Component, computed, ElementRef, OnDestroy, signal, viewChild } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header expandable component. As a part of the PageHeader,\n * it represents expandable content, placed at the top of the parent component.\n */\n@Component({\n selector: 'div[eclPageHeaderExpandable]',\n templateUrl: './ecl-page-header-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderExpandableComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * CSS classes applied to the host.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable'),\n this.hasProjectedContent() ? '' : 'ecl-page-header-no-toggle']\n .join(' ')\n .trim();\n }\n\n panelId = crypto.randomUUID();\n isExpanded = signal(false);\n private readonly projectedSlot = viewChild<ElementRef<HTMLElement>>('projectedSlot');\n private readonly _hasProjectedContent = signal(false);\n readonly hasProjectedContent = computed(() => this._hasProjectedContent());\n\n private observer?: MutationObserver;\n\n constructor() {\n super();\n afterNextRender(() => {\n const el = this.projectedSlot()?.nativeElement;\n if (!el) return;\n\n const recompute = () => {\n // textContent covers both text-only and element content.\n // trim() ignores whitespace/newlines from formatting.\n this._hasProjectedContent.set((el.textContent ?? '').trim().length > 0);\n };\n\n recompute();\n\n // Optional but recommended if the projected content can change dynamically\n this.observer = new MutationObserver(recompute);\n this.observer.observe(el, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n });\n }\n\n ngOnDestroy() {\n this.observer?.disconnect();\n }\n\n onExpandButtonClick(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n}","<div class=\"ecl-page-header-expandable__header\">\n <div class=\"ecl-container ecl-page-header-expandable__container\">\n <ng-content select=\"[eclPageHeaderExpandableHeader]\"></ng-content>\n\n @if (hasProjectedContent()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" isIconOnly aria-expanded=\"{{isExpanded()}}\" type=\"submit\"\n [attr.aria-controls]=\"panelId\" class=\"ecl-page-header-expandable__toggle\" (click)=\"onExpandButtonClick()\">\n <span eclButtonLabel>expandable button</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"flip-vertical\"></ecl-icon>\n </button>\n }\n </div>\n</div>\n<div class=\"ecl-page-header-expandable__panel\" id=\"{{panelId}}\" [hidden]=\"!isExpanded()\">\n <div class=\"ecl-container ecl-page-header-expandable__container\" #projectedSlot>\n <ng-content></ng-content>\n </div>\n</div>","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the info section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderInfo]',\n host: {\n 'class': 'ecl-page-header__info',\n },\n})\nexport class EclPageHeaderInfoDirective extends ECLBaseDirective {}\n\n\n@Directive({\n selector: '[eclPageHeaderContainer]',\n host: {\n 'class': 'ecl-page-header__container',\n },\n})\nexport class EclPageHeaderContainerDirective extends ECLBaseDirective {}\n\n@Directive({\n selector: '[eclContainer]',\n host: {\n 'class': 'ecl-container',\n },\n})\nexport class EclContainerDirective extends ECLBaseDirective {}\n","import { contentChild, Directive, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Styles the meta section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMeta]',\n host: {\n 'class': 'ecl-page-header__meta',\n },\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {}\n\n/**\n * Styles individual meta items in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n host: {\n 'class': 'ecl-page-header__meta-item',\n },\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective implements AfterContentInit {\n\n eclIcon = contentChild(EclIconComponent);\n\n private readonly ICON_CLASS = 'ecl-page-header__meta-icon';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const icon = this.eclIcon();\n if (icon) {\n icon.baseDirective.class = this.ICON_CLASS;\n }\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, contentChild, input } from '@angular/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n */\n@Component({\n selector: 'div[eclPageHeader]',\n templateUrl: './ecl-page-header.component.html',\n imports: [],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n eclBreadcrumbComponent = contentChild(EclBreadcrumbComponent);\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb ecl-breadcrumb--wrap';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const breadcrumb = this.eclBreadcrumbComponent();\n if (breadcrumb) {\n breadcrumb.class = this.BREADCRUMB_CLASS;\n }\n }\n}\n","<ng-content></ng-content>","import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSectionInfo]',\n templateUrl: './ecl-page-header-section-info.component.html',\n host: {\n 'class': 'ecl-page-header__section-info ecl-container',\n },\n})\nexport class EclPageHeaderSectionInfoComponent extends ECLBaseDirective {}","<ng-content select=\"ecl-breadcrumb, nav[eclBreadcrumb]\"></ng-content>\n\n<div class=\"ecl-page-header__content-info\">\n <ng-content select=\"[eclPageHeaderTitle]\"></ng-content>\n <ng-content select=\"[eclPageHeaderDescriptionContainer]\"></ng-content>\n</div>\n<ng-content select=\"[eclPageHeaderMeta]\"></ng-content>","import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSection]',\n templateUrl: './ecl-page-header-section.component.html',\n host: {\n 'class': 'ecl-page-header__section-description',\n },\n})\nexport class EclPageHeaderSectionComponent extends ECLBaseDirective {}","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the title section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderTitle]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n /**\n * Whether the title is visible.\n *\n * @default true\n */\n readonly isTitleVisible = input(true, { transform: booleanAttribute });\n\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header__title'\n * 'ecl-u-sr-only' if the title is hidden\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header__title'),\n !this.isTitleVisible() ? 'ecl-u-sr-only' : '',\n ].join(' ').trim();\n }\n}\n\n\n/**\n * Styles the header section for the page header expandable component.\n */\n@Directive({\n selector: '[eclPageHeaderExpandableHeader]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderExpandableHeaderDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable__header-text'),\n ].join(' ').trim();\n }\n}\n","import { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-directives/ecl-page-header-background.directive';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from './ecl-page-header-directives/ecl-page-header-description.directive';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderExpandableComponent } from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nimport { EclContainerDirective, EclPageHeaderContainerDirective, EclPageHeaderInfoDirective } from './ecl-page-header-directives/ecl-page-header-info.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-directives/ecl-page-header-meta.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\nimport { EclPageHeaderSectionInfoComponent } from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nimport { EclPageHeaderSectionComponent } from './ecl-page-header-section/ecl-page-header-section.component';\nimport { EclPageHeaderExpandableHeaderDirective, EclPageHeaderTitleDirective } from './ecl-page-header-directives/ecl-page-header-title.directive';\n\nexport * from './ecl-page-header-directives/ecl-page-header-background.directive';\nexport * from './ecl-page-header-directives/ecl-page-header-description.directive';\nexport * from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nexport * from './ecl-page-header-directives/ecl-page-header-info.directive';\nexport * from './ecl-page-header-directives/ecl-page-header-meta.directive';\nexport * from './ecl-page-header.component';\nexport * from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nexport * from './ecl-page-header-section/ecl-page-header-section.component';\nexport * from './ecl-page-header-description/ecl-page-header-description.component';\nexport * from './ecl-page-header-directives/ecl-page-header-title.directive';\n\nexport const EUI_ECL_PAGE_HEADER = [\n EclPageHeaderComponent,\n EclPageHeaderContainerDirective,\n EclPageHeaderExpandableComponent,\n EclPageHeaderExpandableHeaderDirective,\n EclPageHeaderInfoDirective,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n EclPageHeaderSectionComponent,\n EclPageHeaderSectionInfoComponent,\n EclContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-page-header.mjs","sources":["../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-background.directive.ts","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-description.directive.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.ts","../../components/ecl-page-header/ecl-page-header-description/ecl-page-header-description.component.html","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.ts","../../components/ecl-page-header/ecl-page-header-expandable/ecl-page-header-expandable.component.html","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-info.directive.ts","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-meta.directive.ts","../../components/ecl-page-header/ecl-page-header.component.ts","../../components/ecl-page-header/ecl-page-header.component.html","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.ts","../../components/ecl-page-header/ecl-page-header-section-info/ecl-page-header-section-info.component.html","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.ts","../../components/ecl-page-header/ecl-page-header-section/ecl-page-header-section.component.html","../../components/ecl-page-header/ecl-page-header-directives/ecl-page-header-title.directive.ts","../../components/ecl-page-header/index.ts","../../components/ecl-page-header/eui-ecl-components-ecl-page-header.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the background picture inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundPicture]',\n host: {\n 'class': 'ecl-picture ecl-page-header__picture-background',\n },\n})\nexport class EclPageHeaderBackgroundPictureDirective extends ECLBaseDirective {}\n\n/**\n * Styles the background image inside the page header.\n */\n@Directive({\n selector: '[eclPageHeaderBackgroundImage]',\n host: {\n 'class': 'ecl-page-header__background',\n },\n})\nexport class EclPageHeaderBackgroundImageDirective extends ECLBaseDirective {}\n","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n// /**\n// * Styles the container for the page header description.\n// */\n// @Directive({\n// selector: '[eclPageHeaderDescriptionContainer]',\n// host: {\n// 'class': 'ecl-page-header__description-container',\n// },\n// })\n// export class EclPageHeaderDescriptionContainerDirective extends ECLBaseDirective {}\n\n/**\n * Styles a picture used in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionPicture]',\n host: {\n 'class': 'ecl-picture ecl-page-header__picture-thumbnail',\n },\n})\nexport class EclPageHeaderDescriptionPictureDirective extends ECLBaseDirective {}\n\n/**\n * Styles a thumbnail or image in the page header description.\n */\n@Directive({\n selector: '[eclPageHeaderDescriptionThumbnail], img[eclPageHeaderDescriptionImage]',\n host: {\n 'class': 'ecl-page-header__description-thumbnail',\n },\n})\nexport class EclPageHeaderDescriptionThumbnailDirective extends ECLBaseDirective {}\n\n/**\n * Styles the text description in the page header.\n */\n@Directive({\n selector: 'p[eclPageHeaderDescription]',\n host: {\n 'class': 'ecl-page-header__description',\n },\n})\nexport class EclPageHeaderDescriptionDirective extends ECLBaseDirective {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { Component, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderDescriptionContainer]',\n templateUrl: './ecl-page-header-description.component.html',\n imports: [NgTemplateOutlet],\n host: {\n '[class]': '\"ecl-page-header__description-\" + position()',\n },\n})\nexport class EclPageHeaderDescriptionContainerComponent extends ECLBaseDirective {\n\n position = input<'top' | 'bottom'>('top');\n}\n","@if (position() === 'bottom') {\n<div class=\"ecl-container\">\n <div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n </div>\n</div>\n} @else {\n<div class=\"ecl-page-header__description-container\">\n <ng-container [ngTemplateOutlet]=\"content\"> </ng-container>\n</div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { afterNextRender, Component, computed, ElementRef, OnDestroy, signal, viewChild } from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header expandable component. As a part of the PageHeader,\n * it represents expandable content, placed at the top of the parent component.\n */\n@Component({\n selector: 'div[eclPageHeaderExpandable]',\n templateUrl: './ecl-page-header-expandable.component.html',\n imports: [...EUI_ECL_BUTTON, ...EUI_ECL_ICON],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderExpandableComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * CSS classes applied to the host.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable'),\n this.hasProjectedContent() ? '' : 'ecl-page-header-no-toggle']\n .join(' ')\n .trim();\n }\n\n panelId = crypto.randomUUID();\n isExpanded = signal(false);\n private readonly projectedSlot = viewChild<ElementRef<HTMLElement>>('projectedSlot');\n private readonly _hasProjectedContent = signal(false);\n readonly hasProjectedContent = computed(() => this._hasProjectedContent());\n\n private observer?: MutationObserver;\n\n constructor() {\n super();\n afterNextRender(() => {\n const el = this.projectedSlot()?.nativeElement;\n if (!el) return;\n\n const recompute = () => {\n // textContent covers both text-only and element content.\n // trim() ignores whitespace/newlines from formatting.\n this._hasProjectedContent.set((el.textContent ?? '').trim().length > 0);\n };\n\n recompute();\n\n // Optional but recommended if the projected content can change dynamically\n this.observer = new MutationObserver(recompute);\n this.observer.observe(el, {\n childList: true,\n subtree: true,\n characterData: true,\n });\n });\n }\n\n ngOnDestroy() {\n this.observer?.disconnect();\n }\n\n onExpandButtonClick(): void {\n this.isExpanded.set(!this.isExpanded());\n }\n}","<div class=\"ecl-page-header-expandable__header\">\n <div class=\"ecl-container ecl-page-header-expandable__container\">\n <ng-content select=\"[eclPageHeaderExpandableHeader]\"></ng-content>\n\n @if (hasProjectedContent()) {\n <button eclButton variant=\"tertiary\" eclStyle=\"neutral\" isIconOnly aria-expanded=\"{{isExpanded()}}\" type=\"submit\"\n [attr.aria-controls]=\"panelId\" class=\"ecl-page-header-expandable__toggle\" (click)=\"onExpandButtonClick()\">\n <span eclButtonLabel>expandable button</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"flip-vertical\"></ecl-icon>\n </button>\n }\n </div>\n</div>\n<div class=\"ecl-page-header-expandable__panel\" id=\"{{panelId}}\" [hidden]=\"!isExpanded()\">\n <div class=\"ecl-container ecl-page-header-expandable__container\" #projectedSlot>\n <ng-content></ng-content>\n </div>\n</div>","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the info section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderInfo]',\n host: {\n 'class': 'ecl-page-header__info',\n },\n})\nexport class EclPageHeaderInfoDirective extends ECLBaseDirective {}\n\n\n@Directive({\n selector: '[eclPageHeaderContainer]',\n host: {\n 'class': 'ecl-page-header__container',\n },\n})\nexport class EclPageHeaderContainerDirective extends ECLBaseDirective {}\n\n@Directive({\n selector: '[eclContainer]',\n host: {\n 'class': 'ecl-container',\n },\n})\nexport class EclContainerDirective extends ECLBaseDirective {}\n","import { contentChild, Directive, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Styles the meta section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMeta]',\n host: {\n 'class': 'ecl-page-header__meta',\n },\n})\nexport class EclPageHeaderMetaDirective extends ECLBaseDirective {}\n\n/**\n * Styles individual meta items in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderMetaItem]',\n host: {\n 'class': 'ecl-page-header__meta-item',\n },\n})\nexport class EclPageHeaderMetaItemDirective extends ECLBaseDirective implements AfterContentInit {\n\n eclIcon = contentChild(EclIconComponent);\n\n private readonly ICON_CLASS = 'ecl-page-header__meta-icon';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const icon = this.eclIcon();\n if (icon) {\n icon.baseDirective.class.set(this.ICON_CLASS);\n }\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, contentChild, input } from '@angular/core';\nimport { EclBreadcrumbComponent } from '@eui/ecl/components/ecl-breadcrumb';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL Page Header component, wraps header content and handles background images and breadcrumb styling.\n */\n@Component({\n selector: 'div[eclPageHeader]',\n templateUrl: './ecl-page-header.component.html',\n imports: [],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header'\n * Adds 'ecl-page-header--image' if a background picture exists\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header'),\n // this.colorMode() ? `ecl-color-mode--${this.colorMode()}` : '',\n this.hasBackground() ? 'ecl-page-header--background' : '',\n this.descriptionPosition() ? `ecl-page-header--description-${this.descriptionPosition()}` : '',\n this.picturePosition() ? `ecl-page-header--picture-${this.picturePosition()}` : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Reference to the ECL breadcrumb inside the header.\n */\n eclBreadcrumbComponent = contentChild(EclBreadcrumbComponent);\n\n // colorMode = input<string | null>(null);\n hasBackground = input(false, { transform: booleanAttribute });\n descriptionPosition = input<'top' | 'bottom'>('top');\n picturePosition = input<'top' | 'beside' | 'bottom'>('top');\n\n private readonly BREADCRUMB_CLASS = 'ecl-page-header__breadcrumb ecl-breadcrumb--wrap';\n\n /**\n * Adds CSS class to the breadcrumb after content initialization.\n */\n ngAfterContentInit(): void {\n const breadcrumb = this.eclBreadcrumbComponent();\n if (breadcrumb) {\n breadcrumb.class.set(this.BREADCRUMB_CLASS);\n }\n }\n}\n","<ng-content></ng-content>","import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSectionInfo]',\n templateUrl: './ecl-page-header-section-info.component.html',\n host: {\n 'class': 'ecl-page-header__section-info ecl-container',\n },\n})\nexport class EclPageHeaderSectionInfoComponent extends ECLBaseDirective {}","<ng-content select=\"ecl-breadcrumb, nav[eclBreadcrumb]\"></ng-content>\n\n<div class=\"ecl-page-header__content-info\">\n <ng-content select=\"[eclPageHeaderTitle]\"></ng-content>\n <ng-content select=\"[eclPageHeaderDescriptionContainer]\"></ng-content>\n</div>\n<ng-content select=\"[eclPageHeaderMeta]\"></ng-content>","import { Component } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'div[eclPageHeaderSection]',\n templateUrl: './ecl-page-header-section.component.html',\n host: {\n 'class': 'ecl-page-header__section-description',\n },\n})\nexport class EclPageHeaderSectionComponent extends ECLBaseDirective {}","<div class=\"ecl-container\">\n <ng-content></ng-content>\n</div>","import { Directive, booleanAttribute, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Styles the title section in the page header.\n */\n@Directive({\n selector: '[eclPageHeaderTitle]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderTitleDirective extends ECLBaseDirective {\n /**\n * Whether the title is visible.\n *\n * @default true\n */\n readonly isTitleVisible = input(true, { transform: booleanAttribute });\n\n /**\n * CSS classes applied to the host.\n *\n * @default 'ecl-page-header__title'\n * 'ecl-u-sr-only' if the title is hidden\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header__title'),\n !this.isTitleVisible() ? 'ecl-u-sr-only' : '',\n ].join(' ').trim();\n }\n}\n\n\n/**\n * Styles the header section for the page header expandable component.\n */\n@Directive({\n selector: '[eclPageHeaderExpandableHeader]',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclPageHeaderExpandableHeaderDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-page-header-expandable__header-text'),\n ].join(' ').trim();\n }\n}\n","import { EclPageHeaderBackgroundImageDirective, EclPageHeaderBackgroundPictureDirective } from './ecl-page-header-directives/ecl-page-header-background.directive';\nimport {\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n} from './ecl-page-header-directives/ecl-page-header-description.directive';\nimport { EclPageHeaderDescriptionContainerComponent } from './ecl-page-header-description/ecl-page-header-description.component';\nimport { EclPageHeaderExpandableComponent } from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nimport { EclContainerDirective, EclPageHeaderContainerDirective, EclPageHeaderInfoDirective } from './ecl-page-header-directives/ecl-page-header-info.directive';\nimport { EclPageHeaderMetaDirective, EclPageHeaderMetaItemDirective } from './ecl-page-header-directives/ecl-page-header-meta.directive';\nimport { EclPageHeaderComponent } from './ecl-page-header.component';\nimport { EclPageHeaderSectionInfoComponent } from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nimport { EclPageHeaderSectionComponent } from './ecl-page-header-section/ecl-page-header-section.component';\nimport { EclPageHeaderExpandableHeaderDirective, EclPageHeaderTitleDirective } from './ecl-page-header-directives/ecl-page-header-title.directive';\n\nexport * from './ecl-page-header-directives/ecl-page-header-background.directive';\nexport * from './ecl-page-header-directives/ecl-page-header-description.directive';\nexport * from './ecl-page-header-expandable/ecl-page-header-expandable.component';\nexport * from './ecl-page-header-directives/ecl-page-header-info.directive';\nexport * from './ecl-page-header-directives/ecl-page-header-meta.directive';\nexport * from './ecl-page-header.component';\nexport * from './ecl-page-header-section-info/ecl-page-header-section-info.component';\nexport * from './ecl-page-header-section/ecl-page-header-section.component';\nexport * from './ecl-page-header-description/ecl-page-header-description.component';\nexport * from './ecl-page-header-directives/ecl-page-header-title.directive';\n\nexport const EUI_ECL_PAGE_HEADER = [\n EclPageHeaderComponent,\n EclPageHeaderContainerDirective,\n EclPageHeaderExpandableComponent,\n EclPageHeaderExpandableHeaderDirective,\n EclPageHeaderInfoDirective,\n EclPageHeaderMetaDirective,\n EclPageHeaderMetaItemDirective,\n EclPageHeaderTitleDirective,\n EclPageHeaderDescriptionDirective,\n EclPageHeaderDescriptionThumbnailDirective,\n EclPageHeaderDescriptionContainerComponent,\n EclPageHeaderDescriptionPictureDirective,\n EclPageHeaderBackgroundPictureDirective,\n EclPageHeaderBackgroundImageDirective,\n EclPageHeaderSectionComponent,\n EclPageHeaderSectionInfoComponent,\n EclContainerDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, input, numberAttribute, signal, effect, model, output, Component } from '@angular/core';
2
+ import { forwardRef, input, numberAttribute, signal, effect, booleanAttribute, linkedSignal, output, Component } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
5
5
  import * as i1 from '@eui/ecl/components/ecl-icon';
@@ -52,9 +52,17 @@ class EclRatingFieldComponent extends ECLBaseDirective {
52
52
  ...(ngDevMode ? [{ debugName: "_syncRating" }] : /* istanbul ignore next */ []));
53
53
  /**
54
54
  * Can be used to set disabled status.
55
+ * One-way input; the live disabled state is tracked internally and may also be driven
56
+ * by the forms API via `setDisabledState`.
55
57
  */
56
- this.disabled = model(undefined, /* @ts-ignore */
57
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
58
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
59
+ /**
60
+ * Live disabled state. Seeded from the `disabled` input and updated by the Angular
61
+ * forms API through `setDisabledState`, so a reactive form's enable/disable re-syncs
62
+ * while an input-provided value is honoured.
63
+ */
64
+ this.isDisabledState = linkedSignal(() => this.disabled(), /* @ts-ignore */
65
+ ...(ngDevMode ? [{ debugName: "isDisabledState" }] : /* istanbul ignore next */ []));
58
66
  /**
59
67
  * The event to be emitted when rating is changed.
60
68
  */
@@ -76,7 +84,7 @@ class EclRatingFieldComponent extends ECLBaseDirective {
76
84
  * Applies the base class `ecl-rating-field` to the host element. Applies 'ecl-rating-field--disabled' class on condition.
77
85
  */
78
86
  get cssClasses() {
79
- return [super.getCssClasses('ecl-rating-field'), this.disabled() ? 'ecl-rating-field--disabled' : ''].join(' ').trim();
87
+ return [super.getCssClasses('ecl-rating-field'), this.isDisabledState() ? 'ecl-rating-field--disabled' : ''].join(' ').trim();
80
88
  }
81
89
  /**
82
90
  * Method that sets the new rating and emit 'ratingChange' event, that includes the new rating number.
@@ -101,7 +109,7 @@ class EclRatingFieldComponent extends ECLBaseDirective {
101
109
  * @param isDisabled
102
110
  */
103
111
  setDisabledState(isDisabled) {
104
- this.disabled.set(isDisabled || null);
112
+ this.isDisabledState.set(isDisabled);
105
113
  }
106
114
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
115
  registerOnChange(fn) {
@@ -112,15 +120,15 @@ class EclRatingFieldComponent extends ECLBaseDirective {
112
120
  this.onTouched = fn;
113
121
  }
114
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclRatingFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclRatingFieldComponent, isStandalone: true, selector: "ecl-rating-field", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, numberOfStars: { classPropertyName: "numberOfStars", publicName: "numberOfStars", isSignal: true, isRequired: false, transformFunction: null }, rating: { classPropertyName: "rating", publicName: "rating", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", ratingChange: "ratingChange" }, host: { properties: { "attr.disabled": "disabled()", "class": "cssClasses" } }, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"disabled() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclRatingFieldComponent, isStandalone: true, selector: "ecl-rating-field", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, numberOfStars: { classPropertyName: "numberOfStars", publicName: "numberOfStars", isSignal: true, isRequired: false, transformFunction: null }, rating: { classPropertyName: "rating", publicName: "rating", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { ratingChange: "ratingChange" }, host: { properties: { "attr.disabled": "isDisabledState() || undefined", "class": "cssClasses" } }, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"isDisabledState() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
116
124
  }
117
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclRatingFieldComponent, decorators: [{
118
126
  type: Component,
119
127
  args: [{ selector: 'ecl-rating-field', imports: [...EUI_ECL_ICON], providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], host: {
120
- '[attr.disabled]': 'disabled()',
128
+ '[attr.disabled]': 'isDisabledState() || undefined',
121
129
  '[class]': 'cssClasses',
122
- }, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"disabled() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n" }]
123
- }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], numberOfStars: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfStars", required: false }] }], rating: [{ type: i0.Input, args: [{ isSignal: true, alias: "rating", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], ratingChange: [{ type: i0.Output, args: ["ratingChange"] }] } });
130
+ }, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"isDisabledState() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n" }]
131
+ }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], numberOfStars: [{ type: i0.Input, args: [{ isSignal: true, alias: "numberOfStars", required: false }] }], rating: [{ type: i0.Input, args: [{ isSignal: true, alias: "rating", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ratingChange: [{ type: i0.Output, args: ["ratingChange"] }] } });
124
132
 
125
133
  const EUI_ECL_RATING_FIELD = [
126
134
  EclRatingFieldComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-rating-field.mjs","sources":["../../components/ecl-rating-field/events/ecl-rating-change.event.ts","../../components/ecl-rating-field/ecl-rating-field.component.ts","../../components/ecl-rating-field/ecl-rating-field.component.html","../../components/ecl-rating-field/index.ts","../../components/ecl-rating-field/eui-ecl-components-ecl-rating-field.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}","import { Component, effect, forwardRef, numberAttribute, Provider, output, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRatingChangeEvent } from './events/ecl-rating-change.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n/**\n * Component representing rating field, displayed with stars.\n * Typically used when the user needs to evaluate something.\n */\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n imports: [...EUI_ECL_ICON],\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n host: {\n '[attr.disabled]': 'disabled()',\n '[class]': 'cssClasses',\n },\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n /**\n * Name of the radio group. Also used for creating id for each radio button.\n */\n readonly name = input('rating');\n /**\n * How many stars should the rating have.\n */\n readonly numberOfStars = input(5, { transform: numberAttribute });\n /**\n * The initial value, if any.\n */\n readonly rating = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /** Internal mutable rating value, falls back to the input */\n readonly currentRating = signal<number>(undefined);\n\n private readonly _syncRating = effect(() => {\n const inputRating = this.rating();\n if (inputRating !== undefined) {\n this.currentRating.set(inputRating);\n }\n });\n /**\n * Can be used to set disabled status.\n */\n readonly disabled = model<boolean>(undefined);\n\n /**\n * The event to be emitted when rating is changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly ratingChange = output<any>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n /**\n * Array of numbers, from 1 to 'numberOfStars'\n */\n get numbers(): number[] {\n return Array(this.numberOfStars())\n .fill(0)\n .map((_, i) => this.numberOfStars() - i);\n }\n\n /**\n * Applies the base class `ecl-rating-field` to the host element. Applies 'ecl-rating-field--disabled' class on condition.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-rating-field'), this.disabled() ? 'ecl-rating-field--disabled' : ''].join(' ').trim();\n }\n\n /**\n * Method that sets the new rating and emit 'ratingChange' event, that includes the new rating number.\n * @param rating - the new rating\n */\n onRadioClick(rating: number): void {\n this.currentRating.set(rating);\n this.onTouched();\n this.onChange(this.currentRating());\n\n const evt = new EclRatingChangeEvent(rating);\n this.ratingChange.emit(evt);\n }\n\n /**\n * Informs the component of any changes in the parent (ControlValueAccessor). Sets the new value for the 'rating' property.\n * @param value\n */\n writeValue(value: number): void {\n this.currentRating.set(value);\n }\n\n /**\n * Disable/enable component.\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled.set(isDisabled || null);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"disabled() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n","import { EclRatingFieldComponent } from './ecl-rating-field.component';\n\nexport * from './ecl-rating-field.component';\nexport * from './events/ecl-rating-change.event';\n\nexport const EUI_ECL_RATING_FIELD = [\n EclRatingFieldComponent,\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-rating-field.mjs","sources":["../../components/ecl-rating-field/events/ecl-rating-change.event.ts","../../components/ecl-rating-field/ecl-rating-field.component.ts","../../components/ecl-rating-field/ecl-rating-field.component.html","../../components/ecl-rating-field/index.ts","../../components/ecl-rating-field/eui-ecl-components-ecl-rating-field.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}","import { booleanAttribute, Component, effect, forwardRef, linkedSignal, numberAttribute, Provider, output, input, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRatingChangeEvent } from './events/ecl-rating-change.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n/**\n * Component representing rating field, displayed with stars.\n * Typically used when the user needs to evaluate something.\n */\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n imports: [...EUI_ECL_ICON],\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n host: {\n '[attr.disabled]': 'isDisabledState() || undefined',\n '[class]': 'cssClasses',\n },\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n /**\n * Name of the radio group. Also used for creating id for each radio button.\n */\n readonly name = input('rating');\n /**\n * How many stars should the rating have.\n */\n readonly numberOfStars = input(5, { transform: numberAttribute });\n /**\n * The initial value, if any.\n */\n readonly rating = input<number, unknown>(undefined, { transform: numberAttribute });\n\n /** Internal mutable rating value, falls back to the input */\n readonly currentRating = signal<number>(undefined);\n\n private readonly _syncRating = effect(() => {\n const inputRating = this.rating();\n if (inputRating !== undefined) {\n this.currentRating.set(inputRating);\n }\n });\n /**\n * Can be used to set disabled status.\n * One-way input; the live disabled state is tracked internally and may also be driven\n * by the forms API via `setDisabledState`.\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Live disabled state. Seeded from the `disabled` input and updated by the Angular\n * forms API through `setDisabledState`, so a reactive form's enable/disable re-syncs\n * while an input-provided value is honoured.\n */\n protected readonly isDisabledState = linkedSignal(() => this.disabled());\n\n /**\n * The event to be emitted when rating is changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n readonly ratingChange = output<any>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n /**\n * Array of numbers, from 1 to 'numberOfStars'\n */\n get numbers(): number[] {\n return Array(this.numberOfStars())\n .fill(0)\n .map((_, i) => this.numberOfStars() - i);\n }\n\n /**\n * Applies the base class `ecl-rating-field` to the host element. Applies 'ecl-rating-field--disabled' class on condition.\n */\n get cssClasses(): string {\n return [super.getCssClasses('ecl-rating-field'), this.isDisabledState() ? 'ecl-rating-field--disabled' : ''].join(' ').trim();\n }\n\n /**\n * Method that sets the new rating and emit 'ratingChange' event, that includes the new rating number.\n * @param rating - the new rating\n */\n onRadioClick(rating: number): void {\n this.currentRating.set(rating);\n this.onTouched();\n this.onChange(this.currentRating());\n\n const evt = new EclRatingChangeEvent(rating);\n this.ratingChange.emit(evt);\n }\n\n /**\n * Informs the component of any changes in the parent (ControlValueAccessor). Sets the new value for the 'rating' property.\n * @param value\n */\n writeValue(value: number): void {\n this.currentRating.set(value);\n }\n\n /**\n * Disable/enable component.\n * @param isDisabled\n */\n setDisabledState(isDisabled: boolean): void {\n this.isDisabledState.set(isDisabled);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name() }}-{{ n }}\"\n [name]=\"name()\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"currentRating() === n ? true : undefined\"\n [attr.disabled]=\"isDisabledState() ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name() }}-{{ n }}\">\n <span class=\"ecl-rating-field__sr-label\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n","import { EclRatingFieldComponent } from './ecl-rating-field.component';\n\nexport * from './ecl-rating-field.component';\nexport * from './events/ecl-rating-change.event';\n\nexport const EUI_ECL_RATING_FIELD = [\n EclRatingFieldComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAEM,MAAO,oBAAqB,SAAQ,YAAY,CAAA;AAClD,IAAA,WAAA,CAA4B,KAAa,EAAA;AACrC,QAAA,KAAK,EAAE;QADiB,IAAA,CAAA,KAAK,GAAL,KAAK;IAEjC;AACH;;ACAM,MAAM,8BAA8B,GAAa;AACpD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,IAAA,KAAK,EAAE,IAAI;;AAGf,MAAM,IAAI,GAAG,MAAW;;AAExB,CAAC;AAED;;;AAGG;AAWG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAV7D,IAAA,WAAA,GAAA;;AAWI;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ;iFAAC;AAC/B;;AAEG;QACM,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,CAAC,qFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACjE;;AAEG;QACM,IAAA,CAAA,MAAM,GAAG,KAAK,CAAkB,SAAS,8EAAI,SAAS,EAAE,eAAe,EAAA,CAAG;;QAG1E,IAAA,CAAA,aAAa,GAAG,MAAM,CAAS,SAAS;0FAAC;AAEjC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,MAAK;AACvC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,IAAI,WAAW,KAAK,SAAS,EAAE;AAC3B,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC;YACvC;QACJ,CAAC;wFAAC;AACF;;;;AAIG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEjE;;;;AAIG;QACgB,IAAA,CAAA,eAAe,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE;4FAAC;AAExE;;AAEG;;QAEM,IAAA,CAAA,YAAY,GAAG,MAAM,EAAO;;QAG7B,IAAA,CAAA,QAAQ,GAAqB,IAAI;QACjC,IAAA,CAAA,SAAS,GAAe,IAAI;AAwDvC,IAAA;AAtDG;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE;aAC5B,IAAI,CAAC,CAAC;AACN,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAChD;AAEA;;AAEE;AACF,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,4BAA4B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACjI;AAEA;;;AAGG;AACH,IAAA,YAAY,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,EAAE;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAEnC,QAAA,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC;AAC5C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;IAC/B;AAEA;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;IACjC;AAEA;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;IACxC;;AAGA,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACtB;;AAGA,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACvB;8GApGS,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,gCAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EANrB,CAAC,8BAA8B,CAAC,iDCxB/C,owBAiBA,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,CAAA,EAAA,CAAA,CAAA;;2FDaa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;+BACI,kBAAkB,EAAA,OAAA,EAEnB,CAAC,GAAG,YAAY,CAAC,EAAA,SAAA,EACf,CAAC,8BAA8B,CAAC,EAAA,IAAA,EACrC;AACF,wBAAA,iBAAiB,EAAE,gCAAgC;AACnD,wBAAA,SAAS,EAAE,YAAY;AAC1B,qBAAA,EAAA,QAAA,EAAA,owBAAA,EAAA;;;AEvBE,MAAM,oBAAoB,GAAG;IAChC,uBAAuB;;;ACN3B;;AAEG;;;;"}
@@ -402,7 +402,7 @@ class EclSiteFooterCoownerListDirective extends ECLBaseDirective {
402
402
  ngAfterContentInit() {
403
403
  const items = this.eclFooterCoownerListItems();
404
404
  if (items.length > 0) {
405
- items[0].class = this.ITEM_CLASS_FIRST;
405
+ items[0].class.set(this.ITEM_CLASS_FIRST);
406
406
  }
407
407
  }
408
408
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteFooterCoownerListDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
@@ -430,7 +430,7 @@ class EclSiteFooterCoownerItemDirective extends ECLBaseDirective {
430
430
  ...(ngDevMode ? [{ debugName: "eclLinks" }] : /* istanbul ignore next */ []));
431
431
  this.LINK_CLASS = 'ecl-site-footer__co-owner-link';
432
432
  effect(() => {
433
- this.eclLinks().forEach(link => (link.class = this.LINK_CLASS));
433
+ this.eclLinks().forEach(link => link.class.set(this.LINK_CLASS));
434
434
  });
435
435
  }
436
436
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSiteFooterCoownerItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }