@eui/ecl 21.0.0-next.2 → 21.0.0-next.20

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 (459) 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 +501 -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 +5 -45
  32. package/docs/components/EclBreadcrumbSegmentComponent.html +4 -4
  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 +2 -2
  49. package/docs/components/EclFactFiguresItemComponent.html +2 -2
  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 +3 -70
  63. package/docs/components/EclIconComponent.html +2 -2
  64. package/docs/components/EclInpageNavigationComponent.html +4 -44
  65. package/docs/components/EclInpageNavigationItemComponent.html +3 -3
  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 -26
  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 -33
  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 +3 -3
  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/EclPageHeaderExpandableComponent.html +663 -0
  95. package/docs/components/EclPaginationComponent.html +2 -2
  96. package/docs/components/EclPaginationItemComponent.html +3 -3
  97. package/docs/components/EclPopoverComponent.html +8 -37
  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 +7 -7
  104. package/docs/components/EclSelectContainerComponent.html +2 -2
  105. package/docs/components/EclSiteFooterComponent.html +3 -3
  106. package/docs/components/{EclTabMoreComponent.html → EclSiteFooterCoownerComponent.html} +15 -49
  107. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  108. package/docs/components/EclSiteFooterFixedContentEUComponent.html +3 -3
  109. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  110. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  111. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  112. package/docs/components/EclSiteHeaderComponent.html +2 -21
  113. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  114. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  115. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  116. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  117. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  118. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  119. package/docs/components/EclSiteHeaderSearchComponent.html +6 -6
  120. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  121. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  122. package/docs/components/EclSplashPageComponent.html +2 -2
  123. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  124. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  125. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  126. package/docs/components/EclSpotlightComponent.html +2 -2
  127. package/docs/components/EclSpotlightLinkComponent.html +2 -2
  128. package/docs/components/EclStickyContainerComponent.html +2 -2
  129. package/docs/components/EclTabComponent.html +3 -5
  130. package/docs/components/EclTabLabelComponent.html +2 -2
  131. package/docs/components/EclTableSortButtonComponent.html +2 -2
  132. package/docs/components/EclTabsComponent.html +3 -5
  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/EclBreadcrumbContainerDirective.html +0 -23
  138. package/docs/directives/EclFeedbackHiddenDirective.html +379 -0
  139. package/docs/{modules/EclFormLabelModule.html → directives/EclHelpHiddenDirective.html} +163 -57
  140. package/docs/directives/EclLinkDirective.html +58 -28
  141. package/docs/{modules/EclNotificationModule.html → directives/EclNotificationIconDirective.html} +163 -57
  142. package/docs/directives/EclNotificationLinkDirective.html +407 -0
  143. package/docs/directives/{EclSiteFooterLogoItemDirective.html → EclPageHeaderExpandableHeaderDirective.html} +55 -59
  144. package/docs/directives/{EclSiteFooterLogoDirective.html → EclSiteFooterCoownerItemDirective.html} +60 -34
  145. package/docs/directives/{EclSiteFooterLogoListDirective.html → EclSiteFooterCoownerListDirective.html} +41 -169
  146. package/docs/directives/EclSiteFooterListDirective.html +0 -19
  147. package/docs/directives/EclSiteFooterSectionDirective.html +0 -96
  148. package/docs/js/menu-wc.js +32 -2384
  149. package/docs/js/menu-wc_es5.js +1 -1
  150. package/docs/js/search/search_index.js +2 -2
  151. package/docs/miscellaneous/variables.html +208 -1467
  152. package/docs/modules.html +2 -722
  153. package/docs/overview.html +3 -3
  154. package/docs/properties.html +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +8 -27
  156. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-app.mjs +5 -23
  158. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-banner.mjs +32 -81
  160. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +11 -30
  162. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +15 -42
  164. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  165. package/fesm2022/eui-ecl-components-ecl-button.mjs +14 -34
  166. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-card.mjs +14 -45
  168. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +8 -27
  170. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +11 -30
  172. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +15 -34
  174. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +56 -128
  176. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  177. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +11 -30
  178. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  179. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +5 -23
  180. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  181. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +5 -23
  182. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  183. package/fesm2022/eui-ecl-components-ecl-divider.mjs +6 -24
  184. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +5 -23
  186. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +14 -48
  188. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  189. package/fesm2022/eui-ecl-components-ecl-featured.mjs +14 -47
  190. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  191. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +5 -23
  192. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  193. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +5 -23
  194. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  195. package/fesm2022/eui-ecl-components-ecl-file.mjs +32 -81
  196. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  197. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +5 -23
  198. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  199. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +51 -22
  200. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  201. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +22 -76
  202. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  203. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +5 -23
  204. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  205. package/fesm2022/eui-ecl-components-ecl-icon.mjs +5 -23
  206. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  207. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +19 -45
  208. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  209. package/fesm2022/eui-ecl-components-ecl-label.mjs +5 -23
  210. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  211. package/fesm2022/eui-ecl-components-ecl-link.mjs +32 -43
  212. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  213. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +18 -51
  214. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  215. package/fesm2022/eui-ecl-components-ecl-list.mjs +30 -75
  216. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  217. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +11 -30
  218. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  219. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +17 -50
  220. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  221. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +50 -112
  222. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  223. package/fesm2022/eui-ecl-components-ecl-menu.mjs +14 -33
  224. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  225. package/fesm2022/eui-ecl-components-ecl-modal.mjs +54 -105
  226. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  227. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -66
  228. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  229. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +14 -44
  230. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  231. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +11 -39
  232. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  233. package/fesm2022/eui-ecl-components-ecl-notification.mjs +86 -50
  234. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  235. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +100 -87
  236. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  237. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +12 -32
  238. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  239. package/fesm2022/eui-ecl-components-ecl-popover.mjs +16 -44
  240. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  241. package/fesm2022/eui-ecl-components-ecl-radio.mjs +14 -32
  242. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  243. package/fesm2022/eui-ecl-components-ecl-range.mjs +11 -30
  244. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  245. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +6 -24
  246. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  247. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +12 -32
  248. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  249. package/fesm2022/eui-ecl-components-ecl-select.mjs +8 -33
  250. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  251. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +138 -255
  252. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  253. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +67 -151
  254. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  255. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +11 -31
  256. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  257. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +29 -74
  258. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  259. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +12 -12
  260. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
  261. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +5 -23
  262. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  263. package/fesm2022/eui-ecl-components-ecl-table.mjs +32 -80
  264. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  265. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +14 -77
  266. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  267. package/fesm2022/eui-ecl-components-ecl-tag.mjs +14 -33
  268. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  269. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +5 -24
  270. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  271. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +5 -24
  272. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  273. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +20 -62
  274. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  275. package/fesm2022/eui-ecl-core.mjs +25 -25
  276. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  277. package/fesm2022/eui-ecl-shared.mjs +3 -3
  278. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  279. package/fesm2022/eui-ecl.mjs +1 -203
  280. package/fesm2022/eui-ecl.mjs.map +1 -1
  281. package/package.json +17 -17
  282. package/types/eui-ecl-components-ecl-accordion.d.ts +1 -13
  283. package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
  284. package/types/eui-ecl-components-ecl-app.d.ts +2 -13
  285. package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
  286. package/types/eui-ecl-components-ecl-banner.d.ts +1 -13
  287. package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
  288. package/types/eui-ecl-components-ecl-blockquote.d.ts +1 -13
  289. package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -1
  290. package/types/eui-ecl-components-ecl-breadcrumb.d.ts +11 -27
  291. package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
  292. package/types/eui-ecl-components-ecl-button.d.ts +1 -13
  293. package/types/eui-ecl-components-ecl-button.d.ts.map +1 -1
  294. package/types/eui-ecl-components-ecl-card.d.ts +1 -13
  295. package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
  296. package/types/eui-ecl-components-ecl-carousel.d.ts +1 -13
  297. package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
  298. package/types/eui-ecl-components-ecl-category-filter.d.ts +1 -13
  299. package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
  300. package/types/eui-ecl-components-ecl-checkbox.d.ts +1 -12
  301. package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
  302. package/types/eui-ecl-components-ecl-content-block.d.ts +1 -12
  303. package/types/eui-ecl-components-ecl-content-block.d.ts.map +1 -1
  304. package/types/eui-ecl-components-ecl-content-item.d.ts +1 -12
  305. package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
  306. package/types/eui-ecl-components-ecl-date-block.d.ts +1 -12
  307. package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
  308. package/types/eui-ecl-components-ecl-date-picker.d.ts +2 -13
  309. package/types/eui-ecl-components-ecl-date-picker.d.ts.map +1 -1
  310. package/types/eui-ecl-components-ecl-divider.d.ts +1 -12
  311. package/types/eui-ecl-components-ecl-divider.d.ts.map +1 -1
  312. package/types/eui-ecl-components-ecl-expandable.d.ts +2 -13
  313. package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
  314. package/types/eui-ecl-components-ecl-fact-figures.d.ts +1 -12
  315. package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
  316. package/types/eui-ecl-components-ecl-featured.d.ts +1 -13
  317. package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
  318. package/types/eui-ecl-components-ecl-feedback-message.d.ts +1 -12
  319. package/types/eui-ecl-components-ecl-feedback-message.d.ts.map +1 -1
  320. package/types/eui-ecl-components-ecl-file-upload.d.ts +1 -12
  321. package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
  322. package/types/eui-ecl-components-ecl-file.d.ts +1 -12
  323. package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
  324. package/types/eui-ecl-components-ecl-form-group.d.ts +1 -12
  325. package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -1
  326. package/types/eui-ecl-components-ecl-form-label.d.ts +24 -10
  327. package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
  328. package/types/eui-ecl-components-ecl-gallery.d.ts +3 -20
  329. package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
  330. package/types/eui-ecl-components-ecl-help-block.d.ts +1 -12
  331. package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -1
  332. package/types/eui-ecl-components-ecl-icon.d.ts +1 -12
  333. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
  334. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +2 -17
  335. package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
  336. package/types/eui-ecl-components-ecl-label.d.ts +1 -12
  337. package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
  338. package/types/eui-ecl-components-ecl-link.d.ts +13 -21
  339. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
  340. package/types/eui-ecl-components-ecl-list-illustration.d.ts +1 -12
  341. package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
  342. package/types/eui-ecl-components-ecl-list.d.ts +1 -12
  343. package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
  344. package/types/eui-ecl-components-ecl-loading-indicator.d.ts +1 -13
  345. package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
  346. package/types/eui-ecl-components-ecl-media-container.d.ts +1 -12
  347. package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
  348. package/types/eui-ecl-components-ecl-mega-menu.d.ts +1 -13
  349. package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
  350. package/types/eui-ecl-components-ecl-menu.d.ts +1 -12
  351. package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
  352. package/types/eui-ecl-components-ecl-modal.d.ts +22 -38
  353. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  354. package/types/eui-ecl-components-ecl-multiselect.d.ts +1 -12
  355. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
  356. package/types/eui-ecl-components-ecl-navigation-list.d.ts +1 -12
  357. package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
  358. package/types/eui-ecl-components-ecl-news-ticker.d.ts +1 -13
  359. package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
  360. package/types/eui-ecl-components-ecl-notification.d.ts +45 -29
  361. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
  362. package/types/eui-ecl-components-ecl-page-header.d.ts +30 -14
  363. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
  364. package/types/eui-ecl-components-ecl-pagination.d.ts +3 -14
  365. package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
  366. package/types/eui-ecl-components-ecl-popover.d.ts +5 -17
  367. package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
  368. package/types/eui-ecl-components-ecl-radio.d.ts +1 -12
  369. package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
  370. package/types/eui-ecl-components-ecl-range.d.ts +1 -12
  371. package/types/eui-ecl-components-ecl-range.d.ts.map +1 -1
  372. package/types/eui-ecl-components-ecl-rating-field.d.ts +2 -13
  373. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  374. package/types/eui-ecl-components-ecl-search-form.d.ts +4 -15
  375. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
  376. package/types/eui-ecl-components-ecl-select.d.ts +1 -13
  377. package/types/eui-ecl-components-ecl-select.d.ts.map +1 -1
  378. package/types/eui-ecl-components-ecl-site-footer.d.ts +41 -63
  379. package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
  380. package/types/eui-ecl-components-ecl-site-header.d.ts +4 -19
  381. package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
  382. package/types/eui-ecl-components-ecl-social-media-follow.d.ts +1 -12
  383. package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
  384. package/types/eui-ecl-components-ecl-splash-page.d.ts +1 -12
  385. package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
  386. package/types/eui-ecl-components-ecl-sticky-container.d.ts +1 -12
  387. package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
  388. package/types/eui-ecl-components-ecl-table.d.ts +1 -12
  389. package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
  390. package/types/eui-ecl-components-ecl-tabs.d.ts +4 -42
  391. package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
  392. package/types/eui-ecl-components-ecl-tag.d.ts +1 -12
  393. package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
  394. package/types/eui-ecl-components-ecl-text-area.d.ts +1 -13
  395. package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
  396. package/types/eui-ecl-components-ecl-text-input.d.ts +1 -13
  397. package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
  398. package/types/eui-ecl-components-ecl-timeline.d.ts +1 -12
  399. package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
  400. package/types/eui-ecl.d.ts +1 -69
  401. package/types/eui-ecl.d.ts.map +1 -1
  402. package/docs/modules/EclAccordionModule.html +0 -273
  403. package/docs/modules/EclAllModule.html +0 -261
  404. package/docs/modules/EclAppModule.html +0 -267
  405. package/docs/modules/EclBannerModule.html +0 -321
  406. package/docs/modules/EclBlockquoteModule.html +0 -279
  407. package/docs/modules/EclBreadcrumbModule.html +0 -321
  408. package/docs/modules/EclButtonModule.html +0 -285
  409. package/docs/modules/EclCardModule.html +0 -321
  410. package/docs/modules/EclCarouselModule.html +0 -273
  411. package/docs/modules/EclCategoryFilterModule.html +0 -279
  412. package/docs/modules/EclCheckboxModule.html +0 -321
  413. package/docs/modules/EclContentBlockModule.html +0 -321
  414. package/docs/modules/EclContentItemModule.html +0 -321
  415. package/docs/modules/EclDateBlockModule.html +0 -267
  416. package/docs/modules/EclDatePickerModule.html +0 -267
  417. package/docs/modules/EclDividerModule.html +0 -267
  418. package/docs/modules/EclExpandableModule.html +0 -267
  419. package/docs/modules/EclFactFiguresModule.html +0 -285
  420. package/docs/modules/EclFeaturedModule.html +0 -321
  421. package/docs/modules/EclFeedbackMessageModule.html +0 -267
  422. package/docs/modules/EclFileModule.html +0 -321
  423. package/docs/modules/EclFileUploadModule.html +0 -267
  424. package/docs/modules/EclFormGroupModule.html +0 -267
  425. package/docs/modules/EclGalleryModule.html +0 -321
  426. package/docs/modules/EclHelpBlockModule.html +0 -267
  427. package/docs/modules/EclIconModule.html +0 -267
  428. package/docs/modules/EclInpageNavigationModule.html +0 -321
  429. package/docs/modules/EclLabelModule.html +0 -267
  430. package/docs/modules/EclLinkModule.html +0 -285
  431. package/docs/modules/EclListIllustrationModule.html +0 -321
  432. package/docs/modules/EclListModule.html +0 -321
  433. package/docs/modules/EclLoadingIndicatorModule.html +0 -279
  434. package/docs/modules/EclMediaContainerModule.html +0 -321
  435. package/docs/modules/EclMegaMenuModule.html +0 -321
  436. package/docs/modules/EclMenuModule.html +0 -321
  437. package/docs/modules/EclModalModule.html +0 -321
  438. package/docs/modules/EclMultiselectModule.html +0 -321
  439. package/docs/modules/EclNavigationListModule.html +0 -321
  440. package/docs/modules/EclNewsTickerModule.html +0 -321
  441. package/docs/modules/EclPageHeaderModule.html +0 -321
  442. package/docs/modules/EclPaginationModule.html +0 -321
  443. package/docs/modules/EclPopoverModule.html +0 -321
  444. package/docs/modules/EclRadioModule.html +0 -285
  445. package/docs/modules/EclRangeModule.html +0 -321
  446. package/docs/modules/EclRatingFieldModule.html +0 -267
  447. package/docs/modules/EclSearchFormModule.html +0 -267
  448. package/docs/modules/EclSelectModule.html +0 -321
  449. package/docs/modules/EclSiteFooterModule.html +0 -321
  450. package/docs/modules/EclSiteHeaderModule.html +0 -321
  451. package/docs/modules/EclSocialMediaFollowModule.html +0 -321
  452. package/docs/modules/EclSplashPageModule.html +0 -321
  453. package/docs/modules/EclStickyContainerModule.html +0 -267
  454. package/docs/modules/EclTableModule.html +0 -321
  455. package/docs/modules/EclTabsModule.html +0 -321
  456. package/docs/modules/EclTagModule.html +0 -321
  457. package/docs/modules/EclTextAreaModule.html +0 -267
  458. package/docs/modules/EclTextInputModule.html +0 -267
  459. package/docs/modules/EclTimelineModule.html +0 -297
