@eui/ecl 21.0.0-next.1 → 21.0.0-next.11

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 (295) hide show
  1. package/assets/i18n-ecl/bg.json +1 -2
  2. package/assets/i18n-ecl/cs.json +1 -2
  3. package/assets/i18n-ecl/da.json +1 -2
  4. package/assets/i18n-ecl/de.json +1 -2
  5. package/assets/i18n-ecl/el.json +1 -2
  6. package/assets/i18n-ecl/en.json +1 -2
  7. package/assets/i18n-ecl/es.json +1 -2
  8. package/assets/i18n-ecl/et.json +1 -2
  9. package/assets/i18n-ecl/fi.json +1 -2
  10. package/assets/i18n-ecl/fr.json +1 -2
  11. package/assets/i18n-ecl/ga.json +1 -2
  12. package/assets/i18n-ecl/hr.json +1 -2
  13. package/assets/i18n-ecl/hu.json +1 -2
  14. package/assets/i18n-ecl/it.json +1 -2
  15. package/assets/i18n-ecl/lt.json +1 -2
  16. package/assets/i18n-ecl/lv.json +1 -2
  17. package/assets/i18n-ecl/mt.json +1 -2
  18. package/assets/i18n-ecl/nl.json +1 -2
  19. package/assets/i18n-ecl/pl.json +1 -2
  20. package/assets/i18n-ecl/pt.json +1 -2
  21. package/assets/i18n-ecl/ro.json +1 -2
  22. package/assets/i18n-ecl/sk.json +1 -2
  23. package/assets/i18n-ecl/sl.json +1 -2
  24. package/assets/i18n-ecl/sv.json +1 -2
  25. package/docs/changelog.html +314 -0
  26. package/docs/components/EclAccordionComponent.html +2 -2
  27. package/docs/components/EclAccordionItemComponent.html +2 -2
  28. package/docs/components/EclAppComponent.html +2 -2
  29. package/docs/components/EclBannerComponent.html +2 -2
  30. package/docs/components/EclBlockquoteComponent.html +2 -2
  31. package/docs/components/EclBreadcrumbComponent.html +2 -2
  32. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  33. package/docs/components/EclButtonComponent.html +2 -2
  34. package/docs/components/EclCardBodyComponent.html +2 -2
  35. package/docs/components/EclCardComponent.html +2 -2
  36. package/docs/components/EclCarouselComponent.html +2 -2
  37. package/docs/components/EclCarouselItemComponent.html +2 -2
  38. package/docs/components/EclCategoryFilterComponent.html +2 -2
  39. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  40. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  41. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  42. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  43. package/docs/components/EclContentBlockComponent.html +2 -2
  44. package/docs/components/EclContentItemComponent.html +2 -2
  45. package/docs/components/EclDateBlockComponent.html +2 -2
  46. package/docs/components/EclDescriptionListDefinitionComponent.html +3 -3
  47. package/docs/components/EclExpandableComponent.html +2 -2
  48. package/docs/components/EclFactFiguresComponent.html +3 -3
  49. package/docs/components/EclFactFiguresItemComponent.html +42 -4
  50. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  51. package/docs/components/EclFeaturedComponent.html +2 -2
  52. package/docs/components/EclFeaturedItemComponent.html +2 -2
  53. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  54. package/docs/components/EclFileComponent.html +2 -2
  55. package/docs/components/EclFileItemComponent.html +2 -2
  56. package/docs/components/EclFileItemsComponent.html +2 -2
  57. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  58. package/docs/components/EclFormGroupComponent.html +2 -2
  59. package/docs/components/EclFormLabelComponent.html +3 -3
  60. package/docs/components/EclGalleryComponent.html +2 -2
  61. package/docs/components/EclGalleryFooterComponent.html +3 -3
  62. package/docs/components/EclGalleryItemComponent.html +2 -2
  63. package/docs/components/EclIconComponent.html +2 -2
  64. package/docs/components/EclInpageNavigationComponent.html +2 -2
  65. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  66. package/docs/components/EclListIllustrationComponent.html +2 -2
  67. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  68. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  69. package/docs/components/EclMediaContainerComponent.html +2 -2
  70. package/docs/components/EclMegaMenuComponent.html +2 -2
  71. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  72. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  73. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  74. package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
  75. package/docs/components/EclMenuComponent.html +2 -2
  76. package/docs/components/EclMenuItemComponent.html +2 -2
  77. package/docs/components/EclMenuMegaComponent.html +2 -2
  78. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  79. package/docs/components/EclModalBodyComponent.html +3 -3
  80. package/docs/components/EclModalComponent.html +64 -36
  81. package/docs/components/EclModalFooterComponent.html +2 -2
  82. package/docs/components/EclModalHeaderComponent.html +3 -3
  83. package/docs/components/EclMultiselectComponent.html +2 -2
  84. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  85. package/docs/components/EclMultiselectInputComponent.html +2 -2
  86. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  87. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  88. package/docs/components/EclNavigationListComponent.html +2 -2
  89. package/docs/components/EclNavigationListItemComponent.html +2 -2
  90. package/docs/components/EclNewsTickerComponent.html +2 -2
  91. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  92. package/docs/components/EclNotificationComponent.html +51 -3
  93. package/docs/components/EclPageHeaderComponent.html +3 -3
  94. package/docs/components/{EclFactFiguresTitleComponent.html → EclPageHeaderExpandableComponent.html} +118 -20
  95. package/docs/components/EclPaginationComponent.html +2 -2
  96. package/docs/components/EclPaginationItemComponent.html +2 -2
  97. package/docs/components/EclPopoverComponent.html +2 -2
  98. package/docs/components/EclRadioHelpComponent.html +2 -2
  99. package/docs/components/EclRadioLabelComponent.html +2 -2
  100. package/docs/components/EclRangeBubbleComponent.html +2 -2
  101. package/docs/components/EclRangeValueComponent.html +2 -2
  102. package/docs/components/EclRatingFieldComponent.html +3 -3
  103. package/docs/components/EclSearchFormComponent.html +2 -2
  104. package/docs/components/EclSelectContainerComponent.html +2 -2
  105. package/docs/components/EclSiteFooterComponent.html +2 -2
  106. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  107. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  108. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  109. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  110. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  111. package/docs/components/EclSiteHeaderComponent.html +2 -2
  112. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  113. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  114. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  115. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  116. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  117. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  118. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  119. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  120. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  121. package/docs/components/EclSplashPageComponent.html +2 -2
  122. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  123. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  124. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  125. package/docs/components/EclSpotlightComponent.html +2 -2
  126. package/docs/components/EclSpotlightLinkComponent.html +2 -2
  127. package/docs/components/EclStickyContainerComponent.html +2 -2
  128. package/docs/components/EclTabComponent.html +2 -2
  129. package/docs/components/EclTabLabelComponent.html +2 -2
  130. package/docs/components/EclTabMoreComponent.html +2 -2
  131. package/docs/components/EclTableSortButtonComponent.html +2 -2
  132. package/docs/components/EclTabsComponent.html +2 -2
  133. package/docs/components/EclTagComponent.html +2 -2
  134. package/docs/components/EclTimelineComponent.html +2 -2
  135. package/docs/components/EclTimelineItemComponent.html +2 -2
  136. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  137. package/docs/directives/EclFactFiguresDescriptionDirective.html +520 -0
  138. package/docs/directives/EclFeedbackHiddenDirective.html +379 -0
  139. package/docs/directives/EclHelpHiddenDirective.html +379 -0
  140. package/docs/directives/EclLinkDirective.html +58 -28
  141. package/docs/directives/EclNotificationIconDirective.html +379 -0
  142. package/docs/directives/EclNotificationLinkDirective.html +407 -0
  143. package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +519 -0
  144. package/docs/js/menu-wc.js +68 -39
  145. package/docs/js/menu-wc_es5.js +1 -1
  146. package/docs/js/search/search_index.js +2 -2
  147. package/docs/miscellaneous/variables.html +26 -22
  148. package/docs/modules/EclFactFiguresModule.html +2 -14
  149. package/docs/modules/EclFormLabelModule.html +13 -1
  150. package/docs/modules/EclNotificationModule.html +12 -0
  151. package/docs/overview.html +2 -2
  152. package/docs/properties.html +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
  154. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
  156. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
  158. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
  160. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -14
  162. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
  164. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  165. package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
  166. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
  168. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
  170. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +17 -17
  172. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
  174. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
  176. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  177. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
  178. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  179. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
  180. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  181. package/fesm2022/eui-ecl-components-ecl-divider.mjs +7 -7
  182. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  183. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
  184. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +37 -82
  186. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-featured.mjs +16 -16
  188. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  189. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
  190. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
  192. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
  194. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
  196. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  197. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +79 -16
  198. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  199. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +23 -23
  200. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  201. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
  202. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  203. package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
  204. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  205. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
  206. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  207. package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
  208. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  209. package/fesm2022/eui-ecl-components-ecl-link.mjs +34 -27
  210. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  211. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
  212. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  213. package/fesm2022/eui-ecl-components-ecl-list.mjs +32 -32
  214. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  215. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
  216. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  217. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
  218. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  219. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +52 -52
  220. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  221. package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
  222. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  223. package/fesm2022/eui-ecl-components-ecl-modal.mjs +68 -67
  224. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  225. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -25
  226. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  227. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
  228. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  229. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
  230. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  231. package/fesm2022/eui-ecl-components-ecl-notification.mjs +92 -37
  232. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  233. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +110 -40
  234. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  235. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
  236. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  237. package/fesm2022/eui-ecl-components-ecl-popover.mjs +13 -13
  238. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  239. package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
  240. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  241. package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
  242. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  243. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +8 -8
  244. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  245. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
  246. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  247. package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
  248. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  249. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +67 -67
  250. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  251. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -64
  252. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  253. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
  254. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  255. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
  256. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  257. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +12 -12
  258. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
  259. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
  260. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  261. package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
  262. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  263. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
  264. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  265. package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
  266. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  267. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
  268. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  269. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
  270. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  271. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +22 -22
  272. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  273. package/fesm2022/eui-ecl-core.mjs +25 -25
  274. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  275. package/fesm2022/eui-ecl-shared.mjs +3 -3
  276. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  277. package/fesm2022/eui-ecl.mjs +4 -4
  278. package/fesm2022/eui-ecl.mjs.map +1 -1
  279. package/package.json +39 -39
  280. package/types/eui-ecl-components-ecl-fact-figures.d.ts +11 -33
  281. package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
  282. package/types/eui-ecl-components-ecl-form-label.d.ts +30 -5
  283. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
  284. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
  285. package/types/eui-ecl-components-ecl-link.d.ts +12 -9
  286. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
  287. package/types/eui-ecl-components-ecl-modal.d.ts +26 -25
  288. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  289. package/types/eui-ecl-components-ecl-notification.d.ts +46 -18
  290. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
  291. package/types/eui-ecl-components-ecl-page-header.d.ts +31 -4
  292. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
  293. package/types/eui-ecl.d.ts +1 -1
  294. package/docs/components/EclFactFiguresDescriptionComponent.html +0 -566
  295. package/docs/components/EclFactFiguresValueComponent.html +0 -565
