@eui/ecl 23.0.0-alpha.3 → 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 (312) hide show
  1. package/docs/changelog.html +77 -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 +152 -136
  114. package/docs/properties.html +1 -1
  115. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +5 -15
  116. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  117. package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs +9 -7
  118. package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs.map +1 -1
  119. package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs +2 -2
  120. package/fesm2022/eui-ecl-components-ecl-animated-numbers.mjs.map +1 -1
  121. package/fesm2022/eui-ecl-components-ecl-app.mjs +13 -14
  122. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  123. package/fesm2022/eui-ecl-components-ecl-banner.mjs +27 -37
  124. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +11 -7
  126. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-card.mjs +7 -10
  128. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +14 -18
  130. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +21 -13
  132. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  133. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +5 -8
  134. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +18 -26
  136. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +39 -22
  138. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +21 -16
  140. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-featured.mjs +17 -18
  142. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +25 -23
  144. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  145. package/fesm2022/eui-ecl-components-ecl-file.mjs +27 -20
  146. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +6 -12
  148. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -71
  150. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  151. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +5 -8
  152. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-icon.mjs +50 -39
  154. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +38 -32
  156. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-label.mjs +6 -7
  158. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +37 -57
  160. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -21
  162. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +22 -27
  164. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  165. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +67 -73
  166. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-menu.mjs +46 -51
  168. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +52 -43
  170. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +13 -19
  172. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +6 -9
  174. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-notification.mjs +19 -21
  176. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  177. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +5 -8
  178. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  179. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +57 -64
  180. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  181. package/fesm2022/eui-ecl-components-ecl-radio.mjs +8 -7
  182. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  183. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +35 -27
  184. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +23 -23
  186. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-select.mjs +31 -40
  188. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  189. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +71 -70
  190. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +44 -55
  192. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +27 -36
  194. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +38 -18
  196. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  197. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +11 -16
  198. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  199. package/fesm2022/eui-ecl-components-ecl-table.mjs +16 -15
  200. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  201. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +32 -34
  202. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  203. package/fesm2022/eui-ecl-components-ecl-tag.mjs +14 -12
  204. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  205. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +9 -12
  206. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  207. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +15 -19
  208. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  209. package/fesm2022/eui-ecl-components-ecl-text-media.mjs +5 -8
  210. package/fesm2022/eui-ecl-components-ecl-text-media.mjs.map +1 -1
  211. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +40 -59
  212. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  213. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  214. package/package.json +8 -3
  215. package/types/eui-ecl-components-ecl-accordion.d.ts +2 -10
  216. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
  217. package/types/eui-ecl-components-ecl-add-to-calendar.d.ts +4 -1
  218. package/types/eui-ecl-components-ecl-add-to-calendar.d.ts.map +1 -1
  219. package/types/eui-ecl-components-ecl-animated-numbers.d.ts +1 -1
  220. package/types/eui-ecl-components-ecl-animated-numbers.d.ts.map +1 -1
  221. package/types/eui-ecl-components-ecl-app.d.ts +6 -6
  222. package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
  223. package/types/eui-ecl-components-ecl-banner.d.ts +9 -10
  224. package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
  225. package/types/eui-ecl-components-ecl-blockquote.d.ts +2 -2
  226. package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -1
  227. package/types/eui-ecl-components-ecl-card.d.ts +2 -3
  228. package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
  229. package/types/eui-ecl-components-ecl-carousel.d.ts +10 -12
  230. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
  231. package/types/eui-ecl-components-ecl-category-filter.d.ts +4 -4
  232. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
  233. package/types/eui-ecl-components-ecl-checkbox.d.ts +2 -3
  234. package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
  235. package/types/eui-ecl-components-ecl-content-item.d.ts +8 -10
  236. package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
  237. package/types/eui-ecl-components-ecl-date-block.d.ts +10 -10
  238. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
  239. package/types/eui-ecl-components-ecl-expandable.d.ts +7 -8
  240. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
  241. package/types/eui-ecl-components-ecl-featured.d.ts +4 -5
  242. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  243. package/types/eui-ecl-components-ecl-file-upload.d.ts +9 -11
  244. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
  245. package/types/eui-ecl-components-ecl-file.d.ts +7 -8
  246. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
  247. package/types/eui-ecl-components-ecl-form-label.d.ts +3 -5
  248. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
  249. package/types/eui-ecl-components-ecl-gallery.d.ts +32 -41
  250. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
  251. package/types/eui-ecl-components-ecl-help-block.d.ts +3 -4
  252. package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -1
  253. package/types/eui-ecl-components-ecl-icon.d.ts +17 -12
  254. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
  255. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +18 -19
  256. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
  257. package/types/eui-ecl-components-ecl-label.d.ts +3 -3
  258. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
  259. package/types/eui-ecl-components-ecl-list-illustration.d.ts +25 -30
  260. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
  261. package/types/eui-ecl-components-ecl-loading-indicator.d.ts +6 -8
  262. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
  263. package/types/eui-ecl-components-ecl-media-container.d.ts +9 -11
  264. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
  265. package/types/eui-ecl-components-ecl-mega-menu.d.ts +25 -28
  266. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
  267. package/types/eui-ecl-components-ecl-menu.d.ts +26 -31
  268. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
  269. package/types/eui-ecl-components-ecl-multiselect.d.ts +13 -13
  270. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
  271. package/types/eui-ecl-components-ecl-navigation-list.d.ts +5 -7
  272. package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
  273. package/types/eui-ecl-components-ecl-news-ticker.d.ts +2 -3
  274. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  275. package/types/eui-ecl-components-ecl-notification.d.ts +17 -19
  276. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
  277. package/types/eui-ecl-components-ecl-page-header.d.ts +2 -3
  278. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
  279. package/types/eui-ecl-components-ecl-pagination.d.ts +22 -29
  280. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
  281. package/types/eui-ecl-components-ecl-radio.d.ts +2 -3
  282. package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
  283. package/types/eui-ecl-components-ecl-rating-field.d.ts +12 -12
  284. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  285. package/types/eui-ecl-components-ecl-search-form.d.ts +10 -10
  286. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
  287. package/types/eui-ecl-components-ecl-select.d.ts +13 -17
  288. package/types/eui-ecl-components-ecl-select.d.ts.map +1 -1
  289. package/types/eui-ecl-components-ecl-site-footer.d.ts +22 -27
  290. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
  291. package/types/eui-ecl-components-ecl-site-header.d.ts +16 -18
  292. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
  293. package/types/eui-ecl-components-ecl-social-media-follow.d.ts +21 -23
  294. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
  295. package/types/eui-ecl-components-ecl-splash-page.d.ts +6 -6
  296. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
  297. package/types/eui-ecl-components-ecl-sticky-container.d.ts +6 -7
  298. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
  299. package/types/eui-ecl-components-ecl-table.d.ts +4 -5
  300. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
  301. package/types/eui-ecl-components-ecl-tabs.d.ts +5 -6
  302. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  303. package/types/eui-ecl-components-ecl-tag.d.ts +3 -4
  304. package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
  305. package/types/eui-ecl-components-ecl-text-area.d.ts +5 -6
  306. package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
  307. package/types/eui-ecl-components-ecl-text-input.d.ts +6 -7
  308. package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
  309. package/types/eui-ecl-components-ecl-text-media.d.ts +2 -2
  310. package/types/eui-ecl-components-ecl-text-media.d.ts.map +1 -1
  311. package/types/eui-ecl-components-ecl-timeline.d.ts +8 -17
  312. 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 { input, contentChild, effect, Component, Directive, Input } from '@angular/core';
