@eui/ecl 21.0.0-alpha.32 → 21.0.0-alpha.33

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 (497) hide show
  1. package/components/ecl-accordion/package.json +2 -1
  2. package/components/ecl-app/package.json +2 -1
  3. package/components/ecl-banner/package.json +2 -1
  4. package/components/ecl-blockquote/package.json +2 -1
  5. package/components/ecl-breadcrumb/package.json +2 -1
  6. package/components/ecl-button/package.json +2 -1
  7. package/components/ecl-card/package.json +2 -1
  8. package/components/ecl-carousel/package.json +2 -1
  9. package/components/ecl-category-filter/package.json +2 -1
  10. package/components/ecl-checkbox/package.json +2 -1
  11. package/components/ecl-content-block/package.json +2 -1
  12. package/components/ecl-content-item/package.json +2 -1
  13. package/components/ecl-date-block/package.json +2 -1
  14. package/components/ecl-date-picker/package.json +2 -1
  15. package/components/ecl-divider/package.json +2 -1
  16. package/components/ecl-expandable/package.json +2 -1
  17. package/components/ecl-fact-figures/package.json +2 -1
  18. package/components/ecl-featured/package.json +2 -1
  19. package/components/ecl-feedback-message/package.json +2 -1
  20. package/components/ecl-file/package.json +2 -1
  21. package/components/ecl-file-upload/package.json +2 -1
  22. package/components/ecl-form-group/package.json +2 -1
  23. package/components/ecl-form-label/package.json +2 -1
  24. package/components/ecl-gallery/package.json +2 -1
  25. package/components/ecl-help-block/package.json +2 -1
  26. package/components/ecl-icon/package.json +2 -1
  27. package/components/ecl-inpage-navigation/package.json +2 -1
  28. package/components/ecl-label/package.json +2 -1
  29. package/components/ecl-link/package.json +2 -1
  30. package/components/ecl-list/package.json +2 -1
  31. package/components/ecl-list-illustration/package.json +2 -1
  32. package/components/ecl-loading-indicator/package.json +2 -1
  33. package/components/ecl-media-container/package.json +2 -1
  34. package/components/ecl-mega-menu/package.json +2 -1
  35. package/components/ecl-menu/package.json +2 -1
  36. package/components/ecl-modal/package.json +2 -1
  37. package/components/ecl-multiselect/package.json +2 -1
  38. package/components/ecl-navigation-list/package.json +2 -1
  39. package/components/ecl-news-ticker/package.json +2 -1
  40. package/components/ecl-notification/package.json +2 -1
  41. package/components/ecl-page-header/package.json +2 -1
  42. package/components/ecl-pagination/package.json +2 -1
  43. package/components/ecl-popover/package.json +2 -1
  44. package/components/ecl-radio/package.json +2 -1
  45. package/components/ecl-range/package.json +2 -1
  46. package/components/ecl-rating-field/package.json +2 -1
  47. package/components/ecl-search-form/package.json +2 -1
  48. package/components/ecl-select/package.json +2 -1
  49. package/components/ecl-site-footer/package.json +2 -1
  50. package/components/ecl-site-header/package.json +2 -1
  51. package/components/ecl-social-media-follow/package.json +2 -1
  52. package/components/ecl-splash-page/package.json +2 -1
  53. package/components/ecl-sticky-container/package.json +2 -1
  54. package/components/ecl-table/package.json +2 -1
  55. package/components/ecl-tabs/package.json +2 -1
  56. package/components/ecl-tag/package.json +2 -1
  57. package/components/ecl-text-area/package.json +2 -1
  58. package/components/ecl-text-input/package.json +2 -1
  59. package/components/ecl-timeline/package.json +2 -1
  60. package/core/package.json +2 -1
  61. package/docs/changelog.html +116 -0
  62. package/docs/components/EclAccordionComponent.html +1 -1
  63. package/docs/components/EclAccordionItemComponent.html +1 -1
  64. package/docs/components/EclAppComponent.html +1 -1
  65. package/docs/components/EclBannerComponent.html +1 -1
  66. package/docs/components/EclBlockquoteComponent.html +1 -1
  67. package/docs/components/EclBreadcrumbComponent.html +1 -1
  68. package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
  69. package/docs/components/EclButtonComponent.html +1 -1
  70. package/docs/components/EclCardBodyComponent.html +1 -1
  71. package/docs/components/EclCardComponent.html +1 -1
  72. package/docs/components/EclCarouselComponent.html +1 -1
  73. package/docs/components/EclCarouselItemComponent.html +1 -1
  74. package/docs/components/EclCategoryFilterComponent.html +1 -1
  75. package/docs/components/EclCategoryFilterItemComponent.html +1 -1
  76. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  77. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  78. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  79. package/docs/components/EclContentBlockComponent.html +1 -1
  80. package/docs/components/EclContentItemComponent.html +1 -1
  81. package/docs/components/EclDateBlockComponent.html +1 -1
  82. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  83. package/docs/components/EclExpandableComponent.html +1 -1
  84. package/docs/components/EclFactFiguresComponent.html +1 -1
  85. package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
  86. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  87. package/docs/components/EclFactFiguresTitleComponent.html +1 -1
  88. package/docs/components/EclFactFiguresValueComponent.html +1 -1
  89. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  90. package/docs/components/EclFeaturedComponent.html +1 -1
  91. package/docs/components/EclFeaturedItemComponent.html +1 -1
  92. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  93. package/docs/components/EclFileComponent.html +1 -1
  94. package/docs/components/EclFileItemComponent.html +1 -1
  95. package/docs/components/EclFileItemsComponent.html +1 -1
  96. package/docs/components/EclFileTaxonomyComponent.html +1 -1
  97. package/docs/components/EclFormGroupComponent.html +1 -1
  98. package/docs/components/EclFormLabelComponent.html +2 -2
  99. package/docs/components/EclGalleryComponent.html +1 -1
  100. package/docs/components/EclGalleryFooterComponent.html +1 -1
  101. package/docs/components/EclGalleryItemComponent.html +1 -1
  102. package/docs/components/EclIconComponent.html +1 -1
  103. package/docs/components/EclInpageNavigationComponent.html +1 -1
  104. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  105. package/docs/components/EclListIllustrationComponent.html +1 -1
  106. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  107. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  108. package/docs/components/EclMediaContainerComponent.html +1 -1
  109. package/docs/components/EclMegaMenuComponent.html +30 -1
  110. package/docs/components/EclMegaMenuFeaturedComponent.html +82 -6
  111. package/docs/components/EclMegaMenuInfoComponent.html +1 -1
  112. package/docs/components/EclMegaMenuItemComponent.html +105 -42
  113. package/docs/components/EclMegaMenuSubitemComponent.html +24 -42
  114. package/docs/components/EclMenuComponent.html +1 -1
  115. package/docs/components/EclMenuItemComponent.html +1 -1
  116. package/docs/components/EclMenuMegaComponent.html +1 -1
  117. package/docs/components/EclMenuMegaItemComponent.html +1 -1
  118. package/docs/components/EclModalBodyComponent.html +1 -1
  119. package/docs/components/EclModalComponent.html +1 -1
  120. package/docs/components/EclModalFooterComponent.html +1 -1
  121. package/docs/components/EclModalHeaderComponent.html +1 -1
  122. package/docs/components/EclMultiselectComponent.html +1 -1
  123. package/docs/components/EclMultiselectDropdownComponent.html +1 -1
  124. package/docs/components/EclMultiselectInputComponent.html +1 -1
  125. package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
  126. package/docs/components/EclMultiselectOptionComponent.html +1 -1
  127. package/docs/components/EclNavigationListComponent.html +1 -1
  128. package/docs/components/EclNavigationListItemComponent.html +1 -1
  129. package/docs/components/EclNewsTickerComponent.html +1 -1
  130. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  131. package/docs/components/EclNotificationComponent.html +1 -1
  132. package/docs/components/EclPageHeaderComponent.html +1 -1
  133. package/docs/components/EclPaginationComponent.html +1 -1
  134. package/docs/components/EclPaginationItemComponent.html +1 -1
  135. package/docs/components/EclPopoverComponent.html +1 -1
  136. package/docs/components/EclRadioHelpComponent.html +1 -1
  137. package/docs/components/EclRadioLabelComponent.html +1 -1
  138. package/docs/components/EclRangeBubbleComponent.html +1 -1
  139. package/docs/components/EclRangeValueComponent.html +1 -1
  140. package/docs/components/EclRatingFieldComponent.html +1 -1
  141. package/docs/components/EclSearchFormComponent.html +1 -1
  142. package/docs/components/EclSelectContainerComponent.html +1 -1
  143. package/docs/components/EclSiteFooterComponent.html +1 -1
  144. package/docs/components/EclSiteFooterCoreComponent.html +1 -1
  145. package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
  146. package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
  147. package/docs/components/EclSiteHeaderActionComponent.html +1 -1
  148. package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
  149. package/docs/components/EclSiteHeaderComponent.html +2 -2
  150. package/docs/components/EclSiteHeaderCustomActionComponent.html +1 -1
  151. package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
  152. package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
  153. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
  154. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  155. package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
  156. package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
  157. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  158. package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
  159. package/docs/components/EclSplashPageComponent.html +1 -1
  160. package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
  161. package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
  162. package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
  163. package/docs/components/EclStickyContainerComponent.html +1 -1
  164. package/docs/components/EclTabComponent.html +1 -1
  165. package/docs/components/EclTabLabelComponent.html +1 -1
  166. package/docs/components/EclTabMoreComponent.html +1 -1
  167. package/docs/components/EclTableSortButtonComponent.html +1 -1
  168. package/docs/components/EclTabsComponent.html +1 -1
  169. package/docs/components/EclTagComponent.html +1 -1
  170. package/docs/components/EclTimelineComponent.html +1 -1
  171. package/docs/components/EclTimelineItemComponent.html +1 -1
  172. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  173. package/docs/directives/EclMegaMenuFeaturedListItemDescriptionDirective.html +515 -0
  174. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +48 -0
  175. package/docs/directives/EclMegaMenuSpacerDirective.html +1 -1
  176. package/docs/directives/EclMegaMenuSublistDirective.html +67 -0
  177. package/docs/directives/EclSiteFooterSectionDirective.html +32 -367
  178. package/docs/interfaces/EclMegaMenuItem.html +45 -0
  179. package/docs/js/menu-wc.js +9 -6
  180. package/docs/js/menu-wc_es5.js +1 -1
  181. package/docs/js/search/search_index.js +2 -2
  182. package/docs/miscellaneous/variables.html +2 -0
  183. package/docs/overview.html +1 -1
  184. package/docs/properties.html +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
  186. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
  188. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  189. package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
  190. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
  192. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +13 -13
  194. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
  196. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  197. package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
  198. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  199. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
  200. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  201. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
  202. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  203. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +17 -17
  204. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  205. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
  206. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  207. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
  208. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  209. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
  210. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  211. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
  212. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  213. package/fesm2022/eui-ecl-components-ecl-divider.mjs +7 -7
  214. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  215. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
  216. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  217. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +22 -22
  218. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  219. package/fesm2022/eui-ecl-components-ecl-featured.mjs +16 -16
  220. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  221. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
  222. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  223. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
  224. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  225. package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
  226. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  227. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
  228. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  229. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +11 -11
  230. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  231. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +22 -22
  232. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  233. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
  234. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  235. package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
  236. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  237. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +17 -17
  238. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  239. package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
  240. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  241. package/fesm2022/eui-ecl-components-ecl-link.mjs +16 -16
  242. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  243. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
  244. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  245. package/fesm2022/eui-ecl-components-ecl-list.mjs +31 -31
  246. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  247. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
  248. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  249. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
  250. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  251. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +172 -81
  252. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  253. package/fesm2022/eui-ecl-components-ecl-menu.mjs +18 -18
  254. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  255. package/fesm2022/eui-ecl-components-ecl-modal.mjs +25 -25
  256. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  257. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +45 -25
  258. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  259. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
  260. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  261. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
  262. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  263. package/fesm2022/eui-ecl-components-ecl-notification.mjs +10 -10
  264. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  265. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +37 -37
  266. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  267. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
  268. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  269. package/fesm2022/eui-ecl-components-ecl-popover.mjs +14 -14
  270. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  271. package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
  272. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  273. package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
  274. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  275. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +7 -7
  276. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  277. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
  278. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  279. package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
  280. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  281. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +77 -91
  282. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  283. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +65 -65
  284. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  285. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
  286. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  287. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
  288. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  289. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
  290. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  291. package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
  292. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  293. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
  294. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  295. package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
  296. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  297. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
  298. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  299. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
  300. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  301. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +19 -19
  302. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  303. package/fesm2022/eui-ecl-core.mjs +25 -25
  304. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  305. package/fesm2022/eui-ecl-shared.mjs +3 -3
  306. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  307. package/fesm2022/eui-ecl.mjs +4 -4
  308. package/fesm2022/eui-ecl.mjs.map +1 -1
  309. package/package.json +95 -95
  310. package/shared/package.json +2 -1
  311. package/{components/ecl-accordion/index.d.ts → types/eui-ecl-components-ecl-accordion.d.ts} +1 -1
  312. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -0
  313. package/{components/ecl-app/index.d.ts → types/eui-ecl-components-ecl-app.d.ts} +1 -1
  314. package/types/eui-ecl-components-ecl-app.d.ts.map +1 -0
  315. package/{components/ecl-banner/index.d.ts → types/eui-ecl-components-ecl-banner.d.ts} +1 -1
  316. package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -0
  317. package/{components/ecl-blockquote/index.d.ts → types/eui-ecl-components-ecl-blockquote.d.ts} +1 -1
  318. package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -0
  319. package/{components/ecl-breadcrumb/index.d.ts → types/eui-ecl-components-ecl-breadcrumb.d.ts} +1 -1
  320. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -0
  321. package/{components/ecl-button/index.d.ts → types/eui-ecl-components-ecl-button.d.ts} +1 -1
  322. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -0
  323. package/{components/ecl-card/index.d.ts → types/eui-ecl-components-ecl-card.d.ts} +1 -1
  324. package/types/eui-ecl-components-ecl-card.d.ts.map +1 -0
  325. package/{components/ecl-carousel/index.d.ts → types/eui-ecl-components-ecl-carousel.d.ts} +1 -1
  326. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -0
  327. package/{components/ecl-category-filter/index.d.ts → types/eui-ecl-components-ecl-category-filter.d.ts} +1 -1
  328. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -0
  329. package/{components/ecl-checkbox/index.d.ts → types/eui-ecl-components-ecl-checkbox.d.ts} +1 -1
  330. package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -0
  331. package/{components/ecl-content-block/index.d.ts → types/eui-ecl-components-ecl-content-block.d.ts} +1 -1
  332. package/types/eui-ecl-components-ecl-content-block.d.ts.map +1 -0
  333. package/{components/ecl-content-item/index.d.ts → types/eui-ecl-components-ecl-content-item.d.ts} +1 -1
  334. package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -0
  335. package/{components/ecl-date-block/index.d.ts → types/eui-ecl-components-ecl-date-block.d.ts} +1 -1
  336. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -0
  337. package/{components/ecl-date-picker/index.d.ts → types/eui-ecl-components-ecl-date-picker.d.ts} +1 -1
  338. package/types/eui-ecl-components-ecl-date-picker.d.ts.map +1 -0
  339. package/{components/ecl-divider/index.d.ts → types/eui-ecl-components-ecl-divider.d.ts} +1 -1
  340. package/types/eui-ecl-components-ecl-divider.d.ts.map +1 -0
  341. package/{components/ecl-expandable/index.d.ts → types/eui-ecl-components-ecl-expandable.d.ts} +1 -1
  342. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -0
  343. package/{components/ecl-fact-figures/index.d.ts → types/eui-ecl-components-ecl-fact-figures.d.ts} +1 -1
  344. package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -0
  345. package/{components/ecl-featured/index.d.ts → types/eui-ecl-components-ecl-featured.d.ts} +1 -1
  346. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -0
  347. package/{components/ecl-feedback-message/index.d.ts → types/eui-ecl-components-ecl-feedback-message.d.ts} +1 -1
  348. package/types/eui-ecl-components-ecl-feedback-message.d.ts.map +1 -0
  349. package/{components/ecl-file-upload/index.d.ts → types/eui-ecl-components-ecl-file-upload.d.ts} +1 -1
  350. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -0
  351. package/{components/ecl-file/index.d.ts → types/eui-ecl-components-ecl-file.d.ts} +1 -1
  352. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -0
  353. package/{components/ecl-form-group/index.d.ts → types/eui-ecl-components-ecl-form-group.d.ts} +1 -1
  354. package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -0
  355. package/{components/ecl-form-label/index.d.ts → types/eui-ecl-components-ecl-form-label.d.ts} +1 -1
  356. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -0
  357. package/{components/ecl-gallery/index.d.ts → types/eui-ecl-components-ecl-gallery.d.ts} +1 -1
  358. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -0
  359. package/{components/ecl-help-block/index.d.ts → types/eui-ecl-components-ecl-help-block.d.ts} +1 -1
  360. package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -0
  361. package/{components/ecl-icon/index.d.ts → types/eui-ecl-components-ecl-icon.d.ts} +1 -1
  362. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -0
  363. package/{components/ecl-inpage-navigation/index.d.ts → types/eui-ecl-components-ecl-inpage-navigation.d.ts} +1 -1
  364. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -0
  365. package/{components/ecl-label/index.d.ts → types/eui-ecl-components-ecl-label.d.ts} +1 -1
  366. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -0
  367. package/{components/ecl-link/index.d.ts → types/eui-ecl-components-ecl-link.d.ts} +1 -1
  368. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -0
  369. package/{components/ecl-list-illustration/index.d.ts → types/eui-ecl-components-ecl-list-illustration.d.ts} +1 -1
  370. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -0
  371. package/{components/ecl-list/index.d.ts → types/eui-ecl-components-ecl-list.d.ts} +1 -1
  372. package/types/eui-ecl-components-ecl-list.d.ts.map +1 -0
  373. package/{components/ecl-loading-indicator/index.d.ts → types/eui-ecl-components-ecl-loading-indicator.d.ts} +1 -1
  374. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -0
  375. package/{components/ecl-media-container/index.d.ts → types/eui-ecl-components-ecl-media-container.d.ts} +1 -1
  376. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -0
  377. package/{components/ecl-mega-menu/index.d.ts → types/eui-ecl-components-ecl-mega-menu.d.ts} +38 -17
  378. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -0
  379. package/{components/ecl-menu/index.d.ts → types/eui-ecl-components-ecl-menu.d.ts} +1 -1
  380. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -0
  381. package/{components/ecl-modal/index.d.ts → types/eui-ecl-components-ecl-modal.d.ts} +1 -1
  382. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -0
  383. package/{components/ecl-multiselect/index.d.ts → types/eui-ecl-components-ecl-multiselect.d.ts} +2 -1
  384. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -0
  385. package/{components/ecl-navigation-list/index.d.ts → types/eui-ecl-components-ecl-navigation-list.d.ts} +1 -1
  386. package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -0
  387. package/{components/ecl-news-ticker/index.d.ts → types/eui-ecl-components-ecl-news-ticker.d.ts} +1 -1
  388. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -0
  389. package/{components/ecl-notification/index.d.ts → types/eui-ecl-components-ecl-notification.d.ts} +1 -1
  390. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -0
  391. package/{components/ecl-page-header/index.d.ts → types/eui-ecl-components-ecl-page-header.d.ts} +1 -1
  392. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -0
  393. package/{components/ecl-pagination/index.d.ts → types/eui-ecl-components-ecl-pagination.d.ts} +1 -1
  394. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -0
  395. package/{components/ecl-popover/index.d.ts → types/eui-ecl-components-ecl-popover.d.ts} +1 -1
  396. package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -0
  397. package/{components/ecl-radio/index.d.ts → types/eui-ecl-components-ecl-radio.d.ts} +1 -1
  398. package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -0
  399. package/{components/ecl-range/index.d.ts → types/eui-ecl-components-ecl-range.d.ts} +1 -1
  400. package/types/eui-ecl-components-ecl-range.d.ts.map +1 -0
  401. package/{components/ecl-rating-field/index.d.ts → types/eui-ecl-components-ecl-rating-field.d.ts} +1 -1
  402. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -0
  403. package/{components/ecl-search-form/index.d.ts → types/eui-ecl-components-ecl-search-form.d.ts} +1 -1
  404. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -0
  405. package/{components/ecl-select/index.d.ts → types/eui-ecl-components-ecl-select.d.ts} +1 -1
  406. package/types/eui-ecl-components-ecl-select.d.ts.map +1 -0
  407. package/{components/ecl-site-footer/index.d.ts → types/eui-ecl-components-ecl-site-footer.d.ts} +6 -8
  408. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -0
  409. package/{components/ecl-site-header/index.d.ts → types/eui-ecl-components-ecl-site-header.d.ts} +1 -1
  410. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -0
  411. package/{components/ecl-social-media-follow/index.d.ts → types/eui-ecl-components-ecl-social-media-follow.d.ts} +1 -1
  412. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -0
  413. package/{components/ecl-splash-page/index.d.ts → types/eui-ecl-components-ecl-splash-page.d.ts} +1 -1
  414. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -0
  415. package/{components/ecl-sticky-container/index.d.ts → types/eui-ecl-components-ecl-sticky-container.d.ts} +1 -1
  416. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -0
  417. package/{components/ecl-table/index.d.ts → types/eui-ecl-components-ecl-table.d.ts} +1 -1
  418. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -0
  419. package/{components/ecl-tabs/index.d.ts → types/eui-ecl-components-ecl-tabs.d.ts} +1 -1
  420. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -0
  421. package/{components/ecl-tag/index.d.ts → types/eui-ecl-components-ecl-tag.d.ts} +1 -1
  422. package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -0
  423. package/{components/ecl-text-area/index.d.ts → types/eui-ecl-components-ecl-text-area.d.ts} +1 -1
  424. package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -0
  425. package/{components/ecl-text-input/index.d.ts → types/eui-ecl-components-ecl-text-input.d.ts} +1 -1
  426. package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -0
  427. package/{components/ecl-timeline/index.d.ts → types/eui-ecl-components-ecl-timeline.d.ts} +1 -1
  428. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -0
  429. package/{core/index.d.ts → types/eui-ecl-core.d.ts} +1 -1
  430. package/types/eui-ecl-core.d.ts.map +1 -0
  431. package/{shared/index.d.ts → types/eui-ecl-shared.d.ts} +1 -1
  432. package/types/eui-ecl-shared.d.ts.map +1 -0
  433. package/types/eui-ecl.d.ts +70 -0
  434. package/types/eui-ecl.d.ts.map +1 -0
  435. package/components/ecl-accordion/index.d.ts.map +0 -1
  436. package/components/ecl-app/index.d.ts.map +0 -1
  437. package/components/ecl-banner/index.d.ts.map +0 -1
  438. package/components/ecl-blockquote/index.d.ts.map +0 -1
  439. package/components/ecl-breadcrumb/index.d.ts.map +0 -1
  440. package/components/ecl-button/index.d.ts.map +0 -1
  441. package/components/ecl-card/index.d.ts.map +0 -1
  442. package/components/ecl-carousel/index.d.ts.map +0 -1
  443. package/components/ecl-category-filter/index.d.ts.map +0 -1
  444. package/components/ecl-checkbox/index.d.ts.map +0 -1
  445. package/components/ecl-content-block/index.d.ts.map +0 -1
  446. package/components/ecl-content-item/index.d.ts.map +0 -1
  447. package/components/ecl-date-block/index.d.ts.map +0 -1
  448. package/components/ecl-date-picker/index.d.ts.map +0 -1
  449. package/components/ecl-divider/index.d.ts.map +0 -1
  450. package/components/ecl-expandable/index.d.ts.map +0 -1
  451. package/components/ecl-fact-figures/index.d.ts.map +0 -1
  452. package/components/ecl-featured/index.d.ts.map +0 -1
  453. package/components/ecl-feedback-message/index.d.ts.map +0 -1
  454. package/components/ecl-file/index.d.ts.map +0 -1
  455. package/components/ecl-file-upload/index.d.ts.map +0 -1
  456. package/components/ecl-form-group/index.d.ts.map +0 -1
  457. package/components/ecl-form-label/index.d.ts.map +0 -1
  458. package/components/ecl-gallery/index.d.ts.map +0 -1
  459. package/components/ecl-help-block/index.d.ts.map +0 -1
  460. package/components/ecl-icon/index.d.ts.map +0 -1
  461. package/components/ecl-inpage-navigation/index.d.ts.map +0 -1
  462. package/components/ecl-label/index.d.ts.map +0 -1
  463. package/components/ecl-link/index.d.ts.map +0 -1
  464. package/components/ecl-list/index.d.ts.map +0 -1
  465. package/components/ecl-list-illustration/index.d.ts.map +0 -1
  466. package/components/ecl-loading-indicator/index.d.ts.map +0 -1
  467. package/components/ecl-media-container/index.d.ts.map +0 -1
  468. package/components/ecl-mega-menu/index.d.ts.map +0 -1
  469. package/components/ecl-menu/index.d.ts.map +0 -1
  470. package/components/ecl-modal/index.d.ts.map +0 -1
  471. package/components/ecl-multiselect/index.d.ts.map +0 -1
  472. package/components/ecl-navigation-list/index.d.ts.map +0 -1
  473. package/components/ecl-news-ticker/index.d.ts.map +0 -1
  474. package/components/ecl-notification/index.d.ts.map +0 -1
  475. package/components/ecl-page-header/index.d.ts.map +0 -1
  476. package/components/ecl-pagination/index.d.ts.map +0 -1
  477. package/components/ecl-popover/index.d.ts.map +0 -1
  478. package/components/ecl-radio/index.d.ts.map +0 -1
  479. package/components/ecl-range/index.d.ts.map +0 -1
  480. package/components/ecl-rating-field/index.d.ts.map +0 -1
  481. package/components/ecl-search-form/index.d.ts.map +0 -1
  482. package/components/ecl-select/index.d.ts.map +0 -1
  483. package/components/ecl-site-footer/index.d.ts.map +0 -1
  484. package/components/ecl-site-header/index.d.ts.map +0 -1
  485. package/components/ecl-social-media-follow/index.d.ts.map +0 -1
  486. package/components/ecl-splash-page/index.d.ts.map +0 -1
  487. package/components/ecl-sticky-container/index.d.ts.map +0 -1
  488. package/components/ecl-table/index.d.ts.map +0 -1
  489. package/components/ecl-tabs/index.d.ts.map +0 -1
  490. package/components/ecl-tag/index.d.ts.map +0 -1
  491. package/components/ecl-text-area/index.d.ts.map +0 -1
  492. package/components/ecl-text-input/index.d.ts.map +0 -1
  493. package/components/ecl-timeline/index.d.ts.map +0 -1
  494. package/core/index.d.ts.map +0 -1
  495. package/index.d.ts +0 -70
  496. package/index.d.ts.map +0 -1
  497. package/shared/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/index.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n hostElementRef = inject(ElementRef);\n\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, HostListener, OnDestroy, Renderer2, ViewChild, inject, output } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing an ECL Popover.\n *\n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n onOpen = output();\n onClose = output();\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n\n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n private toggleRect = null;\n private scrollableParent = null;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n if (this.isHidden) {\n this.doOpen();\n } else {\n this.doClose();\n }\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n\n this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle.hostElementRef.nativeElement);\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.doClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.doClose();\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll')\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Protected method used to close the popover and reset related styles.\n */\n protected doClose(): void { // TODO: breaking change v21 (was onClose, but now its an output, and is protected but not public)\n this.isHidden = true;\n this.resetStyles();\n this.onClose.emit();\n }\n\n private doOpen(): void {\n this.isHidden = false;\n this.onOpen.emit();\n }\n\n private getClosestScrollableParent(element: HTMLElement): HTMLElement {\n let parent = element.parentElement;\n\n while (parent) {\n const { overflowY, overflowX } = getComputedStyle(parent);\n const isScrollableY =\n (overflowY === 'auto' || overflowY === 'scroll') &&\n parent.scrollHeight > parent.clientHeight;\n const isScrollableX =\n (overflowX === 'auto' || overflowX === 'scroll') &&\n parent.scrollWidth > parent.clientWidth;\n\n if (isScrollableY || isScrollableX) {\n return parent; // Found the closest scrollable parent\n }\n\n parent = parent.parentElement;\n }\n\n return document.body;\n }\n\n private calculateAvailableSpace(toggleElement, scrollableParent = null) {\n // Get the bounding rect for the toggle element\n this.toggleRect = toggleElement.getBoundingClientRect();\n\n // If no scrollable parent is provided, use the viewport\n const containerRect = scrollableParent\n ? scrollableParent.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n };\n const containerWidth = containerRect.right - containerRect.left;\n const containerHeight = containerRect.bottom - containerRect.top;\n // Calculate the space available in the four directions\n const containerBottom = Math.max(\n 0,\n window.innerHeight - containerRect.bottom,\n );\n const toggleBottom = Math.max(\n 0,\n window.innerHeight - this.toggleRect.bottom,\n );\n const spaceBottom = Math.max(0, toggleBottom - containerBottom);\n\n // Top Space (from toggle's top to container's top)\n const containerTop = Math.max(0, containerRect.top);\n const toggleTop = Math.max(0, this.toggleRect.top);\n const spaceTop = Math.max(0, toggleTop - containerTop);\n\n // Right Space (from toggle's right to container's right)\n const containerRight = Math.max(0, window.innerWidth - containerRect.right);\n const toggleRight = Math.max(0, window.innerWidth - this.toggleRect.right);\n const spaceRight = Math.max(0, toggleRight - containerRight);\n\n // Left Space (from toggle's left to container's left)\n const containerLeft = Math.max(0, containerRect.left);\n const toggleLeft = Math.max(0, this.toggleRect.left);\n const spaceLeft = Math.max(0, toggleLeft - containerLeft);\n\n return {\n containerWidth,\n containerHeight,\n spaceTop,\n spaceBottom,\n spaceLeft,\n spaceRight,\n };\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyles();\n\n const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } =\n this.calculateAvailableSpace(this.eclPopoverToggle.getHostElement(), this.scrollableParent);\n\n // Find the direction with the most available space\n const positioningClass = 'ecl-popover--';\n let direction = '';\n\n if (\n spaceTop > spaceBottom &&\n spaceTop > spaceLeft &&\n spaceTop > spaceRight\n ) {\n direction = 'top';\n } else if (spaceBottom > spaceLeft && spaceBottom > spaceRight) {\n direction = 'bottom';\n } else if (spaceLeft > spaceRight) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n\n this.renderer.addClass(this.el.nativeElement, `${positioningClass}${direction}`);\n\n // Try to use as much of the available width, respecting the max-width set.\n const styles = window.getComputedStyle(this.eclPopoverScrollableElement.nativeElement);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n\n // We consider 90% of the biggest space available\n const horizontalSpace = Math.max(spaceLeft, spaceRight) * 0.9;\n let targetWidth;\n\n // If the available space is larger than maxWidth (plus padding), set to maxWidth\n if (\n maxWidth + padding < horizontalSpace ||\n (direction !== 'left' &&\n direction !== 'right' &&\n containerWidth > maxWidth)\n ) {\n targetWidth = maxWidth;\n }\n // If the available space is smaller than minWidth (plus padding), set to minWidth\n else if (horizontalSpace < minWidth + padding) {\n targetWidth = minWidth;\n }\n // Otherwise, set the width to the available space minus the padding\n else if (direction === 'left' || direction === 'right') {\n targetWidth = horizontalSpace - padding;\n } else {\n targetWidth = (horizontalSpace - padding) * 2;\n }\n\n // Ensure the width does not exceed available space\n this.renderer.setStyle(this.eclPopoverScrollableElement.nativeElement, 'width', `${targetWidth}px`);\n\n this.handlePushClass(direction);\n }\n\n private resetStyles(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, '--ecl-popover-position');\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n\n /**\n * Check whether the popover is going out of its scrollable container and apply the needed repositioning.\n *\n * @param {string} direction\n */\n handlePushClass(direction: string): void {\n requestAnimationFrame(() => {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const scrollableRect = this.scrollableParent.getBoundingClientRect();\n const containerBottom =\n scrollableRect.bottom > window.innerHeight ? 0 : window.innerHeight - scrollableRect.bottom;\n const containerTop =\n scrollableRect.top > window.innerHeight ? 0 : scrollableRect.top;\n const leftOverflow = scrollableRect.left > popoverRect.left;\n const rightOverflow = scrollableRect.right < popoverRect.right;\n const topOverflow = popoverRect.top < containerTop;\n const bottomOverflow =\n containerBottom > window.innerHeight - popoverRect.bottom;\n\n if (direction === 'left' || direction === 'right') {\n if (topOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n // Push the popover to the top edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', `-${Math.round(this.toggleRect.top)}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n if (bottomOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n // Push the popover to the bottom edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', `-${window.innerHeight - this.toggleRect.bottom - containerBottom}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n } else {\n if (leftOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n // Push the popover 8px to the left edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', `-${this.toggleRect.left - scrollableRect.left - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', 'auto');\n }\n if (rightOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n // Push the popover 8px to the right edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', `-${scrollableRect.right - this.toggleRect.right - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', 'auto');\n }\n }\n\n this.handleArrowPosition(direction);\n });\n }\n\n private handleArrowPosition(direction: string): void {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (direction === 'left' || direction === 'right') {\n if (this.el.nativeElement.classList.contains(this.pushBottomClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushTopClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.el.nativeElement.classList.contains(this.pushRightClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushLeftClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly>\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n/**\n * @description\n * Module that provides the EclPopover component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_POPOVER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\n","import { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nexport * from './ecl-popover.module';\nexport * from './ecl-popover.component';\nexport * from './ecl-popover-content.directive';\nexport * from './ecl-popover-toggle.directive';\n\nexport const EUI_ECL_POPOVER = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\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-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/index.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Output, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n hostElementRef = inject(ElementRef);\n\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import { AfterContentInit, Component, ContentChild, ElementRef, HostBinding, HostListener, OnDestroy, Renderer2, ViewChild, inject, output } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing an ECL Popover.\n *\n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n imports: [\n ...EUI_ECL_BUTTON,\n ...EUI_ECL_ICON,\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n onOpen = output();\n onClose = output();\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n\n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n private toggleRect = null;\n private scrollableParent = null;\n private el = inject(ElementRef);\n private renderer = inject(Renderer2);\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n if (this.isHidden) {\n this.doOpen();\n } else {\n this.doClose();\n }\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n\n this.scrollableParent = this.getClosestScrollableParent(this.eclPopoverToggle.hostElementRef.nativeElement);\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.doClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.doClose();\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize')\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll')\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Protected method used to close the popover and reset related styles.\n */\n protected doClose(): void { // TODO: breaking change v21 (was onClose, but now its an output, and is protected but not public)\n this.isHidden = true;\n this.resetStyles();\n this.onClose.emit();\n }\n\n private doOpen(): void {\n this.isHidden = false;\n this.onOpen.emit();\n }\n\n private getClosestScrollableParent(element: HTMLElement): HTMLElement {\n let parent = element.parentElement;\n\n while (parent) {\n const { overflowY, overflowX } = getComputedStyle(parent);\n const isScrollableY =\n (overflowY === 'auto' || overflowY === 'scroll') &&\n parent.scrollHeight > parent.clientHeight;\n const isScrollableX =\n (overflowX === 'auto' || overflowX === 'scroll') &&\n parent.scrollWidth > parent.clientWidth;\n\n if (isScrollableY || isScrollableX) {\n return parent; // Found the closest scrollable parent\n }\n\n parent = parent.parentElement;\n }\n\n return document.body;\n }\n\n private calculateAvailableSpace(toggleElement, scrollableParent = null) {\n // Get the bounding rect for the toggle element\n this.toggleRect = toggleElement.getBoundingClientRect();\n\n // If no scrollable parent is provided, use the viewport\n const containerRect = scrollableParent\n ? scrollableParent.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n right: window.innerWidth,\n bottom: window.innerHeight,\n };\n const containerWidth = containerRect.right - containerRect.left;\n const containerHeight = containerRect.bottom - containerRect.top;\n // Calculate the space available in the four directions\n const containerBottom = Math.max(\n 0,\n window.innerHeight - containerRect.bottom,\n );\n const toggleBottom = Math.max(\n 0,\n window.innerHeight - this.toggleRect.bottom,\n );\n const spaceBottom = Math.max(0, toggleBottom - containerBottom);\n\n // Top Space (from toggle's top to container's top)\n const containerTop = Math.max(0, containerRect.top);\n const toggleTop = Math.max(0, this.toggleRect.top);\n const spaceTop = Math.max(0, toggleTop - containerTop);\n\n // Right Space (from toggle's right to container's right)\n const containerRight = Math.max(0, window.innerWidth - containerRect.right);\n const toggleRight = Math.max(0, window.innerWidth - this.toggleRect.right);\n const spaceRight = Math.max(0, toggleRight - containerRight);\n\n // Left Space (from toggle's left to container's left)\n const containerLeft = Math.max(0, containerRect.left);\n const toggleLeft = Math.max(0, this.toggleRect.left);\n const spaceLeft = Math.max(0, toggleLeft - containerLeft);\n\n return {\n containerWidth,\n containerHeight,\n spaceTop,\n spaceBottom,\n spaceLeft,\n spaceRight,\n };\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyles();\n\n const { containerWidth, spaceTop, spaceBottom, spaceLeft, spaceRight } =\n this.calculateAvailableSpace(this.eclPopoverToggle.getHostElement(), this.scrollableParent);\n\n // Find the direction with the most available space\n const positioningClass = 'ecl-popover--';\n let direction = '';\n\n if (\n spaceTop > spaceBottom &&\n spaceTop > spaceLeft &&\n spaceTop > spaceRight\n ) {\n direction = 'top';\n } else if (spaceBottom > spaceLeft && spaceBottom > spaceRight) {\n direction = 'bottom';\n } else if (spaceLeft > spaceRight) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n\n this.renderer.addClass(this.el.nativeElement, `${positioningClass}${direction}`);\n\n // Try to use as much of the available width, respecting the max-width set.\n const styles = window.getComputedStyle(this.eclPopoverScrollableElement.nativeElement);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n\n // We consider 90% of the biggest space available\n const horizontalSpace = Math.max(spaceLeft, spaceRight) * 0.9;\n let targetWidth;\n\n // If the available space is larger than maxWidth (plus padding), set to maxWidth\n if (\n maxWidth + padding < horizontalSpace ||\n (direction !== 'left' &&\n direction !== 'right' &&\n containerWidth > maxWidth)\n ) {\n targetWidth = maxWidth;\n }\n // If the available space is smaller than minWidth (plus padding), set to minWidth\n else if (horizontalSpace < minWidth + padding) {\n targetWidth = minWidth;\n }\n // Otherwise, set the width to the available space minus the padding\n else if (direction === 'left' || direction === 'right') {\n targetWidth = horizontalSpace - padding;\n } else {\n targetWidth = (horizontalSpace - padding) * 2;\n }\n\n // Ensure the width does not exceed available space\n this.renderer.setStyle(this.eclPopoverScrollableElement.nativeElement, 'width', `${targetWidth}px`);\n\n this.handlePushClass(direction);\n }\n\n private resetStyles(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, '--ecl-popover-position');\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n\n /**\n * Check whether the popover is going out of its scrollable container and apply the needed repositioning.\n *\n * @param {string} direction\n */\n handlePushClass(direction: string): void {\n requestAnimationFrame(() => {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const scrollableRect = this.scrollableParent.getBoundingClientRect();\n const containerBottom =\n scrollableRect.bottom > window.innerHeight ? 0 : window.innerHeight - scrollableRect.bottom;\n const containerTop =\n scrollableRect.top > window.innerHeight ? 0 : scrollableRect.top;\n const leftOverflow = scrollableRect.left > popoverRect.left;\n const rightOverflow = scrollableRect.right < popoverRect.right;\n const topOverflow = popoverRect.top < containerTop;\n const bottomOverflow =\n containerBottom > window.innerHeight - popoverRect.bottom;\n\n if (direction === 'left' || direction === 'right') {\n if (topOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n // Push the popover to the top edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', `-${Math.round(this.toggleRect.top)}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n if (bottomOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n // Push the popover to the bottom edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'bottom', `-${window.innerHeight - this.toggleRect.bottom - containerBottom}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'top', '');\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'transform', '');\n }\n } else {\n if (leftOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n // Push the popover 8px to the left edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', `-${this.toggleRect.left - scrollableRect.left - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', 'auto');\n }\n if (rightOverflow) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n // Push the popover 8px to the right edge of the container\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'right', `-${scrollableRect.right - this.toggleRect.right - 8}px`);\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, 'left', 'auto');\n }\n }\n\n this.handleArrowPosition(direction);\n });\n }\n\n private handleArrowPosition(direction: string): void {\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (direction === 'left' || direction === 'right') {\n if (this.el.nativeElement.classList.contains(this.pushBottomClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.top - popoverRect.top + this.toggleRect.height / 2)}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushTopClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.top + this.toggleRect.top + this.toggleRect.height / 2)}px`);\n }\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.el.nativeElement.classList.contains(this.pushRightClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(popoverRect.right - (this.toggleRect.right - this.toggleRect.width / 2))}px`);\n } else if (this.el.nativeElement.classList.contains(this.pushLeftClass)) {\n this.renderer.setStyle(this.eclPopoverContainerElement.nativeElement, '--ecl-popover-position',\n `${Math.round(this.toggleRect.left - popoverRect.left + this.toggleRect.width / 2)}px`);\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\"\n [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"doClose()\" class=\"ecl-popover__close\" isIconOnly>\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n/**\n * @description\n * Module that provides the EclPopover component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_POPOVER} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\n","import { EclPopoverComponent } from './ecl-popover.component';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\nexport * from './ecl-popover.module';\nexport * from './ecl-popover.component';\nexport * from './ecl-popover-content.directive';\nexport * from './ecl-popover-toggle.directive';\n\nexport const EUI_ECL_POPOVER = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -24,10 +24,10 @@ class EclRadioHelpComponent extends ECLBaseDirective {
24
24
  get cssClasses() {
25
25
  return [super.getCssClasses('ecl-radio__help')].join(' ').trim();
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioHelpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.5", type: EclRadioHelpComponent, isStandalone: true, selector: "[eclRadioHelp]", inputs: { isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class.ecl-radio__help--disabled": "this.isDisabled", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioHelpComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclRadioHelpComponent, isStandalone: true, selector: "[eclRadioHelp]", inputs: { isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class.ecl-radio__help--disabled": "this.isDisabled", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioHelpComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioHelpComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: '[eclRadioHelp]', template: "<ng-content></ng-content>\n" }]
33
33
  }], propDecorators: { isDisabled: [{
@@ -66,10 +66,10 @@ class EclRadioLabelComponent extends ECLBaseDirective {
66
66
  get cssClasses() {
67
67
  return [super.getCssClasses('ecl-radio__label')].join(' ').trim();
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-next.5", type: EclRadioLabelComponent, isStandalone: true, selector: "[eclRadioLabel]", inputs: { isInvalid: ["isInvalid", "isInvalid", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclRadioLabelComponent, isStandalone: true, selector: "[eclRadioLabel]", inputs: { isInvalid: ["isInvalid", "isInvalid", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute] }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioLabelComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioLabelComponent, decorators: [{
73
73
  type: Component,
74
74
  args: [{ selector: '[eclRadioLabel]', encapsulation: ViewEncapsulation.None, template: "<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n" }]
75
75
  }], propDecorators: { isInvalid: [{
@@ -124,10 +124,10 @@ class EclRadioDirective extends ECLBaseDirective {
124
124
  this.eclRadioHelpComponent.isDisabled = this.isDisabled;
125
125
  }
126
126
  }
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
128
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-next.5", type: EclRadioDirective, isStandalone: true, selector: "[eclRadio]", inputs: { isBinary: ["isBinary", "isBinary", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "class.ecl-radio--disabled": "this.isDisabled", "class.ecl-radio--invalid": "this.isInvalid", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclRadioLabelComponent", first: true, predicate: i0.forwardRef(() => EclRadioLabelComponent), descendants: true }, { propertyName: "eclRadioHelpComponent", first: true, predicate: i0.forwardRef(() => EclRadioHelpComponent), descendants: true }], usesInheritance: true, ngImport: i0 }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
128
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclRadioDirective, isStandalone: true, selector: "[eclRadio]", inputs: { isBinary: ["isBinary", "isBinary", booleanAttribute], isDisabled: ["isDisabled", "isDisabled", booleanAttribute], isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "class.ecl-radio--disabled": "this.isDisabled", "class.ecl-radio--invalid": "this.isInvalid", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclRadioLabelComponent", first: true, predicate: i0.forwardRef(() => EclRadioLabelComponent), descendants: true }, { propertyName: "eclRadioHelpComponent", first: true, predicate: i0.forwardRef(() => EclRadioHelpComponent), descendants: true }], usesInheritance: true, ngImport: i0 }); }
129
129
  }
130
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioDirective, decorators: [{
130
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioDirective, decorators: [{
131
131
  type: Directive,
132
132
  args: [{
133
133
  selector: '[eclRadio]',
@@ -187,10 +187,10 @@ class EclRadioInputDirective extends ECLBaseDirective {
187
187
  }
188
188
  }
189
189
  }
190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
191
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclRadioInputDirective, isStandalone: true, selector: "input[eclRadioInput]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
191
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclRadioInputDirective, isStandalone: true, selector: "input[eclRadioInput]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
192
192
  }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioInputDirective, decorators: [{
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioInputDirective, decorators: [{
194
194
  type: Directive,
195
195
  args: [{
196
196
  selector: 'input[eclRadioInput]',
@@ -206,11 +206,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
206
206
  * @deprecated Use {@link EUI_ECL_RADIO} instead.
207
207
  */
208
208
  class EclRadioModule {
209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
210
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioModule, imports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent], exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent] }); }
211
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioModule }); }
209
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
210
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioModule, imports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent], exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent] }); }
211
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioModule }); }
212
212
  }
