@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,14 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Component, input, model, booleanAttribute, signal, EventEmitter, viewChild, contentChild, computed, effect, HostBinding, Output, output, contentChildren, forwardRef, IterableDiffers, ChangeDetectorRef, PLATFORM_ID, afterNextRender, HostListener, ViewEncapsulation } from '@angular/core';
2
+ import { inject, ElementRef, Component, input, model, booleanAttribute, signal, output, viewChild, computed, contentChild, effect, contentChildren, forwardRef, IterableDiffers, ChangeDetectorRef, PLATFORM_ID, DestroyRef, afterNextRender, ViewEncapsulation } from '@angular/core';
3
3
  import { ECLBaseDirective, EclBaseEvent, EclRtlService, KeyCode } from '@eui/ecl/core';
4
4
  import * as i1 from '@eui/ecl/components/ecl-link';
5
5
  import { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
6
6
  import { BreakpointObserver } from '@angular/cdk/layout';
7
7
  import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';
8
- import { toObservable } from '@angular/core/rxjs-interop';
8
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
9
9
  import { TranslatePipe } from '@ngx-translate/core';
10
- import { Subject } from 'rxjs';
11
- import { takeUntil } from 'rxjs/operators';
12
10
  import * as i1$1 from '@eui/ecl/components/ecl-button';
13
11
  import { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';
14
12
  import * as i2 from '@eui/ecl/components/ecl-icon';
@@ -61,8 +59,8 @@ class EclTabComponent extends ECLBaseDirective {
61
59
  /**
62
60
  * Extra classes to be added to the anchor tag.
63
61
  */
64
- this.anchorExtraClasses = input(undefined, /* @ts-ignore */
65
- ...(ngDevMode ? [{ debugName: "anchorExtraClasses" }] : /* istanbul ignore next */ []));
62
+ this.anchorExtraClasses = input(/* @ts-ignore */
63
+ ...(ngDevMode ? [undefined, { debugName: "anchorExtraClasses" }] : /* istanbul ignore next */ []));
66
64
  /**
67
65
  * Hides the tab when true by applying the `ecl-tabs__item--hidden` CSS class.
68
66
  */
@@ -77,50 +75,49 @@ class EclTabComponent extends ECLBaseDirective {
77
75
  /**
78
76
  * Emits when the tab is selected via click.
79
77
  */
80
- this.selectTab = new EventEmitter();
78
+ this.selectTab = output();
81
79
  /**
82
80
  * Emits when a keydown event occurs on the tab.
83
81
  */
84
- this.keydownTab = new EventEmitter();
82
+ this.keydownTab = output();
85
83
  /**
86
84
  * Reference to the tab content template.
87
85
  */
88
86
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
87
  this.contentTemplate = viewChild('content', /* @ts-ignore */
90
88
  ...(ngDevMode ? [{ debugName: "contentTemplate" }] : /* istanbul ignore next */ []));
91
- /**
92
- * Reference to the internal link directive used in the tab.
93
- */
94
- this.link = viewChild(EclLinkDirective, /* @ts-ignore */
95
- ...(ngDevMode ? [{ debugName: "link" }] : /* istanbul ignore next */ []));
96
- /**
97
- * Reference to the projected tab label component.
98
- */
99
- this.label = contentChild(EclTabLabelComponent, /* @ts-ignore */
100
- ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
101
89
  /**
102
90
  * Contains the inner HTML of the tab label.
103
91
  */
104
92
  this.tabLabel = '';
93
+ /**
94
+ * The computed id used across the tab's DOM hooks.
95
+ */
96
+ this.finalId = computed(() => this.id() ?? this.generatedId(), /* @ts-ignore */
97
+ ...(ngDevMode ? [{ debugName: "finalId" }] : /* istanbul ignore next */ []));
105
98
  /**
106
99
  * The tab index value for the tab's link.
107
100
  */
108
101
  this.hrefTabindex = computed(() => this._isActive() ? 0 : -1, /* @ts-ignore */
109
102
  ...(ngDevMode ? [{ debugName: "hrefTabindex" }] : /* istanbul ignore next */ []));
110
- this.finalId = computed(() => this.id() ?? this.generatedId(), /* @ts-ignore */
111
- ...(ngDevMode ? [{ debugName: "finalId" }] : /* istanbul ignore next */ []));
112
- this.linkId = computed(() => {
113
- return `${this.finalId()}-link`;
114
- }, /* @ts-ignore */
103
+ /**
104
+ * CSS classes applied to the host element, bound via the `host` metadata (`[class]`).
105
+ * Reactive to the base `class` model signal.
106
+ */
107
+ this.cssClasses = computed(() => this.getCssClasses('ecl-tabs__item'), /* @ts-ignore */
108
+ ...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
109
+ this.linkId = computed(() => `${this.finalId()}-link`, /* @ts-ignore */
115
110
  ...(ngDevMode ? [{ debugName: "linkId" }] : /* istanbul ignore next */ []));
116
- this.ariaControls = computed(() => {
117
- return `${this.finalId()}-tabpanel`;
118
- }, /* @ts-ignore */
111
+ this.ariaControls = computed(() => `${this.finalId()}-tabpanel`, /* @ts-ignore */
119
112
  ...(ngDevMode ? [{ debugName: "ariaControls" }] : /* istanbul ignore next */ []));
113
+ this.link = viewChild(EclLinkDirective, /* @ts-ignore */
114
+ ...(ngDevMode ? [{ debugName: "link" }] : /* istanbul ignore next */ []));
115
+ this.label = contentChild(EclTabLabelComponent, /* @ts-ignore */
116
+ ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
120
117
  this.generatedId = signal(crypto.randomUUID(), /* @ts-ignore */
121
118
  ...(ngDevMode ? [{ debugName: "generatedId" }] : /* istanbul ignore next */ []));
122
- this.isFirstCall = true;
123
119
  this.elementRef = inject(ElementRef);
120
+ this.isFirstCall = true;
124
121
  if (this.isUsingOldSelector) {
125
122
  console.warn('"ecl-tab" selector is deprecated; use "div[eclTab]" instead.');
126
123
  }
@@ -147,12 +144,6 @@ class EclTabComponent extends ECLBaseDirective {
147
144
  this.tabLabel = this.label().el.nativeElement.innerHTML;
148
145
  // this._isActive.set(this.isActive());
149
146
  }
150
- /**
151
- * Returns the CSS classes applied to the host element.
152
- */
153
- get cssClasses() {
154
- return [super.getCssClasses('ecl-tabs__item')].join(' ').trim();
155
- }
156
147
  /**
157
148
  * Returns the inner HTML content of the tab label.
158
149
  */
@@ -170,18 +161,6 @@ class EclTabComponent extends ECLBaseDirective {
170
161
  }
171
162
  return this.width;
172
163
  }
173
- /**
174
- * Handles a click event on the tab and emits the `selectTab` event.
175
- */
176
- onTabClick() {
177
- this.selectTab.next(new EclTabSelectEvent(this));
178
- }
179
- /**
180
- * Handles a keydown event on the tab and emits the `keydownTab` event.
181
- */
182
- onKeydown(event) {
183
- this.keydownTab.next(event);
184
- }
185
164
  /**
186
165
  * Calls the focus method on the inner link directive.
187
166
  */
@@ -194,23 +173,29 @@ class EclTabComponent extends ECLBaseDirective {
194
173
  onBlur() {
195
174
  this.link().onBlur();
196
175
  }
176
+ /**
177
+ * Handles a click event on the tab and emits the `selectTab` event.
178
+ */
179
+ onTabClick() {
180
+ this.selectTab.emit(new EclTabSelectEvent(this));
181
+ }
182
+ /**
183
+ * Handles a keydown event on the tab and emits the `keydownTab` event.
184
+ */
185
+ onKeydown(event) {
186
+ this.keydownTab.emit(event);
187
+ }
197
188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclTabComponent, isStandalone: true, selector: "div[eclTab]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, anchorExtraClasses: { classPropertyName: "anchorExtraClasses", publicName: "anchorExtraClasses", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isHidden: "isHiddenChange", selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "attr.id": "id()", "class.ecl-tabs__item--hidden": "isHidden()", "class": "this.cssClasses" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses()}}\"\n [class.ecl-tabs__link--active]=\"_isActive()\"\n [attr.aria-selected]=\"_isActive()\"\n [tabindex]=\"hrefTabindex()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\"\n [id]=\"linkId()\"\n [attr.aria-controls]=\"ariaControls()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }] }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclTabComponent, isStandalone: true, selector: "div[eclTab]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, anchorExtraClasses: { classPropertyName: "anchorExtraClasses", publicName: "anchorExtraClasses", isSignal: true, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isHidden: "isHiddenChange", selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "attr.id": "id()", "class": "cssClasses()", "class.ecl-tabs__item--hidden": "isHidden()" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses()}}\"\n [class.ecl-tabs__link--active]=\"_isActive()\"\n [attr.aria-selected]=\"_isActive()\"\n [tabindex]=\"hrefTabindex()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\"\n [id]=\"linkId()\"\n [attr.aria-controls]=\"ariaControls()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.EclLinkDirective, selector: "[eclLink]", inputs: ["extraAttributes", "isInverted", "isIconOnly", "isHighlight", "isNoVisited", "isBranded", "variant"] }] }); }
199
190
  }
200
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTabComponent, decorators: [{
201
192
  type: Component,
202
193
  args: [{ selector: 'div[eclTab]', host: {
203
194
  '[attr.id]': 'id()',
195
+ '[class]': 'cssClasses()',
204
196
  '[class.ecl-tabs__item--hidden]': 'isHidden()',
205
197
  }, imports: [...EUI_ECL_LINK], template: "<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses()}}\"\n [class.ecl-tabs__link--active]=\"_isActive()\"\n [attr.aria-selected]=\"_isActive()\"\n [tabindex]=\"hrefTabindex()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\"\n [id]=\"linkId()\"\n [attr.aria-controls]=\"ariaControls()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
206
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], anchorExtraClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorExtraClasses", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }, { type: i0.Output, args: ["isHiddenChange"] }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], selectTab: [{
207
- type: Output
208
- }], keydownTab: [{
209
- type: Output
210
- }], contentTemplate: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], link: [{ type: i0.ViewChild, args: [i0.forwardRef(() => EclLinkDirective), { isSignal: true }] }], label: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclTabLabelComponent), { isSignal: true }] }], cssClasses: [{
211
- type: HostBinding,
212
- args: ['class']
213
- }] } });
198
+ }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], anchorExtraClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorExtraClasses", required: false }] }], isHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHidden", required: false }] }, { type: i0.Output, args: ["isHiddenChange"] }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], selectTab: [{ type: i0.Output, args: ["selectTab"] }], keydownTab: [{ type: i0.Output, args: ["keydownTab"] }], contentTemplate: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], link: [{ type: i0.ViewChild, args: [i0.forwardRef(() => EclLinkDirective), { isSignal: true }] }], label: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclTabLabelComponent), { isSignal: true }] }] } });
214
199
 
