@eui/ecl 23.0.0-alpha.4 → 23.0.0-alpha.5

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 (313) hide show
  1. package/docs/changelog.html +38 -0
  2. package/docs/components/EclAddToCalendarComponent.html +7 -62
  3. package/docs/components/EclAnimatedNumbersComponent.html +0 -39
  4. package/docs/components/EclAppComponent.html +12 -72
  5. package/docs/components/EclBannerComponent.html +46 -46
  6. package/docs/components/EclBlockquoteComponent.html +6 -1
  7. package/docs/components/EclCarouselComponent.html +5 -0
  8. package/docs/components/EclCategoryFilterComponent.html +5 -0
  9. package/docs/components/EclCategoryFilterItemComponent.html +15 -10
  10. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  11. package/docs/components/EclContentItemComponent.html +4 -0
  12. package/docs/components/EclDateBlockComponent.html +43 -18
  13. package/docs/components/EclExpandableComponent.html +63 -1
  14. package/docs/components/EclFeaturedComponent.html +46 -37
  15. package/docs/components/EclFileComponent.html +19 -14
  16. package/docs/components/EclFileItemsComponent.html +31 -1
  17. package/docs/components/EclFormLabelComponent.html +1 -1
  18. package/docs/components/EclGalleryComponent.html +29 -29
  19. package/docs/components/EclGalleryItemComponent.html +47 -47
  20. package/docs/components/EclIconComponent.html +158 -48
  21. package/docs/components/EclInpageNavigationComponent.html +21 -1
  22. package/docs/components/EclInpageNavigationItemComponent.html +39 -1
  23. package/docs/components/EclListIllustrationComponent.html +47 -47
  24. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  25. package/docs/components/EclMediaContainerComponent.html +20 -20
  26. package/docs/components/EclMegaMenuFeaturedComponent.html +6 -1
  27. package/docs/components/EclMegaMenuInfoComponent.html +11 -1
  28. package/docs/components/EclMegaMenuItemComponent.html +44 -34
  29. package/docs/components/EclMegaMenuSubitemComponent.html +46 -31
  30. package/docs/components/EclMenuItemComponent.html +12 -2
  31. package/docs/components/EclMenuMegaItemComponent.html +8 -3
  32. package/docs/components/EclMultiselectComponent.html +56 -56
  33. package/docs/components/EclMultiselectDropdownComponent.html +1 -1
  34. package/docs/components/EclMultiselectOptgroupComponent.html +6 -1
  35. package/docs/components/EclNavigationListItemComponent.html +1 -1
  36. package/docs/components/EclNotificationComponent.html +32 -1
  37. package/docs/components/EclPaginationItemComponent.html +84 -59
  38. package/docs/components/EclRatingFieldComponent.html +98 -2
  39. package/docs/components/EclSearchFormComponent.html +41 -1
  40. package/docs/components/EclSelectContainerComponent.html +116 -1
  41. package/docs/components/EclSiteFooterComponent.html +1 -1
  42. package/docs/components/EclSiteFooterCoreComponent.html +6 -1
  43. package/docs/components/EclSiteFooterFixedContentEUComponent.html +16 -1
  44. package/docs/components/EclSiteFooterRowCommonComponent.html +6 -1
  45. package/docs/components/EclSiteHeaderComponent.html +27 -27
  46. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +96 -86
  47. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  48. package/docs/components/EclSiteHeaderSearchComponent.html +20 -10
  49. package/docs/components/EclSocialMediaFollowComponent.html +7 -2
  50. package/docs/components/EclSocialMediaFollowItemComponent.html +40 -25
  51. package/docs/components/EclSplashPageLanguageCategoryComponent.html +6 -1
  52. package/docs/components/EclSplashPageLanguageContainerComponent.html +6 -1
  53. package/docs/components/EclSplashPageLanguageLinkComponent.html +6 -1
  54. package/docs/components/EclTabComponent.html +50 -20
  55. package/docs/components/EclTabsComponent.html +1 -1
  56. package/docs/components/EclTagComponent.html +6 -1
  57. package/docs/components/EclTimelineComponent.html +4 -169
  58. package/docs/components/EclTimelineItemComponent.html +104 -1
  59. package/docs/directives/EclAccordionDirective.html +9 -99
  60. package/docs/directives/EclFileTitleDirective.html +5 -0
  61. package/docs/directives/EclFileUploadDirective.html +120 -0
  62. package/docs/directives/EclGalleryMediaDirective.html +5 -0
  63. package/docs/directives/EclMediaContainerIframeDirective.html +9 -11
  64. package/docs/directives/EclMediaContainerItemDirective.html +5 -0
  65. package/docs/directives/EclMultiselectOptionDirective.html +20 -10
  66. package/docs/directives/EclRadioDirective.html +18 -13
  67. package/docs/directives/EclSelectDirective.html +40 -0
  68. package/docs/directives/EclSiteFooterListDirective.html +5 -104
  69. package/docs/directives/EclSiteFooterSectionDirective.html +1 -1
  70. package/docs/directives/EclSiteFooterTitleDirective.html +29 -0
  71. package/docs/directives/EclTableHeaderDirective.html +5 -0
  72. package/docs/directives/EclTextMediaMediaAnchorDirective.html +1 -1
  73. package/docs/js/search/search_index.js +2 -2
  74. package/docs/json/EclAddToCalendarComponent.md +1 -1
  75. package/docs/json/EclBannerComponent.md +7 -7
  76. package/docs/json/EclCategoryFilterItemComponent.md +1 -1
  77. package/docs/json/EclDateBlockComponent.md +1 -1
  78. package/docs/json/EclExpandableComponent.md +2 -0
  79. package/docs/json/EclFeaturedComponent.md +3 -3
  80. package/docs/json/EclFileComponent.md +1 -1
  81. package/docs/json/EclFileItemsComponent.md +1 -0
  82. package/docs/json/EclGalleryComponent.md +4 -4
  83. package/docs/json/EclGalleryItemComponent.md +2 -2
  84. package/docs/json/EclIconComponent.md +4 -4
  85. package/docs/json/EclInpageNavigationItemComponent.md +1 -0
  86. package/docs/json/EclListIllustrationComponent.md +3 -3
  87. package/docs/json/EclMediaContainerComponent.md +1 -1
  88. package/docs/json/EclMediaContainerIframeDirective.md +2 -2
  89. package/docs/json/EclMegaMenuItemComponent.md +2 -2
  90. package/docs/json/EclMegaMenuSubitemComponent.md +3 -3
  91. package/docs/json/EclMenuItemComponent.md +1 -1
  92. package/docs/json/EclMenuMegaItemComponent.md +1 -1
  93. package/docs/json/EclMultiselectComponent.md +3 -3
  94. package/docs/json/EclMultiselectOptionDirective.md +1 -1
  95. package/docs/json/EclNavigationListItemComponent.md +1 -1
  96. package/docs/json/EclNotificationComponent.md +1 -0
  97. package/docs/json/EclPaginationItemComponent.md +3 -3
  98. package/docs/json/EclRadioDirective.md +1 -1
  99. package/docs/json/EclRatingFieldComponent.md +1 -0
  100. package/docs/json/EclSearchFormComponent.md +1 -0
  101. package/docs/json/EclSelectContainerComponent.md +6 -0
  102. package/docs/json/EclSiteFooterSectionDirective.md +1 -1
  103. package/docs/json/EclSiteHeaderComponent.md +2 -2
  104. package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +6 -6
  105. package/docs/json/EclSiteHeaderSearchComponent.md +1 -1
  106. package/docs/json/EclSocialMediaFollowComponent.md +1 -1
  107. package/docs/json/EclSocialMediaFollowItemComponent.md +4 -4
  108. package/docs/json/EclTabComponent.md +2 -1
  109. package/docs/json/EclTagComponent.md +1 -1
  110. package/docs/json/EclTextMediaMediaAnchorDirective.md +1 -1
  111. package/docs/json/EclTimelineItemComponent.md +1 -0
  112. package/docs/json/documentation.json +4188 -2895
  113. package/docs/llms.txt +154 -138
  114. package/docs/miscellaneous/variables.html +2 -2
  115. package/docs/properties.html +1 -1
  116. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +5 -15
  117. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  118. package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs +9 -7
  119. package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs.map +1 -1
  120. package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs +2 -2
  121. package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs.map +1 -1
  122. package/fesm2022/eui-ecl-components-ecl-app.mjs +13 -14
  123. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  124. package/fesm2022/eui-ecl-components-ecl-banner.mjs +27 -37
  125. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  126. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +11 -7
  127. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  128. package/fesm2022/eui-ecl-components-ecl-card.mjs +7 -10
  129. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  130. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +14 -18
  131. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  132. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +21 -13
  133. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  134. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +5 -8
  135. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  136. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +18 -26
  137. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  138. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +39 -22
  139. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  140. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +21 -16
  141. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-featured.mjs +17 -18
  143. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  144. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +25 -23
  145. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  146. package/fesm2022/eui-ecl-components-ecl-file.mjs +27 -20
  147. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  148. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +6 -12
  149. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  150. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -71
  151. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  152. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +5 -8
  153. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  154. package/fesm2022/eui-ecl-components-ecl-icon.mjs +50 -39
  155. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +38 -32
  157. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-label.mjs +6 -7
  159. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  160. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +37 -57
  161. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  162. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -21
  163. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  164. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +22 -27
  165. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  166. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +67 -73
  167. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  168. package/fesm2022/eui-ecl-components-ecl-menu.mjs +46 -51
  169. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  170. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +52 -43
  171. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  172. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +13 -19
  173. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  174. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +6 -9
  175. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  176. package/fesm2022/eui-ecl-components-ecl-notification.mjs +19 -21
  177. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  178. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +5 -8
  179. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  180. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +57 -64
  181. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  182. package/fesm2022/eui-ecl-components-ecl-radio.mjs +8 -7
  183. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  184. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +35 -27
  185. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  186. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +23 -23
  187. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  188. package/fesm2022/eui-ecl-components-ecl-select.mjs +31 -40
  189. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  190. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +71 -70
  191. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  192. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +44 -55
  193. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  194. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +27 -36
  195. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  196. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +38 -18
  197. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  198. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +11 -16
  199. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  200. package/fesm2022/eui-ecl-components-ecl-table.mjs +16 -15
  201. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  202. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +32 -34
  203. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  204. package/fesm2022/eui-ecl-components-ecl-tag.mjs +14 -12
  205. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  206. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +9 -12
  207. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  208. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +15 -19
  209. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  210. package/fesm2022/eui-ecl-components-ecl-text-media.mjs +5 -8
  211. package/fesm2022/eui-ecl-components-ecl-text-media.mjs.map +1 -1
  212. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +40 -59
  213. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  214. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  215. package/package.json +1 -1
  216. package/types/eui-ecl-components-ecl-accordion.d.ts +2 -10
  217. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
  218. package/types/eui-ecl-components-ecl-add-to-calendar.d.ts +4 -1
  219. package/types/eui-ecl-components-ecl-add-to-calendar.d.ts.map +1 -1
  220. package/types/eui-ecl-components-ecl-animated-numbers.d.ts +1 -1
  221. package/types/eui-ecl-components-ecl-animated-numbers.d.ts.map +1 -1
  222. package/types/eui-ecl-components-ecl-app.d.ts +6 -6
  223. package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
  224. package/types/eui-ecl-components-ecl-banner.d.ts +9 -10
  225. package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
  226. package/types/eui-ecl-components-ecl-blockquote.d.ts +2 -2
  227. package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -1
  228. package/types/eui-ecl-components-ecl-card.d.ts +2 -3
  229. package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
  230. package/types/eui-ecl-components-ecl-carousel.d.ts +10 -12
  231. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
  232. package/types/eui-ecl-components-ecl-category-filter.d.ts +4 -4
  233. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
  234. package/types/eui-ecl-components-ecl-checkbox.d.ts +2 -3
  235. package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
  236. package/types/eui-ecl-components-ecl-content-item.d.ts +8 -10
  237. package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
  238. package/types/eui-ecl-components-ecl-date-block.d.ts +10 -10
  239. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
  240. package/types/eui-ecl-components-ecl-expandable.d.ts +7 -8
  241. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
  242. package/types/eui-ecl-components-ecl-featured.d.ts +4 -5
  243. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  244. package/types/eui-ecl-components-ecl-file-upload.d.ts +9 -11
  245. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
  246. package/types/eui-ecl-components-ecl-file.d.ts +7 -8
  247. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
  248. package/types/eui-ecl-components-ecl-form-label.d.ts +3 -5
  249. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
  250. package/types/eui-ecl-components-ecl-gallery.d.ts +32 -41
  251. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
  252. package/types/eui-ecl-components-ecl-help-block.d.ts +3 -4
  253. package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -1
  254. package/types/eui-ecl-components-ecl-icon.d.ts +17 -12
  255. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
  256. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +18 -19
  257. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
  258. package/types/eui-ecl-components-ecl-label.d.ts +3 -3
  259. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
  260. package/types/eui-ecl-components-ecl-list-illustration.d.ts +25 -30
  261. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
  262. package/types/eui-ecl-components-ecl-loading-indicator.d.ts +6 -8
  263. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
  264. package/types/eui-ecl-components-ecl-media-container.d.ts +9 -11
  265. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
  266. package/types/eui-ecl-components-ecl-mega-menu.d.ts +25 -28
  267. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
  268. package/types/eui-ecl-components-ecl-menu.d.ts +26 -31
  269. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
  270. package/types/eui-ecl-components-ecl-multiselect.d.ts +13 -13
  271. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
  272. package/types/eui-ecl-components-ecl-navigation-list.d.ts +5 -7
  273. package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
  274. package/types/eui-ecl-components-ecl-news-ticker.d.ts +2 -3
  275. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  276. package/types/eui-ecl-components-ecl-notification.d.ts +17 -19
  277. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
  278. package/types/eui-ecl-components-ecl-page-header.d.ts +2 -3
  279. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
  280. package/types/eui-ecl-components-ecl-pagination.d.ts +22 -29
  281. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
  282. package/types/eui-ecl-components-ecl-radio.d.ts +2 -3
  283. package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
  284. package/types/eui-ecl-components-ecl-rating-field.d.ts +12 -12
  285. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  286. package/types/eui-ecl-components-ecl-search-form.d.ts +10 -10
  287. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
  288. package/types/eui-ecl-components-ecl-select.d.ts +13 -17
  289. package/types/eui-ecl-components-ecl-select.d.ts.map +1 -1
  290. package/types/eui-ecl-components-ecl-site-footer.d.ts +22 -27
  291. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
  292. package/types/eui-ecl-components-ecl-site-header.d.ts +16 -18
  293. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
  294. package/types/eui-ecl-components-ecl-social-media-follow.d.ts +21 -23
  295. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
  296. package/types/eui-ecl-components-ecl-splash-page.d.ts +6 -6
  297. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
  298. package/types/eui-ecl-components-ecl-sticky-container.d.ts +6 -7
  299. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
  300. package/types/eui-ecl-components-ecl-table.d.ts +4 -5
  301. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
  302. package/types/eui-ecl-components-ecl-tabs.d.ts +5 -6
  303. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  304. package/types/eui-ecl-components-ecl-tag.d.ts +3 -4
  305. package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
  306. package/types/eui-ecl-components-ecl-text-area.d.ts +5 -6
  307. package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
  308. package/types/eui-ecl-components-ecl-text-input.d.ts +6 -7
  309. package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
  310. package/types/eui-ecl-components-ecl-text-media.d.ts +2 -2
  311. package/types/eui-ecl-components-ecl-text-media.d.ts.map +1 -1
  312. package/types/eui-ecl-components-ecl-timeline.d.ts +8 -17
  313. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, HostBinding, Component, EventEmitter, IterableDiffers, booleanAttribute, ContentChildren, forwardRef, Output, Input, Directive, ElementRef, ViewContainerRef, Renderer2, HostListener, ChangeDetectorRef } from '@angular/core';
