@eui/ecl 19.3.1-snapshot-1749804823673 → 19.3.1-snapshot-1750681705601

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 (198) hide show
  1. package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts +9 -0
  2. package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
  3. package/components/ecl-checkbox/ecl-checkbox-input.directive.d.ts +21 -1
  4. package/components/ecl-checkbox/ecl-checkbox-input.directive.d.ts.map +1 -1
  5. package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts +15 -0
  6. package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
  7. package/components/ecl-checkbox/ecl-checkbox.directive.d.ts +27 -0
  8. package/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
  9. package/components/ecl-date-picker/ecl-date-picker.directive.d.ts +63 -0
  10. package/components/ecl-date-picker/ecl-date-picker.directive.d.ts.map +1 -1
  11. package/components/ecl-date-picker/events/ecl-date-picker-date-picked.event.d.ts +3 -0
  12. package/components/ecl-date-picker/events/ecl-date-picker-date-picked.event.d.ts.map +1 -1
  13. package/components/ecl-featured/ecl-featured-item-description.component.d.ts +4 -0
  14. package/components/ecl-featured/ecl-featured-item-description.component.d.ts.map +1 -1
  15. package/components/ecl-featured/ecl-featured-item-footer.component.d.ts +3 -0
  16. package/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -1
  17. package/components/ecl-featured/ecl-featured-item-link.directive.d.ts +9 -0
  18. package/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
  19. package/components/ecl-featured/ecl-featured-item.component.d.ts +3 -0
  20. package/components/ecl-featured/ecl-featured-item.component.d.ts.map +1 -1
  21. package/components/ecl-featured/ecl-featured.component.d.ts +12 -0
  22. package/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
  23. package/components/ecl-feedback-message/ecl-feedback-message.directive.d.ts +17 -0
  24. package/components/ecl-feedback-message/ecl-feedback-message.directive.d.ts.map +1 -1
  25. package/components/ecl-file-upload/ecl-file-upload.directive.d.ts +49 -0
  26. package/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
  27. package/components/ecl-file-upload/events/ecl-file-upload-file-selected.event.d.ts +8 -0
  28. package/components/ecl-file-upload/events/ecl-file-upload-file-selected.event.d.ts.map +1 -1
  29. package/components/ecl-gallery/ecl-gallery-footer.component.d.ts +6 -0
  30. package/components/ecl-gallery/ecl-gallery-footer.component.d.ts.map +1 -1
  31. package/components/ecl-gallery/ecl-gallery-item.component.d.ts +27 -0
  32. package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
  33. package/components/ecl-gallery/ecl-gallery-media.directive.d.ts +18 -0
  34. package/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
  35. package/components/ecl-gallery/ecl-gallery.component.d.ts +65 -0
  36. package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
  37. package/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts +27 -0
  38. package/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts.map +1 -1
  39. package/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts +6 -0
  40. package/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts.map +1 -1
  41. package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts +31 -0
  42. package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  43. package/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts +4 -0
  44. package/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts.map +1 -1
  45. package/components/ecl-rating-field/ecl-rating-field.component.d.ts +37 -1
  46. package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
  47. package/components/ecl-search-form/ecl-search-form.component.d.ts +22 -0
  48. package/components/ecl-search-form/ecl-search-form.component.d.ts.map +1 -1
  49. package/components/ecl-select/ecl-select-container.component.d.ts +16 -0
  50. package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
  51. package/components/ecl-select/ecl-select.directive.d.ts +25 -1
  52. package/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
  53. package/components/ecl-tag/ecl-tag-icon.directive.d.ts +8 -0
  54. package/components/ecl-tag/ecl-tag-icon.directive.d.ts.map +1 -1
  55. package/components/ecl-tag/ecl-tag-set.directive.d.ts +15 -0
  56. package/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -1
  57. package/components/ecl-tag/ecl-tag.component.d.ts +23 -0
  58. package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
  59. package/components/ecl-tag/events/ecl-tag-remove.event.d.ts +3 -0
  60. package/components/ecl-tag/events/ecl-tag-remove.event.d.ts.map +1 -1
  61. package/components/ecl-text-area/ecl-text-area.directive.d.ts +12 -0
  62. package/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
  63. package/components/ecl-text-input/ecl-text-input.directive.d.ts +15 -0
  64. package/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
  65. package/components/ecl-timeline/ecl-timeline-item-label.directive.d.ts +8 -0
  66. package/components/ecl-timeline/ecl-timeline-item-label.directive.d.ts.map +1 -1
  67. package/components/ecl-timeline/ecl-timeline-item-title.directive.d.ts +8 -0
  68. package/components/ecl-timeline/ecl-timeline-item-title.directive.d.ts.map +1 -1
  69. package/components/ecl-timeline/ecl-timeline-item-toggler.component.d.ts +11 -0
  70. package/components/ecl-timeline/ecl-timeline-item-toggler.component.d.ts.map +1 -1
  71. package/components/ecl-timeline/ecl-timeline-item.component.d.ts +58 -0
  72. package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
  73. package/components/ecl-timeline/ecl-timeline.component.d.ts +28 -0
  74. package/components/ecl-timeline/ecl-timeline.component.d.ts.map +1 -1
  75. package/components/ecl-timeline/events/ecl-timeline-item-toggle.event.d.ts +18 -1
  76. package/components/ecl-timeline/events/ecl-timeline-item-toggle.event.d.ts.map +1 -1
  77. package/docs/classes/EclDatePickerDatePickedEvent.html +7 -0
  78. package/docs/classes/EclFileUploadFileSelectedEvent.html +11 -0
  79. package/docs/classes/EclTagRemoveEvent.html +7 -0
  80. package/docs/classes/EclTimelineItemToggleEvent.html +19 -0
  81. package/docs/components/EclCheckboxHelpComponent.html +30 -0
  82. package/docs/components/EclCheckboxLabelComponent.html +42 -0
  83. package/docs/components/EclFeaturedComponent.html +36 -0
  84. package/docs/components/EclFeaturedItemComponent.html +7 -0
  85. package/docs/components/EclFeaturedItemDescriptionComponent.html +8 -0
  86. package/docs/components/EclFeaturedItemFooterComponent.html +7 -0
  87. package/docs/components/EclGalleryComponent.html +153 -0
  88. package/docs/components/EclGalleryFooterComponent.html +13 -0
  89. package/docs/components/EclGalleryItemComponent.html +78 -0
  90. package/docs/components/EclInpageNavigationComponent.html +49 -0
  91. package/docs/components/EclInpageNavigationItemComponent.html +66 -0
  92. package/docs/components/EclRatingFieldComponent.html +79 -13
  93. package/docs/components/EclSearchFormComponent.html +49 -0
  94. package/docs/components/EclSelectContainerComponent.html +48 -0
  95. package/docs/components/EclTagComponent.html +36 -0
  96. package/docs/components/EclTimelineComponent.html +46 -0
  97. package/docs/components/EclTimelineItemComponent.html +110 -0
  98. package/docs/components/EclTimelineItemTogglerComponent.html +24 -0
  99. package/docs/dependencies.html +2 -2
  100. package/docs/directives/EclCheckboxDirective.html +66 -0
  101. package/docs/directives/EclCheckboxInputDirective.html +30 -0
  102. package/docs/directives/EclDatePickerDirective.html +128 -0
  103. package/docs/directives/EclFeaturedItemFooterLinkDirective.html +7 -0
  104. package/docs/directives/EclFeaturedItemFooterPictureDirective.html +7 -0
  105. package/docs/directives/EclFeaturedItemLinkDirective.html +7 -0
  106. package/docs/directives/EclFeedbackMessageDirective.html +33 -0
  107. package/docs/directives/EclFileUploadDirective.html +178 -0
  108. package/docs/directives/EclGalleryMediaDirective.html +36 -0
  109. package/docs/directives/EclGalleryPictureDirective.html +7 -0
  110. package/docs/directives/EclGalleryThumbnailDirective.html +7 -0
  111. package/docs/directives/EclInpageNavigationListDirective.html +19 -0
  112. package/docs/directives/EclSelectDirective.html +54 -1
  113. package/docs/directives/EclTagIconExternalDirective.html +27 -0
  114. package/docs/directives/EclTagSetDirective.html +27 -0
  115. package/docs/directives/EclTagSetItemDirective.html +20 -0
  116. package/docs/directives/EclTextAreaDirective.html +47 -0
  117. package/docs/directives/EclTextInputDirective.html +53 -0
  118. package/docs/directives/EclTimelineItemLabelDirective.html +27 -0
  119. package/docs/directives/EclTimelineItemTitleDirective.html +27 -0
  120. package/docs/injectables/EclInpageNavigationService.html +2 -0
  121. package/docs/js/search/search_index.js +2 -2
  122. package/docs/miscellaneous/variables.html +13 -1
  123. package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
  124. package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
  125. package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
  126. package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
  127. package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
  128. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  129. package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
  130. package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
  131. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  132. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +54 -1
  133. package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
  134. package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
  135. package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
  136. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +70 -1
  137. package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
  138. package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
  140. package/fesm2022/eui-ecl-components-ecl-featured.mjs +29 -1
  141. package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
  142. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +13 -0
  143. package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
  144. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +48 -0
  145. package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
  146. package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
  147. package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
  148. package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
  149. package/fesm2022/eui-ecl-components-ecl-gallery.mjs +108 -0
  150. package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
  151. package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
  152. package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
  153. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +59 -0
  154. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  155. package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
  156. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  157. package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
  158. package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
  159. package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
  160. package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
  161. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  162. package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
  163. package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
  164. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  165. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  166. package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
  167. package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
  168. package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
  169. package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
  170. package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
  171. package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
  172. package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
  173. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +34 -3
  174. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  175. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +19 -0
  176. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  177. package/fesm2022/eui-ecl-components-ecl-select.mjs +40 -0
  178. package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
  179. package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
  180. package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
  181. package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
  182. package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
  183. package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
  184. package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
  185. package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
  186. package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
  187. package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
  188. package/fesm2022/eui-ecl-components-ecl-tag.mjs +45 -0
  189. package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
  190. package/fesm2022/eui-ecl-components-ecl-text-area.mjs +12 -0
  191. package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
  192. package/fesm2022/eui-ecl-components-ecl-text-input.mjs +15 -0
  193. package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
  194. package/fesm2022/eui-ecl-components-ecl-timeline.mjs +111 -1
  195. package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
  196. package/fesm2022/eui-ecl-core.mjs.map +1 -1
  197. package/fesm2022/eui-ecl.mjs.map +1 -1
  198. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/ecl-icon.module.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL icon component – renders SVG icons from various sets depending on current theme.\n * Integrates with ECL theming and supports accessibility options.\n */\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclIconComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n /**\n * Defines the icon set to use.\n * Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.\n * Defaults to `'default'`.\n */\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n\n /**\n * Name of the icon to render from the selected set.\n */\n @Input() icon: string;\n\n /**\n * Size of the icon.\n * Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.\n * Defaults to `'xs'`.\n */\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n\n /**\n * Applies color styling to the icon.\n * Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.\n */\n @Input() color: 'inverted' | 'primary' | null = null;\n\n /**\n * Adds a transformation modifier to the icon (e.g., rotation).\n */\n @Input() transform: string;\n\n /**\n * ID reference for an external element that labels this icon for screen readers.\n */\n @Input() ariaLabelledby: string;\n\n /**\n * ARIA role of the icon. If a `title` is provided and no role is defined, defaults to `'img'`.\n */\n @Input() role: string;\n\n /**\n * Title used for accessibility. Also affects `aria-hidden` and `role`.\n */\n @Input() title: string;\n\n /**\n * Determines whether the icon should be hidden from assistive technologies.\n * Defaults to `true` unless a title is provided.\n */\n @Input({ transform: booleanAttribute }) ariaHidden: boolean;\n\n /**\n * Controls whether the icon is focusable via keyboard.\n * Defaults to `false`.\n */\n @Input({ transform: booleanAttribute }) focusable = false;\n\n /**\n * Flips the icon horizontally if set to `true`.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-icon--flip-horizontal')\n isFlipHorizontal = false;\n\n /**\n * Adds a dark background utility class if the color is set to `'inverted'`.\n */\n @HostBinding('class.ecl-u-bg-dark')\n get isColorInverted(): boolean {\n return this.color === 'inverted';\n }\n\n @ViewChild('svg') svgEl: ElementRef;\n\n iconUrl$: Observable<string>;\n baseDirective: ECLBaseDirective;\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private eclThemeService: EclThemeService,\n @Inject(forwardRef(() => ECLBaseDirective)) baseDirective,\n ) {\n this.baseDirective = baseDirective;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n this.overrideRoleValueBasedOnTitle();\n this.overrideAriaLabelValueBasedOnTitle();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.el.nativeElement;\n const hostParentEl = hostEl.parentElement;\n\n if (hostParentEl != null) {\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(this.svgEl.nativeElement);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.nativeElement.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl.nativeElement);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n /**\n * Returns a map of CSS classes applied to the icon.\n * Includes classes for size, color, transform, and base ECL styles.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.el.nativeElement.classList.toString();\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n [hostClasses]: true,\n };\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n\n private overrideRoleValueBasedOnTitle(): void {\n if (this.title !== undefined && this.role === undefined) {\n this.role = 'img';\n }\n }\n\n private overrideAriaLabelValueBasedOnTitle(): void {\n if (this.title !== undefined && this.ariaHidden === undefined) {\n this.ariaHidden = false;\n } else if (this.ariaHidden === undefined) {\n this.ariaHidden = true;\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n @if (title) {\n <title>{{title}}</title>\n }\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-icon.mjs","sources":["../../components/ecl-icon/ecl-icon.component.ts","../../components/ecl-icon/ecl-icon.component.html","../../components/ecl-icon/ecl-icon.module.ts","../../components/ecl-icon/eui-ecl-components-ecl-icon.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewChild,\n booleanAttribute,\n forwardRef,\n} from '@angular/core';\nimport { Observable, of, switchMap } from 'rxjs';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * ECL icon component – renders SVG icons from various sets depending on current theme.\n * Integrates with ECL theming and supports accessibility options.\n */\n@Component({\n selector: 'ecl-icon',\n templateUrl: './ecl-icon.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLBaseDirective,\n },\n ],\n})\nexport class EclIconComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {\n /**\n * Defines the icon set to use.\n * Available sets: `default`, `social`, `social-media`, `flag`, or a custom URL prefix.\n * Defaults to `'default'`.\n */\n @Input() iconSet: 'default' | 'social' | 'social-media' | 'flag' | string = 'default';\n\n /**\n * Name of the icon to render from the selected set.\n */\n @Input() icon: string;\n\n /**\n * Size of the icon.\n * Supported values: `'2xs'`, `'xs'`, `'s'`, `'m'`, `'l'`, `'xl'`, `'2xl'`, `'fluid'`.\n * Defaults to `'xs'`.\n */\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | 'fluid' | string = 'xs';\n\n /**\n * Applies color styling to the icon.\n * Use `'inverted'` for icons on dark backgrounds, or `'primary'` for emphasis.\n */\n @Input() color: 'inverted' | 'primary' | null = null;\n\n /**\n * Adds a transformation modifier to the icon (e.g., rotation).\n */\n @Input() transform: string;\n\n /**\n * ID reference for an external element that labels this icon for screen readers.\n */\n @Input() ariaLabelledby: string;\n\n /**\n * ARIA role of the icon. If a `title` is provided and no role is defined, defaults to `'img'`.\n */\n @Input() role: string;\n\n /**\n * Title used for accessibility. Also affects `aria-hidden` and `role`.\n */\n @Input() title: string;\n\n /**\n * Determines whether the icon should be hidden from assistive technologies.\n * Defaults to `true` unless a title is provided.\n */\n @Input({ transform: booleanAttribute }) ariaHidden: boolean;\n\n /**\n * Controls whether the icon is focusable via keyboard.\n * Defaults to `false`.\n */\n @Input({ transform: booleanAttribute }) focusable = false;\n\n /**\n * Flips the icon horizontally if set to `true`.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-icon--flip-horizontal')\n isFlipHorizontal = false;\n\n /**\n * Adds a dark background utility class if the color is set to `'inverted'`.\n */\n @HostBinding('class.ecl-u-bg-dark')\n get isColorInverted(): boolean {\n return this.color === 'inverted';\n }\n\n @ViewChild('svg') svgEl: ElementRef;\n\n iconUrl$: Observable<string>;\n baseDirective: ECLBaseDirective;\n\n constructor(\n public el: ElementRef,\n private renderer: Renderer2,\n private eclThemeService: EclThemeService,\n @Inject(forwardRef(() => ECLBaseDirective)) baseDirective,\n ) {\n this.baseDirective = baseDirective;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['icon']) {\n this.initiateIconUrl();\n }\n }\n\n ngOnInit(): void {\n this.initiateIconUrl();\n this.overrideRoleValueBasedOnTitle();\n this.overrideAriaLabelValueBasedOnTitle();\n }\n\n ngAfterViewInit(): void {\n const hostEl: HTMLElement = this.el.nativeElement;\n const hostParentEl = hostEl.parentElement;\n\n if (hostParentEl != null) {\n // add the svg and remove the parent from the DOM\n this.renderer.setStyle(hostEl, 'visibility', 'hidden');\n hostEl.after(this.svgEl.nativeElement);\n this.renderer.removeChild(hostParentEl, hostEl);\n }\n }\n\n ngOnDestroy(): void {\n try {\n if (this.svgEl) {\n const hostParentEl = this.svgEl.nativeElement.parentElement;\n if (hostParentEl) {\n hostParentEl.removeChild(this.svgEl.nativeElement);\n }\n }\n } catch (e) {\n /* empty */\n }\n }\n\n /**\n * Returns a map of CSS classes applied to the icon.\n * Includes classes for size, color, transform, and base ECL styles.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n getClasses(): { [x: string]: any } {\n const hostClasses = this.el.nativeElement.classList.toString();\n return {\n [this.baseDirective.getCssClasses('ecl-icon')]: true,\n [`ecl-icon--${this.size}`]: this.size,\n [`ecl-icon--${this.transform}`]: this.transform,\n [`ecl-icon--${this.color}`]: this.color,\n [hostClasses]: true,\n };\n }\n\n private initiateIconUrl(): void {\n this.iconUrl$ = this.eclThemeService.theme$.pipe(\n switchMap((theme) => {\n switch (this.iconSet) {\n case 'default':\n return of(`assets/images/ecl/${theme}/icons/sprites/icons.svg#${this.icon}`);\n case 'social':\n return of(`assets/images/ecl/${theme}/social-icons/sprites/icons-social.svg#${this.icon}`);\n case 'social-media':\n return of(`assets/images/ecl/${theme}/icons-social-media/sprites/icons-social-media.svg#${this.icon}`);\n case 'flag':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag.svg#${this.icon}`);\n case 'flag-non-members':\n return of(`assets/images/ecl/${theme}/icons-flag/sprites/icons-flag-non-members.svg#${this.icon}`);\n default:\n return of(`${this.iconSet}#${this.icon}`);\n }\n }),\n );\n }\n\n private overrideRoleValueBasedOnTitle(): void {\n if (this.title !== undefined && this.role === undefined) {\n this.role = 'img';\n }\n }\n\n private overrideAriaLabelValueBasedOnTitle(): void {\n if (this.title !== undefined && this.ariaHidden === undefined) {\n this.ariaHidden = false;\n } else if (this.ariaHidden === undefined) {\n this.ariaHidden = true;\n }\n }\n}\n","<svg\n #svg\n [ngClass]=\"getClasses()\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.role]=\"role || null\"\n [attr.focusable]=\"focusable\">\n @if (title) {\n <title>{{title}}</title>\n }\n <use [attr.xlink:href]=\"iconUrl$ | async\"></use>\n <ng-content></ng-content>\n</svg>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconComponent } from './ecl-icon.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclIconComponent],\n declarations: [EclIconComponent],\n})\nexport class EclIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -24,16 +24,37 @@ class EclInpageNavigationItemClickEvent extends EclBaseEvent {
24
24
  this.sectionElementId = sectionElementId;
25
25
  }
26
26
  }
27
+ /**
28
+ * Represent a single navigation item. contains the link, that activates/scrolls to the new current paragraph of the page.
29
+ */
27
30
  // TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20
28
31
  class EclInpageNavigationItemComponent extends ECLBaseDirective {
29
32
  constructor(el) {
30
33
  super();
31
34
  this.cmpClass = true;
35
+ /**
36
+ * The role of the component is 'listitem', should not be changed.
37
+ */
32
38
  this.role = 'listitem';
39
+ /**
40
+ * Emited when user clicks on the item.
41
+ */
33
42
  this.itemClick = new EventEmitter();
43
+ /**
44
+ * Emitted when on keyboard navigation, user clicks the arrow-up.
45
+ */
34
46
  this.itemArrowUp = new EventEmitter();
47
+ /**
48
+ * Emitted when on keyboard navigation, user clicks the arrow-down.
49
+ */
35
50
  this.itemArrowDown = new EventEmitter();
51
+ /**
52
+ * Emitted when on keyboard navigation, user clicks the TAB.
53
+ */
36
54
  this.itemTab = new EventEmitter();
55
+ /**
56
+ * Emitted when on keyboard navigation, user clicks the ENTER.
57
+ */
37
58
  this.itemEnter = new EventEmitter();
38
59
  if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {
39
60
  console.warn('"ecl-inpage-navigation-item" selector is deprecated; use "li[eclInpageNavigationItem]" instead.');
@@ -44,6 +65,9 @@ class EclInpageNavigationItemComponent extends ECLBaseDirective {
44
65
  this.itemClick.next(event);
45
66
  evt.preventDefault();
46
67
  }
68
+ /**
69
+ * Returns page element/paragraph, that is associated with this item from the navigation list.
70
+ */
47
71
  get sectionElement() {
48
72
  return document.querySelector(`#${this.sectionId}`);
49
73
  }
@@ -107,6 +131,10 @@ class EclInpageNavigationService {
107
131
  this.eclInpageNavigationExpanded = new Subject();
108
132
  this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();
109
133
  }
134
+ /**
135
+ * When user clicks on arrow down button in mobile view.
136
+ * @param isExpanded
137
+ */
110
138
  eclInpageNavigationToggle(isExpanded) {
111
139
  this.eclInpageNavigationExpanded.next(isExpanded);
112
140
  }
@@ -117,12 +145,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
117
145
  type: Injectable
118
146
  }], ctorParameters: () => [] });