@@ -1,6 +1,6 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, HostListener, Output, Input, Directive, inject, HostBinding, ViewChild, Component, forwardRef, ContentChildren, ContentChild, booleanAttribute, NgModule } from '@angular/core';
3
+ import { EventEmitter, HostListener, Output, Input, Directive, inject, HostBinding, ViewChild, Component, booleanAttribute, contentChild, forwardRef, ContentChildren, ContentChild, NgModule } from '@angular/core';
4
4
  import { Subject, takeUntil } from 'rxjs';
5
5
  import { ECLBaseDirective, EclBaseEvent, EclThemeService } from '@eui/ecl/core';
6
6
  import * as i3 from '@ngx-translate/core';
@@ -33,10 +33,10 @@ class EclModalCloseDirective extends ECLBaseDirective {
33
33
  onClick(evt) {
34
34
  this.modalClose.next(null);
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalCloseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclModalCloseDirective, isStandalone: true, selector: "[eclModalClose]", inputs: { eclModalResult: ["eclModalClose", "eclModalResult"], eclModalRole: "eclModalRole" }, outputs: { modalClose: "modalClose" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalCloseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclModalCloseDirective, isStandalone: true, selector: "[eclModalClose]", inputs: { eclModalResult: ["eclModalClose", "eclModalResult"], eclModalRole: "eclModalRole" }, outputs: { modalClose: "modalClose" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalCloseDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalCloseDirective, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  selector: '[eclModalClose]',
@@ -115,16 +115,16 @@ class EclModalHeaderComponent extends ECLBaseDirective {
115
115
  return null;
116
116
  }
117
117
  }
118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclModalHeaderComponent, isStandalone: true, selector: "[eclModalHeader]", inputs: { variant: "variant" }, outputs: { modalClose: "modalClose" }, host: { properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n}\n<div class=\"ecl-modal__header-content\">\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\" (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclModalHeaderComponent, isStandalone: true, selector: "[eclModalHeader]", inputs: { variant: "variant" }, outputs: { modalClose: "modalClose" }, host: { properties: { "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "closeButton", first: true, predicate: ["closeButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-modal__header-content\">\n @if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n }\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\"\n (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalHeaderComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalHeaderComponent, decorators: [{
122
122
  type: Component,
123
123
  args: [{ selector: '[eclModalHeader]', imports: [
124
124
  ...EUI_ECL_ICON,
125
125
  TranslateModule,
126
126
  ...EUI_ECL_BUTTON,
127
- ], template: "@if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n}\n<div class=\"ecl-modal__header-content\">\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\" (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>\n" }]
127
+ ], template: "<div class=\"ecl-modal__header-content\">\n @if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n }\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\"\n (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>" }]
128
128
  }], propDecorators: { variant: [{
129
129
  type: Input
130
130
  }], modalClose: [{
@@ -137,6 +137,47 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
137
137
  args: ['class']
138
138
  }] } });
