@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.
- package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts +9 -0
- package/components/ecl-checkbox/ecl-checkbox-help.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-input.directive.d.ts +21 -1
- package/components/ecl-checkbox/ecl-checkbox-input.directive.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts +15 -0
- package/components/ecl-checkbox/ecl-checkbox-label.component.d.ts.map +1 -1
- package/components/ecl-checkbox/ecl-checkbox.directive.d.ts +27 -0
- package/components/ecl-checkbox/ecl-checkbox.directive.d.ts.map +1 -1
- package/components/ecl-date-picker/ecl-date-picker.directive.d.ts +63 -0
- package/components/ecl-date-picker/ecl-date-picker.directive.d.ts.map +1 -1
- package/components/ecl-date-picker/events/ecl-date-picker-date-picked.event.d.ts +3 -0
- package/components/ecl-date-picker/events/ecl-date-picker-date-picked.event.d.ts.map +1 -1
- package/components/ecl-featured/ecl-featured-item-description.component.d.ts +4 -0
- package/components/ecl-featured/ecl-featured-item-description.component.d.ts.map +1 -1
- package/components/ecl-featured/ecl-featured-item-footer.component.d.ts +3 -0
- package/components/ecl-featured/ecl-featured-item-footer.component.d.ts.map +1 -1
- package/components/ecl-featured/ecl-featured-item-link.directive.d.ts +9 -0
- package/components/ecl-featured/ecl-featured-item-link.directive.d.ts.map +1 -1
- package/components/ecl-featured/ecl-featured-item.component.d.ts +3 -0
- package/components/ecl-featured/ecl-featured-item.component.d.ts.map +1 -1
- package/components/ecl-featured/ecl-featured.component.d.ts +12 -0
- package/components/ecl-featured/ecl-featured.component.d.ts.map +1 -1
- package/components/ecl-feedback-message/ecl-feedback-message.directive.d.ts +17 -0
- package/components/ecl-feedback-message/ecl-feedback-message.directive.d.ts.map +1 -1
- package/components/ecl-file-upload/ecl-file-upload.directive.d.ts +49 -0
- package/components/ecl-file-upload/ecl-file-upload.directive.d.ts.map +1 -1
- package/components/ecl-file-upload/events/ecl-file-upload-file-selected.event.d.ts +8 -0
- package/components/ecl-file-upload/events/ecl-file-upload-file-selected.event.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-footer.component.d.ts +6 -0
- package/components/ecl-gallery/ecl-gallery-footer.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-item.component.d.ts +27 -0
- package/components/ecl-gallery/ecl-gallery-item.component.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery-media.directive.d.ts +18 -0
- package/components/ecl-gallery/ecl-gallery-media.directive.d.ts.map +1 -1
- package/components/ecl-gallery/ecl-gallery.component.d.ts +65 -0
- package/components/ecl-gallery/ecl-gallery.component.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts +27 -0
- package/components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts +6 -0
- package/components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts +31 -0
- package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
- package/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts +4 -0
- package/components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.d.ts.map +1 -1
- package/components/ecl-rating-field/ecl-rating-field.component.d.ts +37 -1
- package/components/ecl-rating-field/ecl-rating-field.component.d.ts.map +1 -1
- package/components/ecl-search-form/ecl-search-form.component.d.ts +22 -0
- package/components/ecl-search-form/ecl-search-form.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select-container.component.d.ts +16 -0
- package/components/ecl-select/ecl-select-container.component.d.ts.map +1 -1
- package/components/ecl-select/ecl-select.directive.d.ts +25 -1
- package/components/ecl-select/ecl-select.directive.d.ts.map +1 -1
- package/components/ecl-tag/ecl-tag-icon.directive.d.ts +8 -0
- package/components/ecl-tag/ecl-tag-icon.directive.d.ts.map +1 -1
- package/components/ecl-tag/ecl-tag-set.directive.d.ts +15 -0
- package/components/ecl-tag/ecl-tag-set.directive.d.ts.map +1 -1
- package/components/ecl-tag/ecl-tag.component.d.ts +23 -0
- package/components/ecl-tag/ecl-tag.component.d.ts.map +1 -1
- package/components/ecl-tag/events/ecl-tag-remove.event.d.ts +3 -0
- package/components/ecl-tag/events/ecl-tag-remove.event.d.ts.map +1 -1
- package/components/ecl-text-area/ecl-text-area.directive.d.ts +12 -0
- package/components/ecl-text-area/ecl-text-area.directive.d.ts.map +1 -1
- package/components/ecl-text-input/ecl-text-input.directive.d.ts +15 -0
- package/components/ecl-text-input/ecl-text-input.directive.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item-label.directive.d.ts +8 -0
- package/components/ecl-timeline/ecl-timeline-item-label.directive.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item-title.directive.d.ts +8 -0
- package/components/ecl-timeline/ecl-timeline-item-title.directive.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item-toggler.component.d.ts +11 -0
- package/components/ecl-timeline/ecl-timeline-item-toggler.component.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline-item.component.d.ts +58 -0
- package/components/ecl-timeline/ecl-timeline-item.component.d.ts.map +1 -1
- package/components/ecl-timeline/ecl-timeline.component.d.ts +28 -0
- package/components/ecl-timeline/ecl-timeline.component.d.ts.map +1 -1
- package/components/ecl-timeline/events/ecl-timeline-item-toggle.event.d.ts +18 -1
- package/components/ecl-timeline/events/ecl-timeline-item-toggle.event.d.ts.map +1 -1
- package/docs/classes/EclDatePickerDatePickedEvent.html +7 -0
- package/docs/classes/EclFileUploadFileSelectedEvent.html +11 -0
- package/docs/classes/EclTagRemoveEvent.html +7 -0
- package/docs/classes/EclTimelineItemToggleEvent.html +19 -0
- package/docs/components/EclCheckboxHelpComponent.html +30 -0
- package/docs/components/EclCheckboxLabelComponent.html +42 -0
- package/docs/components/EclFeaturedComponent.html +36 -0
- package/docs/components/EclFeaturedItemComponent.html +7 -0
- package/docs/components/EclFeaturedItemDescriptionComponent.html +8 -0
- package/docs/components/EclFeaturedItemFooterComponent.html +7 -0
- package/docs/components/EclGalleryComponent.html +153 -0
- package/docs/components/EclGalleryFooterComponent.html +13 -0
- package/docs/components/EclGalleryItemComponent.html +78 -0
- package/docs/components/EclInpageNavigationComponent.html +49 -0
- package/docs/components/EclInpageNavigationItemComponent.html +66 -0
- package/docs/components/EclRatingFieldComponent.html +79 -13
- package/docs/components/EclSearchFormComponent.html +49 -0
- package/docs/components/EclSelectContainerComponent.html +48 -0
- package/docs/components/EclTagComponent.html +36 -0
- package/docs/components/EclTimelineComponent.html +46 -0
- package/docs/components/EclTimelineItemComponent.html +110 -0
- package/docs/components/EclTimelineItemTogglerComponent.html +24 -0
- package/docs/dependencies.html +2 -2
- package/docs/directives/EclCheckboxDirective.html +66 -0
- package/docs/directives/EclCheckboxInputDirective.html +30 -0
- package/docs/directives/EclDatePickerDirective.html +128 -0
- package/docs/directives/EclFeaturedItemFooterLinkDirective.html +7 -0
- package/docs/directives/EclFeaturedItemFooterPictureDirective.html +7 -0
- package/docs/directives/EclFeaturedItemLinkDirective.html +7 -0
- package/docs/directives/EclFeedbackMessageDirective.html +33 -0
- package/docs/directives/EclFileUploadDirective.html +178 -0
- package/docs/directives/EclGalleryMediaDirective.html +36 -0
- package/docs/directives/EclGalleryPictureDirective.html +7 -0
- package/docs/directives/EclGalleryThumbnailDirective.html +7 -0
- package/docs/directives/EclInpageNavigationListDirective.html +19 -0
- package/docs/directives/EclSelectDirective.html +54 -1
- package/docs/directives/EclTagIconExternalDirective.html +27 -0
- package/docs/directives/EclTagSetDirective.html +27 -0
- package/docs/directives/EclTagSetItemDirective.html +20 -0
- package/docs/directives/EclTextAreaDirective.html +47 -0
- package/docs/directives/EclTextInputDirective.html +53 -0
- package/docs/directives/EclTimelineItemLabelDirective.html +27 -0
- package/docs/directives/EclTimelineItemTitleDirective.html +27 -0
- package/docs/injectables/EclInpageNavigationService.html +2 -0
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +13 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-app.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-blockquote.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-breadcrumb.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +54 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs +70 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-expandable.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +29 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs +13 -0
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs +48 -0
- package/fesm2022/eui-ecl-components-ecl-file-upload.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +108 -0
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +59 -0
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-label.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-notification.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-range.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +34 -3
- package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs +19 -0
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.mjs +40 -0
- package/fesm2022/eui-ecl-components-ecl-select.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-separator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-share.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +45 -0
- package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +12 -0
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +15 -0
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +111 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/fesm2022/eui-ecl.mjs.map +1 -1
- 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;AAGG;AAOG,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AA4CvD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,
|
|
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":";;;;;;;;;;;AAIA;;;AAGG;AACG,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AACxD,IAAA,WAAA,CAAmB,UAAmB,EAAA;AACpC,QAAA,KAAK,EAAE;QADU,
|
|
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 +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":";;;;;;;;AAGA;;;AAGG;AAaG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAZ7D,IAAA,WAAA,GAAA;;AA0BE;;;AAGG;QACM,IAAO,CAAA,OAAA,GAAG,GAAG;AAEtB;;;;AAIG;QACM,IAAQ,CAAA,QAAA,GAAc,GAAG;AAElC;;;AAGG;QAGH,IAAU,CAAA,UAAA,GAAG,KAAK;AACnB;AAjCC;;;;;AAKG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC;YAC7C,IAAI,CAAC,QAAQ,KAAK,GAAG,GAAG,0BAA0B,GAAG,EAAE;AACvD,YAAA,CAAA,sBAAA,EAAyB,IAAI,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAXlD,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EA+Bd,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,kCAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClDtC,oJAKA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDca,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAEhB,KAAK,EAAA,QAAA,EAAA,oJAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAiBb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAWX,OAAO,EAAA,CAAA;sBAAf;gBAOQ,QAAQ,EAAA,CAAA;sBAAhB;gBAQD,UAAU,EAAA,CAAA;sBAFT,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBACrC,WAAW;uBAAC,kCAAkC;;;AE/CjD;;;AAGG;AAMG,MAAO,2BAA4B,SAAQ,gBAAgB,CAAA;AAC/D;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AASzE;;;AAGG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AACzC,gBAAA,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACjG,aAAC,CAAC;;;+GAvBK,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA3B,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAarB,gBAAgB,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BnC,6BACA,EAAA,CAAA,CAAA;;4FDYa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,cAErB,KAAK,EAAA,QAAA,EAAA,6BAAA,EAAA;8BAOb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBASe,iBAAiB,EAAA,CAAA;sBAAnD,eAAe;uBAAC,gBAAgB;;;AEtBnC;;;AAGG;AAaG,MAAO,8BAA+B,SAAQ,gBAAgB,CAAA;AAClE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAS7E;;;AAGG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;;;+GArB/E,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA9B,8BAA8B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAa3B,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjChC,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDmBa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAZ1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,cAEzB,KAAK,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAcb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBASY,OAAO,EAAA,CAAA;sBAAtC,YAAY;uBAAC,gBAAgB;;;AE9BhC;;;AAGG;AAaG,MAAO,kCAAmC,SAAQ,gBAAgB,CAAA;AACtE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GANrE,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,sKCnB/C,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDkBa,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAZ9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,cAE5B,KAAK,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAcb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;AEnBtB;;AAEG;AAaG,MAAO,4BAA6B,SAAQ,gBAAgB,CAAA;AAChE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAN/D,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,gKCnBzC,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDkBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAEtB,KAAK,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAcb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;AEpBtB;;AAEG;AAaG,MAAO,4BAA6B,SAAQ,gBAAgB,CAAA;AAChE;;AAEG;AACH,IAAA,IACI,UAAU,GAAA;AACZ,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAN/D,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,gKClBzC,6BACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,CAAA;;4FDiBa,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAZxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,cAEtB,KAAK,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAcb,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;MEST,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,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,oBAAoB,iBARzB,uBAAuB;YACvB,2BAA2B;YAC3B,8BAA8B;YAC9B,kCAAkC;YAClC,4BAA4B;AAC5B,YAAA,4BAA4B,CAftB,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,eAAe,aAEnC,uBAAuB;YACvB,2BAA2B;YAC3B,8BAA8B;YAC9B,kCAAkC;YAClC,4BAA4B;YAC5B,4BAA4B,CAAA,EAAA,CAAA,CAAA;gHAWvB,oBAAoB,EAAA,OAAA,EAAA,CAlBnB,YAAY,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAkB9B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAnBhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACxC,oBAAA,OAAO,EAAE;wBACL,uBAAuB;wBACvB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,kCAAkC;wBAClC,4BAA4B;wBAC5B,4BAA4B;AAC/B,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,uBAAuB;wBACvB,2BAA2B;wBAC3B,8BAA8B;wBAC9B,kCAAkC;wBAClC,4BAA4B;wBAC5B,4BAA4B;AAC/B,qBAAA;AACJ,iBAAA;;;AC9BD;;AAEG;;;;"}
|
|
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);
|