@eui/ecl 19.3.1 → 19.3.2-snapshot-1752652198707

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 (382) hide show
  1. package/components/ecl-app/ecl-app.component.d.ts +10 -0
  2. package/components/ecl-app/ecl-app.component.d.ts.map +1 -1
  3. package/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts +6 -0
  4. package/components/ecl-breadcrumb/ecl-breadcrumb-container.directive.d.ts.map +1 -1
  5. package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts +39 -0
  6. package/components/ecl-breadcrumb/ecl-breadcrumb-segment.component.d.ts.map +1 -1
  7. package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts +42 -0
  8. package/components/ecl-breadcrumb/ecl-breadcrumb.component.d.ts.map +1 -1
  9. package/components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.d.ts +3 -0
  10. package/components/ecl-breadcrumb/events/ecl-breadcrumb-segment-click.event.d.ts.map +1 -1
  11. package/components/ecl-media-container/ecl-media-container-iframe.directive.d.ts +3 -0
  12. package/components/ecl-media-container/ecl-media-container-iframe.directive.d.ts.map +1 -1
  13. package/components/ecl-media-container/ecl-media-container-item-audio-description.directive.d.ts +3 -0
  14. package/components/ecl-media-container/ecl-media-container-item-audio-description.directive.d.ts.map +1 -1
  15. package/components/ecl-media-container/ecl-media-container-item.directive.d.ts +3 -0
  16. package/components/ecl-media-container/ecl-media-container-item.directive.d.ts.map +1 -1
  17. package/components/ecl-media-container/ecl-media-container-picture.directive.d.ts +3 -0
  18. package/components/ecl-media-container/ecl-media-container-picture.directive.d.ts.map +1 -1
  19. package/components/ecl-media-container/ecl-media-container.component.d.ts +15 -0
  20. package/components/ecl-media-container/ecl-media-container.component.d.ts.map +1 -1
  21. package/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts +68 -0
  22. package/components/ecl-menu/ecl-menu/ecl-menu-item.component.d.ts.map +1 -1
  23. package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts +69 -5
  24. package/components/ecl-menu/ecl-menu/ecl-menu.component.d.ts.map +1 -1
  25. package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts +32 -0
  26. package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega-item.component.d.ts.map +1 -1
  27. package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts +13 -0
  28. package/components/ecl-menu/ecl-menu-mega/ecl-menu-mega.component.d.ts.map +1 -1
  29. package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts +97 -0
  30. package/components/ecl-multiselect/ecl-multiselect-dropdown/ecl-multiselect-dropdown.component.d.ts.map +1 -1
  31. package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts +74 -0
  32. package/components/ecl-multiselect/ecl-multiselect-input/ecl-multiselect-input.component.d.ts.map +1 -1
  33. package/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts +10 -0
  34. package/components/ecl-multiselect/ecl-multiselect-optgroup/ecl-multiselect-optgroup.component.d.ts.map +1 -1
  35. package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts +42 -0
  36. package/components/ecl-multiselect/ecl-multiselect-option/ecl-multiselect-option.component.d.ts.map +1 -1
  37. package/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts +28 -0
  38. package/components/ecl-multiselect/ecl-multiselect-option.directive.d.ts.map +1 -1
  39. package/components/ecl-multiselect/ecl-multiselect.component.d.ts +45 -0
  40. package/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  41. package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts +9 -0
  42. package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts.map +1 -1
  43. package/components/ecl-navigation-list/ecl-navigation-list-picture.directive.d.ts +6 -0
  44. package/components/ecl-navigation-list/ecl-navigation-list-picture.directive.d.ts.map +1 -1
  45. package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts +13 -0
  46. package/components/ecl-navigation-list/ecl-navigation-list.component.d.ts.map +1 -1
  47. package/components/ecl-page-header/ecl-page-header-background.directive.d.ts +16 -0
  48. package/components/ecl-page-header/ecl-page-header-background.directive.d.ts.map +1 -1
  49. package/components/ecl-page-header/ecl-page-header-description.directive.d.ts +33 -1
  50. package/components/ecl-page-header/ecl-page-header-description.directive.d.ts.map +1 -1
  51. package/components/ecl-page-header/ecl-page-header-info.directive.d.ts +8 -0
  52. package/components/ecl-page-header/ecl-page-header-info.directive.d.ts.map +1 -1
  53. package/components/ecl-page-header/ecl-page-header-meta.directive.d.ts +16 -0
  54. package/components/ecl-page-header/ecl-page-header-meta.directive.d.ts.map +1 -1
  55. package/components/ecl-page-header/ecl-page-header-title.directive.d.ts +14 -0
  56. package/components/ecl-page-header/ecl-page-header-title.directive.d.ts.map +1 -1
  57. package/components/ecl-page-header/ecl-page-header.component.d.ts +21 -0
  58. package/components/ecl-page-header/ecl-page-header.component.d.ts.map +1 -1
  59. package/components/ecl-pagination/ecl-pagination-item.component.d.ts +63 -0
  60. package/components/ecl-pagination/ecl-pagination-item.component.d.ts.map +1 -1
  61. package/components/ecl-pagination/ecl-pagination-list.directive.d.ts +7 -0
  62. package/components/ecl-pagination/ecl-pagination-list.directive.d.ts.map +1 -1
  63. package/components/ecl-pagination/ecl-pagination.component.d.ts +65 -0
  64. package/components/ecl-pagination/ecl-pagination.component.d.ts.map +1 -1
  65. package/components/ecl-pagination/events/ecl-pagination.event.d.ts +22 -1
  66. package/components/ecl-pagination/events/ecl-pagination.event.d.ts.map +1 -1
  67. package/components/ecl-radio/ecl-radio-help.component.d.ts +13 -0
  68. package/components/ecl-radio/ecl-radio-help.component.d.ts.map +1 -1
  69. package/components/ecl-radio/ecl-radio-input.directive.d.ts +30 -1
  70. package/components/ecl-radio/ecl-radio-input.directive.d.ts.map +1 -1
  71. package/components/ecl-radio/ecl-radio-label.component.d.ts +16 -0
  72. package/components/ecl-radio/ecl-radio-label.component.d.ts.map +1 -1
  73. package/components/ecl-radio/ecl-radio.directive.d.ts +31 -0
  74. package/components/ecl-radio/ecl-radio.directive.d.ts.map +1 -1
  75. package/components/ecl-range/ecl-range-bubble.component.d.ts +22 -0
  76. package/components/ecl-range/ecl-range-bubble.component.d.ts.map +1 -1
  77. package/components/ecl-range/ecl-range-value.component.d.ts +14 -0
  78. package/components/ecl-range/ecl-range-value.component.d.ts.map +1 -1
  79. package/components/ecl-range/ecl-range.directive.d.ts +42 -0
  80. package/components/ecl-range/ecl-range.directive.d.ts.map +1 -1
  81. package/components/ecl-range/events/ecl-range.event.d.ts +7 -0
  82. package/components/ecl-range/events/ecl-range.event.d.ts.map +1 -1
  83. package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts +16 -0
  84. package/components/ecl-site-footer/ecl-footer-elements/ec/ecl-site-footer-fixed-content.d.ts.map +1 -1
  85. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.d.ts +10 -0
  86. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-column.directive.d.ts.map +1 -1
  87. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.d.ts +3 -0
  88. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-description.directive.d.ts.map +1 -1
  89. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts +12 -0
  90. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-link.directive.d.ts.map +1 -1
  91. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts +15 -0
  92. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-list.directive.d.ts.map +1 -1
  93. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts +9 -0
  94. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-section.directive.d.ts.map +1 -1
  95. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts +6 -0
  96. package/components/ecl-site-footer/ecl-footer-elements/ecl-site-footer-title.directive.d.ts.map +1 -1
  97. package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts +16 -0
  98. package/components/ecl-site-footer/ecl-footer-elements/eu/ecl-site-footer-fixed-content.d.ts.map +1 -1
  99. package/components/ecl-site-footer/ecl-site-footer.component.d.ts +14 -0
  100. package/components/ecl-site-footer/ecl-site-footer.component.d.ts.map +1 -1
  101. package/components/ecl-site-header/action/ecl-site-header-action.component.d.ts +3 -0
  102. package/components/ecl-site-header/action/ecl-site-header-action.component.d.ts.map +1 -1
  103. package/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts +3 -0
  104. package/components/ecl-site-header/banner-top/ecl-site-header-banner-top.component.d.ts.map +1 -1
  105. package/components/ecl-site-header/cta/ecl-site-header-cta.directive.d.ts +4 -0
  106. package/components/ecl-site-header/cta/ecl-site-header-cta.directive.d.ts.map +1 -1
  107. package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts +17 -4
  108. package/components/ecl-site-header/custom-action/ecl-site-header-custom-action.component.d.ts.map +1 -1
  109. package/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts +4 -0
  110. package/components/ecl-site-header/ecl-site-header-environment/ecl-site-header-environment.component.d.ts.map +1 -1
  111. package/components/ecl-site-header/ecl-site-header.component.d.ts +32 -0
  112. package/components/ecl-site-header/ecl-site-header.component.d.ts.map +1 -1
  113. package/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts +50 -0
  114. package/components/ecl-site-header/language/ecl-site-header-language-popover.component.d.ts.map +1 -1
  115. package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts +54 -0
  116. package/components/ecl-site-header/language/ecl-site-header-language.component.d.ts.map +1 -1
  117. package/components/ecl-site-header/login/ecl-site-header-login-details.directive.d.ts +7 -0
  118. package/components/ecl-site-header/login/ecl-site-header-login-details.directive.d.ts.map +1 -1
  119. package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts +19 -0
  120. package/components/ecl-site-header/login/ecl-site-header-login.component.d.ts.map +1 -1
  121. package/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts +4 -0
  122. package/components/ecl-site-header/notification/ecl-site-header-notification.component.d.ts.map +1 -1
  123. package/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts +9 -0
  124. package/components/ecl-site-header/picture/ecl-site-header-picture.directive.d.ts.map +1 -1
  125. package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts +17 -0
  126. package/components/ecl-site-header/search/ecl-site-header-search.component.d.ts.map +1 -1
  127. package/components/ecl-site-header/services/ecl-area-data.service.d.ts +8 -0
  128. package/components/ecl-site-header/services/ecl-area-data.service.d.ts.map +1 -1
  129. package/components/ecl-tabs/ecl-tab-label.component.d.ts +7 -0
  130. package/components/ecl-tabs/ecl-tab-label.component.d.ts.map +1 -1
  131. package/components/ecl-tabs/ecl-tab-more.component.d.ts +11 -1
  132. package/components/ecl-tabs/ecl-tab-more.component.d.ts.map +1 -1
  133. package/components/ecl-tabs/ecl-tab.component.d.ts +65 -0
  134. package/components/ecl-tabs/ecl-tab.component.d.ts.map +1 -1
  135. package/components/ecl-tabs/ecl-tabs.component.d.ts +116 -0
  136. package/components/ecl-tabs/ecl-tabs.component.d.ts.map +1 -1
  137. package/components/ecl-tabs/events/ecl-tab-select.event.d.ts +8 -0
  138. package/components/ecl-tabs/events/ecl-tab-select.event.d.ts.map +1 -1
  139. package/docs/classes/EclAppLanguageDismissEvent.html +7 -0
  140. package/docs/classes/EclBreadcrumbSegmentClickEvent.html +7 -0
  141. package/docs/classes/EclPaginationEvent.html +22 -0
  142. package/docs/classes/EclPaginationItemClickEvent.html +7 -0
  143. package/docs/classes/EclRangeEvent.html +10 -0
  144. package/docs/classes/EclTabSelectEvent.html +10 -0
  145. package/docs/components/EclAccordionComponent.html +1 -1
  146. package/docs/components/EclAccordionItemComponent.html +1 -1
  147. package/docs/components/EclAppComponent.html +15 -1
  148. package/docs/components/EclBannerComponent.html +1 -1
  149. package/docs/components/EclBlockquoteComponent.html +1 -1
  150. package/docs/components/EclBreadcrumbComponent.html +112 -1
  151. package/docs/components/EclBreadcrumbSegmentComponent.html +99 -1
  152. package/docs/components/EclButtonComponent.html +1 -1
  153. package/docs/components/EclCardBodyComponent.html +1 -1
  154. package/docs/components/EclCardComponent.html +1 -1
  155. package/docs/components/EclCarouselComponent.html +1 -1
  156. package/docs/components/EclCarouselItemComponent.html +1 -1
  157. package/docs/components/EclCategoryFilterComponent.html +1 -1
  158. package/docs/components/EclCategoryFilterItemComponent.html +1 -1
  159. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  160. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  161. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  162. package/docs/components/EclContentBlockComponent.html +1 -1
  163. package/docs/components/EclContentItemComponent.html +1 -1
  164. package/docs/components/EclDateBlockComponent.html +1 -1
  165. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  166. package/docs/components/EclExpandableComponent.html +1 -1
  167. package/docs/components/EclFactFiguresComponent.html +1 -1
  168. package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
  169. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  170. package/docs/components/EclFactFiguresTitleComponent.html +1 -1
  171. package/docs/components/EclFactFiguresValueComponent.html +1 -1
  172. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  173. package/docs/components/EclFeaturedComponent.html +1 -1
  174. package/docs/components/EclFeaturedItemComponent.html +1 -1
  175. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  176. package/docs/components/EclFeaturedItemFooterComponent.html +1 -1
  177. package/docs/components/EclFileComponent.html +1 -1
  178. package/docs/components/EclFileItemComponent.html +1 -1
  179. package/docs/components/EclFileItemsComponent.html +1 -1
  180. package/docs/components/EclFileTaxonomyComponent.html +1 -1
  181. package/docs/components/EclFormGroupComponent.html +1 -1
  182. package/docs/components/EclFormLabelComponent.html +1 -1
  183. package/docs/components/EclGalleryComponent.html +1 -1
  184. package/docs/components/EclGalleryFooterComponent.html +1 -1
  185. package/docs/components/EclGalleryItemComponent.html +1 -1
  186. package/docs/components/EclIconComponent.html +1 -1
  187. package/docs/components/EclInpageNavigationComponent.html +1 -1
  188. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  189. package/docs/components/EclListIllustrationComponent.html +1 -1
  190. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  191. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  192. package/docs/components/EclMediaContainerComponent.html +35 -1
  193. package/docs/components/EclMegaMenuComponent.html +1 -1
  194. package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
  195. package/docs/components/EclMegaMenuInfoComponent.html +1 -1
  196. package/docs/components/EclMegaMenuItemComponent.html +1 -1
  197. package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
  198. package/docs/components/EclMenuComponent.html +121 -49
  199. package/docs/components/EclMenuItemComponent.html +95 -1
  200. package/docs/components/EclMenuMegaComponent.html +27 -1
  201. package/docs/components/EclMenuMegaItemComponent.html +63 -1
  202. package/docs/components/EclModalBodyComponent.html +1 -1
  203. package/docs/components/EclModalComponent.html +1 -1
  204. package/docs/components/EclModalFooterComponent.html +1 -1
  205. package/docs/components/EclModalHeaderComponent.html +1 -1
  206. package/docs/components/EclMultiselectComponent.html +118 -1
  207. package/docs/components/EclMultiselectDropdownComponent.html +205 -1
  208. package/docs/components/EclMultiselectInputComponent.html +172 -1
  209. package/docs/components/EclMultiselectOptgroupComponent.html +32 -1
  210. package/docs/components/EclMultiselectOptionComponent.html +83 -1
  211. package/docs/components/EclNavigationListComponent.html +27 -1
  212. package/docs/components/EclNavigationListItemComponent.html +26 -1
  213. package/docs/components/EclNewsTickerComponent.html +1 -1
  214. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  215. package/docs/components/EclNotificationComponent.html +1 -1
  216. package/docs/components/EclPageHeaderComponent.html +52 -1
  217. package/docs/components/EclPaginationComponent.html +110 -1
  218. package/docs/components/EclPaginationItemComponent.html +112 -1
  219. package/docs/components/EclPopoverComponent.html +1 -1
  220. package/docs/components/EclRadioHelpComponent.html +35 -1
  221. package/docs/components/EclRadioLabelComponent.html +41 -1
  222. package/docs/components/EclRangeBubbleComponent.html +57 -1
  223. package/docs/components/EclRangeValueComponent.html +40 -1
  224. package/docs/components/EclRatingFieldComponent.html +1 -1
  225. package/docs/components/EclSearchFormComponent.html +1 -1
  226. package/docs/components/EclSelectContainerComponent.html +1 -1
  227. package/docs/components/EclSiteFooterComponent.html +34 -1
  228. package/docs/components/EclSiteFooterFixedContentECComponent.html +33 -1
  229. package/docs/components/EclSiteFooterFixedContentEUComponent.html +33 -1
  230. package/docs/components/EclSiteHeaderActionComponent.html +8 -1
  231. package/docs/components/EclSiteHeaderBannerTopComponent.html +8 -1
  232. package/docs/components/EclSiteHeaderComponent.html +59 -2
  233. package/docs/components/EclSiteHeaderCustomActionComponent.html +35 -55
  234. package/docs/components/EclSiteHeaderEnvironmentComponent.html +9 -1
  235. package/docs/components/EclSiteHeaderLanguageComponent.html +95 -1
  236. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +105 -1
  237. package/docs/components/EclSiteHeaderLoginComponent.html +34 -1
  238. package/docs/components/EclSiteHeaderNotificationComponent.html +9 -1
  239. package/docs/components/EclSiteHeaderSearchComponent.html +37 -1
  240. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  241. package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
  242. package/docs/components/EclSocialMediaShareComponent.html +1 -1
  243. package/docs/components/EclSocialMediaShareItemComponent.html +1 -1
  244. package/docs/components/EclSplashPageComponent.html +1 -1
  245. package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
  246. package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
  247. package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
  248. package/docs/components/EclStickyContainerComponent.html +1 -1
  249. package/docs/components/EclTabComponent.html +123 -1
  250. package/docs/components/EclTabLabelComponent.html +11 -1
  251. package/docs/components/EclTabMoreComponent.html +36 -2
  252. package/docs/components/EclTableSortButtonComponent.html +1 -1
  253. package/docs/components/EclTabsComponent.html +200 -1
  254. package/docs/components/EclTagComponent.html +1 -1
  255. package/docs/components/EclTimelineComponent.html +1 -1
  256. package/docs/components/EclTimelineItemComponent.html +1 -1
  257. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  258. package/docs/dependencies.html +2 -2
  259. package/docs/directives/EclBreadcrumbContainerDirective.html +19 -0
  260. package/docs/directives/EclMediaContainerIframeDirective.html +7 -0
  261. package/docs/directives/EclMediaContainerItemAudioDescriptionDirective.html +7 -0
  262. package/docs/directives/EclMediaContainerItemDirective.html +7 -0
  263. package/docs/directives/EclMediaContainerPictureDirective.html +7 -0
  264. package/docs/directives/EclMultiselectOptionDirective.html +85 -0
  265. package/docs/directives/EclNavigationListImageDirective.html +7 -0
  266. package/docs/directives/EclNavigationListPictureDirective.html +7 -0
  267. package/docs/directives/EclPageHeaderBackgroundImageDirective.html +19 -0
  268. package/docs/directives/EclPageHeaderBackgroundPictureDirective.html +19 -0
  269. package/docs/directives/EclPageHeaderDescriptionContainerDirective.html +19 -0
  270. package/docs/directives/EclPageHeaderDescriptionDirective.html +19 -0
  271. package/docs/directives/EclPageHeaderDescriptionPictureDirective.html +19 -0
  272. package/docs/directives/EclPageHeaderDescriptionThumbnailDirective.html +20 -1
  273. package/docs/directives/EclPageHeaderInfoDirective.html +19 -0
  274. package/docs/directives/EclPageHeaderMetaDirective.html +19 -0
  275. package/docs/directives/EclPageHeaderMetaItemDirective.html +19 -0
  276. package/docs/directives/EclPageHeaderTitleDirective.html +34 -0
  277. package/docs/directives/EclPaginationListDirective.html +20 -0
  278. package/docs/directives/EclRadioDirective.html +60 -0
  279. package/docs/directives/EclRadioInputDirective.html +36 -0
  280. package/docs/directives/EclRangeDirective.html +92 -0
  281. package/docs/directives/EclSiteFooterColumnDirective.html +7 -0
  282. package/docs/directives/EclSiteFooterContentDirective.html +21 -6
  283. package/docs/directives/EclSiteFooterDescriptionDirective.html +7 -0
  284. package/docs/directives/EclSiteFooterLinkDirective.html +7 -0
  285. package/docs/directives/EclSiteFooterListDirective.html +7 -0
  286. package/docs/directives/EclSiteFooterListItemDirective.html +7 -0
  287. package/docs/directives/EclSiteFooterLogoDirective.html +9 -1
  288. package/docs/directives/EclSiteFooterLogoImageDirective.html +7 -0
  289. package/docs/directives/EclSiteFooterLogoItemDirective.html +9 -1
  290. package/docs/directives/EclSiteFooterLogoLinkDirective.html +7 -0
  291. package/docs/directives/EclSiteFooterLogoListDirective.html +9 -1
  292. package/docs/directives/EclSiteFooterPictureDirective.html +7 -0
  293. package/docs/directives/EclSiteFooterRowDirective.html +7 -0
  294. package/docs/directives/EclSiteFooterSectionDirective.html +14 -1
  295. package/docs/directives/EclSiteFooterTitleDirective.html +7 -0
  296. package/docs/directives/EclSiteFooterTitleLinkDirective.html +7 -0
  297. package/docs/directives/EclSiteHeaderCtaDirective.html +8 -0
  298. package/docs/directives/EclSiteHeaderImageDirective.html +7 -0
  299. package/docs/directives/EclSiteHeaderLinkDirective.html +7 -0
  300. package/docs/directives/EclSiteHeaderLoginDescriptionDirective.html +7 -0
  301. package/docs/directives/EclSiteHeaderLoginSeparatorDirective.html +8 -0
  302. package/docs/directives/EclSiteHeaderPictureDirective.html +7 -0
  303. package/docs/injectables/EclAreaDataService.html +10 -0
  304. package/docs/js/menu-wc.js +4 -4
  305. package/docs/js/menu-wc_es5.js +1 -1
  306. package/docs/js/search/search_index.js +2 -2
  307. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  308. package/fesm2022/eui-ecl-components-ecl-app.mjs +11 -0
  309. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  310. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  311. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  312. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +82 -2
  313. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  314. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  315. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  316. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  317. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  318. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  319. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  320. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  321. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  322. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  323. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  324. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  325. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  326. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  327. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  328. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  329. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  330. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  331. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  332. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  333. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  334. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  335. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  336. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  337. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  338. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  339. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  340. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +29 -0
  341. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  342. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  343. package/fesm2022/eui-ecl-components-ecl-menu.mjs +152 -18
  344. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  345. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  346. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +270 -1
  347. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  348. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +27 -0
  349. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  350. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  351. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  352. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +107 -3
  353. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  354. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +127 -1
  355. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  356. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  357. package/fesm2022/eui-ecl-components-ecl-radio.mjs +71 -1
  358. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  359. package/fesm2022/eui-ecl-components-ecl-range.mjs +68 -1
  360. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  361. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  362. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  363. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  364. package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
  365. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +85 -2
  366. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  367. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +182 -10
  368. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  369. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  370. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
  371. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  372. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  373. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  374. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +177 -1
  375. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  376. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  377. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  378. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  379. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  380. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  381. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  382. package/package.json +2 -2