139
139
 
140
+ /**
141
+ * Body component used inside the ECL Modal.
142
+ *
143
+ * Optionally allows scrollable content inside the modal body.
144
+ */
145
+ class EclModalBodyComponent extends ECLBaseDirective {
146
+ constructor() {
147
+ super(...arguments);
148
+ /**
149
+ * When true, adds a modifier class to allow scrollable content inside the modal body.
150
+ */
151
+ // TODO: Deprecated, to be removed in v21, not needed.
152
+ this.isScrollable = false;
153
+ }
154
+ /**
155
+ * Applies CSS classes for the modal body and scrollable modifier if enabled.
156
+ */
157
+ get cssClasses() {
158
+ return [
159
+ super.getCssClasses('ecl-modal__body'),
160
+ 'ecl-modal__body--has-scroll',
161
+ ].join(' ').trim();
162
+ }
163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.0.0", type: EclModalBodyComponent, isStandalone: true, selector: "[eclModalBody]", inputs: { isScrollable: ["isScrollable", "isScrollable", booleanAttribute], eclModalBodyId: "eclModalBodyId" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
165
+ }
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyComponent, decorators: [{
167
+ type: Component,
168
+ args: [{ selector: '[eclModalBody]', imports: [
169
+ NgTemplateOutlet,
170
+ ], template: "<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
171
+ }], propDecorators: { isScrollable: [{
172
+ type: Input,
173
+ args: [{ transform: booleanAttribute }]
174
+ }], eclModalBodyId: [{
175
+ type: Input
176
+ }], cssClasses: [{
177
+ type: HostBinding,
178
+ args: ['class']
179
+ }] } });
180
+
140
181
  /* eslint-disable @typescript-eslint/no-explicit-any */
141
182
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
183
  class EclModalComponent extends ECLBaseDirective {
@@ -170,6 +211,7 @@ class EclModalComponent extends ECLBaseDirective {
170
211
  * Carries an instance of `EclModalOpenEvent`.
171
212
  */
172
213
  this.modalOpen = new EventEmitter();
214
+ this.eclModalBody = contentChild(EclModalBodyComponent, ...(ngDevMode ? [{ debugName: "eclModalBody" }] : []));
173
215
  this._isOpen = false;
174
216
  this.destroy$ = new Subject();
175
217
  }
@@ -244,6 +286,7 @@ class EclModalComponent extends ECLBaseDirective {
244
286
  });
245
287
  });
246
288
  });
289
+ this.eclModalBody().eclModalBodyId = this.eclModalBodyId;
247
290
  }