@@ -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, contentChild, forwardRef, ContentChildren, ContentChild } 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,36 @@ 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
+ /**
147
+ * Applies CSS classes for the modal body and scrollable modifier if enabled.
148
+ */
149
+ get cssClasses() {
150
+ return [
151
+ super.getCssClasses('ecl-modal__body'),
152
+ 'ecl-modal__body--has-scroll',
153
+ ].join(' ').trim();
154
+ }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.0", type: EclModalBodyComponent, isStandalone: true, selector: "[eclModalBody]", inputs: { eclModalBodyId: "eclModalBodyId" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-content></ng-content>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>" }); }
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyComponent, decorators: [{
159
+ type: Component,
160
+ args: [{ selector: '[eclModalBody]', imports: [
161
+ NgTemplateOutlet,
162
+ ], template: "<div class=\"ecl-modal__body-scroll\" [id]=\"eclModalBodyId\">\n <ng-content></ng-content>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>" }]
163
+ }], propDecorators: { eclModalBodyId: [{
164
+ type: Input
165
+ }], cssClasses: [{
166
+ type: HostBinding,
167
+ args: ['class']
168
+ }] } });
169
+
140
170
  /* eslint-disable @typescript-eslint/no-explicit-any */
141
171
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
142
172
  class EclModalComponent extends ECLBaseDirective {
@@ -170,6 +200,7 @@ class EclModalComponent extends ECLBaseDirective {
170
200
  * Carries an instance of `EclModalOpenEvent`.
171
201
  */
172
202
  this.modalOpen = new EventEmitter();
203
+ this.eclModalBody = contentChild(EclModalBodyComponent, ...(ngDevMode ? [{ debugName: "eclModalBody" }] : []));
173
204
  this._isOpen = false;
174
205
  this.destroy$ = new Subject();
175
206
  }
@@ -244,6 +275,7 @@ class EclModalComponent extends ECLBaseDirective {
244
275
  });