215
200
  var ShiftDirection;
216
201
  (function (ShiftDirection) {
@@ -223,14 +208,6 @@ var ShiftDirection;
223
208
  class EclTabsComponent extends ECLBaseDirective {
224
209
  constructor() {
225
210
  super();
226
- /**
227
- * Adds `ecl-tabs` class to the host if not using the deprecated selector.
228
- */
229
- this.hasClass = !this.isUsingOldSelector;
230
- /**
231
- * Marks the component as initialized, enabling ECL CSS that depends on this attribute.
232
- */
233
- this.autoInitialized = 'true';
234
211
  /**
235
212
  * Class applied to the tab body container.
236
213
  */
@@ -246,79 +223,91 @@ class EclTabsComponent extends ECLBaseDirective {
246
223
  this.tabs = contentChildren(forwardRef(() => EclTabComponent), /* @ts-ignore */
247
224
  ...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
248
225
  /**
249
- * Reference to the visible tab list container.
250
- */
251
- this.tabsList = viewChild('tabsList', /* @ts-ignore */
252
- ...(ngDevMode ? [{ debugName: "tabsList" }] : /* istanbul ignore next */ []));
253
- /**
254
- * Reference to the "more" button.
255
- */
256
- this.moreButton = viewChild('moreButton', /* @ts-ignore */
257
- ...(ngDevMode ? [{ debugName: "moreButton" }] : /* istanbul ignore next */ []));
258
- /**
259
- * Reference to the scroll previous button.
226
+ * Tabs displayed in the visible list.
260
227
  */
261
- this.btnPrev = viewChild('btnPrev', /* @ts-ignore */
262
- ...(ngDevMode ? [{ debugName: "btnPrev" }] : /* istanbul ignore next */ []));
228
+ this.listTabs = signal([], /* @ts-ignore */
229
+ ...(ngDevMode ? [{ debugName: "listTabs" }] : /* istanbul ignore next */ []));
263
230
  /**
264
- * Reference to the scroll next button.
231
+ * Indicates whether the dropdown is expanded.
265
232
  */
266
- this.btnNext = viewChild('btnNext', /* @ts-ignore */
267
- ...(ngDevMode ? [{ debugName: "btnNext" }] : /* istanbul ignore next */ []));
233
+ this.isDropdownExpanded = signal(false, /* @ts-ignore */
234
+ ...(ngDevMode ? [{ debugName: "isDropdownExpanded" }] : /* istanbul ignore next */ []));
268
235
  /**
269
- * Reference to the dropdown list containing overflowed tabs.
236
+ * Indicates whether the scroll previous button is shown.
270
237
  */
271
- this.dropdownList = viewChild('dropdownList', /* @ts-ignore */
272
- ...(ngDevMode ? [{ debugName: "dropdownList" }] : /* istanbul ignore next */ []));
238
+ this.isScrollPrevBtnShow = signal(false, /* @ts-ignore */
239
+ ...(ngDevMode ? [{ debugName: "isScrollPrevBtnShow" }] : /* istanbul ignore next */ []));
273
240
  /**
274
- * Reference to the "more" item container in the tab list.
241
+ * Indicates whether the scroll next button is shown.
275
242
  */
276
- this.moreItem = viewChild('moreItem', /* @ts-ignore */
277
- ...(ngDevMode ? [{ debugName: "moreItem" }] : /* istanbul ignore next */ []));
243
+ this.isScrollNextBtnShow = signal(false, /* @ts-ignore */
244
+ ...(ngDevMode ? [{ debugName: "isScrollNextBtnShow" }] : /* istanbul ignore next */ []));
278
245
  /**
279
- * Tabs displayed in the visible list.
246
+ * CSS transform applied to the scrollable tab list.
280
247
  */
281
- this.listTabs = [];
248
+ this.styleTransform = signal('translate3d(0px, 0px, 0px)', /* @ts-ignore */
249
+ ...(ngDevMode ? [{ debugName: "styleTransform" }] : /* istanbul ignore next */ []));
282
250
  /**
283
- * Index of the active tab.
251
+ * Whether any visible tab is active.
284
252
  */
285
- this.index = 0;
253
+ this.isMoreButtonActive = computed(() => this.listTabs().find((el) => el._isActive() && !el.isHidden()) !== undefined, /* @ts-ignore */
254
+ ...(ngDevMode ? [{ debugName: "isMoreButtonActive" }] : /* istanbul ignore next */ []));
286
255
  /**
287
- * Indicates whether the dropdown is expanded.
256
+ * Get the tabindex for more button.
288
257
  */
289
- this.isDropdownExpanded = signal(false, /* @ts-ignore */
290
- ...(ngDevMode ? [{ debugName: "isDropdownExpanded" }] : /* istanbul ignore next */ []));
258
+ this.customTabIndex = computed(() => {
259
+ if (!this.isMoreButtonActive()) {
260
+ return '-1';
261
+ }
262
+ return this.isDropdownExpanded() ? '-1' : '0';
263
+ }, /* @ts-ignore */
264
+ ...(ngDevMode ? [{ debugName: "customTabIndex" }] : /* istanbul ignore next */ []));
291
265
  /**
292
- * Indicates whether the mobile breakpoint is active.
266
+ * Returns the number of tabs shown in the dropdown.
267
+ *
268
+ * Counts the dropdown clones that are visible (`isHidden() === false`), which is the
269
+ * exact set rendered in the dropdown. Counting the main tabs' hidden state instead can
270
+ * diverge from what the dropdown shows, because the main-bar hidden signals are updated
271
+ * by the imperative resize measurement pass.
293
272
  */
294
- this.isMobileBreakpoint = false;
273
+ this.hiddenTabsCount = computed(() => this.listTabs().filter((item) => !item.isHidden()).length, /* @ts-ignore */
274
+ ...(ngDevMode ? [{ debugName: "hiddenTabsCount" }] : /* istanbul ignore next */ []));
295
275
  /**
296
- * Indicates whether the scroll previous button is shown.
276
+ * Returns the duration of the transition animation.
297
277
  */
298
- this.isScrollPrevBtnShow = signal(false, /* @ts-ignore */
299
- ...(ngDevMode ? [{ debugName: "isScrollPrevBtnShow" }] : /* istanbul ignore next */ []));
278
+ this.transitionDuration = computed(() => (this.isMobileBreakpoint() ? '0.4s' : '0'), /* @ts-ignore */
279
+ ...(ngDevMode ? [{ debugName: "transitionDuration" }] : /* istanbul ignore next */ []));
280
+ this.tabsList = viewChild('tabsList', /* @ts-ignore */
281
+ ...(ngDevMode ? [{ debugName: "tabsList" }] : /* istanbul ignore next */ []));
282
+ this.moreButton = viewChild('moreButton', /* @ts-ignore */
283
+ ...(ngDevMode ? [{ debugName: "moreButton" }] : /* istanbul ignore next */ []));
284
+ this.btnPrev = viewChild('btnPrev', /* @ts-ignore */
285
+ ...(ngDevMode ? [{ debugName: "btnPrev" }] : /* istanbul ignore next */ []));
286
+ this.dropdownList = viewChild('dropdownList', /* @ts-ignore */
287
+ ...(ngDevMode ? [{ debugName: "dropdownList" }] : /* istanbul ignore next */ []));
288
+ this.moreItem = viewChild('moreItem', /* @ts-ignore */
289
+ ...(ngDevMode ? [{ debugName: "moreItem" }] : /* istanbul ignore next */ []));
300
290
  /**
301
- * Indicates whether the scroll next button is shown.
291
+ * Index of the active tab.
302
292
  */
303
- this.isScrollNextBtnShow = signal(false, /* @ts-ignore */
304
- ...(ngDevMode ? [{ debugName: "isScrollNextBtnShow" }] : /* istanbul ignore next */ []));
293
+ this.index = signal(0, /* @ts-ignore */
294
+ ...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
305
295
  /**
306
- * CSS transform applied to the scrollable tab list.
296
+ * Indicates whether the mobile breakpoint is active.
307
297
  */
308
- this.styleTransform = 'translate3d(0px, 0px, 0px)';
298
+ this.isMobileBreakpoint = signal(false, /* @ts-ignore */
299
+ ...(ngDevMode ? [{ debugName: "isMobileBreakpoint" }] : /* istanbul ignore next */ []));
309
300
  this.differs = inject(IterableDiffers);
310
301
  this.cdkBreakpointObserver = inject(BreakpointObserver);
311
302
  this.cd = inject(ChangeDetectorRef);
312
303
  this.el = inject(ElementRef);
313
304
  this.eclRtlService = inject(EclRtlService);
314
305
  this.platformId = inject(PLATFORM_ID);
315
- this.destroy$ = new Subject();
306
+ this.destroyRef = inject(DestroyRef);
316
307
  this.tabsChanges$ = toObservable(this.tabs);
308
+ this.tabSubscriptions = new Map();
317
309
  this.isRtl = false;
318
310
  this.TIMEOUT_INTERVAL = 0;
319
- if (this.isUsingOldSelector) {
320
- console.warn('"ecl-tabs" selector is deprecated; use "div[eclTabs]" instead.');
321
- }
322
311
  this.differ = this.differs.find([]).create();
323
312
  afterNextRender(() => {
324
313
  this.observeTabsChanges();
@@ -332,48 +321,11 @@ class EclTabsComponent extends ECLBaseDirective {
332
321
  this.handleRtlChangeState();
333
322
  }
334
323
  }
335
- ngOnDestroy() {
336
- this.destroy$.next(true);
337
- this.destroy$.unsubscribe();
338
- }
339
324
  onClick(target) {
340
325
  if (!this.moreButton().el.nativeElement.contains(target) && !this.dropdownList().nativeElement.contains(target)) {
341
326
  this.closeDropdown();
342
327
  }
343
328
  }
344
- /**
345
- * Whether the deprecated selector is being used.
346
- */
347
- get isUsingOldSelector() {
348
- if (this.el?.nativeElement.tagName.toLowerCase() === 'ecl-tabs') {
349
- return true;
350
- }
351
- return false;
352
- }
353
- /**
354
- * Whether any visible tab is active.
355
- */
356
- get isMoreButtonActive() {
357
- return this.listTabs.find((el) => el._isActive() && !el.isHidden()) !== undefined;
358
- }
359
- /**
360
- * Get the tabindex for more button.
361
- */
362
- get customTabIndex() {
363
- let result = '0';
364
- if (this.isMoreButtonActive) {
365
- if (this.isDropdownExpanded()) {
366
- result = '-1';
367
- }
368
- else {
369
- result = '0';
370
- }
371
- }
372
- else {
373
- result = '-1';
374
- }
375
- return result;
376
- }
377
329
  /**
378
330
  * Scrolls the tab list to the left.
379
331
  */
@@ -392,84 +344,21 @@ class EclTabsComponent extends ECLBaseDirective {
392
344
  onDropdownToggle() {
393
345
  this.isDropdownExpanded.set(!this.isDropdownExpanded());
394
346
  }
395
- /**
396
- * Returns the number of tabs hidden in dropdown.
397
- */
398
- getHiddenTabsCount() {
399
- return this.tabs().filter((item) => item.isHidden()).length;
400
- }
401
347
  /**
402
348
  * Returns the label of the tab at the specified index.
403
349
  */
404
350
  getTabLabel(index) {
405
351
  return this.getTabsAsArray()[index].getTabLabel();
406
352
  }
407
- /**
408
- * Returns the duration of the transition animation.
409
- */
410
- getTransitionDuration() {
411
- if (this.isMobileBreakpoint) {
412
- return '0.4s';
413
- }
414
- return '0';
415
- }
416
353
  /**
417
354
  * Handles tab selection.
418
355
  * @param tab Tab to activate.
419
356
  */
420
357
  onTabSelect(tab) {
421
- this.deactivateAllTabs(Array.from(this.tabs()), this.listTabs);
358
+ this.deactivateAllTabs(Array.from(this.tabs()), this.listTabs());
422
359
  this.activateTab(tab);
423
360
  this.sendTabSelectEvent(tab);
424
361
  }
425
- /**
426
- * Handles right arrow key navigation.
427
- * @param index Current tab index.
428
- */
429
- onTabKeydownArrowRight(index) {
430
- if (this.isMobileBreakpoint) {
431
- this.shiftTabs(ShiftDirection.NEXT);
432
- if (index === this.getTabsCount() - 1) {
433
- return;
434
- }
435
- }
436
- if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint) {
437
- this.focusOnFirstTab();
438
- }
439
- else {
440
- this.focusOnNextTab(index);
441
- }
442
- }
443
- /**
444
- * Handles left arrow key navigation.
445
- * @param index Current tab index.
446
- */
447
- onTabKeydownArrowLeft(index) {
448
- if (this.isMobileBreakpoint) {
449
- this.shiftTabs(ShiftDirection.PREVIOUS);
450
- if (index === 0) {
451
- return;
452
- }
453
- }
454
- if (index === 0 && !this.isMobileBreakpoint) {
455
- this.focusOnLastTab();
456
- }
457
- else {
458
- this.focusOnPrevTab(index);
459
- }
460
- }
461
- /**
462
- * Focuses the first tab in the list.
463
- */
464
- onTabKeydownHome() {
465
- this.focusOnFirstTab();
466
- }
467
- /**
468
- * Focuses the last tab in the list.
469
- */
470
- onTabKeydownEnd() {
471
- this.focusOnLastTab();
472
- }
473
362
  /**
474
363
  * Handles all supported keyboard events for a tab.
475
364
  * @param event KeyboardEvent triggered.
@@ -516,34 +405,83 @@ class EclTabsComponent extends ECLBaseDirective {
516
405
  }
517
406
  }
518
407
  onMoreButtonFocus() {
519
- const index = this.listTabs.findIndex((el) => el._isActive() && !el.isHidden());
408
+ const index = this.listTabs().findIndex((el) => el._isActive() && !el.isHidden());
520
409
  if (index < 0)
521
410
  return;
522
411
  this.openDropdown();
523
412
  this.moreButton().el.nativeElement.blur();
524
413
  this.focusOnDropdownTab(index);
525
414
  }
415
+ /**
416
+ * Handles right arrow key navigation.
417
+ * @param index Current tab index.
418
+ */
419
+ onTabKeydownArrowRight(index) {
420
+ if (this.isMobileBreakpoint()) {
421
+ this.shiftTabs(ShiftDirection.NEXT);
422
+ if (index === this.getTabsCount() - 1) {
423
+ return;
424
+ }
425
+ }
426
+ if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint()) {
427
+ this.focusOnFirstTab();
428
+ }
429
+ else {
430
+ this.focusOnNextTab(index);
431
+ }
432
+ }
433
+ /**
434
+ * Handles left arrow key navigation.
435
+ * @param index Current tab index.
436
+ */
437
+ onTabKeydownArrowLeft(index) {
438
+ if (this.isMobileBreakpoint()) {
439
+ this.shiftTabs(ShiftDirection.PREVIOUS);
440
+ if (index === 0) {
441
+ return;
442
+ }
443
+ }
444
+ if (index === 0 && !this.isMobileBreakpoint()) {
445
+ this.focusOnLastTab();
446
+ }
447
+ else {
448
+ this.focusOnPrevTab(index);
449
+ }
450
+ }
451
+ /**
452
+ * Focuses the first tab in the list.
453
+ */
454
+ onTabKeydownHome() {
455
+ this.focusOnFirstTab();
456
+ }
457
+ /**
458
+ * Focuses the last tab in the list.
459
+ */
460
+ onTabKeydownEnd() {
461
+ this.focusOnLastTab();
462
+ }
526
463
  onTabTab() {
527
464
  this.closeDropdown();
528
465
  }
529
466
  getCurrentTabIndex(tab) {
530
467
  const index = this.getTabsAsArray().indexOf(tab);
531
- return index !== -1 ? index : this.listTabs.indexOf(tab);
468
+ return index !== -1 ? index : this.listTabs().indexOf(tab);
532
469
  }
533
470
  shiftTabs(dir) {
534
- this.index = this.getShifIndex(dir, this.index);
535
- this.isScrollPrevBtnShow.set(this.index >= 1);
536
- this.isScrollNextBtnShow.set(this.index < this.getTabsCount() - 1);
537
- const leftMargin = this.index === 0 ? 0 : this.btnPrev().el.nativeElement.getBoundingClientRect().width + 13;
471
+ const newIndex = this.getShifIndex(dir, this.index());
472
+ this.index.set(newIndex);
473
+ this.isScrollPrevBtnShow.set(newIndex >= 1);
474
+ this.isScrollNextBtnShow.set(newIndex < this.getTabsCount() - 1);
475
+ const leftMargin = newIndex === 0 ? 0 : this.btnPrev().el.nativeElement.getBoundingClientRect().width + 13;
538
476
  let newOffset = 0;
539
477
  if (this.isRtl) {
540
478
  newOffset = Math.ceil(this.tabsList().nativeElement.offsetWidth -
541
- this.getTabsAsArray()[this.index].hostElement.offsetLeft -
542
- this.getTabsAsArray()[this.index].hostElement.offsetWidth -
479
+ this.getTabsAsArray()[newIndex].hostElement.offsetLeft -
480
+ this.getTabsAsArray()[newIndex].hostElement.offsetWidth -
543
481
  leftMargin);
544
482
  }
545
483
  else {
546
- newOffset = Math.ceil(this.getTabsAsArray()[this.index]?.hostElement.offsetLeft - leftMargin);
484
+ newOffset = Math.ceil(this.getTabsAsArray()[newIndex]?.hostElement.offsetLeft - leftMargin);
547
485
  }
548
486
  const maxScroll = Math.ceil(this.getTabsListWidth() - this.el.nativeElement.getBoundingClientRect().width);
549
487
  if (newOffset > maxScroll) {
@@ -551,15 +489,15 @@ class EclTabsComponent extends ECLBaseDirective {
551
489
  newOffset = maxScroll;
552
490
  }
553
491
  if (this.isRtl) {
554
- this.styleTransform = `translate3d(${newOffset}px, 0px, 0px)`;
492
+ this.styleTransform.set(`translate3d(${newOffset}px, 0px, 0px)`);
555
493
  }
556
494
  else {
557
- this.styleTransform = `translate3d(-${newOffset}px, 0px, 0px)`;
495
+ this.styleTransform.set(`translate3d(-${newOffset}px, 0px, 0px)`);
558
496
  }
559
497
  }
560
498
  getShifIndex(dir, index) {
561
499
  if (dir === ShiftDirection.NEXT) {
562
- if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint) {
500
+ if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint()) {
563
501
  return 0;
564
502
  }
565
503
  else {
@@ -567,7 +505,7 @@ class EclTabsComponent extends ECLBaseDirective {
567
505
  }
568
506
  }
569
507
  else {
570
- if (index === 0 && !this.isMobileBreakpoint) {
508
+ if (index === 0 && !this.isMobileBreakpoint()) {
571
509
  return this.getTabsCount() - 1;
572
510
  }
573
511
  else {
@@ -576,13 +514,22 @@ class EclTabsComponent extends ECLBaseDirective {
576
514
  }
577
515
  }
578
516
  createSecondListForDropdown() {
579
- this.listTabs = [];
517
+ const newList = [];
580
518
  this.tabs().forEach((tab) => {
581
- const newTab = Object.assign({}, tab);
582
- newTab.isHidden.set(true);
583
- newTab._isActive.set(tab.isActive());
584
- this.listTabs.push(newTab);
519
+ // Shallow-copying a tab would share the original's `isHidden`/`_isActive`
520
+ // signal references, so writes to a dropdown clone would mutate the real tab
521
+ // (corrupting the main-bar hidden state, the "More" count, and keyboard focus).
522
+ // Build the clone with its own independent writable signals instead. A plain
523
+ // `signal` is used (not `model`) because `model()` may only be called in a class
524
+ // field initializer, and the clone only needs read/`set` access.
525
+ const newTab = {
526
+ ...tab,
527
+ isHidden: signal(true),
528
+ _isActive: signal(tab.isActive()),
529
+ };
530
+ newList.push(newTab);
585
531
  });
532
+ this.listTabs.set(newList);
586
533
  }
587
534
  getTabsAsArray() {
588
535
  return Array.from(this.tabs());
@@ -597,7 +544,7 @@ class EclTabsComponent extends ECLBaseDirective {
597
544
  this.isDropdownExpanded.set(true);
598
545
  }
599
546
  observeTabsChanges() {
600
- this.tabsChanges$.pipe(takeUntil(this.destroy$)).subscribe(this.onTabsChanges.bind(this));
547
+ this.tabsChanges$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(this.onTabsChanges.bind(this));
601
548
  }
602
549
  onTabsChanges() {
603
550
  this.diff = this.differ.diff(this.tabs());
@@ -617,12 +564,18 @@ class EclTabsComponent extends ECLBaseDirective {
617
564
  this.createSecondListForDropdown();
618
565
  }
619
566
  connectTabEvents(tab) {
620
- tab.selectTab.pipe(takeUntil(this.destroy$)).subscribe(() => {
621
- this.onTabSelect(tab);
622
- });
623
- tab.keydownTab.pipe(takeUntil(this.destroy$)).subscribe((event) => {
624
- this.onTabKeydown(event, tab);
625
- });
567
+ if (this.tabSubscriptions.has(tab)) {
568
+ return;
569
+ }
570
+ const subscriptions = [
571
+ tab.selectTab.subscribe(() => {
572
+ this.onTabSelect(tab);
573
+ }),
574
+ tab.keydownTab.subscribe((event) => {
575
+ this.onTabKeydown(event, tab);
576
+ }),
577
+ ];
578
+ this.tabSubscriptions.set(tab, subscriptions);
626
579
  }
627
580
  focusOnNextTab(index) {
628
581
  if (this.getTabsAsArray()[index + 1].isHidden()) {
@@ -648,7 +601,7 @@ class EclTabsComponent extends ECLBaseDirective {
648
601
  }
649
602
  }
650
603
  focusOnPrevTab(index) {
651
- if (!this.listTabs[index - 1].isHidden()) {
604
+ if (!this.listTabs()[index - 1].isHidden()) {
652
605
  this.focusOnDropdownTab(index - 1);
653
606
  }
654
607
  else {
@@ -666,8 +619,10 @@ class EclTabsComponent extends ECLBaseDirective {
666
619
  return this.getTabsAsArray()[0];
667
620
  }
668
621
  disconnectTabEvents(tab) {
669
- if (tab && tab.selectTab) {
670
- tab.selectTab.unsubscribe();
622
+ const subscriptions = this.tabSubscriptions.get(tab);
623
+ if (subscriptions) {
624
+ subscriptions.forEach((subscription) => subscription.unsubscribe());
625
+ this.tabSubscriptions.delete(tab);
671
626
  }
672
627
  }
673
628
  deactivateAllTabs(tabs, listTabs) {
@@ -687,19 +642,19 @@ class EclTabsComponent extends ECLBaseDirective {
687
642
  observeBreakpointChanges() {
688
643
  this.cdkBreakpointObserver
689
644
  .observe(['(max-width: 480px)'])
690
- .pipe(takeUntil(this.destroy$))
645
+ .pipe(takeUntilDestroyed(this.destroyRef))
691
646
  .subscribe((result) => {
692
- this.isMobileBreakpoint = result.matches;
647
+ this.isMobileBreakpoint.set(result.matches);
693
648
  });
694
649
  }
695
650
  handleResize() {
696
651
  this.closeDropdown();
697
- if (this.isMobileBreakpoint) {
652
+ if (this.isMobileBreakpoint()) {
698
653
  this.handleMobile();
699
654
  return;
700
655
  }
701
- this.styleTransform = 'translate3d(0px, 0px, 0px)';
702
- this.index = 0;
656
+ this.styleTransform.set('translate3d(0px, 0px, 0px)');
657
+ this.index.set(0);
703
658
  this.isScrollNextBtnShow.set(false);
704
659
  this.isScrollPrevBtnShow.set(false);
705
660
  // Reset list width to auto for measurement (direct DOM, same as ECL)
@@ -739,7 +694,7 @@ class EclTabsComponent extends ECLBaseDirective {
739
694
  item.isHidden.set(true);
740
695
  item.hostElement.classList.add('ecl-tabs__item--hidden');
741
696
  if (item._isActive()) {
742
- this.listTabs[i]._isActive.set(true);
697
+ this.listTabs()[i]._isActive.set(true);
743
698
  }
744
699
  hiddenItems.push(i);
745
700
  }
@@ -760,10 +715,10 @@ class EclTabsComponent extends ECLBaseDirective {
760
715
  this.cd.markForCheck();
761
716
  }
762
717
  hideAllDropdownTabs() {
763
- this.listTabs.forEach(item => item.isHidden.set(true));
718
+ this.listTabs().forEach(item => item.isHidden.set(true));
764
719
  }
765
720
  setActiveItemForMainTabs() {
766
- this.listTabs.forEach((item, index) => {
721
+ this.listTabs().forEach((item, index) => {
767
722
  if (item._isActive()) {
768
723
  setTimeout(() => this.tabs()[index]._isActive.set(true));
769
724
  }
@@ -774,7 +729,7 @@ class EclTabsComponent extends ECLBaseDirective {
774
729
  return this.tabsList().nativeElement.getBoundingClientRect().width;
775
730
  }
776
731
  setHiddenItemsForDropdownTabs(hiddenItems) {
777
- this.listTabs.forEach((item, index) => {
732
+ this.listTabs().forEach((item, index) => {
778
733
  if (hiddenItems.includes(index)) {
779
734
  item.isHidden.set(false);
780
735
  }
@@ -806,10 +761,10 @@ class EclTabsComponent extends ECLBaseDirective {
806
761
  }
807
762
  handleRtlChangeState() {
808
763
  const isRtlOld = this.isRtl;
809
- this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {
764
+ this.eclRtlService.currentRtlState$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((rtlState) => {
810
765
  setTimeout(() => {
811
766
  this.isRtl = rtlState;
812
- if (this.isMobileBreakpoint && this.hasRtlChanged(isRtlOld)) {
767
+ if (this.isMobileBreakpoint() && this.hasRtlChanged(isRtlOld)) {
813
768
  this.handleRtlChange();
814
769
  }
815
770
  });
@@ -820,32 +775,29 @@ class EclTabsComponent extends ECLBaseDirective {
820
775
  }
821
776
  handleRtlChange() {
822
777
  this.handleMobile();
823
- this.styleTransform = 'translate3d(0px, 0px, 0px)';
824
- this.index = 0;
778
+ this.styleTransform.set('translate3d(0px, 0px, 0px)');
779
+ this.index.set(0);
825
780
  }
826
781
  observeElementSizeChanges() {
827
- new ResizeObserver(() => {
782
+ const resizeObserver = new ResizeObserver(() => {
828
783
  setTimeout(() => {
829
784
  this.handleResize();
830
785
  }, this.TIMEOUT_INTERVAL);
831
- }).observe(this.tabsList().nativeElement);
786
+ });
787
+ resizeObserver.observe(this.tabsList().nativeElement);
788
+ this.destroyRef.onDestroy(() => resizeObserver.disconnect());
832
789
  }
833
790
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
834
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclTabsComponent, isStandalone: true, selector: "div[eclTabs]", inputs: { bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, host: { listeners: { "document:click": "onClick($event.target)" }, properties: { "class.ecl-tabs": "this.hasClass", "attr.data-ecl-auto-initialized": "this.autoInitialized" } }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent), isSignal: true }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true, isSignal: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true, isSignal: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true, isSignal: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true, isSignal: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true, isSignal: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclTabComponent, selector: "div[eclTab]", inputs: ["id", "anchorExtraClasses", "isHidden", "isActive"], outputs: ["isHiddenChange", "selectTab", "keydownTab"] }, { kind: "component", type: EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
791
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclTabsComponent, isStandalone: true, selector: "div[eclTabs]", inputs: { bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tabSelect: "tabSelect" }, host: { attributes: { "data-ecl-auto-initialized": "true" }, listeners: { "document:click": "onClick($event.target)" }, classAttribute: "ecl-tabs" }, queries: [{ propertyName: "tabs", predicate: i0.forwardRef(() => EclTabComponent), isSignal: true }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true, isSignal: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true, isSignal: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true, isSignal: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true, isSignal: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform()\" [style.transition-duration]=\"transitionDuration()\">\n <ng-content select=\"[eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs().length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs(); track tab.finalId(); let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex()\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive()\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ hiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n</div>\n\n<div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n</div>\n\n@for (tab of tabs(); track tab.finalId()) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs(); track tab.finalId()) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1$1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: EclTabComponent, selector: "div[eclTab]", inputs: ["id", "anchorExtraClasses", "isHidden", "isActive"], outputs: ["isHiddenChange", "selectTab", "keydownTab"] }, { kind: "component", type: EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
835
792
  }
836
793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTabsComponent, decorators: [{
837
794
  type: Component,
838
- args: [{ selector: 'div[eclTabs]', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent], encapsulation: ViewEncapsulation.None, template: "@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs(); track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}" }]
839
- }], ctorParameters: () => [], propDecorators: { hasClass: [{
840
- type: HostBinding,
841
- args: ['class.ecl-tabs']
842
- }], autoInitialized: [{
843
- type: HostBinding,
844
- args: ['attr.data-ecl-auto-initialized']
845
- }], bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{ type: i0.ContentChildren, args: [forwardRef(() => EclTabComponent), { isSignal: true }] }], tabsList: [{ type: i0.ViewChild, args: ['tabsList', { isSignal: true }] }], moreButton: [{ type: i0.ViewChild, args: ['moreButton', { isSignal: true }] }], btnPrev: [{ type: i0.ViewChild, args: ['btnPrev', { isSignal: true }] }], btnNext: [{ type: i0.ViewChild, args: ['btnNext', { isSignal: true }] }], dropdownList: [{ type: i0.ViewChild, args: ['dropdownList', { isSignal: true }] }], moreItem: [{ type: i0.ViewChild, args: ['moreItem', { isSignal: true }] }], onClick: [{
846
- type: HostListener,
847
- args: ['document:click', ['$event.target']]
848
- }] } });
795
+ args: [{ selector: 'div[eclTabs]', imports: [TranslatePipe, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent], encapsulation: ViewEncapsulation.None, host: {
796
+ 'class': 'ecl-tabs',
797
+ 'data-ecl-auto-initialized': 'true',
798
+ '(document:click)': 'onClick($event.target)',
799
+ }, template: "<div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow()\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow()\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList\n [style.transform]=\"styleTransform()\" [style.transition-duration]=\"transitionDuration()\">\n <ng-content select=\"[eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" #moreItem>\n @if (listTabs().length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded()\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs(); track tab.finalId(); let i = $index) {\n <div eclTab [isActive]=\"tab._isActive()\" [isHidden]=\"tab.isHidden()\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" variant=\"tertiary\" [tabindex]=\"customTabIndex()\"\n [attr.aria-expanded]=\"isDropdownExpanded()\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive()\"\n (click)=\"onDropdownToggle()\" (focus)=\"onMoreButtonFocus()\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ hiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n</div>\n\n<div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow() ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n</div>\n\n@for (tab of tabs(); track tab.finalId()) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs(); track tab.finalId()) {\n@if (tab._isActive()) {\n<div id=\"{{tab.finalId()}}-tabpanel\" role=\"tabpanel\" aria-labelledby=\"{{tab.finalId()}}-link\" class=\"{{ bodyClass() }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate()\"></ng-container>\n</div>\n}\n}" }]
800
+ }], ctorParameters: () => [], propDecorators: { bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{ type: i0.ContentChildren, args: [forwardRef(() => EclTabComponent), { isSignal: true }] }], tabsList: [{ type: i0.ViewChild, args: ['tabsList', { isSignal: true }] }], moreButton: [{ type: i0.ViewChild, args: ['moreButton', { isSignal: true }] }], btnPrev: [{ type: i0.ViewChild, args: ['btnPrev', { isSignal: true }] }], dropdownList: [{ type: i0.ViewChild, args: ['dropdownList', { isSignal: true }] }], moreItem: [{ type: i0.ViewChild, args: ['moreItem', { isSignal: true }] }] } });
849
801
 
850
802
  const EUI_ECL_TABS = [
851
803
  EclTabsComponent, EclTabComponent, EclTabLabelComponent,