@@ -63,6 +63,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
63
63
  }]
64
64
  }] });
65
65
 
66
+ /**
67
+ * Component representing a single selectable option in the multiselect dropdown.
68
+ */
66
69
  class EclMultiselectOptionComponent extends ECLBaseDirective {
67
70
  set value(value) {
68
71
  this._value = value;
@@ -73,6 +76,9 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
73
76
  get cssClasses() {
74
77
  return [super.getCssClasses('ecl-checkbox')].join(' ').trim();
75
78
  }
79
+ /**
80
+ * Indicates whether the option is selected.
81
+ */
76
82
  get isChecked() {
77
83
  return this._checked;
78
84
  }
@@ -84,17 +90,32 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
84
90
  this.renderer = renderer;
85
91
  this.keyword = '';
86
92
  this.changes = new Subject();
93
+ /**
94
+ * Disables the option when true.
95
+ */
87
96
  this.disabled = false;
97
+ /**
98
+ * Emits when the option is clicked.
99
+ */
88
100
  this.optionClick = new EventEmitter();
101
+ /**
102
+ * Emits when a key is pressed while focused on the option.
103
+ */
89
104
  this.optionKeydown = new EventEmitter();
90
105
  this.display = 'flex';
91
106
  this._id = '';
92
107
  this._checked = false;
93
108
  this._value = '';
94
109
  }
110
+ /**
111
+ * Returns the unique identifier for the option.
112
+ */
95
113
  get id() {
96
114
  return this._id;
97
115
  }
116
+ /**
117
+ * Indicates whether the option is active (visible and not disabled).
118
+ */
98
119
  get isActive() {
99
120
  return this.display === 'flex' && !this.disabled;
100
121
  }
@@ -107,22 +128,40 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
107
128
  ngOnDestroy() {
108
129
  this.changes.complete();
109
130
  }
131
+ /**
132
+ * Toggles the selected state and emits the optionClick event.
133
+ */
110
134
  onOptionClick() {
111
135
  this.isChecked = !this.isChecked;
112
136
  this.optionClick.emit(new EclMultiselectOptionClickEvent(this));
113
137
  }
138
+ /**
139
+ * Emits the optionKeydown event when a key is pressed.
140
+ */
114
141
  onOptionKeydown(evt) {
115
142
  this.optionKeydown.emit(new EclMultiselectOptionKeydownEvent(this, evt));
116
143
  }
144
+ /**
145
+ * Focuses the checkbox input.
146
+ */
117
147
  onFocus() {
118
148
  this.renderer.selectRootElement(this.eclCheckboxInput.nativeElement, true).focus();
119
149
  }
150
+ /**
151
+ * Makes the option visible.
152
+ */
120
153
  show() {
121
154
  this.display = 'flex';
122
155
  }
156
+ /**
157
+ * Hides the option from view.
158
+ */
123
159
  hide() {
124
160
  this.display = 'none';
125
161
  }
162
+ /**
163
+ * Sets the keyword for search highlighting.
164
+ */
126
165
  highlightSearchText(keyword) {
127
166
  this.keyword = keyword;
128
167
  const re = new RegExp(keyword, 'gi');
@@ -173,40 +212,98 @@ class EclMultiselectMainInputClickEvent {
173
212
  }
174
213
  }
175
214
 
215
+ /**
216
+ * Component representing the main input of a multiselect component.
217
+ * Handles displaying selected items, opening the dropdown, and managing accessibility.
218
+ */
176
219
  class EclMultiselectInputComponent extends ECLBaseDirective {
220
+ /**
221
+ * CSS classes for the component, including size and inherited classes.
222
+ */
177
223
  get cssClasses() {
178
- return [super.getCssClasses('ecl-select__container'), `ecl-select__container--${this.eclSize}`].join(' ').trim();
224
+ return [
225
+ super.getCssClasses('ecl-select__container'),
226
+ `ecl-select__container--${this.eclSize}`,
227
+ ].join(' ').trim();
179
228
  }
180
229
  constructor(eclThemeService, renderer) {
181
230
  super();
182
231
  this.eclThemeService = eclThemeService;
183
232
  this.renderer = renderer;
233
+ /**
234
+ * Size modifier for the multiselect input (e.g., 's', 'm', 'l').
235
+ */
184
236
  this.eclSize = 'm';
237
+ /**
238
+ * Label for the toggle button (optional).
239
+ */
185
240
  this.toggleLabel = undefined;
241
+ /**
242
+ * Marks the component as disabled.
243
+ */
186
244
  this.isDisabled = false;
245
+ /**
246
+ * Marks the component as being in an invalid state.
247
+ */
187
248
  this.isInvalid = false;
249
+ /**
250
+ * Array of currently selected item labels.
251
+ */
188
252
  this.selectedItems = [];
253
+ /**
254
+ * Indicates that the dropdown is currently expanded.
255
+ */
189
256
  this.isDropdownExpanded = false;
257
+ /**
258
+ * ARIA controls attribute for accessibility.
259
+ */
190
260
  this.ariaControls = undefined;
261
+ /**
262
+ * ARIA describedby attribute for accessibility.
263
+ */
191
264
  this.ariaDescribedby = undefined;
265
+ /**
266
+ * ARIA labelledby attribute for accessibility.
267
+ */
192
268
  this.ariaLabeledby = undefined;
269
+ /**
270
+ * Event emitted when the input is clicked.
271
+ */
193
272
  this.mainInputClick = new EventEmitter();
273
+ /**
274
+ * Event emitted when a key is pressed on the input.
275
+ */
194
276
  this.mainInputKeydown = new EventEmitter();
195
277
  this.ICON_SIZE_FOR_EC_THEME_ON = 'xs';
196
278
  this.ICON_SIZE_FOR_EU_THEME_ON = 's';
197
279
  }
280
+ /**
281
+ * Returns the label text shown inside the button.
282
+ */
198
283
  get buttonText() {
199
284
  return this.selectedItems.length === 0 ? this.inputPlaceholder : this.selectedItems.join(',');
200
285
  }
286
+ /**
287
+ * Returns the count of selected items.
288
+ */
201
289
  get selectedItemsCount() {
202
290
  return this.selectedItems.length;
203
291
  }
292
+ /**
293
+ * Displays a count badge when items are selected.
294
+ */
204
295
  get isShowCounter() {
205
296
  return this.selectedItems && this.selectedItems.length > 0;
206
297
  }
298
+ /**
299
+ * Indicates that the dropdown is expanded (active).
300
+ */
207
301
  get isActive() {
208
302
  return this.isDropdownExpanded;
209
303
  }
304
+ /**
305
+ * Returns icon size depending on the theme.
306
+ */
210
307
  get sizeIcon() {
211
308
  if (this.eclThemeService.isECTheme()) {
212
309
  return this.ICON_SIZE_FOR_EC_THEME_ON;
@@ -215,9 +312,16 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
215
312
  return this.ICON_SIZE_FOR_EU_THEME_ON;
216
313
  }
217
314
  }
315
+ /**
316
+ * Handles click on the input container. Emits custom event with original DOM event.
317
+ */
218
318
  onClick(evt) {
219
319
  this.mainInputClick.emit(new EclMultiselectMainInputClickEvent(evt));
220
320
  }
321
+ /**
322
+ * Handles keydown events on the input.
323
+ * Only emits event on ArrowDown, Enter, or Space keys.
324
+ */
221
325
  onKeydown(evt) {
222
326
  switch (evt.key) {
223
327
  case KeyCode.ARROW_DOWN:
@@ -232,6 +336,9 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
232
336
  }
233
337
  }
234
338
  }
339
+ /**
340
+ * Focuses the multiselect input element.
341
+ */
235
342
  onFocus() {
236
343
  this.renderer.selectRootElement(this.inputMultiselect.nativeElement, true).focus();
237
344
  }
@@ -283,7 +390,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
283
390
  type: Output
284
391
  }] } });