245
276
  });
246
277
  });
278
+ this.eclModalBody().eclModalBodyId = this.eclModalBodyId;
247
279
  }
248
280
  /**
249
281
  * Cleans up subscriptions on component destruction.
@@ -282,18 +314,16 @@ class EclModalComponent extends ECLBaseDirective {
282
314
  }
283
315
  }
284
316
  }
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"] }] }); }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
318
+ 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
319
  }
288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalComponent, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalComponent, decorators: [{
289
321
  type: Component,
290
322
  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
323
  }], propDecorators: { variant: [{
292
324
  type: Input
293
325
  }], size: [{
294
326
  type: Input
295
- }], eclModalBodyId: [{
296
- type: Input
297
327
  }], isOpen: [{
298
328
  type: Input
299
329
  }], modalClose: [{
@@ -306,7 +336,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
306
336
  }], eclModalCloseComponents: [{
307
337
  type: ContentChildren,
308
338
  args: [forwardRef(() => EclModalCloseDirective), { descendants: true }]
309
- }], isModalOpened: [{
339
+ }], eclModalBody: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclModalBodyComponent), { isSignal: true }] }], isModalOpened: [{
310
340
  type: HostBinding,
311
341
  args: ['attr.open']
312
342
  }], hostAriaDescribedBy: [{
@@ -346,10 +376,10 @@ class EclModalFooterComponent extends ECLBaseDirective {
346
376
  });
347
377
  }
348
378
  }
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" }); }
379
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalFooterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
380
+ 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
381
  }
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalFooterComponent, decorators: [{
382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalFooterComponent, decorators: [{
353
383
  type: Component,
354
384
  args: [{ selector: '[eclModalFooter]', template: "<div class=\"ecl-modal__footer-content\">\n <ng-content></ng-content>\n</div>\n" }]
355
385
  }], propDecorators: { buttonComponents: [{
@@ -360,46 +390,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
360
390
  args: ['class']
361
391
  }] } });
362
392
 
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
393
  /**
404
394
  * Directive for styling fixed content inside the modal body.
405
395
  *
@@ -413,10 +403,10 @@ class EclModalBodyFixedContentDirective extends ECLBaseDirective {
413
403
  */
