@eui/ecl 22.0.0-alpha.45 → 22.0.0-alpha.47
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/docs/changelog.html +60 -0
- package/docs/components/EclMenuItemComponent.html +203 -161
- package/docs/components/EclMenuMegaItemComponent.html +3 -3
- package/docs/interfaces/EclMenuItem.html +4 -4
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/documentation.json +152 -124
- package/docs/llms.txt +13 -7
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-accordion.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-add-to-calendar.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-animated-numbers.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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-block.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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-divider.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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-feedback-message.mjs.map +1 -1
- 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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-help-block.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-highlight-box.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-highlighted-search.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- 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-layout-wrapper.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 +67 -49
- 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-page-information.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-summary.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-quiz.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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-select.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-slogan-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-splash-page.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-spotlight.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-sticky-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-story-card.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.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-media.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/fesm2022/eui-ecl-shared.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-accordion.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-add-to-calendar.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-animated-numbers.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-app.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-blockquote.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-breadcrumb.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-button.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-block.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-date-block.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-date-picker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-divider.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-expandable.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-feedback-message.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file-upload.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-label.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-help-block.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-highlight-box.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-highlighted-search.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-label.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-layout-wrapper.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-link.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-loading-indicator.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +16 -11
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-notification.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-information.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-summary.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-quiz.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-range.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-select.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-footer.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-slogan-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-splash-page.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-spotlight.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-sticky-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-story-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-media.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tooltip.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts.map +1 -1
- package/types/eui-ecl-shared.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-slogan-ticker.mjs","sources":["../../components/ecl-slogan-ticker/ecl-slogan-ticker-slide.directive.ts","../../components/ecl-slogan-ticker/ecl-slogan-ticker.component.ts","../../components/ecl-slogan-ticker/ecl-slogan-ticker.component.html","../../components/ecl-slogan-ticker/ecl-slogan-ticker-list.directive.ts","../../components/ecl-slogan-ticker/index.ts","../../components/ecl-slogan-ticker/eui-ecl-components-ecl-slogan-ticker.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n inject,\n} from '@angular/core';\n\n/**\n * Directive marking a single slide item within the ECL Slogan Ticker.\n * Applied to `<li>` elements to identify them as ticker slides.\n *\n * The parent `ecl-slogan-ticker` component uses ContentChildren to query these\n * directives and clones them in the DOM to ensure seamless looping.\n *\n * Usage:\n * ```html\n * <li eclSloganTickerSlide>GENERATE YOUR OWN ENERGY</li>\n * ```\n */\n@Directive({\n selector: 'li[eclSloganTickerSlide]',\n host: {\n class: 'ecl-slogan-ticker__slide',\n },\n})\nexport class EclSloganTickerSlideDirective {\n\n /** Element reference for text extraction and width measurement. */\n el = inject(ElementRef);\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n signal,\n viewChild,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective, EclRtlService } from '@eui/ecl/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { EmblaCarouselDirective } from 'embla-carousel-angular';\nimport { EmblaCarouselType, EmblaEventType, EmblaPluginType } from 'embla-carousel';\nimport AutoScroll from 'embla-carousel-auto-scroll';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSloganTickerSlideDirective } from './ecl-slogan-ticker-slide.directive';\n\n/**\n * ECL Slogan Ticker component – renders a continuously auto-scrolling horizontal\n * ticker of slogan items. Supports play/pause controls, RTL layouts, and pauses\n * when off-screen via IntersectionObserver.\n *\n * Uses Embla Carousel (via embla-carousel-angular) with the auto-scroll plugin\n * to match the ECL vanilla implementation.\n *\n * ## Why two lists (hidden source + generated track)\n *\n * The consumer provides a plain, semantic list:\n *\n * ```html\n * <ecl-slogan-ticker>\n * <ul eclSloganTickerList>\n * <li eclSloganTickerSlide>SLOGAN ONE</li>\n * <li eclSloganTickerSlide>SLOGAN TWO</li>\n * </ul>\n * </ecl-slogan-ticker>\n * ```\n *\n * This authored `<ul eclSloganTickerList>` is NOT the list you see scrolling.\n * `EclSloganTickerListDirective` hides it with `display: none`, and it stays in\n * the light DOM as the single accessible source of truth. The component reads\n * the slide texts out of it via a `contentChildren` query (see `slides`) and\n * builds a SEPARATE, component-owned `<ul class=\"ecl-slogan-ticker__track\">`\n * from the `trackSlides` signal. That generated track is what Embla animates.\n *\n * Reasons for the split (rather than just scrolling the authored `<ul>`):\n *\n * - Seamless infinite loop needs more content than the author gives. The track\n * must be several times wider than the viewport or the loop visibly jumps, so\n * `ensureEnoughContent()` measures the originals and appends CLONE sets until\n * the total width reaches `CLONE_MULTIPLIER` × the container width.\n * - Clones must not pollute accessibility. The authored list stays the one\n * accessible list; every generated clone is rendered with `aria-hidden` so a\n * screen reader announces each slogan once, not once per clone.\n * - You cannot meaningfully grow the authored `<ul>`. Its `<li>` children are\n * Angular-projected content that Angular owns; imperatively appending clone\n * `<li>` nodes into it fights change detection. Building our own track signal\n * and letting `@for` render it is clean and safe. `<li>` is also only valid\n * inside a list element, so the `<ul eclSloganTickerList>` wrapper keeps the\n * consumer's authored markup valid and self-contained.\n *\n * This mirrors the vanilla ECL slogan ticker (hidden source list + measured,\n * cloned, auto-scrolling track).\n *\n * ## Testing note\n *\n * The visible track is only built after a real width measurement\n * (`offsetWidth`). Under jsdom every element reports a width of 0, so\n * `ensureEnoughContent()` bails early and the generated track stays empty. Unit\n * tests should therefore assert slide-driven behavior through its observable\n * effects (e.g. the play/pause controls appearing) rather than through the\n * generated track DOM.\n */\n@Component({\n selector: 'ecl-slogan-ticker',\n templateUrl: './ecl-slogan-ticker.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n imports: [\n TranslatePipe,\n ...EUI_ECL_ICON,\n EmblaCarouselDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclSloganTickerComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n\n /** Aria-label for the ticker region. */\n eclAriaLabel = input<string>('Slogan ticker');\n\n /** Embla carousel options. */\n protected emblaOptions: { loop: boolean; align: 'start'; dragFree: boolean; direction: 'ltr' | 'rtl' } = {\n loop: true,\n align: 'start',\n dragFree: true,\n direction: 'ltr',\n };\n\n /** Embla plugins array (auto-scroll). */\n protected emblaPlugins: EmblaPluginType[] = [];\n\n protected emblaRef = viewChild(EmblaCarouselDirective);\n protected playButton = viewChild<ElementRef>('playButton');\n protected pauseButton = viewChild<ElementRef>('pauseButton');\n protected viewportElement = viewChild<ElementRef>('viewport');\n private trackElement = viewChild<ElementRef>('track');\n\n /** Whether auto-scroll is currently playing. */\n protected isPlaying = signal(false);\n\n /** Whether the user explicitly paused. */\n protected isPaused = signal(false);\n\n /** Whether play/pause controls should be visible. */\n protected showControls = signal(false);\n\n /**\n * Array of slide texts used to render the track.\n * Contains the original slides plus clones for seamless looping.\n * Each item has `text` and `isClone` (for aria-hidden on duplicates).\n */\n protected trackSlides = signal<{ text: string; isClone: boolean }[]>([]);\n\n /** Subscribed Embla events. */\n protected subscribeToEvents: EmblaEventType[] = ['init', 'reInit'];\n\n /**\n * Slides read from the consumer's hidden `<ul eclSloganTickerList>` source\n * list. This is the DATA source only; the visible track is a separate,\n * component-generated list built from `trackSlides`. See the class-level\n * doc for why the authored list and the rendered track are kept separate.\n */\n private slides = contentChildren(EclSloganTickerSlideDirective, { descendants: true });\n private cd = inject(ChangeDetectorRef);\n private elementRef = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private platformId = inject(PLATFORM_ID);\n private destroy$ = new Subject<void>();\n private emblaApi: EmblaCarouselType | undefined;\n private visibilityObserver: IntersectionObserver | null = null;\n private readonly autoplay = true;\n private readonly autoScrollSpeed = 0.9;\n private readonly CLONE_MULTIPLIER = 3;\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-slogan-ticker'));\n\n constructor() {\n super();\n\n // React to slides changes\n effect(() => {\n this.showControls.set(this.slides().length >= 1);\n });\n\n // React to RTL changes\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((isRtl) => {\n const direction = isRtl ? 'rtl' : 'ltr';\n if (this.emblaOptions.direction !== direction) {\n this.emblaOptions = { ...this.emblaOptions, direction };\n this.buildPlugins(isRtl);\n this.cd.detectChanges();\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n this.buildPlugins();\n this.cd.detectChanges();\n\n setTimeout(() => {\n this.ensureEnoughContent();\n this.initEmbla();\n this.setupVisibilityObserver();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n this.visibilityObserver = null;\n }\n }\n\n /** Called by the emblaChange event from the directive. */\n protected onEmblaChange(eventName: string): void {\n if (!this.emblaApi) {\n this.emblaApi = this.emblaRef()?.emblaApi;\n }\n if (!this.emblaApi) {\n return;\n }\n\n if (eventName === 'init' || eventName === 'reInit') {\n if (this.autoplay && !this.isPaused()) {\n this.startAutoScroll();\n }\n }\n }\n\n /** Start the auto-scroll (play button click). */\n protected onPlayClick(): void {\n this.isPaused.set(false);\n this.startAutoScroll();\n this.pauseButton()?.nativeElement?.focus();\n }\n\n /** Pause the auto-scroll (pause button click). */\n protected onPauseClick(): void {\n this.isPaused.set(true);\n this.stopAutoScroll();\n this.playButton()?.nativeElement?.focus();\n }\n\n /** Start auto-scroll and update state. */\n private startAutoScroll(): void {\n this.isPlaying.set(true);\n const autoScroll = this.emblaApi?.plugins()?.autoScroll;\n (autoScroll as any)?.play();\n this.cd.detectChanges();\n }\n\n /** Stop auto-scroll and update state. */\n private stopAutoScroll(): void {\n this.isPlaying.set(false);\n const autoScroll = this.emblaApi?.plugins()?.autoScroll;\n (autoScroll as any)?.stop();\n this.cd.detectChanges();\n }\n\n /**\n * Clone slides until the track width exceeds 3× container width.\n * Mirrors the vanilla ECL `ensureEnoughContent()` logic.\n */\n private ensureEnoughContent(): void {\n const slides = this.slides();\n if (!slides || slides.length === 0) {\n this.trackSlides.set([]);\n return;\n }\n\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n if (containerWidth === 0) {\n return;\n }\n\n const originals = slides.map((slide) => ({\n text: slide.el.nativeElement.textContent?.trim() || '',\n isClone: false,\n }));\n\n // Render originals first to measure individual slide widths\n this.trackSlides.set(originals);\n this.cd.detectChanges();\n\n const track = this.trackElement()?.nativeElement;\n if (!track) {\n return;\n }\n\n // Measure each rendered slide's width\n const renderedSlides = track.querySelectorAll('.ecl-slogan-ticker__slide');\n const slideWidths: number[] = [];\n let totalWidth = 0;\n renderedSlides.forEach((el: Element) => {\n const width = (el as HTMLElement).offsetWidth;\n slideWidths.push(width);\n totalWidth += width;\n });\n\n if (totalWidth === 0) {\n return;\n }\n\n // Add clones in full sets until total width >= required width\n const requiredWidth = containerWidth * this.CLONE_MULTIPLIER;\n const allSlides = [...originals];\n\n while (totalWidth < requiredWidth) {\n for (let i = 0; i < originals.length; i++) {\n allSlides.push({ ...originals[i], isClone: true });\n totalWidth += slideWidths[i];\n }\n }\n\n this.trackSlides.set(allSlides);\n this.cd.detectChanges();\n }\n\n /** Build the auto-scroll plugin with current settings. */\n private buildPlugins(isRtl = this.emblaOptions.direction === 'rtl'): void {\n this.emblaPlugins = [\n AutoScroll({\n speed: this.autoScrollSpeed,\n startDelay: 0,\n stopOnInteraction: false,\n playOnInit: this.autoplay,\n direction: isRtl ? 'backward' : 'forward',\n }) as unknown as EmblaPluginType,\n ];\n }\n\n /** Initialize Embla API reference. */\n private initEmbla(): void {\n const embla = this.emblaRef();\n if (!embla) {\n return;\n }\n\n this.emblaApi = embla.emblaApi;\n\n if (!this.emblaApi) {\n return;\n }\n\n if (this.autoplay && !this.isPaused()) {\n this.startAutoScroll();\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Observe visibility to pause auto-scroll when the component is off-screen\n * and resume when it comes back into view.\n */\n private setupVisibilityObserver(): void {\n this.visibilityObserver = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) {\n if (!this.isPlaying() && !this.isPaused()) {\n this.startAutoScroll();\n }\n } else if (this.isPlaying()) {\n this.stopAutoScroll();\n }\n },\n { threshold: 0 },\n );\n\n this.visibilityObserver.observe(this.elementRef.nativeElement);\n }\n}\n","<div\n #viewport\n class=\"ecl-slogan-ticker__viewport\"\n [attr.aria-label]=\"eclAriaLabel()\"\n emblaCarousel\n [options]=\"emblaOptions\"\n [plugins]=\"emblaPlugins\"\n [subscribeToEvents]=\"subscribeToEvents\"\n (emblaChange)=\"onEmblaChange($event)\">\n\n <ul #track class=\"ecl-slogan-ticker__track\">\n @for (slide of trackSlides(); track $index) {\n <li class=\"ecl-slogan-ticker__slide\" [attr.aria-hidden]=\"slide.isClone ? true : null\">{{ slide.text }}</li>\n }\n </ul>\n</div>\n\n@if (showControls()) {\n<div class=\"ecl-slogan-ticker__controls\">\n <button\n #playButton\n class=\"ecl-button ecl-button--tertiary ecl-slogan-ticker__button ecl-slogan-ticker__play ecl-button--icon-only\"\n type=\"button\"\n [style.display]=\"isPlaying() ? 'none' : 'flex'\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.slogan-ticker.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play\" size=\"l\" iconSet=\"phosphor-fill\" class=\"ecl-button__icon\"></ecl-icon>\n </span>\n </button>\n\n <button\n #pauseButton\n class=\"ecl-button ecl-button--tertiary ecl-slogan-ticker__button ecl-slogan-ticker__pause ecl-button--icon-only\"\n type=\"button\"\n [style.display]=\"isPlaying() ? 'flex' : 'none'\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.slogan-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" iconSet=\"phosphor-fill\" size=\"l\" class=\"ecl-button__icon\"></ecl-icon>\n </span>\n </button>\n</div>\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive applied to the `<ul>` element wrapping slogan ticker slides.\n * Provides semantic structure for the ticker content.\n *\n * Usage:\n * ```html\n * <ecl-slogan-ticker>\n * <ul eclSloganTickerList>\n * <li eclSloganTickerSlide>Slide 1</li>\n * <li eclSloganTickerSlide>Slide 2</li>\n * </ul>\n * </ecl-slogan-ticker>\n * ```\n */\n@Directive({\n selector: 'ul[eclSloganTickerList]',\n host: {\n style: 'display: none',\n },\n})\nexport class EclSloganTickerListDirective {}\n","import { EclSloganTickerComponent } from './ecl-slogan-ticker.component';\nimport { EclSloganTickerListDirective } from './ecl-slogan-ticker-list.directive';\nimport { EclSloganTickerSlideDirective } from './ecl-slogan-ticker-slide.directive';\n\nexport * from './ecl-slogan-ticker.component';\nexport * from './ecl-slogan-ticker-list.directive';\nexport * from './ecl-slogan-ticker-slide.directive';\n\nexport const EUI_ECL_SLOGAN_TICKER = [\n EclSloganTickerComponent,\n EclSloganTickerListDirective,\n EclSloganTickerSlideDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAMA;;;;;;;;;;;AAWG;MAOU,6BAA6B,CAAA;AAN1C,IAAA,WAAA,GAAA;;AASI,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;AAC1B,IAAA;8GAJY,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,0BAA0B;AACpC,qBAAA;AACJ,iBAAA;;;ACGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AAcG,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AA8D1D,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;;QA5DX,IAAA,CAAA,YAAY,GAAG,KAAK,CAAS,eAAe;yFAAC;;AAGnC,QAAA,IAAA,CAAA,YAAY,GAAmF;AACrG,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,KAAK;SACnB;;QAGS,IAAA,CAAA,YAAY,GAAsB,EAAE;QAEpC,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAC,sBAAsB;qFAAC;QAC5C,IAAA,CAAA,UAAU,GAAG,SAAS,CAAa,YAAY;uFAAC;QAChD,IAAA,CAAA,WAAW,GAAG,SAAS,CAAa,aAAa;wFAAC;QAClD,IAAA,CAAA,eAAe,GAAG,SAAS,CAAa,UAAU;4FAAC;QACrD,IAAA,CAAA,YAAY,GAAG,SAAS,CAAa,OAAO;yFAAC;;QAG3C,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK;sFAAC;;QAGzB,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK;qFAAC;;QAGxB,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK;yFAAC;AAEtC;;;;AAIG;QACO,IAAA,CAAA,WAAW,GAAG,MAAM,CAAuC,EAAE;wFAAC;;AAG9D,QAAA,IAAA,CAAA,iBAAiB,GAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;AAElE;;;;;AAKG;QACK,IAAA,CAAA,MAAM,GAAG,eAAe,CAAC,6BAA6B,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAC9E,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ;QAE9B,IAAA,CAAA,kBAAkB,GAAgC,IAAI;QAC7C,IAAA,CAAA,QAAQ,GAAG,IAAI;QACf,IAAA,CAAA,eAAe,GAAG,GAAG;QACrB,IAAA,CAAA,gBAAgB,GAAG,CAAC;QAElB,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAS,MAC7C,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC;uFAAC;;QAMzC,MAAM,CAAC,MAAK;AACR,YAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;AACpD,QAAA,CAAC,CAAC;;QAGF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;YACnF,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;YACvC,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC3C,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE;AACvD,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACxB,gBAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;YAC3B;AACJ,QAAA,CAAC,CAAC;IACN;IAEA,eAAe,GAAA;QACX,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACrC;QACJ;QAEA,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;QAEvB,UAAU,CAAC,MAAK;YACZ,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,uBAAuB,EAAE;AAClC,QAAA,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAExB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;QAClC;IACJ;;AAGU,IAAA,aAAa,CAAC,SAAiB,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ;QAC7C;AACA,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;QAEA,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;YAChD,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACnC,IAAI,CAAC,eAAe,EAAE;YAC1B;QACJ;IACJ;;IAGU,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;IAC9C;;IAGU,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;IAC7C;;IAGQ,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU;QACtD,UAAkB,EAAE,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;IAC3B;;IAGQ,cAAc,GAAA;AAClB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,UAAU;QACtD,UAAkB,EAAE,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;IAC3B;AAEA;;;AAGG;IACK,mBAAmB,GAAA;AACvB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB;QACJ;QAEA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW;AAChE,QAAA,IAAI,cAAc,KAAK,CAAC,EAAE;YACtB;QACJ;QAEA,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;AACrC,YAAA,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;AACtD,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;QAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa;QAChD,IAAI,CAAC,KAAK,EAAE;YACR;QACJ;;QAGA,MAAM,cAAc,GAAG,KAAK,CAAC,gBAAgB,CAAC,2BAA2B,CAAC;QAC1E,MAAM,WAAW,GAAa,EAAE;QAChC,IAAI,UAAU,GAAG,CAAC;AAClB,QAAA,cAAc,CAAC,OAAO,CAAC,CAAC,EAAW,KAAI;AACnC,YAAA,MAAM,KAAK,GAAI,EAAkB,CAAC,WAAW;AAC7C,YAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YACvB,UAAU,IAAI,KAAK;AACvB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,UAAU,KAAK,CAAC,EAAE;YAClB;QACJ;;AAGA,QAAA,MAAM,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB;AAC5D,QAAA,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;AAEhC,QAAA,OAAO,UAAU,GAAG,aAAa,EAAE;AAC/B,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,gBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAClD,gBAAA,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC;YAChC;QACJ;AAEA,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC;AAC/B,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;IAC3B;;IAGQ,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,KAAK,KAAK,EAAA;QAC9D,IAAI,CAAC,YAAY,GAAG;AAChB,YAAA,UAAU,CAAC;gBACP,KAAK,EAAE,IAAI,CAAC,eAAe;AAC3B,gBAAA,UAAU,EAAE,CAAC;AACb,gBAAA,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,IAAI,CAAC,QAAQ;gBACzB,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS;aAC5C,CAA+B;SACnC;IACL;;IAGQ,SAAS,GAAA;AACb,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC7B,IAAI,CAAC,KAAK,EAAE;YACR;QACJ;AAEA,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAE9B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB;QACJ;QAEA,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACnC,IAAI,CAAC,eAAe,EAAE;QAC1B;AAEA,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;IAC3B;AAEA;;;AAGG;IACK,uBAAuB,GAAA;QAC3B,IAAI,CAAC,kBAAkB,GAAG,IAAI,oBAAoB,CAC9C,CAAC,CAAC,KAAK,CAAC,KAAI;AACR,YAAA,IAAI,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACvC,IAAI,CAAC,eAAe,EAAE;gBAC1B;YACJ;AAAO,iBAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;gBACzB,IAAI,CAAC,cAAc,EAAE;YACzB;AACJ,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,CAAC,EAAE,CACnB;QAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IAClE;8GAvQS,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EA+CA,6BAA6B,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA/B/B,sBAAsB,qgBC/GzD,2yDAgDA,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,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED2CQ,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAFtB,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAMR,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,IAAA,EAEvB;AACF,wBAAA,SAAS,EAAE,cAAc;qBAC5B,EAAA,OAAA,EACQ;wBACL,aAAa;AACb,wBAAA,GAAG,YAAY;wBACf,sBAAsB;qBACzB,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2yDAAA,EAAA;AAkBhB,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,sBAAsB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACR,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACX,aAAa,yEACT,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACf,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MA2BnB,6BAA6B,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE5IzF;;;;;;;;;;;;;AAaG;MAOU,4BAA4B,CAAA;8GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,eAAe;AACzB,qBAAA;AACJ,iBAAA;;;ACbM,MAAM,qBAAqB,GAAG;IACjC,wBAAwB;IACxB,4BAA4B;IAC5B,6BAA6B;;;ACXjC;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-slogan-ticker.mjs","sources":["../../components/ecl-slogan-ticker/ecl-slogan-ticker-slide.directive.ts","../../components/ecl-slogan-ticker/ecl-slogan-ticker.component.ts","../../components/ecl-slogan-ticker/ecl-slogan-ticker.component.html","../../components/ecl-slogan-ticker/ecl-slogan-ticker-list.directive.ts","../../components/ecl-slogan-ticker/index.ts","../../components/ecl-slogan-ticker/eui-ecl-components-ecl-slogan-ticker.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n inject,\n} from '@angular/core';\n\n/**\n * Directive marking a single slide item within the ECL Slogan Ticker.\n * Applied to `<li>` elements to identify them as ticker slides.\n *\n * The parent `ecl-slogan-ticker` component uses ContentChildren to query these\n * directives and clones them in the DOM to ensure seamless looping.\n *\n * Usage:\n * ```html\n * <li eclSloganTickerSlide>GENERATE YOUR OWN ENERGY</li>\n * ```\n */\n@Directive({\n selector: 'li[eclSloganTickerSlide]',\n host: {\n class: 'ecl-slogan-ticker__slide',\n },\n})\nexport class EclSloganTickerSlideDirective {\n\n /** Element reference for text extraction and width measurement. */\n el = inject(ElementRef);\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n computed,\n contentChildren,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n signal,\n viewChild,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { ECLBaseDirective, EclRtlService } from '@eui/ecl/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { EmblaCarouselDirective } from 'embla-carousel-angular';\nimport { EmblaCarouselType, EmblaEventType, EmblaPluginType } from 'embla-carousel';\nimport AutoScroll from 'embla-carousel-auto-scroll';\nimport { Subject, takeUntil } from 'rxjs';\nimport { EclSloganTickerSlideDirective } from './ecl-slogan-ticker-slide.directive';\n\n/**\n * ECL Slogan Ticker component – renders a continuously auto-scrolling horizontal\n * ticker of slogan items. Supports play/pause controls, RTL layouts, and pauses\n * when off-screen via IntersectionObserver.\n *\n * Uses Embla Carousel (via embla-carousel-angular) with the auto-scroll plugin\n * to match the ECL vanilla implementation.\n *\n * ## Why two lists (hidden source + generated track)\n *\n * The consumer provides a plain, semantic list:\n *\n * ```html\n * <ecl-slogan-ticker>\n * <ul eclSloganTickerList>\n * <li eclSloganTickerSlide>SLOGAN ONE</li>\n * <li eclSloganTickerSlide>SLOGAN TWO</li>\n * </ul>\n * </ecl-slogan-ticker>\n * ```\n *\n * This authored `<ul eclSloganTickerList>` is NOT the list you see scrolling.\n * `EclSloganTickerListDirective` hides it with `display: none`, and it stays in\n * the light DOM as the single accessible source of truth. The component reads\n * the slide texts out of it via a `contentChildren` query (see `slides`) and\n * builds a SEPARATE, component-owned `<ul class=\"ecl-slogan-ticker__track\">`\n * from the `trackSlides` signal. That generated track is what Embla animates.\n *\n * Reasons for the split (rather than just scrolling the authored `<ul>`):\n *\n * - Seamless infinite loop needs more content than the author gives. The track\n * must be several times wider than the viewport or the loop visibly jumps, so\n * `ensureEnoughContent()` measures the originals and appends CLONE sets until\n * the total width reaches `CLONE_MULTIPLIER` × the container width.\n * - Clones must not pollute accessibility. The authored list stays the one\n * accessible list; every generated clone is rendered with `aria-hidden` so a\n * screen reader announces each slogan once, not once per clone.\n * - You cannot meaningfully grow the authored `<ul>`. Its `<li>` children are\n * Angular-projected content that Angular owns; imperatively appending clone\n * `<li>` nodes into it fights change detection. Building our own track signal\n * and letting `@for` render it is clean and safe. `<li>` is also only valid\n * inside a list element, so the `<ul eclSloganTickerList>` wrapper keeps the\n * consumer's authored markup valid and self-contained.\n *\n * This mirrors the vanilla ECL slogan ticker (hidden source list + measured,\n * cloned, auto-scrolling track).\n *\n * ## Testing note\n *\n * The visible track is only built after a real width measurement\n * (`offsetWidth`). Under jsdom every element reports a width of 0, so\n * `ensureEnoughContent()` bails early and the generated track stays empty. Unit\n * tests should therefore assert slide-driven behavior through its observable\n * effects (e.g. the play/pause controls appearing) rather than through the\n * generated track DOM.\n */\n@Component({\n selector: 'ecl-slogan-ticker',\n templateUrl: './ecl-slogan-ticker.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n imports: [\n TranslatePipe,\n ...EUI_ECL_ICON,\n EmblaCarouselDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EclSloganTickerComponent extends ECLBaseDirective implements AfterViewInit, OnDestroy {\n\n /** Aria-label for the ticker region. */\n eclAriaLabel = input<string>('Slogan ticker');\n\n /** Embla carousel options. */\n protected emblaOptions: { loop: boolean; align: 'start'; dragFree: boolean; direction: 'ltr' | 'rtl' } = {\n loop: true,\n align: 'start',\n dragFree: true,\n direction: 'ltr',\n };\n\n /** Embla plugins array (auto-scroll). */\n protected emblaPlugins: EmblaPluginType[] = [];\n\n protected emblaRef = viewChild(EmblaCarouselDirective);\n protected playButton = viewChild<ElementRef>('playButton');\n protected pauseButton = viewChild<ElementRef>('pauseButton');\n protected viewportElement = viewChild<ElementRef>('viewport');\n private trackElement = viewChild<ElementRef>('track');\n\n /** Whether auto-scroll is currently playing. */\n protected isPlaying = signal(false);\n\n /** Whether the user explicitly paused. */\n protected isPaused = signal(false);\n\n /** Whether play/pause controls should be visible. */\n protected showControls = signal(false);\n\n /**\n * Array of slide texts used to render the track.\n * Contains the original slides plus clones for seamless looping.\n * Each item has `text` and `isClone` (for aria-hidden on duplicates).\n */\n protected trackSlides = signal<{ text: string; isClone: boolean }[]>([]);\n\n /** Subscribed Embla events. */\n protected subscribeToEvents: EmblaEventType[] = ['init', 'reInit'];\n\n /**\n * Slides read from the consumer's hidden `<ul eclSloganTickerList>` source\n * list. This is the DATA source only; the visible track is a separate,\n * component-generated list built from `trackSlides`. See the class-level\n * doc for why the authored list and the rendered track are kept separate.\n */\n private slides = contentChildren(EclSloganTickerSlideDirective, { descendants: true });\n private cd = inject(ChangeDetectorRef);\n private elementRef = inject(ElementRef);\n private eclRtlService = inject(EclRtlService);\n private platformId = inject(PLATFORM_ID);\n private destroy$ = new Subject<void>();\n private emblaApi: EmblaCarouselType | undefined;\n private visibilityObserver: IntersectionObserver | null = null;\n private readonly autoplay = true;\n private readonly autoScrollSpeed = 0.9;\n private readonly CLONE_MULTIPLIER = 3;\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-slogan-ticker'));\n\n constructor() {\n super();\n\n // React to slides changes\n effect(() => {\n this.showControls.set(this.slides().length >= 1);\n });\n\n // React to RTL changes\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((isRtl) => {\n const direction = isRtl ? 'rtl' : 'ltr';\n if (this.emblaOptions.direction !== direction) {\n this.emblaOptions = { ...this.emblaOptions, direction };\n this.buildPlugins(isRtl);\n this.cd.detectChanges();\n }\n });\n }\n\n ngAfterViewInit(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n this.buildPlugins();\n this.cd.detectChanges();\n\n setTimeout(() => {\n this.ensureEnoughContent();\n this.initEmbla();\n this.setupVisibilityObserver();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n this.visibilityObserver = null;\n }\n }\n\n /** Called by the emblaChange event from the directive. */\n protected onEmblaChange(eventName: string): void {\n if (!this.emblaApi) {\n this.emblaApi = this.emblaRef()?.emblaApi;\n }\n if (!this.emblaApi) {\n return;\n }\n\n if (eventName === 'init' || eventName === 'reInit') {\n if (this.autoplay && !this.isPaused()) {\n this.startAutoScroll();\n }\n }\n }\n\n /** Start the auto-scroll (play button click). */\n protected onPlayClick(): void {\n this.isPaused.set(false);\n this.startAutoScroll();\n this.pauseButton()?.nativeElement?.focus();\n }\n\n /** Pause the auto-scroll (pause button click). */\n protected onPauseClick(): void {\n this.isPaused.set(true);\n this.stopAutoScroll();\n this.playButton()?.nativeElement?.focus();\n }\n\n /** Start auto-scroll and update state. */\n private startAutoScroll(): void {\n this.isPlaying.set(true);\n const autoScroll = this.emblaApi?.plugins()?.autoScroll;\n (autoScroll as any)?.play();\n this.cd.detectChanges();\n }\n\n /** Stop auto-scroll and update state. */\n private stopAutoScroll(): void {\n this.isPlaying.set(false);\n const autoScroll = this.emblaApi?.plugins()?.autoScroll;\n (autoScroll as any)?.stop();\n this.cd.detectChanges();\n }\n\n /**\n * Clone slides until the track width exceeds 3× container width.\n * Mirrors the vanilla ECL `ensureEnoughContent()` logic.\n */\n private ensureEnoughContent(): void {\n const slides = this.slides();\n if (!slides || slides.length === 0) {\n this.trackSlides.set([]);\n return;\n }\n\n const containerWidth = this.elementRef.nativeElement.offsetWidth;\n if (containerWidth === 0) {\n return;\n }\n\n const originals = slides.map((slide) => ({\n text: slide.el.nativeElement.textContent?.trim() || '',\n isClone: false,\n }));\n\n // Render originals first to measure individual slide widths\n this.trackSlides.set(originals);\n this.cd.detectChanges();\n\n const track = this.trackElement()?.nativeElement;\n if (!track) {\n return;\n }\n\n // Measure each rendered slide's width\n const renderedSlides = track.querySelectorAll('.ecl-slogan-ticker__slide');\n const slideWidths: number[] = [];\n let totalWidth = 0;\n renderedSlides.forEach((el: Element) => {\n const width = (el as HTMLElement).offsetWidth;\n slideWidths.push(width);\n totalWidth += width;\n });\n\n if (totalWidth === 0) {\n return;\n }\n\n // Add clones in full sets until total width >= required width\n const requiredWidth = containerWidth * this.CLONE_MULTIPLIER;\n const allSlides = [...originals];\n\n while (totalWidth < requiredWidth) {\n for (let i = 0; i < originals.length; i++) {\n allSlides.push({ ...originals[i], isClone: true });\n totalWidth += slideWidths[i];\n }\n }\n\n this.trackSlides.set(allSlides);\n this.cd.detectChanges();\n }\n\n /** Build the auto-scroll plugin with current settings. */\n private buildPlugins(isRtl = this.emblaOptions.direction === 'rtl'): void {\n this.emblaPlugins = [\n AutoScroll({\n speed: this.autoScrollSpeed,\n startDelay: 0,\n stopOnInteraction: false,\n playOnInit: this.autoplay,\n direction: isRtl ? 'backward' : 'forward',\n }) as unknown as EmblaPluginType,\n ];\n }\n\n /** Initialize Embla API reference. */\n private initEmbla(): void {\n const embla = this.emblaRef();\n if (!embla) {\n return;\n }\n\n this.emblaApi = embla.emblaApi;\n\n if (!this.emblaApi) {\n return;\n }\n\n if (this.autoplay && !this.isPaused()) {\n this.startAutoScroll();\n }\n\n this.cd.detectChanges();\n }\n\n /**\n * Observe visibility to pause auto-scroll when the component is off-screen\n * and resume when it comes back into view.\n */\n private setupVisibilityObserver(): void {\n this.visibilityObserver = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) {\n if (!this.isPlaying() && !this.isPaused()) {\n this.startAutoScroll();\n }\n } else if (this.isPlaying()) {\n this.stopAutoScroll();\n }\n },\n { threshold: 0 },\n );\n\n this.visibilityObserver.observe(this.elementRef.nativeElement);\n }\n}\n","<div\n #viewport\n class=\"ecl-slogan-ticker__viewport\"\n [attr.aria-label]=\"eclAriaLabel()\"\n emblaCarousel\n [options]=\"emblaOptions\"\n [plugins]=\"emblaPlugins\"\n [subscribeToEvents]=\"subscribeToEvents\"\n (emblaChange)=\"onEmblaChange($event)\">\n\n <ul #track class=\"ecl-slogan-ticker__track\">\n @for (slide of trackSlides(); track $index) {\n <li class=\"ecl-slogan-ticker__slide\" [attr.aria-hidden]=\"slide.isClone ? true : null\">{{ slide.text }}</li>\n }\n </ul>\n</div>\n\n@if (showControls()) {\n<div class=\"ecl-slogan-ticker__controls\">\n <button\n #playButton\n class=\"ecl-button ecl-button--tertiary ecl-slogan-ticker__button ecl-slogan-ticker__play ecl-button--icon-only\"\n type=\"button\"\n [style.display]=\"isPlaying() ? 'none' : 'flex'\"\n (click)=\"onPlayClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.slogan-ticker.PLAY' | translate }}\n </span>\n <ecl-icon icon=\"play\" size=\"l\" iconSet=\"phosphor-fill\" class=\"ecl-button__icon\"></ecl-icon>\n </span>\n </button>\n\n <button\n #pauseButton\n class=\"ecl-button ecl-button--tertiary ecl-slogan-ticker__button ecl-slogan-ticker__pause ecl-button--icon-only\"\n type=\"button\"\n [style.display]=\"isPlaying() ? 'flex' : 'none'\"\n (click)=\"onPauseClick()\">\n <span class=\"ecl-button__container\">\n <span class=\"ecl-button__label\">\n {{ 'ecl.slogan-ticker.PAUSE' | translate }}\n </span>\n <ecl-icon icon=\"pause\" iconSet=\"phosphor-fill\" size=\"l\" class=\"ecl-button__icon\"></ecl-icon>\n </span>\n </button>\n</div>\n}\n","import { Directive } from '@angular/core';\n\n/**\n * Directive applied to the `<ul>` element wrapping slogan ticker slides.\n * Provides semantic structure for the ticker content.\n *\n * Usage:\n * ```html\n * <ecl-slogan-ticker>\n * <ul eclSloganTickerList>\n * <li eclSloganTickerSlide>Slide 1</li>\n * <li eclSloganTickerSlide>Slide 2</li>\n * </ul>\n * </ecl-slogan-ticker>\n * ```\n */\n@Directive({\n selector: 'ul[eclSloganTickerList]',\n host: {\n style: 'display: none',\n },\n})\nexport class EclSloganTickerListDirective {}\n","import { EclSloganTickerComponent } from './ecl-slogan-ticker.component';\nimport { EclSloganTickerListDirective } from './ecl-slogan-ticker-list.directive';\nimport { EclSloganTickerSlideDirective } from './ecl-slogan-ticker-slide.directive';\n\nexport * from './ecl-slogan-ticker.component';\nexport * from './ecl-slogan-ticker-list.directive';\nexport * from './ecl-slogan-ticker-slide.directive';\n\nexport const EUI_ECL_SLOGAN_TICKER = [\n EclSloganTickerComponent,\n EclSloganTickerListDirective,\n EclSloganTickerSlideDirective,\n] as const;\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-social-media-follow.mjs","sources":["../../components/ecl-social-media-follow/ecl-social-media-follow.component.ts","../../components/ecl-social-media-follow/ecl-social-media-follow.component.html","../../components/ecl-social-media-follow/ecl-social-media-follow-item.component.ts","../../components/ecl-social-media-follow/ecl-social-media-follow-item.component.html","../../components/ecl-social-media-follow/ecl-social-media-follow-link.directive.ts","../../components/ecl-social-media-follow/index.ts","../../components/ecl-social-media-follow/eui-ecl-components-ecl-social-media-follow.ts"],"sourcesContent":["import { Component, booleanAttribute, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-social-media-follow',\n templateUrl: './ecl-social-media-follow.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowComponent extends ECLBaseDirective {\n readonly description = input<string>(undefined);\n readonly isIconOnly = input(false, { transform: booleanAttribute });\n readonly isVertical = input(false, { transform: booleanAttribute });\n readonly horizontalAlignment = input<'right' | 'left' | string>('left');\n\n protected readonly cssClasses = computed<string>(() =>\n [\n super.getCssClasses('ecl-social-media-follow'),\n this.isVertical() ? 'ecl-social-media-follow--vertical' : '',\n `ecl-social-media-follow--${this.horizontalAlignment()}`,\n ]\n .join(' ')\n .trim());\n}\n","@if (description()) {\n <p class=\"ecl-social-media-follow__description\">{{ description() }}</p>\n}\n<ul class=\"ecl-social-media-follow__list\">\n <ng-content></ng-content>\n</ul>\n","import { booleanAttribute, Component, computed, inject, input, output } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EclIconSet, EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\n\nexport class EclSocialMediaFollowItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-follow-item',\n templateUrl: './ecl-social-media-follow-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_LINK, NgTemplateOutlet, RouterLink, RouterLinkWithHref],\n host: {\n role: 'listitem',\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowItemComponent extends ECLBaseDirective {\n readonly isInverted = input(false, { transform: booleanAttribute });\n icon = input<string>();\n iconSet = input<EclIconSet>('social-media');\n readonly href = input('');\n readonly routerLink = input('');\n readonly target = input<string>(undefined);\n readonly size = input('m');\n readonly extraAttributes = input<{\n name: string;\n value?: string | null;\n }[]>(undefined);\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-social-media-follow__item'));\n\n readonly itemClick = output<EclSocialMediaFollowItemClickEvent>();\n\n private parent = inject(EclSocialMediaFollowComponent);\n\n get isIconOnly(): boolean {\n return this.parent?.isIconOnly() ?? false;\n }\n\n onItemClick(evt: Event): void {\n this.itemClick.emit(new EclSocialMediaFollowItemClickEvent());\n if (!this.href() && !this.routerLink()) {\n evt.preventDefault();\n }\n }\n}\n","@if(href()) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [href]=\"href()\" [attr.target]=\"target()\"\n class=\"ecl-social-media-follow__link\" [isInverted]=\"isInverted()\" [isIconOnly]=\"isIconOnly\" [extraAttributes]=\"extraAttributes()\">\n @if(icon()) {\n <ecl-icon [iconSet]=\"iconSet()\" icon=\"{{ icon() }}\" [size]=\"size()\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href() && routerLink()) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [routerLink]=\"routerLink()\" [attr.target]=\"target()\"\n class=\"ecl-social-media-follow__link\" [isInverted]=\"isInverted()\" [isIconOnly]=\"isIconOnly\" [extraAttributes]=\"extraAttributes()\">\n @if(icon()) {\n <ecl-icon [iconSet]=\"iconSet()\" icon=\"{{ icon() }}\" [size]=\"size()\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href() && !routerLink()) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { computed, Directive, contentChild, effect } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n@Directive({\n selector: '[eclSocialMediaFollowLink]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowLinkDirective extends ECLBaseDirective {\n readonly eclIcon = contentChild(EclIconComponent);\n\n constructor() {\n super();\n // Add the icon modifier class to a projected icon reactively.\n effect(() => {\n this.eclIcon()?.addExtraClass('ecl-social-media-follow__icon');\n });\n }\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-social-media-follow__link'));\n}\n","import { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\nimport { EclSocialMediaFollowItemComponent } from './ecl-social-media-follow-item.component';\nimport { EclSocialMediaFollowLinkDirective } from './ecl-social-media-follow-link.directive';\n\nexport * from './ecl-social-media-follow.component';\nexport * from './ecl-social-media-follow-item.component';\nexport * from './ecl-social-media-follow-link.directive';\n\nexport const EUI_ECL_SOCIAL_MEDIA_FOLLOW = [\n EclSocialMediaFollowComponent,\n EclSocialMediaFollowItemComponent,\n EclSocialMediaFollowLinkDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-social-media-follow.mjs","sources":["../../components/ecl-social-media-follow/ecl-social-media-follow.component.ts","../../components/ecl-social-media-follow/ecl-social-media-follow.component.html","../../components/ecl-social-media-follow/ecl-social-media-follow-item.component.ts","../../components/ecl-social-media-follow/ecl-social-media-follow-item.component.html","../../components/ecl-social-media-follow/ecl-social-media-follow-link.directive.ts","../../components/ecl-social-media-follow/index.ts","../../components/ecl-social-media-follow/eui-ecl-components-ecl-social-media-follow.ts"],"sourcesContent":["import { Component, booleanAttribute, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Component({\n selector: 'ecl-social-media-follow',\n templateUrl: './ecl-social-media-follow.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowComponent extends ECLBaseDirective {\n readonly description = input<string>(undefined);\n readonly isIconOnly = input(false, { transform: booleanAttribute });\n readonly isVertical = input(false, { transform: booleanAttribute });\n readonly horizontalAlignment = input<'right' | 'left' | string>('left');\n\n protected readonly cssClasses = computed<string>(() =>\n [\n super.getCssClasses('ecl-social-media-follow'),\n this.isVertical() ? 'ecl-social-media-follow--vertical' : '',\n `ecl-social-media-follow--${this.horizontalAlignment()}`,\n ]\n .join(' ')\n .trim());\n}\n","@if (description()) {\n <p class=\"ecl-social-media-follow__description\">{{ description() }}</p>\n}\n<ul class=\"ecl-social-media-follow__list\">\n <ng-content></ng-content>\n</ul>\n","import { booleanAttribute, Component, computed, inject, input, output } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EclIconSet, EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';\nimport { RouterLink, RouterLinkWithHref } from '@angular/router';\nimport { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\n\nexport class EclSocialMediaFollowItemClickEvent extends EclBaseEvent {}\n\n@Component({\n selector: 'ecl-social-media-follow-item',\n templateUrl: './ecl-social-media-follow-item.component.html',\n imports: [...EUI_ECL_ICON, ...EUI_ECL_LINK, NgTemplateOutlet, RouterLink, RouterLinkWithHref],\n host: {\n role: 'listitem',\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowItemComponent extends ECLBaseDirective {\n readonly isInverted = input(false, { transform: booleanAttribute });\n icon = input<string>();\n iconSet = input<EclIconSet>('social-media');\n readonly href = input('');\n readonly routerLink = input('');\n readonly target = input<string>(undefined);\n readonly size = input('m');\n readonly extraAttributes = input<{\n name: string;\n value?: string | null;\n }[]>(undefined);\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-social-media-follow__item'));\n\n readonly itemClick = output<EclSocialMediaFollowItemClickEvent>();\n\n private parent = inject(EclSocialMediaFollowComponent);\n\n get isIconOnly(): boolean {\n return this.parent?.isIconOnly() ?? false;\n }\n\n onItemClick(evt: Event): void {\n this.itemClick.emit(new EclSocialMediaFollowItemClickEvent());\n if (!this.href() && !this.routerLink()) {\n evt.preventDefault();\n }\n }\n}\n","@if(href()) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [href]=\"href()\" [attr.target]=\"target()\"\n class=\"ecl-social-media-follow__link\" [isInverted]=\"isInverted()\" [isIconOnly]=\"isIconOnly\" [extraAttributes]=\"extraAttributes()\">\n @if(icon()) {\n <ecl-icon [iconSet]=\"iconSet()\" icon=\"{{ icon() }}\" [size]=\"size()\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href() && routerLink()) {\n<a eclLink (click)=\"onItemClick($event)\" variant=\"standalone\" [routerLink]=\"routerLink()\" [attr.target]=\"target()\"\n class=\"ecl-social-media-follow__link\" [isInverted]=\"isInverted()\" [isIconOnly]=\"isIconOnly\" [extraAttributes]=\"extraAttributes()\">\n @if(icon()) {\n <ecl-icon [iconSet]=\"iconSet()\" icon=\"{{ icon() }}\" [size]=\"size()\" class=\"ecl-social-media-follow__icon\"> </ecl-icon>\n }\n <span eclLinkLabel>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </span>\n</a>\n}\n\n@if(!href() && !routerLink()) {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { computed, Directive, contentChild, effect } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n@Directive({\n selector: '[eclSocialMediaFollowLink]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSocialMediaFollowLinkDirective extends ECLBaseDirective {\n readonly eclIcon = contentChild(EclIconComponent);\n\n constructor() {\n super();\n // Add the icon modifier class to a projected icon reactively.\n effect(() => {\n this.eclIcon()?.addExtraClass('ecl-social-media-follow__icon');\n });\n }\n\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-social-media-follow__link'));\n}\n","import { EclSocialMediaFollowComponent } from './ecl-social-media-follow.component';\nimport { EclSocialMediaFollowItemComponent } from './ecl-social-media-follow-item.component';\nimport { EclSocialMediaFollowLinkDirective } from './ecl-social-media-follow-link.directive';\n\nexport * from './ecl-social-media-follow.component';\nexport * from './ecl-social-media-follow-item.component';\nexport * from './ecl-social-media-follow-link.directive';\n\nexport const EUI_ECL_SOCIAL_MEDIA_FOLLOW = [\n EclSocialMediaFollowComponent,\n EclSocialMediaFollowItemComponent,\n EclSocialMediaFollowLinkDirective,\n] as const;","/**\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-splash-page.mjs","sources":["../../components/ecl-splash-page/ecl-splash-page.component.ts","../../components/ecl-splash-page/ecl-splash-page.component.html","../../components/ecl-splash-page/ecl-splash-page-picture.directive.ts","../../components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.html","../../components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.html","../../components/ecl-splash-page/ecl-splash-page-language-list.directive.ts","../../components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.html","../../components/ecl-splash-page/index.ts","../../components/ecl-splash-page/eui-ecl-components-ecl-splash-page.ts"],"sourcesContent":["import { Component, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the main splash page layout.\n * \n * This component serves as a container for the splash page content.\n * It applies the `ecl-splash-page` CSS class to the host element.\n * \n * Intended to be used as a wrapper (`div`) for other splash page-related components.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSplashPage]',\n templateUrl: './ecl-splash-page.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageComponent extends ECLBaseDirective {\n /**\n * Applies the `ecl-splash-page` CSS class to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page'));\n}\n","<div class=\"ecl-splash-page__logo-container\">\n <div class=\"ecl-container\">\n <ng-content></ng-content>\n </div>\n</div>\n<ng-content select=\"[eclSplashPageLanguageContainer]\"></ng-content>","import { computed, Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that styles a `<picture>` element with splash page-specific ECL classes.\n */\n@Directive({\n selector: 'picture[eclSplashPagePicture]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPagePictureDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-picture` and `ecl-splash-page__picture` CSS classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-picture ecl-splash-page__picture'));\n}\n\n/**\n * Directive that applies styling to the splash page logo image.\n */\n@Directive({\n selector: 'img[eclSplashPageLogoImage]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLogoImageDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-splash-page__logo-image` CSS class to the host image element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page__logo-image'));\n}\n\n/**\n * Directive that styles an image acting as a link within the splash page.\n */\n@Directive({\n selector: 'img[eclSplashPageLogoLink]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLogoLinkDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-link`, `ecl-link--standalone`, and `ecl-splash-page__logo-link` CSS classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-link ecl-link--standalone ecl-splash-page__logo-link'));\n}\n","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a category of languages\n * displayed on the splash page.\n * Used to group related language links under a common title.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSplashPageLanguageCategory]',\n templateUrl: './ecl-splash-page-language-category.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageCategoryComponent extends ECLBaseDirective {\n /**\n * Title of the language category.\n */\n readonly title = input<string>();\n\n /**\n * Binds the appropriate ECL styling class to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page__language-category'));\n}\n","<h2 class=\"ecl-splash-page__language-category-title\">{{title()}}</h2>\n<ng-content></ng-content>","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a container for language categories\n * on the splash page. Wraps grouped language links with an optional title.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSplashPageLanguageContainer]',\n templateUrl: './ecl-splash-page-language-container.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageContainerComponent extends ECLBaseDirective {\n /**\n * Title of the language container group.\n */\n readonly title = input<string>();\n\n /**\n * Binds the appropriate ECL styling classes to the host container.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-container ecl-splash-page__language-container'));\n\n}\n","<h1 class=\"ecl-splash-page__language-title\">{{title()}}</h1>\n<div class=\"ecl-splash-page__language-content\">\n <ng-content></ng-content>\n</div>","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the splash page language list styling.\n */\n@Directive({\n selector: '[eclSplashPageLanguageList]',\n host: {\n class: 'ecl-splash-page__language-list',\n },\n})\nexport class EclSplashPageLanguageListDirective extends ECLBaseDirective {}\n\n/**\n * Directive that applies the splash page language item styling.\n */\n@Directive({\n selector: '[eclSplashPageLanguageItem]',\n host: {\n class: 'ecl-splash-page__language-item',\n },\n})\nexport class EclSplashPageLanguageItemDirective extends ECLBaseDirective {}\n","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EuiEuLanguages } from '@eui/base';\n\n/**\n * Component representing a link to a language version on the splash page.\n * Displays the name of the language based on the provided language code.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[eclSplashPageLanguageLink]',\n templateUrl: './ecl-splash-page-language-link.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageLinkComponent extends ECLBaseDirective {\n /**\n * Language code used to determine and display the language label.\n * Example: 'en', 'fr', 'de'\n */\n readonly lang = input<string>();\n\n /**\n * Label of the language resolved from the provided `lang` input.\n */\n readonly langLabel = computed<string>(() => {\n const lang = this.lang();\n return lang ? EuiEuLanguages.getLanguageByCode(lang)?.label : undefined;\n });\n\n /**\n * Binds the ECL splash page language link styling classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-link ecl-link--standalone ecl-splash-page__language-link'));\n}\n","<span class=\"ecl-splash-page__language-link-code\">{{lang()}}</span>\n<span class=\"ecl-splash-page__language-link-label\" lang=\"{{lang()}}\">{{langLabel()}}</span>","import { EclSplashPageComponent } from './ecl-splash-page.component';\nimport { EclSplashPageLogoImageDirective, EclSplashPageLogoLinkDirective, EclSplashPagePictureDirective } from './ecl-splash-page-picture.directive';\nimport { EclSplashPageLanguageCategoryComponent } from './ecl-splash-page-language-category/ecl-splash-page-language-category.component';\nimport { EclSplashPageLanguageContainerComponent } from './ecl-splash-page-language-container/ecl-splash-page-language-container.component';\nimport { EclSplashPageLanguageItemDirective, EclSplashPageLanguageListDirective } from './ecl-splash-page-language-list.directive';\nimport { EclSplashPageLanguageLinkComponent } from './ecl-splash-page-language-link/ecl-splash-page-language-link.component';\n\nexport * from './ecl-splash-page.component';\nexport * from './ecl-splash-page-language-category/ecl-splash-page-language-category.component';\nexport * from './ecl-splash-page-language-container/ecl-splash-page-language-container.component';\nexport * from './ecl-splash-page-language-link/ecl-splash-page-language-link.component';\nexport * from './ecl-splash-page-language-list.directive';\nexport * from './ecl-splash-page-picture.directive';\n\nexport const EUI_ECL_SPLASH_PAGE = [\n EclSplashPageComponent,\n EclSplashPageLogoImageDirective,\n EclSplashPageLogoLinkDirective,\n EclSplashPagePictureDirective,\n EclSplashPageLanguageCategoryComponent,\n EclSplashPageLanguageContainerComponent,\n EclSplashPageLanguageListDirective,\n EclSplashPageLanguageItemDirective,\n EclSplashPageLanguageLinkComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-splash-page.mjs","sources":["../../components/ecl-splash-page/ecl-splash-page.component.ts","../../components/ecl-splash-page/ecl-splash-page.component.html","../../components/ecl-splash-page/ecl-splash-page-picture.directive.ts","../../components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-category/ecl-splash-page-language-category.component.html","../../components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-container/ecl-splash-page-language-container.component.html","../../components/ecl-splash-page/ecl-splash-page-language-list.directive.ts","../../components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.ts","../../components/ecl-splash-page/ecl-splash-page-language-link/ecl-splash-page-language-link.component.html","../../components/ecl-splash-page/index.ts","../../components/ecl-splash-page/eui-ecl-components-ecl-splash-page.ts"],"sourcesContent":["import { Component, computed } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing the main splash page layout.\n * \n * This component serves as a container for the splash page content.\n * It applies the `ecl-splash-page` CSS class to the host element.\n * \n * Intended to be used as a wrapper (`div`) for other splash page-related components.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSplashPage]',\n templateUrl: './ecl-splash-page.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageComponent extends ECLBaseDirective {\n /**\n * Applies the `ecl-splash-page` CSS class to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page'));\n}\n","<div class=\"ecl-splash-page__logo-container\">\n <div class=\"ecl-container\">\n <ng-content></ng-content>\n </div>\n</div>\n<ng-content select=\"[eclSplashPageLanguageContainer]\"></ng-content>","import { computed, Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that styles a `<picture>` element with splash page-specific ECL classes.\n */\n@Directive({\n selector: 'picture[eclSplashPagePicture]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPagePictureDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-picture` and `ecl-splash-page__picture` CSS classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-picture ecl-splash-page__picture'));\n}\n\n/**\n * Directive that applies styling to the splash page logo image.\n */\n@Directive({\n selector: 'img[eclSplashPageLogoImage]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLogoImageDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-splash-page__logo-image` CSS class to the host image element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page__logo-image'));\n}\n\n/**\n * Directive that styles an image acting as a link within the splash page.\n */\n@Directive({\n selector: 'img[eclSplashPageLogoLink]',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLogoLinkDirective extends ECLBaseDirective {\n /**\n * Applies the `ecl-link`, `ecl-link--standalone`, and `ecl-splash-page__logo-link` CSS classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-link ecl-link--standalone ecl-splash-page__logo-link'));\n}\n","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a category of languages\n * displayed on the splash page.\n * Used to group related language links under a common title.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'div[eclSplashPageLanguageCategory]',\n templateUrl: './ecl-splash-page-language-category.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageCategoryComponent extends ECLBaseDirective {\n /**\n * Title of the language category.\n */\n readonly title = input<string>();\n\n /**\n * Binds the appropriate ECL styling class to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-splash-page__language-category'));\n}\n","<h2 class=\"ecl-splash-page__language-category-title\">{{title()}}</h2>\n<ng-content></ng-content>","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing a container for language categories\n * on the splash page. Wraps grouped language links with an optional title.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[eclSplashPageLanguageContainer]',\n templateUrl: './ecl-splash-page-language-container.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageContainerComponent extends ECLBaseDirective {\n /**\n * Title of the language container group.\n */\n readonly title = input<string>();\n\n /**\n * Binds the appropriate ECL styling classes to the host container.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-container ecl-splash-page__language-container'));\n\n}\n","<h1 class=\"ecl-splash-page__language-title\">{{title()}}</h1>\n<div class=\"ecl-splash-page__language-content\">\n <ng-content></ng-content>\n</div>","import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive that applies the splash page language list styling.\n */\n@Directive({\n selector: '[eclSplashPageLanguageList]',\n host: {\n class: 'ecl-splash-page__language-list',\n },\n})\nexport class EclSplashPageLanguageListDirective extends ECLBaseDirective {}\n\n/**\n * Directive that applies the splash page language item styling.\n */\n@Directive({\n selector: '[eclSplashPageLanguageItem]',\n host: {\n class: 'ecl-splash-page__language-item',\n },\n})\nexport class EclSplashPageLanguageItemDirective extends ECLBaseDirective {}\n","import { Component, computed, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EuiEuLanguages } from '@eui/base';\n\n/**\n * Component representing a link to a language version on the splash page.\n * Displays the name of the language based on the provided language code.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[eclSplashPageLanguageLink]',\n templateUrl: './ecl-splash-page-language-link.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSplashPageLanguageLinkComponent extends ECLBaseDirective {\n /**\n * Language code used to determine and display the language label.\n * Example: 'en', 'fr', 'de'\n */\n readonly lang = input<string>();\n\n /**\n * Label of the language resolved from the provided `lang` input.\n */\n readonly langLabel = computed<string>(() => {\n const lang = this.lang();\n return lang ? EuiEuLanguages.getLanguageByCode(lang)?.label : undefined;\n });\n\n /**\n * Binds the ECL splash page language link styling classes to the host element.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-link ecl-link--standalone ecl-splash-page__language-link'));\n}\n","<span class=\"ecl-splash-page__language-link-code\">{{lang()}}</span>\n<span class=\"ecl-splash-page__language-link-label\" lang=\"{{lang()}}\">{{langLabel()}}</span>","import { EclSplashPageComponent } from './ecl-splash-page.component';\nimport { EclSplashPageLogoImageDirective, EclSplashPageLogoLinkDirective, EclSplashPagePictureDirective } from './ecl-splash-page-picture.directive';\nimport { EclSplashPageLanguageCategoryComponent } from './ecl-splash-page-language-category/ecl-splash-page-language-category.component';\nimport { EclSplashPageLanguageContainerComponent } from './ecl-splash-page-language-container/ecl-splash-page-language-container.component';\nimport { EclSplashPageLanguageItemDirective, EclSplashPageLanguageListDirective } from './ecl-splash-page-language-list.directive';\nimport { EclSplashPageLanguageLinkComponent } from './ecl-splash-page-language-link/ecl-splash-page-language-link.component';\n\nexport * from './ecl-splash-page.component';\nexport * from './ecl-splash-page-language-category/ecl-splash-page-language-category.component';\nexport * from './ecl-splash-page-language-container/ecl-splash-page-language-container.component';\nexport * from './ecl-splash-page-language-link/ecl-splash-page-language-link.component';\nexport * from './ecl-splash-page-language-list.directive';\nexport * from './ecl-splash-page-picture.directive';\n\nexport const EUI_ECL_SPLASH_PAGE = [\n EclSplashPageComponent,\n EclSplashPageLogoImageDirective,\n EclSplashPageLogoLinkDirective,\n EclSplashPagePictureDirective,\n EclSplashPageLanguageCategoryComponent,\n EclSplashPageLanguageContainerComponent,\n EclSplashPageLanguageListDirective,\n EclSplashPageLanguageItemDirective,\n EclSplashPageLanguageLinkComponent,\n] as const;","/**\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-spotlight.mjs","sources":["../../components/ecl-spotlight/ecl-spotlight-elements.directive.ts","../../components/ecl-spotlight/ecl-spotlight-link/ecl-spotlight-link.component.ts","../../components/ecl-spotlight/ecl-spotlight-link/ecl-spotlight-link.component.html","../../components/ecl-spotlight/ecl-spotlight.component.ts","../../components/ecl-spotlight/ecl-spotlight.component.html","../../components/ecl-spotlight/index.ts","../../components/ecl-spotlight/eui-ecl-components-ecl-spotlight.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing the picture within a spotlight component.\n * Automatically applies the corresponding ECL class.\n */\n@Directive({\n selector: 'picture[eclSpotlightPicture]',\n host: {\n class: 'ecl-picture ecl-spotlight__picture',\n },\n})\nexport class EclSpotlightPictureDirective extends ECLBaseDirective {}\n\n/**\n * Directive representing the image within spotlight component.\n * Automatically applies the corresponding ECL class.\n */\n@Directive({\n selector: 'img[eclSpotlightImage]',\n host: {\n class: 'ecl-spotlight__image',\n },\n})\nexport class EclSpotlightImageDirective extends ECLBaseDirective {}\n","import { Component, computed, signal } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing an anchor element, within the ecl-spotligh, based on the ECL design system.\n * Serves as a container for structured content such as images and titles.\n */\n@Component({\n selector: 'a[eclSpotlightLink]',\n templateUrl: './ecl-spotlight-link.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSpotlightLinkComponent extends ECLBaseDirective {\n\n /**\n * Binds the component's root CSS classes.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-spotlight__link'));\n\n spotlightTitle = signal<string>('');\n hasAnchor = signal<boolean>(false);\n copyright = signal<string>('');\n}\n","<figure class=\"ecl-spotlight__picture-container\">\n <ng-content select=\"[eclSpotlightPicture]\"></ng-content>\n</figure>\n<div class=\"ecl-spotlight__container\" data-ecl-spotlight-container>\n <div class=\"ecl-container\">\n <div class=\"ecl-spotlight__title\">{{ spotlightTitle() }}</div>\n @if (hasAnchor()) {\n <div class=\"ecl-spotlight__anchor\" aria-hidden=\"true\"></div>\n }\n </div>\n @if (!!copyright()) {\n <footer class=\"ecl-spotlight__credit\">{{ copyright() }}</footer>\n }\n</div>","import { AfterContentInit, booleanAttribute, Component, computed, contentChild, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSpotlightLinkComponent } from './ecl-spotlight-link/ecl-spotlight-link.component';\n\n/**\n * Component representing a spotlight, based on the ECL design system.\n * Serves as a container for structured content such as titles, images and links.\n */\n@Component({\n selector: 'section[eclSpotlight]',\n templateUrl: './ecl-spotlight.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSpotlightComponent extends ECLBaseDirective implements AfterContentInit {\n\n header = input<string>();\n fontSize = input<'m' | 'l'>('l');\n spotlightTitle = input<string>('');\n hasAnchor = input(false, { transform: booleanAttribute });\n copyright = input<string>('');\n /**\n * Binds the component's root CSS classes.\n * Adds the `ecl-content-block` class by default.\n */\n protected readonly cssClasses = computed<string>(() =>\n [super.getCssClasses('ecl-spotlight'),\n `ecl-spotlight--font-${this.fontSize()}`,\n this.hasAnchor() ? 'ecl-spotlight--with-anchor': '',\n ].join(' ').trim());\n spotlightLink = contentChild(EclSpotlightLinkComponent);\n\n ngAfterContentInit(): void {\n\n if (this.spotlightTitle()) this.spotlightLink().spotlightTitle.set(this.spotlightTitle());\n if (this.hasAnchor()) this.spotlightLink().hasAnchor.set(this.hasAnchor());\n if (this.copyright()) this.spotlightLink().copyright.set(this.copyright());\n }\n\n}\n","@if (header()) {\n<div class=\"ecl-spotlight__header\">\n <div class=\"ecl-container\">{{ header() }}</div>\n</div>\n}\n<ng-content select=\"[eclSpotlightLink]\"></ng-content>","import { EclSpotlightImageDirective, EclSpotlightPictureDirective } from './ecl-spotlight-elements.directive';\nimport { EclSpotlightLinkComponent } from './ecl-spotlight-link/ecl-spotlight-link.component';\nimport { EclSpotlightComponent } from './ecl-spotlight.component';\n\nexport * from './ecl-spotlight-elements.directive';\nexport * from './ecl-spotlight.component';\nexport * from './ecl-spotlight-link/ecl-spotlight-link.component';\n\nexport const EUI_ECL_SPOTLIGHT = [\n EclSpotlightComponent,\n EclSpotlightLinkComponent,\n EclSpotlightPictureDirective,\n EclSpotlightImageDirective, \n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-spotlight.mjs","sources":["../../components/ecl-spotlight/ecl-spotlight-elements.directive.ts","../../components/ecl-spotlight/ecl-spotlight-link/ecl-spotlight-link.component.ts","../../components/ecl-spotlight/ecl-spotlight-link/ecl-spotlight-link.component.html","../../components/ecl-spotlight/ecl-spotlight.component.ts","../../components/ecl-spotlight/ecl-spotlight.component.html","../../components/ecl-spotlight/index.ts","../../components/ecl-spotlight/eui-ecl-components-ecl-spotlight.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive representing the picture within a spotlight component.\n * Automatically applies the corresponding ECL class.\n */\n@Directive({\n selector: 'picture[eclSpotlightPicture]',\n host: {\n class: 'ecl-picture ecl-spotlight__picture',\n },\n})\nexport class EclSpotlightPictureDirective extends ECLBaseDirective {}\n\n/**\n * Directive representing the image within spotlight component.\n * Automatically applies the corresponding ECL class.\n */\n@Directive({\n selector: 'img[eclSpotlightImage]',\n host: {\n class: 'ecl-spotlight__image',\n },\n})\nexport class EclSpotlightImageDirective extends ECLBaseDirective {}\n","import { Component, computed, signal } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Component representing an anchor element, within the ecl-spotligh, based on the ECL design system.\n * Serves as a container for structured content such as images and titles.\n */\n@Component({\n selector: 'a[eclSpotlightLink]',\n templateUrl: './ecl-spotlight-link.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSpotlightLinkComponent extends ECLBaseDirective {\n\n /**\n * Binds the component's root CSS classes.\n */\n protected readonly cssClasses = computed<string>(() =>\n super.getCssClasses('ecl-spotlight__link'));\n\n spotlightTitle = signal<string>('');\n hasAnchor = signal<boolean>(false);\n copyright = signal<string>('');\n}\n","<figure class=\"ecl-spotlight__picture-container\">\n <ng-content select=\"[eclSpotlightPicture]\"></ng-content>\n</figure>\n<div class=\"ecl-spotlight__container\" data-ecl-spotlight-container>\n <div class=\"ecl-container\">\n <div class=\"ecl-spotlight__title\">{{ spotlightTitle() }}</div>\n @if (hasAnchor()) {\n <div class=\"ecl-spotlight__anchor\" aria-hidden=\"true\"></div>\n }\n </div>\n @if (!!copyright()) {\n <footer class=\"ecl-spotlight__credit\">{{ copyright() }}</footer>\n }\n</div>","import { AfterContentInit, booleanAttribute, Component, computed, contentChild, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSpotlightLinkComponent } from './ecl-spotlight-link/ecl-spotlight-link.component';\n\n/**\n * Component representing a spotlight, based on the ECL design system.\n * Serves as a container for structured content such as titles, images and links.\n */\n@Component({\n selector: 'section[eclSpotlight]',\n templateUrl: './ecl-spotlight.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclSpotlightComponent extends ECLBaseDirective implements AfterContentInit {\n\n header = input<string>();\n fontSize = input<'m' | 'l'>('l');\n spotlightTitle = input<string>('');\n hasAnchor = input(false, { transform: booleanAttribute });\n copyright = input<string>('');\n /**\n * Binds the component's root CSS classes.\n * Adds the `ecl-content-block` class by default.\n */\n protected readonly cssClasses = computed<string>(() =>\n [super.getCssClasses('ecl-spotlight'),\n `ecl-spotlight--font-${this.fontSize()}`,\n this.hasAnchor() ? 'ecl-spotlight--with-anchor': '',\n ].join(' ').trim());\n spotlightLink = contentChild(EclSpotlightLinkComponent);\n\n ngAfterContentInit(): void {\n\n if (this.spotlightTitle()) this.spotlightLink().spotlightTitle.set(this.spotlightTitle());\n if (this.hasAnchor()) this.spotlightLink().hasAnchor.set(this.hasAnchor());\n if (this.copyright()) this.spotlightLink().copyright.set(this.copyright());\n }\n\n}\n","@if (header()) {\n<div class=\"ecl-spotlight__header\">\n <div class=\"ecl-container\">{{ header() }}</div>\n</div>\n}\n<ng-content select=\"[eclSpotlightLink]\"></ng-content>","import { EclSpotlightImageDirective, EclSpotlightPictureDirective } from './ecl-spotlight-elements.directive';\nimport { EclSpotlightLinkComponent } from './ecl-spotlight-link/ecl-spotlight-link.component';\nimport { EclSpotlightComponent } from './ecl-spotlight.component';\n\nexport * from './ecl-spotlight-elements.directive';\nexport * from './ecl-spotlight.component';\nexport * from './ecl-spotlight-link/ecl-spotlight-link.component';\n\nexport const EUI_ECL_SPOTLIGHT = [\n EclSpotlightComponent,\n EclSpotlightLinkComponent,\n EclSpotlightPictureDirective,\n EclSpotlightImageDirective, \n] as const;","/**\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-sticky-container.mjs","sources":["../../components/ecl-sticky-container/ecl-sticky-container.component.ts","../../components/ecl-sticky-container/ecl-sticky-container.component.html","../../components/ecl-sticky-container/index.ts","../../components/ecl-sticky-container/eui-ecl-components-ecl-sticky-container.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, computed, ElementRef, OnDestroy, Renderer2, afterNextRender, booleanAttribute, inject, input } from '@angular/core';\nimport { Subject, delay } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * This is a component, that has fixed position on the screen. It is a wrapper for other components,\n * when their position needs to be fixed. For example it is used in the 'ecl-inpage-navigation'.\n */\n@Component({\n selector: 'ecl-sticky-container',\n templateUrl: './ecl-sticky-container.component.html',\n host: {\n '[class]': 'cssClasses()',\n '[style.top.px]': 'top',\n '[style.bottom.px]': 'bottom',\n },\n styles: [\n `\n :host {\n display: block;\n align-self: flex-start;\n top: 0;\n position: sticky;\n position: -webkit-sticky;\n }\n\n :host.ecl-sticky-container--disabled {\n position: static;\n }\n `,\n ],\n})\nexport class EclStickyContainerComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Gives the option to disable the default sticky behaviour when the value is 'false'.\n */\n readonly isEnabled = input(true, { transform: booleanAttribute });\n /**\n * Sets the 'top' style property.\n */\n readonly marginTop = input(0);\n /**\n * Sets the 'bottom' style property.\n */\n readonly marginBottom = input(0);\n\n protected readonly cssClasses = computed<string>(() =>\n [super.getCssClasses('ecl-sticky-container'), !this.isEnabled() ? 'ecl-sticky-container--disabled' : ''].join(' ').trim());\n\n get top(): number | null {\n return this.marginTop() || null;\n }\n\n get bottom(): number | null {\n return this.marginBottom() || null;\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private renderer = inject(Renderer2);\n private el = inject(ElementRef);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe('(max-width: 996px)')\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n if (result.matches) {\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '15');\n } else {\n this.renderer.removeStyle(this.el.nativeElement, 'z-index');\n }\n });\n }\n}\n","<ng-content></ng-content>\n","import { EclStickyContainerComponent } from './ecl-sticky-container.component';\n\nexport * from './ecl-sticky-container.component';\n\nexport const EUI_ECL_STICKY_CONTAINER = [\n EclStickyContainerComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-sticky-container.mjs","sources":["../../components/ecl-sticky-container/ecl-sticky-container.component.ts","../../components/ecl-sticky-container/ecl-sticky-container.component.html","../../components/ecl-sticky-container/index.ts","../../components/ecl-sticky-container/eui-ecl-components-ecl-sticky-container.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Component, computed, ElementRef, OnDestroy, Renderer2, afterNextRender, booleanAttribute, inject, input } from '@angular/core';\nimport { Subject, delay } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * This is a component, that has fixed position on the screen. It is a wrapper for other components,\n * when their position needs to be fixed. For example it is used in the 'ecl-inpage-navigation'.\n */\n@Component({\n selector: 'ecl-sticky-container',\n templateUrl: './ecl-sticky-container.component.html',\n host: {\n '[class]': 'cssClasses()',\n '[style.top.px]': 'top',\n '[style.bottom.px]': 'bottom',\n },\n styles: [\n `\n :host {\n display: block;\n align-self: flex-start;\n top: 0;\n position: sticky;\n position: -webkit-sticky;\n }\n\n :host.ecl-sticky-container--disabled {\n position: static;\n }\n `,\n ],\n})\nexport class EclStickyContainerComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Gives the option to disable the default sticky behaviour when the value is 'false'.\n */\n readonly isEnabled = input(true, { transform: booleanAttribute });\n /**\n * Sets the 'top' style property.\n */\n readonly marginTop = input(0);\n /**\n * Sets the 'bottom' style property.\n */\n readonly marginBottom = input(0);\n\n protected readonly cssClasses = computed<string>(() =>\n [super.getCssClasses('ecl-sticky-container'), !this.isEnabled() ? 'ecl-sticky-container--disabled' : ''].join(' ').trim());\n\n get top(): number | null {\n return this.marginTop() || null;\n }\n\n get bottom(): number | null {\n return this.marginBottom() || null;\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private BREAKPOINT_CHANGES_TIMEOUT = 500;\n private cdkBreakpointObserver = inject(BreakpointObserver);\n private renderer = inject(Renderer2);\n private el = inject(ElementRef);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.observeBreakpointChanges();\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe('(max-width: 996px)')\n .pipe(takeUntil(this.destroy$), delay(this.BREAKPOINT_CHANGES_TIMEOUT))\n .subscribe((result) => {\n if (result.matches) {\n this.renderer.setStyle(this.el.nativeElement, 'z-index', '15');\n } else {\n this.renderer.removeStyle(this.el.nativeElement, 'z-index');\n }\n });\n }\n}\n","<ng-content></ng-content>\n","import { EclStickyContainerComponent } from './ecl-sticky-container.component';\n\nexport * from './ecl-sticky-container.component';\n\nexport const EUI_ECL_STICKY_CONTAINER = [\n EclStickyContainerComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|