285
392
 
393
+ /**
394
+ * Component representing an option group (fieldset) in a multiselect component.
395
+ * Used to group related options under a common label.
396
+ */
286
397
  class EclMultiselectOptgroupComponent extends ECLBaseDirective {
398
+ /**
399
+ * Returns the computed CSS classes for the optgroup container.
400
+ */
287
401
  get cssClasses() {
288
402
  return [super.getCssClasses('ecl-select__multiple-group')].join(' ').trim();
289
403
  }
@@ -300,16 +414,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
300
414
  args: ['class']
301
415
  }] } });
302
416
 
417
+ /**
418
+ * Component that renders a dropdown-style multiselect UI element.
419
+ * Used internally by the `EclMultiselectComponent`.
420
+ */
303
421
  class EclMultiselectDropdownComponent extends ECLBaseDirective {
422
+ /**
423
+ * Marks the component as visually invalid.
424
+ */
304
425
  get isInvalid() {
305
426
  return this._isInvalid;
306
427
  }
307
428
  set isInvalid(value) {
308
429
  this._isInvalid = value;
309
430
  }
431
+ /**
432
+ * Adds the ECL base CSS class for multiselect dropdowns.
433
+ */
310
434
  get cssClasses() {
311
435
  return [super.getCssClasses('ecl-select__multiple')].join(' ').trim();
312
436
  }
437
+ /**
438
+ * Disables the component when true.
439
+ */
313
440
  get disabled() {
314
441
  return this._disabled || undefined;
315
442
  }
@@ -321,19 +448,61 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
321
448
  this.elRef = elRef;
322
449
  this.differs = differs;
323
450
  this.renderer = renderer;
451
+ /**
452
+ * Emits the list of selected values whenever the selection changes.
453
+ */
324
454
  this.eclChange = new EventEmitter();
455
+ /**
456
+ * Placeholder for the main multiselect input.
457
+ */
325
458
  this.mainInputPlaceholder = 'Select an item';
459
+ /**
460
+ * Placeholder for the search field input.
461
+ */
326
462
  this.searchFieldPlaceholder = 'Enter filter keyword';
463
+ /**
464
+ * Size of the multiselect dropdown (e.g., 'm', 'l').
465
+ */
327
466
  this.eclSize = 'm';
467
+ /**
468
+ * Optional ARIA description used for accessibility purposes.
469
+ */
328
470
  this.ariaDescribedby = undefined;
471
+ /**
472
+ * Optional ARIA label reference for screen readers.
473
+ */
329
474
  this.ariaLabeledby = undefined;
475
+ /**
476
+ * Label displayed for the toggle button to assist screen readers.
477
+ */
330
478
  this.toggleLabel = undefined;
479
+ /**
480
+ * Enables the search box in the dropdown interface.
481
+ */
331
482
  this.hasSearchBox = true;
483
+ /**
484
+ * Displays the "Select all" checkbox above the list of options.
485
+ */
332
486
  this.hasSelectAll = true;
487
+ /**
488
+ * Optional identifier used for the dropdown element.
489
+ */
333
490
  this.id = '';
491
+ /**
492
+ * Indicates that the "no results found" message should be displayed.
493
+ */
334
494
  this.isShowNoResultsFound = false;
495
+ /**
496
+ * Controls the visibility of the multiselect dropdown.
497
+ */
335
498
  this.isShowMultiselectDropdown = false;
499
+ /**
500
+ * List of option directives currently rendered in the dropdown.
501
+ */
336
502
  this.multiOptionDirectives = [];
503
+ /**
504
+ * Total number of options available in the dropdown list.
505
+ */
337
506
  this.optionsCount = 0;
338
507
  this.dropdownId = '';
339
508
  this.isSelectAllDisabled = null;
@@ -380,6 +549,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
380
549
  this.destroy$.next(true);
381
550
  this.destroy$.unsubscribe();
382
551
  }
