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

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 (290) 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 +280 -0
  26. package/docs/components/EclAccordionComponent.html +2 -2
  27. package/docs/components/EclAccordionItemComponent.html +2 -2
  28. package/docs/components/EclAppComponent.html +2 -2
  29. package/docs/components/EclBannerComponent.html +2 -2
  30. package/docs/components/EclBlockquoteComponent.html +2 -2
  31. package/docs/components/EclBreadcrumbComponent.html +2 -2
  32. package/docs/components/EclBreadcrumbSegmentComponent.html +3 -3
  33. package/docs/components/EclButtonComponent.html +2 -2
  34. package/docs/components/EclCardBodyComponent.html +2 -2
  35. package/docs/components/EclCardComponent.html +2 -2
  36. package/docs/components/EclCarouselComponent.html +2 -2
  37. package/docs/components/EclCarouselItemComponent.html +2 -2
  38. package/docs/components/EclCategoryFilterComponent.html +2 -2
  39. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  40. package/docs/components/EclCategoryFilterListComponent.html +2 -2
  41. package/docs/components/EclCheckboxHelpComponent.html +2 -2
  42. package/docs/components/EclCheckboxLabelComponent.html +2 -2
  43. package/docs/components/EclContentBlockComponent.html +2 -2
  44. package/docs/components/EclContentItemComponent.html +2 -2
  45. package/docs/components/EclDateBlockComponent.html +2 -2
  46. package/docs/components/EclDescriptionListDefinitionComponent.html +3 -3
  47. package/docs/components/EclExpandableComponent.html +2 -2
  48. package/docs/components/EclFactFiguresComponent.html +3 -3
  49. package/docs/components/EclFactFiguresItemComponent.html +42 -4
  50. package/docs/components/EclFactFiguresViewAllComponent.html +2 -2
  51. package/docs/components/EclFeaturedComponent.html +2 -2
  52. package/docs/components/EclFeaturedItemComponent.html +2 -2
  53. package/docs/components/EclFeaturedItemDescriptionComponent.html +2 -2
  54. package/docs/components/EclFileComponent.html +2 -2
  55. package/docs/components/EclFileItemComponent.html +2 -2
  56. package/docs/components/EclFileItemsComponent.html +2 -2
  57. package/docs/components/EclFileTaxonomyComponent.html +2 -2
  58. package/docs/components/EclFormGroupComponent.html +2 -2
  59. package/docs/components/EclFormLabelComponent.html +2 -2
  60. package/docs/components/EclGalleryComponent.html +2 -2
  61. package/docs/components/EclGalleryFooterComponent.html +3 -3
  62. package/docs/components/EclGalleryItemComponent.html +2 -2
  63. package/docs/components/EclIconComponent.html +2 -2
  64. package/docs/components/EclInpageNavigationComponent.html +2 -2
  65. package/docs/components/EclInpageNavigationItemComponent.html +2 -2
  66. package/docs/components/EclListIllustrationComponent.html +2 -2
  67. package/docs/components/EclListIllustrationItemComponent.html +2 -2
  68. package/docs/components/EclLoadingIndicatorComponent.html +2 -2
  69. package/docs/components/EclMediaContainerComponent.html +2 -2
  70. package/docs/components/EclMegaMenuComponent.html +2 -2
  71. package/docs/components/EclMegaMenuFeaturedComponent.html +2 -2
  72. package/docs/components/EclMegaMenuInfoComponent.html +2 -2
  73. package/docs/components/EclMegaMenuItemComponent.html +2 -2
  74. package/docs/components/EclMegaMenuSubitemComponent.html +2 -2
  75. package/docs/components/EclMenuComponent.html +2 -2
  76. package/docs/components/EclMenuItemComponent.html +2 -2
  77. package/docs/components/EclMenuMegaComponent.html +2 -2
  78. package/docs/components/EclMenuMegaItemComponent.html +2 -2
  79. package/docs/components/EclModalBodyComponent.html +3 -3
  80. package/docs/components/EclModalComponent.html +64 -36
  81. package/docs/components/EclModalFooterComponent.html +2 -2
  82. package/docs/components/EclModalHeaderComponent.html +3 -3
  83. package/docs/components/EclMultiselectComponent.html +2 -2
  84. package/docs/components/EclMultiselectDropdownComponent.html +2 -2
  85. package/docs/components/EclMultiselectInputComponent.html +2 -2
  86. package/docs/components/EclMultiselectOptgroupComponent.html +2 -2
  87. package/docs/components/EclMultiselectOptionComponent.html +2 -2
  88. package/docs/components/EclNavigationListComponent.html +2 -2
  89. package/docs/components/EclNavigationListItemComponent.html +2 -2
  90. package/docs/components/EclNewsTickerComponent.html +2 -2
  91. package/docs/components/EclNewsTickerItemComponent.html +2 -2
  92. package/docs/components/EclNotificationComponent.html +51 -3
  93. package/docs/components/EclPageHeaderComponent.html +3 -3
  94. package/docs/components/{EclFactFiguresTitleComponent.html → EclPageHeaderExpandableComponent.html} +118 -20
  95. package/docs/components/EclPaginationComponent.html +2 -2
  96. package/docs/components/EclPaginationItemComponent.html +2 -2
  97. package/docs/components/EclPopoverComponent.html +2 -2
  98. package/docs/components/EclRadioHelpComponent.html +2 -2
  99. package/docs/components/EclRadioLabelComponent.html +2 -2
  100. package/docs/components/EclRangeBubbleComponent.html +2 -2
  101. package/docs/components/EclRangeValueComponent.html +2 -2
  102. package/docs/components/EclRatingFieldComponent.html +3 -3
  103. package/docs/components/EclSearchFormComponent.html +2 -2
  104. package/docs/components/EclSelectContainerComponent.html +2 -2
  105. package/docs/components/EclSiteFooterComponent.html +2 -2
  106. package/docs/components/EclSiteFooterCoreComponent.html +2 -2
  107. package/docs/components/EclSiteFooterFixedContentEUComponent.html +2 -2
  108. package/docs/components/EclSiteFooterRowCommonComponent.html +2 -2
  109. package/docs/components/EclSiteHeaderActionComponent.html +2 -2
  110. package/docs/components/EclSiteHeaderBannerTopComponent.html +2 -2
  111. package/docs/components/EclSiteHeaderComponent.html +2 -2
  112. package/docs/components/EclSiteHeaderCustomActionComponent.html +2 -2
  113. package/docs/components/EclSiteHeaderEnvironmentComponent.html +2 -2
  114. package/docs/components/EclSiteHeaderLanguageComponent.html +2 -2
  115. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +2 -2
  116. package/docs/components/EclSiteHeaderLoginComponent.html +2 -2
  117. package/docs/components/EclSiteHeaderNotificationComponent.html +2 -2
  118. package/docs/components/EclSiteHeaderSearchComponent.html +2 -2
  119. package/docs/components/EclSocialMediaFollowComponent.html +2 -2
  120. package/docs/components/EclSocialMediaFollowItemComponent.html +2 -2
  121. package/docs/components/EclSplashPageComponent.html +2 -2
  122. package/docs/components/EclSplashPageLanguageCategoryComponent.html +2 -2
  123. package/docs/components/EclSplashPageLanguageContainerComponent.html +2 -2
  124. package/docs/components/EclSplashPageLanguageLinkComponent.html +2 -2
  125. package/docs/components/EclSpotlightComponent.html +2 -2
  126. package/docs/components/EclSpotlightLinkComponent.html +2 -2
  127. package/docs/components/EclStickyContainerComponent.html +2 -2
  128. package/docs/components/EclTabComponent.html +2 -2
  129. package/docs/components/EclTabLabelComponent.html +2 -2
  130. package/docs/components/EclTabMoreComponent.html +2 -2
  131. package/docs/components/EclTableSortButtonComponent.html +2 -2
  132. package/docs/components/EclTabsComponent.html +2 -2
  133. package/docs/components/EclTagComponent.html +2 -2
  134. package/docs/components/EclTimelineComponent.html +2 -2
  135. package/docs/components/EclTimelineItemComponent.html +2 -2
  136. package/docs/components/EclTimelineItemTogglerComponent.html +2 -2
  137. package/docs/directives/EclFactFiguresDescriptionDirective.html +520 -0
  138. package/docs/directives/EclLinkDirective.html +58 -28
  139. package/docs/directives/EclNotificationIconDirective.html +379 -0
  140. package/docs/directives/EclNotificationLinkDirective.html +407 -0
  141. package/docs/directives/EclPageHeaderExpandableHeaderDirective.html +519 -0
  142. package/docs/js/menu-wc.js +50 -33
  143. package/docs/js/menu-wc_es5.js +1 -1
  144. package/docs/js/search/search_index.js +2 -2
  145. package/docs/miscellaneous/variables.html +7 -3
  146. package/docs/modules/EclFactFiguresModule.html +2 -14
  147. package/docs/modules/EclNotificationModule.html +12 -0
  148. package/docs/overview.html +2 -2
  149. package/docs/properties.html +1 -1
  150. package/fesm2022/eui-ecl-components-ecl-accordion.mjs +10 -10
  151. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  152. package/fesm2022/eui-ecl-components-ecl-app.mjs +7 -7
  153. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  154. package/fesm2022/eui-ecl-components-ecl-banner.mjs +34 -34
  155. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs +13 -13
  157. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs +14 -14
  159. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  160. package/fesm2022/eui-ecl-components-ecl-button.mjs +16 -16
  161. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  162. package/fesm2022/eui-ecl-components-ecl-card.mjs +16 -16
  163. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  164. package/fesm2022/eui-ecl-components-ecl-carousel.mjs +10 -10
  165. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  166. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +13 -13
  167. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  168. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +16 -16
  169. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  170. package/fesm2022/eui-ecl-components-ecl-content-block.mjs +58 -58
  171. package/fesm2022/eui-ecl-components-ecl-content-block.mjs.map +1 -1
  172. package/fesm2022/eui-ecl-components-ecl-content-item.mjs +13 -13
  173. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  174. package/fesm2022/eui-ecl-components-ecl-date-block.mjs +7 -7
  175. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  176. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +7 -7
  177. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  178. package/fesm2022/eui-ecl-components-ecl-divider.mjs +7 -7
  179. package/fesm2022/eui-ecl-components-ecl-divider.mjs.map +1 -1
  180. package/fesm2022/eui-ecl-components-ecl-expandable.mjs +7 -7
  181. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  182. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +37 -82
  183. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  184. package/fesm2022/eui-ecl-components-ecl-featured.mjs +16 -16
  185. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  186. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +7 -7
  187. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  188. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +7 -7
  189. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  190. package/fesm2022/eui-ecl-components-ecl-file.mjs +34 -34
  191. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  192. package/fesm2022/eui-ecl-components-ecl-form-group.mjs +7 -7
  193. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  194. package/fesm2022/eui-ecl-components-ecl-form-label.mjs +10 -10
  195. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  196. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +23 -23
  197. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  198. package/fesm2022/eui-ecl-components-ecl-help-block.mjs +7 -7
  199. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  200. package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -7
  201. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  202. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +16 -16
  203. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  204. package/fesm2022/eui-ecl-components-ecl-label.mjs +7 -7
  205. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  206. package/fesm2022/eui-ecl-components-ecl-link.mjs +34 -27
  207. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  208. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -19
  209. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  210. package/fesm2022/eui-ecl-components-ecl-list.mjs +32 -32
  211. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  212. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs +13 -13
  213. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  214. package/fesm2022/eui-ecl-components-ecl-media-container.mjs +19 -19
  215. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  216. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +52 -52
  217. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  218. package/fesm2022/eui-ecl-components-ecl-menu.mjs +16 -16
  219. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  220. package/fesm2022/eui-ecl-components-ecl-modal.mjs +68 -67
  221. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  222. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +25 -25
  223. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  224. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -16
  225. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  226. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +13 -13
  227. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  228. package/fesm2022/eui-ecl-components-ecl-notification.mjs +92 -37
  229. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  230. package/fesm2022/eui-ecl-components-ecl-page-header.mjs +110 -40
  231. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  232. package/fesm2022/eui-ecl-components-ecl-pagination.mjs +13 -13
  233. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  234. package/fesm2022/eui-ecl-components-ecl-popover.mjs +13 -13
  235. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  236. package/fesm2022/eui-ecl-components-ecl-radio.mjs +16 -16
  237. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  238. package/fesm2022/eui-ecl-components-ecl-range.mjs +13 -13
  239. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  240. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +8 -8
  241. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  242. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +7 -7
  243. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  244. package/fesm2022/eui-ecl-components-ecl-select.mjs +10 -10
  245. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  246. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +67 -67
  247. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  248. package/fesm2022/eui-ecl-components-ecl-site-header.mjs +64 -64
  249. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  250. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +13 -13
  251. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  252. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs +31 -31
  253. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  254. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs +12 -12
  255. package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
  256. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs +7 -7
  257. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  258. package/fesm2022/eui-ecl-components-ecl-table.mjs +34 -34
  259. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  260. package/fesm2022/eui-ecl-components-ecl-tabs.mjs +16 -16
  261. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  262. package/fesm2022/eui-ecl-components-ecl-tag.mjs +16 -16
  263. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  264. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +7 -7
  265. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  266. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +7 -7
  267. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  268. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +22 -22
  269. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  270. package/fesm2022/eui-ecl-core.mjs +25 -25
  271. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  272. package/fesm2022/eui-ecl-shared.mjs +3 -3
  273. package/fesm2022/eui-ecl-shared.mjs.map +1 -1
  274. package/fesm2022/eui-ecl.mjs +4 -4
  275. package/fesm2022/eui-ecl.mjs.map +1 -1
  276. package/package.json +39 -39
  277. package/types/eui-ecl-components-ecl-fact-figures.d.ts +11 -33
  278. package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
  279. package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
  280. package/types/eui-ecl-components-ecl-link.d.ts +12 -9
  281. package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
  282. package/types/eui-ecl-components-ecl-modal.d.ts +26 -25
  283. package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
  284. package/types/eui-ecl-components-ecl-notification.d.ts +46 -18
  285. package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
  286. package/types/eui-ecl-components-ecl-page-header.d.ts +31 -4
  287. package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
  288. package/types/eui-ecl.d.ts +1 -1
  289. package/docs/components/EclFactFiguresDescriptionComponent.html +0 -566
  290. package/docs/components/EclFactFiguresValueComponent.html +0 -565
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-tabs.mjs","sources":["../../components/ecl-tabs/ecl-tab-label.component.ts","../../components/ecl-tabs/ecl-tab-label.component.html","../../components/ecl-tabs/ecl-tab-more.component.ts","../../components/ecl-tabs/ecl-tab-more.component.html","../../components/ecl-tabs/events/ecl-tab-select.event.ts","../../components/ecl-tabs/ecl-tab.component.ts","../../components/ecl-tabs/ecl-tab.component.html","../../components/ecl-tabs/ecl-tabs.component.ts","../../components/ecl-tabs/ecl-tabs.component.html","../../components/ecl-tabs/ecl-tabs.module.ts","../../components/ecl-tabs/index.ts","../../components/ecl-tabs/eui-ecl-components-ecl-tabs.ts"],"sourcesContent":["import { Component, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a tab label within ECL Tabs.\n * Used as a container for the tab's visual label content.\n */\n@Component({\n selector: 'ecl-tab-label',\n templateUrl: './ecl-tab-label.component.html',\n})\nexport class EclTabLabelComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in v20.\n * \n * Represents a \"More\" tab item used to group additional tabs when space is limited.\n */\n@Component({\n selector: 'ecl-tab-more',\n templateUrl: './ecl-tab-more.component.html',\n})\nexport class EclTabMoreComponent extends ECLBaseDirective {\n /**\n * Controls whether the tab is hidden.\n * When true, the `ecl-tabs__item--hidden` class is applied.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-tabs__item--hidden') isHidden = false;\n\n /**\n * Host CSS classes applied to the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item ecl-tabs__item--more')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclTab } from '../models/ecl-tab.model';\n\n/**\n * Event emitted when a tab is selected.\n *\n * Contains a reference to the selected tab instance.\n */\nexport class EclTabSelectEvent extends EclBaseEvent {\n /**\n * The tab instance that has been selected.\n */\n constructor(public tab: EclTab) {\n super();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTab } from './models/ecl-tab.model';\nimport { EclTabSelectEvent } from './events/ecl-tab-select.event';\n\n/**\n * Represents a single tab inside the ECL Tabs component.\n * Manages its label, state (active, hidden), and interaction events like click or keydown.\n *\n * Note: The old selector `ecl-tab` is deprecated and will be removed in v20.\n * Use `div[eclTab]` instead.\n */\n@Component({\n selector: 'ecl-tab, div[eclTab]',\n templateUrl: './ecl-tab.component.html',\n imports: [...EUI_ECL_LINK],\n})\nexport class EclTabComponent extends ECLBaseDirective implements EclTab, AfterViewInit {\n /**\n * Unique identifier for the tab.\n */\n @Input() id: string;\n\n /**\n * Extra classes to be added to the anchor tag.\n */\n @Input() anchorExtraClasses: string;\n\n /**\n * Hides the tab when true by applying the `ecl-tabs__item--hidden` CSS class.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-tabs__item--hidden') isHidden = false;\n\n /**\n * Marks the tab as active.\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n\n /**\n * Emits when the tab is selected via click.\n */\n @Output() selectTab = new EventEmitter<EclTabSelectEvent>();\n\n /**\n * Emits when a keydown event occurs on the tab.\n */\n @Output() keydownTab = new EventEmitter<Event>();\n\n /**\n * Reference to the tab content template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @ViewChild('content') contentTemplate: TemplateRef<any>;\n\n /**\n * Reference to the internal link directive used in the tab.\n */\n @ViewChild(EclLinkDirective) link: EclLinkDirective;\n\n /**\n * Reference to the projected tab label component.\n */\n @ContentChild(EclTabLabelComponent) label: EclTabLabelComponent;\n\n /**\n * Contains the inner HTML of the tab label.\n */\n public tabLabel = '';\n\n /**\n * The tab index value for the tab's link.\n */\n hrefTabindex = -1;\n\n private isFirstCall = true;\n private width: number;\n private elementRef = inject(ElementRef);\n\n constructor() {\n super();\n if (this.isUsingOldSelector) {\n console.warn('\"ecl-tab\" selector is deprecated; use \"div[eclTab]\" instead.');\n }\n }\n\n /**\n * Returns the host HTML element of the tab component.\n */\n get hostElement(): HTMLElement {\n return this.elementRef?.nativeElement;\n }\n\n /**\n * Determines if the deprecated selector `<ecl-tab>` is used.\n */\n get isUsingOldSelector(): boolean {\n if (this.elementRef?.nativeElement.tagName.toLowerCase() === 'ecl-tab') {\n return true;\n }\n return false;\n }\n\n ngAfterViewInit(): void {\n this.tabLabel = this.label.el.nativeElement.innerHTML;\n }\n\n /**\n * Returns the CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item')].join(' ').trim();\n }\n\n /**\n * Returns the inner HTML content of the tab label.\n */\n getTabLabel(): string {\n return this.label.el.nativeElement.innerHTML;\n }\n\n /**\n * Returns the width of the tab element in pixels.\n * The measurement is cached after the first call.\n */\n public getWidth(): number {\n if (this.isFirstCall) {\n this.width = this.hostElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n return this.width;\n }\n\n /**\n * Handles a click event on the tab and emits the `selectTab` event.\n */\n onTabClick(): void {\n this.selectTab.next(new EclTabSelectEvent(this));\n }\n\n /**\n * Handles a keydown event on the tab and emits the `keydownTab` event.\n */\n onKeydown(event: Event): void {\n this.keydownTab.next(event);\n }\n\n /**\n * Calls the focus method on the inner link directive.\n */\n onFocus(): void {\n this.link.onFocus();\n }\n\n /**\n * Calls the blur method on the inner link directive.\n */\n onBlur(): void {\n this.link.onBlur();\n }\n}\n","<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses}}\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n [tabindex]=\"hrefTabindex\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterNextRender,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabSelectEvent } from './events/ecl-tab-select.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\n\nexport enum ShiftDirection {\n NEXT = 'next',\n PREVIOUS = 'prev',\n}\n\n/**\n * ECL Tabs component for displaying tabbed content and managing tab selection and navigation.\n *\n * Note: The old selector `ecl-tabs` is deprecated and will be removed in v20.\n * Use `div[eclTabs]` instead.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclTabs], ecl-tabs',\n templateUrl: './ecl-tabs.component.html',\n imports: [TranslateModule, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTabsComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n /**\n * Adds `ecl-tabs` class to the host if not using the deprecated selector.\n */\n @HostBinding('class.ecl-tabs') hasClass = !this.isUsingOldSelector;\n\n /**\n * Class applied to the tab body container.\n */\n @Input() bodyClass = 'ecl-u-mt-s';\n\n /**\n * Emits an event when a tab is selected.\n */\n @Output() tabSelect = new EventEmitter<EclTabSelectEvent>();\n\n /**\n * All projected tabs inside the component.\n */\n @ContentChildren(forwardRef(() => EclTabComponent)) tabs: QueryList<EclTabComponent>;\n\n /**\n * Reference to the visible tab list container.\n */\n @ViewChild('tabsList') tabsList: ElementRef;\n\n /**\n * Reference to the \"more\" button.\n */\n @ViewChild('moreButton') moreButton: EclButtonComponent;\n\n /**\n * Reference to the scroll previous button.\n */\n @ViewChild('btnPrev') btnPrev: EclButtonComponent;\n\n /**\n * Reference to the scroll next button.\n */\n @ViewChild('btnNext') btnNext: EclButtonComponent;\n\n /**\n * Reference to the dropdown list containing overflowed tabs.\n */\n @ViewChild('dropdownList') dropdownList: ElementRef;\n\n /**\n * Tabs displayed in the dropdown.\n */\n dropdownTabs: Array<EclTabComponent> = [];\n\n /**\n * Tabs displayed in the visible list.\n */\n listTabs: Array<EclTabComponent> = [];\n\n /**\n * Index of the active tab.\n */\n index = 0;\n\n /**\n * Indicates whether the dropdown is expanded.\n */\n isDropdownExpanded = false;\n\n /**\n * Indicates whether the mobile breakpoint is active.\n */\n isMobileBreakpoint = false;\n\n /**\n * Indicates whether the \"more\" button is shown.\n */\n isMoreButtonShow = true;\n\n /**\n * Indicates whether the scroll previous button is shown.\n */\n isScrollPrevBtnShow = false;\n\n /**\n * Indicates whether the scroll next button is shown.\n */\n isScrollNextBtnShow = false;\n\n /**\n * CSS transform applied to the scrollable tab list.\n */\n styleTransform = 'translate3d(0px, 0px, 0px)';\n\n private differs = inject(IterableDiffers);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private cd = inject(ChangeDetectorRef);\n private el = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private platformId = inject(PLATFORM_ID);\n private differ: IterableDiffer<EclTabComponent>;\n private diff: IterableChanges<EclTabComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstCall = true;\n private isRtl = false;\n private moreBtnWidth: number;\n private TIMEOUT_INTERVAL = 0;\n\n constructor() {\n super();\n if (this.isUsingOldSelector) {\n console.warn('\"ecl-tabs\" selector is deprecated; use \"div[eclTabs]\" instead.');\n }\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n setTimeout(() => this.setTabindex());\n this.observeTabsChanges();\n this.observeElementSizeChanges();\n this.cd.detectChanges();\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target): void {\n if (!this.moreButton.el.nativeElement.contains(target) && !this.dropdownList.nativeElement.contains(target)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Whether the deprecated selector is being used.\n */\n get isUsingOldSelector(): boolean {\n if (this.el?.nativeElement.tagName.toLowerCase() === 'ecl-tabs') {\n return true;\n }\n return false;\n }\n\n /**\n * Whether any visible tab is active.\n */\n get isMoreButtonActive(): boolean {\n return this.listTabs.find((el) => el.isActive) !== undefined;\n }\n\n /**\n * Scrolls the tab list to the left.\n */\n onScrollPrev(): void {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n\n /**\n * Scrolls the tab list to the right.\n */\n onScrollNext(): void {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n\n /**\n * Toggles the dropdown visibility.\n */\n onDropdownToggle(): void {\n this.isDropdownExpanded = !this.isDropdownExpanded;\n }\n\n /**\n * Returns the style value for tab list width.\n */\n getTabsWidthStyle(): string {\n return this.isMobileBreakpoint ? `${this.getTabsWidth()}px` : 'auto';\n }\n\n /**\n * Calculates total width of all tabs.\n */\n getTabsWidth(): number {\n return this.tabs.reduce((total, item) => (total += Math.ceil(item.getWidth())), 0);\n }\n\n /**\n * Returns the number of tabs hidden in dropdown.\n */\n getHiddenTabsCount(): number {\n return this.tabs.filter((item) => item.isHidden).length;\n }\n\n /**\n * Returns the label of the tab at the specified index.\n */\n getTabLabel(index: number): string {\n return this.getTabsAsArray()[index].getTabLabel();\n }\n\n /**\n * Returns the duration of the transition animation.\n */\n getTransitionDuration(): string {\n if (this.isMobileBreakpoint) {\n return '0.4s';\n }\n return '0';\n }\n\n /**\n * Handles blur event when navigating tabs via keyboard.\n */\n onTabBlur(evt: KeyboardEvent): void {\n this.closeDropdown();\n if (evt.shiftKey) {\n this.getFirstTabFromArray().onBlur();\n } else {\n this.getLastVisibleTab().onFocus();\n this.getLastVisibleTab().onBlur();\n }\n }\n\n /**\n * Handles tab selection.\n * @param tab Tab to activate.\n */\n onTabSelect(tab: EclTabComponent): void {\n this.deactivateAllTabs(this.tabs.toArray(), this.listTabs);\n this.activateTab(tab);\n this.sendTabSelectEvent(tab);\n }\n\n /**\n * Handles right arrow key navigation.\n * @param index Current tab index.\n */\n onTabKeydownArrowRight(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.NEXT);\n if (index === this.getTabsCount() - 1) {\n return;\n }\n }\n if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint) {\n this.focusOnFirstTab();\n } else {\n this.focusOnNextTab(index);\n }\n }\n\n /**\n * Handles left arrow key navigation.\n * @param index Current tab index.\n */\n onTabKeydownArrowLeft(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n if (index === 0) {\n return;\n }\n }\n\n if (index === 0 && !this.isMobileBreakpoint) {\n this.focusOnLastTab();\n } else {\n this.focusOnPrevTab(index);\n }\n }\n\n /**\n * Focuses the first tab in the list.\n */\n onTabKeydownHome(): void {\n this.focusOnFirstTab();\n }\n\n /**\n * Focuses the last tab in the list.\n */\n onTabKeydownEnd(): void {\n this.focusOnLastTab();\n }\n\n /**\n * Handles all supported keyboard events for a tab.\n * @param event KeyboardEvent triggered.\n * @param tab Target tab.\n */\n onTabKeydown(event: Event, tab: EclTabComponent): void {\n event.preventDefault();\n if (event instanceof KeyboardEvent) {\n const index = this.getCurrentTabIndex(tab);\n switch (event.key) {\n case KeyCode.ARROW_LEFT: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_DOWN: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.END: {\n this.onTabKeydownEnd();\n break;\n }\n case KeyCode.HOME: {\n this.onTabKeydownHome();\n break;\n }\n case KeyCode.ENTER: {\n this.onTabSelect(tab);\n break;\n }\n case KeyCode.TAB: {\n this.onTabBlur(event);\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n\n private getCurrentTabIndex(tab: EclTabComponent): number {\n const index = this.getTabsAsArray().indexOf(tab)\n return index !== -1 ? index : this.listTabs.indexOf(tab);\n }\n\n private shiftTabs(dir: string): void {\n this.index = this.getShifIndex(dir, this.index);\n\n this.isScrollPrevBtnShow = this.index >= 1;\n this.isScrollNextBtnShow = this.index <= this.getTabsCount() - 1;\n\n const leftMargin = this.index === 0 ? 0 : this.btnPrev.el.nativeElement.getBoundingClientRect().width + 13;\n\n let newOffset = 0;\n if (this.isRtl) {\n newOffset = Math.ceil(\n this.tabsList.nativeElement.offsetWidth -\n this.getTabsAsArray()[this.index].hostElement.offsetLeft -\n this.getTabsAsArray()[this.index].hostElement.offsetWidth -\n leftMargin,\n );\n } else {\n newOffset = Math.ceil(this.getTabsAsArray()[this.index]?.hostElement.offsetLeft - leftMargin);\n }\n\n const maxScroll = Math.ceil(this.getTabsListWidth() - this.el.nativeElement.getBoundingClientRect().width);\n\n if (newOffset > maxScroll) {\n this.isScrollNextBtnShow = false;\n newOffset = maxScroll;\n }\n\n if (this.isRtl) {\n this.styleTransform = `translate3d(${newOffset}px, 0px, 0px)`;\n } else {\n this.styleTransform = `translate3d(-${newOffset}px, 0px, 0px)`;\n }\n }\n\n private getShifIndex(dir: string, index: number): number {\n if (dir === ShiftDirection.NEXT) {\n if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint ) {\n return 0;\n } else {\n return index + 1;\n }\n } else {\n if (index === 0 && !this.isMobileBreakpoint) {\n return this.getTabsCount() - 1;\n } else {\n return index - 1;\n }\n }\n }\n\n private createSecondListForDropdown(): void {\n this.listTabs = [];\n this.tabs.forEach((tab) => {\n const newTab = Object.assign({}, tab) as EclTabComponent;\n newTab.isHidden = true;\n newTab.isActive = false;\n this.listTabs.push(newTab as EclTabComponent);\n });\n }\n\n private getTabsAsArray(): EclTabComponent[] {\n return this.tabs.toArray();\n }\n\n private getTabsCount(): number {\n return this.tabs.toArray().length;\n }\n\n private closeDropdown(): void {\n this.isDropdownExpanded = false;\n }\n\n private openDropdown(): void {\n this.isDropdownExpanded = true;\n }\n\n private observeTabsChanges(): void {\n this.createTabsChangesObservable(this.tabs).pipe(takeUntil(this.destroy$)).subscribe(this.onTabsChanges.bind(this));\n }\n\n private createTabsChangesObservable(tabs: QueryList<EclTabComponent>): Observable<QueryList<EclTabComponent>> {\n return of(tabs).pipe(mergeWith(tabs.changes), takeUntil(this.destroy$));\n }\n\n private onTabsChanges(): void {\n this.diff = this.differ.diff(this.tabs);\n\n if (!this.diff) {\n this.tabs.forEach((tab) => {\n this.connectTabEvents(tab);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectTabEvents(change.item);\n });\n\n this.diff.forEachRemovedItem((change) => {\n this.disconnectTabEvents(change.item);\n });\n }\n this.createSecondListForDropdown();\n }\n\n private connectTabEvents(tab: EclTabComponent): void {\n tab.selectTab.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onTabSelect(tab);\n });\n tab.keydownTab.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n this.onTabKeydown(event, tab);\n });\n }\n\n private setTabindex(): void {\n this.tabs.forEach((item, index) => {\n if (index === 0) {\n item.hrefTabindex = 0;\n } else {\n item.hrefTabindex = -1;\n }\n });\n }\n\n private getLastVisibleTab(): EclTabComponent {\n let result = null;\n this.getTabsAsArray().forEach((el) => {\n if (!el.isHidden) {\n result = el;\n } else {\n return;\n }\n });\n return result;\n }\n\n private focusOnNextTab(index: number): void {\n if (this.getTabsAsArray()[index + 1].isHidden) {\n this.openDropdown();\n this.focusOnDropdownTab(index + 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index + 1].onFocus();\n }\n }\n\n private focusOnFirstTab(): void {\n this.closeDropdown();\n this.getFirstTabFromArray().onFocus();\n }\n\n private focusOnLastTab(): void {\n if (!this.getLastTabFromArray().isHidden) {\n this.getLastTabFromArray().onFocus();\n } else {\n this.openDropdown();\n this.focusOnDropdownTab(this.getTabsCount() - 1);\n }\n }\n\n private focusOnPrevTab(index: number): void {\n if (!this.listTabs[index - 1].isHidden) {\n this.focusOnDropdownTab(index - 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index - 1].onFocus();\n }\n }\n\n private focusOnDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.focus();\n }\n\n private getLastTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[this.getTabsAsArray().length - 1];\n }\n\n private getFirstTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[0];\n }\n\n private disconnectTabEvents(tab: EclTabComponent): void {\n if (tab && tab.selectTab) {\n tab.selectTab.unsubscribe();\n }\n }\n\n private deactivateAllTabs(tabs: Array<EclTabComponent>, listTabs: Array<EclTabComponent>): void {\n tabs.forEach((it) => {\n it.isActive = false;\n });\n\n listTabs.forEach((it) => {\n it.isActive = false;\n });\n }\n\n private activateTab(tab: EclTabComponent): void {\n tab.isActive = true;\n }\n\n private sendTabSelectEvent(tab: EclTabComponent): void {\n this.tabSelect.next(new EclTabSelectEvent(tab));\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleResize(): void {\n this.closeDropdown();\n if (this.isMobileBreakpoint) {\n this.handleMobile();\n return;\n }\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n this.initMoreBtnWidth();\n let stopWidth = this.moreBtnWidth + 25;\n const hiddenItems = [];\n const listWidth = this.getTabsListWidth();\n this.isScrollNextBtnShow = false;\n this.isScrollPrevBtnShow = false;\n this.isMoreButtonShow = false;\n this.tabs.forEach((item, i) => {\n item.isHidden = false;\n if (listWidth >= stopWidth + item.getWidth() && !hiddenItems.includes(i - 1)) {\n stopWidth += item.getWidth();\n } else {\n item.isHidden = true;\n if (item.isActive) {\n this.listTabs[i].isActive = true;\n }\n hiddenItems.push(i);\n }\n });\n this.cd.markForCheck();\n if (!hiddenItems.length) {\n this.isMoreButtonShow = false;\n this.setActiveItemForMainTabs();\n this.hideAllDropdownTabs();\n } else {\n this.isMoreButtonShow = true;\n this.setHiddenItemsForDropdownTabs(hiddenItems);\n }\n }\n\n private initMoreBtnWidth(): void {\n if (this.isFirstCall) {\n this.moreBtnWidth = this.moreButton.el.nativeElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n }\n\n private hideAllDropdownTabs(): void {\n this.listTabs.forEach(item => item.isHidden = true);\n }\n\n private setActiveItemForMainTabs(): void {\n this.listTabs.forEach((item, index) => {\n if (item.isActive) {\n setTimeout(() => this.tabs.toArray()[index].isActive = true);\n }\n });\n this.cd.markForCheck();\n }\n\n private getTabsListWidth(): number {\n return this.tabsList.nativeElement.getBoundingClientRect().width;\n }\n\n private setHiddenItemsForDropdownTabs(hiddenItems: number[]): void {\n this.listTabs.forEach((item, index) => {\n if (hiddenItems.includes(index)) {\n item.isHidden = false;\n } else {\n item.isHidden = true;\n }\n });\n }\n\n private handleMobile(): void {\n this.isMoreButtonShow = false;\n this.isScrollPrevBtnShow = false;\n this.isScrollNextBtnShow = true;\n this.setAllTabsVisible();\n }\n\n private setAllTabsVisible(): void {\n this.tabs.forEach((item , i) => {\n item.isHidden = false;\n })\n }\n\n private handleRtlChangeState(): void {\n const isRtlOld = this.isRtl;\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n setTimeout(() => {\n this.isRtl = rtlState;\n if (this.isMobileBreakpoint && this.hasRtlChanged(isRtlOld)) {\n this.handleRtlChange();\n }\n });\n });\n }\n\n private hasRtlChanged(isRtlOld: boolean): boolean {\n return isRtlOld !== this.isRtl;\n }\n\n private handleRtlChange(): void {\n this.handleMobile();\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n this.handleResize();\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.tabsList.nativeElement);\n }\n}\n","@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" [class.ecl-tabs__item--hidden]=\"!isMoreButtonShow\">\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab.isActive\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" tabindex=\"-1\" variant=\"tertiary\"\n [attr.aria-expanded]=\"isDropdownExpanded\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" [class.ecl-tabs__toggle--hidden]=\"!isMoreButtonShow\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab.isActive) {\n<div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab.isActive) {\n<div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}","import { NgModule } from '@angular/core';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\n\nconst COMPONENTS = [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent];\n/**\n * Module that provides the EclTabsComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TABS} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclTabsModule {}\n","import { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\n\nexport * from './ecl-tabs.module';\nexport * from './ecl-tabs.component';\nexport * from './ecl-tab.component';\nexport * from './ecl-tab-more.component';\nexport * from './ecl-tab-label.component';\nexport * from './models/ecl-tab.model';\nexport * from './events/ecl-tab-select.event';\n\nexport const EUI_ECL_TABS = [\n EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;AAGA;;;AAGG;AAKG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAJ1D,IAAA,WAAA,GAAA;;AAKI,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,IAAA;mHAFY,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,gGCXjC,6BACA,EAAA,CAAA,CAAA;;gGDUa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;+BACI,eAAe,EAAA,QAAA,EAAA,6BAAA,EAAA;;;AEL7B;;;;;AAKG;AAKG,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;AAJzD,IAAA,WAAA,GAAA;;AAKI;;;AAGG;QACkF,IAAA,CAAA,QAAQ,GAAG,KAAK;AASxG,IAAA;AAPG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACxF;mHAbS,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAKR,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBxC,6BACA,EAAA,CAAA,CAAA;;gGDYa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;+BACI,cAAc,EAAA,QAAA,EAAA,6BAAA,EAAA;;sBAQvB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,8BAA8B;;sBAKlF,WAAW;uBAAC,OAAO;;;AEpBxB;;;;AAIG;AACG,MAAO,iBAAkB,SAAQ,YAAY,CAAA;AAC/C;;AAEG;AACH,IAAA,WAAA,CAAmB,GAAW,EAAA;AAC1B,QAAA,KAAK,EAAE;QADQ,IAAA,CAAA,GAAG,GAAH,GAAG;IAEtB;AACH;;ACKD;;;;;;AAMG;AAMG,MAAO,eAAgB,SAAQ,gBAAgB,CAAA;AA6DjD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAnDX;;AAEG;QACkF,IAAA,CAAA,QAAQ,GAAG,KAAK;AAErG;;AAEG;QACqC,IAAA,CAAA,QAAQ,GAAG,KAAK;AAExD;;AAEG;AACO,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAqB;AAE3D;;AAEG;AACO,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAS;AAkBhD;;AAEG;QACI,IAAA,CAAA,QAAQ,GAAG,EAAE;AAEpB;;AAEG;QACH,IAAA,CAAA,YAAY,GAAG,CAAC,CAAC;QAET,IAAA,CAAA,WAAW,GAAG,IAAI;AAElB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAInC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC;QAChF;IACJ;AAEA;;AAEG;AACH,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,aAAa;IACzC;AAEA;;AAEG;AACH,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE;AACpE,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,KAAK;IAChB;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS;IACzD;AAEA;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACnE;AAEA;;AAEG;IACH,WAAW,GAAA;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS;IAChD;AAEA;;;AAGG;IACI,QAAQ,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAC3D,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAC5B;QACA,OAAO,IAAI,CAAC,KAAK;IACrB;AAEA;;AAEG;IACH,UAAU,GAAA;QACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACpD;AAEA;;AAEG;AACH,IAAA,SAAS,CAAC,KAAY,EAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;AAEA;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IACvB;AAEA;;AAEG;IACH,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;IACtB;mHA9IS,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAcJ,gBAAgB,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAKhB,gBAAgB,sOA0BtB,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EALvB,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxE/B,ubAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;gGDiBa,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAAA,OAAA,EAEvB,CAAC,GAAG,YAAY,CAAC,EAAA,QAAA,EAAA,ubAAA,EAAA;;sBAMzB;;sBAKA;;sBAKA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,8BAA8B;;sBAKlF,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC;;sBAKA;;sBAMA,SAAS;uBAAC,SAAS;;sBAKnB,SAAS;uBAAC,gBAAgB;;sBAK1B,YAAY;uBAAC,oBAAoB;;sBA+CjC,WAAW;uBAAC,OAAO;;;IEvFZ;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,MAAiB;AACrB,CAAC,EAHW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;AAK1B;;;;;AAKG;AAQG,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAyGlD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;AAzGX;;AAEG;AAC4B,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAI,CAAC,kBAAkB;AAElE;;AAEG;QACM,IAAA,CAAA,SAAS,GAAG,YAAY;AAEjC;;AAEG;AACO,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAqB;AAgC3D;;AAEG;QACH,IAAA,CAAA,YAAY,GAA2B,EAAE;AAEzC;;AAEG;QACH,IAAA,CAAA,QAAQ,GAA2B,EAAE;AAErC;;AAEG;QACH,IAAA,CAAA,KAAK,GAAG,CAAC;AAET;;AAEG;QACH,IAAA,CAAA,kBAAkB,GAAG,KAAK;AAE1B;;AAEG;QACH,IAAA,CAAA,kBAAkB,GAAG,KAAK;AAE1B;;AAEG;QACH,IAAA,CAAA,gBAAgB,GAAG,IAAI;AAEvB;;AAEG;QACH,IAAA,CAAA,mBAAmB,GAAG,KAAK;AAE3B;;AAEG;QACH,IAAA,CAAA,mBAAmB,GAAG,KAAK;AAE3B;;AAEG;QACH,IAAA,CAAA,cAAc,GAAG,4BAA4B;AAErC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;AACjC,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AACvB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAGhC,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;QACnD,IAAA,CAAA,WAAW,GAAG,IAAI;QAClB,IAAA,CAAA,KAAK,GAAG,KAAK;QAEb,IAAA,CAAA,gBAAgB,GAAG,CAAC;AAIxB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,OAAO,CAAC,IAAI,CAAC,gEAAgE,CAAC;QAClF;AACA,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5C,eAAe,CAAC,MAAK;YACjB,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,yBAAyB,EAAE;AAChC,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;AAC3B,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACJ,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACpC,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,oBAAoB,EAAE;QAC/B;IACJ;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;IAC/B;AAGA,IAAA,OAAO,CAAC,MAAM,EAAA;QACV,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzG,IAAI,CAAC,aAAa,EAAE;QACxB;IACJ;AAEA;;AAEG;AACH,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,EAAE;AAC7D,YAAA,OAAO,IAAI;QACf;AACA,QAAA,OAAO,KAAK;IAChB;AAEA;;AAEG;AACH,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,SAAS;IAChE;AAEA;;AAEG;IACH,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;IAC3C;AAEA;;AAEG;IACH,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;IACvC;AAEA;;AAEG;IACH,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB;IACtD;AAEA;;AAEG;IACH,iBAAiB,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,kBAAkB,GAAG,CAAA,EAAG,IAAI,CAAC,YAAY,EAAE,CAAA,EAAA,CAAI,GAAG,MAAM;IACxE;AAEA;;AAEG;IACH,YAAY,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACtF;AAEA;;AAEG;IACH,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;IAC3D;AAEA;;AAEG;AACH,IAAA,WAAW,CAAC,KAAa,EAAA;QACrB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;IACrD;AAEA;;AAEG;IACH,qBAAqB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,OAAO,MAAM;QACjB;AACA,QAAA,OAAO,GAAG;IACd;AAEA;;AAEG;AACH,IAAA,SAAS,CAAC,GAAkB,EAAA;QACxB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;AACd,YAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE;QACxC;aAAO;AACH,YAAA,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE;AAClC,YAAA,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE;QACrC;IACJ;AAEA;;;AAGG;AACH,IAAA,WAAW,CAAC,GAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC1D,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AACrB,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;IAChC;AAEA;;;AAGG;AACH,IAAA,sBAAsB,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;YACnC,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE;gBACnC;YACJ;QACJ;AACA,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/D,IAAI,CAAC,eAAe,EAAE;QAC1B;aAAO;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC9B;IACJ;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAa,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC;AACvC,YAAA,IAAI,KAAK,KAAK,CAAC,EAAE;gBACb;YACJ;QACJ;QAEA,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACzC,IAAI,CAAC,cAAc,EAAE;QACzB;aAAO;AACH,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC9B;IACJ;AAEA;;AAEG;IACH,gBAAgB,GAAA;QACZ,IAAI,CAAC,eAAe,EAAE;IAC1B;AAEA;;AAEG;IACH,eAAe,GAAA;QACX,IAAI,CAAC,cAAc,EAAE;IACzB;AAEA;;;;AAIG;IACH,YAAY,CAAC,KAAY,EAAE,GAAoB,EAAA;QAC3C,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,KAAK,YAAY,aAAa,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;AAC1C,YAAA,QAAQ,KAAK,CAAC,GAAG;AACb,gBAAA,KAAK,OAAO,CAAC,UAAU,EAAE;AACrB,oBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;oBACjC;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,WAAW,EAAE;AACtB,oBAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;oBAClC;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,QAAQ,EAAE;AACnB,oBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;oBACjC;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,UAAU,EAAE;AACrB,oBAAA,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;oBAClC;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,eAAe,EAAE;oBACtB;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,IAAI,EAAE;oBACf,IAAI,CAAC,gBAAgB,EAAE;oBACvB;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,KAAK,EAAE;AAChB,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;oBACrB;gBACJ;AACA,gBAAA,KAAK,OAAO,CAAC,GAAG,EAAE;AACd,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBACrB;gBACJ;gBACA,SAAS;oBACL;gBACJ;;QAER;IACJ;AAEQ,IAAA,kBAAkB,CAAC,GAAoB,EAAA;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;AAChD,QAAA,OAAO,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;IAC5D;AAEQ,IAAA,SAAS,CAAC,GAAW,EAAA;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;QAE/C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;AAC1C,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC;AAEhE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,GAAG,EAAE;QAE1G,IAAI,SAAS,GAAG,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,SAAS,GAAG,IAAI,CAAC,IAAI,CACjB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW;gBACnC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,UAAU;gBACxD,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW;AACzD,gBAAA,UAAU,CACjB;QACL;aAAO;YACH,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;QACjG;QAEA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;AAE1G,QAAA,IAAI,SAAS,GAAG,SAAS,EAAE;AACvB,YAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;YAChC,SAAS,GAAG,SAAS;QACzB;AAEA,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACZ,YAAA,IAAI,CAAC,cAAc,GAAG,CAAA,YAAA,EAAe,SAAS,eAAe;QACjE;aAAO;AACH,YAAA,IAAI,CAAC,cAAc,GAAG,CAAA,aAAA,EAAgB,SAAS,eAAe;QAClE;IACJ;IAEQ,YAAY,CAAC,GAAW,EAAE,KAAa,EAAA;AAC3C,QAAA,IAAI,GAAG,KAAK,cAAc,CAAC,IAAI,EAAE;AAC7B,YAAA,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAG;AAChE,gBAAA,OAAO,CAAC;YACZ;iBAAO;gBACH,OAAO,KAAK,GAAG,CAAC;YACpB;QACJ;aAAO;YACH,IAAI,KAAK,KAAK,CAAC,IAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE;AAC1C,gBAAA,OAAO,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC;YAClC;iBAAO;gBACH,OAAO,KAAK,GAAG,CAAC;YACpB;QACJ;IACJ;IAEQ,2BAA2B,GAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACtB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAoB;AACxD,YAAA,MAAM,CAAC,QAAQ,GAAG,IAAI;AACtB,YAAA,MAAM,CAAC,QAAQ,GAAG,KAAK;AACvB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAyB,CAAC;AACjD,QAAA,CAAC,CAAC;IACN;IAEQ,cAAc,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC9B;IAEQ,YAAY,GAAA;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM;IACrC;IAEQ,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;IACnC;IAEQ,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;IAClC;IAEQ,kBAAkB,GAAA;AACtB,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvH;AAEQ,IAAA,2BAA2B,CAAC,IAAgC,EAAA;QAChE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3E;IAEQ,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAEvC,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACtB,gBAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;AAC9B,YAAA,CAAC,CAAC;QACN;aAAO;YACH,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,KAAI;AAClC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;AACtC,YAAA,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAI;AACpC,gBAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,YAAA,CAAC,CAAC;QACN;QACA,IAAI,CAAC,2BAA2B,EAAE;IACtC;AAEQ,IAAA,gBAAgB,CAAC,GAAoB,EAAA;AACzC,QAAA,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACxD,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;AACzB,QAAA,CAAC,CAAC;AACF,QAAA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC9D,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;AACjC,QAAA,CAAC,CAAC;IACN;IAEQ,WAAW,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAC9B,YAAA,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC;YACzB;iBAAO;AACH,gBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YAC1B;AACJ,QAAA,CAAC,CAAC;IACN;IAEQ,iBAAiB,GAAA;QACrB,IAAI,MAAM,GAAG,IAAI;QACjB,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACjC,YAAA,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE;gBACd,MAAM,GAAG,EAAE;YACf;iBAAO;gBACH;YACJ;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,MAAM;IACjB;AAEQ,IAAA,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC3C,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC;QACtC;aAAO;YACH,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE;QAC9C;IACJ;IAEQ,eAAe,GAAA;QACnB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE;IACzC;IAEQ,cAAc,GAAA;QAClB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE;AACtC,YAAA,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,EAAE;QACxC;aAAO;YACH,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACpD;IACJ;AAEQ,IAAA,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;AACpC,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC;QACtC;aAAO;YACH,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE;QAC9C;IACJ;AAEQ,IAAA,kBAAkB,CAAC,KAAa,EAAA;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE;IACtE;IAEQ,mBAAmB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE;IAEQ,oBAAoB,GAAA;AACxB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACnC;AAEQ,IAAA,mBAAmB,CAAC,GAAoB,EAAA;AAC5C,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE;AACtB,YAAA,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;QAC/B;IACJ;IAEQ,iBAAiB,CAAC,IAA4B,EAAE,QAAgC,EAAA;AACpF,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AAChB,YAAA,EAAE,CAAC,QAAQ,GAAG,KAAK;AACvB,QAAA,CAAC,CAAC;AAEF,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACpB,YAAA,EAAE,CAAC,QAAQ,GAAG,KAAK;AACvB,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,WAAW,CAAC,GAAoB,EAAA;AACpC,QAAA,GAAG,CAAC,QAAQ,GAAG,IAAI;IACvB;AAEQ,IAAA,kBAAkB,CAAC,GAAoB,EAAA;QAC3C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACnD;IAEQ,wBAAwB,GAAA;AAC5B,QAAA,IAAI,CAAC;AACA,aAAA,OAAO,CAAC,CAAC,oBAAoB,CAAC;AAC9B,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC7B,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,OAAO;AAC5C,QAAA,CAAC,CAAC;IACV;IAEQ,YAAY,GAAA;QAChB,IAAI,CAAC,aAAa,EAAE;AACpB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,YAAY,EAAE;YACnB;QACJ;AACA,QAAA,IAAI,CAAC,cAAc,GAAG,4BAA4B;AAClD,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;QACd,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;QACtC,MAAM,WAAW,GAAG,EAAE;AACtB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACzC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;QAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAC1B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACrB,YAAA,IAAI,SAAS,IAAI,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;AAC1E,gBAAA,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YAChC;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,gBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI;gBACpC;AACA,gBAAA,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACvB;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACrB,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;YAC7B,IAAI,CAAC,wBAAwB,EAAE;YAC/B,IAAI,CAAC,mBAAmB,EAAE;QAC9B;aAAO;AACH,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI;AAC5B,YAAA,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC;QACnD;IACJ;IAEQ,gBAAgB,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AAClB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;AAClF,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAC5B;IACJ;IAEQ,mBAAmB,GAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvD;IAEQ,wBAAwB,GAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAClC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,gBAAA,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAChE;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;IAC1B;IAEQ,gBAAgB,GAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK;IACpE;AAEQ,IAAA,6BAA6B,CAAC,WAAqB,EAAA;QACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AAClC,YAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;YACzB;iBAAO;AACH,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;YACxB;AACJ,QAAA,CAAC,CAAC;IACN;IAEQ,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;AAChC,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;QAC/B,IAAI,CAAC,iBAAiB,EAAE;IAC5B;IAEQ,iBAAiB,GAAA;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAG,CAAC,KAAI;AAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACzB,QAAA,CAAC,CAAC;IACN;IAEQ,oBAAoB,GAAA;AACxB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK;QAC3B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;YACtF,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;gBACrB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;oBACzD,IAAI,CAAC,eAAe,EAAE;gBAC1B;AACJ,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;IACN;AAEQ,IAAA,aAAa,CAAC,QAAiB,EAAA;AACnC,QAAA,OAAO,QAAQ,KAAK,IAAI,CAAC,KAAK;IAClC;IAEQ,eAAe,GAAA;QACnB,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,cAAc,GAAG,4BAA4B;AAClD,QAAA,IAAI,CAAC,KAAK,GAAG,CAAC;IAClB;IAEQ,yBAAyB,GAAA;QAC7B,IAAI,cAAc,CAAC,MAAK;YACpB,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,YAAY,EAAE;AACvB,YAAA,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC7B,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;IAC3C;mHA3pBS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAmBS,eAAe,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1ErD,q1GAmEC,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDfa,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,MAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAsC,eAAe,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;gGAG7G,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,WAEzB,CAAC,eAAe,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,GAAG,YAAY,EAAE,eAAe,EAAE,oBAAoB,CAAC,EAAA,aAAA,EACxG,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,q1GAAA,EAAA;;sBAMpC,WAAW;uBAAC,gBAAgB;;sBAK5B;;sBAKA;;sBAKA,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,eAAe,CAAC;;sBAKjD,SAAS;uBAAC,UAAU;;sBAKpB,SAAS;uBAAC,YAAY;;sBAKtB,SAAS;uBAAC,SAAS;;sBAKnB,SAAS;uBAAC,SAAS;;sBAKnB,SAAS;uBAAC,cAAc;;sBAuFxB,YAAY;uBAAC,gBAAgB,EAAE,CAAC,eAAe,CAAC;;;AEpLrD,MAAM,UAAU,GAAG,CAAC,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,CAAC;AACjG;;;;AAIG;MAKU,aAAa,CAAA;mHAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAAA,OAAA,EAAA,CAVN,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAA5E,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAUnF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAVN,gBAAgB,CAAA,EAAA,CAAA,CAAA;;gGAUvB,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC3B,iBAAA;;;ACFM,MAAM,YAAY,GAAG;AACxB,IAAA,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,mBAAmB;;;ACdhF;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-tabs.mjs","sources":["../../components/ecl-tabs/ecl-tab-label.component.ts","../../components/ecl-tabs/ecl-tab-label.component.html","../../components/ecl-tabs/ecl-tab-more.component.ts","../../components/ecl-tabs/ecl-tab-more.component.html","../../components/ecl-tabs/events/ecl-tab-select.event.ts","../../components/ecl-tabs/ecl-tab.component.ts","../../components/ecl-tabs/ecl-tab.component.html","../../components/ecl-tabs/ecl-tabs.component.ts","../../components/ecl-tabs/ecl-tabs.component.html","../../components/ecl-tabs/ecl-tabs.module.ts","../../components/ecl-tabs/index.ts","../../components/ecl-tabs/eui-ecl-components-ecl-tabs.ts"],"sourcesContent":["import { Component, ElementRef, inject } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a tab label within ECL Tabs.\n * Used as a container for the tab's visual label content.\n */\n@Component({\n selector: 'ecl-tab-label',\n templateUrl: './ecl-tab-label.component.html',\n})\nexport class EclTabLabelComponent extends ECLBaseDirective {\n el = inject(ElementRef);\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * @deprecated\n * This component is deprecated and will be removed in v20.\n * \n * Represents a \"More\" tab item used to group additional tabs when space is limited.\n */\n@Component({\n selector: 'ecl-tab-more',\n templateUrl: './ecl-tab-more.component.html',\n})\nexport class EclTabMoreComponent extends ECLBaseDirective {\n /**\n * Controls whether the tab is hidden.\n * When true, the `ecl-tabs__item--hidden` class is applied.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-tabs__item--hidden') isHidden = false;\n\n /**\n * Host CSS classes applied to the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item ecl-tabs__item--more')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclTab } from '../models/ecl-tab.model';\n\n/**\n * Event emitted when a tab is selected.\n *\n * Contains a reference to the selected tab instance.\n */\nexport class EclTabSelectEvent extends EclBaseEvent {\n /**\n * The tab instance that has been selected.\n */\n constructor(public tab: EclTab) {\n super();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective, EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTab } from './models/ecl-tab.model';\nimport { EclTabSelectEvent } from './events/ecl-tab-select.event';\n\n/**\n * Represents a single tab inside the ECL Tabs component.\n * Manages its label, state (active, hidden), and interaction events like click or keydown.\n *\n * Note: The old selector `ecl-tab` is deprecated and will be removed in v20.\n * Use `div[eclTab]` instead.\n */\n@Component({\n selector: 'ecl-tab, div[eclTab]',\n templateUrl: './ecl-tab.component.html',\n imports: [...EUI_ECL_LINK],\n})\nexport class EclTabComponent extends ECLBaseDirective implements EclTab, AfterViewInit {\n /**\n * Unique identifier for the tab.\n */\n @Input() id: string;\n\n /**\n * Extra classes to be added to the anchor tag.\n */\n @Input() anchorExtraClasses: string;\n\n /**\n * Hides the tab when true by applying the `ecl-tabs__item--hidden` CSS class.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-tabs__item--hidden') isHidden = false;\n\n /**\n * Marks the tab as active.\n */\n @Input({ transform: booleanAttribute }) isActive = false;\n\n /**\n * Emits when the tab is selected via click.\n */\n @Output() selectTab = new EventEmitter<EclTabSelectEvent>();\n\n /**\n * Emits when a keydown event occurs on the tab.\n */\n @Output() keydownTab = new EventEmitter<Event>();\n\n /**\n * Reference to the tab content template.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @ViewChild('content') contentTemplate: TemplateRef<any>;\n\n /**\n * Reference to the internal link directive used in the tab.\n */\n @ViewChild(EclLinkDirective) link: EclLinkDirective;\n\n /**\n * Reference to the projected tab label component.\n */\n @ContentChild(EclTabLabelComponent) label: EclTabLabelComponent;\n\n /**\n * Contains the inner HTML of the tab label.\n */\n public tabLabel = '';\n\n /**\n * The tab index value for the tab's link.\n */\n hrefTabindex = -1;\n\n private isFirstCall = true;\n private width: number;\n private elementRef = inject(ElementRef);\n\n constructor() {\n super();\n if (this.isUsingOldSelector) {\n console.warn('\"ecl-tab\" selector is deprecated; use \"div[eclTab]\" instead.');\n }\n }\n\n /**\n * Returns the host HTML element of the tab component.\n */\n get hostElement(): HTMLElement {\n return this.elementRef?.nativeElement;\n }\n\n /**\n * Determines if the deprecated selector `<ecl-tab>` is used.\n */\n get isUsingOldSelector(): boolean {\n if (this.elementRef?.nativeElement.tagName.toLowerCase() === 'ecl-tab') {\n return true;\n }\n return false;\n }\n\n ngAfterViewInit(): void {\n this.tabLabel = this.label.el.nativeElement.innerHTML;\n }\n\n /**\n * Returns the CSS classes applied to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tabs__item')].join(' ').trim();\n }\n\n /**\n * Returns the inner HTML content of the tab label.\n */\n getTabLabel(): string {\n return this.label.el.nativeElement.innerHTML;\n }\n\n /**\n * Returns the width of the tab element in pixels.\n * The measurement is cached after the first call.\n */\n public getWidth(): number {\n if (this.isFirstCall) {\n this.width = this.hostElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n return this.width;\n }\n\n /**\n * Handles a click event on the tab and emits the `selectTab` event.\n */\n onTabClick(): void {\n this.selectTab.next(new EclTabSelectEvent(this));\n }\n\n /**\n * Handles a keydown event on the tab and emits the `keydownTab` event.\n */\n onKeydown(event: Event): void {\n this.keydownTab.next(event);\n }\n\n /**\n * Calls the focus method on the inner link directive.\n */\n onFocus(): void {\n this.link.onFocus();\n }\n\n /**\n * Calls the blur method on the inner link directive.\n */\n onBlur(): void {\n this.link.onBlur();\n }\n}\n","<a\n eclLink\n role=\"tab\"\n class=\"ecl-tabs__link eui-ecl-u-cursor-pointer {{anchorExtraClasses}}\"\n [class.ecl-tabs__link--active]=\"isActive\"\n [attr.aria-selected]=\"isActive\"\n [tabindex]=\"hrefTabindex\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onTabClick()\">\n <ng-content select=\"ecl-tab-label\"></ng-content>\n</a>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterNextRender,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n IterableChanges,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { mergeWith, takeUntil } from 'rxjs/operators';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { KeyCode } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclButtonComponent, EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabSelectEvent } from './events/ecl-tab-select.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\n\nexport enum ShiftDirection {\n NEXT = 'next',\n PREVIOUS = 'prev',\n}\n\n/**\n * ECL Tabs component for displaying tabbed content and managing tab selection and navigation.\n *\n * Note: The old selector `ecl-tabs` is deprecated and will be removed in v20.\n * Use `div[eclTabs]` instead.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclTabs], ecl-tabs',\n templateUrl: './ecl-tabs.component.html',\n imports: [TranslateModule, NgTemplateOutlet, ...EUI_ECL_BUTTON, ...EUI_ECL_ICON, EclTabComponent, EclTabLabelComponent],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclTabsComponent extends ECLBaseDirective implements OnInit, OnDestroy {\n /**\n * Adds `ecl-tabs` class to the host if not using the deprecated selector.\n */\n @HostBinding('class.ecl-tabs') hasClass = !this.isUsingOldSelector;\n\n /**\n * Class applied to the tab body container.\n */\n @Input() bodyClass = 'ecl-u-mt-s';\n\n /**\n * Emits an event when a tab is selected.\n */\n @Output() tabSelect = new EventEmitter<EclTabSelectEvent>();\n\n /**\n * All projected tabs inside the component.\n */\n @ContentChildren(forwardRef(() => EclTabComponent)) tabs: QueryList<EclTabComponent>;\n\n /**\n * Reference to the visible tab list container.\n */\n @ViewChild('tabsList') tabsList: ElementRef;\n\n /**\n * Reference to the \"more\" button.\n */\n @ViewChild('moreButton') moreButton: EclButtonComponent;\n\n /**\n * Reference to the scroll previous button.\n */\n @ViewChild('btnPrev') btnPrev: EclButtonComponent;\n\n /**\n * Reference to the scroll next button.\n */\n @ViewChild('btnNext') btnNext: EclButtonComponent;\n\n /**\n * Reference to the dropdown list containing overflowed tabs.\n */\n @ViewChild('dropdownList') dropdownList: ElementRef;\n\n /**\n * Tabs displayed in the dropdown.\n */\n dropdownTabs: Array<EclTabComponent> = [];\n\n /**\n * Tabs displayed in the visible list.\n */\n listTabs: Array<EclTabComponent> = [];\n\n /**\n * Index of the active tab.\n */\n index = 0;\n\n /**\n * Indicates whether the dropdown is expanded.\n */\n isDropdownExpanded = false;\n\n /**\n * Indicates whether the mobile breakpoint is active.\n */\n isMobileBreakpoint = false;\n\n /**\n * Indicates whether the \"more\" button is shown.\n */\n isMoreButtonShow = true;\n\n /**\n * Indicates whether the scroll previous button is shown.\n */\n isScrollPrevBtnShow = false;\n\n /**\n * Indicates whether the scroll next button is shown.\n */\n isScrollNextBtnShow = false;\n\n /**\n * CSS transform applied to the scrollable tab list.\n */\n styleTransform = 'translate3d(0px, 0px, 0px)';\n\n private differs = inject(IterableDiffers);\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private cd = inject(ChangeDetectorRef);\n private el = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private platformId = inject(PLATFORM_ID);\n private differ: IterableDiffer<EclTabComponent>;\n private diff: IterableChanges<EclTabComponent>;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isFirstCall = true;\n private isRtl = false;\n private moreBtnWidth: number;\n private TIMEOUT_INTERVAL = 0;\n\n constructor() {\n super();\n if (this.isUsingOldSelector) {\n console.warn('\"ecl-tabs\" selector is deprecated; use \"div[eclTabs]\" instead.');\n }\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n setTimeout(() => this.setTabindex());\n this.observeTabsChanges();\n this.observeElementSizeChanges();\n this.cd.detectChanges();\n });\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.observeBreakpointChanges();\n this.handleRtlChangeState();\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('document:click', ['$event.target'])\n onClick(target): void {\n if (!this.moreButton.el.nativeElement.contains(target) && !this.dropdownList.nativeElement.contains(target)) {\n this.closeDropdown();\n }\n }\n\n /**\n * Whether the deprecated selector is being used.\n */\n get isUsingOldSelector(): boolean {\n if (this.el?.nativeElement.tagName.toLowerCase() === 'ecl-tabs') {\n return true;\n }\n return false;\n }\n\n /**\n * Whether any visible tab is active.\n */\n get isMoreButtonActive(): boolean {\n return this.listTabs.find((el) => el.isActive) !== undefined;\n }\n\n /**\n * Scrolls the tab list to the left.\n */\n onScrollPrev(): void {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n }\n\n /**\n * Scrolls the tab list to the right.\n */\n onScrollNext(): void {\n this.shiftTabs(ShiftDirection.NEXT);\n }\n\n /**\n * Toggles the dropdown visibility.\n */\n onDropdownToggle(): void {\n this.isDropdownExpanded = !this.isDropdownExpanded;\n }\n\n /**\n * Returns the style value for tab list width.\n */\n getTabsWidthStyle(): string {\n return this.isMobileBreakpoint ? `${this.getTabsWidth()}px` : 'auto';\n }\n\n /**\n * Calculates total width of all tabs.\n */\n getTabsWidth(): number {\n return this.tabs.reduce((total, item) => (total += Math.ceil(item.getWidth())), 0);\n }\n\n /**\n * Returns the number of tabs hidden in dropdown.\n */\n getHiddenTabsCount(): number {\n return this.tabs.filter((item) => item.isHidden).length;\n }\n\n /**\n * Returns the label of the tab at the specified index.\n */\n getTabLabel(index: number): string {\n return this.getTabsAsArray()[index].getTabLabel();\n }\n\n /**\n * Returns the duration of the transition animation.\n */\n getTransitionDuration(): string {\n if (this.isMobileBreakpoint) {\n return '0.4s';\n }\n return '0';\n }\n\n /**\n * Handles blur event when navigating tabs via keyboard.\n */\n onTabBlur(evt: KeyboardEvent): void {\n this.closeDropdown();\n if (evt.shiftKey) {\n this.getFirstTabFromArray().onBlur();\n } else {\n this.getLastVisibleTab().onFocus();\n this.getLastVisibleTab().onBlur();\n }\n }\n\n /**\n * Handles tab selection.\n * @param tab Tab to activate.\n */\n onTabSelect(tab: EclTabComponent): void {\n this.deactivateAllTabs(this.tabs.toArray(), this.listTabs);\n this.activateTab(tab);\n this.sendTabSelectEvent(tab);\n }\n\n /**\n * Handles right arrow key navigation.\n * @param index Current tab index.\n */\n onTabKeydownArrowRight(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.NEXT);\n if (index === this.getTabsCount() - 1) {\n return;\n }\n }\n if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint) {\n this.focusOnFirstTab();\n } else {\n this.focusOnNextTab(index);\n }\n }\n\n /**\n * Handles left arrow key navigation.\n * @param index Current tab index.\n */\n onTabKeydownArrowLeft(index: number): void {\n if (this.isMobileBreakpoint) {\n this.shiftTabs(ShiftDirection.PREVIOUS);\n if (index === 0) {\n return;\n }\n }\n\n if (index === 0 && !this.isMobileBreakpoint) {\n this.focusOnLastTab();\n } else {\n this.focusOnPrevTab(index);\n }\n }\n\n /**\n * Focuses the first tab in the list.\n */\n onTabKeydownHome(): void {\n this.focusOnFirstTab();\n }\n\n /**\n * Focuses the last tab in the list.\n */\n onTabKeydownEnd(): void {\n this.focusOnLastTab();\n }\n\n /**\n * Handles all supported keyboard events for a tab.\n * @param event KeyboardEvent triggered.\n * @param tab Target tab.\n */\n onTabKeydown(event: Event, tab: EclTabComponent): void {\n event.preventDefault();\n if (event instanceof KeyboardEvent) {\n const index = this.getCurrentTabIndex(tab);\n switch (event.key) {\n case KeyCode.ARROW_LEFT: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_RIGHT: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.ARROW_UP: {\n this.onTabKeydownArrowLeft(index);\n break;\n }\n case KeyCode.ARROW_DOWN: {\n this.onTabKeydownArrowRight(index);\n break;\n }\n case KeyCode.END: {\n this.onTabKeydownEnd();\n break;\n }\n case KeyCode.HOME: {\n this.onTabKeydownHome();\n break;\n }\n case KeyCode.ENTER: {\n this.onTabSelect(tab);\n break;\n }\n case KeyCode.TAB: {\n this.onTabBlur(event);\n break;\n }\n default: {\n break;\n }\n }\n }\n }\n\n private getCurrentTabIndex(tab: EclTabComponent): number {\n const index = this.getTabsAsArray().indexOf(tab)\n return index !== -1 ? index : this.listTabs.indexOf(tab);\n }\n\n private shiftTabs(dir: string): void {\n this.index = this.getShifIndex(dir, this.index);\n\n this.isScrollPrevBtnShow = this.index >= 1;\n this.isScrollNextBtnShow = this.index <= this.getTabsCount() - 1;\n\n const leftMargin = this.index === 0 ? 0 : this.btnPrev.el.nativeElement.getBoundingClientRect().width + 13;\n\n let newOffset = 0;\n if (this.isRtl) {\n newOffset = Math.ceil(\n this.tabsList.nativeElement.offsetWidth -\n this.getTabsAsArray()[this.index].hostElement.offsetLeft -\n this.getTabsAsArray()[this.index].hostElement.offsetWidth -\n leftMargin,\n );\n } else {\n newOffset = Math.ceil(this.getTabsAsArray()[this.index]?.hostElement.offsetLeft - leftMargin);\n }\n\n const maxScroll = Math.ceil(this.getTabsListWidth() - this.el.nativeElement.getBoundingClientRect().width);\n\n if (newOffset > maxScroll) {\n this.isScrollNextBtnShow = false;\n newOffset = maxScroll;\n }\n\n if (this.isRtl) {\n this.styleTransform = `translate3d(${newOffset}px, 0px, 0px)`;\n } else {\n this.styleTransform = `translate3d(-${newOffset}px, 0px, 0px)`;\n }\n }\n\n private getShifIndex(dir: string, index: number): number {\n if (dir === ShiftDirection.NEXT) {\n if (index === this.getTabsCount() - 1 && !this.isMobileBreakpoint ) {\n return 0;\n } else {\n return index + 1;\n }\n } else {\n if (index === 0 && !this.isMobileBreakpoint) {\n return this.getTabsCount() - 1;\n } else {\n return index - 1;\n }\n }\n }\n\n private createSecondListForDropdown(): void {\n this.listTabs = [];\n this.tabs.forEach((tab) => {\n const newTab = Object.assign({}, tab) as EclTabComponent;\n newTab.isHidden = true;\n newTab.isActive = false;\n this.listTabs.push(newTab as EclTabComponent);\n });\n }\n\n private getTabsAsArray(): EclTabComponent[] {\n return this.tabs.toArray();\n }\n\n private getTabsCount(): number {\n return this.tabs.toArray().length;\n }\n\n private closeDropdown(): void {\n this.isDropdownExpanded = false;\n }\n\n private openDropdown(): void {\n this.isDropdownExpanded = true;\n }\n\n private observeTabsChanges(): void {\n this.createTabsChangesObservable(this.tabs).pipe(takeUntil(this.destroy$)).subscribe(this.onTabsChanges.bind(this));\n }\n\n private createTabsChangesObservable(tabs: QueryList<EclTabComponent>): Observable<QueryList<EclTabComponent>> {\n return of(tabs).pipe(mergeWith(tabs.changes), takeUntil(this.destroy$));\n }\n\n private onTabsChanges(): void {\n this.diff = this.differ.diff(this.tabs);\n\n if (!this.diff) {\n this.tabs.forEach((tab) => {\n this.connectTabEvents(tab);\n });\n } else {\n this.diff.forEachAddedItem((change) => {\n this.connectTabEvents(change.item);\n });\n\n this.diff.forEachRemovedItem((change) => {\n this.disconnectTabEvents(change.item);\n });\n }\n this.createSecondListForDropdown();\n }\n\n private connectTabEvents(tab: EclTabComponent): void {\n tab.selectTab.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onTabSelect(tab);\n });\n tab.keydownTab.pipe(takeUntil(this.destroy$)).subscribe((event) => {\n this.onTabKeydown(event, tab);\n });\n }\n\n private setTabindex(): void {\n this.tabs.forEach((item, index) => {\n if (index === 0) {\n item.hrefTabindex = 0;\n } else {\n item.hrefTabindex = -1;\n }\n });\n }\n\n private getLastVisibleTab(): EclTabComponent {\n let result = null;\n this.getTabsAsArray().forEach((el) => {\n if (!el.isHidden) {\n result = el;\n } else {\n return;\n }\n });\n return result;\n }\n\n private focusOnNextTab(index: number): void {\n if (this.getTabsAsArray()[index + 1].isHidden) {\n this.openDropdown();\n this.focusOnDropdownTab(index + 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index + 1].onFocus();\n }\n }\n\n private focusOnFirstTab(): void {\n this.closeDropdown();\n this.getFirstTabFromArray().onFocus();\n }\n\n private focusOnLastTab(): void {\n if (!this.getLastTabFromArray().isHidden) {\n this.getLastTabFromArray().onFocus();\n } else {\n this.openDropdown();\n this.focusOnDropdownTab(this.getTabsCount() - 1);\n }\n }\n\n private focusOnPrevTab(index: number): void {\n if (!this.listTabs[index - 1].isHidden) {\n this.focusOnDropdownTab(index - 1);\n } else {\n this.closeDropdown();\n this.getTabsAsArray()[index - 1].onFocus();\n }\n }\n\n private focusOnDropdownTab(index: number): void {\n this.dropdownList.nativeElement.children[index].firstChild.focus();\n }\n\n private getLastTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[this.getTabsAsArray().length - 1];\n }\n\n private getFirstTabFromArray(): EclTabComponent {\n return this.getTabsAsArray()[0];\n }\n\n private disconnectTabEvents(tab: EclTabComponent): void {\n if (tab && tab.selectTab) {\n tab.selectTab.unsubscribe();\n }\n }\n\n private deactivateAllTabs(tabs: Array<EclTabComponent>, listTabs: Array<EclTabComponent>): void {\n tabs.forEach((it) => {\n it.isActive = false;\n });\n\n listTabs.forEach((it) => {\n it.isActive = false;\n });\n }\n\n private activateTab(tab: EclTabComponent): void {\n tab.isActive = true;\n }\n\n private sendTabSelectEvent(tab: EclTabComponent): void {\n this.tabSelect.next(new EclTabSelectEvent(tab));\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(max-width: 480px)'])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n\n private handleResize(): void {\n this.closeDropdown();\n if (this.isMobileBreakpoint) {\n this.handleMobile();\n return;\n }\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n this.initMoreBtnWidth();\n let stopWidth = this.moreBtnWidth + 25;\n const hiddenItems = [];\n const listWidth = this.getTabsListWidth();\n this.isScrollNextBtnShow = false;\n this.isScrollPrevBtnShow = false;\n this.isMoreButtonShow = false;\n this.tabs.forEach((item, i) => {\n item.isHidden = false;\n if (listWidth >= stopWidth + item.getWidth() && !hiddenItems.includes(i - 1)) {\n stopWidth += item.getWidth();\n } else {\n item.isHidden = true;\n if (item.isActive) {\n this.listTabs[i].isActive = true;\n }\n hiddenItems.push(i);\n }\n });\n this.cd.markForCheck();\n if (!hiddenItems.length) {\n this.isMoreButtonShow = false;\n this.setActiveItemForMainTabs();\n this.hideAllDropdownTabs();\n } else {\n this.isMoreButtonShow = true;\n this.setHiddenItemsForDropdownTabs(hiddenItems);\n }\n }\n\n private initMoreBtnWidth(): void {\n if (this.isFirstCall) {\n this.moreBtnWidth = this.moreButton.el.nativeElement.getBoundingClientRect().width;\n this.isFirstCall = false;\n }\n }\n\n private hideAllDropdownTabs(): void {\n this.listTabs.forEach(item => item.isHidden = true);\n }\n\n private setActiveItemForMainTabs(): void {\n this.listTabs.forEach((item, index) => {\n if (item.isActive) {\n setTimeout(() => this.tabs.toArray()[index].isActive = true);\n }\n });\n this.cd.markForCheck();\n }\n\n private getTabsListWidth(): number {\n return this.tabsList.nativeElement.getBoundingClientRect().width;\n }\n\n private setHiddenItemsForDropdownTabs(hiddenItems: number[]): void {\n this.listTabs.forEach((item, index) => {\n if (hiddenItems.includes(index)) {\n item.isHidden = false;\n } else {\n item.isHidden = true;\n }\n });\n }\n\n private handleMobile(): void {\n this.isMoreButtonShow = false;\n this.isScrollPrevBtnShow = false;\n this.isScrollNextBtnShow = true;\n this.setAllTabsVisible();\n }\n\n private setAllTabsVisible(): void {\n this.tabs.forEach((item , i) => {\n item.isHidden = false;\n })\n }\n\n private handleRtlChangeState(): void {\n const isRtlOld = this.isRtl;\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n setTimeout(() => {\n this.isRtl = rtlState;\n if (this.isMobileBreakpoint && this.hasRtlChanged(isRtlOld)) {\n this.handleRtlChange();\n }\n });\n });\n }\n\n private hasRtlChanged(isRtlOld: boolean): boolean {\n return isRtlOld !== this.isRtl;\n }\n\n private handleRtlChange(): void {\n this.handleMobile();\n this.styleTransform = 'translate3d(0px, 0px, 0px)';\n this.index = 0;\n }\n\n private observeElementSizeChanges(): void {\n new ResizeObserver(() => {\n setTimeout(() => {\n this.handleResize();\n }, this.TIMEOUT_INTERVAL);\n }).observe(this.tabsList.nativeElement);\n }\n}\n","@if (isUsingOldSelector) {\n<div class=\"ecl-tabs\">\n <ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n</div>\n} @else {\n<ng-container *ngTemplateOutlet=\"eclTabsTemplate\"></ng-container>\n}\n\n<ng-template #eclTabsTemplate>\n <div class=\"ecl-tabs__container\" [class.ecl-tabs__container--right]=\"isScrollNextBtnShow\"\n [class.ecl-tabs__container--left]=\"isScrollPrevBtnShow\">\n <div class=\"ecl-tabs__list\" role=\"tablist\" #tabsList [style.width]=\"getTabsWidthStyle()\"\n [style.transform]=\"styleTransform\" [style.transition-duration]=\"getTransitionDuration()\">\n <ng-content select=\"ecl-tab, [eclTab]\"></ng-content>\n <div class=\"ecl-tabs__item ecl-tabs__item--more\" [class.ecl-tabs__item--hidden]=\"!isMoreButtonShow\">\n @if (listTabs.length > 0) {\n <div class=\"ecl-tabs__dropdown\" [class.ecl-tabs__dropdown--show]=\"isDropdownExpanded\">\n <div class=\"ecl-tabs__dropdown-list\" #dropdownList>\n @for (tab of listTabs; track tab.id; let i = $index) {\n <div eclTab [isActive]=\"tab.isActive\" [isHidden]=\"tab.isHidden\" (click)=\"onTabSelect(tab)\"\n (keydown)=\"onTabKeydown($event, tab)\">\n <ecl-tab-label>{{ getTabLabel(i) }}</ecl-tab-label>\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n <button #moreButton eclButton class=\"ecl-tabs__toggle\" tabindex=\"-1\" variant=\"tertiary\"\n [attr.aria-expanded]=\"isDropdownExpanded\" [class.ecl-tabs__toggle--active]=\"isMoreButtonActive\"\n (click)=\"onDropdownToggle()\" [class.ecl-tabs__toggle--hidden]=\"!isMoreButtonShow\">\n <span eclButtonLabel>\n {{ 'ecl.common.MORE' | translate }}\n ({{ getHiddenTabsCount() }})\n </span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-180\" size=\"fluid\"></ecl-icon>\n </button>\n </div>\n\n <div class=\"ecl-tabs__controls\">\n <button #btnPrev eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__prev\"\n [style.display]=\"isScrollPrevBtnShow ? 'flex' : 'none'\" (click)=\"onScrollPrev()\">\n <span eclButtonLabel>{{ 'ecl.common.PREVIOUS' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-270\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n <button #btnNext eclButton variant=\"tertiary\" isIconOnly class=\"ecl-tabs__next\"\n [style.display]=\"isScrollNextBtnShow ? 'flex' : 'none'\" (click)=\"onScrollNext()\">\n <span eclButtonLabel>{{ 'ecl.common.NEXT' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" transform=\"rotate-90\" size=\"s\" class=\"\"> </ecl-icon>\n </button>\n </div>\n</ng-template>\n\n@for (tab of tabs.toArray(); track tab.tabLabel) {\n@if (tab.isActive) {\n<div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}\n@for (tab of listTabs; track tab.tabLabel) {\n@if (tab.isActive) {\n<div class=\"{{ bodyClass }}\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n</div>\n}\n}","import { NgModule } from '@angular/core';\nimport { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\n\nconst COMPONENTS = [EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent];\n/**\n * Module that provides the EclTabsComponent and it's dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TABS} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclTabsModule {}\n","import { EclTabLabelComponent } from './ecl-tab-label.component';\nimport { EclTabMoreComponent } from './ecl-tab-more.component';\nimport { EclTabComponent } from './ecl-tab.component';\nimport { EclTabsComponent } from './ecl-tabs.component';\n\nexport * from './ecl-tabs.module';\nexport * from './ecl-tabs.component';\nexport * from './ecl-tab.component';\nexport * from './ecl-tab-more.component';\nexport * from './ecl-tab-label.component';\nexport * from './models/ecl-tab.model';\nexport * from './events/ecl-tab-select.event';\n\nexport const EUI_ECL_TABS = [\n EclTabsComponent, EclTabComponent, EclTabLabelComponent, EclTabMoreComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -76,10 +76,10 @@ class EclTagComponent extends ECLBaseDirective {
76
76
  }