2
+ import { input, contentChild, effect, Component, Directive } from '@angular/core';
3
3
  import { ECLBaseDirective } from '@eui/ecl/core';
4
4
  import { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';
5
5
 
@@ -112,23 +112,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
112
112
  */
113
113
  class EclTextMediaMediaAnchorDirective {
114
114
  constructor() {
115
- this.anchor = 'center';
115
+ this.anchor = input('center', { ...(ngDevMode ? { debugName: "anchor" } : /* istanbul ignore next */ {}), alias: "eclTextMediaImgAnchor" });
116
116
  }
117
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTextMediaMediaAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: EclTextMediaMediaAnchorDirective, isStandalone: true, selector: "img[eclTextMediaImgAnchor]", inputs: { anchor: ["eclTextMediaImgAnchor", "anchor"] }, host: { properties: { "style.--ecl-image-anchor": "anchor" } }, ngImport: i0 }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: EclTextMediaMediaAnchorDirective, isStandalone: true, selector: "img[eclTextMediaImgAnchor]", inputs: { anchor: { classPropertyName: "anchor", publicName: "eclTextMediaImgAnchor", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--ecl-image-anchor": "anchor()" } }, ngImport: i0 }); }
119
119
  }
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTextMediaMediaAnchorDirective, decorators: [{
121
121
  type: Directive,
122
122
  args: [{
123
123
  selector: 'img[eclTextMediaImgAnchor]',
124
124
  host: {
125
- '[style.--ecl-image-anchor]': 'anchor',
125
+ '[style.--ecl-image-anchor]': 'anchor()',
126
126
  },
127
127
  }]
128
- }], propDecorators: { anchor: [{
129
- type: Input,
130
- args: ['eclTextMediaImgAnchor']
131
- }] } });
128
+ }], propDecorators: { anchor: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclTextMediaImgAnchor", required: false }] }] } });
132
129
  /**
133
130
  * Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.
134
131
  */
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-media'),\n this.variant() === 'primary' ? 'ecl-text-media--primary' : '',\n this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',\n ].filter(Boolean).join(' ');\n }\n}\n","<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>","import { Directive, Input } from '@angular/core';\n\n/**\n * Applies styles for the micro title element.\n */\n@Directive({\n selector: 'div[eclTextMediaMicroTitle]',\n host: {\n 'class': 'ecl-text-media__micro-title',\n },\n})\nexport class EclTextMediaMicroTitleDirective {}\n\n/**\n * Applies styles for the title element.\n */\n@Directive({\n selector: 'div[eclTextMediaTitle]',\n host: {\n 'class': 'ecl-text-media__title',\n },\n})\nexport class EclTextMediaTitleDirective {}\n\n/**\n * Applies styles for the description element.\n */\n@Directive({\n selector: 'div[eclTextMediaDescription]',\n host: {\n 'class': 'ecl-text-media__description',\n },\n})\nexport class EclTextMediaDescriptionDirective {}\n\n/**\n * Applies styles for the link element.\n */\n@Directive({\n selector: 'a[eclTextMediaLink]',\n host: {\n 'class': 'ecl-text-media__link',\n },\n})\nexport class EclTextMediaLinkDirective {}\n\n/**\n * Sets the `--ecl-image-anchor` CSS custom property for an image used\n * within the `ecl-text-media` component.\n *\n * Intended to be used together with `img[eclMediaContainerImage]`\n * from the `ecl-media-container` component.\n */\n@Directive({\n selector: 'img[eclTextMediaImgAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'anchor',\n },\n})\nexport class EclTextMediaMediaAnchorDirective {\n @Input('eclTextMediaImgAnchor') anchor: 'center' | 'top left' | 'bottom right' | '20% 20%' = 'center';\n}\n\n/**\n * Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.\n */\n@Directive({\n selector: 'ecl-media-container[eclTextMediaContainer]',\n host: {\n 'class': 'ecl-text-media__media_container',\n },\n})\nexport class EclTextMediaContainerDirective {}\n","import { EclTextMediaComponent } from \"./ecl-text-media.component\";\nimport { EclTextMediaMicroTitleDirective, EclTextMediaTitleDirective, EclTextMediaDescriptionDirective, EclTextMediaLinkDirective, EclTextMediaMediaAnchorDirective, EclTextMediaContainerDirective } from \"./ecl-text-media-title.directive\";\n\nexport * from './ecl-text-media.component';\nexport * from './ecl-text-media-title.directive';\n\nexport const EUI_ECL_TEXT_MEDIA = [\n EclTextMediaComponent,\n EclTextMediaMicroTitleDirective,\n EclTextMediaTitleDirective,\n EclTextMediaDescriptionDirective,\n EclTextMediaLinkDirective,\n EclTextMediaMediaAnchorDirective,\n EclTextMediaContainerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-media'),\n this.variant() === 'primary' ? 'ecl-text-media--primary' : '',\n this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',\n ].filter(Boolean).join(' ');\n }\n}\n","<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>","import { Directive, input } from '@angular/core';\n\n/**\n * Applies styles for the micro title element.\n */\n@Directive({\n selector: 'div[eclTextMediaMicroTitle]',\n host: {\n 'class': 'ecl-text-media__micro-title',\n },\n})\nexport class EclTextMediaMicroTitleDirective {}\n\n/**\n * Applies styles for the title element.\n */\n@Directive({\n selector: 'div[eclTextMediaTitle]',\n host: {\n 'class': 'ecl-text-media__title',\n },\n})\nexport class EclTextMediaTitleDirective {}\n\n/**\n * Applies styles for the description element.\n */\n@Directive({\n selector: 'div[eclTextMediaDescription]',\n host: {\n 'class': 'ecl-text-media__description',\n },\n})\nexport class EclTextMediaDescriptionDirective {}\n\n/**\n * Applies styles for the link element.\n */\n@Directive({\n selector: 'a[eclTextMediaLink]',\n host: {\n 'class': 'ecl-text-media__link',\n },\n})\nexport class EclTextMediaLinkDirective {}\n\n/**\n * Sets the `--ecl-image-anchor` CSS custom property for an image used\n * within the `ecl-text-media` component.\n *\n * Intended to be used together with `img[eclMediaContainerImage]`\n * from the `ecl-media-container` component.\n */\n@Directive({\n selector: 'img[eclTextMediaImgAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'anchor()',\n },\n})\nexport class EclTextMediaMediaAnchorDirective {\n readonly anchor = input<'center' | 'top left' | 'bottom right' | '20% 20%'>('center', { alias: \"eclTextMediaImgAnchor\" });\n}\n\n/**\n * Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.\n */\n@Directive({\n selector: 'ecl-media-container[eclTextMediaContainer]',\n host: {\n 'class': 'ecl-text-media__media_container',\n },\n})\nexport class EclTextMediaContainerDirective {}\n","import { EclTextMediaComponent } from \"./ecl-text-media.component\";\nimport { EclTextMediaMicroTitleDirective, EclTextMediaTitleDirective, EclTextMediaDescriptionDirective, EclTextMediaLinkDirective, EclTextMediaMediaAnchorDirective, EclTextMediaContainerDirective } from \"./ecl-text-media-title.directive\";\n\nexport * from './ecl-text-media.component';\nexport * from './ecl-text-media-title.directive';\n\nexport const EUI_ECL_TEXT_MEDIA = [\n EclTextMediaComponent,\n EclTextMediaMicroTitleDirective,\n EclTextMediaTitleDirective,\n EclTextMediaDescriptionDirective,\n EclTextMediaLinkDirective,\n EclTextMediaMediaAnchorDirective,\n EclTextMediaContainerDirective,\n] as const;\n","/**\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 { HostBinding, Directive, EventEmitter, HostListener, Output, Component, inject, Renderer2, ElementRef, booleanAttribute, ViewChild, Input, ContentChild, forwardRef, ViewEncapsulation, ContentChildren } from '@angular/core';
2
+ import { HostBinding, Directive, EventEmitter, HostListener, Output, Component, input, booleanAttribute, model, inject, Renderer2, ElementRef, ViewChild, ContentChild, forwardRef, ViewEncapsulation, ContentChildren } from '@angular/core';
3
3
  import { ECLBaseDirective, EclBaseEvent } from '@eui/ecl/core';
4
4
  import { NgTemplateOutlet } from '@angular/common';
5
5
  import * as i2 from '@eui/ecl/components/ecl-button';
@@ -119,28 +119,37 @@ class EclTimelineItemComponent extends ECLBaseDirective {
119
119
  * Text label shown when the item is collapsed and can be expanded.
120
120
  * Defaults to `'Expand'`.
121
121
  */
122
- this.expandLabel = 'Expand';
122
+ this.expandLabel = input('Expand', /* @ts-ignore */
123
+ ...(ngDevMode ? [{ debugName: "expandLabel" }] : /* istanbul ignore next */ []));
123
124
  /**
124
125
  * Text label shown when the item is expanded and can be collapsed.
125
126
  * Defaults to `'Collapse'`.
126
127
  */
127
- this.collapseLabel = 'Collapse';
128
- this.isHeadline = false;
128
+ this.collapseLabel = input('Collapse', /* @ts-ignore */
129
+ ...(ngDevMode ? [{ debugName: "collapseLabel" }] : /* istanbul ignore next */ []));
130
+ this.isHeadline = input(false, { ...(ngDevMode ? { debugName: "isHeadline" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
129
131
  /**
130
132
  * Indicates whether the toggler is initially expanded.
131
133
  * Used for toggler-type items.
132
134
  */
133
- this.isTogglerExpanded = false;
135
+ this.isTogglerExpanded = model(false, /* @ts-ignore */
136
+ ...(ngDevMode ? [{ debugName: "isTogglerExpanded" }] : /* istanbul ignore next */ []));
134
137
  /**
135
138
  * Whether the item is collapsed.
136
139
  * Adds the `ecl-timeline__item--collapsed` CSS class when true.
137
140
  */
138
- this.isCollapsed = false;
141
+ this.isCollapsed = input(false, { ...(ngDevMode ? { debugName: "isCollapsed" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
139
142
  /**
140
143
  * Whether the item is a toggler (e.g. expands/collapses related items).
141
144
  * Adds the `ecl-timeline__item--toggle` CSS class when true.
142
145
  */
143
- this.isToggler = false;
146
+ this.isToggler = input(false, { ...(ngDevMode ? { debugName: "isToggler" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
147
+ /**
148
+ * Name of the toggle group that this item belongs to.
149
+ * Used to coordinate collapsing/expanding related items.
150
+ */
151
+ this.toggleGroup = input(undefined, /* @ts-ignore */
152
+ ...(ngDevMode ? [{ debugName: "toggleGroup" }] : /* istanbul ignore next */ []));
144
153
  /**
145
154
  * Event emitted when the toggler is clicked.
146
155
  * Consumers can call `preventDefault()` on the event to cancel toggle behavior.
@@ -159,7 +168,7 @@ class EclTimelineItemComponent extends ECLBaseDirective {
159
168
  get cssClasses() {
160
169
  return [
161
170
  super.getCssClasses('ecl-timeline__item'),
162
- this.isHeadline ? 'ecl-timeline__item--headline' : '',
171
+ this.isHeadline() ? 'ecl-timeline__item--headline' : '',
163
172
  ].join(' ');
164
173
  }
165
174
  ngAfterViewChecked() {
@@ -170,7 +179,7 @@ class EclTimelineItemComponent extends ECLBaseDirective {
170
179
  this.hasContent =
171
180
  (node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;
172
181
  }
173
- if (!this.isToggler && this.eclTimelineItemLabel) {
182
+ if (!this.isToggler() && this.eclTimelineItemLabel) {
174
183
  const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;
175
184
  this.hasHeight = labelHeight > 0;
176
185
  this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);
@@ -200,20 +209,20 @@ class EclTimelineItemComponent extends ECLBaseDirective {
200
209
  * True if the expand label should be visible.
201
210
  */
202
211
  get isShowExpandLabel() {
203
- return !!this.expandLabel && !this.isTogglerExpanded;
212
+ return !!this.expandLabel() && !this.isTogglerExpanded();
204
213
  }
205
214
  /**
206
215
  * True if the collapse label should be visible.
207
216
  */
208
217
  get isShowCollapseLabel() {
209
- return !!this.collapseLabel && this.isTogglerExpanded;
218
+ return !!this.collapseLabel() && this.isTogglerExpanded();
210
219
  }
211
220
  /**
212
221
  * Checks whether the default toggler UI should be used.
213
222
  * Returns true if this is a toggler and no custom toggler component is projected.
214
223
  */
215
224
  hasDefaultToggler() {
216
- return this.isToggler && !this.timelineItemToggler;
225
+ return this.isToggler() && !this.timelineItemToggler;
217
226
  }
218
227
  /**
219
228
  * Handles click events from the default toggler element.
@@ -224,30 +233,20 @@ class EclTimelineItemComponent extends ECLBaseDirective {
224
233
  this.handleToggler();
225
234
  }
226
235
  handleToggler() {
227
- const nextExpandedState = !this.isTogglerExpanded;
228
- const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);
236
+ const nextExpandedState = !this.isTogglerExpanded();
237
+ const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup());
229
238
  if (!event.defaultPrevented) {
230
239
  this.toggle.next(event);
231
- this.isTogglerExpanded = nextExpandedState;
240
+ this.isTogglerExpanded.set(nextExpandedState);
232
241
  }
233
242
  }
234
243
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
235
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTimelineItemComponent, isStandalone: true, selector: "ecl-timeline-item, li[eclTimelineItem]", inputs: { expandLabel: "expandLabel", collapseLabel: "collapseLabel", isHeadline: ["isHeadline", "isHeadline", booleanAttribute], isTogglerExpanded: ["isTogglerExpanded", "isTogglerExpanded", booleanAttribute], isCollapsed: ["isCollapsed", "isCollapsed", booleanAttribute], isToggler: ["isToggler", "isToggler", booleanAttribute], toggleGroup: "toggleGroup" }, outputs: { toggle: "toggle" }, host: { properties: { "class": "this.cssClasses", "class.ecl-timeline__item--collapsed": "this.isCollapsed", "class.ecl-timeline__item--toggle": "this.isToggler" } }, queries: [{ propertyName: "timelineItemToggler", first: true, predicate: i0.forwardRef(() => EclTimelineItemTogglerComponent), descendants: true }, { propertyName: "timelineTitle", first: true, predicate: i0.forwardRef(() => EclTimelineItemTitleDirective), descendants: true }, { propertyName: "eclLink", first: true, predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }, { propertyName: "eclTimelineItemLabel", first: true, predicate: i0.forwardRef(() => EclTimelineItemLabelDirective), descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "contentSlotRef", first: true, predicate: ["contentSlot"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (isToggler) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"], dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
244
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: EclTimelineItemComponent, isStandalone: true, selector: "ecl-timeline-item, li[eclTimelineItem]", inputs: { expandLabel: { classPropertyName: "expandLabel", publicName: "expandLabel", isSignal: true, isRequired: false, transformFunction: null }, collapseLabel: { classPropertyName: "collapseLabel", publicName: "collapseLabel", isSignal: true, isRequired: false, transformFunction: null }, isHeadline: { classPropertyName: "isHeadline", publicName: "isHeadline", isSignal: true, isRequired: false, transformFunction: null }, isTogglerExpanded: { classPropertyName: "isTogglerExpanded", publicName: "isTogglerExpanded", isSignal: true, isRequired: false, transformFunction: null }, isCollapsed: { classPropertyName: "isCollapsed", publicName: "isCollapsed", isSignal: true, isRequired: false, transformFunction: null }, isToggler: { classPropertyName: "isToggler", publicName: "isToggler", isSignal: true, isRequired: false, transformFunction: null }, toggleGroup: { classPropertyName: "toggleGroup", publicName: "toggleGroup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isTogglerExpanded: "isTogglerExpandedChange", toggle: "toggle" }, host: { properties: { "class": "this.cssClasses", "class.ecl-timeline__item--collapsed": "this.isCollapsed", "class.ecl-timeline__item--toggle": "this.isToggler" } }, queries: [{ propertyName: "timelineItemToggler", first: true, predicate: i0.forwardRef(() => EclTimelineItemTogglerComponent), descendants: true }, { propertyName: "timelineTitle", first: true, predicate: i0.forwardRef(() => EclTimelineItemTitleDirective), descendants: true }, { propertyName: "eclLink", first: true, predicate: i0.forwardRef(() => EclLinkDirective), descendants: true }, { propertyName: "eclTimelineItemLabel", first: true, predicate: i0.forwardRef(() => EclTimelineItemLabelDirective), descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "contentSlotRef", first: true, predicate: ["contentSlot"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"], dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], encapsulation: i0.ViewEncapsulation.None }); }
236
245
  }
237
246
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineItemComponent, decorators: [{
238
247
  type: Component,
239
- args: [{ selector: 'ecl-timeline-item, li[eclTimelineItem]', imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, template: "@if (isToggler) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"] }]
240
- }], propDecorators: { expandLabel: [{
241
- type: Input
242
- }], collapseLabel: [{
243
- type: Input
244
- }], isHeadline: [{
245
- type: Input,
246
- args: [{ transform: booleanAttribute }]
247
- }], isTogglerExpanded: [{
248
- type: Input,
249
- args: [{ transform: booleanAttribute }]
250
- }], cssClasses: [{
248
+ args: [{ selector: 'ecl-timeline-item, li[eclTimelineItem]', imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, template: "@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", styles: ["ecl-timeline-item{display:list-item}\n"] }]
249
+ }], propDecorators: { expandLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandLabel", required: false }] }], collapseLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapseLabel", required: false }] }], isHeadline: [{ type: i0.Input, args: [{ isSignal: true, alias: "isHeadline", required: false }] }], isTogglerExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isTogglerExpanded", required: false }] }, { type: i0.Output, args: ["isTogglerExpandedChange"] }], cssClasses: [{
251
250
  type: HostBinding,
252
251
  args: ['class']
253
252
  }], timelineItemToggler: [{
@@ -263,20 +262,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
263
262
  type: ContentChild,
264
263
  args: [forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }]
265
264
  }], isCollapsed: [{
266
- type: Input,
267
- args: [{ transform: booleanAttribute }]
268
- }, {
269
265
  type: HostBinding,
270
266
  args: ['class.ecl-timeline__item--collapsed']
271
267
  }], isToggler: [{
272
- type: Input,
273
- args: [{ transform: booleanAttribute }]
274
- }, {
275
268
  type: HostBinding,
276
269
  args: ['class.ecl-timeline__item--toggle']
277
- }], toggleGroup: [{
278
- type: Input
279
- }], toggle: [{
270
+ }], toggleGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleGroup", required: false }] }], toggle: [{
280
271
  type: Output
281
272
  }], contentSlotRef: [{
282
273
  type: ViewChild,
@@ -307,11 +298,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
307
298
  class EclTimelineComponent extends ECLBaseDirective {
308
299
  constructor() {
309
300
  super(...arguments);
310
- /**
311
- * Sets the `role` attribute of the host element to `list`
312
- * for accessibility purposes.
313
- */
314
- this.attrRole = 'list';
315
301
  this.isExpanded = null;
316
302
  this.destroy$ = new Subject();
317
303
  this.isFirstExpandedLinkFocused = false;
@@ -335,7 +321,7 @@ class EclTimelineComponent extends ECLBaseDirective {
335
321
  */
336
322
  ngAfterContentInit() {
337
323
  this.timelineItems
338
- .filter((item) => item.isToggler)
324
+ .filter((item) => item.isToggler())
339
325
  .forEach((it) => {
340
326
  it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
341
327
  if (evt.isExpanded) {
@@ -346,8 +332,8 @@ class EclTimelineComponent extends ECLBaseDirective {
346
332
  }
347
333
  if (this.timelineItems && !evt.defaultPrevented) {
348
334
  this.timelineItems
349
- .filter((item) => item.toggleGroup === evt.toggleGroup)
350
- .filter((item) => !item.isToggler)
335
+ .filter((item) => item.toggleGroup() === evt.toggleGroup)
336
+ .filter((item) => !item.isToggler())
351
337
  .forEach((item) => {
352
338
  // item.isCollapsed = !item.isCollapsed;
353
339
  this.onFocusFirstExpandedLink(item);
@@ -355,7 +341,7 @@ class EclTimelineComponent extends ECLBaseDirective {
355
341
  }
356
342
  });
357
343
  });
358
- if (this.timelineItems?.find(item => item.isHeadline) !== undefined)
344
+ if (this.timelineItems?.find(item => item.isHeadline()) !== undefined)
359
345
  this.hasHeadlineItem = true;
360
346
  }
361
347
  /**
@@ -373,7 +359,7 @@ class EclTimelineComponent extends ECLBaseDirective {
373
359
  * @param item The timeline item to check and potentially focus.
374
360
  */
375
361
  onFocusFirstExpandedLink(item) {
376
- if (!item.isCollapsed) {
362
+ if (!item.isCollapsed()) {
377
363
  if (!this.isFirstExpandedLinkFocused && item.eclLink) {
378
364
  setTimeout(() => item.eclLink.onFocus());
379
365
  this.isFirstExpandedLinkFocused = true;
@@ -384,21 +370,16 @@ class EclTimelineComponent extends ECLBaseDirective {
384
370
  }
385
371
  }
386
372
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
387
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclTimelineComponent, isStandalone: true, selector: "ecl-timeline, ol[eclTimeline]", host: { properties: { "attr.role": "this.attrRole", "attr.data-ecl-timeline-expanded": "this.isExpanded", "class": "this.cssClasses" } }, queries: [{ propertyName: "timelineItems", predicate: i0.forwardRef(() => EclTimelineItemComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
373
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: EclTimelineComponent, isStandalone: true, selector: "ecl-timeline, ol[eclTimeline]", host: { attributes: { "role": "list" }, properties: { "attr.data-ecl-timeline-expanded": "isExpanded", "class": "cssClasses" } }, queries: [{ propertyName: "timelineItems", predicate: i0.forwardRef(() => EclTimelineItemComponent) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }); }
388
374
  }
389
375
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclTimelineComponent, decorators: [{
390
376
  type: Component,
391
- args: [{ selector: 'ecl-timeline, ol[eclTimeline]', template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
392
- }], propDecorators: { attrRole: [{
393
- type: HostBinding,
394
- args: ['attr.role']
395
- }], isExpanded: [{
396
- type: HostBinding,
397
- args: ['attr.data-ecl-timeline-expanded']
398
- }], cssClasses: [{
399
- type: HostBinding,
400
- args: ['class']
401
- }], timelineItems: [{
377
+ args: [{ selector: 'ecl-timeline, ol[eclTimeline]', host: {
378
+ 'role': 'list',
379
+ '[attr.data-ecl-timeline-expanded]': 'isExpanded',
380
+ '[class]': 'cssClasses',
381
+ }, template: "<ng-content></ng-content>\n", styles: [":host{display:block}\n"] }]
382
+ }], propDecorators: { timelineItems: [{
402
383
  type: ContentChildren,
403
384
  args: [forwardRef(() => EclTimelineItemComponent)]
404
385
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-timeline.mjs","sources":["../../components/ecl-timeline/ecl-timeline-item-label.directive.ts","../../components/ecl-timeline/ecl-timeline-item-title.directive.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.html","../../components/ecl-timeline/events/ecl-timeline-item-toggle.event.ts","../../components/ecl-timeline/ecl-timeline-item.component.ts","../../components/ecl-timeline/ecl-timeline-item.component.html","../../components/ecl-timeline/ecl-timeline-set.directive.ts","../../components/ecl-timeline/ecl-timeline.component.ts","../../components/ecl-timeline/ecl-timeline.component.html","../../components/ecl-timeline/index.ts","../../components/ecl-timeline/eui-ecl-components-ecl-timeline.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__label` class to an element.\n * Used to mark the label section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__label` to style the label area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__title` class to an element.\n * Used to mark the title section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__title` to style the title area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a toggler inside a timeline item.\n * Emits a `toggle` event when clicked.\n */\n@Component({\n selector: 'ecl-timeline-item-toggler, li[eclTimelineItemToggler]',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n /**\n * Event emitted when the toggler is activated (clicked).\n * Used to trigger expand/collapse behavior in the parent timeline item.\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n /**\n * Handles click events on the toggler element and emits the `toggle` event.\n */\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a timeline item is toggled (expanded or collapsed).\n */\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n /**\n * Indicates whether the item is expanded after the toggle.\n */\n public isExpanded: boolean,\n\n /**\n * Identifier of the toggle group this item belongs to.\n */\n public toggleGroup: string,\n ) {\n super();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline-item, li[eclTimelineItem]',\n templateUrl: 'ecl-timeline-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet],\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * Text label shown when the item is collapsed and can be expanded.\n * Defaults to `'Expand'`.\n */\n @Input() expandLabel = 'Expand';\n\n /**\n * Text label shown when the item is expanded and can be collapsed.\n * Defaults to `'Collapse'`.\n */\n @Input() collapseLabel = 'Collapse';\n\n @Input({ transform: booleanAttribute }) isHeadline = false;\n\n /**\n * Indicates whether the toggler is initially expanded.\n * Used for toggler-type items.\n */\n @Input({ transform: booleanAttribute }) isTogglerExpanded = false;\n\n /**\n * Adds the `ecl-timeline__item` class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline__item'),\n this.isHeadline ? 'ecl-timeline__item--headline' : '',\n ].join(' ');\n }\n\n // @HostBinding('attr.style') customStyle = '';\n\n /**\n * Reference to a projected custom toggler component.\n */\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @ContentChild(forwardRef(() => EclTimelineItemTitleDirective))\n timelineTitle: EclTimelineItemTitleDirective;\n\n /**\n * Reference to a projected ECL link, used for setting focus after toggle.\n */\n @ContentChild(forwardRef(() => EclLinkDirective)) eclLink: EclLinkDirective;\n\n /**\n * Reference to a projected label for the item. Used to set height, when item has no content and title.\n */\n @ContentChild(forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }) eclTimelineItemLabel: ElementRef;\n\n /**\n * Whether the item is collapsed.\n * Adds the `ecl-timeline__item--collapsed` CSS class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-timeline__item--collapsed') isCollapsed = false;\n\n /**\n * Whether the item is a toggler (e.g. expands/collapses related items).\n * Adds the `ecl-timeline__item--toggle` CSS class when true.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-timeline__item--toggle') isToggler = false;\n\n /**\n * Name of the toggle group that this item belongs to.\n * Used to coordinate collapsing/expanding related items.\n */\n @Input() toggleGroup: string;\n\n /**\n * Event emitted when the toggler is clicked.\n * Consumers can call `preventDefault()` on the event to cancel toggle behavior.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n @ViewChild('contentSlot')\n private contentSlotRef: ElementRef<HTMLElement>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private hasContent = false;\n private hasHeight = false;\n private renderer = inject(Renderer2);\n private host = inject(ElementRef<HTMLElement>);\n\n ngAfterViewChecked(): void {\n if (!this.hasHeight) {\n setTimeout(() => {\n const node = this.contentSlotRef?.nativeElement;\n if (node) {\n this.hasContent =\n (node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;\n }\n if (!this.isToggler && this.eclTimelineItemLabel) {\n const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;\n this.hasHeight = labelHeight > 0;\n this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);\n this.renderer.setStyle(this.host.nativeElement, 'box-sizing', 'unset');\n }\n });\n }\n }\n\n /**\n * Lifecycle hook that sets up event subscriptions after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n /**\n * Lifecycle hook called on component destruction to clean up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * True if the expand label should be visible.\n */\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel && !this.isTogglerExpanded;\n }\n\n /**\n * True if the collapse label should be visible.\n */\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel && this.isTogglerExpanded;\n }\n\n /**\n * Checks whether the default toggler UI should be used.\n * Returns true if this is a toggler and no custom toggler component is projected.\n */\n hasDefaultToggler(): boolean {\n return this.isToggler && !this.timelineItemToggler;\n }\n\n /**\n * Handles click events from the default toggler element.\n *\n * @param evt The mouse click event.\n */\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded;\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup);\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded = nextExpandedState;\n }\n }\n}\n","@if (isToggler) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline-set` class to an element.\n */\n@Directive({\n selector: '[eclTimelineSet]',\n})\nexport class EclTimelineSetDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl-timeline-set') hasClass = true;\n}\n","import {\n Component,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n HostBinding,\n OnDestroy,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline, ol[eclTimeline]',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Sets the `role` attribute of the host element to `list`\n * for accessibility purposes.\n */\n @HostBinding('attr.role') attrRole = 'list';\n\n @HostBinding('attr.data-ecl-timeline-expanded') isExpanded: boolean | null = null;\n\n /**\n * Applies the `ecl-timeline` CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline'),\n this.hasHeadlineItem ? 'ecl-timeline--has-headline' : '',\n ].join(' ');\n }\n\n /**\n * List of projected `EclTimelineItemComponent` instances.\n * Collected using `@ContentChildren`.\n */\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstExpandedLinkFocused = false;\n private hasHeadlineItem = false;\n\n /**\n * Lifecycle hook that is called after content (child components)\n * has been fully initialized.\n * \n * It sets up toggle event subscriptions for `isToggler` items and\n * collapses/expands related content items accordingly.\n */\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler)\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (evt.isExpanded) {\n this.isExpanded = true;\n } else {\n this.isExpanded = null;\n }\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup === evt.toggleGroup)\n .filter((item) => !item.isToggler)\n .forEach((item) => {\n // item.isCollapsed = !item.isCollapsed;\n this.onFocusFirstExpandedLink(item);\n });\n }\n });\n });\n\n if (this.timelineItems?.find(item => item.isHeadline) !== undefined) this.hasHeadlineItem = true;\n }\n\n /**\n * Lifecycle hook called when the component is destroyed.\n * Cleans up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Focuses the first link in the expanded timeline item,\n * ensuring it's only done once per toggle group interaction.\n *\n * @param item The timeline item to check and potentially focus.\n */\n onFocusFirstExpandedLink(item: EclTimelineItemComponent): void {\n if (!item.isCollapsed) {\n if (!this.isFirstExpandedLinkFocused && item.eclLink) {\n setTimeout(() => item.eclLink.onFocus());\n this.isFirstExpandedLinkFocused = true;\n }\n } else {\n this.isFirstExpandedLinkFocused = false;\n }\n }\n}\n","<ng-content></ng-content>\n","import { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineSetDirective } from './ecl-timeline-set.directive';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\nexport * from './ecl-timeline.component';\nexport * from './ecl-timeline-item.component';\nexport * from './ecl-timeline-item-label.directive';\nexport * from './ecl-timeline-item-title.directive';\nexport * from './ecl-timeline-item-toggler.component';\nexport * from './ecl-timeline-set.directive';\nexport * from './events/ecl-timeline-item-toggle.event';\n\nexport const EUI_ECL_TIMELINE = [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n EclTimelineSetDirective,\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-timeline.mjs","sources":["../../components/ecl-timeline/ecl-timeline-item-label.directive.ts","../../components/ecl-timeline/ecl-timeline-item-title.directive.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.ts","../../components/ecl-timeline/ecl-timeline-item-toggler.component.html","../../components/ecl-timeline/events/ecl-timeline-item-toggle.event.ts","../../components/ecl-timeline/ecl-timeline-item.component.ts","../../components/ecl-timeline/ecl-timeline-item.component.html","../../components/ecl-timeline/ecl-timeline-set.directive.ts","../../components/ecl-timeline/ecl-timeline.component.ts","../../components/ecl-timeline/ecl-timeline.component.html","../../components/ecl-timeline/index.ts","../../components/ecl-timeline/eui-ecl-components-ecl-timeline.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__label` class to an element.\n * Used to mark the label section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemLabel]',\n})\nexport class EclTimelineItemLabelDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__label` to style the label area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__label')].join(' ').trim();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline__title` class to an element.\n * Used to mark the title section within a timeline item.\n */\n@Directive({\n selector: '[eclTimelineItemTitle]',\n})\nexport class EclTimelineItemTitleDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-timeline__title` to style the title area of the timeline item.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-timeline__title')].join(' ').trim();\n }\n}\n","import { Component, EventEmitter, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a toggler inside a timeline item.\n * Emits a `toggle` event when clicked.\n */\n@Component({\n selector: 'ecl-timeline-item-toggler, li[eclTimelineItemToggler]',\n templateUrl: 'ecl-timeline-item-toggler.component.html',\n})\nexport class EclTimelineItemTogglerComponent extends ECLBaseDirective {\n /**\n * Event emitted when the toggler is activated (clicked).\n * Used to trigger expand/collapse behavior in the parent timeline item.\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<void> = new EventEmitter();\n\n /**\n * Handles click events on the toggler element and emits the `toggle` event.\n */\n @HostListener('click')\n onTogglerClick(): void {\n this.toggle.emit();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a timeline item is toggled (expanded or collapsed).\n */\nexport class EclTimelineItemToggleEvent extends EclBaseEvent {\n constructor(\n /**\n * Indicates whether the item is expanded after the toggle.\n */\n public isExpanded: boolean,\n\n /**\n * Identifier of the toggle group this item belongs to.\n */\n public toggleGroup: string,\n ) {\n super();\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n inject,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n input,\n model,\n} from '@angular/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline-item, li[eclTimelineItem]',\n templateUrl: 'ecl-timeline-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_BUTTON, NgTemplateOutlet],\n styles: [\n `\n ecl-timeline-item {\n display: list-item;\n }\n `,\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTimelineItemComponent extends ECLBaseDirective implements AfterContentInit, AfterViewChecked, OnDestroy {\n /**\n * Text label shown when the item is collapsed and can be expanded.\n * Defaults to `'Expand'`.\n */\n readonly expandLabel = input('Expand');\n\n /**\n * Text label shown when the item is expanded and can be collapsed.\n * Defaults to `'Collapse'`.\n */\n readonly collapseLabel = input('Collapse');\n\n readonly isHeadline = input(false, { transform: booleanAttribute });\n\n /**\n * Indicates whether the toggler is initially expanded.\n * Used for toggler-type items.\n */\n readonly isTogglerExpanded = model(false);\n\n /**\n * Adds the `ecl-timeline__item` class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline__item'),\n this.isHeadline() ? 'ecl-timeline__item--headline' : '',\n ].join(' ');\n }\n\n // @HostBinding('attr.style') customStyle = '';\n\n /**\n * Reference to a projected custom toggler component.\n */\n @ContentChild(forwardRef(() => EclTimelineItemTogglerComponent))\n timelineItemToggler: EclTimelineItemTogglerComponent;\n\n @ContentChild(forwardRef(() => EclTimelineItemTitleDirective))\n timelineTitle: EclTimelineItemTitleDirective;\n\n /**\n * Reference to a projected ECL link, used for setting focus after toggle.\n */\n @ContentChild(forwardRef(() => EclLinkDirective)) eclLink: EclLinkDirective;\n\n /**\n * Reference to a projected label for the item. Used to set height, when item has no content and title.\n */\n @ContentChild(forwardRef(() => EclTimelineItemLabelDirective), { read: ElementRef }) eclTimelineItemLabel: ElementRef;\n\n /**\n * Whether the item is collapsed.\n * Adds the `ecl-timeline__item--collapsed` CSS class when true.\n */\n @HostBinding('class.ecl-timeline__item--collapsed')\n readonly isCollapsed = input(false, { transform: booleanAttribute });\n\n /**\n * Whether the item is a toggler (e.g. expands/collapses related items).\n * Adds the `ecl-timeline__item--toggle` CSS class when true.\n */\n @HostBinding('class.ecl-timeline__item--toggle')\n readonly isToggler = input(false, { transform: booleanAttribute });\n\n /**\n * Name of the toggle group that this item belongs to.\n * Used to coordinate collapsing/expanding related items.\n */\n readonly toggleGroup = input<string>(undefined);\n\n /**\n * Event emitted when the toggler is clicked.\n * Consumers can call `preventDefault()` on the event to cancel toggle behavior.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclTimelineItemToggleEvent>();\n\n @ViewChild('contentSlot')\n private contentSlotRef: ElementRef<HTMLElement>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private hasContent = false;\n private hasHeight = false;\n private renderer = inject(Renderer2);\n private host = inject(ElementRef<HTMLElement>);\n\n ngAfterViewChecked(): void {\n if (!this.hasHeight) {\n setTimeout(() => {\n const node = this.contentSlotRef?.nativeElement;\n if (node) {\n this.hasContent =\n (node.textContent?.trim().length ?? 0) > 0 || node.children.length > 0;\n }\n if (!this.isToggler() && this.eclTimelineItemLabel) {\n const labelHeight = this.eclTimelineItemLabel.nativeElement.getBoundingClientRect().height;\n this.hasHeight = labelHeight > 0;\n this.host.nativeElement.style.setProperty('--ecl-timeline-label-height', `${labelHeight}px`);\n this.renderer.setStyle(this.host.nativeElement, 'box-sizing', 'unset');\n }\n });\n }\n }\n\n /**\n * Lifecycle hook that sets up event subscriptions after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.timelineItemToggler) {\n this.timelineItemToggler.toggle.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.handleToggler();\n });\n }\n }\n\n /**\n * Lifecycle hook called on component destruction to clean up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * True if the expand label should be visible.\n */\n get isShowExpandLabel(): boolean {\n return !!this.expandLabel() && !this.isTogglerExpanded();\n }\n\n /**\n * True if the collapse label should be visible.\n */\n get isShowCollapseLabel(): boolean {\n return !!this.collapseLabel() && this.isTogglerExpanded();\n }\n\n /**\n * Checks whether the default toggler UI should be used.\n * Returns true if this is a toggler and no custom toggler component is projected.\n */\n hasDefaultToggler(): boolean {\n return this.isToggler() && !this.timelineItemToggler;\n }\n\n /**\n * Handles click events from the default toggler element.\n *\n * @param evt The mouse click event.\n */\n onTogglerClick(evt: MouseEvent): void {\n this.handleToggler();\n }\n\n private handleToggler(): void {\n const nextExpandedState = !this.isTogglerExpanded();\n const event = new EclTimelineItemToggleEvent(nextExpandedState, this.toggleGroup());\n\n if (!event.defaultPrevented) {\n this.toggle.next(event);\n this.isTogglerExpanded.set(nextExpandedState);\n }\n }\n}\n","@if (isToggler()) {\n <div class=\"ecl-timeline__content\">\n @if (hasDefaultToggler()) {\n <button eclButton (click)=\"onTogglerClick($event)\" variant=\"secondary\">\n @if (isShowExpandLabel) {\n <span eclButtonLabel> {{ expandLabel() }} </span>\n }\n @if (isShowCollapseLabel) {\n <span eclButtonLabel> {{ collapseLabel() }} </span>\n }\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" [transform]=\"!isTogglerExpanded() ? 'rotate-180' : ''\"></ecl-icon>\n </button>\n }\n\n\n <ng-content select=\"ecl-timeline-item-toggler\"></ng-content>\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n}\n@else {\n <div class=\"ecl-timeline__tooltip\">\n <div class=\"ecl-timeline__tooltip-arrow\"></div>\n <ng-content select=\"[eclTimelineItemLabel]\"></ng-content>\n\n <ng-content select=\"[eclTimelineItemTitle]\"></ng-content>\n\n <div class=\"ecl-timeline__content\" #contentSlot>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </div>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the `ecl-timeline-set` class to an element.\n */\n@Directive({\n selector: '[eclTimelineSet]',\n})\nexport class EclTimelineSetDirective extends ECLBaseDirective {\n\n @HostBinding('class.ecl-timeline-set') hasClass = true;\n}\n","import {\n Component,\n AfterContentInit,\n ContentChildren,\n forwardRef,\n QueryList,\n OnDestroy,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineItemToggleEvent } from './events/ecl-timeline-item-toggle.event';\n\n@Component({\n selector: 'ecl-timeline, ol[eclTimeline]',\n templateUrl: 'ecl-timeline.component.html',\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n host: {\n 'role': 'list',\n '[attr.data-ecl-timeline-expanded]': 'isExpanded',\n '[class]': 'cssClasses',\n },\n})\nexport class EclTimelineComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n isExpanded: boolean | null = null;\n\n /**\n * Applies the `ecl-timeline` CSS class to the host element.\n */\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-timeline'),\n this.hasHeadlineItem ? 'ecl-timeline--has-headline' : '',\n ].join(' ');\n }\n\n /**\n * List of projected `EclTimelineItemComponent` instances.\n * Collected using `@ContentChildren`.\n */\n @ContentChildren(forwardRef(() => EclTimelineItemComponent))\n timelineItems: QueryList<EclTimelineItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstExpandedLinkFocused = false;\n private hasHeadlineItem = false;\n\n /**\n * Lifecycle hook that is called after content (child components)\n * has been fully initialized.\n *\n * It sets up toggle event subscriptions for `isToggler` items and\n * collapses/expands related content items accordingly.\n */\n ngAfterContentInit(): void {\n this.timelineItems\n .filter((item) => item.isToggler())\n .forEach((it) => {\n it.toggle.pipe(takeUntil(this.destroy$)).subscribe((evt: EclTimelineItemToggleEvent) => {\n if (evt.isExpanded) {\n this.isExpanded = true;\n } else {\n this.isExpanded = null;\n }\n if (this.timelineItems && !evt.defaultPrevented) {\n this.timelineItems\n .filter((item) => item.toggleGroup() === evt.toggleGroup)\n .filter((item) => !item.isToggler())\n .forEach((item) => {\n // item.isCollapsed = !item.isCollapsed;\n this.onFocusFirstExpandedLink(item);\n });\n }\n });\n });\n\n if (this.timelineItems?.find(item => item.isHeadline()) !== undefined) this.hasHeadlineItem = true;\n }\n\n /**\n * Lifecycle hook called when the component is destroyed.\n * Cleans up subscriptions.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Focuses the first link in the expanded timeline item,\n * ensuring it's only done once per toggle group interaction.\n *\n * @param item The timeline item to check and potentially focus.\n */\n onFocusFirstExpandedLink(item: EclTimelineItemComponent): void {\n if (!item.isCollapsed()) {\n if (!this.isFirstExpandedLinkFocused && item.eclLink) {\n setTimeout(() => item.eclLink.onFocus());\n this.isFirstExpandedLinkFocused = true;\n }\n } else {\n this.isFirstExpandedLinkFocused = false;\n }\n }\n}\n","<ng-content></ng-content>\n","import { EclTimelineItemLabelDirective } from './ecl-timeline-item-label.directive';\nimport { EclTimelineItemTitleDirective } from './ecl-timeline-item-title.directive';\nimport { EclTimelineItemTogglerComponent } from './ecl-timeline-item-toggler.component';\nimport { EclTimelineItemComponent } from './ecl-timeline-item.component';\nimport { EclTimelineSetDirective } from './ecl-timeline-set.directive';\nimport { EclTimelineComponent } from './ecl-timeline.component';\n\nexport * from './ecl-timeline.component';\nexport * from './ecl-timeline-item.component';\nexport * from './ecl-timeline-item-label.directive';\nexport * from './ecl-timeline-item-title.directive';\nexport * from './ecl-timeline-item-toggler.component';\nexport * from './ecl-timeline-set.directive';\nexport * from './events/ecl-timeline-item-toggle.event';\n\nexport const EUI_ECL_TIMELINE = [\n EclTimelineComponent,\n EclTimelineItemComponent,\n EclTimelineItemTogglerComponent,\n EclTimelineItemLabelDirective,\n EclTimelineItemTitleDirective,\n EclTimelineSetDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}