213
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRadioModule, decorators: [{
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRadioModule, decorators: [{
214
214
  type: NgModule,
215
215
  args: [{
216
216
  imports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-radio.mjs","sources":["../../components/ecl-radio/ecl-radio-help.component.ts","../../components/ecl-radio/ecl-radio-help.component.html","../../components/ecl-radio/ecl-radio-label.component.ts","../../components/ecl-radio/ecl-radio-label.component.html","../../components/ecl-radio/ecl-radio.directive.ts","../../components/ecl-radio/ecl-radio-input.directive.ts","../../components/ecl-radio/ecl-radio.module.ts","../../components/ecl-radio/index.ts","../../components/ecl-radio/eui-ecl-components-ecl-radio.ts"],"sourcesContent":["import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component that displays help text for the ECL radio input.\n *\n * Supports styling for the disabled state and applies the proper ECL CSS classes.\n * Should be placed inside a component using eclRadio.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n /**\n * Adds styling for a disabled help text.\n */\n @Input({ transform: booleanAttribute }) \n @HostBinding('class.ecl-radio__help--disabled')\n isDisabled = false;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Includes the base ecl-radio__help class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a label for an ECL radio button.\n *\n * Used inside an element with the [eclRadio] directive to provide\n * a styled label that can reflect the radio's state.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n /**\n * Adds styling for an invalid state.\n */\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds styling for a disabled state.\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Includes the base `ecl-radio__label` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n","<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n","import { booleanAttribute, ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n/**\n * Directive that applies the ECL radio button styling and behavior.\n *\n * Should be applied to native radio input elements to enhance them\n * with ECL styles and support for invalid, disabled and binary states.\n */\n@Directive({\n selector: '[eclRadio]',\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n /**\n * Adds the `ecl-radio--binary` class when true.\n */\n @Input({ transform: booleanAttribute }) isBinary: boolean;\n\n /**\n * Adds the `ecl-radio--disabled` class to the host element when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-radio--disabled')\n isDisabled = false;\n\n /**\n * Adds the `ecl-radio--invalid` class to the host element when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-radio--invalid')\n isInvalid = false;\n\n /**\n * Reference to the projected EclRadioLabelComponent, if present.\n * Used to synchronize disabled and invalid states with the label.\n */\n @ContentChild(forwardRef(() => EclRadioLabelComponent))\n eclRadioLabelComponent: EclRadioLabelComponent;\n\n /**\n * Reference to the projected EclRadioHelpComponent, if present.\n * Used to synchronize the disabled state with the help text.\n */\n @ContentChild(forwardRef(() => EclRadioHelpComponent))\n eclRadioHelpComponent: EclRadioHelpComponent;\n\n /**\n * Returns the CSS classes to apply on the host element.\n * Includes the base `ecl-radio` class and the binary modifier if applicable.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n /**\n * Angular lifecycle hook called during every change detection run.\n * Used to update child components with the current disabled and invalid states.\n */\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n","import { Directive, HostBinding, ChangeDetectorRef, DoCheck, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that decorates native <input> elements to be styled as ECL radio inputs.\n *\n * Applies the proper ECL CSS classes and integrates with Angular forms\n * to reflect validation states (invalid, disabled) in the parent ECL radio directive.\n * Should be used together with the eclRadio directive.\n */\n@Directive({\n selector: 'input[eclRadioInput]',\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n eclRadio = inject(EclRadioDirective);\n protected ngControl = inject(NgControl, { optional: true, self: true });\n protected cd = inject(ChangeDetectorRef);\n\n /**\n * Returns the CSS classes applied to the host input element.\n * Includes the base ecl-radio__input class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\nimport { EclRadioDirective } from './ecl-radio.directive';\n\n/**\n * Module that provides the EclRadio directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_RADIO} instead.\n */\n@NgModule({\n imports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioModule {}\n","import { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\nimport { EclRadioDirective } from './ecl-radio.directive';\n\nexport * from './ecl-radio.module';\nexport * from './ecl-radio-input.directive';\nexport * from './ecl-radio.directive';\nexport * from './ecl-radio-label.component';\nexport * from './ecl-radio-help.component';\n\nexport const EUI_ECL_RADIO = [\n EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent,\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-radio.mjs","sources":["../../components/ecl-radio/ecl-radio-help.component.ts","../../components/ecl-radio/ecl-radio-help.component.html","../../components/ecl-radio/ecl-radio-label.component.ts","../../components/ecl-radio/ecl-radio-label.component.html","../../components/ecl-radio/ecl-radio.directive.ts","../../components/ecl-radio/ecl-radio-input.directive.ts","../../components/ecl-radio/ecl-radio.module.ts","../../components/ecl-radio/index.ts","../../components/ecl-radio/eui-ecl-components-ecl-radio.ts"],"sourcesContent":["import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component that displays help text for the ECL radio input.\n *\n * Supports styling for the disabled state and applies the proper ECL CSS classes.\n * Should be placed inside a component using eclRadio.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n /**\n * Adds styling for a disabled help text.\n */\n @Input({ transform: booleanAttribute }) \n @HostBinding('class.ecl-radio__help--disabled')\n isDisabled = false;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Includes the base ecl-radio__help class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a label for an ECL radio button.\n *\n * Used inside an element with the [eclRadio] directive to provide\n * a styled label that can reflect the radio's state.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n /**\n * Adds styling for an invalid state.\n */\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds styling for a disabled state.\n */\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Includes the base `ecl-radio__label` class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n","<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n","import { booleanAttribute, ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n/**\n * Directive that applies the ECL radio button styling and behavior.\n *\n * Should be applied to native radio input elements to enhance them\n * with ECL styles and support for invalid, disabled and binary states.\n */\n@Directive({\n selector: '[eclRadio]',\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n /**\n * Adds the `ecl-radio--binary` class when true.\n */\n @Input({ transform: booleanAttribute }) isBinary: boolean;\n\n /**\n * Adds the `ecl-radio--disabled` class to the host element when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-radio--disabled')\n isDisabled = false;\n\n /**\n * Adds the `ecl-radio--invalid` class to the host element when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-radio--invalid')\n isInvalid = false;\n\n /**\n * Reference to the projected EclRadioLabelComponent, if present.\n * Used to synchronize disabled and invalid states with the label.\n */\n @ContentChild(forwardRef(() => EclRadioLabelComponent))\n eclRadioLabelComponent: EclRadioLabelComponent;\n\n /**\n * Reference to the projected EclRadioHelpComponent, if present.\n * Used to synchronize the disabled state with the help text.\n */\n @ContentChild(forwardRef(() => EclRadioHelpComponent))\n eclRadioHelpComponent: EclRadioHelpComponent;\n\n /**\n * Returns the CSS classes to apply on the host element.\n * Includes the base `ecl-radio` class and the binary modifier if applicable.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n /**\n * Angular lifecycle hook called during every change detection run.\n * Used to update child components with the current disabled and invalid states.\n */\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n","import { Directive, HostBinding, ChangeDetectorRef, DoCheck, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that decorates native <input> elements to be styled as ECL radio inputs.\n *\n * Applies the proper ECL CSS classes and integrates with Angular forms\n * to reflect validation states (invalid, disabled) in the parent ECL radio directive.\n * Should be used together with the eclRadio directive.\n */\n@Directive({\n selector: 'input[eclRadioInput]',\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n eclRadio = inject(EclRadioDirective);\n protected ngControl = inject(NgControl, { optional: true, self: true });\n protected cd = inject(ChangeDetectorRef);\n\n /**\n * Returns the CSS classes applied to the host input element.\n * Includes the base ecl-radio__input class.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\nimport { EclRadioDirective } from './ecl-radio.directive';\n\n/**\n * Module that provides the EclRadio directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_RADIO} instead.\n */\n@NgModule({\n imports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioModule {}\n","import { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\nimport { EclRadioDirective } from './ecl-radio.directive';\n\nexport * from './ecl-radio.module';\nexport * from './ecl-radio-input.directive';\nexport * from './ecl-radio.directive';\nexport * from './ecl-radio-label.component';\nexport * from './ecl-radio-help.component';\n\nexport const EUI_ECL_RADIO = [\n EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -30,10 +30,10 @@ class EclRangeBubbleComponent extends ECLBaseDirective {
30
30
  this.isVisible ? 'ecl-range__bubble--visible' : '',
31
31
  ].join(' ').trim();
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeBubbleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclRangeBubbleComponent, isStandalone: true, selector: "ecl-range-bubble", inputs: { value: "value" }, host: { properties: { "class": "this.cssClasses", "style.left.px": "this.left" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-range__value-bubble\">{{value}}</span>" }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeBubbleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclRangeBubbleComponent, isStandalone: true, selector: "ecl-range-bubble", inputs: { value: "value" }, host: { properties: { "class": "this.cssClasses", "style.left.px": "this.left" } }, usesInheritance: true, ngImport: i0, template: "<span class=\"ecl-range__value-bubble\">{{value}}</span>" }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeBubbleComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeBubbleComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'ecl-range-bubble', template: "<span class=\"ecl-range__value-bubble\">{{value}}</span>" }]
39
39
  }], propDecorators: { value: [{
@@ -58,10 +58,10 @@ class EclRangeValueComponent extends ECLBaseDirective {
58
58
  get cssClasses() {
59
59
  return [super.getCssClasses('ecl-range__value')].join(' ').trim();
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-next.5", type: EclRangeValueComponent, isStandalone: true, selector: "ecl-range-value", inputs: { value: "value", id: "id" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeValueComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.0", type: EclRangeValueComponent, isStandalone: true, selector: "ecl-range-value", inputs: { value: "value", id: "id" }, host: { properties: { "attr.id": "this.id", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeValueComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeValueComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'ecl-range-value', imports: [TranslateModule], template: "{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n", styles: [":host{display:block}\n"] }]
67
67
  }], propDecorators: { value: [{
@@ -234,10 +234,10 @@ class EclRangeDirective extends ECLBaseDirective {
234
234
  this.rangeBubbleComponent.left = valuePxPosition - halfLabelWidth - offset + this.el.nativeElement.offsetLeft;
235
235
  }
236
236
  }
237
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
238
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-next.5", type: EclRangeDirective, isStandalone: true, selector: "input[eclRange]", inputs: { eclSize: "eclSize", value: "value", rangeValueId: "rangeValueId", isInvalid: ["isInvalid", "isInvalid", booleanAttribute], hasValueLabel: ["hasValueLabel", "hasValueLabel", booleanAttribute] }, outputs: { rangeChange: "rangeChange" }, host: { listeners: { "input": "onInput($any($event))" }, properties: { "class": "this.cssClasses", "class.ecl-range--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
238
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-rc.0", type: EclRangeDirective, isStandalone: true, selector: "input[eclRange]", inputs: { eclSize: "eclSize", value: "value", rangeValueId: "rangeValueId", isInvalid: ["isInvalid", "isInvalid", booleanAttribute], hasValueLabel: ["hasValueLabel", "hasValueLabel", booleanAttribute] }, outputs: { rangeChange: "rangeChange" }, host: { listeners: { "input": "onInput($any($event))" }, properties: { "class": "this.cssClasses", "class.ecl-range--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeDirective, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeDirective, decorators: [{
241
241
  type: Directive,
242
242
  args: [{
243
243
  selector: 'input[eclRange]',
@@ -274,11 +274,11 @@ const COMPONENTS = [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleCom
274
274
  * @deprecated Use {@link EUI_ECL_RANGE} instead.
275
275
  */
276
276
  class EclRangeModule {
277
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
278
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeModule, imports: [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent], exports: [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent] }); }
279
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeModule, imports: [EclRangeValueComponent] }); }
277
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
278
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeModule, imports: [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent], exports: [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent] }); }
279
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeModule, imports: [EclRangeValueComponent] }); }
280
280
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRangeModule, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRangeModule, decorators: [{
282
282
  type: NgModule,
283
283
  args: [{
284
284
  imports: [...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-range.mjs","sources":["../../components/ecl-range/ecl-range-bubble.component.ts","../../components/ecl-range/ecl-range-bubble.component.html","../../components/ecl-range/ecl-range-value.component.ts","../../components/ecl-range/ecl-range-value.component.html","../../components/ecl-range/events/ecl-range.event.ts","../../components/ecl-range/ecl-range.directive.ts","../../components/ecl-range/ecl-range.module.ts","../../components/ecl-range/index.ts","../../components/ecl-range/eui-ecl-components-ecl-range.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a bubble tooltip shown above a range input,\n * used to display the current value with ECL styling.\n */\n@Component({\n\tselector: 'ecl-range-bubble',\n\ttemplateUrl: './ecl-range-bubble.component.html',\n})\nexport class EclRangeBubbleComponent extends ECLBaseDirective {\n\tel = inject(ElementRef);\n\n\t/**\n\t * Value displayed inside the bubble.\n\t */\n\t@Input() value: number;\n\n\t/**\n\t * Returns the CSS classes applied to the host element.\n\t * Always includes `ecl-range__bubble` and optionally adds the visible modifier.\n\t */\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [\n\t\t\tsuper.getCssClasses('ecl-range__bubble'),\n\t\t\tthis.isVisible ? 'ecl-range__bubble--visible' : '',\n\t\t].join(' ').trim();\n\t}\n\n\t/**\n\t * Horizontal offset in pixels for positioning the bubble.\n\t * Applied as the left style property of the host element.\n\t */\n\t@HostBinding('style.left.px') left: number;\n\n\t/**\n\t * Controls the visibility of the bubble.\n\t * Adds the `ecl-range__bubble--visible` class when true.\n\t */\n\tisVisible = false;\n}\n","<span class=\"ecl-range__value-bubble\">{{value}}</span>","import { Component, HostBinding, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the value label displayed next to a range input.\n * Applies ECL styling for the value element.\n */\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n imports: [TranslateModule],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n /**\n * Value to display next to the range input.\n */\n @Input() value: number;\n\n /**\n * ID attribute applied to the component's host element.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Adds the base `ecl-range__value` class for styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n","{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by the ECL range directive\n * whenever the range value changes.\n */\nexport class EclRangeEvent extends EclBaseEvent {\n /**\n * The current numeric value of the range input.\n */\n constructor(public value: number) {\n super();\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, ViewContainerRef, booleanAttribute, ChangeDetectorRef, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeEvent } from './events/ecl-range.event';\n\n/**\n * Directive enhancing native input[type=range] with ECL styles and behavior.\n * Adds value display, bubble indicator, RTL support and integration with reactive forms.\n */\n@Directive({\n selector: 'input[eclRange]',\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit, OnDestroy {\n protected ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * Defines the size of the range component.\n * Adds a corresponding size class like `ecl-range--m`.\n */\n @Input() eclSize = 'm';\n\n /**\n * Initial value for the range input when used standalone.\n */\n @Input() value: string;\n\n /**\n * ID assigned to the projected ECL range value component.\n */\n @Input() rangeValueId: string;\n\n /**\n * Adds the `ecl-range--invalid` class when true.\n */\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Enables or disables the display of a value label.\n */\n @Input({ transform: booleanAttribute }) hasValueLabel = true;\n\n /**\n * Emits when the range value changes.\n */\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n private rangeBubbleComponent: EclRangeBubbleComponent;\n private isRtl = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private viewContainerRef = inject(ViewContainerRef);\n private el = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private cd = inject(ChangeDetectorRef);\n\n /**\n * Returns the CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Returns whether the component is in an invalid state.\n * Checks reactive form control if available, or uses `isInvalid` input.\n */\n @HostBinding('class.ecl-range--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n /**\n * Handles native input events on the range element\n * when not used with reactive forms.\n */\n @HostListener('input', ['$any($event)'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n /**\n * Angular lifecycle hook.\n * Initializes dynamic components and event listeners.\n */\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.initializeEventListeners();\n this.observeReactiveFormValueChanges();\n this.handleRtlChangeState();\n }\n\n /**\n * Angular lifecycle hook.\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private createRangeValueComponent(): void {\n const componentRangeBubbleRef = this.viewContainerRef.createComponent(EclRangeBubbleComponent);\n const componentRangeValueRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeBubbleComponent = componentRangeBubbleRef.instance;\n this.rangeValueComponent = componentRangeValueRef.instance;\n if (this.rangeValueId) {\n this.rangeValueComponent.id = this.rangeValueId;\n }\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeBubbleComponent.value = numberValue;\n this.rangeValueComponent.value = numberValue;\n\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n\n private initializeEventListeners(): void {\n const rangeElement = this.el.nativeElement;\n\n const mouseEnter$ = fromEvent(rangeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(rangeElement, 'mouseleave');\n const rangeValueChange$ = fromEvent(rangeElement, 'input');\n\n mouseEnter$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = true;\n this.cd.detectChanges();\n this.recalculateBubblePosition();\n });\n\n rangeValueChange$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.recalculateBubblePosition();\n });\n\n mouseLeave$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = false;\n });\n }\n\n private recalculateBubblePosition(): void {\n\n const halfThumbWidth = 8;\n const halfLabelWidth = this.rangeBubbleComponent.el.nativeElement.offsetWidth / 2;\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const center = rect.width / 2;\n\n const min = this.el.nativeElement.min ? this.el.nativeElement.min : 0;\n const max = this.el.nativeElement.max;\n const percentOfRange =\n (this.el.nativeElement.value - min) / (max - min);\n\n const valuePxPosition = percentOfRange * rect.width;\n const distFromCenter = valuePxPosition - center;\n const percentDistFromCenter = distFromCenter / center;\n\n const offset = percentDistFromCenter * halfThumbWidth;\n if (this.isRtl) {\n this.rangeBubbleComponent.left = this.el.nativeElement.offsetLeft + rect.width - valuePxPosition - halfLabelWidth + offset;\n } else {\n this.rangeBubbleComponent.left = valuePxPosition - halfLabelWidth - offset + this.el.nativeElement.offsetLeft;\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent];\n\n/**\n * Module that provides the EclRange directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_RANGE} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclRangeModule {}\n","import { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nexport * from './ecl-range.module';\nexport * from './ecl-range.directive';\nexport * from './ecl-range-value.component';\nexport * from './ecl-range-bubble.component';\nexport * from './events/ecl-range.event';\n\nexport const EUI_ECL_RANGE = [\n EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent,\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-range.mjs","sources":["../../components/ecl-range/ecl-range-bubble.component.ts","../../components/ecl-range/ecl-range-bubble.component.html","../../components/ecl-range/ecl-range-value.component.ts","../../components/ecl-range/ecl-range-value.component.html","../../components/ecl-range/events/ecl-range.event.ts","../../components/ecl-range/ecl-range.directive.ts","../../components/ecl-range/ecl-range.module.ts","../../components/ecl-range/index.ts","../../components/ecl-range/eui-ecl-components-ecl-range.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a bubble tooltip shown above a range input,\n * used to display the current value with ECL styling.\n */\n@Component({\n\tselector: 'ecl-range-bubble',\n\ttemplateUrl: './ecl-range-bubble.component.html',\n})\nexport class EclRangeBubbleComponent extends ECLBaseDirective {\n\tel = inject(ElementRef);\n\n\t/**\n\t * Value displayed inside the bubble.\n\t */\n\t@Input() value: number;\n\n\t/**\n\t * Returns the CSS classes applied to the host element.\n\t * Always includes `ecl-range__bubble` and optionally adds the visible modifier.\n\t */\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [\n\t\t\tsuper.getCssClasses('ecl-range__bubble'),\n\t\t\tthis.isVisible ? 'ecl-range__bubble--visible' : '',\n\t\t].join(' ').trim();\n\t}\n\n\t/**\n\t * Horizontal offset in pixels for positioning the bubble.\n\t * Applied as the left style property of the host element.\n\t */\n\t@HostBinding('style.left.px') left: number;\n\n\t/**\n\t * Controls the visibility of the bubble.\n\t * Adds the `ecl-range__bubble--visible` class when true.\n\t */\n\tisVisible = false;\n}\n","<span class=\"ecl-range__value-bubble\">{{value}}</span>","import { Component, HostBinding, Input } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the value label displayed next to a range input.\n * Applies ECL styling for the value element.\n */\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n imports: [TranslateModule],\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n /**\n * Value to display next to the range input.\n */\n @Input() value: number;\n\n /**\n * ID attribute applied to the component's host element.\n */\n @Input() @HostBinding('attr.id') id: string;\n\n /**\n * Returns the CSS classes applied to the host element.\n * Adds the base `ecl-range__value` class for styling.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n","{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n","import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted by the ECL range directive\n * whenever the range value changes.\n */\nexport class EclRangeEvent extends EclBaseEvent {\n /**\n * The current numeric value of the range input.\n */\n constructor(public value: number) {\n super();\n }\n}\n","import { Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, ViewContainerRef, booleanAttribute, ChangeDetectorRef, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeEvent } from './events/ecl-range.event';\n\n/**\n * Directive enhancing native input[type=range] with ECL styles and behavior.\n * Adds value display, bubble indicator, RTL support and integration with reactive forms.\n */\n@Directive({\n selector: 'input[eclRange]',\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit, OnDestroy {\n protected ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * Defines the size of the range component.\n * Adds a corresponding size class like `ecl-range--m`.\n */\n @Input() eclSize = 'm';\n\n /**\n * Initial value for the range input when used standalone.\n */\n @Input() value: string;\n\n /**\n * ID assigned to the projected ECL range value component.\n */\n @Input() rangeValueId: string;\n\n /**\n * Adds the `ecl-range--invalid` class when true.\n */\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Enables or disables the display of a value label.\n */\n @Input({ transform: booleanAttribute }) hasValueLabel = true;\n\n /**\n * Emits when the range value changes.\n */\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n private rangeBubbleComponent: EclRangeBubbleComponent;\n private isRtl = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private viewContainerRef = inject(ViewContainerRef);\n private el = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private cd = inject(ChangeDetectorRef);\n\n /**\n * Returns the CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Returns whether the component is in an invalid state.\n * Checks reactive form control if available, or uses `isInvalid` input.\n */\n @HostBinding('class.ecl-range--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n /**\n * Handles native input events on the range element\n * when not used with reactive forms.\n */\n @HostListener('input', ['$any($event)'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n /**\n * Angular lifecycle hook.\n * Initializes dynamic components and event listeners.\n */\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.initializeEventListeners();\n this.observeReactiveFormValueChanges();\n this.handleRtlChangeState();\n }\n\n /**\n * Angular lifecycle hook.\n * Cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private createRangeValueComponent(): void {\n const componentRangeBubbleRef = this.viewContainerRef.createComponent(EclRangeBubbleComponent);\n const componentRangeValueRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeBubbleComponent = componentRangeBubbleRef.instance;\n this.rangeValueComponent = componentRangeValueRef.instance;\n if (this.rangeValueId) {\n this.rangeValueComponent.id = this.rangeValueId;\n }\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeBubbleComponent.value = numberValue;\n this.rangeValueComponent.value = numberValue;\n\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n\n private initializeEventListeners(): void {\n const rangeElement = this.el.nativeElement;\n\n const mouseEnter$ = fromEvent(rangeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(rangeElement, 'mouseleave');\n const rangeValueChange$ = fromEvent(rangeElement, 'input');\n\n mouseEnter$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = true;\n this.cd.detectChanges();\n this.recalculateBubblePosition();\n });\n\n rangeValueChange$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.recalculateBubblePosition();\n });\n\n mouseLeave$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = false;\n });\n }\n\n private recalculateBubblePosition(): void {\n\n const halfThumbWidth = 8;\n const halfLabelWidth = this.rangeBubbleComponent.el.nativeElement.offsetWidth / 2;\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const center = rect.width / 2;\n\n const min = this.el.nativeElement.min ? this.el.nativeElement.min : 0;\n const max = this.el.nativeElement.max;\n const percentOfRange =\n (this.el.nativeElement.value - min) / (max - min);\n\n const valuePxPosition = percentOfRange * rect.width;\n const distFromCenter = valuePxPosition - center;\n const percentDistFromCenter = distFromCenter / center;\n\n const offset = percentDistFromCenter * halfThumbWidth;\n if (this.isRtl) {\n this.rangeBubbleComponent.left = this.el.nativeElement.offsetLeft + rect.width - valuePxPosition - halfLabelWidth + offset;\n } else {\n this.rangeBubbleComponent.left = valuePxPosition - halfLabelWidth - offset + this.el.nativeElement.offsetLeft;\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent];\n\n/**\n * Module that provides the EclRange directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_RANGE} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclRangeModule {}\n","import { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\n\nexport * from './ecl-range.module';\nexport * from './ecl-range.directive';\nexport * from './ecl-range-value.component';\nexport * from './ecl-range-bubble.component';\nexport * from './events/ecl-range.event';\n\nexport const EUI_ECL_RANGE = [\n EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAGA;;;AAGG;AAKG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAJ7D,IAAA,WAAA,GAAA;;AAKC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAyBvB;;;AAGG;QACH,IAAA,CAAA,SAAS,GAAG,KAAK;AACjB,IAAA;AAvBA;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;QACb,OAAO;AACN,YAAA,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,4BAA4B,GAAG,EAAE;AAClD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACnB;mHAlBY,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,mNCXpC,0DAAsD,EAAA,CAAA,CAAA;;gGDWzC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;+BACC,kBAAkB,EAAA,QAAA,EAAA,0DAAA,EAAA;;sBAS3B;;sBAMA,WAAW;uBAAC,OAAO;;sBAYnB,WAAW;uBAAC,eAAe;;;AE/B7B;;;AAGG;AAaG,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAWxD;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACrE;mHAlBS,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBnC,uGACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDUc,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;gGAShB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;+BACI,iBAAiB,EAAA,OAAA,EAElB,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,uGAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;sBAazB;;sBAKA;;sBAAS,WAAW;uBAAC,SAAS;;sBAM9B,WAAW;uBAAC,OAAO;;;AEjCxB;;;AAGG;AACG,MAAO,aAAc,SAAQ,YAAY,CAAA;AAC3C;;AAEG;AACH,IAAA,WAAA,CAAmB,KAAa,EAAA;AAC5B,QAAA,KAAK,EAAE;QADQ,IAAA,CAAA,KAAK,GAAL,KAAK;IAExB;AACH;;ACJD;;;AAGG;AAIG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAHvD,IAAA,WAAA,GAAA;;AAIc,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEvE;;;AAGG;QACM,IAAA,CAAA,OAAO,GAAG,GAAG;AAYtB;;AAEG;QACqC,IAAA,CAAA,SAAS,GAAG,KAAK;AAEzD;;AAEG;QACqC,IAAA,CAAA,aAAa,GAAG,IAAI;AAE5D;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAiB;QAIjD,IAAA,CAAA,KAAK,GAAG,KAAK;AACb,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;AACnD,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;AA2IzC,IAAA;AAzIG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAChH;AAEA;;;AAGG;AACH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;YACH,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;AAEA;;;AAGG;AAEH,IAAA,OAAO,CAAC,GAAe,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAA0B;AAC7C,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;QACvC;IACJ;AAEA;;;AAGG;IACH,QAAQ,GAAA;QACJ,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,6BAA6B,EAAE;QACpC,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,+BAA+B,EAAE;QACtC,IAAI,CAAC,oBAAoB,EAAE;IAC/B;AAEA;;;AAGG;IACH,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;IAC/B;IAEQ,oBAAoB,GAAA;QACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACtF,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;AACzB,QAAA,CAAC,CAAC;IACN;IAEQ,yBAAyB,GAAA;QAC7B,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC;QAC9F,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC;AAC5F,QAAA,IAAI,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ;AAC5D,QAAA,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,QAAQ;AAC1D,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY;QACnD;IACJ;IAEQ,6BAA6B,GAAA;AACjC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACvE,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;IACvC;IAEQ,+BAA+B,GAAA;AACnC,QAAA,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAa,KAAI;AAClF,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAChC,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AAEvC,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,WAAW;AAC7C,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,WAAW;QAE5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IACzD;IAEQ,wBAAwB,GAAA;AAC5B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QAE1C,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;QACzD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;QACzD,MAAM,iBAAiB,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;AAExD,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACtD,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI;AAC1C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,yBAAyB,EAAE;AACpC,QAAA,CAAC,CAAC;AAEF,QAAA,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC5D,IAAI,CAAC,yBAAyB,EAAE;AAChC,QAAA,CAAC,CAAC;AAEN,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACtD,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,KAAK;AAC/C,QAAA,CAAC,CAAC;IACR;IAEQ,yBAAyB,GAAA;QAE7B,MAAM,cAAc,GAAG,CAAC;AACxB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC;QAEjF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC1D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;AACrC,QAAA,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC;AAEnD,QAAA,MAAM,eAAe,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK;AACnD,QAAA,MAAM,cAAc,GAAG,eAAe,GAAG,MAAM;AAC/C,QAAA,MAAM,qBAAqB,GAAG,cAAc,GAAG,MAAM;AAErD,QAAA,MAAM,MAAM,GAAG,qBAAqB,GAAG,cAAc;AACrD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM;QAC9H;aAAQ;AACJ,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU;QACjH;IACJ;mHAlLS,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAsBN,gBAAgB,CAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAKhB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;gGA3B3B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC9B,iBAAA;;sBAQI;;sBAKA;;sBAKA;;sBAKA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC;;sBAcA,WAAW;uBAAC,OAAO;;sBASnB,WAAW;uBAAC,0BAA0B;;sBAatC,YAAY;uBAAC,OAAO,EAAE,CAAC,cAAc,CAAC;;;AC/E3C,MAAM,UAAU,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;AAEvF;;;;AAIG;MAKU,cAAc,CAAA;mHAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAAd,cAAc,EAAA,OAAA,EAAA,CAXP,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAlE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAWzE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAXY,sBAAsB,CAAA,EAAA,CAAA,CAAA;;gGAWhD,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC3B,iBAAA;;;ACLM,MAAM,aAAa,GAAG;IACzB,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB;;;ACXtE;;AAEG;;;;"}
@@ -91,10 +91,10 @@ class EclRatingFieldComponent extends ECLBaseDirective {
91
91
  registerOnTouched(fn) {
92
92
  this.onTouched = fn;
93
93
  }
94
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-next.5", type: EclRatingFieldComponent, isStandalone: true, selector: "ecl-rating-field", inputs: { name: "name", numberOfStars: ["numberOfStars", "numberOfStars", numberAttribute], rating: ["rating", "rating", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { ratingChange: "ratingChange" }, host: { properties: { "attr.disabled": "this.disabled", "class": "this.cssClasses" } }, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.0", type: EclRatingFieldComponent, isStandalone: true, selector: "ecl-rating-field", inputs: { name: "name", numberOfStars: ["numberOfStars", "numberOfStars", numberAttribute], rating: ["rating", "rating", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { ratingChange: "ratingChange" }, host: { properties: { "attr.disabled": "this.disabled", "class": "this.cssClasses" } }, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
96
96
  }
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldComponent, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldComponent, decorators: [{
98
98
  type: Component,
99
99
  args: [{ selector: 'ecl-rating-field', imports: [...EUI_ECL_ICON], providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n" }]
100
100
  }], propDecorators: { name: [{
@@ -124,11 +124,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5",
124
124
  * @deprecated Use {@link EUI_ECL_RATING_FIELD} instead.
125
125
  */
126
126
  class EclRatingFieldModule {
127
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
128
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldModule, imports: [EclRatingFieldComponent], exports: [EclRatingFieldComponent] }); }
129
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldModule, imports: [EclRatingFieldComponent] }); }
127
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
128
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldModule, imports: [EclRatingFieldComponent], exports: [EclRatingFieldComponent] }); }
129
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldModule, imports: [EclRatingFieldComponent] }); }
130
130
  }
131
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-next.5", ngImport: i0, type: EclRatingFieldModule, decorators: [{
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.0", ngImport: i0, type: EclRatingFieldModule, decorators: [{
132
132
  type: NgModule,
133
133
  args: [{
134
134
  imports: [EclRatingFieldComponent],