77
77
  });
78
78
  }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0-rc.2", type: EclTagComponent, isStandalone: true, selector: "ecl-tag, [eclTag]", inputs: { variant: "variant", isWrapped: ["isWrapped", "isWrapped", booleanAttribute] }, outputs: { remove: "remove" }, host: { properties: { "style.display": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
79
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.0", type: EclTagComponent, isStandalone: true, selector: "ecl-tag, [eclTag]", inputs: { variant: "variant", isWrapped: ["isWrapped", "isWrapped", booleanAttribute] }, outputs: { remove: "remove" }, host: { properties: { "style.display": "this.isHidden", "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
81
81
  }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagComponent, decorators: [{
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagComponent, decorators: [{
83
83
  type: Component,
84
84
  args: [{ selector: 'ecl-tag, [eclTag]', imports: [...EUI_ECL_ICON, TitleCasePipe], template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n" }]
85
85
  }], ctorParameters: () => [], propDecorators: { variant: [{
@@ -109,10 +109,10 @@ class EclTagSetDirective extends ECLBaseDirective {
109
109
  get cssClasses() {
110
110
  return [super.getCssClasses('ecl-tag-set')].join(' ').trim();
111
111
  }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagSetDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
113
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclTagSetDirective, isStandalone: true, selector: "[eclTagSet]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
112
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagSetDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
113
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclTagSetDirective, isStandalone: true, selector: "[eclTagSet]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
114
114
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagSetDirective, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagSetDirective, decorators: [{
116
116
  type: Directive,
117
117
  args: [{
118
118
  selector: '[eclTagSet]',
@@ -133,10 +133,10 @@ class EclTagSetItemDirective extends ECLBaseDirective {
133
133
  */
134
134
  this.hasClass = true;
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagSetItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
137
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclTagSetItemDirective, isStandalone: true, selector: "[eclTagSetItem]", host: { properties: { "class.ecl-tag-set__item": "this.hasClass" } }, usesInheritance: true, ngImport: i0 }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagSetItemDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
137
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclTagSetItemDirective, isStandalone: true, selector: "[eclTagSetItem]", host: { properties: { "class.ecl-tag-set__item": "this.hasClass" } }, usesInheritance: true, ngImport: i0 }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagSetItemDirective, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagSetItemDirective, decorators: [{
140
140
  type: Directive,
141
141
  args: [{
142
142
  selector: '[eclTagSetItem]',
@@ -158,10 +158,10 @@ class EclTagIconExternalDirective extends ECLBaseDirective {
158
158
  get cssClasses() {
159
159
  return [super.getCssClasses('ecl-tag__icon ecl-tag__icon--external')].join(' ').trim();
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagIconExternalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
162
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0-rc.2", type: EclTagIconExternalDirective, isStandalone: true, selector: "[eclTagIconExternal]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagIconExternalDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
162
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.0", type: EclTagIconExternalDirective, isStandalone: true, selector: "[eclTagIconExternal]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagIconExternalDirective, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagIconExternalDirective, decorators: [{
165
165
  type: Directive,
166
166
  args: [{
167
167
  selector: '[eclTagIconExternal]',
@@ -178,11 +178,11 @@ const COMPONENTS = [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective,
178
178
  * @deprecated Use {@link EUI_ECL_TAG} instead.
179
179
  */
180
180
  class EclTagModule {
181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
182
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagModule, imports: [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective], exports: [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective] }); }
183
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagModule, imports: [EclTagComponent] }); }
181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
182
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: EclTagModule, imports: [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective], exports: [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective] }); }
183
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagModule, imports: [EclTagComponent] }); }
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTagModule, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTagModule, decorators: [{
186
186
  type: NgModule,
187
187
  args: [{
188
188
  imports: [...COMPONENTS],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-tag.mjs","sources":["../../components/ecl-tag/events/ecl-tag-remove.event.ts","../../components/ecl-tag/ecl-tag.component.ts","../../components/ecl-tag/ecl-tag.component.html","../../components/ecl-tag/ecl-tag-set.directive.ts","../../components/ecl-tag/ecl-tag-icon.directive.ts","../../components/ecl-tag/ecl-tag.module.ts","../../components/ecl-tag/index.ts","../../components/ecl-tag/eui-ecl-components-ecl-tag.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a tag is removed.\n */\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n booleanAttribute,\n ElementRef,\n afterNextRender,\n OnDestroy,\n inject,\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclTagRemoveEvent } from './events/ecl-tag-remove.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n imports: [...EUI_ECL_ICON, TitleCasePipe],\n})\nexport class EclTagComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Defines the variant of the tag.\n * Currently only 'removable' is supported.\n */\n @Input() variant: 'removable';\n\n /**\n * Whether the tag content should be allowed to wrap onto multiple lines.\n * Set to false to force single-line display (adds `ecl-tag--nowrap` class).\n * Defaults to true.\n */\n @Input({ transform: booleanAttribute }) isWrapped = true;\n\n /**\n * Event emitted when the tag is removed.\n * Can be prevented by calling `preventDefault()` on the emitted event.\n */\n @Output() remove = new EventEmitter<EclTagRemoveEvent>();\n\n @HostBinding('style.display')\n get isHidden(): string | null {\n return this.isVisible ? null : 'none';\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag'),\n this.variant ? `ecl-tag--${this.variant}` : '',\n this.isWrapped ? '' : 'ecl-tag--nowrap',\n ].join(' ').trim();\n }\n\n isVisible = true;\n title = 'dismiss';\n private el = inject(ElementRef);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n super();\n afterNextRender(() => {\n this.connectEvents();\n });\n }\n\n /**\n * Whether the tag is removable (based on the `variant` input).\n */\n get isRemovable(): boolean {\n return this.variant == 'removable';\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions when the component is destroyed.\n */\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Called when the tag’s remove button is clicked (or enter key pressed).\n * Emits the `remove` event. If not prevented, the tag is hidden.\n */\n onRemoveClick(): void {\n const event = new EclTagRemoveEvent();\n this.remove.next(event);\n\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n\n private connectEvents(): void {\n fromEvent(this.el.nativeElement, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: KeyboardEvent) => {\n if (this.isRemovable && e.key === KeyCode.ENTER) {\n this.onRemoveClick();\n }\n });\n }\n}\n","<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a container as a set of tags.\n * Adds the `ecl-tag-set` class to the host element.\n */\n@Directive({\n selector: '[eclTagSet]',\n})\nexport class EclTagSetDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag-set` to define the layout for a group of tags.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag-set')].join(' ').trim();\n }\n}\n\n/**\n * Directive to mark an element as an individual item in a tag set.\n * Adds the `ecl-tag-set__item` class to the host element.\n */\n@Directive({\n selector: '[eclTagSetItem]',\n})\nexport class EclTagSetItemDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-tag-set__item` CSS class to the host element.\n */\n @HostBinding('class.ecl-tag-set__item') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply external icon styling inside an ECL tag.\n * Adds specific CSS classes to render an \"external\" icon next to the tag content.\n */\n@Directive({\n selector: '[eclTagIconExternal]',\n})\nexport class EclTagIconExternalDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag__icon ecl-tag__icon--external` to display the icon correctly.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag__icon ecl-tag__icon--external')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nconst COMPONENTS = [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective];\n/**\n * Module that provides the EclTag component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TAG} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclTagModule {}\n","import { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nexport * from './ecl-tag.module';\nexport * from './ecl-tag.component';\nexport * from './ecl-tag-set.directive';\nexport * from './ecl-tag-icon.directive';\nexport * from './events/ecl-tag-remove.event';\n\nexport const EUI_ECL_TAG = [\n EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-tag.mjs","sources":["../../components/ecl-tag/events/ecl-tag-remove.event.ts","../../components/ecl-tag/ecl-tag.component.ts","../../components/ecl-tag/ecl-tag.component.html","../../components/ecl-tag/ecl-tag-set.directive.ts","../../components/ecl-tag/ecl-tag-icon.directive.ts","../../components/ecl-tag/ecl-tag.module.ts","../../components/ecl-tag/index.ts","../../components/ecl-tag/eui-ecl-components-ecl-tag.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a tag is removed.\n */\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n","import {\n Component,\n Input,\n HostBinding,\n Output,\n EventEmitter,\n booleanAttribute,\n ElementRef,\n afterNextRender,\n OnDestroy,\n inject,\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclTagRemoveEvent } from './events/ecl-tag-remove.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n imports: [...EUI_ECL_ICON, TitleCasePipe],\n})\nexport class EclTagComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Defines the variant of the tag.\n * Currently only 'removable' is supported.\n */\n @Input() variant: 'removable';\n\n /**\n * Whether the tag content should be allowed to wrap onto multiple lines.\n * Set to false to force single-line display (adds `ecl-tag--nowrap` class).\n * Defaults to true.\n */\n @Input({ transform: booleanAttribute }) isWrapped = true;\n\n /**\n * Event emitted when the tag is removed.\n * Can be prevented by calling `preventDefault()` on the emitted event.\n */\n @Output() remove = new EventEmitter<EclTagRemoveEvent>();\n\n @HostBinding('style.display')\n get isHidden(): string | null {\n return this.isVisible ? null : 'none';\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag'),\n this.variant ? `ecl-tag--${this.variant}` : '',\n this.isWrapped ? '' : 'ecl-tag--nowrap',\n ].join(' ').trim();\n }\n\n isVisible = true;\n title = 'dismiss';\n private el = inject(ElementRef);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n super();\n afterNextRender(() => {\n this.connectEvents();\n });\n }\n\n /**\n * Whether the tag is removable (based on the `variant` input).\n */\n get isRemovable(): boolean {\n return this.variant == 'removable';\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions when the component is destroyed.\n */\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Called when the tag’s remove button is clicked (or enter key pressed).\n * Emits the `remove` event. If not prevented, the tag is hidden.\n */\n onRemoveClick(): void {\n const event = new EclTagRemoveEvent();\n this.remove.next(event);\n\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n\n private connectEvents(): void {\n fromEvent(this.el.nativeElement, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: KeyboardEvent) => {\n if (this.isRemovable && e.key === KeyCode.ENTER) {\n this.onRemoveClick();\n }\n });\n }\n}\n","<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a container as a set of tags.\n * Adds the `ecl-tag-set` class to the host element.\n */\n@Directive({\n selector: '[eclTagSet]',\n})\nexport class EclTagSetDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag-set` to define the layout for a group of tags.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag-set')].join(' ').trim();\n }\n}\n\n/**\n * Directive to mark an element as an individual item in a tag set.\n * Adds the `ecl-tag-set__item` class to the host element.\n */\n@Directive({\n selector: '[eclTagSetItem]',\n})\nexport class EclTagSetItemDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-tag-set__item` CSS class to the host element.\n */\n @HostBinding('class.ecl-tag-set__item') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply external icon styling inside an ECL tag.\n * Adds specific CSS classes to render an \"external\" icon next to the tag content.\n */\n@Directive({\n selector: '[eclTagIconExternal]',\n})\nexport class EclTagIconExternalDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag__icon ecl-tag__icon--external` to display the icon correctly.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag__icon ecl-tag__icon--external')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nconst COMPONENTS = [EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective];\n/**\n * Module that provides the EclTag component and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TAG} instead.\n */\n@NgModule({\n imports: [...COMPONENTS],\n exports: [...COMPONENTS],\n})\nexport class EclTagModule {}\n","import { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nexport * from './ecl-tag.module';\nexport * from './ecl-tag.component';\nexport * from './ecl-tag-set.directive';\nexport * from './ecl-tag-icon.directive';\nexport * from './events/ecl-tag-remove.event';\n\nexport const EUI_ECL_TAG = [\n EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -33,10 +33,10 @@ class EclTextAreaDirective extends ECLBaseDirective {
33
33
  return this.isInvalid;
34
34
  }
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-rc.2", type: EclTextAreaDirective, isStandalone: true, selector: "textarea[eclTextArea]", inputs: { eclSize: "eclSize", isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "class.ecl-text-area--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
37
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0", type: EclTextAreaDirective, isStandalone: true, selector: "textarea[eclTextArea]", inputs: { eclSize: "eclSize", isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "class": "this.cssClasses", "class.ecl-text-area--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaDirective, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaDirective, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  selector: 'textarea[eclTextArea]',
@@ -61,11 +61,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
61
61
  * @deprecated Use {@link EUI_ECL_TEXT_AREA} instead.
62
62
  */
63
63
  class EclTextAreaModule {
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
65
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaModule, imports: [EclTextAreaDirective], exports: [EclTextAreaDirective] }); }
66
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaModule }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
65
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaModule, imports: [EclTextAreaDirective], exports: [EclTextAreaDirective] }); }
66
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaModule }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextAreaModule, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextAreaModule, decorators: [{
69
69
  type: NgModule,
70
70
  args: [{
71
71
  imports: [EclTextAreaDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-text-area.mjs","sources":["../../components/ecl-text-area/ecl-text-area.directive.ts","../../components/ecl-text-area/ecl-text-area.module.ts","../../components/ecl-text-area/index.ts","../../components/ecl-text-area/eui-ecl-components-ecl-text-area.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to be used with <textarea> HTML component. Applies custom styles and formatting, that comply with the ECL standards.\n */\n@Directive({\n selector: 'textarea[eclTextArea]',\n})\nexport class EclTextAreaDirective extends ECLBaseDirective {\n /**\n * Width of the component, can be 's', 'm' or 'l'. Default value is 'm'.\n */\n @Input() eclSize = 'm';\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds specific classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-area'), this.eclSize ? `ecl-text-area--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Adds 'ecl-text-area--invalid' class, depending on the invalid status of the component.\n */\n @HostBinding('class.ecl-text-area--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n private ngControl = inject(NgControl, { optional: true, self: true });\n}\n","import { NgModule } from '@angular/core';\nimport { EclTextAreaDirective } from './ecl-text-area.directive';\n\n/**\n * @description\n * Module that provides the EclTextArea directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TEXT_AREA} instead.\n */\n@NgModule({\n imports: [EclTextAreaDirective],\n exports: [EclTextAreaDirective],\n})\nexport class EclTextAreaModule {}\n","import { EclTextAreaDirective } from './ecl-text-area.directive';\n\nexport * from './ecl-text-area.module';\nexport * from './ecl-text-area.directive';\n\nexport const EUI_ECL_TEXT_AREA = [\n EclTextAreaDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AAIG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAH1D,IAAA,WAAA,GAAA;;AAII;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,GAAG;QACkB,IAAA,CAAA,SAAS,GAAG,KAAK;AAqBjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxE,IAAA;AApBG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,eAAA,EAAkB,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACxH;AAEA;;AAEG;AACH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;YACH,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;mHAzBS,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,6HAKT,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;gGAL3B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACpC,iBAAA;;sBAKI;;sBACA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,WAAW;uBAAC,OAAO;;sBAQnB,WAAW;uBAAC,8BAA8B;;;ACzB/C;;;;;AAKG;MAKU,iBAAiB,CAAA;mHAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHlB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;oHAEnB,iBAAiB,EAAA,CAAA,CAAA;;gGAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA;;;ACPM,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;;;ACNtB;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-text-area.mjs","sources":["../../components/ecl-text-area/ecl-text-area.directive.ts","../../components/ecl-text-area/ecl-text-area.module.ts","../../components/ecl-text-area/index.ts","../../components/ecl-text-area/eui-ecl-components-ecl-text-area.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to be used with <textarea> HTML component. Applies custom styles and formatting, that comply with the ECL standards.\n */\n@Directive({\n selector: 'textarea[eclTextArea]',\n})\nexport class EclTextAreaDirective extends ECLBaseDirective {\n /**\n * Width of the component, can be 's', 'm' or 'l'. Default value is 'm'.\n */\n @Input() eclSize = 'm';\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds specific classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-area'), this.eclSize ? `ecl-text-area--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Adds 'ecl-text-area--invalid' class, depending on the invalid status of the component.\n */\n @HostBinding('class.ecl-text-area--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n private ngControl = inject(NgControl, { optional: true, self: true });\n}\n","import { NgModule } from '@angular/core';\nimport { EclTextAreaDirective } from './ecl-text-area.directive';\n\n/**\n * @description\n * Module that provides the EclTextArea directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TEXT_AREA} instead.\n */\n@NgModule({\n imports: [EclTextAreaDirective],\n exports: [EclTextAreaDirective],\n})\nexport class EclTextAreaModule {}\n","import { EclTextAreaDirective } from './ecl-text-area.directive';\n\nexport * from './ecl-text-area.module';\nexport * from './ecl-text-area.directive';\n\nexport const EUI_ECL_TEXT_AREA = [\n EclTextAreaDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AAIG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAH1D,IAAA,WAAA,GAAA;;AAII;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,GAAG;QACkB,IAAA,CAAA,SAAS,GAAG,KAAK;AAqBjD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxE,IAAA;AApBG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,eAAA,EAAkB,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IACxH;AAEA;;AAEG;AACH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;YACH,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;8GAzBS,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6HAKT,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,8BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAL3B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACpC,iBAAA;;sBAKI;;sBACA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,WAAW;uBAAC,OAAO;;sBAQnB,WAAW;uBAAC,8BAA8B;;;ACzB/C;;;;;AAKG;MAKU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,OAAA,EAAA,CAHlB,oBAAoB,CAAA,EAAA,OAAA,EAAA,CACpB,oBAAoB,CAAA,EAAA,CAAA,CAAA;+GAEnB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,oBAAoB,CAAC;oBAC/B,OAAO,EAAE,CAAC,oBAAoB,CAAC;AAChC,iBAAA;;;ACPM,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;;;ACNtB;;AAEG;;;;"}
@@ -37,10 +37,10 @@ class EclTextInputDirective extends ECLBaseDirective {
37
37
  return this.isInvalid;
38
38
  }
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0-rc.2", type: EclTextInputDirective, isStandalone: true, selector: "input[eclTextInput]", inputs: { type: "type", eclSize: "eclSize", isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-text-input--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
41
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.0.0", type: EclTextInputDirective, isStandalone: true, selector: "input[eclTextInput]", inputs: { type: "type", eclSize: "eclSize", isInvalid: ["isInvalid", "isInvalid", booleanAttribute] }, host: { properties: { "attr.type": "this.type", "class": "this.cssClasses", "class.ecl-text-input--invalid": "this.invalidState" } }, usesInheritance: true, ngImport: i0 }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputDirective, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputDirective, decorators: [{
44
44
  type: Directive,
45
45
  args: [{
46
46
  selector: 'input[eclTextInput]',
@@ -70,11 +70,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ng
70
70
  * @deprecated Use {@link EUI_ECL_TEXT_INPUT} instead.
71
71
  */
72
72
  class EclTextInputModule {
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
74
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputModule, imports: [EclTextInputDirective], exports: [EclTextInputDirective] }); }
75
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputModule }); }
73
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
74
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputModule, imports: [EclTextInputDirective], exports: [EclTextInputDirective] }); }
75
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputModule }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0-rc.2", ngImport: i0, type: EclTextInputModule, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: EclTextInputModule, decorators: [{
78
78
  type: NgModule,
79
79
  args: [{
80
80
  imports: [EclTextInputDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-text-input.mjs","sources":["../../components/ecl-text-input/ecl-text-input.directive.ts","../../components/ecl-text-input/ecl-text-input.module.ts","../../components/ecl-text-input/index.ts","../../components/ecl-text-input/eui-ecl-components-ecl-text-input.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive, to be used with the HTMl element text <input>. Adds ECL compliant styling.\n */\n@Directive({\n selector: 'input[eclTextInput]',\n})\nexport class EclTextInputDirective extends ECLBaseDirective {\n protected ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * This directive should be used with the input type 'text'.\n */\n @Input()\n @HostBinding('attr.type') type = 'text';\n\n /**\n * The size of the input width. Can be 's', 'm' or 'l'. Default value is 'm'.\n */\n @Input() eclSize = 'm';\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds ECL classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-input'), this.eclSize ? `ecl-text-input--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Adds 'ecl-text-input--invalid' class, depending on the invalid status of the component.\n */\n @HostBinding('class.ecl-text-input--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclTextInputDirective } from './ecl-text-input.directive';\n\n/**\n * @description\n * Module that provides the EclTextInput directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TEXT_INPUT} instead.\n */\n@NgModule({\n imports: [EclTextInputDirective],\n exports: [EclTextInputDirective],\n})\nexport class EclTextInputModule {}\n","import { EclTextInputDirective } from './ecl-text-input.directive';\n\nexport * from './ecl-text-input.module';\nexport * from './ecl-text-input.directive';\n\nexport const EUI_ECL_TEXT_INPUT = [\n EclTextInputDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AAIG,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAH3D,IAAA,WAAA,GAAA;;AAIc,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEvE;;AAEG;QAEuB,IAAA,CAAA,IAAI,GAAG,MAAM;AAEvC;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,GAAG;QACkB,IAAA,CAAA,SAAS,GAAG,KAAK;AAqB5D,IAAA;AAnBG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,gBAAA,EAAmB,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC1H;AAEA;;AAEG;AACH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;YACH,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;mHAjCS,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,yIAaV,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;gGAb3B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA;;sBAOI;;sBACA,WAAW;uBAAC,WAAW;;sBAKvB;;sBACA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,WAAW;uBAAC,OAAO;;sBAQnB,WAAW;uBAAC,+BAA+B;;;ACjChD;;;;;AAKG;MAKU,kBAAkB,CAAA;mHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oHAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHjB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;oHAEtB,kBAAkB,EAAA,CAAA,CAAA;;gGAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA;;;ACPM,MAAM,kBAAkB,GAAG;IAChC,qBAAqB;;;ACNvB;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-text-input.mjs","sources":["../../components/ecl-text-input/ecl-text-input.directive.ts","../../components/ecl-text-input/ecl-text-input.module.ts","../../components/ecl-text-input/index.ts","../../components/ecl-text-input/eui-ecl-components-ecl-text-input.ts"],"sourcesContent":["import { Directive, HostBinding, Input, booleanAttribute, inject } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive, to be used with the HTMl element text <input>. Adds ECL compliant styling.\n */\n@Directive({\n selector: 'input[eclTextInput]',\n})\nexport class EclTextInputDirective extends ECLBaseDirective {\n protected ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * This directive should be used with the input type 'text'.\n */\n @Input()\n @HostBinding('attr.type') type = 'text';\n\n /**\n * The size of the input width. Can be 's', 'm' or 'l'. Default value is 'm'.\n */\n @Input() eclSize = 'm';\n @Input({ transform: booleanAttribute }) isInvalid = false;\n\n /**\n * Adds ECL classes for the component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-text-input'), this.eclSize ? `ecl-text-input--${this.eclSize}` : ''].join(' ').trim();\n }\n\n /**\n * Adds 'ecl-text-input--invalid' class, depending on the invalid status of the component.\n */\n @HostBinding('class.ecl-text-input--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { EclTextInputDirective } from './ecl-text-input.directive';\n\n/**\n * @description\n * Module that provides the EclTextInput directive and its dependencies.\n *\n * @deprecated Use {@link EUI_ECL_TEXT_INPUT} instead.\n */\n@NgModule({\n imports: [EclTextInputDirective],\n exports: [EclTextInputDirective],\n})\nexport class EclTextInputModule {}\n","import { EclTextInputDirective } from './ecl-text-input.directive';\n\nexport * from './ecl-text-input.module';\nexport * from './ecl-text-input.directive';\n\nexport const EUI_ECL_TEXT_INPUT = [\n EclTextInputDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AAIG,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAH3D,IAAA,WAAA,GAAA;;AAIc,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEvE;;AAEG;QAEuB,IAAA,CAAA,IAAI,GAAG,MAAM;AAEvC;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,GAAG;QACkB,IAAA,CAAA,SAAS,GAAG,KAAK;AAqB5D,IAAA;AAnBG;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,gBAAA,EAAmB,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;IAC1H;AAEA;;AAEG;AACH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;YACH,OAAO,IAAI,CAAC,SAAS;QACzB;IACJ;8GAjCS,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,yIAaV,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,+BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAb3B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAClC,iBAAA;;sBAOI;;sBACA,WAAW;uBAAC,WAAW;;sBAKvB;;sBACA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAKrC,WAAW;uBAAC,OAAO;;sBAQnB,WAAW;uBAAC,+BAA+B;;;ACjChD;;;;;AAKG;MAKU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHjB,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACrB,qBAAqB,CAAA,EAAA,CAAA,CAAA;+GAEtB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,qBAAqB,CAAC;oBAChC,OAAO,EAAE,CAAC,qBAAqB,CAAC;AACnC,iBAAA;;;ACPM,MAAM,kBAAkB,GAAG;IAChC,qBAAqB;;;ACNvB;;AAEG;;;;"}