552
+ /**
553
+ * Writes a new value to the component from the outside (e.g., form model).
554
+ * Required by ControlValueAccessor.
555
+ */
383
556
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
384
557
  writeValue(values) {
385
558
  if (this.multiOptionComponents && this.multiOptionComponents.length > 0) {
@@ -391,14 +564,26 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
391
564
  this.isWriteValueCalled = true;
392
565
  }
393
566
  }
567
+ /**
568
+ * Registers a callback function to be called when the value changes.
569
+ * Required by ControlValueAccessor.
570
+ */
394
571
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
395
572
  registerOnChange(fn) {
396
573
  this.propagateChange = fn;
397
574
  }
575
+ /**
576
+ * Registers a callback function to be called when the component is touched.
577
+ * Required by ControlValueAccessor.
578
+ */
398
579
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
399
580
  registerOnTouched(fn) {
400
581
  this.propagateTouched = fn;
401
582
  }
583
+ /**
584
+ * Enables or disables the component.
585
+ * Required by ControlValueAccessor.
586
+ */
402
587
  setDisabledState(isDisabled) {
403
588
  this._disabled = isDisabled;
404
589
  }
@@ -410,12 +595,21 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
410
595
  this.hideMultiselectDropdown();
411
596
  }
412
597
  }
598
+ /**
599
+ * Gets labels of currently selected options.
600
+ */
413
601
  get selectedItems() {
414
602
  return this._selectedItems.map((item) => item.label);
415
603
  }
