@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-content-item.mjs","sources":["../../components/ecl-content-item/ecl-content-item-image.directive.ts","../../components/ecl-content-item/ecl-content-item.component.ts","../../components/ecl-content-item/ecl-content-item.component.html","../../components/ecl-content-item/ecl-content-item.module.ts","../../components/ecl-content-item/eui-ecl-components-ecl-content-item.ts"],"sourcesContent":["import { Directive, HostBinding, Input, ElementRef, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to style and configure the image container (e.g., picture) within a content item.\n * It allows adjusting size, position, and zoom behavior of the image block.\n */\n@Directive({\n selector: '[eclContentItemPicture]',\n standalone: false,\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n /**\n * Controls the size of the picture. Default is 'large'.\n * Accepted values: 'small' | 'large'\n */\n @Input() size: 'small' | 'large' = 'large';\n\n /**\n * Defines the position of the picture relative to the content.\n * Accepted values: 'left' | 'right' | 'top'\n * Default is 'left'.\n */\n @Input() position: 'left' | 'right' | 'top' = 'left';\n\n /**\n * If true, enables a zoom effect on hover.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-picture--zoom') hasZoom = false;\n\n /**\n * Computed CSS classes for the host element based on size and position.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size}`,\n `ecl-content-item__picture--${this.position}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n/**\n * Directive used for styling the inner image element inside the content item.\n * Also used programmatically for interaction bindings.\n */\n@Directive({\n selector: '[eclContentItemImage]',\n standalone: false,\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n /**\n * Computed CSS classes for the host image element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n\n /**\n * Reference to the DOM element of the image.\n */\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, ContentChild, forwardRef, HostBinding, Input, Renderer2 } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '@eui/ecl/components/ecl-content-block';\nimport { EclDateBlockComponent } from '@eui/ecl/components/ecl-date-block';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n standalone: false,\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Whether to display a divider below the content item.\n * When true, the component will have a visual divider applied.\n * Default is false.\n */\n @Input({ transform: booleanAttribute }) hasDivider = false;\n\n /**\n * Reference to projected content block.\n * Used to apply internal styling and structure.\n */\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n\n /**\n * Reference to projected date block component.\n * Used to set styling and determine layout mode.\n */\n @ContentChild(forwardRef(() => EclDateBlockComponent)) eclDateBlock: EclDateBlockComponent;\n\n /**\n * Reference to projected picture directive, used to determine layout mode (stacked).\n */\n @ContentChild(forwardRef(() => EclContentItemPictureDirective)) eclContentItemPicture: EclContentItemPictureDirective;\n\n /**\n * Reference to projected title directive inside the content block.\n * Used for linking behavior.\n */\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n\n /**\n * Reference to projected image directive.\n * Used to bind interaction behavior (click propagation).\n */\n @ContentChild(forwardRef(() => EclContentItemImageDirective), { descendants: true }) eclContentItemImage: EclContentItemImageDirective;\n\n /**\n * ARIA role attribute for the host element.\n * Set to \"article\" to denote standalone content.\n */\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Computes the CSS class string applied to the host element,\n * depending on layout and configuration options.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item'),\n this.isStack ? 'ecl-content-item--stack' : '',\n this.isInline ? 'ecl-content-item--inline' : '',\n this.hasDivider ? 'ecl-content-item--divider' : '' ].join(' ').trim();\n }\n\n private isStack = false;\n private isInline = false;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n /**\n * Lifecycle hook called after content projection.\n * Sets layout flags and attaches interactivity behavior to image and title.\n */\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-content-item__content-block';\n }\n\n if (this.eclDateBlock) {\n this.eclDateBlock.class = 'ecl-content-item__date';\n this.isInline = true;\n }\n\n if (this.eclContentItemPicture && this.eclContentItemPicture.position === 'top') {\n this.isStack = true;\n }\n\n this.attachClickEventToImage();\n }\n\n /**\n * Attaches click behavior to image so it triggers the link defined in the title.\n * Only applies when both image and linked title are available.\n */\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclContentItemImage) {\n this.renderer.setStyle(this.eclContentItemImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclContentItemImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.onClick();\n });\n }\n }\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nconst COMPONENTS = [EclContentItemComponent, EclContentItemImageDirective, EclContentItemPictureDirective];\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentItemModule {}\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-content-item.mjs","sources":["../../components/ecl-content-item/ecl-content-item-image.directive.ts","../../components/ecl-content-item/ecl-content-item.component.ts","../../components/ecl-content-item/ecl-content-item.component.html","../../components/ecl-content-item/ecl-content-item.module.ts","../../components/ecl-content-item/eui-ecl-components-ecl-content-item.ts"],"sourcesContent":["import { Directive, HostBinding, Input, ElementRef, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to style and configure the image container (e.g., picture) within a content item.\n * It allows adjusting size, position, and zoom behavior of the image block.\n */\n@Directive({\n selector: '[eclContentItemPicture]',\n standalone: false,\n})\nexport class EclContentItemPictureDirective extends ECLBaseDirective {\n /**\n * Controls the size of the picture. Default is 'large'.\n * Accepted values: 'small' | 'large'\n */\n @Input() size: 'small' | 'large' = 'large';\n\n /**\n * Defines the position of the picture relative to the content.\n * Accepted values: 'left' | 'right' | 'top'\n * Default is 'left'.\n */\n @Input() position: 'left' | 'right' | 'top' = 'left';\n\n /**\n * If true, enables a zoom effect on hover.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-picture--zoom') hasZoom = false;\n\n /**\n * Computed CSS classes for the host element based on size and position.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-content-item__picture ecl-picture'),\n `ecl-content-item__picture--${this.size}`,\n `ecl-content-item__picture--${this.position}`,\n ]\n .join(' ')\n .trim();\n }\n}\n\n/**\n * Directive used for styling the inner image element inside the content item.\n * Also used programmatically for interaction bindings.\n */\n@Directive({\n selector: '[eclContentItemImage]',\n standalone: false,\n})\nexport class EclContentItemImageDirective extends ECLBaseDirective {\n /**\n * Computed CSS classes for the host image element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item__image')].join(' ').trim();\n }\n\n /**\n * Reference to the DOM element of the image.\n */\n constructor(public el: ElementRef) {\n super();\n }\n}\n","import { AfterContentInit, booleanAttribute, Component, ContentChild, forwardRef, HostBinding, Input, Renderer2 } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclContentBlockComponent, EclContentBlockTitleDirective } from '@eui/ecl/components/ecl-content-block';\nimport { EclDateBlockComponent } from '@eui/ecl/components/ecl-date-block';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\n\n@Component({\n selector: 'ecl-content-item',\n templateUrl: './ecl-content-item.component.html',\n standalone: false,\n})\nexport class EclContentItemComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Whether to display a divider below the content item.\n * When true, the component will have a visual divider applied.\n * Default is false.\n */\n @Input({ transform: booleanAttribute }) hasDivider = false;\n\n /**\n * Reference to projected content block.\n * Used to apply internal styling and structure.\n */\n @ContentChild(forwardRef(() => EclContentBlockComponent)) eclContentBlock: EclContentBlockComponent;\n\n /**\n * Reference to projected date block component.\n * Used to set styling and determine layout mode.\n */\n @ContentChild(forwardRef(() => EclDateBlockComponent)) eclDateBlock: EclDateBlockComponent;\n\n /**\n * Reference to projected picture directive, used to determine layout mode (stacked).\n */\n @ContentChild(forwardRef(() => EclContentItemPictureDirective)) eclContentItemPicture: EclContentItemPictureDirective;\n\n /**\n * Reference to projected title directive inside the content block.\n * Used for linking behavior.\n */\n @ContentChild(forwardRef(() => EclContentBlockTitleDirective), { descendants: true }) eclContentBlockTitle: EclContentBlockTitleDirective;\n\n /**\n * Reference to projected image directive.\n * Used to bind interaction behavior (click propagation).\n */\n @ContentChild(forwardRef(() => EclContentItemImageDirective), { descendants: true }) eclContentItemImage: EclContentItemImageDirective;\n\n /**\n * ARIA role attribute for the host element.\n * Set to \"article\" to denote standalone content.\n */\n @HostBinding('attr.role') role = 'article';\n\n /**\n * Computes the CSS class string applied to the host element,\n * depending on layout and configuration options.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-content-item'),\n this.isStack ? 'ecl-content-item--stack' : '',\n this.isInline ? 'ecl-content-item--inline' : '',\n this.hasDivider ? 'ecl-content-item--divider' : '' ].join(' ').trim();\n }\n\n private isStack = false;\n private isInline = false;\n\n constructor(private renderer: Renderer2) {\n super();\n }\n\n /**\n * Lifecycle hook called after content projection.\n * Sets layout flags and attaches interactivity behavior to image and title.\n */\n ngAfterContentInit(): void {\n if (this.eclContentBlock) {\n this.eclContentBlock.class = 'ecl-content-item__content-block';\n }\n\n if (this.eclDateBlock) {\n this.eclDateBlock.class = 'ecl-content-item__date';\n this.isInline = true;\n }\n\n if (this.eclContentItemPicture && this.eclContentItemPicture.position === 'top') {\n this.isStack = true;\n }\n\n this.attachClickEventToImage();\n }\n\n /**\n * Attaches click behavior to image so it triggers the link defined in the title.\n * Only applies when both image and linked title are available.\n */\n private attachClickEventToImage(): void {\n if (this.eclContentBlockTitle && this.eclContentBlockTitle.eclLink) {\n if (this.eclContentItemImage) {\n this.renderer.setStyle(this.eclContentItemImage.el.nativeElement, 'cursor', 'pointer');\n this.renderer.listen(this.eclContentItemImage.el.nativeElement, 'click', () => {\n this.eclContentBlockTitle.eclLink.onClick();\n });\n }\n }\n }\n}\n","<ng-content></ng-content>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { EclContentItemImageDirective, EclContentItemPictureDirective } from './ecl-content-item-image.directive';\nimport { EclContentItemComponent } from './ecl-content-item.component';\n\nconst COMPONENTS = [EclContentItemComponent, EclContentItemImageDirective, EclContentItemPictureDirective];\n\n@NgModule({\n imports: [CommonModule, RouterModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclContentItemModule {}\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-date-block.mjs","sources":["../../components/ecl-date-block/ecl-date-block.component.ts","../../components/ecl-date-block/ecl-date-block.component.html","../../components/ecl-date-block/ecl-date-block.module.ts","../../components/ecl-date-block/eui-ecl-components-ecl-date-block.ts"],"sourcesContent":["import { formatDate } from '@angular/common';\nimport { Component, Input, HostBinding } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component used to display a formatted date in a styled time element.\n * Designed for use within content components such as content blocks or items.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'time[eclDateBlock]',\n templateUrl: './ecl-date-block.component.html',\n standalone: false,\n})\nexport class EclDateBlockComponent extends ECLBaseDirective {\n /**\n * The date to be displayed. If not null, it's used to generate the `datetime` attribute and visual output.\n */\n @Input() date: Date;\n\n /**\n * The format to be used when rendering the date string (Angular DatePipe format).\n * Default is `'dd/M/yyyy'`.\n */\n @Input() dateFormat = 'dd/M/yyyy';\n\n /**\n * Optional visual variant of the date block. Can be:\n * - `'ongoing'`: for ongoing events\n * - `'past'`: for past events\n * This changes styling only.\n */\n @Input() variant: 'ongoing' | 'past' = null;\n\n /**\n * Explicit string for day part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() day: string;\n\n /**\n * Explicit string for month part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() month: string;\n\n /**\n * Explicit string used as an accessible or verbose label for the month (optional).\n */\n @Input() monthTitle: string;\n\n /**\n * Explicit string for year part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() year: string;\n\n locale = 'en';\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-date-block'), this.variant ? `ecl-date-block--${this.variant}` : ''].join(' ').trim();\n }\n\n /**\n * Sets the `datetime` attribute of the `<time>` element.\n * If not provided, it is derived from `date` and `dateFormat`.\n */\n @Input()\n @HostBinding('attr.datetime')\n get datetime(): string {\n return this.getDatetime();\n }\n set datetime(value) {\n this._datetime = value;\n }\n private _datetime: string = null;\n\n constructor(private translateService: TranslateService) {\n super();\n this.locale = translateService.currentLang;\n }\n\n private getDatetime(): string {\n return this._datetime || this.getFormattedDate(this.date, this.dateFormat);\n }\n\n private getFormattedDate(date: Date, dateFormat: string): string {\n if (date) {\n return formatDate(date, dateFormat, this.translateService.currentLang);\n } else {\n return null;\n }\n }\n}\n","<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date: dateFormat) }}</span>\n<span class=\"ecl-date-block__day\" aria-hidden=\"true\">{{ day || (date | date: 'd') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date: 'MMMM' : '' : locale)\" class=\"ecl-date-block__month\" aria-hidden=\"true\">\n {{ month || (date | date: 'MMM' : '' : locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\" aria-hidden=\"true\">{{ year || (date | date: 'yyyy') }}</span>\n","import { CommonModule } from '@angular/common';\nimport '@angular/common/locales/global/bg';\nimport '@angular/common/locales/global/da';\nimport '@angular/common/locales/global/en';\nimport '@angular/common/locales/global/et';\nimport '@angular/common/locales/global/fr';\nimport '@angular/common/locales/global/hr';\nimport '@angular/common/locales/global/lv';\nimport '@angular/common/locales/global/hu';\nimport '@angular/common/locales/global/nl';\nimport '@angular/common/locales/global/pt';\nimport '@angular/common/locales/global/sk';\nimport '@angular/common/locales/global/fi';\nimport '@angular/common/locales/global/cs';\nimport '@angular/common/locales/global/de';\nimport '@angular/common/locales/global/el';\nimport '@angular/common/locales/global/es';\nimport '@angular/common/locales/global/ga';\nimport '@angular/common/locales/global/it';\nimport '@angular/common/locales/global/lt';\nimport '@angular/common/locales/global/mt';\nimport '@angular/common/locales/global/pl';\nimport '@angular/common/locales/global/ro';\nimport '@angular/common/locales/global/sl';\nimport '@angular/common/locales/global/sv';\nimport { NgModule } from '@angular/core';\nimport { EclDateBlockComponent } from './ecl-date-block.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclDateBlockComponent],\n declarations: [EclDateBlockComponent],\n})\nexport class EclDateBlockModule {}\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-date-block.mjs","sources":["../../components/ecl-date-block/ecl-date-block.component.ts","../../components/ecl-date-block/ecl-date-block.component.html","../../components/ecl-date-block/ecl-date-block.module.ts","../../components/ecl-date-block/eui-ecl-components-ecl-date-block.ts"],"sourcesContent":["import { formatDate } from '@angular/common';\nimport { Component, Input, HostBinding } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component used to display a formatted date in a styled time element.\n * Designed for use within content components such as content blocks or items.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'time[eclDateBlock]',\n templateUrl: './ecl-date-block.component.html',\n standalone: false,\n})\nexport class EclDateBlockComponent extends ECLBaseDirective {\n /**\n * The date to be displayed. If not null, it's used to generate the `datetime` attribute and visual output.\n */\n @Input() date: Date;\n\n /**\n * The format to be used when rendering the date string (Angular DatePipe format).\n * Default is `'dd/M/yyyy'`.\n */\n @Input() dateFormat = 'dd/M/yyyy';\n\n /**\n * Optional visual variant of the date block. Can be:\n * - `'ongoing'`: for ongoing events\n * - `'past'`: for past events\n * This changes styling only.\n */\n @Input() variant: 'ongoing' | 'past' = null;\n\n /**\n * Explicit string for day part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() day: string;\n\n /**\n * Explicit string for month part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() month: string;\n\n /**\n * Explicit string used as an accessible or verbose label for the month (optional).\n */\n @Input() monthTitle: string;\n\n /**\n * Explicit string for year part of the date (optional).\n * Used when date is not set or overridden manually.\n */\n @Input() year: string;\n\n locale = 'en';\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-date-block'), this.variant ? `ecl-date-block--${this.variant}` : ''].join(' ').trim();\n }\n\n /**\n * Sets the `datetime` attribute of the `<time>` element.\n * If not provided, it is derived from `date` and `dateFormat`.\n */\n @Input()\n @HostBinding('attr.datetime')\n get datetime(): string {\n return this.getDatetime();\n }\n set datetime(value) {\n this._datetime = value;\n }\n private _datetime: string = null;\n\n constructor(private translateService: TranslateService) {\n super();\n this.locale = translateService.currentLang;\n }\n\n private getDatetime(): string {\n return this._datetime || this.getFormattedDate(this.date, this.dateFormat);\n }\n\n private getFormattedDate(date: Date, dateFormat: string): string {\n if (date) {\n return formatDate(date, dateFormat, this.translateService.currentLang);\n } else {\n return null;\n }\n }\n}\n","<span class=\"ecl-date-block__daytime\">{{ datetime || (date | date: dateFormat) }}</span>\n<span class=\"ecl-date-block__day\" aria-hidden=\"true\">{{ day || (date | date: 'd') }}</span>\n<abbr [title]=\"monthTitle || month || (date | date: 'MMMM' : '' : locale)\" class=\"ecl-date-block__month\" aria-hidden=\"true\">\n {{ month || (date | date: 'MMM' : '' : locale) }}\n</abbr>\n<span class=\"ecl-date-block__year\" aria-hidden=\"true\">{{ year || (date | date: 'yyyy') }}</span>\n","import { CommonModule } from '@angular/common';\nimport '@angular/common/locales/global/bg';\nimport '@angular/common/locales/global/da';\nimport '@angular/common/locales/global/en';\nimport '@angular/common/locales/global/et';\nimport '@angular/common/locales/global/fr';\nimport '@angular/common/locales/global/hr';\nimport '@angular/common/locales/global/lv';\nimport '@angular/common/locales/global/hu';\nimport '@angular/common/locales/global/nl';\nimport '@angular/common/locales/global/pt';\nimport '@angular/common/locales/global/sk';\nimport '@angular/common/locales/global/fi';\nimport '@angular/common/locales/global/cs';\nimport '@angular/common/locales/global/de';\nimport '@angular/common/locales/global/el';\nimport '@angular/common/locales/global/es';\nimport '@angular/common/locales/global/ga';\nimport '@angular/common/locales/global/it';\nimport '@angular/common/locales/global/lt';\nimport '@angular/common/locales/global/mt';\nimport '@angular/common/locales/global/pl';\nimport '@angular/common/locales/global/ro';\nimport '@angular/common/locales/global/sl';\nimport '@angular/common/locales/global/sv';\nimport { NgModule } from '@angular/core';\nimport { EclDateBlockComponent } from './ecl-date-block.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclDateBlockComponent],\n declarations: [EclDateBlockComponent],\n})\nexport class EclDateBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ import * as i2 from '@eui/ecl/core';
9
9
  import { EclBaseEvent, ECLBaseDirective } from '@eui/ecl/core';
10
10
  import { EclIconComponent } from '@eui/ecl/components/ecl-icon';
11
11
 
12
+ /**
13
+ * Custom event emitted by the ECL date picker when a date is selected.
14
+ */
12
15
  class EclDatePickerDatePickedEvent extends EclBaseEvent {
13
16
  constructor(date) {
14
17
  super();
@@ -17,6 +20,9 @@ class EclDatePickerDatePickedEvent extends EclBaseEvent {
17
20
  }
18
21
 
19
22
  /* eslint-disable @typescript-eslint/no-explicit-any */
23
+ /**
24
+ * Default i18n values for the Pikaday calendar component.
25
+ */
20
26
  const pikadayDefaultI18n = {
21
27
  previousMonth: 'Previous Month',
22
28
  nextMonth: 'Next Month',
@@ -24,15 +30,25 @@ const pikadayDefaultI18n = {
24
30
  weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
25
31
  weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
26
32
  };
33
+ /**
34
+ * Value accessor provider for Angular reactive and template-driven forms.
35
+ */
27
36
  const ECL_DATE_PICKER_VALUE_ACCESSOR = {
28
37
  provide: NG_VALUE_ACCESSOR,
29
38
  useExisting: forwardRef(() => EclDatePickerDirective),
30
39
  multi: true,
31
40
  };
32
41
  const noop = () => {
33
- /** empty*/
42
+ /** empty */
34
43
  };
44
+ /**
45
+ * Directive that enhances a native input element with an ECL-compliant date picker.
46
+ * Integrates Pikaday with support for localization (i18n), RTL layout, and responsive behavior.
47
+ */
35
48
  class EclDatePickerDirective extends ECLBaseDirective {
49
+ /**
50
+ * Binds base ECL CSS classes to the host input element.
51
+ */
36
52
  get cssClasses() {
37
53
  return [super.getCssClasses('ecl-datepicker__field')].join(' ').trim();
38
54
  }
@@ -44,10 +60,27 @@ class EclDatePickerDirective extends ECLBaseDirective {
44
60
  this.eclRtlService = eclRtlService;
45
61
  this.renderer = renderer;
46
62
  this.platformId = platformId;
63
+ /**
64
+ * Number of years to show in the year dropdown.
65
+ */
47
66
  this.yearRange = 40;
67
+ /**
68
+ * Date format string used to display and parse dates.
69
+ * Follows the format syntax supported by Pikaday.
70
+ */
48
71
  this.format = 'DD-MM-YYYY';
72
+ /**
73
+ * Sets the type attribute of the host input element to 'text'.
74
+ */
49
75
  this.type = 'text';
76
+ /**
77
+ * Emits an event when a date is selected.
78
+ */
50
79
  this.datePicked = new EventEmitter();
80
+ /**
81
+ * Binds the 'disabled' attribute to the host element.
82
+ * Accepts `null` or an empty string.
83
+ */
51
84
  this.isDisabled = null;
52
85
  this.destroy$ = new Subject();
53
86
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -62,6 +95,9 @@ class EclDatePickerDirective extends ECLBaseDirective {
62
95
  this.handleResize();
63
96
  }
64
97
  }
98
+ /**
99
+ * Initializes the Pikaday instance and applies markup when running in browser.
100
+ */
65
101
  ngOnInit() {
66
102
  if (isPlatformBrowser(this.platformId)) {
67
103
  this.initPikaday().then(() => {
@@ -69,13 +105,22 @@ class EclDatePickerDirective extends ECLBaseDirective {
69
105
  });
70
106
  }
71
107
  }
108
+ /**
109
+ * Cleans up subscriptions and event handlers on destroy.
110
+ */
72
111
  ngOnDestroy() {
73
112
  this.destroy$.next(true);
74
113
  this.destroy$.unsubscribe();
75
114
  }
115
+ /**
116
+ * Marks the input as touched when clicked.
117
+ */
76
118
  onClick() {
77
119
  this.onTouched();
78
120
  }
121
+ /**
122
+ * On blur, checks input value and emits appropriate change.
123
+ */
79
124
  onBlur() {
80
125
  const textFieldValue = this.hostEl.value;
81
126
  if (textFieldValue) {
@@ -85,6 +130,12 @@ class EclDatePickerDirective extends ECLBaseDirective {
85
130
  this.onChange(null);
86
131
  }
87
132
  }
133
+ /**
134
+ * Writes a new value from the form model into the view or (if needed) DOM property.
135
+ * Required by ControlValueAccessor interface.
136
+ *
137
+ * @param value - The value to be written into the input.
138
+ */
88
139
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
140
  writeValue(value) {
90
141
  this.value = value;
@@ -92,13 +143,31 @@ class EclDatePickerDirective extends ECLBaseDirective {
92
143
  this.picker.setDate(value);
93
144
  }
94
145
  }
146
+ /**
147
+ * Sets the disabled state of the component.
148
+ * Called by Angular forms when the control status changes.
149
+ *
150
+ * @param isDisabled - Boolean indicating whether the input should be disabled.
151
+ */
95
152
  setDisabledState(isDisabled) {
96
153
  this.isDisabled = isDisabled || null;
97
154
  }
155
+ /**
156
+ * Registers a callback function that should be called when the control's value changes in the UI.
157
+ * Required by ControlValueAccessor interface.
158
+ *
159
+ * @param fn - The callback function.
160
+ */
98
161
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
162
  registerOnChange(fn) {
100
163
  this.onChange = fn;
101
164
  }
165
+ /**
166
+ * Registers a callback function that should be called when the control is touched.
167
+ * Required by ControlValueAccessor interface.
168
+ *
169
+ * @param fn - The callback function.
170
+ */
102
171
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
172
  registerOnTouched(fn) {
104
173
  this.onTouched = fn;
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-date-picker.mjs","sources":["../../components/ecl-date-picker/events/ecl-date-picker-date-picked.event.ts","../../components/ecl-date-picker/ecl-date-picker.directive.ts","../../components/ecl-date-picker/ecl-date-picker.module.ts","../../components/ecl-date-picker/eui-ecl-components-ecl-date-picker.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclDatePickerDatePickedEvent extends EclBaseEvent {\n\tconstructor(public date: Date) {\n\t\tsuper();\n\t}\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n Provider,\n Renderer2,\n ViewContainerRef,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport type Pikaday from 'pikaday';\nimport { Subject, debounceTime, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { EclDatePickerDatePickedEvent } from './events/ecl-date-picker-date-picked.event';\nimport { EclRtlService } from '@eui/ecl/core';\n\nconst pikadayDefaultI18n = {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n};\n\nexport const ECL_DATE_PICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclDatePickerDirective),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Directive({\n selector: 'input[eclDatePicker]',\n providers: [ECL_DATE_PICKER_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class EclDatePickerDirective extends ECLBaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n @Input() yearRange = 40;\n @Input() format = 'DD-MM-YYYY';\n @HostBinding('attr.type') type = 'text';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-datepicker__field')].join(' ').trim();\n }\n\n @Output() datePicked = new EventEmitter<EclDatePickerDatePickedEvent>();\n\n @HostBinding('attr.disabled')\n isDisabled = null;\n\n private picker: Pikaday;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n private hostEl: HTMLInputElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private eclIconComponentEl: HTMLElement;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private value: any;\n private isRtl = false;\n private readonly DEBOUNCE_TIME = 100;\n private readonly MOBILE_BREAKPOINT = 768;\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n protected translateService: TranslateService,\n private eclRtlService: EclRtlService,\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private platformId: object,\n ) {\n super();\n if (isPlatformBrowser(this.platformId)) {\n this.handlei18nEvents();\n this.handleRtlChangeState();\n this.handleResize();\n }\n }\n\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.initPikaday().then(() => {\n this.handleMarkup();\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n @HostListener('click')\n onClick(): void {\n this.onTouched();\n }\n\n @HostListener('blur')\n onBlur(): void {\n const textFieldValue: string = this.hostEl.value;\n\n if (textFieldValue) {\n this.onChange(this.picker?.getDate());\n } else {\n this.onChange(null);\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value = value;\n if (this.picker) {\n this.picker.setDate(value);\n }\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled || null;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private async initPikaday(): Promise<void> {\n const i18nKey = 'ecl.date-picker.PIKADAY';\n let i18nTranslation = this.translateService.instant(i18nKey);\n const isRTL = this.isRtl;\n const position = isRTL ? 'bottom right' : 'bottom left';\n\n if (!i18nTranslation || i18nTranslation === i18nKey) {\n i18nTranslation = pikadayDefaultI18n;\n }\n\n // Dynamically import Pikaday when the component initializes\n try {\n const { default: Pikaday } = await import('pikaday');\n\n // Initialize Pikaday after it is imported\n this.picker = new Pikaday({\n field: this.el.nativeElement,\n format: this.format,\n theme: 'ecl-datepicker-theme',\n yearRange: this.yearRange,\n reposition: false,\n i18n: i18nTranslation,\n isRTL,\n position,\n showDaysInNextAndPreviousMonths: true,\n enableSelectionDaysInNextAndPreviousMonths: true,\n onSelect: this.onSelectDate.bind(this),\n onOpen: (): void => this.setPikadayElementStyles(this.picker.el),\n });\n this.picker.setDate(this.value);\n } catch (error) {\n console.error('Error importing Pikaday', error);\n }\n }\n\n private handlei18nEvents(): void {\n this.translateService.onLangChange.pipe(takeUntil(this.destroy$))\n .subscribe((langChangeEvent: LangChangeEvent) => {\n this.value = this.picker.getDate();\n this.destroyPikaday();\n this.initPikaday().then();\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n if (this.picker) {\n this.value = this.picker.getDate();\n this.destroyPikaday();\n this.initPikaday().then();\n }\n });\n }\n\n private handleResize(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(this.DEBOUNCE_TIME), takeUntil(this.destroy$))\n .subscribe(() => {\n this.setPikadayElementStyles(this.picker.el);\n })\n }\n\n private setPikadayElementStyles(element: HTMLElement): void {\n // Extend picker size on mobile\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const inputParentElRect = this.hostWrapperEl.getBoundingClientRect();\n element.style.top = `${inputParentElRect.bottom}px`;\n //mobile_mode\n if (vw < this.MOBILE_BREAKPOINT) {\n element.style.right = `${vw - inputParentElRect.right}px`;\n element.style.left = `${inputParentElRect.left}px`;\n } else if ( this.isRtl) {\n element.style.right = `${vw - inputParentElRect.right}px`;\n element.style.left = 'auto';\n } else {\n element.style.right = 'auto';\n element.style.left = `${inputParentElRect.left}px`;\n }\n }\n\n private onSelectDate(date: Date): void {\n this.datePicked.next(new EclDatePickerDatePickedEvent(date));\n this.onChange(date);\n }\n\n private handleMarkup(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.eclIconComponentEl = this.createIconComponent();\n\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.renderer.appendChild(this.hostWrapperEl, this.hostEl);\n this.renderer.appendChild(this.hostWrapperEl, this.eclIconComponentEl);\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLInputElement): HTMLElement {\n return this.renderer.parentNode(hostEl);\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = this.renderer.createElement('div');\n this.renderer.addClass(wrapperContainer, 'ecl-datepicker');\n\n return wrapperContainer;\n }\n\n private createIconComponent(): HTMLElement {\n const eclIconComponent = this.viewContainerRef.createComponent(EclIconComponent);\n eclIconComponent.instance.size = 'xs';\n eclIconComponent.instance.icon = 'calendar';\n eclIconComponent.instance.baseDirective.class = 'ecl-datepicker__icon';\n\n return eclIconComponent.location.nativeElement;\n }\n\n private destroyPikaday(): void {\n if (this.picker) {\n this.picker.destroy();\n this.picker = undefined;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclDatePickerDirective } from './ecl-date-picker.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclDatePickerDirective],\n declarations: [EclDatePickerDirective],\n})\nexport class EclDatePickerModule {}\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-date-picker.mjs","sources":["../../components/ecl-date-picker/events/ecl-date-picker-date-picked.event.ts","../../components/ecl-date-picker/ecl-date-picker.directive.ts","../../components/ecl-date-picker/ecl-date-picker.module.ts","../../components/ecl-date-picker/eui-ecl-components-ecl-date-picker.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Custom event emitted by the ECL date picker when a date is selected.\n */\nexport class EclDatePickerDatePickedEvent extends EclBaseEvent {\n\tconstructor(public date: Date) {\n\t\tsuper();\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n Provider,\n Renderer2,\n ViewContainerRef,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport type Pikaday from 'pikaday';\nimport { Subject, debounceTime, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { EclDatePickerDatePickedEvent } from './events/ecl-date-picker-date-picked.event';\nimport { EclRtlService } from '@eui/ecl/core';\n\n/**\n * Default i18n values for the Pikaday calendar component.\n */\nconst pikadayDefaultI18n = {\n previousMonth: 'Previous Month',\n nextMonth: 'Next Month',\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n};\n\n/**\n * Value accessor provider for Angular reactive and template-driven forms.\n */\nexport const ECL_DATE_PICKER_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclDatePickerDirective),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n/**\n * Directive that enhances a native input element with an ECL-compliant date picker.\n * Integrates Pikaday with support for localization (i18n), RTL layout, and responsive behavior.\n */\n@Directive({\n selector: 'input[eclDatePicker]',\n providers: [ECL_DATE_PICKER_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class EclDatePickerDirective extends ECLBaseDirective implements OnInit, ControlValueAccessor, OnDestroy {\n /**\n * Number of years to show in the year dropdown.\n */\n @Input() yearRange = 40;\n\n /**\n * Date format string used to display and parse dates.\n * Follows the format syntax supported by Pikaday.\n */\n @Input() format = 'DD-MM-YYYY';\n\n /**\n * Sets the type attribute of the host input element to 'text'.\n */\n @HostBinding('attr.type') type = 'text';\n\n /**\n * Binds base ECL CSS classes to the host input element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-datepicker__field')].join(' ').trim();\n }\n\n /**\n * Emits an event when a date is selected.\n */\n @Output() datePicked = new EventEmitter<EclDatePickerDatePickedEvent>();\n\n /**\n * Binds the 'disabled' attribute to the host element.\n * Accepts `null` or an empty string.\n */\n @HostBinding('attr.disabled')\n isDisabled = null;\n\n private picker: Pikaday;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n private hostEl: HTMLInputElement;\n private hostParentEl: HTMLElement;\n private hostWrapperEl: HTMLElement;\n private eclIconComponentEl: HTMLElement;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private value: any;\n private isRtl = false;\n private readonly DEBOUNCE_TIME = 100;\n private readonly MOBILE_BREAKPOINT = 768;\n\n constructor(\n private el: ElementRef,\n private viewContainerRef: ViewContainerRef,\n protected translateService: TranslateService,\n private eclRtlService: EclRtlService,\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private platformId: object,\n ) {\n super();\n if (isPlatformBrowser(this.platformId)) {\n this.handlei18nEvents();\n this.handleRtlChangeState();\n this.handleResize();\n }\n }\n\n /**\n * Initializes the Pikaday instance and applies markup when running in browser.\n */\n ngOnInit(): void {\n if (isPlatformBrowser(this.platformId)) {\n this.initPikaday().then(() => {\n this.handleMarkup();\n });\n }\n }\n\n /**\n * Cleans up subscriptions and event handlers on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Marks the input as touched when clicked.\n */\n @HostListener('click')\n onClick(): void {\n this.onTouched();\n }\n\n /**\n * On blur, checks input value and emits appropriate change.\n */\n @HostListener('blur')\n onBlur(): void {\n const textFieldValue: string = this.hostEl.value;\n\n if (textFieldValue) {\n this.onChange(this.picker?.getDate());\n } else {\n this.onChange(null);\n }\n }\n\n /**\n * Writes a new value from the form model into the view or (if needed) DOM property.\n * Required by ControlValueAccessor interface.\n * \n * @param value - The value to be written into the input.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.value = value;\n if (this.picker) {\n this.picker.setDate(value);\n }\n }\n\n /**\n * Sets the disabled state of the component.\n * Called by Angular forms when the control status changes.\n * \n * @param isDisabled - Boolean indicating whether the input should be disabled.\n */\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled || null;\n }\n\n /**\n * Registers a callback function that should be called when the control's value changes in the UI.\n * Required by ControlValueAccessor interface.\n * \n * @param fn - The callback function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that should be called when the control is touched.\n * Required by ControlValueAccessor interface.\n * \n * @param fn - The callback function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private async initPikaday(): Promise<void> {\n const i18nKey = 'ecl.date-picker.PIKADAY';\n let i18nTranslation = this.translateService.instant(i18nKey);\n const isRTL = this.isRtl;\n const position = isRTL ? 'bottom right' : 'bottom left';\n\n if (!i18nTranslation || i18nTranslation === i18nKey) {\n i18nTranslation = pikadayDefaultI18n;\n }\n\n // Dynamically import Pikaday when the component initializes\n try {\n const { default: Pikaday } = await import('pikaday');\n\n // Initialize Pikaday after it is imported\n this.picker = new Pikaday({\n field: this.el.nativeElement,\n format: this.format,\n theme: 'ecl-datepicker-theme',\n yearRange: this.yearRange,\n reposition: false,\n i18n: i18nTranslation,\n isRTL,\n position,\n showDaysInNextAndPreviousMonths: true,\n enableSelectionDaysInNextAndPreviousMonths: true,\n onSelect: this.onSelectDate.bind(this),\n onOpen: (): void => this.setPikadayElementStyles(this.picker.el),\n });\n this.picker.setDate(this.value);\n } catch (error) {\n console.error('Error importing Pikaday', error);\n }\n }\n\n private handlei18nEvents(): void {\n this.translateService.onLangChange.pipe(takeUntil(this.destroy$))\n .subscribe((langChangeEvent: LangChangeEvent) => {\n this.value = this.picker.getDate();\n this.destroyPikaday();\n this.initPikaday().then();\n });\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n if (this.picker) {\n this.value = this.picker.getDate();\n this.destroyPikaday();\n this.initPikaday().then();\n }\n });\n }\n\n private handleResize(): void {\n fromEvent(window, 'resize')\n .pipe(debounceTime(this.DEBOUNCE_TIME), takeUntil(this.destroy$))\n .subscribe(() => {\n this.setPikadayElementStyles(this.picker.el);\n })\n }\n\n private setPikadayElementStyles(element: HTMLElement): void {\n // Extend picker size on mobile\n const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const inputParentElRect = this.hostWrapperEl.getBoundingClientRect();\n element.style.top = `${inputParentElRect.bottom}px`;\n //mobile_mode\n if (vw < this.MOBILE_BREAKPOINT) {\n element.style.right = `${vw - inputParentElRect.right}px`;\n element.style.left = `${inputParentElRect.left}px`;\n } else if ( this.isRtl) {\n element.style.right = `${vw - inputParentElRect.right}px`;\n element.style.left = 'auto';\n } else {\n element.style.right = 'auto';\n element.style.left = `${inputParentElRect.left}px`;\n }\n }\n\n private onSelectDate(date: Date): void {\n this.datePicked.next(new EclDatePickerDatePickedEvent(date));\n this.onChange(date);\n }\n\n private handleMarkup(): void {\n this.hostEl = this.getHostElement();\n this.hostParentEl = this.getHostParentElement(this.hostEl);\n this.hostWrapperEl = this.createHostWrapperContainer();\n this.eclIconComponentEl = this.createIconComponent();\n\n if (this.hostParentEl != null) {\n this.hostParentEl.replaceChild(this.hostWrapperEl, this.hostEl);\n this.renderer.appendChild(this.hostWrapperEl, this.hostEl);\n this.renderer.appendChild(this.hostWrapperEl, this.eclIconComponentEl);\n }\n }\n\n private getHostElement(): HTMLInputElement {\n return this.el.nativeElement;\n }\n\n private getHostParentElement(hostEl: HTMLInputElement): HTMLElement {\n return this.renderer.parentNode(hostEl);\n }\n\n private createHostWrapperContainer(): HTMLElement {\n const wrapperContainer = this.renderer.createElement('div');\n this.renderer.addClass(wrapperContainer, 'ecl-datepicker');\n\n return wrapperContainer;\n }\n\n private createIconComponent(): HTMLElement {\n const eclIconComponent = this.viewContainerRef.createComponent(EclIconComponent);\n eclIconComponent.instance.size = 'xs';\n eclIconComponent.instance.icon = 'calendar';\n eclIconComponent.instance.baseDirective.class = 'ecl-datepicker__icon';\n\n return eclIconComponent.location.nativeElement;\n }\n\n private destroyPikaday(): void {\n if (this.picker) {\n this.picker.destroy();\n this.picker = undefined;\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclDatePickerDirective } from './ecl-date-picker.directive';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [EclDatePickerDirective],\n declarations: [EclDatePickerDirective],\n})\nexport class EclDatePickerModule {}\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-expandable.mjs","sources":["../../components/ecl-expandable/ecl-expandable.component.ts","../../components/ecl-expandable/ecl-expandable.component.html","../../components/ecl-expandable/ecl-expandable.module.ts","../../components/ecl-expandable/eui-ecl-components-ecl-expandable.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Event emitted when the expandable is toggled.\n * Contains the next expanded state.\n */\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n/**\n * Expandable component used to toggle visibility of additional content.\n * It displays a toggle button with configurable labels and emits an event on toggle.\n */\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective implements OnInit {\n /**\n * Applies the expandable base CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n /**\n * Whether the expandable content is currently expanded.\n * Default is `false`.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * The label to display when the content is collapsed.\n */\n @Input() collapsedLabel: string;\n\n /**\n * The label to display when the content is expanded.\n * If not set, `collapsedLabel` will be used as fallback.\n */\n @Input() expandedLabel: string;\n\n /**\n * Event emitted when the expandable is toggled.\n * Consumers can prevent default behavior by calling `event.preventDefault()`.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclExpandableToggleEvent>();\n\n /**\n * Initializes the component.\n * If `expandedLabel` is not provided, it falls back to `collapsedLabel`.\n */\n ngOnInit(): void {\n if (!this.expandedLabel) {\n this.expandedLabel = this.collapsedLabel;\n }\n }\n\n /**\n * Handles click on the toggle button.\n * Emits a toggle event and updates the expanded state unless prevented.\n */\n onButtonClick(): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<button\n eclButton\n variant=\"ghost\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpanded) {\n {{ expandedLabel || 'ecl.common.COLLAPSE' | translate }}\n } @else {\n {{ collapsedLabel || 'ecl.common.EXPAND' | translate }}\n }\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<div class=\"ecl-expandable__content\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclExpandableComponent } from './ecl-expandable.component';\n\n@NgModule({\n imports: [CommonModule, EclButtonModule, EclIconModule, TranslateModule],\n exports: [EclExpandableComponent],\n declarations: [EclExpandableComponent],\n})\nexport class EclExpandableModule {}\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-expandable.mjs","sources":["../../components/ecl-expandable/ecl-expandable.component.ts","../../components/ecl-expandable/ecl-expandable.component.html","../../components/ecl-expandable/ecl-expandable.module.ts","../../components/ecl-expandable/eui-ecl-components-ecl-expandable.ts"],"sourcesContent":["import { Component, Input, OnInit, Output, EventEmitter, HostBinding, booleanAttribute } from '@angular/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Event emitted when the expandable is toggled.\n * Contains the next expanded state.\n */\nexport class EclExpandableToggleEvent extends EclBaseEvent {\n constructor(public isExpanded: boolean) {\n super();\n }\n}\n\n/**\n * Expandable component used to toggle visibility of additional content.\n * It displays a toggle button with configurable labels and emits an event on toggle.\n */\n@Component({\n selector: 'ecl-expandable',\n templateUrl: './ecl-expandable.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclExpandableComponent extends ECLBaseDirective implements OnInit {\n /**\n * Applies the expandable base CSS class to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-expandable')].join(' ').trim();\n }\n\n /**\n * Whether the expandable content is currently expanded.\n * Default is `false`.\n */\n @Input({ transform: booleanAttribute }) isExpanded = false;\n\n /**\n * The label to display when the content is collapsed.\n */\n @Input() collapsedLabel: string;\n\n /**\n * The label to display when the content is expanded.\n * If not set, `collapsedLabel` will be used as fallback.\n */\n @Input() expandedLabel: string;\n\n /**\n * Event emitted when the expandable is toggled.\n * Consumers can prevent default behavior by calling `event.preventDefault()`.\n */\n // eslint-disable-next-line\n @Output() toggle = new EventEmitter<EclExpandableToggleEvent>();\n\n /**\n * Initializes the component.\n * If `expandedLabel` is not provided, it falls back to `collapsedLabel`.\n */\n ngOnInit(): void {\n if (!this.expandedLabel) {\n this.expandedLabel = this.collapsedLabel;\n }\n }\n\n /**\n * Handles click on the toggle button.\n * Emits a toggle event and updates the expanded state unless prevented.\n */\n onButtonClick(): void {\n const nextExpandedState = !this.isExpanded;\n const event = new EclExpandableToggleEvent(nextExpandedState);\n\n this.toggle.next(event);\n\n if (!event.defaultPrevented) {\n this.isExpanded = nextExpandedState;\n }\n }\n}\n","<button\n eclButton\n variant=\"ghost\"\n type=\"button\"\n class=\"ecl-expandable__toggle\"\n [attr.aria-expanded]=\"isExpanded\"\n (click)=\"onButtonClick()\">\n <span eclButtonLabel>\n @if (isExpanded) {\n {{ expandedLabel || 'ecl.common.COLLAPSE' | translate }}\n } @else {\n {{ collapsedLabel || 'ecl.common.EXPAND' | translate }}\n }\n </span>\n <ecl-icon icon=\"corner-arrow\" size=\"fluid\" transform=\"rotate-180\"></ecl-icon>\n</button>\n<div class=\"ecl-expandable__content\" [hidden]=\"!isExpanded\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclExpandableComponent } from './ecl-expandable.component';\n\n@NgModule({\n imports: [CommonModule, EclButtonModule, EclIconModule, TranslateModule],\n exports: [EclExpandableComponent],\n declarations: [EclExpandableComponent],\n})\nexport class EclExpandableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAIA;;;AAGG;AACG,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA,CAAmB,UAAmB,EAAA;AACpC,QAAA,KAAK,EAAE;QADU,IAAA,CAAA,UAAU,GAAV,UAAU;;AAG9B;AAED;;;AAGG;AAaG,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAZ5D,IAAA,WAAA,GAAA;;AAqBE;;;AAGG;QACqC,IAAA,CAAA,UAAU,GAAG,KAAK;AAa1D;;;AAGG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA4B;AA0BhE;AAxDC;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AA2BjE;;;AAGG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc;;;AAI5C;;;AAGG;IACH,aAAa,GAAA;AACX,QAAA,MAAM,iBAAiB,GAAG,CAAC,IAAI,CAAC,UAAU;AAC1C,QAAA,MAAM,KAAK,GAAG,IAAI,wBAAwB,CAAC,iBAAiB,CAAC;AAE7D,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAEvB,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,UAAU,GAAG,iBAAiB;;;+GAtD5B,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAab,gBAAgB,CAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3CtC,inBAmBA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDWa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cAEd,KAAK,EAAA,QAAA,EAAA,inBAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAcb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBASoB,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,cAAc,EAAA,CAAA;sBAAtB;gBAMQ,aAAa,EAAA,CAAA;sBAArB;gBAOS,MAAM,EAAA,CAAA;sBAAf;;;MEjDU,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAFb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAF3B,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAC7D,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGvB,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,mBAAmB,YAJlB,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAI9D,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC;oBACxE,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACzC,iBAAA;;;ACXD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-fact-figures.mjs","sources":["../../components/ecl-fact-figures/ecl-fact-figures.component.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.html","../../components/ecl-fact-figures/ecl-fact-figures-item.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-item.component.html","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.html","../../components/ecl-fact-figures/ecl-fact-figures-description.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-description.component.html","../../components/ecl-fact-figures/ecl-fact-figures-title.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-title.component.html","../../components/ecl-fact-figures/ecl-fact-figures-value.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-value.component.html","../../components/ecl-fact-figures/ecl-fact-figures.module.ts","../../components/ecl-fact-figures/eui-ecl-components-ecl-fact-figures.ts"],"sourcesContent":["import { Component, Input, HostBinding, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Main component for displaying a collection of fact and figure items\n * in a responsive, styled grid layout.\n */\n@Component({\n selector: 'ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n /**\n * Sets the CSS classes for the component, including layout and font size modifiers.\n * Automatically adds:\n * - `ecl-fact-figures--font-m` when `fontSize` is `'m'`\n * - `ecl-fact-figures--col-{n}` depending on the `columns` value\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'),\n this.fontSize === 'm' ? 'ecl-fact-figures--font-m' : '',\n `ecl-fact-figures--col-${this.columns}`].join(' ').trim();\n }\n\n /**\n * Number of columns in the layout (as string).\n * Default is `'3'`.\n */\n @Input() columns = '3';\n\n /**\n * Font size variant. Can be:\n * - `'m'` – medium (smaller text)\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /**\n * Whether the content should be centered.\n * Adds `ecl-fact-figures--centered` class when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-fact-figures--centered')\n isCentered = false;\n}\n","<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>\n","import { AfterContentInit, Component, ContentChildren, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing a single item within the Fact & Figures block.\n * Optionally handles embedded icons and applies appropriate styling.\n */\n@Component({\n selector: 'ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n standalone: false,\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__item` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n /**\n * Query for any EclIconComponent children projected into the component.\n * These icons will receive an additional CSS class.\n */\n @ContentChildren(EclIconComponent) eclIconComponents: QueryList<EclIconComponent>;\n\n /**\n * Lifecycle hook that adds a CSS class to any EclIconComponent\n * found within the projected content.\n */\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n this.eclIconComponents.forEach((eclIcon) => {\n eclIcon.baseDirective.class = [eclIcon.baseDirective.class, 'ecl-fact-figures__icon'].join(' ');\n });\n }\n }\n}\n","<ng-content></ng-content>\n","import { AfterContentInit, Component, ContentChild, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n/**\n * Component representing the \"View all\" section in a Fact & Figures block.\n * Used to display a link that allows users to view additional content.\n */\n@Component({\n selector: 'ecl-fact-figures-view-all',\n templateUrl: './ecl-fact-figures-view-all.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__view-all` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n /**\n * Reference to the projected link directive inside the component.\n * Automatically decorated with a specific class upon initialization.\n */\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n /**\n * Adds the `ecl-fact-figures__view-all-link` class to the projected link.\n * This ensures consistent styling within the view-all section.\n */\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = [this.eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');\n }\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the description text of a fact or figures section.\n * Typically used to provide contextual or supporting information.\n */\n@Component({\n selector: 'ecl-fact-figures-description',\n templateUrl: './ecl-fact-figures-description.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresDescriptionComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__description` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the title section of a Fact & Figures item.\n */\n@Component({\n selector: 'ecl-fact-figures-title',\n templateUrl: './ecl-fact-figures-title.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresTitleComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__title` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__title')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the value section of a Fact & Figures item.\n */\n@Component({\n selector: 'ecl-fact-figures-value',\n templateUrl: './ecl-fact-figures-value.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresValueComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__value` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__value')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionComponent } from './ecl-fact-figures-description.component';\nimport { EclFactFiguresTitleComponent } from './ecl-fact-figures-title.component';\nimport { EclFactFiguresValueComponent } from './ecl-fact-figures-value.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n declarations: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n})\nexport class EclFactFiguresModule {}\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-fact-figures.mjs","sources":["../../components/ecl-fact-figures/ecl-fact-figures.component.ts","../../components/ecl-fact-figures/ecl-fact-figures.component.html","../../components/ecl-fact-figures/ecl-fact-figures-item.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-item.component.html","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-view-all.component.html","../../components/ecl-fact-figures/ecl-fact-figures-description.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-description.component.html","../../components/ecl-fact-figures/ecl-fact-figures-title.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-title.component.html","../../components/ecl-fact-figures/ecl-fact-figures-value.component.ts","../../components/ecl-fact-figures/ecl-fact-figures-value.component.html","../../components/ecl-fact-figures/ecl-fact-figures.module.ts","../../components/ecl-fact-figures/eui-ecl-components-ecl-fact-figures.ts"],"sourcesContent":["import { Component, Input, HostBinding, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Main component for displaying a collection of fact and figure items\n * in a responsive, styled grid layout.\n */\n@Component({\n selector: 'ecl-fact-figures',\n templateUrl: './ecl-fact-figures.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresComponent extends ECLBaseDirective {\n /**\n * Sets the CSS classes for the component, including layout and font size modifiers.\n * Automatically adds:\n * - `ecl-fact-figures--font-m` when `fontSize` is `'m'`\n * - `ecl-fact-figures--col-{n}` depending on the `columns` value\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures'),\n this.fontSize === 'm' ? 'ecl-fact-figures--font-m' : '',\n `ecl-fact-figures--col-${this.columns}`].join(' ').trim();\n }\n\n /**\n * Number of columns in the layout (as string).\n * Default is `'3'`.\n */\n @Input() columns = '3';\n\n /**\n * Font size variant. Can be:\n * - `'m'` – medium (smaller text)\n * - `'l'` – large (default)\n */\n @Input() fontSize: 'm' | 'l' = 'l';\n\n /**\n * Whether the content should be centered.\n * Adds `ecl-fact-figures--centered` class when true.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('class.ecl-fact-figures--centered')\n isCentered = false;\n}\n","<div class=\"ecl-fact-figures__items\">\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"ecl-fact-figures-view-all\"></ng-content>\n","import { AfterContentInit, Component, ContentChildren, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * Component representing a single item within the Fact & Figures block.\n * Optionally handles embedded icons and applies appropriate styling.\n */\n@Component({\n selector: 'ecl-fact-figures-item',\n templateUrl: './ecl-fact-figures-item.component.html',\n standalone: false,\n})\nexport class EclFactFiguresItemComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__item` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__item')].join(' ').trim();\n }\n\n /**\n * Query for any EclIconComponent children projected into the component.\n * These icons will receive an additional CSS class.\n */\n @ContentChildren(EclIconComponent) eclIconComponents: QueryList<EclIconComponent>;\n\n /**\n * Lifecycle hook that adds a CSS class to any EclIconComponent\n * found within the projected content.\n */\n ngAfterContentInit(): void {\n if (this.eclIconComponents) {\n this.eclIconComponents.forEach((eclIcon) => {\n eclIcon.baseDirective.class = [eclIcon.baseDirective.class, 'ecl-fact-figures__icon'].join(' ');\n });\n }\n }\n}\n","<ng-content></ng-content>\n","import { AfterContentInit, Component, ContentChild, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\n/**\n * Component representing the \"View all\" section in a Fact & Figures block.\n * Used to display a link that allows users to view additional content.\n */\n@Component({\n selector: 'ecl-fact-figures-view-all',\n templateUrl: './ecl-fact-figures-view-all.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresViewAllComponent extends ECLBaseDirective implements AfterContentInit {\n /**\n * Applies the base class `ecl-fact-figures__view-all` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__view-all')].join(' ').trim();\n }\n\n /**\n * Reference to the projected link directive inside the component.\n * Automatically decorated with a specific class upon initialization.\n */\n @ContentChild(EclLinkDirective) eclLink: EclLinkDirective;\n\n /**\n * Adds the `ecl-fact-figures__view-all-link` class to the projected link.\n * This ensures consistent styling within the view-all section.\n */\n ngAfterContentInit(): void {\n if (this.eclLink) {\n this.eclLink.class = [this.eclLink.class, 'ecl-fact-figures__view-all-link'].join(' ');\n }\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the description text of a fact or figures section.\n * Typically used to provide contextual or supporting information.\n */\n@Component({\n selector: 'ecl-fact-figures-description',\n templateUrl: './ecl-fact-figures-description.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresDescriptionComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__description` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__description')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the title section of a Fact & Figures item.\n */\n@Component({\n selector: 'ecl-fact-figures-title',\n templateUrl: './ecl-fact-figures-title.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresTitleComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__title` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__title')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the value section of a Fact & Figures item.\n */\n@Component({\n selector: 'ecl-fact-figures-value',\n templateUrl: './ecl-fact-figures-value.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclFactFiguresValueComponent extends ECLBaseDirective {\n /**\n * Applies the base class `ecl-fact-figures__value` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-fact-figures__value')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EclFactFiguresComponent } from './ecl-fact-figures.component';\nimport { EclFactFiguresItemComponent } from './ecl-fact-figures-item.component';\nimport { EclFactFiguresViewAllComponent } from './ecl-fact-figures-view-all.component';\nimport { EclFactFiguresDescriptionComponent } from './ecl-fact-figures-description.component';\nimport { EclFactFiguresTitleComponent } from './ecl-fact-figures-title.component';\nimport { EclFactFiguresValueComponent } from './ecl-fact-figures-value.component';\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n declarations: [\n EclFactFiguresComponent,\n EclFactFiguresItemComponent,\n EclFactFiguresViewAllComponent,\n EclFactFiguresDescriptionComponent,\n EclFactFiguresTitleComponent,\n EclFactFiguresValueComponent,\n ],\n})\nexport class EclFactFiguresModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ import { TranslateModule } from '@ngx-translate/core';
5
5
  import { EclMediaContainerComponent, EclMediaContainerModule } from '@eui/ecl/components/ecl-media-container';
6
6
  import { ECLBaseDirective } from '@eui/ecl/core';
7
7
 
8
+ /**
9
+ * Applies specific additional class to style <ecl-featured-item-description> component, as a part of the
10
+ * <ecl-featured> component.
11
+ */
8
12
  class EclFeaturedItemDescriptionComponent extends ECLBaseDirective {
9
13
  constructor() {
10
14
  super(...arguments);
@@ -21,6 +25,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
21
25
  args: ['class.ecl-featured-item__description']
22
26
  }] } });
23
27
 
28
+ /**
29
+ * Applies specific additional class for the eclLink directive, used in <ecl-featured-item> construction.
30
+ */
24
31
  class EclFeaturedItemLinkDirective extends ECLBaseDirective {
25
32
  constructor() {
26
33
  super(...arguments);
@@ -39,6 +46,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
39
46
  type: HostBinding,
40
47
  args: ['class.ecl-featured-item__link']
41
48
  }] } });
49
+ /**
50
+ * Applies specific additional class for the eclLink directive, used in <ecl-featured-item-footer>.
51
+ */
42
52
  class EclFeaturedItemFooterLinkDirective extends ECLBaseDirective {
43
53
  constructor() {
44
54
  super(...arguments);
@@ -57,6 +67,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
57
67
  type: HostBinding,
58
68
  args: ['class.ecl-featured-item__footer-link']
59
69
  }] } });
70
+ /**
71
+ * Applies specific additional class for the <picture> element, used in <ecl-featured-item-footer>.
72
+ */
60
73
  class EclFeaturedItemFooterPictureDirective extends ECLBaseDirective {
61
74
  get cssClasses() {
62
75
  return [super.getCssClasses('ecl-picture ecl-featured-item__footer-picture')].join(' ').trim();
@@ -75,6 +88,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
75
88
  args: ['class']
76
89
  }] } });
77
90
 
91
+ /**
92
+ * Container for the text part - title and description of the <ecl-featured> component.
93
+ */
78
94
  class EclFeaturedItemComponent extends ECLBaseDirective {
79
95
  constructor() {
80
96
  super(...arguments);
@@ -105,12 +121,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
105
121
  args: ['class.ecl-featured-item__item']
106
122
  }] } });
107
123
 
124
+ /**
125
+ * Custom ECL component, that adds visual support to a piece of content. Uses <ecl-media-container>.
126
+ */
108
127
  class EclFeaturedComponent extends ECLBaseDirective {
109
128
  constructor() {
110
129
  super(...arguments);
130
+ /**
131
+ * The position of the image in the component. Can be 'left' or 'right'. The default value is 'left'.
132
+ */
111
133
  this.position = 'left';
112
134
  this.role = 'article';
113
135
  }
136
+ /**
137
+ * Adds specific classes to the component.
138
+ */
114
139
  get cssClasses() {
115
140
  return [
116
141
  super.getCssClasses('ecl-featured-item'),
@@ -119,7 +144,7 @@ class EclFeaturedComponent extends ECLBaseDirective {
119
144
  }
120
145
  ngOnInit() {
121
146
  if (this.variant === 'simple') {
122
- console.warn('"simple" variant is deprecated and will be removed in the next version.');
147
+ console.warn('"simple" variant is deprecated and will be removed in the next version (v20).');
123
148
  }
124
149
  }
125
150
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclFeaturedComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -140,6 +165,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
140
165
  args: ['class']
141
166
  }] } });
142
167
 
168
+ /**
169
+ * Applies specific additional class to style <ecl-featured-item-footer> component.
170
+ */
143
171
  class EclFeaturedItemFooterComponent extends ECLBaseDirective {
144
172
  constructor() {
145
173
  super(...arguments);