{"version":3,"file":"overlay-messages-g270p2xh.js","sources":["packages/vanilla/lib/features/overlay-messages/src/overlay-messages.html","packages/vanilla/lib/features/overlay-messages/src/overlay-messages.component.ts","packages/vanilla/lib/features/overlay-messages/src/overlay-messages.service.ts","packages/vanilla/lib/features/overlay-messages/src/overlay-messages-bootstrap.service.ts","packages/vanilla/lib/features/overlay-messages/src/overlay-messages.feature.ts"],"sourcesContent":["@if (content | async; as messages) {\n \n}\n","import { CommonModule } from '@angular/common';\nimport { Component, Inject, InjectionToken, ViewEncapsulation } from '@angular/core';\n\nimport { ContentItem } from '@frontend/vanilla/core';\nimport { ContentMessagesComponent } from '@frontend/vanilla/features/content-messages';\nimport { Observable } from 'rxjs';\n\nexport const OVERLAY_MESSAGES_CONTENT = new InjectionToken>('overlay-messages-content');\n\n@Component({\n standalone: true,\n imports: [CommonModule, ContentMessagesComponent],\n selector: 'vn-overlay-messages',\n templateUrl: 'overlay-messages.html',\n styleUrls: ['../../../../../themepark/themes/whitelabel/components/overlay-messages/styles.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class OverlayMessagesComponent {\n constructor(@Inject(OVERLAY_MESSAGES_CONTENT) public content: Observable) {}\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\n\nimport { ContentItem, DslService } from '@frontend/vanilla/core';\nimport { ContentMessagesService } from '@frontend/vanilla/features/content-messages';\nimport { OverlayFactory } from '@frontend/vanilla/shared/overlay-factory';\nimport { ReplaySubject } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\n\nimport { OVERLAY_MESSAGES_CONTENT, OverlayMessagesComponent } from './overlay-messages.component';\n\n@Injectable()\nexport class OverlayMessagesService {\n private contentStream = new ReplaySubject(1);\n private currentRef: OverlayRef | null;\n\n constructor(\n private overlay: OverlayFactory,\n private injector: Injector,\n private contentMessagesService: ContentMessagesService,\n dslService: DslService,\n ) {\n contentMessagesService.getMessages('messages', 'm2').subscribe((messages) => {\n dslService\n .evaluateContent(messages)\n .pipe(\n filter((contentItems): contentItems is ContentItem[] => contentItems instanceof Array),\n map((contentItems: ContentItem[]) => this.filterClosedMessages(contentItems)),\n )\n .subscribe(this.contentStream);\n });\n }\n\n showOverlayMessages() {\n this.contentStream.subscribe((content: ContentItem[]) => {\n if (content.length && !this.currentRef) {\n const overlayRef = this.overlay.create({\n panelClass: 'vn-overlay-messages-container',\n positionStrategy: this.overlay.position.global().centerHorizontally().top(),\n });\n\n const portal = new ComponentPortal(\n OverlayMessagesComponent,\n null,\n Injector.create({\n providers: [\n { provide: OverlayRef, useValue: overlayRef },\n { provide: OVERLAY_MESSAGES_CONTENT, useValue: this.contentStream.asObservable() },\n ],\n parent: this.injector,\n }),\n );\n overlayRef.attach(portal);\n\n overlayRef.detachments().subscribe(() => {\n this.overlay.dispose(this.currentRef);\n this.currentRef = null;\n });\n\n this.currentRef = overlayRef;\n } else if (!content.length && this.currentRef) {\n this.overlay.dispose(this.currentRef);\n this.currentRef = null;\n }\n });\n }\n\n private filterClosedMessages(content: ContentItem[]): ContentItem[] {\n const closedMsgNames = new Set(this.contentMessagesService.getClosedMessageNames('m2').map((v) => v.toLowerCase()));\n\n return content.filter((m) => m && !closedMsgNames.has(m.name.toLowerCase()));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { OnFeatureInit } from '@frontend/vanilla/core';\n\nimport { OverlayMessagesService } from './overlay-messages.service';\n\n@Injectable()\nexport class OverlayMessagesBootstrapService implements OnFeatureInit {\n constructor(private overlayMessagesService: OverlayMessagesService) {}\n\n onFeatureInit() {\n this.overlayMessagesService.showOverlayMessages();\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { OverlayMessagesBootstrapService } from './overlay-messages-bootstrap.service';\nimport { OverlayMessagesService } from './overlay-messages.service';\n\nexport function provide() {\n return [OverlayMessagesService, runOnFeatureInit(OverlayMessagesBootstrapService)];\n}\n"],"names":["ɵɵelement","ɵɵproperty","ctx","OVERLAY_MESSAGES_CONTENT","InjectionToken","OverlayMessagesComponent","constructor","content","ɵɵdirectiveInject","y","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ɵɵtemplate","OverlayMessagesComponent_Conditional_0_Template","ɵɵconditional","tmp_0_0","ɵɵpipeBind1","CommonModule","AsyncPipe","ContentMessagesComponent","styles","encapsulation","_OverlayMessagesComponent","OverlayMessagesService","overlay","injector","contentMessagesService","dslService","contentStream","ReplaySubject","getMessages","subscribe","messages","evaluateContent","pipe","filter","contentItems","Array","map","filterClosedMessages","showOverlayMessages","length","currentRef","overlayRef","create","panelClass","positionStrategy","position","global","centerHorizontally","top","portal","ComponentPortal","Injector","providers","provide","OverlayRef","useValue","asObservable","parent","attach","detachments","dispose","closedMsgNames","Set","getClosedMessageNames","v","toLowerCase","m","has","name","ɵɵinject","OverlayFactory","ContentMessagesService","DslService","factory","ɵfac","_OverlayMessagesService","OverlayMessagesBootstrapService","overlayMessagesService","onFeatureInit","_OverlayMessagesBootstrapService","runOnFeatureInit"],"mappings":"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"}