119
147
 
148
+ /**
149
+ * The parent list component, that contains navigation items links.
150
+ */
120
151
  class EclInpageNavigationListDirective extends ECLBaseDirective {
121
152
  constructor(eclInpageNavigationService, el) {
122
153
  super();
123
154
  this.eclInpageNavigationService = eclInpageNavigationService;
124
155
  this.el = el;
125
156
  this.hasClass = true;
157
+ /**
158
+ * If the dropdown is visible in mobile view.
159
+ */
126
160
  this.isVisible = false;
127
161
  this.maxHeight = null;
128
162
  this.destroy$ = new Subject();
@@ -162,6 +196,12 @@ class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {
162
196
  this.sectionId = sectionId;
163
197
  }
164
198
  }
199
+ /**
200
+ * The in-page navigation is a vertical menu containing (anchored) links to H2-headings on long content pages.
201
+ * It gives the user an overview of the page contents and has a fixed position (does not move while scrolling) at either the left
202
+ * side of a page on desktop or top-bar on mobile. This component helps users scan of the page quickly contents and may potentially
203
+ * reduce vertical scrolling, allowing users to easily jump straight to the segment of the page.
204
+ */
165
205
  class EclInpageNavigationComponent extends ECLBaseDirective {
166
206
  constructor(eclRtlService, eclThemeService, differs, scrollDispatcher, zone, cdkBreakpointObserver, viewportRuler, eclInpageNavigationService) {
167
207
  super();
@@ -173,7 +213,13 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
173
213
  this.cdkBreakpointObserver = cdkBreakpointObserver;
174
214
  this.viewportRuler = viewportRuler;
175
215
  this.eclInpageNavigationService = eclInpageNavigationService;
216
+ /**
217
+ * This event will be emitted, when onscroll a new section becomes active.
218
+ */
176
219
  this.sectionEnter = new EventEmitter();
220
+ /**
221
+ * Used for the mobile view, where user can select a section from the dropdown.
222
+ */
177
223
  this.isButtonExpanded = false;
178
224
  this.isRtl = false;
179
225
  this.destroy$ = new Subject();
@@ -206,6 +252,9 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
206
252
  get currentNavigationLinkItem() {
207
253
  return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);
208
254
  }
255
+ /**
256
+ * the size of the arrow-down icon, used in mobile view. There are different sizes for EC and EU themes.
257
+ */
209
258
  get sizeIcon() {
210
259
  if (this.eclThemeService.isECTheme()) {
211
260
  return this.ICON_SIZE_EC_THEME;
@@ -230,10 +279,17 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
230
279
  this.destroy$.unsubscribe();
231
280
  this.intersectionObserver.unobserve(this.togglerButton.nativeElement);
232
281
  }
282
+ /**
283
+ * On mobile view - handle the dropdown toggle.
284
+ */
233
285
  onExpandButtonClick() {
234
286
  this.isButtonExpanded = !this.isButtonExpanded;
235
287
  this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);
236
288
  }
289
+ /**
290
+ * Dropdown keyboard navigation on mobile view.
291
+ * @param evt
292
+ */
237
293
  onExpandButtonKeydown(evt) {
238
294
  switch (evt.key) {
239
295
  case 'Tab':
@@ -251,6 +307,9 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
251
307
  this.isRtl = rtlState;
252
308
  });
253
309
  }
310
+ /**
311
+ * Set the height of the list with the navigation items in px. So in case the full list cannot be displayed, a scroll will appear.
312
+ */
254
313
  setListHeight() {
255
314
  if (!this.listContainer && !this.eclNavigationList) {
256
315
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n\n// TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n @HostBinding('attr.role') role = 'listitem';\n\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n @Output() itemArrowUp = new EventEmitter();\n @Output() itemArrowDown = new EventEmitter();\n @Output() itemTab = new EventEmitter<Event>();\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor(el: ElementRef) {\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n standalone: false,\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private eclInpageNavigationService: EclInpageNavigationService, public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n IterableDiffer, IterableDiffers,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n afterNextRender,\n numberAttribute,\n} from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n standalone: false,\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() eclTitle: string;\n @Input() marginTop: number;\n @Input() marginBottom: number;\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclNavigationList'\n */\n @ViewChild('listContainer') listContainer: ElementRef<HTMLUListElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = 'xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n\n constructor(\n private eclRtlService: EclRtlService,\n public eclThemeService: EclThemeService,\n private differs: IterableDiffers,\n private scrollDispatcher: ScrollDispatcher,\n private zone: NgZone,\n private cdkBreakpointObserver: BreakpointObserver,\n private viewportRuler: ViewportRuler,\n private eclInpageNavigationService: EclInpageNavigationService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private setListHeight(): void {\n if (!this.listContainer && !this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.listContainer) {\n topPosition = this.listContainer.nativeElement.getBoundingClientRect().top;\n } else if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n if (item.sectionElement.tabIndex === -1) {\n item.sectionElement.tabIndex = 0;\n item.sectionElement.focus();\n item.sectionElement.tabIndex = -1;\n }\n }\n this.isButtonExpanded = false;\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclStickyContainerModule } from '@eui/ecl/components/ecl-sticky-container';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\n\nconst COMPONENTS = [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclInpageNavigationService],\n})\nexport class EclInpageNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclInpageNavigationService","takeUntil","i1","i4.EclInpageNavigationService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n/**\n * Represent a single navigation item. contains the link, that activates/scrolls to the new current paragraph of the page.\n */\n// TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n /**\n * The role of the component is 'listitem', should not be changed.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * The label that is displayed in the items list.\n */\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n /**\n * Emited when user clicks on the item.\n */\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-up.\n */\n @Output() itemArrowUp = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the arrow-down.\n */\n @Output() itemArrowDown = new EventEmitter();\n /**\n * Emitted when on keyboard navigation, user clicks the TAB.\n */\n @Output() itemTab = new EventEmitter<Event>();\n /**\n * Emitted when on keyboard navigation, user clicks the ENTER.\n */\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor(el: ElementRef) {\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n /**\n * Returns page element/paragraph, that is associated with this item from the navigation list.\n */\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n\t/**\n\t * When user clicks on arrow down button in mobile view.\n\t * @param isExpanded\n\t */\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n/**\n * The parent list component, that contains navigation items links.\n */\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n standalone: false,\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n /**\n * If the dropdown is visible in mobile view.\n */\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private eclInpageNavigationService: EclInpageNavigationService, public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n IterableDiffer, IterableDiffers,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n afterNextRender,\n numberAttribute,\n} from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n/**\n * The in-page navigation is a vertical menu containing (anchored) links to H2-headings on long content pages.\n * It gives the user an overview of the page contents and has a fixed position (does not move while scrolling) at either the left\n * side of a page on desktop or top-bar on mobile. This component helps users scan of the page quickly contents and may potentially\n * reduce vertical scrolling, allowing users to easily jump straight to the segment of the page.\n */\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n standalone: false,\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() eclTitle: string;\n /**\n * Used to calculate component's position.\n */\n @Input() marginTop: number;\n @Input() marginBottom: number;\n /**\n * Sets the offset from the top of the page (for example if there is a toolbar or header). Used to calculate scrolling behaviour.\n */\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclNavigationList'\n */\n @ViewChild('listContainer') listContainer: ElementRef<HTMLUListElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n /**\n * This event will be emitted, when onscroll a new section becomes active.\n */\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n /**\n * Used for the mobile view, where user can select a section from the dropdown.\n */\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = 'xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n\n constructor(\n private eclRtlService: EclRtlService,\n public eclThemeService: EclThemeService,\n private differs: IterableDiffers,\n private scrollDispatcher: ScrollDispatcher,\n private zone: NgZone,\n private cdkBreakpointObserver: BreakpointObserver,\n private viewportRuler: ViewportRuler,\n private eclInpageNavigationService: EclInpageNavigationService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n /**\n * the size of the arrow-down icon, used in mobile view. There are different sizes for EC and EU themes.\n */\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n /**\n * On mobile view - handle the dropdown toggle.\n */\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n /**\n * Dropdown keyboard navigation on mobile view.\n * @param evt\n */\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n /**\n * Set the height of the list with the navigation items in px. So in case the full list cannot be displayed, a scroll will appear.\n */\n private setListHeight(): void {\n if (!this.listContainer && !this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.listContainer) {\n topPosition = this.listContainer.nativeElement.getBoundingClientRect().top;\n } else if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n if (item.sectionElement.tabIndex === -1) {\n item.sectionElement.tabIndex = 0;\n item.sectionElement.focus();\n item.sectionElement.tabIndex = -1;\n }\n }\n this.isButtonExpanded = false;\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclStickyContainerModule } from '@eui/ecl/components/ecl-sticky-container';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\n\nconst COMPONENTS = [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclInpageNavigationService],\n})\nexport class EclInpageNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclInpageNavigationService","takeUntil","i1","i4.EclInpageNavigationService"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/ecl-label.module.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for applying ECL label styles.\n *\n * Supports multiple visual variants based on importance or context.\n * Adds appropriate ECL classes dynamically.\n */\n@Directive({\n selector: '[eclLabel]',\n standalone: false,\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n /**\n * Defines the visual variant of the label.\n * \n * - `'low'` – default styling\n * - `'medium'` – medium emphasis\n * - `'high'` – high emphasis\n * - `'highlight'` – special highlight\n *\n * @default 'low'\n */\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n /**\n * CSS classes applied to the host element.\n * Combines base ECL label class with the variant modifier.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGA;;;;;AAKG;AAKG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAJvD,IAAA,WAAA,GAAA;;AAKI;;;;;;;;;AASG;QACM,IAAO,CAAA,OAAA,GAA4C,KAAK;AAUpE;AARG;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAnBnF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAYY,OAAO,EAAA,CAAA;sBAAf;gBAOG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MCrBX,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAFR,YAAA,EAAA,CAAA,iBAAiB,CAFtB,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJb,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACpC,iBAAA;;;ACRD;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-label.mjs","sources":["../../components/ecl-label/ecl-label.directive.ts","../../components/ecl-label/ecl-label.module.ts","../../components/ecl-label/eui-ecl-components-ecl-label.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive for applying ECL label styles.\n *\n * Supports multiple visual variants based on importance or context.\n * Adds appropriate ECL classes dynamically.\n */\n@Directive({\n selector: '[eclLabel]',\n standalone: false,\n})\nexport class EclLabelDirective extends ECLBaseDirective {\n /**\n * Defines the visual variant of the label.\n * \n * - `'low'` – default styling\n * - `'medium'` – medium emphasis\n * - `'high'` – high emphasis\n * - `'highlight'` – special highlight\n *\n * @default 'low'\n */\n @Input() variant: 'low' | 'medium' | 'high' | 'highlight' = 'low';\n\n /**\n * CSS classes applied to the host element.\n * Combines base ECL label class with the variant modifier.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-label'), `ecl-label--${this.variant}`].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLabelDirective } from './ecl-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLabelDirective],\n declarations: [EclLabelDirective],\n})\nexport class EclLabelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGA;;;;;AAKG;AAKG,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;AAJvD,IAAA,WAAA,GAAA;;AAKI;;;;;;;;;AASG;QACM,IAAA,CAAA,OAAO,GAA4C,KAAK;AAUpE;AARG;;;AAGG;AACH,IAAA,IACI,UAAU,GAAA;QACV,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAnBnF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAYY,OAAO,EAAA,CAAA;sBAAf;gBAOG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MCrBX,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,CAFR,iBAAiB,CAAA,EAAA,OAAA,EAAA,CAFtB,YAAY,aACZ,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAJb,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,YAAY,EAAE,CAAC,iBAAiB,CAAC;AACpC,iBAAA;;;ACRD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.module.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n@Directive({\n selector: '[eclLink]',\n standalone: false,\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n standalone: false,\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n standalone: false,\n})\nexport class EclIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n standalone: false,\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n})\nexport class EclLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQM,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAElD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAa,UAAA,EAAA,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAE9G,IAAA,IACI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;;AAGtE,IAAA,IACI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,WAAW;;AAU3B,IAAA,WAAA,CAAmB,EAAc,EAAA;AAC7B,QAAA,KAAK,EAAE;QADQ,IAAE,CAAA,EAAA,GAAF,EAAE;QAP4D,IAAU,CAAA,UAAA,GAAG,KAAK;QACjB,IAAU,CAAA,UAAA,GAAG,KAAK;;IAUpG,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;oBACnC,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,iBAAiB,GAAG,gBAAgB;AACtH,iBAAC,CAAC;AACN,aAAC,CAAC;;;IAIV,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGjC,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;;IAGjC,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE;;+GA9CvB,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,iGAgBL,gBAAgB,CAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAChB,gBAAgB,CAChB,EAAA,WAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAgB,0VAGF,gBAAgB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FArBzC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;+EAIO,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAKhB,OAAO,EAAA,CAAA;sBADV,WAAW;uBAAC,sBAAsB;gBAM/B,eAAe,EAAA,CAAA;sBADlB,WAAW;uBAAC,4BAA4B;gBAKwC,UAAU,EAAA,CAAA;sBAA1F,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,0BAA0B;gBACG,UAAU,EAAA,CAAA;sBAA3F,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAAG,WAAW;uBAAC,2BAA2B;gBACxC,WAAW,EAAA,CAAA;sBAAlD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAC7B,OAAO,EAAA,CAAA;sBAAf;gBAE2E,iBAAiB,EAAA,CAAA;sBAA5F,eAAe;uBAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;ACrBxE,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AACvD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAH3D,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGO,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;MAUX,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;QAKwC,IAAQ,CAAA,QAAA,GAAG,IAAI;AACtD;+GAFY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAEuC,QAAQ,EAAA,CAAA;sBAA3C,WAAW;uBAAC,qBAAqB;;MAOzB,6BAA6B,CAAA;AAJ1C,IAAA,WAAA,GAAA;QAKmD,IAAQ,CAAA,QAAA,GAAG,IAAI;AACjE;+GAFY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA7B,6BAA6B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAJzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAEkD,QAAQ,EAAA,CAAA;sBAAtD,WAAW;uBAAC,gCAAgC;;;MClBpC,aAAa,CAAA;+GAAb,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,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAFP,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,6BAA6B,CAFlG,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAG9F,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJZ,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAIb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,6BAA6B,CAAC;oBACxG,YAAY,EAAE,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,6BAA6B,CAAC;AAChH,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.module.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n@Directive({\n selector: '[eclLink]',\n standalone: false,\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n standalone: false,\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n standalone: false,\n})\nexport class EclIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n standalone: false,\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n})\nexport class EclLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/ecl-list-illustration.module.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n standalone: false,\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import {\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n} from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n standalone: false,\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n @Input() eclTitle = '';\n\n /**\n * Text displayed as the item value.\n */\n @Input() eclValue = '';\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n standalone: false,\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n standalone: false,\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n @Input({ transform: booleanAttribute }) isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n booleanAttribute,\n numberAttribute,\n afterNextRender,\n} from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n standalone: false,\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n @HostBinding('style.display')\n get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-list-illustration.mjs","sources":["../../components/ecl-list-illustration/ecl-list-illustration-icon.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.ts","../../components/ecl-list-illustration/ecl-list-illustration-item.component.html","../../components/ecl-list-illustration/ecl-list-illustration-picture.directive.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.ts","../../components/ecl-list-illustration/ecl-list-illustration.component.html","../../components/ecl-list-illustration/ecl-list-illustration.module.ts","../../components/ecl-list-illustration/eui-ecl-components-ecl-list-illustration.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing an icon within an ECL illustration list item.\n *\n * Applies the correct ECL class for list item icons.\n */\n@Directive({\n selector: '[eclListIllustrationIcon]',\n standalone: false,\n})\nexport class EclListIllustrationIconDirective extends ECLBaseDirective {\n /**\n * Applies the ECL class for illustration item icons.\n */\n @HostBinding('class.ecl-list-illustration__icon') className = true;\n}\n","import {\n Component,\n ContentChildren,\n forwardRef,\n HostBinding,\n Input,\n QueryList,\n} from '@angular/core';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a single item in an ECL illustration list.\n *\n * Displays optional title, value, and one or more illustration icons.\n */\n@Component({\n selector: 'ecl-list-illustration-item',\n templateUrl: './ecl-list-illustration-item.component.html',\n standalone: false,\n})\nexport class EclListIllustrationItemComponent extends ECLBaseDirective {\n /**\n * Text displayed as the item title.\n */\n @Input() eclTitle = '';\n\n /**\n * Text displayed as the item value.\n */\n @Input() eclValue = '';\n\n /**\n * Applies ARIA role for list items.\n */\n @HostBinding('attr.role') role = 'listitem';\n\n /**\n * Applies ECL class for illustration list item.\n */\n @HostBinding('class.ecl-list-illustration__item') className = true;\n\n @ContentChildren(forwardRef(() => EclListIllustrationIconDirective))\n eclIllustrationIcons: QueryList<EclListIllustrationIconDirective>;\n\n /**\n * Returns `true` if the item has a title or any projected icons.\n */\n get hasTitle(): boolean {\n return Boolean(this.eclTitle) || this.eclIllustrationIcons.length > 0;\n }\n\n /**\n * Returns `true` if the item has a value.\n */\n get hasValue(): boolean {\n return Boolean(this.eclValue);\n }\n}\n","<ng-content select=\"[eclListIllustrationImage],[eclListIllustrationPicture]\"></ng-content>\n<div class=\"ecl-list-illustration__detail\">\n @if (hasTitle || hasValue) {\n <div class=\"ecl-list-illustration__title-container\">\n <ng-content select=\"[eclListIllustrationIcon]\"></ng-content>\n @if (hasValue) {\n <div class=\"ecl-list-illustration__value\">{{ eclValue }}</div>\n }\n <div class=\"ecl-list-illustration__title\">{{ eclTitle }}</div>\n </div>\n }\n\n <div class=\"ecl-list-illustration__description\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { Directive, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to `<picture>` elements within ECL list illustrations.\n *\n * Adds the necessary ECL CSS classes for illustration pictures.\n */\n@Directive({\n selector: 'picture[eclListIllustrationPicture]',\n standalone: false,\n})\nexport class EclListIllustrationPictureDirective extends ECLBaseDirective {\n /**\n * Applies the base ECL picture classes for list illustration pictures.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-picture ecl-list-illustration__picture')].join(' ').trim();\n }\n}\n\n/**\n * Directive applied to `<img>` elements within ECL list illustrations.\n *\n * Supports square variant and size options for image styling.\n */\n@Directive({\n selector: 'img[eclListIllustrationImage]',\n standalone: false,\n})\nexport class EclListIllustrationImageDirective extends ECLBaseDirective {\n /**\n * If true, image is styled with square dimensions.\n */\n @Input({ transform: booleanAttribute }) isSquare = false;\n\n /**\n * Defines the size variant of the image.\n * Possible values: `'s'`, `'m'`, `'l'`.\n */\n @Input() size: 's' | 'm' | 'l' = 'm';\n\n /**\n * Computes the appropriate ECL CSS classes for the image.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration__image'),\n this.isSquare ? 'ecl-list-illustration__image--square' : '',\n this.isSquare ? `ecl-list-illustration__image--${this.size}` : '',\n ]\n .join(' ')\n .trim();\n }\n}\n","import {\n Component,\n HostBinding,\n Input,\n booleanAttribute,\n numberAttribute,\n afterNextRender,\n} from '@angular/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a list using ECL illustration styles.\n *\n * Supports zebra styling, responsive horizontal layout, and font size options.\n */\n@Component({\n selector: 'ecl-list-illustration',\n templateUrl: './ecl-list-illustration.component.html',\n standalone: false,\n})\nexport class EclListIllustrationComponent extends ECLBaseDirective {\n /**\n * Enables zebra style (alternating background colors for list items).\n */\n @Input({ transform: booleanAttribute }) isZebra = false;\n\n /**\n * Number of horizontal columns. If greater than `0`, items are displayed in a grid layout.\n */\n @Input({ transform: numberAttribute }) horizontalColumns = 0;\n\n /**\n * Font size for list content.\n * Possible values:\n * - `'m'` – medium\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /**\n * Applies ARIA role for list elements.\n */\n @HostBinding('attr.role') role = 'list';\n\n /**\n * Applies the appropriate ECL CSS classes to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-list-illustration'),\n this.isZebra ? 'ecl-list-illustration--zebra' : '',\n this.horizontalColumns > 0 ? `ecl-list-illustration--col-${this.horizontalColumns}` : '',\n this.fontSize === 'm' ? 'ecl-list-illustration--font-m' : '',\n ]\n .join(' ')\n .trim();\n }\n\n /**\n * Controls `display` style of the host element based on breakpoint and column count.\n */\n @HostBinding('style.display')\n get elementDisplayStyle(): string | null {\n if (this.horizontalColumns > 0 && this.isTabletBreakpoint) {\n return null;\n } else {\n return 'block';\n }\n }\n\n private isTabletBreakpoint = false;\n\n constructor(private cdkBreakpointObserver: BreakpointObserver) {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe(['(min-width: 768px)'])\n .subscribe((result) => {\n this.isTabletBreakpoint = result.matches;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclListIllustrationComponent } from './ecl-list-illustration.component';\nimport { EclListIllustrationIconDirective } from './ecl-list-illustration-icon.directive';\nimport { EclListIllustrationItemComponent } from './ecl-list-illustration-item.component';\nimport { EclListIllustrationImageDirective, EclListIllustrationPictureDirective } from './ecl-list-illustration-picture.directive';\n\nconst COMPONENTS = [\n EclListIllustrationComponent,\n EclListIllustrationItemComponent,\n EclListIllustrationIconDirective,\n EclListIllustrationPictureDirective,\n EclListIllustrationImageDirective,\n];\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclListIllustrationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}