248
291
  /**
249
292
  * Cleans up subscriptions on component destruction.
@@ -282,18 +325,16 @@ class EclModalComponent extends ECLBaseDirective {
282
325
  }
283
326
  }
284
327
  }
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclModalComponent, isStandalone: true, selector: "dialog[eclModal]", inputs: { variant: "variant", size: "size", eclModalBodyId: "eclModalBodyId", isOpen: "isOpen" }, outputs: { modalClose: "modalClose", modalOpen: "modalOpen" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "attr.open": "this.isModalOpened", "attr.aria-describedby": "this.hostAriaDescribedBy", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclModalHeader", first: true, predicate: i0.forwardRef(() => EclModalHeaderComponent), descendants: true }, { propertyName: "eclModalCloseComponents", predicate: i0.forwardRef(() => EclModalCloseDirective), descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ecl-modal__container\">\n <div class=\"ecl-modal__content ecl-container\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
328
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
329
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.0", type: EclModalComponent, isStandalone: true, selector: "dialog[eclModal]", inputs: { variant: "variant", size: "size", isOpen: "isOpen" }, outputs: { modalClose: "modalClose", modalOpen: "modalOpen" }, host: { listeners: { "document:keydown.escape": "onEscapeKeydownHandler()" }, properties: { "attr.open": "this.isModalOpened", "attr.aria-describedby": "this.hostAriaDescribedBy", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclModalBody", first: true, predicate: EclModalBodyComponent, descendants: true, isSignal: true }, { propertyName: "eclModalHeader", first: true, predicate: i0.forwardRef(() => EclModalHeaderComponent), descendants: true }, { propertyName: "eclModalCloseComponents", predicate: i0.forwardRef(() => EclModalCloseDirective), descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"ecl-modal__container\">\n <div class=\"ecl-modal__content ecl-container\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] }); }
287
330
  }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalComponent, decorators: [{
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalComponent, decorators: [{
289
332
  type: Component,
290
333
  args: [{ selector: 'dialog[eclModal]', imports: [A11yModule], template: "<div class=\"ecl-modal__container\">\n <div class=\"ecl-modal__content ecl-container\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n </div>\n</div>\n" }]
291
334
  }], propDecorators: { variant: [{
292
335
  type: Input
293
336
  }], size: [{
294
337
  type: Input
295
- }], eclModalBodyId: [{
296
- type: Input
297
338
  }], isOpen: [{
298
339
  type: Input
299
340
  }], modalClose: [{
@@ -306,7 +347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
306
347
  }], eclModalCloseComponents: [{
307
348
  type: ContentChildren,
308
349
  args: [forwardRef(() => EclModalCloseDirective), { descendants: true }]
309
- }], isModalOpened: [{
350
+ }], eclModalBody: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclModalBodyComponent), { isSignal: true }] }], isModalOpened: [{
310
351
  type: HostBinding,
311
352
  args: ['attr.open']
312
353
  }], hostAriaDescribedBy: [{
@@ -346,10 +387,10 @@ class EclModalFooterComponent extends ECLBaseDirective {
346
387
  });
347
388
  }
348
389
  }
349
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
350
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclModalFooterComponent, isStandalone: true, selector: "[eclModalFooter]", host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "buttonComponents", predicate: i0.forwardRef(() => EclButtonComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n" }); }
390
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
391
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: EclModalFooterComponent, isStandalone: true, selector: "[eclModalFooter]", host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "buttonComponents", predicate: i0.forwardRef(() => EclButtonComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n" }); }
351
392
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalFooterComponent, decorators: [{
393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalFooterComponent, decorators: [{
353
394
  type: Component,
354
395
  args: [{ selector: '[eclModalFooter]', template: "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n" }]
355
396
  }], propDecorators: { buttonComponents: [{
@@ -360,46 +401,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
360
401
  args: ['class']
361
402
  }] } });
362
403
 
363
- /**
364
- * Body component used inside the ECL Modal.
365
- *
366
- * Optionally allows scrollable content inside the modal body.
367
- */
368
- class EclModalBodyComponent extends ECLBaseDirective {
369
- constructor() {
370
- super(...arguments);
371
- /**
372
- * When true, adds a modifier class to allow scrollable content inside the modal body.
373
- */
374
- this.isScrollable = false;
375
- }
376
- /**
377
- * Applies CSS classes for the modal body and scrollable modifier if enabled.
378
- */
379
- get cssClasses() {
380
- return [
381
- super.getCssClasses('ecl-modal__body'),
382
- this.isScrollable ? 'ecl-modal__body--has-scroll' : '',
383
- ].join(' ').trim();
384
- }
385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclModalBodyComponent, isStandalone: true, selector: "[eclModalBody]", inputs: { isScrollable: ["isScrollable", "isScrollable", booleanAttribute], eclModalBodyId: "eclModalBodyId" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "@if (isScrollable) {\n<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
387
- }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalBodyComponent, decorators: [{
389
- type: Component,
390
- args: [{ selector: '[eclModalBody]', imports: [
391
- NgTemplateOutlet,
392
- ], template: "@if (isScrollable) {\n<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
393
- }], propDecorators: { isScrollable: [{
394
- type: Input,
395
- args: [{ transform: booleanAttribute }]
396
- }], eclModalBodyId: [{
397
- type: Input
398
- }], cssClasses: [{
399
- type: HostBinding,
400
- args: ['class']
401
- }] } });
402
-
403
404
  /**
404
405
  * Directive for styling fixed content inside the modal body.
405
406
  *
@@ -413,10 +414,10 @@ class EclModalBodyFixedContentDirective extends ECLBaseDirective {
413
414
  */
414
415
  this.className = true;
415
416
  }