2
+ import { inject, HostBinding, Component, input, booleanAttribute, EventEmitter, IterableDiffers, ContentChildren, forwardRef, Output, Input, Directive, ElementRef, ViewContainerRef, Renderer2, HostListener, ChangeDetectorRef } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
4
  import { takeUntil } from 'rxjs/operators';
5
5
  import { ECLBaseDirective, EclThemeService, EclBaseEvent } from '@eui/ecl/core';
@@ -85,14 +85,14 @@ class EclTableDirective extends ECLBaseDirective {
85
85
  * Computed list of CSS classes for the host element.
86
86
  */
87
87
  get cssClasses() {
88
- return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();
88
+ return [super.getCssClasses('ecl-table'), this.isZebra() ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();
89
89
  }
90
90
  constructor() {
91
91
  super();
92
92
  /**
93
93
  * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.
94
94
  */
95
- this.isZebra = false;
95
+ this.isZebra = input(false, { ...(ngDevMode ? { debugName: "isZebra" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
96
96
  /**
97
97
  * Applies the "simple" table variant if true.
98
98
  * Automatically enabled if no header is detected.
@@ -151,17 +151,14 @@ class EclTableDirective extends ECLBaseDirective {
151
151
  }
152
152
  }
153
153
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
154
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.0.5", type: EclTableDirective, isStandalone: true, selector: "[eclTable]", inputs: { isZebra: ["isZebra", "isZebra", booleanAttribute], isSimple: ["isSimple", "isSimple", booleanAttribute], id: "id" }, outputs: { sort: "sort" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclTableHeaders", predicate: i0.forwardRef(() => EclTableHeaderDirective), descendants: true }], usesInheritance: true, ngImport: i0 }); }
154
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTableDirective, isStandalone: true, selector: "[eclTable]", inputs: { isZebra: { classPropertyName: "isZebra", publicName: "isZebra", isSignal: true, isRequired: false, transformFunction: null }, isSimple: { classPropertyName: "isSimple", publicName: "isSimple", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { sort: "sort" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclTableHeaders", predicate: i0.forwardRef(() => EclTableHeaderDirective), descendants: true }], usesInheritance: true, ngImport: i0 }); }
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableDirective, decorators: [{
157
157
  type: Directive,
158
158
  args: [{
159
159
  selector: '[eclTable]',
160
160
  }]
161
- }], ctorParameters: () => [], propDecorators: { isZebra: [{
162
- type: Input,
163
- args: [{ transform: booleanAttribute }]
164
- }], isSimple: [{
161
+ }], ctorParameters: () => [], propDecorators: { isZebra: [{ type: i0.Input, args: [{ isSignal: true, alias: "isZebra", required: false }] }], isSimple: [{
165
162
  type: Input,
166
163
  args: [{ transform: booleanAttribute }]
167
164
  }], id: [{
@@ -253,6 +250,11 @@ class EclTableHeaderDirective extends ECLBaseDirective {
253
250
  * Scope of the table header. Default is `col`. Sets the `scope` attribute.
254
251
  */
255
252
  this.scope = 'col';
253
+ /**
254
+ * Aria-label for the sort button that will be injected into the header cell.
255
+ */
256
+ this.sortButtonAriaLabel = input(undefined, /* @ts-ignore */
257
+ ...(ngDevMode ? [{ debugName: "sortButtonAriaLabel" }] : /* istanbul ignore next */ []));
256
258
  /**
257
259
  * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.
258
260
  */
@@ -325,7 +327,7 @@ class EclTableHeaderDirective extends ECLBaseDirective {
325
327
  }
326
328
  }
327
329
  changeButtonAriaLabel(newAriaLabel) {
328
- if (!this.sortButtonAriaLabel) {
330
+ if (!this.sortButtonAriaLabel()) {
329
331
  this.containerComponentRef.instance.ariaLabel = newAriaLabel;
330
332
  }
331
333
  }
@@ -338,8 +340,9 @@ class EclTableHeaderDirective extends ECLBaseDirective {
338
340
  setTimeout(() => {
339
341
  this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);
340
342
  this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);
341
- if (this.sortButtonAriaLabel) {
342
- this.containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;
343
+ const sortButtonAriaLabel = this.sortButtonAriaLabel();
344
+ if (sortButtonAriaLabel) {
345
+ this.containerComponentRef.instance.ariaLabel = sortButtonAriaLabel;
343
346
  }
344
347
  else {
345
348
  this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');
@@ -348,7 +351,7 @@ class EclTableHeaderDirective extends ECLBaseDirective {
348
351
  }
349
352
  }
350
353
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableHeaderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
351
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclTableHeaderDirective, isStandalone: true, selector: "[eclTableHeader]", inputs: { eclSortable: "eclSortable", scope: "scope", id: "id", sortButtonAriaLabel: "sortButtonAriaLabel" }, outputs: { sort: "sort" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-sort": "this.ariaSort", "attr.data-ecl-table-sort-toggle": "this.eclSortable", "attr.scope": "this.scope", "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
354
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTableHeaderDirective, isStandalone: true, selector: "[eclTableHeader]", inputs: { eclSortable: { classPropertyName: "eclSortable", publicName: "eclSortable", isSignal: false, isRequired: false, transformFunction: null }, scope: { classPropertyName: "scope", publicName: "scope", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, sortButtonAriaLabel: { classPropertyName: "sortButtonAriaLabel", publicName: "sortButtonAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sort" }, host: { listeners: { "click": "onClick($event)" }, properties: { "attr.aria-sort": "this.ariaSort", "attr.data-ecl-table-sort-toggle": "this.eclSortable", "attr.scope": "this.scope", "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
352
355
  }
353
356
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTableHeaderDirective, decorators: [{
354
357
  type: Directive,
@@ -373,9 +376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
373
376
  }, {
374
377
  type: HostBinding,
375
378
  args: ['attr.id']
376
- }], sortButtonAriaLabel: [{
377
- type: Input
378
- }], cssClasses: [{
379
+ }], sortButtonAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortButtonAriaLabel", required: false }] }], cssClasses: [{
379
380
  type: HostBinding,
380
381
  args: ['class']
381
382
  }], sort: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/index.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Sort button component used inside sortable table headers.\n *\n * Applies ECL styling for table sort arrows and provides\n * accessibility label for screen readers.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n imports: [...EUI_ECL_ICON, AsyncPipe],\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Accessibility label describing the button's function.\n * This value is bound to the `aria-label` attribute.\n */\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n /**\n * CSS classes applied to the host element.\n * Includes ECL base table sort arrow styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\n/**\n * Event emitted when the table sort order changes.\n *\n * Extends the base ECL event to provide sorting-specific information.\n */\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n /**\n * The order in which the table is currently sorted.\n * Can be 'ascending', 'descending', or null (unsorted).\n */\n public sortOrder: SortOrder,\n\n /**\n * The identifier of the column that triggered the sort event.\n */\n public columnId: string,\n ) {\n super();\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n inject,\n ComponentRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\nimport { TranslateService } from '@ngx-translate/core';\n\n/**\n * Enum representing the sort order of a column.\n */\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n/**\n * Directive for styling and managing behavior of ECL tables.\n *\n * Applies ECL-specific table classes and emits sort events when columns are sorted.\n */\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n /**\n * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Applies the \"simple\" table variant if true.\n * Automatically enabled if no header is detected.\n */\n @Input({ transform: booleanAttribute }) isSimple = false;\n\n /**\n * The HTML ID attribute of the table. If not provided, a UUID is generated.\n */\n @Input() @HostBinding ('attr.id') id: string;\n\n /**\n * Computed list of CSS classes for the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n /**\n * Emits an event when a column sort is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n /**\n * List of header directives detected in the content.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique ID if none is provided.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after content is fully initialized.\n * Determines if the table should be rendered in \"simple\" mode.\n */\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n /**\n * Custom change detection for dynamically added header directives.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Sets the table to \"simple\" variant if no header directives are found.\n */\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n/**\n * Directive applied to `<thead>` elements inside a table.\n * Detects header changes and manages ARIA attributes.\n */\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n /**\n * Applies the ECL head class to the element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n /**\n * List of header directives under this head element.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private differs = inject(IterableDiffers);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Detects dynamic addition of header directives and resets ARIA sorting attributes.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\n/**\n * Directive representing a single table header cell in an ECL table.\n * Supports sorting functionality and accessibility attributes.\n */\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n /**\n * Current sort order of the column (`ascending`, `descending`, or `null`).\n * This sets the `aria-sort` attribute used for accessibility.\n */\n sortOrder: SortOrder | null = null;\n\n @HostBinding('attr.aria-sort')\n get ariaSort(): SortOrder | 'none' {\n return this.sortOrder ?? 'none';\n }\n\n /**\n * Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.\n * Acts as the unique identifier for the column when sorting.\n */\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n /**\n * Scope of the table header. Default is `col`. Sets the `scope` attribute.\n */\n @Input() @HostBinding('attr.scope') scope = 'col';\n\n /**\n * HTML `id` attribute of the table header cell. If not provided, a UUID will be generated.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Aria-label for the sort button that will be injected into the header cell.\n */\n @Input() sortButtonAriaLabel: string;\n\n /**\n * Computes the CSS classes applied to the header element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n /**\n * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n private containerComponentRef: ComponentRef<EclTableSortButtonComponent>;\n private el = inject(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private translateService = inject(TranslateService);\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique `id` if not already defined.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after the view is initialized.\n * Injects the sort button into the header cell if sorting is enabled.\n */\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n /**\n * Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.\n *\n * Remove the dark arrow for current sorting from prev sorted column\n */\n removeAriaSort(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-sort', 'none');\n }\n\n /**\n * Handles click events on the header.\n * Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.\n * Emits a `EclSortTableEvent` with the updated sort state and column identifier.\n *\n * Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n */\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.ascending'));\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.descending'));\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.default'));\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private changeButtonAriaLabel(newAriaLabel: string): void {\n if (!this.sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = newAriaLabel;\n }\n }\n\n /**\n * Dynamically creates and appends the sort button to the header cell.\n * Optionally sets the button's `aria-label` if provided.\n */\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);\n if (this.sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = this.sortButtonAriaLabel;\n } else {\n this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\n/**\n * Directive for applying ECL row styling to a table row element.\n */\nexport class EclTableRowDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__row` class to the table row.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\n/**\n * Directive for applying ECL body styling to a table body element.\n */\nexport class EclTableBodyDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__body` class to the table body.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\n/**\n * Directive for styling individual table cells in the ECL table.\n */\nexport class EclTableCellDirective extends ECLBaseDirective {\n /**\n * Provides a reference to the related table header.\n * Sets the `data-ecl-table-header` attribute for accessibility or responsive behavior.\n */\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n\n /**\n * If `true`, applies additional group styling to the cell.\n */\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n\n /**\n * Computes and applies appropriate CSS classes for the table cell.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\n/**\n * Directive used to group multiple table cells under a shared header group.\n */\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n /**\n * Sets the `data-ecl-table-header-group` attribute to link to a header group.\n */\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n\n /**\n * Applies the group-specific cell class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n private cd = inject(ChangeDetectorRef);\n /**\n * Ensures `data-ecl-table-header-group` is not empty and triggers change detection.\n */\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\n/**\n * Directive for applying ECL responsive wrapper to a table container.\n */\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table-responsive` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n})\n/**\n * Directive for applying styling to a table caption element.\n */\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table__caption` class to the caption.\n */\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport * from './ecl-table.directive';\nexport * from './ecl-table-sort-button.component';\nexport * from './events/ecl-sort-table.event';\n\nexport const EUI_ECL_TABLE = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-table.mjs","sources":["../../components/ecl-table/ecl-table-sort-button.component.ts","../../components/ecl-table/ecl-table-sort-button.component.html","../../components/ecl-table/events/ecl-sort-table.event.ts","../../components/ecl-table/ecl-table.directive.ts","../../components/ecl-table/index.ts","../../components/ecl-table/eui-ecl-components-ecl-table.ts"],"sourcesContent":["import { Component, HostBinding, inject } from '@angular/core';\nimport { AsyncPipe } from '@angular/common';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Sort button component used inside sortable table headers.\n *\n * Applies ECL styling for table sort arrows and provides\n * accessibility label for screen readers.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclTableSortButton]',\n templateUrl: './ecl-table-sort-button.component.html',\n imports: [...EUI_ECL_ICON, AsyncPipe],\n})\nexport class EclTableSortButtonComponent extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Accessibility label describing the button's function.\n * This value is bound to the `aria-label` attribute.\n */\n @HostBinding('attr.aria-label') ariaLabel = 'Sort table';\n\n /**\n * CSS classes applied to the host element.\n * Includes ECL base table sort arrow styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__arrow')].join(' ').trim();\n }\n}\n","<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-up\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n<ecl-icon icon=\"solid-arrow\" class=\"ecl-table__icon ecl-table__icon-down\" [size]=\"(eclThemeService.isEC$ | async) ? 'xs' : 'm'\"> </ecl-icon>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { SortOrder } from '../ecl-table.directive';\n\n/**\n * Event emitted when the table sort order changes.\n *\n * Extends the base ECL event to provide sorting-specific information.\n */\nexport class EclSortTableEvent extends EclBaseEvent {\n constructor(\n /**\n * The order in which the table is currently sorted.\n * Can be 'ascending', 'descending', or null (unsorted).\n */\n public sortOrder: SortOrder,\n\n /**\n * The identifier of the column that triggered the sort event.\n */\n public columnId: string,\n ) {\n super();\n }\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n DoCheck,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n Output,\n QueryList,\n ViewContainerRef,\n booleanAttribute,\n Renderer2,\n AfterViewInit,\n ChangeDetectorRef,\n OnInit,\n inject,\n ComponentRef,\n input,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\nimport { EclSortTableEvent } from './events/ecl-sort-table.event';\nimport { TranslateService } from '@ngx-translate/core';\n\n/**\n * Enum representing the sort order of a column.\n */\nexport enum SortOrder {\n DESCENDING = 'descending',\n ASCENDING = 'ascending',\n}\n\n/**\n * Directive for styling and managing behavior of ECL tables.\n *\n * Applies ECL-specific table classes and emits sort events when columns are sorted.\n */\n@Directive({\n selector: '[eclTable]',\n})\nexport class EclTableDirective extends ECLBaseDirective implements DoCheck, OnDestroy, OnInit, AfterContentInit {\n /**\n * Applies zebra striping to the table rows by adding the `ecl-table--zebra` class if true.\n */\n readonly isZebra = input(false, { transform: booleanAttribute });\n\n /**\n * Applies the \"simple\" table variant if true.\n * Automatically enabled if no header is detected.\n */\n @Input({ transform: booleanAttribute }) isSimple = false;\n\n /**\n * The HTML ID attribute of the table. If not provided, a UUID is generated.\n */\n @Input() @HostBinding ('attr.id') id: string;\n\n /**\n * Computed list of CSS classes for the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table'), this.isZebra() ? 'ecl-table--zebra' : '', this.isSimple ? 'ecl-table--simple' : ''].join(' ').trim();\n }\n\n /**\n * Emits an event when a column sort is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n /**\n * List of header directives detected in the content.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n private differs = inject(IterableDiffers);\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique ID if none is provided.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after content is fully initialized.\n * Determines if the table should be rendered in \"simple\" mode.\n */\n ngAfterContentInit(): void {\n this.convertToSimpleVariant();\n }\n\n /**\n * Custom change detection for dynamically added header directives.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.sort.emit(evt);\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Sets the table to \"simple\" variant if no header directives are found.\n */\n private convertToSimpleVariant(): void {\n if (this.eclTableHeaders.length === 0) {\n this.isSimple = true;\n }\n }\n}\n\n/**\n * Directive applied to `<thead>` elements inside a table.\n * Detects header changes and manages ARIA attributes.\n */\n@Directive({\n selector: '[eclTableHead]',\n})\nexport class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {\n /**\n * Applies the ECL head class to the element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__head')].join(' ').trim();\n }\n\n /**\n * List of header directives under this head element.\n */\n @ContentChildren(forwardRef(() => EclTableHeaderDirective), { descendants: true })\n eclTableHeaders: QueryList<EclTableHeaderDirective>;\n\n private differs = inject(IterableDiffers);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclTableHeaderDirective>;\n\n constructor() {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n /**\n * Detects dynamic addition of header directives and resets ARIA sorting attributes.\n */\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclTableHeaders);\n if (diff) {\n diff.forEachAddedItem((change) => {\n change.item.sort.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.eclTableHeaders.forEach((th) => {\n th.removeAriaSort();\n });\n });\n });\n }\n }\n\n /**\n * Cleans up subscriptions on destroy to prevent memory leaks.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n\n@Directive({\n selector: '[eclTableHeader]',\n})\n/**\n * Directive representing a single table header cell in an ECL table.\n * Supports sorting functionality and accessibility attributes.\n */\nexport class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit, OnInit {\n /**\n * Current sort order of the column (`ascending`, `descending`, or `null`).\n * This sets the `aria-sort` attribute used for accessibility.\n */\n sortOrder: SortOrder | null = null;\n\n @HostBinding('attr.aria-sort')\n get ariaSort(): SortOrder | 'none' {\n return this.sortOrder ?? 'none';\n }\n\n /**\n * Enables sorting on the header. Also sets the `data-ecl-table-sort-toggle` attribute.\n * Acts as the unique identifier for the column when sorting.\n */\n @Input() @HostBinding('attr.data-ecl-table-sort-toggle') eclSortable = null;\n\n /**\n * Scope of the table header. Default is `col`. Sets the `scope` attribute.\n */\n @Input() @HostBinding('attr.scope') scope = 'col';\n\n /**\n * HTML `id` attribute of the table header cell. If not provided, a UUID will be generated.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Aria-label for the sort button that will be injected into the header cell.\n */\n readonly sortButtonAriaLabel = input<string>(undefined);\n\n /**\n * Computes the CSS classes applied to the header element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__header')].join(' ').trim();\n }\n\n /**\n * Emits an `EclSortTableEvent` when the header is clicked and sorting is triggered.\n */\n @Output() sort = new EventEmitter<EclSortTableEvent>();\n\n private containerComponentRef: ComponentRef<EclTableSortButtonComponent>;\n private el = inject(ElementRef);\n private viewContainerRef = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private translateService = inject(TranslateService);\n /**\n * Lifecycle hook that runs on component initialization.\n * Generates a unique `id` if not already defined.\n */\n ngOnInit(): void {\n if (!this.id) {\n this.id = crypto.randomUUID();\n }\n }\n\n /**\n * Lifecycle hook that runs after the view is initialized.\n * Injects the sort button into the header cell if sorting is enabled.\n */\n ngAfterContentInit(): void {\n this.initSortButtons();\n }\n\n /**\n * Clears the `aria-sort` attribute, used to visually and semantically reset previous sort state.\n *\n * Remove the dark arrow for current sorting from prev sorted column\n */\n removeAriaSort(): void {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-sort', 'none');\n }\n\n /**\n * Handles click events on the header.\n * Cycles through sort orders: `null` -> `ascending` -> `descending` -> `null`.\n * Emits a `EclSortTableEvent` with the updated sort state and column identifier.\n *\n * Click triggers 1 -> asc sorting, 2 -> desc sorting then 3 -> initial sorting\n */\n @HostListener('click', ['$event'])\n onClick(evt: Event): void {\n if (this.eclSortable) {\n switch (this.sortOrder) {\n case null: {\n this.sortOrder = SortOrder.ASCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.ascending'));\n break;\n }\n case SortOrder.ASCENDING: {\n this.sortOrder = SortOrder.DESCENDING;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.descending'));\n break;\n }\n case SortOrder.DESCENDING: {\n this.sortOrder = null;\n this.changeButtonAriaLabel(this.translateService.instant('ecl.table.SORT-LABEL.default'));\n break;\n }\n }\n\n this.sort.emit(new EclSortTableEvent(this.sortOrder, this.eclSortable));\n }\n }\n\n private changeButtonAriaLabel(newAriaLabel: string): void {\n if (!this.sortButtonAriaLabel()) {\n this.containerComponentRef.instance.ariaLabel = newAriaLabel;\n }\n }\n\n /**\n * Dynamically creates and appends the sort button to the header cell.\n * Optionally sets the button's `aria-label` if provided.\n */\n private initSortButtons(): void {\n if (this.eclSortable) {\n setTimeout(() => {\n this.containerComponentRef = this.viewContainerRef.createComponent(EclTableSortButtonComponent);\n this.renderer.appendChild(this.el.nativeElement, this.containerComponentRef.location.nativeElement);\n const sortButtonAriaLabel = this.sortButtonAriaLabel();\n if (sortButtonAriaLabel) {\n this.containerComponentRef.instance.ariaLabel = sortButtonAriaLabel;\n } else {\n this.containerComponentRef.instance.ariaLabel = this.translateService.instant('ecl.table.SORT-LABEL.default');\n }\n });\n }\n }\n}\n\n@Directive({\n selector: '[eclTableRow]',\n})\n/**\n * Directive for applying ECL row styling to a table row element.\n */\nexport class EclTableRowDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__row` class to the table row.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__row')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableBody]',\n})\n/**\n * Directive for applying ECL body styling to a table body element.\n */\nexport class EclTableBodyDirective extends ECLBaseDirective {\n /**\n * Applies `ecl-table__body` class to the table body.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__body')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCell]',\n})\n/**\n * Directive for styling individual table cells in the ECL table.\n */\nexport class EclTableCellDirective extends ECLBaseDirective {\n /**\n * Provides a reference to the related table header.\n * Sets the `data-ecl-table-header` attribute for accessibility or responsive behavior.\n */\n @Input() @HostBinding('attr.data-ecl-table-header') eclTableCellHeader: string;\n\n /**\n * If `true`, applies additional group styling to the cell.\n */\n @Input() @HostBinding('class.ecl-table__cell--group') isGroup = false;\n\n /**\n * Computes and applies appropriate CSS classes for the table cell.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell'), this.isGroup ? 'ecl-table__cell--group' : ''].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclTableCellGroup]',\n})\n/**\n * Directive used to group multiple table cells under a shared header group.\n */\nexport class EclTableCellGroupDirective extends ECLBaseDirective implements AfterViewInit {\n /**\n * Sets the `data-ecl-table-header-group` attribute to link to a header group.\n */\n @Input() @HostBinding('attr.data-ecl-table-header-group') eclTableCellGroup: string;\n\n /**\n * Applies the group-specific cell class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table__cell--group')].join(' ').trim();\n }\n\n private cd = inject(ChangeDetectorRef);\n /**\n * Ensures `data-ecl-table-header-group` is not empty and triggers change detection.\n */\n ngAfterViewInit(): void {\n this.eclTableCellGroup = this.eclTableCellGroup !== '' ? this.eclTableCellGroup : null;\n this.cd.detectChanges();\n }\n}\n\n@Directive({\n selector: '[eclTableResponsive]',\n})\n/**\n * Directive for applying ECL responsive wrapper to a table container.\n */\nexport class EclTableResponsiveDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table-responsive` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-table-responsive')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: 'caption[eclTableCaption]',\n})\n/**\n * Directive for applying styling to a table caption element.\n */\nexport class EclTableCaptionDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-table__caption` class to the caption.\n */\n @HostBinding('class.ecl-table__caption') hasClass = true;\n}\n","import {\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableResponsiveDirective,\n EclTableCaptionDirective,\n} from './ecl-table.directive';\nimport { EclTableSortButtonComponent } from './ecl-table-sort-button.component';\n\nexport * from './ecl-table.directive';\nexport * from './ecl-table-sort-button.component';\nexport * from './events/ecl-sort-table.event';\n\nexport const EUI_ECL_TABLE = [\n EclTableCaptionDirective,\n EclTableDirective,\n EclTableHeadDirective,\n EclTableHeaderDirective,\n EclTableRowDirective,\n EclTableBodyDirective,\n EclTableCellDirective,\n EclTableCellGroupDirective,\n EclTableSortButtonComponent,\n EclTableResponsiveDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Component, input, booleanAttribute, signal, EventEmitter, computed, effect, HostBinding, ContentChild, ViewChild, Output, Input, output, IterableDiffers, ChangeDetectorRef, PLATFORM_ID, afterNextRender, HostListener, ContentChildren, forwardRef, ViewEncapsulation } from '@angular/core';
2
+ import { inject, ElementRef, Component, input, model, booleanAttribute, signal, EventEmitter, computed, effect, HostBinding, ContentChild, ViewChild, Output, output, IterableDiffers, ChangeDetectorRef, PLATFORM_ID, afterNextRender, HostListener, ContentChildren, forwardRef, 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';
@@ -57,10 +57,16 @@ class EclTabComponent extends ECLBaseDirective {
57
57
  */
58
58
  this.id = input(/* @ts-ignore */
59
59
  ...(ngDevMode ? [undefined, { debugName: "id" }] : /* istanbul ignore next */ []));
60
+ /**
61
+ * Extra classes to be added to the anchor tag.
62
+ */
63
+ this.anchorExtraClasses = input(undefined, /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "anchorExtraClasses" }] : /* istanbul ignore next */ []));
60
65
  /**
61
66
  * Hides the tab when true by applying the `ecl-tabs__item--hidden` CSS class.
62
67
  */
63
- this.isHidden = false;
68
+ this.isHidden = model(false, /* @ts-ignore */
69
+ ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
64
70
  /**
65
71
  * Marks the tab as active.
66
72
  */
@@ -172,22 +178,15 @@ class EclTabComponent extends ECLBaseDirective {
172
178
  this.link.onBlur();
173
179
  }
174
180
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", 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: false, isRequired: false, transformFunction: null }, isHidden: { classPropertyName: "isHidden", publicName: "isHidden", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectTab: "selectTab", keydownTab: "keydownTab" }, host: { properties: { "attr.id": "id()", "class.ecl-tabs__item--hidden": "this.isHidden", "class": "this.cssClasses" } }, queries: [{ propertyName: "label", first: true, predicate: EclTabLabelComponent, descendants: true }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: 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"] }] }); }
181
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", 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 }], viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["content"], descendants: true }, { propertyName: "link", first: true, predicate: EclLinkDirective, descendants: 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"] }] }); }
176
182
  }
