@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-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n standalone: false,\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { Directive, ElementRef, EventEmitter, Host, HostBinding, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n standalone: false,\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Reference to the host DOM element.\n * Useful for querying attributes like `aria-controls`.\n */\n constructor(public hostElementRef: ElementRef) {\n super();\n }\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\n/**\n * Component representing an ECL Popover.\n * \n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n \n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isLeft: boolean;\n private isRight: boolean;\n private isPushLeft: boolean;\n private isPushRight: boolean;\n private isPushTop: boolean;\n private isPushBottom: boolean;\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n super();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.isHidden = !this.isHidden;\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.onClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isHidden = true;\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll', ['$event'])\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Public method used to close the popover and reset related styles.\n */\n onClose(): void {\n this.isHidden = true;\n this.resetStyless();\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyless();\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const screenHeight = window.innerHeight;\n const screenWidth = window.innerWidth;\n\n // Calculate available space in each direction\n const spaceTop = toggleRect.top;\n const spaceBottom = screenHeight - toggleRect.bottom;\n const spaceLeft = toggleRect.left;\n const spaceRight = screenWidth - toggleRect.right;\n\n // Find the direction with the most available space\n if ((spaceTop > spaceBottom) && (spaceTop > spaceLeft) && (spaceTop > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.topClass);\n } else if ((spaceBottom > spaceLeft) && (spaceBottom > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.bottomClass);\n } else if (spaceLeft > spaceRight) {\n this.isLeft = true;\n this.renderer.addClass(this.el.nativeElement, this.leftClass);\n } else {\n this.isRight = true;\n this.renderer.addClass(this.el.nativeElement, this.rightClass);\n }\n this.handleScrollableWidth(spaceLeft, spaceRight, screenWidth);\n this.handlePushClass(screenWidth, screenHeight);\n }\n\n private handleScrollableWidth(spaceLeft: number, spaceRight: number, screenWidth: number): void {\n // Try to use as much of the available width, respecting the max-width set.\n const scrollable = this.eclPopoverScrollableElement.nativeElement;\n const styles = getComputedStyle(scrollable);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n let availableSpace = 0;\n\n if (this.isLeft || this.isRight) {\n availableSpace = (this.isLeft ? spaceLeft : spaceRight) * 0.9;\n } else {\n const centerPosition = (toggleRect.right - toggleRect.left) / 2;\n availableSpace = (screenWidth - centerPosition + this.eclPopoverContainerElement.nativeElement.offsetWidth / 2) * 0.9;\n }\n if (maxWidth + padding < availableSpace) {\n this.renderer.setStyle(scrollable, 'width', `${maxWidth}px`);\n } else if (availableSpace < minWidth + padding) {\n this.renderer.setStyle(scrollable, 'width', `${minWidth}px`);\n } else {\n this.renderer.setStyle(scrollable, 'width', `${availableSpace - padding}px`);\n }\n }\n\n private resetStyless(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.isPushLeft = false;\n this.isPushRight = false;\n this.isPushTop = false;\n this.isPushBottom = false;\n this.isLeft = false;\n this.isRight = false;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n private handlePushClass(screenWidth: number, screenHeight: number): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n\n if (this.isLeft || this.isRight) {\n if (popoverRect.top < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.setStyle(popoverContainer, 'top', `-${Math.round(toggleRect.top)}px`);\n this.isPushTop = true;\n } else if (popoverRect.bottom > screenHeight) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.setStyle(popoverContainer, 'bottom', `-${Math.round(screenHeight - (toggleRect.bottom + 8))}px`);\n this.isPushBottom = true;\n }\n } else {\n if (popoverRect.left < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${toggleRect.left}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushLeft = true;\n }\n if (popoverRect.right > screenWidth) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${screenWidth - toggleRect.right}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushRight = true;\n }\n }\n\n this.handleArrowPosition();\n }\n\n private handleArrowPosition(): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (this.isLeft || this.isRight) {\n if (this.isPushBottom) {\n this.popoverPosition = `${Math.round(toggleRect.top - popoverRect.top + toggleRect.height / 2)}px`;\n } else if (this.isPushTop) {\n this.popoverPosition = `${Math.round(popoverRect.top + toggleRect.top + toggleRect.height / 2)}px`;\n }\n } else {\n if (this.isPushRight) {\n this.popoverPosition = `${Math.round(popoverRect.right - (toggleRect.right - toggleRect.width / 2))}px`;\n } else if (this.isPushLeft) {\n this.popoverPosition = `${Math.round(popoverRect.left + toggleRect.left + toggleRect.width / 2)}px`;\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\" [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EclPopoverComponent } from './ecl-popover.component';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconModule, EclLinkModule, EclButtonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\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-popover.mjs","sources":["../../components/ecl-popover/ecl-popover-content.directive.ts","../../components/ecl-popover/ecl-popover-toggle.directive.ts","../../components/ecl-popover/ecl-popover.component.ts","../../components/ecl-popover/ecl-popover.component.html","../../components/ecl-popover/ecl-popover.module.ts","../../components/ecl-popover/eui-ecl-components-ecl-popover.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive applied to the content section of an `ecl-popover` component.\n *\n * Responsible for applying the appropriate CSS class to the popover content container.\n */\n@Directive({\n selector: '[eclPopoverContent]',\n standalone: false,\n})\nexport class EclPopoverContentDirective extends ECLBaseDirective {\n /**\n * Host binding that applies the CSS class to style the popover content.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__content')].join(' ').trim();\n }\n}\n","import { Directive, ElementRef, EventEmitter, Host, HostBinding, HostListener, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive used to toggle the visibility of an `ecl-popover` component.\n *\n * This directive emits a custom click event and manages accessibility attributes.\n */\n@Directive({\n selector: '[eclPopoverToggle]',\n standalone: false,\n})\nexport class EclPopoverToggleDirective extends ECLBaseDirective {\n /**\n * Sets the `aria-expanded` attribute to reflect the popover's open state.\n * This should be updated by the parent popover component.\n */\n @HostBinding('attr.aria-expanded') isExpanded = false;\n\n /**\n * Event emitted when the toggle element is clicked with the left mouse button.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter();\n\n /**\n * Reference to the host DOM element.\n * Useful for querying attributes like `aria-controls`.\n */\n constructor(public hostElementRef: ElementRef) {\n super();\n }\n\n /**\n * Host binding that applies the appropriate CSS class to the toggle element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-popover__toggle')].join(' ').trim();\n }\n\n /**\n * Emits the `click` event only for left mouse button clicks.\n * Used by the popover component to toggle visibility.\n */\n @HostListener('mouseup', ['$event'])\n onClick(evt: MouseEvent): void {\n const LEFT_BUTTON = 0;\n\n if (evt.button === LEFT_BUTTON) {\n this.click.next(null);\n }\n }\n\n /**\n * Returns the native HTML element of the directive.\n * Used internally by the popover to query attributes.\n */\n public getHostElement(): HTMLElement {\n return this.hostElementRef.nativeElement;\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLClickOutsideDirective } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\n\n/**\n * Component representing an ECL Popover.\n * \n * It handles toggling visibility, positioning, and closing behavior of the popover.\n */\n@Component({\n selector: 'ecl-popover',\n templateUrl: './ecl-popover.component.html',\n standalone: false,\n hostDirectives: [\n {\n directive: ECLClickOutsideDirective,\n // eslint-disable-next-line @angular-eslint/no-outputs-metadata-property\n outputs: ['eclClickOutside'],\n },\n ],\n})\nexport class EclPopoverComponent extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n /**\n * Reference to the popover container element.\n */\n @ViewChild('container') eclPopoverContainerElement: ElementRef;\n\n /**\n * Reference to the scrollable content element inside the popover.\n */\n @ViewChild('scrollable') eclPopoverScrollableElement: ElementRef;\n\n /**\n * Reference to the toggle element used to open/close the popover.\n */\n @ContentChild(EclPopoverToggleDirective) eclPopoverToggle: EclPopoverToggleDirective;\n\n /**\n * Current calculated position class of the popover.\n */\n popoverPosition: string;\n \n /**\n * Controls visibility of the popover. `true` means hidden.\n */\n isHidden = true;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private isLeft: boolean;\n private isRight: boolean;\n private isPushLeft: boolean;\n private isPushRight: boolean;\n private isPushTop: boolean;\n private isPushBottom: boolean;\n\n private readonly topClass = 'ecl-popover--top';\n private readonly bottomClass = 'ecl-popover--bottom';\n private readonly leftClass = 'ecl-popover--left';\n private readonly rightClass = 'ecl-popover--right';\n private readonly pushTopClass = 'ecl-popover--push-top';\n private readonly pushBottomClass = 'ecl-popover--push-bottom';\n private readonly pushLeftClass = 'ecl-popover--push-left';\n private readonly pushRightClass = 'ecl-popover--push-right';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('ecl-popover'),\n ]\n .join(' ')\n .trim();\n }\n\n constructor(private el: ElementRef, private renderer: Renderer2) {\n super();\n }\n\n /**\n * Initializes event subscriptions for toggle button.\n */\n ngAfterContentInit(): void {\n this.eclPopoverToggle?.click.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.isHidden = !this.isHidden;\n this.checkPosition(); // TODO: wrap on a platformBrowser check as it calls window and document\n });\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions on destroy.\n */\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Returns the value of the `aria-controls` attribute from the toggle element,\n * if available. Used for accessibility linking.\n */\n get popoverToggleAriaControls(): string | null {\n return this.eclPopoverToggle?.hostElementRef.nativeElement.getAttribute('aria-controls');\n }\n\n /**\n * Handler triggered when a click outside the popover is detected.\n * Closes the popover if it is open.\n */\n @HostListener('eclClickOutside')\n onClickOutsidePopover(): void {\n if (!this.isHidden) {\n this.onClose();\n }\n }\n\n /**\n * Closes the popover when the Escape key is pressed.\n */\n @HostListener('document:keydown.escape', ['$event'])\n onEscapeKeydownHandler(event: KeyboardEvent): void {\n this.isHidden = true;\n }\n\n /**\n * Recalculates popover position when the window is resized.\n */\n @HostListener('window:resize', ['$event'])\n onWindowResize(): void {\n this.checkPosition();\n }\n\n /**\n * Recalculates popover position when the document is scrolled.\n */\n @HostListener('document:scroll', ['$event'])\n onDocumentScroll(): void {\n this.checkPosition();\n }\n\n /**\n * Public method used to close the popover and reset related styles.\n */\n onClose(): void {\n this.isHidden = true;\n this.resetStyless();\n }\n\n private checkPosition(): void {\n setTimeout(() => {\n if (!this.isHidden) {\n this.positionPopover();\n }\n });\n }\n\n private positionPopover(): void {\n this.resetStyless();\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const screenHeight = window.innerHeight;\n const screenWidth = window.innerWidth;\n\n // Calculate available space in each direction\n const spaceTop = toggleRect.top;\n const spaceBottom = screenHeight - toggleRect.bottom;\n const spaceLeft = toggleRect.left;\n const spaceRight = screenWidth - toggleRect.right;\n\n // Find the direction with the most available space\n if ((spaceTop > spaceBottom) && (spaceTop > spaceLeft) && (spaceTop > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.topClass);\n } else if ((spaceBottom > spaceLeft) && (spaceBottom > spaceRight)) {\n this.renderer.addClass(this.el.nativeElement, this.bottomClass);\n } else if (spaceLeft > spaceRight) {\n this.isLeft = true;\n this.renderer.addClass(this.el.nativeElement, this.leftClass);\n } else {\n this.isRight = true;\n this.renderer.addClass(this.el.nativeElement, this.rightClass);\n }\n this.handleScrollableWidth(spaceLeft, spaceRight, screenWidth);\n this.handlePushClass(screenWidth, screenHeight);\n }\n\n private handleScrollableWidth(spaceLeft: number, spaceRight: number, screenWidth: number): void {\n // Try to use as much of the available width, respecting the max-width set.\n const scrollable = this.eclPopoverScrollableElement.nativeElement;\n const styles = getComputedStyle(scrollable);\n const maxWidth = parseInt(styles.getPropertyValue('max-width'), 10);\n const minWidth = parseInt(styles.getPropertyValue('min-width'), 10);\n const padding = parseInt(styles.getPropertyValue('padding-left'), 10) * 2;\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n let availableSpace = 0;\n\n if (this.isLeft || this.isRight) {\n availableSpace = (this.isLeft ? spaceLeft : spaceRight) * 0.9;\n } else {\n const centerPosition = (toggleRect.right - toggleRect.left) / 2;\n availableSpace = (screenWidth - centerPosition + this.eclPopoverContainerElement.nativeElement.offsetWidth / 2) * 0.9;\n }\n if (maxWidth + padding < availableSpace) {\n this.renderer.setStyle(scrollable, 'width', `${maxWidth}px`);\n } else if (availableSpace < minWidth + padding) {\n this.renderer.setStyle(scrollable, 'width', `${minWidth}px`);\n } else {\n this.renderer.setStyle(scrollable, 'width', `${availableSpace - padding}px`);\n }\n }\n\n private resetStyless(): void {\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n this.isPushLeft = false;\n this.isPushRight = false;\n this.isPushTop = false;\n this.isPushBottom = false;\n this.isLeft = false;\n this.isRight = false;\n this.popoverPosition = null;\n this.renderer.removeClass(this.el.nativeElement, this.topClass);\n this.renderer.removeClass(this.el.nativeElement, this.bottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.leftClass);\n this.renderer.removeClass(this.el.nativeElement, this.rightClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.removeClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.removeStyle(popoverContainer, 'top');\n this.renderer.removeStyle(popoverContainer, 'right');\n this.renderer.removeStyle(popoverContainer, 'left');\n this.renderer.removeStyle(popoverContainer, 'bottom');\n this.renderer.removeStyle(popoverContainer, 'transform');\n this.renderer.removeStyle(this.eclPopoverScrollableElement.nativeElement, 'width');\n }\n\n private handlePushClass(screenWidth: number, screenHeight: number): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n const popoverContainer = this.eclPopoverContainerElement.nativeElement;\n\n if (this.isLeft || this.isRight) {\n if (popoverRect.top < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushTopClass);\n this.renderer.setStyle(popoverContainer, 'top', `-${Math.round(toggleRect.top)}px`);\n this.isPushTop = true;\n } else if (popoverRect.bottom > screenHeight) {\n this.renderer.addClass(this.el.nativeElement, this.pushBottomClass);\n this.renderer.setStyle(popoverContainer, 'bottom', `-${Math.round(screenHeight - (toggleRect.bottom + 8))}px`);\n this.isPushBottom = true;\n }\n } else {\n if (popoverRect.left < 0) {\n this.renderer.addClass(this.el.nativeElement, this.pushLeftClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${toggleRect.left}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushLeft = true;\n }\n if (popoverRect.right > screenWidth) {\n this.renderer.addClass(this.el.nativeElement, this.pushRightClass);\n this.renderer.setStyle(popoverContainer, 'left', `-${screenWidth - toggleRect.right}px`);\n this.renderer.setStyle(popoverContainer, 'right', 'auto');\n this.renderer.setStyle(popoverContainer, 'transform', 'none');\n this.isPushRight = true;\n }\n }\n\n this.handleArrowPosition();\n }\n\n private handleArrowPosition(): void {\n const toggleElement = this.eclPopoverToggle.getHostElement();\n const toggleRect = toggleElement.getBoundingClientRect();\n const popoverRect = this.eclPopoverContainerElement.nativeElement.getBoundingClientRect();\n\n if (this.isLeft || this.isRight) {\n if (this.isPushBottom) {\n this.popoverPosition = `${Math.round(toggleRect.top - popoverRect.top + toggleRect.height / 2)}px`;\n } else if (this.isPushTop) {\n this.popoverPosition = `${Math.round(popoverRect.top + toggleRect.top + toggleRect.height / 2)}px`;\n }\n } else {\n if (this.isPushRight) {\n this.popoverPosition = `${Math.round(popoverRect.right - (toggleRect.right - toggleRect.width / 2))}px`;\n } else if (this.isPushLeft) {\n this.popoverPosition = `${Math.round(popoverRect.left + toggleRect.left + toggleRect.width / 2)}px`;\n }\n }\n }\n}\n","<ng-content select=\"[eclPopoverToggle]\"></ng-content>\n\n<div #container class=\"ecl-popover__container\" [style.--ecl-popover-position]=\"popoverPosition\" [hidden]=\"isHidden\" [attr.id]=\"popoverToggleAriaControls\">\n <div #scrollable class=\"ecl-popover__scrollable\">\n <button eclButton variant=\"tertiary\" (click)=\"onClose()\" class=\"ecl-popover__close\" isIconOnly>\n <span eclButtonLabel>Close</span>\n <ecl-icon icon=\"close\" size=\"m\"></ecl-icon>\n </button>\n <ng-content select=\"[eclPopoverContent]\"></ng-content>\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclPopoverContentDirective } from './ecl-popover-content.directive';\nimport { EclPopoverToggleDirective } from './ecl-popover-toggle.directive';\nimport { EclPopoverComponent } from './ecl-popover.component';\n\nconst COMPONENTS = [\n EclPopoverComponent,\n EclPopoverContentDirective,\n EclPopoverToggleDirective,\n];\n\n@NgModule({\n imports: [CommonModule, EclIconModule, EclLinkModule, EclButtonModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclPopoverModule {}\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-radio.mjs","sources":["../../components/ecl-radio/ecl-radio-help.component.ts","../../components/ecl-radio/ecl-radio-help.component.html","../../components/ecl-radio/ecl-radio-label.component.ts","../../components/ecl-radio/ecl-radio-label.component.html","../../components/ecl-radio/ecl-radio.directive.ts","../../components/ecl-radio/ecl-radio-input.directive.ts","../../components/ecl-radio/ecl-radio.module.ts","../../components/ecl-radio/eui-ecl-components-ecl-radio.ts"],"sourcesContent":["import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n standalone: false,\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio__help--disabled') isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n standalone: false,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isInvalid = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n","<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n","import { booleanAttribute, ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@Directive({\n selector: '[eclRadio]',\n standalone: false,\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n @Input({ transform: booleanAttribute }) isBinary: boolean;\n\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio--disabled') isDisabled = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio--invalid') isInvalid = false;\n\n @ContentChild(forwardRef(() => EclRadioLabelComponent)) eclRadioLabelComponent: EclRadioLabelComponent;\n @ContentChild(forwardRef(() => EclRadioHelpComponent)) eclRadioHelpComponent: EclRadioHelpComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n","import { Directive, HostBinding, Optional, Self, ChangeDetectorRef, DoCheck, Inject, forwardRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'input[eclRadioInput]',\n standalone: false,\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n constructor(\n @Inject(forwardRef(() => EclRadioDirective)) public eclRadio: EclRadioDirective,\n @Optional() @Self() protected ngControl: NgControl,\n protected cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { NgModule } from '@angular/core';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n declarations: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioModule {}\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-radio.mjs","sources":["../../components/ecl-radio/ecl-radio-help.component.ts","../../components/ecl-radio/ecl-radio-help.component.html","../../components/ecl-radio/ecl-radio-label.component.ts","../../components/ecl-radio/ecl-radio-label.component.html","../../components/ecl-radio/ecl-radio.directive.ts","../../components/ecl-radio/ecl-radio-input.directive.ts","../../components/ecl-radio/ecl-radio.module.ts","../../components/ecl-radio/eui-ecl-components-ecl-radio.ts"],"sourcesContent":["import { Component, HostBinding, Input, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioHelp]',\n templateUrl: './ecl-radio-help.component.html',\n standalone: false,\n})\nexport class EclRadioHelpComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio__help--disabled') isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__help')].join(' ').trim();\n }\n}\n","<ng-content></ng-content>\n","import { Component, HostBinding, Input, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclRadioLabel]',\n templateUrl: './ecl-radio-label.component.html',\n standalone: false,\n encapsulation: ViewEncapsulation.None,\n})\nexport class EclRadioLabelComponent extends ECLBaseDirective {\n @Input({ transform: booleanAttribute }) isInvalid = false;\n @Input({ transform: booleanAttribute }) isDisabled = false;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__label')].join(' ').trim();\n }\n}\n","<span class=\"ecl-radio__box\" [class.ecl-radio__box--disabled]=\"isDisabled\" [class.ecl-radio__box--invalid]=\"isInvalid\">\n <span class=\"ecl-radio__box-inner\"></span>\n</span>\n\n<ng-content></ng-content>\n","import { booleanAttribute, ContentChild, Directive, DoCheck, forwardRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@Directive({\n selector: '[eclRadio]',\n standalone: false,\n})\nexport class EclRadioDirective extends ECLBaseDirective implements DoCheck {\n @Input({ transform: booleanAttribute }) isBinary: boolean;\n\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio--disabled') isDisabled = false;\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-radio--invalid') isInvalid = false;\n\n @ContentChild(forwardRef(() => EclRadioLabelComponent)) eclRadioLabelComponent: EclRadioLabelComponent;\n @ContentChild(forwardRef(() => EclRadioHelpComponent)) eclRadioHelpComponent: EclRadioHelpComponent;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio'), this.isBinary ? 'ecl-radio--binary' : ''].join(' ').trim();\n }\n\n ngDoCheck(): void {\n this.updateChildElements();\n }\n\n private updateChildElements(): void {\n if (this.eclRadioLabelComponent) {\n this.eclRadioLabelComponent.isInvalid = this.isInvalid;\n this.eclRadioLabelComponent.isDisabled = this.isDisabled;\n }\n\n if (this.eclRadioHelpComponent) {\n this.eclRadioHelpComponent.isDisabled = this.isDisabled;\n }\n }\n}\n","import { Directive, HostBinding, Optional, Self, ChangeDetectorRef, DoCheck, Inject, forwardRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: 'input[eclRadioInput]',\n standalone: false,\n})\nexport class EclRadioInputDirective extends ECLBaseDirective implements DoCheck {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-radio__input')].join(' ').trim();\n }\n\n constructor(\n @Inject(forwardRef(() => EclRadioDirective)) public eclRadio: EclRadioDirective,\n @Optional() @Self() protected ngControl: NgControl,\n protected cd: ChangeDetectorRef,\n ) {\n super();\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n if (this.eclRadio) {\n this.eclRadio.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n this.eclRadio.isDisabled = this.ngControl.disabled;\n }\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { EclRadioInputDirective } from './ecl-radio-input.directive';\nimport { NgModule } from '@angular/core';\nimport { EclRadioDirective } from './ecl-radio.directive';\nimport { EclRadioHelpComponent } from './ecl-radio-help.component';\nimport { EclRadioLabelComponent } from './ecl-radio-label.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n declarations: [EclRadioDirective, EclRadioInputDirective, EclRadioLabelComponent, EclRadioHelpComponent],\n})\nexport class EclRadioModule {}\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-range.mjs","sources":["../../components/ecl-range/ecl-range-value.component.ts","../../components/ecl-range/ecl-range-value.component.html","../../components/ecl-range/ecl-range-bubble.component.ts","../../components/ecl-range/ecl-range-bubble.component.html","../../components/ecl-range/events/ecl-range.event.ts","../../components/ecl-range/ecl-range.directive.ts","../../components/ecl-range/ecl-range.module.ts","../../components/ecl-range/eui-ecl-components-ecl-range.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n @Input() value: number;\n @Input() @HostBinding('attr.id') id: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n","{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n","import { Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n\tselector: 'ecl-range-bubble',\n\ttemplateUrl: './ecl-range-bubble.component.html',\n standalone: false,\n})\nexport class EclRangeBubbleComponent extends ECLBaseDirective {\n\t@Input() value: number;\n\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-range__bubble'),\n\t\tthis.isVisible ? 'ecl-range__bubble--visible': '',\n\t\t].join(' ').trim();\n\t}\n\n\t@HostBinding('style.left.px') left: number;\n\n\tisVisible = false;\n\n\tconstructor(public el: ElementRef) {\n\t\tsuper();\n\t}\n}\n","<span class=\"ecl-range__value-bubble\">{{value}}</span>","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRangeEvent extends EclBaseEvent {\n constructor(public value: number) {\n super();\n }\n}","import { Directive,\n ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Optional, Output,\n Self, ViewContainerRef, booleanAttribute,ChangeDetectorRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeEvent } from './events/ecl-range.event';\n\n@Directive({\n selector: 'input[eclRange]',\n standalone: false,\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit, OnDestroy {\n @Input() eclSize = 'm';\n @Input() value: string;\n @Input() rangeValueId: string;\n @Input({ transform: booleanAttribute }) isInvalid = false;\n @Input({ transform: booleanAttribute }) hasValueLabel = true;\n\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n private rangeBubbleComponent: EclRangeBubbleComponent;\n private isRtl = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private el: ElementRef,\n private eclRtlService: EclRtlService,\n private cd: ChangeDetectorRef,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n @HostBinding('class.ecl-range--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.initializeEventListeners();\n this.observeReactiveFormValueChanges();\n this.handleRtlChangeState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private createRangeValueComponent(): void {\n const componentRangeBubbleRef = this.viewContainerRef.createComponent(EclRangeBubbleComponent);\n const componentRangeValueRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeBubbleComponent = componentRangeBubbleRef.instance;\n this.rangeValueComponent = componentRangeValueRef.instance;\n if (this.rangeValueId) {\n this.rangeValueComponent.id = this.rangeValueId;\n }\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeBubbleComponent.value = numberValue;\n this.rangeValueComponent.value = numberValue;\n\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n\n private initializeEventListeners(): void {\n const rangeElement = this.el.nativeElement;\n\n const mouseEnter$ = fromEvent(rangeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(rangeElement, 'mouseleave');\n const rangeValueChange$ = fromEvent(rangeElement, 'input');\n\n mouseEnter$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = true;\n this.cd.detectChanges();\n this.recalculateBubblePosition();\n });\n\n rangeValueChange$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.recalculateBubblePosition();\n });\n\n mouseLeave$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = false;\n });\n }\n\n private recalculateBubblePosition(): void {\n\n const halfThumbWidth = 8;\n const halfLabelWidth = this.rangeBubbleComponent.el.nativeElement.offsetWidth / 2;\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const center = rect.width / 2;\n\n const min = this.el.nativeElement.min ? this.el.nativeElement.min : 0;\n const max = this.el.nativeElement.max;\n const percentOfRange =\n (this.el.nativeElement.value - min) / (max - min);\n\n const valuePxPosition = percentOfRange * rect.width;\n const distFromCenter = valuePxPosition - center;\n const percentDistFromCenter = distFromCenter / center;\n\n const offset = percentDistFromCenter * halfThumbWidth;\n if (this.isRtl) {\n this.rangeBubbleComponent.left = this.el.nativeElement.offsetLeft + rect.width - valuePxPosition - halfLabelWidth + offset;\n } else {\n this.rangeBubbleComponent.left = valuePxPosition - halfLabelWidth - offset + this.el.nativeElement.offsetLeft;\n }\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent];\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-range.mjs","sources":["../../components/ecl-range/ecl-range-value.component.ts","../../components/ecl-range/ecl-range-value.component.html","../../components/ecl-range/ecl-range-bubble.component.ts","../../components/ecl-range/ecl-range-bubble.component.html","../../components/ecl-range/events/ecl-range.event.ts","../../components/ecl-range/ecl-range.directive.ts","../../components/ecl-range/ecl-range.module.ts","../../components/ecl-range/eui-ecl-components-ecl-range.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-range-value',\n templateUrl: './ecl-range-value.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclRangeValueComponent extends ECLBaseDirective {\n @Input() value: number;\n @Input() @HostBinding('attr.id') id: string;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range__value')].join(' ').trim();\n }\n}\n","{{ 'ecl.common.VALUE' | translate }}: <span class=\"ecl-range__value-current\"> {{ value }} </span>\n","import { Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n\tselector: 'ecl-range-bubble',\n\ttemplateUrl: './ecl-range-bubble.component.html',\n standalone: false,\n})\nexport class EclRangeBubbleComponent extends ECLBaseDirective {\n\t@Input() value: number;\n\n\t@HostBinding('class')\n\tget cssClasses(): string {\n\t\treturn [super.getCssClasses('ecl-range__bubble'),\n\t\tthis.isVisible ? 'ecl-range__bubble--visible': '',\n\t\t].join(' ').trim();\n\t}\n\n\t@HostBinding('style.left.px') left: number;\n\n\tisVisible = false;\n\n\tconstructor(public el: ElementRef) {\n\t\tsuper();\n\t}\n}\n","<span class=\"ecl-range__value-bubble\">{{value}}</span>","import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRangeEvent extends EclBaseEvent {\n constructor(public value: number) {\n super();\n }\n}","import { Directive,\n ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Optional, Output,\n Self, ViewContainerRef, booleanAttribute,ChangeDetectorRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRtlService } from '@eui/ecl/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\nimport { EclRangeEvent } from './events/ecl-range.event';\n\n@Directive({\n selector: 'input[eclRange]',\n standalone: false,\n})\nexport class EclRangeDirective extends ECLBaseDirective implements OnInit, OnDestroy {\n @Input() eclSize = 'm';\n @Input() value: string;\n @Input() rangeValueId: string;\n @Input({ transform: booleanAttribute }) isInvalid = false;\n @Input({ transform: booleanAttribute }) hasValueLabel = true;\n\n @Output() rangeChange = new EventEmitter<EclRangeEvent>();\n\n private rangeValueComponent: EclRangeValueComponent;\n private rangeBubbleComponent: EclRangeBubbleComponent;\n private isRtl = false;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(\n private viewContainerRef: ViewContainerRef,\n private el: ElementRef,\n private eclRtlService: EclRtlService,\n private cd: ChangeDetectorRef,\n @Optional() @Self() protected ngControl: NgControl,\n ) {\n super();\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-range'), this.eclSize ? `ecl-range--${this.eclSize}` : ''].join(' ').trim();\n }\n\n @HostBinding('class.ecl-range--invalid')\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid;\n }\n }\n\n @HostListener('input', ['$event'])\n onInput(evt: InputEvent): void {\n if (!this.ngControl) {\n const target = evt.target as HTMLInputElement;\n this.updateRangeValue(target.value);\n }\n }\n\n ngOnInit(): void {\n this.createRangeValueComponent();\n this.initializeRangeValueComponent();\n this.initializeEventListeners();\n this.observeReactiveFormValueChanges();\n this.handleRtlChangeState();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private createRangeValueComponent(): void {\n const componentRangeBubbleRef = this.viewContainerRef.createComponent(EclRangeBubbleComponent);\n const componentRangeValueRef = this.viewContainerRef.createComponent(EclRangeValueComponent);\n this.rangeBubbleComponent = componentRangeBubbleRef.instance;\n this.rangeValueComponent = componentRangeValueRef.instance;\n if (this.rangeValueId) {\n this.rangeValueComponent.id = this.rangeValueId;\n }\n }\n\n private initializeRangeValueComponent(): void {\n const initialValue = this.ngControl ? this.ngControl.value : this.value;\n this.updateRangeValue(initialValue);\n }\n\n private observeReactiveFormValueChanges(): void {\n this.ngControl?.valueChanges.pipe(distinctUntilChanged()).subscribe((value: string) => {\n this.updateRangeValue(value);\n });\n }\n\n private updateRangeValue(value: string): void {\n const numberValue = parseInt(value, 10);\n\n this.rangeBubbleComponent.value = numberValue;\n this.rangeValueComponent.value = numberValue;\n\n this.rangeChange.next(new EclRangeEvent(numberValue));\n }\n\n private initializeEventListeners(): void {\n const rangeElement = this.el.nativeElement;\n\n const mouseEnter$ = fromEvent(rangeElement, 'mouseenter');\n const mouseLeave$ = fromEvent(rangeElement, 'mouseleave');\n const rangeValueChange$ = fromEvent(rangeElement, 'input');\n\n mouseEnter$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = true;\n this.cd.detectChanges();\n this.recalculateBubblePosition();\n });\n\n rangeValueChange$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.recalculateBubblePosition();\n });\n\n mouseLeave$.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.rangeBubbleComponent.isVisible = false;\n });\n }\n\n private recalculateBubblePosition(): void {\n\n const halfThumbWidth = 8;\n const halfLabelWidth = this.rangeBubbleComponent.el.nativeElement.offsetWidth / 2;\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const center = rect.width / 2;\n\n const min = this.el.nativeElement.min ? this.el.nativeElement.min : 0;\n const max = this.el.nativeElement.max;\n const percentOfRange =\n (this.el.nativeElement.value - min) / (max - min);\n\n const valuePxPosition = percentOfRange * rect.width;\n const distFromCenter = valuePxPosition - center;\n const percentDistFromCenter = distFromCenter / center;\n\n const offset = percentDistFromCenter * halfThumbWidth;\n if (this.isRtl) {\n this.rangeBubbleComponent.left = this.el.nativeElement.offsetLeft + rect.width - valuePxPosition - halfLabelWidth + offset;\n } else {\n this.rangeBubbleComponent.left = valuePxPosition - halfLabelWidth - offset + this.el.nativeElement.offsetLeft;\n }\n }\n\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclRangeValueComponent } from './ecl-range-value.component';\nimport { EclRangeDirective } from './ecl-range.directive';\nimport { EclRangeBubbleComponent } from './ecl-range-bubble.component';\n\nconst COMPONENTS = [EclRangeDirective, EclRangeValueComponent, EclRangeBubbleComponent];\n\n@NgModule({\n imports: [CommonModule, TranslateModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;AAeM,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAIxD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;+GAN5D,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,qNCfnC,uGACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDca,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAEf,KAAK,EAAA,QAAA,EAAA,uGAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;8BAUR,KAAK,EAAA,CAAA;sBAAb;gBACgC,EAAE,EAAA,CAAA;sBAAlC;;sBAAS,WAAW;uBAAC,SAAS;gBAG3B,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;AEXlB,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAG5D,IAAA,IACI,UAAU,GAAA;AACb,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC;YAChD,IAAI,CAAC,SAAS,GAAG,4BAA4B,GAAE,EAAE;AAChD,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAOnB,IAAA,WAAA,CAAmB,EAAc,EAAA;AAChC,QAAA,KAAK,EAAE;QADW,IAAA,CAAA,EAAE,GAAF,EAAE;QAFrB,IAAA,CAAA,SAAS,GAAG,KAAK;;+GAZL,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,oNCRpC,0DAAsD,EAAA,CAAA,CAAA;;4FDQzC,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAEb,KAAK,EAAA,QAAA,EAAA,0DAAA,EAAA;+EAGX,KAAK,EAAA,CAAA;sBAAb;gBAGG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAOU,IAAI,EAAA,CAAA;sBAAjC,WAAW;uBAAC,eAAe;;;AEhBvB,MAAO,aAAc,SAAQ,YAAY,CAAA;AAC3C,IAAA,WAAA,CAAmB,KAAa,EAAA;AAC5B,QAAA,KAAK,EAAE;QADQ,IAAA,CAAA,KAAK,GAAL,KAAK;;AAG3B;;ACSK,MAAO,iBAAkB,SAAQ,gBAAgB,CAAA;IAcnD,WAAA,CACY,gBAAkC,EAClC,EAAc,EACd,aAA4B,EAC5B,EAAqB,EACC,SAAoB,EAAA;AAElD,QAAA,KAAK,EAAE;QANC,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,EAAE,GAAF,EAAE;QACF,IAAA,CAAA,aAAa,GAAb,aAAa;QACb,IAAA,CAAA,EAAE,GAAF,EAAE;QACoB,IAAA,CAAA,SAAS,GAAT,SAAS;QAlBlC,IAAA,CAAA,OAAO,GAAG,GAAG;QAGkB,IAAA,CAAA,SAAS,GAAI,KAAK;QAClB,IAAA,CAAA,aAAa,GAAG,IAAI;AAElD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAiB;QAIjD,IAAA,CAAA,KAAK,GAAG,KAAK;AACb,QAAA,IAAA,CAAA,QAAQ,GAAqB,IAAI,OAAO,EAAW;;AAY3D,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAGhH,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;;aACjE;YACH,OAAO,IAAI,CAAC,SAAS;;;AAK7B,IAAA,OAAO,CAAC,GAAe,EAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,MAA0B;AAC7C,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;;;IAI3C,QAAQ,GAAA;QACJ,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,6BAA6B,EAAE;QACpC,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,+BAA+B,EAAE;QACtC,IAAI,CAAC,oBAAoB,EAAE;;IAG/B,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;;IAGvB,oBAAoB,GAAA;QACxB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACtF,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ;AACzB,SAAC,CAAC;;IAGE,yBAAyB,GAAA;QAC7B,MAAM,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC;QAC9F,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,sBAAsB,CAAC;AAC5F,QAAA,IAAI,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,QAAQ;AAC5D,QAAA,IAAI,CAAC,mBAAmB,GAAG,sBAAsB,CAAC,QAAQ;AAC1D,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY;;;IAI/C,6BAA6B,GAAA;AACjC,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK;AACvE,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;;IAG/B,+BAA+B,GAAA;AACnC,QAAA,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,KAAa,KAAI;AAClF,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;AAChC,SAAC,CAAC;;AAGE,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAClC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AAEvC,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,WAAW;AAC7C,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,GAAG,WAAW;QAE5C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;;IAGjD,wBAAwB,GAAA;AAC5B,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa;QAE1C,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;QACzD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;QACzD,MAAM,iBAAiB,GAAG,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;AAExD,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACtD,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,IAAI;AAC1C,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,yBAAyB,EAAE;AACpC,SAAC,CAAC;AAEF,QAAA,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC5D,IAAI,CAAC,yBAAyB,EAAE;AAChC,SAAC,CAAC;AAEN,QAAA,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AACtD,YAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,GAAG,KAAK;AAC/C,SAAC,CAAC;;IAGA,yBAAyB,GAAA;QAE7B,MAAM,cAAc,GAAG,CAAC;AACxB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC;QAEjF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAC1D,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG;AACrC,QAAA,MAAM,cAAc,GAClB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC;AAEnD,QAAA,MAAM,eAAe,GAAG,cAAc,GAAG,IAAI,CAAC,KAAK;AACnD,QAAA,MAAM,cAAc,GAAG,eAAe,GAAG,MAAM;AAC/C,QAAA,MAAM,qBAAqB,GAAG,cAAc,GAAG,MAAM;AAErD,QAAA,MAAM,MAAM,GAAG,qBAAqB,GAAG,cAAc;AACrD,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM;;aACtH;AACJ,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU;;;+GA1I5G,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAIN,gBAAgB,CAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAChB,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAL3B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAoBQ;;0BAAY;yCAlBR,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACuC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBACE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAE5B,WAAW,EAAA,CAAA;sBAApB;gBAkBG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAMhB,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,0BAA0B;gBAUvC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;;;AC9CrC,MAAM,UAAU,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAC;MAO1E,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAAA,YAAA,EAAA,CAPP,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGxE,YAAY,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAHvB,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAOzE,cAAc,EAAA,OAAA,EAAA,CAJb,YAAY,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAI9B,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACxC,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAChC,iBAAA;;;ACbD;;AAEG;;;;"}
|
|
@@ -21,25 +21,48 @@ const ECL_RATINGFIELD_VALUE_ACCESSOR = {
|
|
|
21
21
|
const noop = () => {
|
|
22
22
|
/** empty */
|
|
23
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Component representing rating field, displayed with stars.
|
|
26
|
+
* Typically used when the user needs to evaluate something.
|
|
27
|
+
*/
|
|
24
28
|
class EclRatingFieldComponent extends ECLBaseDirective {
|
|
25
29
|
constructor() {
|
|
26
|
-
super();
|
|
30
|
+
super(...arguments);
|
|
31
|
+
/**
|
|
32
|
+
* Name of the radio group. Also used for creating id for each radio button.
|
|
33
|
+
*/
|
|
27
34
|
this.name = 'rating';
|
|
35
|
+
/**
|
|
36
|
+
* How many stars should the rating have.
|
|
37
|
+
*/
|
|
28
38
|
this.numberOfStars = 5;
|
|
39
|
+
/**
|
|
40
|
+
* The event to be emitted when rating is changed.
|
|
41
|
+
*/
|
|
29
42
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
43
|
this.ratingChange = new EventEmitter();
|
|
31
44
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
32
45
|
this.onChange = noop;
|
|
33
46
|
this.onTouched = noop;
|
|
34
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Array of numbers, from 1 to 'numberOfStars'
|
|
50
|
+
*/
|
|
35
51
|
get numbers() {
|
|
36
52
|
return Array(this.numberOfStars)
|
|
37
53
|
.fill(0)
|
|
38
54
|
.map((_, i) => this.numberOfStars - i);
|
|
39
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Applies the base class `ecl-rating-field` to the host element. Applies 'ecl-rating-field--disabled' class on condition.
|
|
58
|
+
*/
|
|
40
59
|
get cssClasses() {
|
|
41
60
|
return [super.getCssClasses('ecl-rating-field'), this.disabled ? 'ecl-rating-field--disabled' : ''].join(' ').trim();
|
|
42
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Method that sets the new rating and emit 'ratingChange' event, that includes the new rating number.
|
|
64
|
+
* @param rating - the new rating
|
|
65
|
+
*/
|
|
43
66
|
onRadioClick(rating) {
|
|
44
67
|
this.rating = rating;
|
|
45
68
|
this.onTouched();
|
|
@@ -47,9 +70,17 @@ class EclRatingFieldComponent extends ECLBaseDirective {
|
|
|
47
70
|
const evt = new EclRatingChangeEvent(rating);
|
|
48
71
|
this.ratingChange.next(evt);
|
|
49
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Informs the component of any changes in the parent (ControlValueAccessor). Sets the new value for the 'rating' property.
|
|
75
|
+
* @param value
|
|
76
|
+
*/
|
|
50
77
|
writeValue(value) {
|
|
51
78
|
this.rating = value;
|
|
52
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Disable/enable component.
|
|
82
|
+
* @param isDisabled
|
|
83
|
+
*/
|
|
53
84
|
setDisabledState(isDisabled) {
|
|
54
85
|
this.disabled = isDisabled || null;
|
|
55
86
|
}
|
|
@@ -61,13 +92,13 @@ class EclRatingFieldComponent extends ECLBaseDirective {
|
|
|
61
92
|
registerOnTouched(fn) {
|
|
62
93
|
this.onTouched = fn;
|
|
63
94
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclRatingFieldComponent, deps:
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclRatingFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
96
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: EclRatingFieldComponent, isStandalone: false, selector: "ecl-rating-field", inputs: { name: "name", numberOfStars: ["numberOfStars", "numberOfStars", numberAttribute], rating: ["rating", "rating", numberAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { ratingChange: "ratingChange" }, host: { properties: { "attr.disabled": "this.disabled", "class": "this.cssClasses" } }, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }] }); }
|
|
66
97
|
}
|
|
67
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: EclRatingFieldComponent, decorators: [{
|
|
68
99
|
type: Component,
|
|
69
100
|
args: [{ selector: 'ecl-rating-field', standalone: false, providers: [ECL_RATINGFIELD_VALUE_ACCESSOR], template: "@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n" }]
|
|
70
|
-
}],
|
|
101
|
+
}], propDecorators: { name: [{
|
|
71
102
|
type: Input
|
|
72
103
|
}], numberOfStars: [{
|
|
73
104
|
type: Input,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-rating-field.mjs","sources":["../../components/ecl-rating-field/events/ecl-rating-change.event.ts","../../components/ecl-rating-field/ecl-rating-field.component.ts","../../components/ecl-rating-field/ecl-rating-field.component.html","../../components/ecl-rating-field/ecl-rating-field.module.ts","../../components/ecl-rating-field/eui-ecl-components-ecl-rating-field.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}","import { booleanAttribute, Component, EventEmitter, forwardRef, HostBinding, Input, numberAttribute, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRatingChangeEvent } from './events/ecl-rating-change.event';\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n standalone: false,\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() name = 'rating';\n @Input({ transform: numberAttribute }) numberOfStars = 5;\n @Input({ transform: numberAttribute }) rating: number;\n
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-rating-field.mjs","sources":["../../components/ecl-rating-field/events/ecl-rating-change.event.ts","../../components/ecl-rating-field/ecl-rating-field.component.ts","../../components/ecl-rating-field/ecl-rating-field.component.html","../../components/ecl-rating-field/ecl-rating-field.module.ts","../../components/ecl-rating-field/eui-ecl-components-ecl-rating-field.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclRatingChangeEvent extends EclBaseEvent {\n constructor(public readonly value: number) {\n super();\n }\n}","import { booleanAttribute, Component, EventEmitter, forwardRef, HostBinding, Input, numberAttribute, Output, Provider } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclRatingChangeEvent } from './events/ecl-rating-change.event';\n\nexport const ECL_RATINGFIELD_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclRatingFieldComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty */\n};\n\n/**\n * Component representing rating field, displayed with stars.\n * Typically used when the user needs to evaluate something.\n */\n@Component({\n selector: 'ecl-rating-field',\n templateUrl: './ecl-rating-field.component.html',\n standalone: false,\n providers: [ECL_RATINGFIELD_VALUE_ACCESSOR],\n})\nexport class EclRatingFieldComponent extends ECLBaseDirective implements ControlValueAccessor {\n /**\n * Name of the radio group. Also used for creating id for each radio button.\n */\n @Input() name = 'rating';\n /**\n * How many stars should the rating have.\n */\n @Input({ transform: numberAttribute }) numberOfStars = 5;\n /**\n * The initial value, if any.\n */\n @Input({ transform: numberAttribute }) rating: number;\n /**\n * Can be used to set disabled status.\n */\n @Input({ transform: booleanAttribute })\n @HostBinding('attr.disabled')\n disabled: boolean;\n\n /**\n * The event to be emitted when rating is changed.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() ratingChange = new EventEmitter<any>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n private onTouched: () => void = noop;\n\n /**\n * Array of numbers, from 1 to 'numberOfStars'\n */\n get numbers(): Array<number> {\n return Array(this.numberOfStars)\n .fill(0)\n .map((_, i) => this.numberOfStars - i);\n }\n\n /**\n * Applies the base class `ecl-rating-field` to the host element. Applies 'ecl-rating-field--disabled' class on condition.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-rating-field'), this.disabled ? 'ecl-rating-field--disabled' : ''].join(' ').trim();\n }\n\n /**\n * Method that sets the new rating and emit 'ratingChange' event, that includes the new rating number.\n * @param rating - the new rating\n */\n onRadioClick(rating: number): void {\n this.rating = rating;\n this.onTouched();\n this.onChange(this.rating);\n\n const evt = new EclRatingChangeEvent(rating);\n this.ratingChange.next(evt);\n }\n\n /**\n * Informs the component of any changes in the parent (ControlValueAccessor). Sets the new value for the 'rating' property.\n * @param value \n */\n writeValue(value: number): void {\n this.rating = value;\n }\n\n /**\n * Disable/enable component.\n * @param isDisabled \n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = 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","@for(n of numbers;track n) {\n <input\n type=\"radio\"\n id=\"{{ name }}-{{ n }}\"\n [name]=\"name\"\n class=\"ecl-rating-field__input\"\n [value]=\"n\"\n required=\"\"\n [attr.checked]=\"rating === n ? true : undefined\"\n [attr.disabled]=\"disabled ? true : undefined\"\n (click)=\"onRadioClick(n)\" />\n <label class=\"ecl-rating-field__label\" for=\"{{ name }}-{{ n }}\">\n <span class=\"ecl-u-sr-only\">{{ n }} stars</span>\n <ecl-icon icon=\"star-filled\" class=\"ecl-rating-field__icon-filled\" size=\"l\"> </ecl-icon>\n <ecl-icon icon=\"star-outline\" class=\"ecl-rating-field__icon-outline\" size=\"l\"> </ecl-icon>\n </label>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclRatingFieldComponent } from './ecl-rating-field.component';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\n\nconst COMPONENTS = [EclRatingFieldComponent];\n\n@NgModule({\n imports: [CommonModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n})\nexport class EclRatingFieldModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAEM,MAAO,oBAAqB,SAAQ,YAAY,CAAA;AAClD,IAAA,WAAA,CAA4B,KAAa,EAAA;AACrC,QAAA,KAAK,EAAE;QADiB,IAAA,CAAA,KAAK,GAAL,KAAK;;AAGpC;;ACDM,MAAM,8BAA8B,GAAa;AACpD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,IAAA,KAAK,EAAE,IAAI;;AAGf,MAAM,IAAI,GAAG,MAAW;;AAExB,CAAC;AAED;;;AAGG;AAOG,MAAO,uBAAwB,SAAQ,gBAAgB,CAAA;AAN7D,IAAA,WAAA,GAAA;;AAOI;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,QAAQ;AACxB;;AAEG;QACoC,IAAA,CAAA,aAAa,GAAG,CAAC;AAYxD;;AAEG;;AAEO,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAO;;QAGxC,IAAA,CAAA,QAAQ,GAAqB,IAAI;QACjC,IAAA,CAAA,SAAS,GAAe,IAAI;AAyDvC;AAvDG;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa;aAC1B,IAAI,CAAC,CAAC;AACN,aAAA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;;AAG9C;;AAEE;AACF,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,4BAA4B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAGxH;;;AAGG;AACH,IAAA,YAAY,CAAC,MAAc,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;QACpB,IAAI,CAAC,SAAS,EAAE;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAE1B,QAAA,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC;AAC5C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;;AAG/B;;;AAGG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAGvB;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,IAAI,IAAI;;;AAItC,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;;AAItB,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;+GAnFd,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,IAAA,EAAA,MAAA,EAAA,aAAA,EAAA,CAAA,eAAA,EAAA,eAAA,EAQZ,eAAe,CAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAIf,eAAe,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAIf,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,eAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAlBzB,CAAC,8BAA8B,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvB/C,+tBAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDQa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAEhB,KAAK,EAAA,SAAA,EACN,CAAC,8BAA8B,CAAC,EAAA,QAAA,EAAA,+tBAAA,EAAA;8BAMlC,IAAI,EAAA,CAAA;sBAAZ;gBAIsC,aAAa,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAIE,MAAM,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAMrC,QAAQ,EAAA,CAAA;sBAFP,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBACrC,WAAW;uBAAC,eAAe;gBAOlB,YAAY,EAAA,CAAA;sBAArB;gBAmBG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;;;AE9DxB,MAAM,UAAU,GAAG,CAAC,uBAAuB,CAAC;MAO/B,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,iBAPb,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAG7B,YAAY,EAAE,aAAa,aAHrB,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAO9B,oBAAoB,EAAA,OAAA,EAAA,CAJnB,YAAY,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA;;4FAI5B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AACxB,oBAAA,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC;AAChC,iBAAA;;;ACXD;;AAEG;;;;"}
|
|
@@ -32,7 +32,13 @@ const ECL_SEARCH_FORM_VALUE_ACCESSOR = {
|
|
|
32
32
|
const noop = () => {
|
|
33
33
|
/** empty*/
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Component representing search field - input and button, in a responsive, styled layout.
|
|
37
|
+
*/
|
|
35
38
|
class EclSearchFormComponent extends ECLBaseDirective {
|
|
39
|
+
/**
|
|
40
|
+
* Applies the base class `ecl-search-form` to the host element.
|
|
41
|
+
*/
|
|
36
42
|
get cssClasses() {
|
|
37
43
|
return [super.getCssClasses('ecl-search-form')].join(' ').trim();
|
|
38
44
|
}
|
|
@@ -43,6 +49,9 @@ class EclSearchFormComponent extends ECLBaseDirective {
|
|
|
43
49
|
this.buttonExtraClassses = '';
|
|
44
50
|
this.inputExtraClassses = '';
|
|
45
51
|
this.role = 'search';
|
|
52
|
+
/**
|
|
53
|
+
* This event is emited, when user performs the search action. Includes the search text from the input field.
|
|
54
|
+
*/
|
|
46
55
|
// TODO: this output should be renamed in v20 - breaking change!
|
|
47
56
|
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
48
57
|
this.search = new EventEmitter();
|
|
@@ -51,14 +60,24 @@ class EclSearchFormComponent extends ECLBaseDirective {
|
|
|
51
60
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
52
61
|
this.onTouched = noop;
|
|
53
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Perform search when user clicks the search button. Emits the search event with the search text.
|
|
65
|
+
*/
|
|
54
66
|
onSearchClick(evt) {
|
|
55
67
|
this.search.next(new EclSearchFormEvent(this.searchInputText));
|
|
56
68
|
evt.preventDefault();
|
|
57
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Perform search when user clicks Enter when on the input field. Emits the search event with the search text.
|
|
72
|
+
*/
|
|
58
73
|
onEnterKeyDown(evt) {
|
|
59
74
|
this.search.next(new EclSearchFormEvent(this.searchInputText));
|
|
60
75
|
evt.preventDefault();
|
|
61
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Assigns the new input text value to the 'searchInputText' property, each time the input is changed.
|
|
79
|
+
* @param newValue
|
|
80
|
+
*/
|
|
62
81
|
onModelChange(newValue) {
|
|
63
82
|
this.searchInputText = newValue;
|
|
64
83
|
this.onChange(newValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-search-form.mjs","sources":["../../components/ecl-search-form/events/ecl-search-form.event.ts","../../components/ecl-search-form/ecl-search-form.component.ts","../../components/ecl-search-form/ecl-search-form.component.html","../../components/ecl-search-form/ecl-search-form.module.ts","../../components/ecl-search-form/eui-ecl-components-ecl-search-form.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n\tconstructor(public keyword: string) {\n\t\tsuper();\n\t}\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from './events/ecl-search-form.event';\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n standalone: false,\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n @Input() buttonExtraClassses = '';\n @Input() inputExtraClassses = '';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n constructor(protected eclThemeService: EclThemeService) {\n super();\n }\n\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n","<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'ghost': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-search-form__button {{buttonExtraClassses}}\">\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EclTextInputModule } from '@eui/ecl/components/ecl-text-input';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\nimport { EclFormLabelModule } from '@eui/ecl/components/ecl-form-label';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n EclButtonModule,\n EclIconModule,\n EclFormGroupModule,\n EclFormLabelModule,\n EclTextInputModule,\n FormsModule,\n ],\n exports: [EclSearchFormComponent],\n declarations: [EclSearchFormComponent],\n})\nexport class EclSearchFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAEM,MAAO,kBAAmB,SAAQ,YAAY,CAAA;AACnD,IAAA,WAAA,CAAmB,OAAe,EAAA;AACjC,QAAA,KAAK,EAAE;QADW,IAAO,CAAA,OAAA,GAAP,OAAO;;AAG1B;;ACSY,MAAA,8BAA8B,GAAa;AACpD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,IAAA,KAAK,EAAE,IAAI;;AAGf,MAAM,IAAI,GAAG,MAAW;;AAExB,CAAC;AAQK,MAAO,sBAAuB,SAAQ,gBAAgB,CAAA;AAQxD,IAAA,IACI,UAAU,GAAA;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;;AAcpE,IAAA,WAAA,CAAsB,eAAgC,EAAA;AAClD,QAAA,KAAK,EAAE;QADW,IAAe,CAAA,eAAA,GAAf,eAAe;QApB5B,IAAgB,CAAA,gBAAA,GAAG,QAAQ;QAC3B,IAAmB,CAAA,mBAAA,GAAG,EAAE;QACxB,IAAkB,CAAA,kBAAA,GAAG,EAAE;QAON,IAAI,CAAA,IAAA,GAAG,QAAQ;;;AAI/B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAsB;;QAGjD,IAAQ,CAAA,QAAA,GAAqB,IAAI;;QAEjC,IAAS,CAAA,SAAA,GAAqB,IAAI;;AAM1C,IAAA,aAAa,CAAC,GAAU,EAAA;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,GAAG,CAAC,cAAc,EAAE;;AAIxB,IAAA,cAAc,CAAC,GAAU,EAAA;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9D,GAAG,CAAC,cAAc,EAAE;;AAGxB,IAAA,aAAa,CAAC,QAAgB,EAAA;AAC1B,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;;;AAI3B,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;;;AAIhC,IAAA,gBAAgB,CAAC,EAAoB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;;;AAItB,IAAA,iBAAiB,CAAC,EAAoB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;+GAxDd,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAFpB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,8BAA8B,CAAC,iDC7B/C,kvBAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,SAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDca,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAEf,UAAA,EAAA,KAAK,EACN,SAAA,EAAA,CAAC,8BAA8B,CAAC,EAAA,QAAA,EAAA,kvBAAA,EAAA;oFAGlC,eAAe,EAAA,CAAA;sBAAvB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,iBAAiB,EAAA,CAAA;sBAAzB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,mBAAmB,EAAA,CAAA;sBAA3B;gBACQ,kBAAkB,EAAA,CAAA;sBAA1B;gBAGG,UAAU,EAAA,CAAA;sBADb,WAAW;uBAAC,OAAO;gBAKM,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAId,MAAM,EAAA,CAAA;sBAAf;gBAiBD,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;MEtChC,mBAAmB,CAAA;+GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAnB,mBAAmB,EAAA,YAAA,EAAA,CAFb,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAXjC,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;AAClB,YAAA,WAAW,aAEL,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAbxB,YAAY;YACZ,mBAAmB;YACnB,eAAe;YACf,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,kBAAkB;YAClB,WAAW,CAAA,EAAA,CAAA,CAAA;;4FAKN,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAf/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,eAAe;wBACf,eAAe;wBACf,aAAa;wBACb,kBAAkB;wBAClB,kBAAkB;wBAClB,kBAAkB;wBAClB,WAAW;AACd,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACzC,iBAAA;;;ACzBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-search-form.mjs","sources":["../../components/ecl-search-form/events/ecl-search-form.event.ts","../../components/ecl-search-form/ecl-search-form.component.ts","../../components/ecl-search-form/ecl-search-form.component.html","../../components/ecl-search-form/ecl-search-form.module.ts","../../components/ecl-search-form/eui-ecl-components-ecl-search-form.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\nexport class EclSearchFormEvent extends EclBaseEvent {\n\tconstructor(public keyword: string) {\n\t\tsuper();\n\t}\n}\n","import {\n Component,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EclSearchFormEvent } from './events/ecl-search-form.event';\n\nexport const ECL_SEARCH_FORM_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EclSearchFormComponent),\n multi: true,\n};\n\nconst noop = (): void => {\n /** empty*/\n};\n\n/**\n * Component representing search field - input and button, in a responsive, styled layout.\n */\n@Component({\n selector: 'ecl-search-form',\n templateUrl: 'ecl-search-form.component.html',\n standalone: false,\n providers: [ECL_SEARCH_FORM_VALUE_ACCESSOR],\n})\nexport class EclSearchFormComponent extends ECLBaseDirective implements ControlValueAccessor {\n /**\n * The current/default search text.\n */\n @Input() searchInputText: string;\n @Input() placeholder: string;\n @Input() searchButtonLabel: string;\n @Input() searchButtonIcon = 'search';\n @Input() buttonExtraClassses = '';\n @Input() inputExtraClassses = '';\n\n /**\n * Applies the base class `ecl-search-form` to the host element.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-search-form')].join(' ').trim();\n }\n\n @HostBinding('attr.role') role = 'search';\n\n /**\n * This event is emited, when user performs the search action. Includes the search text from the input field.\n */\n // TODO: this output should be renamed in v20 - breaking change!\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() search = new EventEmitter<EclSearchFormEvent>();\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: (_: any) => void = noop;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onTouched: (_: any) => void = noop;\n\n constructor(protected eclThemeService: EclThemeService) {\n super();\n }\n\n /**\n * Perform search when user clicks the search button. Emits the search event with the search text.\n */\n onSearchClick(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Perform search when user clicks Enter when on the input field. Emits the search event with the search text.\n */\n @HostListener('keydown.enter', ['$event'])\n onEnterKeyDown(evt: Event): void {\n this.search.next(new EclSearchFormEvent(this.searchInputText));\n evt.preventDefault();\n }\n\n /**\n * Assigns the new input text value to the 'searchInputText' property, each time the input is changed.\n * @param newValue \n */\n onModelChange(newValue: string): void {\n this.searchInputText = newValue;\n this.onChange(newValue);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.searchInputText = value;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: (_: any) => void): void {\n this.onTouched = fn;\n }\n}\n","<ecl-form-group>\n <input\n eclTextInput\n [(ngModel)]=\"searchInputText\"\n (ngModelChange)=\"onModelChange($event)\"\n type=\"search\"\n name=\"search-input\"\n placeholder=\"{{ placeholder || 'ecl.common.SEARCH' | translate }}\"\n class=\"ecl-search-form__text-input {{inputExtraClassses}}\" />\n</ecl-form-group>\n<button eclButton type=\"submit\" [variant]=\"eclThemeService.isECTheme() ? 'ghost': 'primary'\" (click)=\"onSearchClick($event)\"\n class=\"ecl-search-form__button {{buttonExtraClassses}}\">\n <ecl-icon [icon]=\"searchButtonIcon\" size=\"xs\"></ecl-icon>\n <span eclButtonLabel>\n {{ searchButtonLabel || 'ecl.common.SEARCH' | translate }}\n </span>\n</button>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclButtonModule } from '@eui/ecl/components/ecl-button';\nimport { EclFormGroupModule } from '@eui/ecl/components/ecl-form-group';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { EclTextInputModule } from '@eui/ecl/components/ecl-text-input';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclSearchFormComponent } from './ecl-search-form.component';\nimport { EclFormLabelModule } from '@eui/ecl/components/ecl-form-label';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n EclButtonModule,\n EclIconModule,\n EclFormGroupModule,\n EclFormLabelModule,\n EclTextInputModule,\n FormsModule,\n ],\n exports: [EclSearchFormComponent],\n declarations: [EclSearchFormComponent],\n})\nexport class EclSearchFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|