414
404
  this.className = true;
415
405
  }
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 }); }
406
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyFixedContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
407
+ 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
408
  }
419
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalBodyFixedContentDirective, decorators: [{
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalBodyFixedContentDirective, decorators: [{
420
410
  type: Directive,
421
411
  args: [{
422
412
  selector: '[eclModalBodyFixedContent]',
@@ -437,10 +427,10 @@ class EclModalTriggerDirective extends ECLBaseDirective {
437
427
  onClick(evt) {
438
428
  this.eclModalTriggerFor?.openModal();
439
429
  }
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 }); }
430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
431
+ 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
432
  }
443
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalTriggerDirective, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclModalTriggerDirective, decorators: [{
444
434
  type: Directive,
445
435
  args: [{
446
436
  selector: '[eclModalTriggerFor]',
@@ -452,47 +442,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
452
442
  args: ['click', ['$event']]
453
443
  }] } });
454
444
 
455
- const COMPONENTS = [
456
- EclModalComponent,
457
- EclModalHeaderComponent,
458
- EclModalBodyComponent,
459
- EclModalBodyFixedContentDirective,
460
- EclModalFooterComponent,
461
- EclModalCloseDirective,
462
- EclModalTriggerDirective,
463
- ];
464
- /**
465
- * @description
466
- * Module that provides the EclModal component and its dependencies.
467
- *
468
- * @deprecated Use {@link EUI_ECL_MODAL} instead.
469
- */
470
- 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,
473
- EclModalHeaderComponent,
474
- EclModalBodyComponent,
475
- EclModalBodyFixedContentDirective,
476
- EclModalFooterComponent,
477
- EclModalCloseDirective,
478
- EclModalTriggerDirective], exports: [EclModalComponent,
479
- EclModalHeaderComponent,
480
- EclModalBodyComponent,
481
- EclModalBodyFixedContentDirective,
482
- EclModalFooterComponent,
483
- EclModalCloseDirective,
484
- EclModalTriggerDirective] }); }
485
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, imports: [EclModalComponent,
486
- EclModalHeaderComponent] }); }
487
- }
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclModalModule, decorators: [{
489
- type: NgModule,
490
- args: [{
491
- imports: [...COMPONENTS],
492
- exports: [...COMPONENTS],
493
- }]
494
- }] });
495
-
496
445
  const EUI_ECL_MODAL = [
497
446
  EclModalComponent,
498
447
  EclModalHeaderComponent,
@@ -507,5 +456,5 @@ const EUI_ECL_MODAL = [
507
456
  * Generated bundle index. Do not edit.
508
457
  */
509
458
 
510
- export { EUI_ECL_MODAL, EclModalBodyComponent, EclModalBodyFixedContentDirective, EclModalCloseDirective, EclModalCloseEvent, EclModalComponent, EclModalFooterComponent, EclModalHeaderComponent, EclModalModule, EclModalOpenEvent, EclModalTriggerDirective };
459
+ export { EUI_ECL_MODAL, EclModalBodyComponent, EclModalBodyFixedContentDirective, EclModalCloseDirective, EclModalCloseEvent, EclModalComponent, EclModalFooterComponent, EclModalHeaderComponent, EclModalOpenEvent, EclModalTriggerDirective };
511
460
  //# sourceMappingURL=eui-ecl-components-ecl-modal.mjs.map
@@ -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/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 /**\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-content></ng-content>\n</div>\n<div class=\"ecl-modal__body-overflow\" aria-hidden=\"true\"></div>\n<ng-content select=\"[eclModalBodyFixedContent]\"></ng-content>","/* 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 { 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.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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"}