177
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabComponent, decorators: [{
178
184
  type: Component,
179
185
  args: [{ selector: 'div[eclTab]', host: {
180
186
  '[attr.id]': 'id()',
181
- }, 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" }]
182
- }], ctorParameters: () => [], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], anchorExtraClasses: [{
183
- type: Input
184
- }], isHidden: [{
185
- type: Input,
186
- args: [{ transform: booleanAttribute }]
187
- }, {
188
- type: HostBinding,
189
- args: ['class.ecl-tabs__item--hidden']
190
- }], isActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "isActive", required: false }] }], selectTab: [{
187
+ '[class.ecl-tabs__item--hidden]': 'isHidden()',
188
+ }, 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" }]
189
+ }], 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: [{
191
190
  type: Output
192
191
  }], keydownTab: [{
193
192
  type: Output
@@ -227,7 +226,8 @@ class EclTabsComponent extends ECLBaseDirective {
227
226
  /**
228
227
  * Class applied to the tab body container.
229
228
  */
230
- this.bodyClass = 'ecl-u-mt-s';
229
+ this.bodyClass = input('ecl-u-mt-s', /* @ts-ignore */
230
+ ...(ngDevMode ? [{ debugName: "bodyClass" }] : /* istanbul ignore next */ []));
231
231
  /**
232
232
  * Emits an event when a tab is selected.
233
233
  */
@@ -310,7 +310,7 @@ class EclTabsComponent extends ECLBaseDirective {
310
310
  * Whether any visible tab is active.
311
311
  */
312
312
  get isMoreButtonActive() {
313
- return this.listTabs.find((el) => el._isActive() && !el.isHidden) !== undefined;
313
+ return this.listTabs.find((el) => el._isActive() && !el.isHidden()) !== undefined;
314
314
  }
315
315
  /**
316
316
  * Get the tabindex for more button.
@@ -352,7 +352,7 @@ class EclTabsComponent extends ECLBaseDirective {
352
352
  * Returns the number of tabs hidden in dropdown.
353
353
  */
354
354
  getHiddenTabsCount() {
355
- return this.tabs.filter((item) => item.isHidden).length;
355
+ return this.tabs.filter((item) => item.isHidden()).length;
356
356
  }
357
357
  /**
358
358
  * Returns the label of the tab at the specified index.
@@ -472,7 +472,7 @@ class EclTabsComponent extends ECLBaseDirective {
472
472
  }
473
473
  }
474
474
  onMoreButtonFocus() {
475
- const index = this.listTabs.findIndex((el) => el._isActive() && !el.isHidden);
475
+ const index = this.listTabs.findIndex((el) => el._isActive() && !el.isHidden());
476
476
  if (index < 0)
477
477
  return;
478
478
  this.openDropdown();
@@ -535,7 +535,7 @@ class EclTabsComponent extends ECLBaseDirective {
535
535
  this.listTabs = [];
536
536
  this.tabs.forEach((tab) => {
537
537
  const newTab = Object.assign({}, tab);
538
- newTab.isHidden = true;
538
+ newTab.isHidden.set(true);
539
539
  newTab._isActive.set(tab.isActive());
540
540
  this.listTabs.push(newTab);
541
541
  });
@@ -584,7 +584,7 @@ class EclTabsComponent extends ECLBaseDirective {
584
584
  });
585
585
  }
586
586
  focusOnNextTab(index) {
587
- if (this.getTabsAsArray()[index + 1].isHidden) {
587
+ if (this.getTabsAsArray()[index + 1].isHidden()) {
588
588
  this.openDropdown();
589
589
  this.focusOnDropdownTab(index + 1);
590
590
  }
@@ -598,7 +598,7 @@ class EclTabsComponent extends ECLBaseDirective {
598
598
  this.getFirstTabFromArray().onFocus();
599
599
  }
600
600
  focusOnLastTab() {
601
- if (!this.getLastTabFromArray().isHidden) {
601
+ if (!this.getLastTabFromArray().isHidden()) {
602
602
  this.getLastTabFromArray().onFocus();
603
603
  }
604
604
  else {
@@ -607,7 +607,7 @@ class EclTabsComponent extends ECLBaseDirective {
607
607
  }
608
608
  }
609
609
  focusOnPrevTab(index) {
610
- if (!this.listTabs[index - 1].isHidden) {
610
+ if (!this.listTabs[index - 1].isHidden()) {
611
611
  this.focusOnDropdownTab(index - 1);
612
612
  }
613
613
  else {
@@ -673,7 +673,7 @@ class EclTabsComponent extends ECLBaseDirective {
673
673
  const listWidth = this.getTabsListWidth();
674
674
  // Measure all items first to check if they fit without the button
675
675
  this.tabs.forEach((item) => {
676
- item.isHidden = false;
676
+ item.isHidden.set(false);
677
677
  item.hostElement.classList.remove('ecl-tabs__item--hidden');
678
678
  });
679
679
  const itemWidths = this.tabs.toArray().map((item) => {
@@ -684,18 +684,18 @@ class EclTabsComponent extends ECLBaseDirective {
684
684
  if (totalWidth > listWidth) {
685
685
  // Reserve space for the more button and hide items that don't fit
686
686
  this.tabs.forEach((item) => {
687
- item.isHidden = true;
687
+ item.isHidden.set(true);
688
688
  item.hostElement.classList.add('ecl-tabs__item--hidden');
689
689
  });
690
690
  let stopWidth = moreButtonWidth;
691
691
  this.tabs.forEach((item, i) => {
692
- item.isHidden = false;
692
+ item.isHidden.set(false);
693
693
  item.hostElement.classList.remove('ecl-tabs__item--hidden');
694
694
  if (listWidth >= stopWidth + itemWidths[i] && !hiddenItems.includes(i - 1)) {
695
695
  stopWidth += itemWidths[i];
696
696
  }
697
697
  else {
698
- item.isHidden = true;
698
+ item.isHidden.set(true);
699
699
  item.hostElement.classList.add('ecl-tabs__item--hidden');
700
700
  if (item._isActive()) {
701
701
  this.listTabs[i]._isActive.set(true);
@@ -719,7 +719,7 @@ class EclTabsComponent extends ECLBaseDirective {
719
719
  this.cd.markForCheck();
720
720
  }
721
721
  hideAllDropdownTabs() {
722
- this.listTabs.forEach(item => item.isHidden = true);
722
+ this.listTabs.forEach(item => item.isHidden.set(true));
723
723
  }
724
724
  setActiveItemForMainTabs() {
725
725
  this.listTabs.forEach((item, index) => {
@@ -735,10 +735,10 @@ class EclTabsComponent extends ECLBaseDirective {
735
735
  setHiddenItemsForDropdownTabs(hiddenItems) {
736
736
  this.listTabs.forEach((item, index) => {
737
737
  if (hiddenItems.includes(index)) {
738
- item.isHidden = false;
738
+ item.isHidden.set(false);
739
739
  }
740
740
  else {
741
- item.isHidden = true;
741
+ item.isHidden.set(true);
742
742
  }
743
743
  });
744
744
  }
@@ -760,7 +760,7 @@ class EclTabsComponent extends ECLBaseDirective {
760
760
  }
761
761
  setAllTabsVisible() {
762
762
  this.tabs.forEach((item) => {
763
- item.isHidden = false;
763
+ item.isHidden.set(false);
764
764
  });
765
765
  }
766
766
  handleRtlChangeState() {
@@ -790,20 +790,18 @@ class EclTabsComponent extends ECLBaseDirective {
790
790
  }).observe(this.tabsList.nativeElement);
791
791
  }
792
792
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTabsComponent, isStandalone: true, selector: "div[eclTabs]", inputs: { bodyClass: "bodyClass" }, 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) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: 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.toArray(); 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: ["selectTab", "keydownTab"] }, { kind: "component", type: EclTabLabelComponent, selector: "ecl-tab-label" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
793
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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) }], viewQueries: [{ propertyName: "tabsList", first: true, predicate: ["tabsList"], descendants: true }, { propertyName: "moreButton", first: true, predicate: ["moreButton"], descendants: true }, { propertyName: "btnPrev", first: true, predicate: ["btnPrev"], descendants: true }, { propertyName: "btnNext", first: true, predicate: ["btnNext"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "moreItem", first: true, predicate: ["moreItem"], descendants: 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.toArray(); 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 }); }
794
794
  }
795
795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTabsComponent, decorators: [{
796
796
  type: Component,
797
- 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.toArray(); 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}" }]
797
+ 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.toArray(); 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}" }]
798
798
  }], ctorParameters: () => [], propDecorators: { hasClass: [{
799
799
  type: HostBinding,
800
800
  args: ['class.ecl-tabs']
801
801
  }], autoInitialized: [{
802
802
  type: HostBinding,
803
803
  args: ['attr.data-ecl-auto-initialized']
804
- }], bodyClass: [{
805
- type: Input
806
- }], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{
804
+ }], bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], tabSelect: [{ type: i0.Output, args: ["tabSelect"] }], tabs: [{
807
805
  type: ContentChildren,
808
806
  args: [forwardRef(() => EclTabComponent)]
809
807
  }], tabsList: [{