604
+ /**
605
+ * Indicates if any options are currently selected.
606
+ */
416
607
  get isItemsSelected() {
417
608
  return this._selectedItems.length > 0;
418
609
  }
610
+ /**
611
+ * Controls the visibility of the multiselect toolbar.
612
+ */
419
613
  get isShowToolbar() {
420
614
  return this._selectedItems.length > 0;
421
615
  }
@@ -523,6 +717,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
523
717
  evt.preventDefault();
524
718
  evt.target.click();
525
719
  }
720
+ /**
721
+ * Handles search input, filters options, and updates their visibility.
722
+ */
526
723
  onSearch(input) {
527
724
  const keyword = input.value;
528
725
  let isMatchFound = false;
@@ -554,6 +751,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
554
751
  this.hideNoResultsFound();
555
752
  }
556
753
  }
754
+ /**
755
+ * Toggles all visible options based on the "Select All" checkbox.
756
+ */
557
757
  onSelectAll() {
558
758
  if (this.selectAllCheckbox.nativeElement.checked) {
559
759
  this.selectAllActiveOptions();
@@ -565,6 +765,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
565
765
  this.eclChange.emit(this._selectedItems.map((item) => item.value));
566
766
  this.propagateChange(this._selectedItems.map((item) => item.value));
567
767
  }
768
+ /**
769
+ * Handles keyboard interaction on option items.
770
+ * Supports arrow keys, tab, escape, and enter.
771
+ */
568
772
  onKeydownOption(evt) {
569
773
  switch (evt.keyboardEvent.key) {
570
774
  case KeyCode.ARROW_DOWN: {
@@ -594,6 +798,10 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
594
798
  }
595
799
  }
596
800
  }
801
+ /**
802
+ * Triggered when a single option is clicked/selected.
803
+ * Updates selected items, emits changes.
804
+ */
597
805
  onOptionSelected(evt) {
598
806
  if (this.selectAllCheckbox && this.selectAllCheckbox.nativeElement.checked) {
599
807
  this.renderer.setProperty(this.selectAllCheckbox.nativeElement, 'checked', false);
@@ -791,29 +999,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
791
999
  args: ['document:click', ['$event']]
792
1000
  }] } });