416
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalBodyFixedContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
417
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclModalBodyFixedContentDirective, isStandalone: true, selector: "[eclModalBodyFixedContent]", host: { properties: { "class.ecl-modal__body-fixed": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
417
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyFixedContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
418
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclModalBodyFixedContentDirective, isStandalone: true, selector: "[eclModalBodyFixedContent]", host: { properties: { "class.ecl-modal__body-fixed": "this.className" } }, usesInheritance: true, ngImport: i0 }); }
418
419
  }
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalBodyFixedContentDirective, decorators: [{
420
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyFixedContentDirective, decorators: [{
420
421
  type: Directive,
421
422
  args: [{
422
423
  selector: '[eclModalBodyFixedContent]',
@@ -437,10 +438,10 @@ class EclModalTriggerDirective extends ECLBaseDirective {
437
438
  onClick(evt) {
438
439
  this.eclModalTriggerFor?.openModal();
439
440
  }
440
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
441
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclModalTriggerDirective, isStandalone: true, selector: "[eclModalTriggerFor]", inputs: { eclModalTriggerFor: "eclModalTriggerFor" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
441
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
442
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclModalTriggerDirective, isStandalone: true, selector: "[eclModalTriggerFor]", inputs: { eclModalTriggerFor: "eclModalTriggerFor" }, host: { listeners: { "click": "onClick($event)" } }, usesInheritance: true, ngImport: i0 }); }
442
443
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalTriggerDirective, decorators: [{
444
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalTriggerDirective, decorators: [{
444
445
  type: Directive,
445
446
  args: [{
446
447
  selector: '[eclModalTriggerFor]',
@@ -468,8 +469,8 @@ const COMPONENTS = [
468
469
  * @deprecated Use {@link EUI_ECL_MODAL} instead.
469
470
  */
470
471
  class EclModalModule {
471
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
472
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, imports: [EclModalComponent,
472
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
473
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: EclModalModule, imports: [EclModalComponent,
473
474
  EclModalHeaderComponent,
474
475
  EclModalBodyComponent,
475
476
  EclModalBodyFixedContentDirective,
@@ -482,10 +483,10 @@ class EclModalModule {
482
483
  EclModalFooterComponent,
483
484
  EclModalCloseDirective,
484
485
  EclModalTriggerDirective] }); }
485
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, imports: [EclModalComponent,
486
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalModule, imports: [EclModalComponent,
486
487
  EclModalHeaderComponent] }); }
487
488
  }
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, decorators: [{
489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalModule, decorators: [{
489
490
  type: NgModule,
490
491
  args: [{
491
492
  imports: [...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-modal.mjs","sources":["../../components/ecl-modal/ecl-modal-close.directive.ts","../../components/ecl-modal/events/ecl-modal-open.event.ts","../../components/ecl-modal/events/ecl-modal-close.event.ts","../../components/ecl-modal/ecl-modal-header.component.ts","../../components/ecl-modal/ecl-modal-header.component.html","../../components/ecl-modal/ecl-modal.component.ts","../../components/ecl-modal/ecl-modal.component.html","../../components/ecl-modal/ecl-modal-footer.component.ts","../../components/ecl-modal/ecl-modal-footer.component.html","../../components/ecl-modal/ecl-modal-body.component.ts","../../components/ecl-modal/ecl-modal-body.component.html","../../components/ecl-modal/ecl-modal-body-fixed.directive.ts","../../components/ecl-modal/ecl-modal-trigger.directive.ts","../../components/ecl-modal/ecl-modal.module.ts","../../components/ecl-modal/index.ts","../../components/ecl-modal/eui-ecl-components-ecl-modal.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that allows an element to close the modal on click.\n *\n * Can emit a result and indicate the role (e.g., confirm, cancel).\n */\n@Directive({\n selector: '[eclModalClose]',\n})\nexport class EclModalCloseDirective<T> extends ECLBaseDirective {\n /**\n * Optional result value to emit when modal is closed.\n */\n @Input('eclModalClose') eclModalResult: T;\n\n /**\n * Optional role associated with the modal close action (e.g., confirm, cancel).\n */\n @Input() eclModalRole: 'confirm' | 'cancel' | string;\n\n /**\n * Event emitted when the element is clicked and the modal should be closed.\n */\n @Output() modalClose = new EventEmitter();\n\n /**\n * Handles click events and emits the `modalClose` event.\n */\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.modalClose.next(null);\n }\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\nexport class EclModalOpenEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclModalResult } from '../models/ecl-modal-result.model';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalCloseEvent<T = any> extends EclBaseEvent {\n\tconstructor(public eclModalResult?: EclModalResult<T>) {\n\t\tsuper();\n\t}\n}","import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclModalCloseEvent } from './events';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Header component used within the ECL Modal.\n *\n * Displays an icon depending on the modal variant, user-defined content,\n * and a close button that emits a close event.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalHeader]',\n templateUrl: './ecl-modal-header.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslateModule,\n ...EUI_ECL_BUTTON,\n ],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalHeaderComponent<T = any> extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Defines the visual variant of the modal.\n *\n * Determines which icon is shown in the header.\n *\n * Possible values:\n * - `'information'`\n * - `'success'`\n * - `'warning'`\n * - `'error'`\n * - any other custom string (no icon will be shown)\n */\n @Input() variant: 'information' | 'success' | 'warning' | 'error' | string;\n\n /**\n * Event emitted when the close button is clicked.\n *\n * Emits an `EclModalCloseEvent` object.\n */\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n /**\n * Applies the ECL CSS class for modal header container.\n */\n @ViewChild('closeButton') closeButton: EclButtonComponent;\n \n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__header')].join(' ').trim();\n }\n\n /**\n * Handles the click event on the close button.\n *\n * Emits a `modalClose` event with no payload.\n */\n onCloseClick(): void {\n this.modalClose.next(new EclModalCloseEvent());\n }\n\n /**\n * Returns the name of the icon associated with the current variant.\n *\n * @returns The icon name, or `null` if no matching variant exists.\n */\n getIcon(): 'information' | 'check-filled' | 'warning' | 'error' | null {\n if (this.variant === 'information') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'check-filled';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return null;\n }\n }\n}\n","@if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n}\n<div class=\"ecl-modal__header-content\">\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\" (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalResult } from './models/ecl-modal-result.model';\nimport { EclModalCloseEvent } from './events';\nimport { EclModalOpenEvent } from './events';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { uniqueId } from '@eui/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[eclModal]',\n templateUrl: './ecl-modal.component.html',\n imports: [A11yModule],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalComponent<T = any> extends ECLBaseDirective implements OnChanges, AfterContentInit, OnDestroy {\n /**\n * Defines the visual variant of the modal.\n * \n * Possible values: 'information', 'success', 'warning', 'error', or a custom string.\n */\n @Input() variant: 'information' | 'success' | 'warning' | 'error' | string;\n\n /**\n * Defines the size of the modal.\n * \n * Possible values:\n * - 's' – small\n * - 'm' – medium\n * - 'l' – large (default)\n * - 'full' – full width\n */\n @Input() size: 's' | 'm' | 'l' | 'full' | string = 'l';\n \n /**\n * Unique ID for the modal body.\n * - Used for accessibility (`aria-describedby` on the modal container).\n * - Generated dynamically using `uniqueId()` to avoid duplicate IDs on the same page.\n */\n @Input() eclModalBodyId: string = `ecl-modal-body-${uniqueId()}`;\n\n /**\n * Controls whether the modal is open.\n * \n * Can be set to any truthy value to open the modal.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input()\n set isOpen(value: boolean | any) {\n this._isOpen = coerceBooleanProperty(value);\n }\n\n /**\n * Returns the open state of the modal.\n */\n get isOpen(): boolean | null {\n return this._isOpen || null;\n }\n\n /**\n * Emits when the modal is closed.\n * \n * Carries an instance of `EclModalCloseEvent`.\n */\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n /**\n * Emits when the modal is opened.\n * \n * Carries an instance of `EclModalOpenEvent`.\n */\n @Output() modalOpen = new EventEmitter<EclModalOpenEvent>();\n\n /**\n * Header component projected into the modal.\n */\n @ContentChild(forwardRef(() => EclModalHeaderComponent)) eclModalHeader: EclModalHeaderComponent<T>;\n\n /**\n * All close directives projected inside the modal.\n */\n @ContentChildren(forwardRef(() => EclModalCloseDirective), { descendants: true })\n eclModalCloseComponents: QueryList<EclModalCloseDirective<T>>;\n\n private _isOpen = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n /**\n * Binds the `open` attribute to the modal element.\n * \n * Used by the native `<dialog>` element.\n */\n @HostBinding('attr.open')\n get isModalOpened(): boolean {\n return this.isOpen;\n }\n\n /**\n * Binds the `aria-describedby` attribute to the modal element.\n * Connects the dialog with the modal body via its unique ID for accessibility.\n */\n @HostBinding('attr.aria-describedby')\n get hostAriaDescribedBy(): string {\n return this.eclModalBodyId;\n }\n\n /**\n * Applies base and variant CSS classes to the modal element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal'),\n this.variant ? `ecl-modal--${this.variant}` : '',\n `ecl-modal--${this.size}`,\n ].join(' ').trim();\n }\n\n /**\n * Handles ESC key press to close the modal with `cancel` role.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.closeModal({ eclModalRole: 'cancel' });\n }\n\n /**\n * Reacts to input changes and updates the modal header if available.\n */\n ngOnChanges(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n }\n }\n\n /**\n * Subscribes to close events from header and close directives after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n this.eclModalHeader.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({ eclModalRole: 'cancel' });\n });\n }\n\n this.eclModalCloseComponents?.forEach((eclModalCloseCmp) => {\n eclModalCloseCmp.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({\n eclModalData: eclModalCloseCmp.eclModalResult,\n eclModalRole: eclModalCloseCmp.eclModalRole,\n });\n });\n });\n }\n\n /**\n * Cleans up subscriptions on component destruction.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Opens the modal and emits a `modalOpen` event.\n * \n * If the event is not prevented, the modal will be displayed.\n */\n openModal(): void {\n const event = new EclModalOpenEvent();\n this.modalOpen.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = true;\n }\n setTimeout(() => this.eclModalHeader.closeButton.el.nativeElement.focus(), 100);\n }\n\n /**\n * Closes the modal and emits a `modalClose` event with optional result data.\n * \n * If the event is not prevented, the modal will be hidden.\n */\n closeModal(result?: EclModalResult<T>): void {\n if (this.isOpen) {\n const event = new EclModalCloseEvent({\n eclModalData: result?.eclModalData,\n eclModalRole: result?.eclModalRole,\n });\n this.modalClose.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = false;\n }\n }\n }\n}\n","<div class=\"ecl-modal__container\">\n <div class=\"ecl-modal__content ecl-container\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n </div>\n</div>\n","import { AfterContentInit, Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\n\n/**\n * Footer component used within the ECL Modal.\n *\n * Automatically applies styling to buttons projected into the footer.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalFooter]',\n templateUrl: './ecl-modal-footer.component.html',\n})\nexport class EclModalFooterComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Queries all button components projected into the footer.\n */\n @ContentChildren(forwardRef(() => EclButtonComponent), { descendants: true })\n buttonComponents: QueryList<EclButtonComponent>;\n\n /**\n * Applies the ECL CSS class for modal footer container.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__footer')].join(' ').trim();\n }\n\n /**\n * Lifecycle hook that runs after content projection.\n *\n * Applies `ecl-modal__button` class to each projected button component.\n */\n ngAfterContentInit(): void {\n if (this.buttonComponents) {\n setTimeout(() => {\n this.buttonComponents.forEach((btn) => {\n btn.class = 'ecl-modal__button';\n });\n });\n }\n }\n}\n","<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Body component used inside the ECL Modal.\n *\n * Optionally allows scrollable content inside the modal body.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalBody]',\n templateUrl: './ecl-modal-body.component.html',\n imports: [\n NgTemplateOutlet,\n ],\n})\nexport class EclModalBodyComponent extends ECLBaseDirective {\n /**\n * When true, adds a modifier class to allow scrollable content inside the modal body.\n */\n @Input({ transform: booleanAttribute }) isScrollable = false;\n \n /**\n * Unique ID for the modal body, used for accessibility (`aria-describedby`).\n * This ID is passed from the parent `EclModalComponent`.\n */\n @Input() eclModalBodyId!: string;\n\n /**\n * Applies CSS classes for the modal body and scrollable modifier if enabled.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-modal__body'),\n this.isScrollable ? 'ecl-modal__body--has-scroll' : '',\n ].join(' ').trim();\n }\n}\n","@if (isScrollable) {\n<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n} @else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for styling fixed content inside the modal body.\n *\n * Applies the appropriate CSS class to mark the element as fixed inside the modal body.\n */\n@Directive({\n selector: '[eclModalBodyFixedContent]',\n})\nexport class EclModalBodyFixedContentDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-modal__body-fixed` class to the host element.\n */\n @HostBinding('class.ecl-modal__body-fixed') className = true;\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to trigger opening of a target ECL modal on click.\n */\n@Directive({\n selector: '[eclModalTriggerFor]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalTriggerDirective<T = any> extends ECLBaseDirective {\n /**\n * Reference to the modal component that should be opened on click.\n */\n @Input() eclModalTriggerFor: EclModalComponent<T>;\n\n /**\n * Handles click event and opens the target modal.\n */\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.eclModalTriggerFor?.openModal();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\n\nconst COMPONENTS = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalFooterComponent,\n EclModalCloseDirective,\n EclModalTriggerDirective,\n];\n\n/**\n * @description\n * Module that provides the EclModal component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_MODAL} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclModalModule {}\n","import { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\n\nexport * from './ecl-modal.module';\nexport * from './ecl-modal.component';\nexport * from './ecl-modal-header.component';\nexport * from './ecl-modal-footer.component';\nexport * from './ecl-modal-body.component';\nexport * from './ecl-modal-body-fixed.directive';\nexport * from './ecl-modal-trigger.directive';\nexport * from './ecl-modal-close.directive';\nexport * from './events/index';\nexport * from './models/ecl-modal-result.model';\n\nexport const EUI_ECL_MODAL = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalFooterComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalTriggerDirective,\n EclModalCloseDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-modal.mjs","sources":["../../components/ecl-modal/ecl-modal-close.directive.ts","../../components/ecl-modal/events/ecl-modal-open.event.ts","../../components/ecl-modal/events/ecl-modal-close.event.ts","../../components/ecl-modal/ecl-modal-header.component.ts","../../components/ecl-modal/ecl-modal-header.component.html","../../components/ecl-modal/ecl-modal-body.component.ts","../../components/ecl-modal/ecl-modal-body.component.html","../../components/ecl-modal/ecl-modal.component.ts","../../components/ecl-modal/ecl-modal.component.html","../../components/ecl-modal/ecl-modal-footer.component.ts","../../components/ecl-modal/ecl-modal-footer.component.html","../../components/ecl-modal/ecl-modal-body-fixed.directive.ts","../../components/ecl-modal/ecl-modal-trigger.directive.ts","../../components/ecl-modal/ecl-modal.module.ts","../../components/ecl-modal/index.ts","../../components/ecl-modal/eui-ecl-components-ecl-modal.ts"],"sourcesContent":["import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that allows an element to close the modal on click.\n *\n * Can emit a result and indicate the role (e.g., confirm, cancel).\n */\n@Directive({\n selector: '[eclModalClose]',\n})\nexport class EclModalCloseDirective<T> extends ECLBaseDirective {\n /**\n * Optional result value to emit when modal is closed.\n */\n @Input('eclModalClose') eclModalResult: T;\n\n /**\n * Optional role associated with the modal close action (e.g., confirm, cancel).\n */\n @Input() eclModalRole: 'confirm' | 'cancel' | string;\n\n /**\n * Event emitted when the element is clicked and the modal should be closed.\n */\n @Output() modalClose = new EventEmitter();\n\n /**\n * Handles click events and emits the `modalClose` event.\n */\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.modalClose.next(null);\n }\n}\n","import { EclBaseEvent } from '@eui/ecl/core';\nexport class EclModalOpenEvent extends EclBaseEvent {}","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclModalResult } from '../models/ecl-modal-result.model';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalCloseEvent<T = any> extends EclBaseEvent {\n\tconstructor(public eclModalResult?: EclModalResult<T>) {\n\t\tsuper();\n\t}\n}","import { Component, EventEmitter, HostBinding, Input, Output, ViewChild, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclModalCloseEvent } from './events';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Header component used within the ECL Modal.\n *\n * Displays an icon depending on the modal variant, user-defined content,\n * and a close button that emits a close event.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalHeader]',\n templateUrl: './ecl-modal-header.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslateModule,\n ...EUI_ECL_BUTTON,\n ],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalHeaderComponent<T = any> extends ECLBaseDirective {\n eclThemeService = inject(EclThemeService);\n\n /**\n * Defines the visual variant of the modal.\n *\n * Determines which icon is shown in the header.\n *\n * Possible values:\n * - `'information'`\n * - `'success'`\n * - `'warning'`\n * - `'error'`\n * - any other custom string (no icon will be shown)\n */\n @Input() variant: 'information' | 'success' | 'warning' | 'error' | string;\n\n /**\n * Event emitted when the close button is clicked.\n *\n * Emits an `EclModalCloseEvent` object.\n */\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n /**\n * Applies the ECL CSS class for modal header container.\n */\n @ViewChild('closeButton') closeButton: EclButtonComponent;\n \n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__header')].join(' ').trim();\n }\n\n /**\n * Handles the click event on the close button.\n *\n * Emits a `modalClose` event with no payload.\n */\n onCloseClick(): void {\n this.modalClose.next(new EclModalCloseEvent());\n }\n\n /**\n * Returns the name of the icon associated with the current variant.\n *\n * @returns The icon name, or `null` if no matching variant exists.\n */\n getIcon(): 'information' | 'check-filled' | 'warning' | 'error' | null {\n if (this.variant === 'information') {\n return 'information';\n } else if (this.variant === 'success') {\n return 'check-filled';\n } else if (this.variant === 'warning') {\n return 'warning';\n } else if (this.variant === 'error') {\n return 'error';\n } else {\n return null;\n }\n }\n}\n","<div class=\"ecl-modal__header-content\">\n @if(getIcon()) {\n @if(variant === 'warning') {\n <span class=\"ecl-modal__icon-background\"></span>\n }\n <ecl-icon [icon]=\"getIcon()\" size=\"l\" class=\"ecl-modal__icon\" [title]=\"variant\"></ecl-icon>\n }\n <ng-content></ng-content>\n</div>\n<button #closeButton eclButton variant=\"tertiary\" isIconOnly class=\"ecl-modal__close\" type=\"button\"\n (click)=\"onCloseClick()\">\n <span eclButtonLabel>{{ 'ecl.common.CLOSE' | translate }}</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n</button>","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * Body component used inside the ECL Modal.\n *\n * Optionally allows scrollable content inside the modal body.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalBody]',\n templateUrl: './ecl-modal-body.component.html',\n imports: [\n NgTemplateOutlet,\n ],\n})\nexport class EclModalBodyComponent extends ECLBaseDirective {\n /**\n * When true, adds a modifier class to allow scrollable content inside the modal body.\n */\n // TODO: Deprecated, to be removed in v21, not needed.\n @Input({ transform: booleanAttribute }) isScrollable = false;\n \n /**\n * Unique ID for the modal body, used for accessibility (`aria-describedby`).\n * This ID is passed from the parent `EclModalComponent`.\n */\n @Input() eclModalBodyId!: string;\n\n /**\n * Applies CSS classes for the modal body and scrollable modifier if enabled.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-modal__body'),\n 'ecl-modal__body--has-scroll',\n ].join(' ').trim();\n }\n}\n","<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n contentChild,\n ContentChild,\n ContentChildren,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalResult } from './models/ecl-modal-result.model';\nimport { EclModalCloseEvent } from './events';\nimport { EclModalOpenEvent } from './events';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { uniqueId } from '@eui/core';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dialog[eclModal]',\n templateUrl: './ecl-modal.component.html',\n imports: [A11yModule],\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalComponent<T = any> extends ECLBaseDirective implements OnChanges, AfterContentInit, OnDestroy {\n /**\n * Defines the visual variant of the modal.\n * \n * Possible values: 'information', 'success', 'warning', 'error', or a custom string.\n */\n @Input() variant: 'information' | 'success' | 'warning' | 'error' | string;\n\n /**\n * Defines the size of the modal.\n * \n * Possible values:\n * - 's' – small\n * - 'm' – medium\n * - 'l' – large (default)\n * - 'full' – full width\n */\n @Input() size: 's' | 'm' | 'l' | 'full' | string = 'l';\n \n /**\n * Unique ID for the modal body.\n * - Used for accessibility (`aria-describedby` on the modal container).\n * - Generated dynamically using `uniqueId()` to avoid duplicate IDs on the same page.\n */\n eclModalBodyId: string = `ecl-modal-body-${uniqueId()}`;\n\n /**\n * Controls whether the modal is open.\n * \n * Can be set to any truthy value to open the modal.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input()\n set isOpen(value: boolean | any) {\n this._isOpen = coerceBooleanProperty(value);\n }\n\n /**\n * Returns the open state of the modal.\n */\n get isOpen(): boolean | null {\n return this._isOpen || null;\n }\n\n /**\n * Emits when the modal is closed.\n * \n * Carries an instance of `EclModalCloseEvent`.\n */\n @Output() modalClose = new EventEmitter<EclModalCloseEvent<T>>();\n\n /**\n * Emits when the modal is opened.\n * \n * Carries an instance of `EclModalOpenEvent`.\n */\n @Output() modalOpen = new EventEmitter<EclModalOpenEvent>();\n\n /**\n * Header component projected into the modal.\n */\n @ContentChild(forwardRef(() => EclModalHeaderComponent)) eclModalHeader: EclModalHeaderComponent<T>;\n\n /**\n * All close directives projected inside the modal.\n */\n @ContentChildren(forwardRef(() => EclModalCloseDirective), { descendants: true })\n eclModalCloseComponents: QueryList<EclModalCloseDirective<T>>;\n\n eclModalBody = contentChild(EclModalBodyComponent);\n\n private _isOpen = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n /**\n * Binds the `open` attribute to the modal element.\n * \n * Used by the native `<dialog>` element.\n */\n @HostBinding('attr.open')\n get isModalOpened(): boolean {\n return this.isOpen;\n }\n\n /**\n * Binds the `aria-describedby` attribute to the modal element.\n * Connects the dialog with the modal body via its unique ID for accessibility.\n */\n @HostBinding('attr.aria-describedby')\n get hostAriaDescribedBy(): string {\n return this.eclModalBodyId;\n }\n\n /**\n * Applies base and variant CSS classes to the modal element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal'),\n this.variant ? `ecl-modal--${this.variant}` : '',\n `ecl-modal--${this.size}`,\n ].join(' ').trim();\n }\n\n /**\n * Handles ESC key press to close the modal with `cancel` role.\n */\n @HostListener('document:keydown.escape')\n onEscapeKeydownHandler(): void {\n this.closeModal({ eclModalRole: 'cancel' });\n }\n\n /**\n * Reacts to input changes and updates the modal header if available.\n */\n ngOnChanges(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n }\n }\n\n /**\n * Subscribes to close events from header and close directives after content is initialized.\n */\n ngAfterContentInit(): void {\n if (this.eclModalHeader) {\n this.eclModalHeader.variant = this.variant;\n this.eclModalHeader.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({ eclModalRole: 'cancel' });\n });\n }\n\n this.eclModalCloseComponents?.forEach((eclModalCloseCmp) => {\n eclModalCloseCmp.modalClose.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.closeModal({\n eclModalData: eclModalCloseCmp.eclModalResult,\n eclModalRole: eclModalCloseCmp.eclModalRole,\n });\n });\n });\n this.eclModalBody().eclModalBodyId = this.eclModalBodyId;\n }\n\n /**\n * Cleans up subscriptions on component destruction.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Opens the modal and emits a `modalOpen` event.\n * \n * If the event is not prevented, the modal will be displayed.\n */\n openModal(): void {\n const event = new EclModalOpenEvent();\n this.modalOpen.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = true;\n }\n setTimeout(() => this.eclModalHeader.closeButton.el.nativeElement.focus(), 100);\n }\n\n /**\n * Closes the modal and emits a `modalClose` event with optional result data.\n * \n * If the event is not prevented, the modal will be hidden.\n */\n closeModal(result?: EclModalResult<T>): void {\n if (this.isOpen) {\n const event = new EclModalCloseEvent({\n eclModalData: result?.eclModalData,\n eclModalRole: result?.eclModalRole,\n });\n this.modalClose.next(event);\n\n if (!event.defaultPrevented) {\n this.isOpen = false;\n }\n }\n }\n}\n","<div class=\"ecl-modal__container\">\n <div class=\"ecl-modal__content ecl-container\" cdkTrapFocus cdkTrapFocusAutoCapture>\n <ng-content></ng-content>\n </div>\n</div>\n","import { AfterContentInit, Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent } from '@eui/ecl/components/ecl-button';\n\n/**\n * Footer component used within the ECL Modal.\n *\n * Automatically applies styling to buttons projected into the footer.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclModalFooter]',\n templateUrl: './ecl-modal-footer.component.html',\n})\nexport class EclModalFooterComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Queries all button components projected into the footer.\n */\n @ContentChildren(forwardRef(() => EclButtonComponent), { descendants: true })\n buttonComponents: QueryList<EclButtonComponent>;\n\n /**\n * Applies the ECL CSS class for modal footer container.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-modal__footer')].join(' ').trim();\n }\n\n /**\n * Lifecycle hook that runs after content projection.\n *\n * Applies `ecl-modal__button` class to each projected button component.\n */\n ngAfterContentInit(): void {\n if (this.buttonComponents) {\n setTimeout(() => {\n this.buttonComponents.forEach((btn) => {\n btn.class = 'ecl-modal__button';\n });\n });\n }\n }\n}\n","<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for styling fixed content inside the modal body.\n *\n * Applies the appropriate CSS class to mark the element as fixed inside the modal body.\n */\n@Directive({\n selector: '[eclModalBodyFixedContent]',\n})\nexport class EclModalBodyFixedContentDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-modal__body-fixed` class to the host element.\n */\n @HostBinding('class.ecl-modal__body-fixed') className = true;\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to trigger opening of a target ECL modal on click.\n */\n@Directive({\n selector: '[eclModalTriggerFor]',\n})\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class EclModalTriggerDirective<T = any> extends ECLBaseDirective {\n /**\n * Reference to the modal component that should be opened on click.\n */\n @Input() eclModalTriggerFor: EclModalComponent<T>;\n\n /**\n * Handles click event and opens the target modal.\n */\n @HostListener('click', ['$event'])\n onClick(evt: MouseEvent): void {\n this.eclModalTriggerFor?.openModal();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\n\nconst COMPONENTS = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalFooterComponent,\n EclModalCloseDirective,\n EclModalTriggerDirective,\n];\n\n/**\n * @description\n * Module that provides the EclModal component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_MODAL} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclModalModule {}\n","import { EclModalComponent } from './ecl-modal.component';\nimport { EclModalHeaderComponent } from './ecl-modal-header.component';\nimport { EclModalFooterComponent } from './ecl-modal-footer.component';\nimport { EclModalBodyComponent } from './ecl-modal-body.component';\nimport { EclModalBodyFixedContentDirective } from './ecl-modal-body-fixed.directive';\nimport { EclModalTriggerDirective } from './ecl-modal-trigger.directive';\nimport { EclModalCloseDirective } from './ecl-modal-close.directive';\n\nexport * from './ecl-modal.module';\nexport * from './ecl-modal.component';\nexport * from './ecl-modal-header.component';\nexport * from './ecl-modal-footer.component';\nexport * from './ecl-modal-body.component';\nexport * from './ecl-modal-body-fixed.directive';\nexport * from './ecl-modal-trigger.directive';\nexport * from './ecl-modal-close.directive';\nexport * from './events/index';\nexport * from './models/ecl-modal-result.model';\n\nexport const EUI_ECL_MODAL = [\n EclModalComponent,\n EclModalHeaderComponent,\n EclModalFooterComponent,\n EclModalBodyComponent,\n EclModalBodyFixedContentDirective,\n EclModalTriggerDirective,\n EclModalCloseDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}