793
1001
 
1002
+ /**
1003
+ * Directive used to decorate <option> and <optgroup> elements within a multiselect.
1004
+ * Adds support for value, label, disabled, selected states and styling.
1005
+ */
794
1006
  class EclMultiselectOptionDirective extends ECLBaseDirective {
1007
+ /**
1008
+ * Indicates that the option is disabled.
1009
+ */
795
1010
  get disabled() {
796
1011
  return this._disabled || null;
797
1012
  }
798
1013
  set disabled(value) {
799
1014
  this._disabled = coerceBooleanProperty(value);
800
1015
  }
1016
+ /**
1017
+ * Indicates that the option is selected.
1018
+ */
801
1019
  get selected() {
802
1020
  return this._selected || null;
803
1021
  }
804
1022
  set selected(value) {
805
1023
  this._selected = coerceBooleanProperty(value);
806
1024
  }
1025
+ /**
1026
+ * Applies ECL checkbox styling class to the option.
1027
+ */
807
1028
  get cssClasses() {
808
1029
  return [super.getCssClasses('ecl-checkbox')].join(' ').trim();
809
1030
  }
810
1031
  constructor(elRef) {
811
1032
  super();
812
1033
  this.elRef = elRef;
1034
+ /**
1035
+ * Emits whenever the option's state changes (used internally).
1036
+ */
813
1037
  this.changes = new Subject();
814
1038
  this._disabled = false;
815
1039
  this._selected = false;
816
1040
  }
1041
+ /**
1042
+ * Returns true if this directive is applied to an <optgroup> element.
1043
+ */
817
1044
  isOptGroup() {
818
1045
  return this.elRef.nativeElement.nodeName === 'OPTGROUP';
819
1046
  }
@@ -848,7 +1075,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
848
1075
  args: ['class']
849
1076
  }] } });
850
1077
 
1078
+ /**
1079
+ * Component representing a custom multiselect input using the ECL design system.
1080
+ *
1081
+ * Should be used on a native <select> element to enhance it with ECL multiselect behavior.
1082
+ * Replaces the original element with a custom dropdown rendered dynamically.
1083
+ */
851
1084
  class EclMultiselectComponent extends ECLBaseDirective {
1085
+ /**
1086
+ * Marks the multiselect as invalid.
1087
+ */
852
1088
  get isInvalid() {
853
1089
  return this._isInvalid;
854
1090
  }
@@ -858,6 +1094,9 @@ class EclMultiselectComponent extends ECLBaseDirective {
858
1094
  this.multiselectComponent.isInvalid = value;
859
1095
  }
860
1096
  }
1097
+ /**
1098
+ * Disables the multiselect component when set to true.
1099
+ */
861
1100
  set disabled(value) {
862
1101
  if (this.multiselectComponent) {
863
1102
  this.multiselectComponent.disabled = coerceBooleanProperty(value);
@@ -867,21 +1106,33 @@ class EclMultiselectComponent extends ECLBaseDirective {
867
1106
  get disabled() {
868
1107
  return this._disabled || undefined;
869
1108
  }
1109
+ /**
1110
+ * CSS classes applied to the host element.
1111
+ */
870
1112
  get cssClasses() {
871
1113
  return [super.getCssClasses('ecl-select')].join(' ').trim();
872
1114
  }
1115
+ /**
1116
+ * Enables the search box within the dropdown.
1117
+ */
873
1118
  set hasSearchBox(value) {
874
1119
  if (this.multiselectComponent) {
875
1120
  this.multiselectComponent.hasSearchBox = coerceBooleanProperty(value);
876
1121
  }
877
1122
  this._hasSearchBox = coerceBooleanProperty(value);
878
1123
  }
1124
+ /**
1125
+ * Displays the "Select all" option in the dropdown.
1126
+ */
879
1127
  set hasSelectAll(value) {
880
1128
  if (this.multiselectComponent) {
881
1129
  this.multiselectComponent.hasSelectAll = coerceBooleanProperty(value);
882
1130
  }
883
1131
  this._hasSelectAll = coerceBooleanProperty(value);
884
1132
  }
1133
+ /**
1134
+ * Placeholder text to show in the multiselect input field when no options are selected.
1135
+ */
885
1136
  set eclPlaceholder(value) {
886
1137
  this._eclPlaceholder = value;
887
1138
  if (this.multiselectComponent) {
@@ -899,11 +1150,29 @@ class EclMultiselectComponent extends ECLBaseDirective {
899
1150
  this.differs = differs;
900
1151
  this.renderer = renderer;
901
1152
  this.platformId = platformId;
1153
+ /**
1154
+ * Defines the `aria-describedby` attribute for accessibility.
1155
+ */
902
1156
  this.ariaDescribedby = undefined;
1157
+ /**
1158
+ * Defines the `aria-labelledby` attribute for accessibility.
1159
+ */
903
1160
  this.ariaLabeledby = undefined;
1161
+ /**
1162
+ * Sets the `id` attribute of the multiselect component.
1163
+ */
904
1164
  this.id = undefined;
1165
+ /**
1166
+ * Label used for the toggle button that expands or collapses the dropdown.
1167
+ */
905
1168
  this.toggleLabel = undefined;
1169
+ /**
1170
+ * Emits an array of selected option values when the selection changes.
1171
+ */
906
1172
  this.eclChange = new EventEmitter();
1173
+ /**
1174
+ * Multiselect size: 's' | 'm' | 'l'. Default is 'm'.
1175
+ */
907
1176
  this.eclSize = 'm';
908
1177
  this.SELECT_CONTAINER_CLASS = 'ecl-select__container';
909
1178
  this.SELECT_CONTAINER_HIDDEN_CLASS = 'ecl-select__container--hidden';