{"version":3,"file":"chunk-i0ix4b47.js","sources":["packages/vanilla/lib/features/label-switcher/src/label-switcher.client-config.ts","packages/vanilla/lib/features/label-switcher/src/label-switcher-tracking.service.ts","packages/vanilla/lib/features/label-switcher/src/label-switcher.service.ts","packages/vanilla/lib/features/label-switcher/src/label-switcher-bootstrap.service.ts","packages/vanilla/lib/features/label-switcher/src/label-switcher.feature.ts","packages/vanilla/lib/features/label-switcher/src/label-switcher.html","packages/vanilla/lib/features/label-switcher/src/label-switcher.component.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\nimport {\n ClientConfigProductName,\n GenericListItem,\n LazyClientConfig,\n LazyClientConfigBase,\n LazyClientConfigService,\n MenuContentItem,\n} from '@frontend/vanilla/core';\n\n/**\n * @stable\n */\n@LazyClientConfig({ key: 'vnLabelSwitcher', product: ClientConfigProductName.SF })\n@Injectable({\n providedIn: 'root',\n deps: [LazyClientConfigService],\n useFactory: labelSwitcherConfigFactory,\n})\nexport class LabelSwitcherConfig extends LazyClientConfigBase {\n main: MenuContentItem;\n resources: GenericListItem;\n showChangeLabelToaster: string;\n isRestrictedAccessCondition: string;\n persistStayInState: boolean;\n}\n\nexport function labelSwitcherConfigFactory(service: LazyClientConfigService) {\n return service.get(LabelSwitcherConfig);\n}\n","import { Injectable } from '@angular/core';\n\nimport { TrackingService } from '@frontend/vanilla/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelSwitcherTrackingService {\n constructor(private trackingService: TrackingService) {}\n\n trackConfirmationOverlay(actionEvent: string, positionEvent: string, eventDetails: string) {\n this.track('switching states confirmation popup', actionEvent, positionEvent, eventDetails, 'not applicable');\n }\n\n trackDropDown(actionEvent: string, positionEvent: string, eventDetails: string, urlClicked?: string) {\n this.track('Footer State Switcher', actionEvent, positionEvent, eventDetails, urlClicked);\n }\n\n private track(labelEvent: string, actionEvent: string, positionEvent: string, eventDetails: string, urlClicked?: string) {\n this.trackingService.triggerEvent('Event.Tracking', {\n 'component.CategoryEvent': 'multi state-switch',\n 'component.LabelEvent': labelEvent,\n 'component.ActionEvent': actionEvent,\n 'component.PositionEvent': positionEvent,\n 'component.LocationEvent': 'not applicable',\n 'component.EventDetails': eventDetails,\n 'component.URLClicked': urlClicked || 'not applicable',\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n AuthService,\n CookieName,\n CookieService,\n DateTimeService,\n DslService,\n EventsService,\n GeolocationPosition,\n GeolocationService,\n Logger,\n MenuContentItem,\n NativeAppService,\n NativeEventType,\n NavigationService,\n PERMANENT_COOKIE_EXPIRATION,\n Page,\n SimpleEvent,\n ToastrQueueService,\n ToastrSchedule,\n ToastrType,\n UrlService,\n UserService,\n VanillaEventNames,\n} from '@frontend/vanilla/core';\nimport { BehaviorSubject, Observable, Subject, catchError, distinctUntilChanged, filter, take, takeUntil, tap } from 'rxjs';\n\nimport { LabelSwitcherTrackingService } from './label-switcher-tracking.service';\nimport { LabelSwitcherConfig } from './label-switcher.client-config';\nimport { LabelSwitcherItem } from './label-switcher.models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LabelSwitcherService {\n private currentPosition: GeolocationPosition | null;\n private currentLabelItemEvent = new BehaviorSubject(undefined);\n private unsubscribe = new Subject();\n\n constructor(\n private config: LabelSwitcherConfig,\n private page: Page,\n private toastrQueueService: ToastrQueueService,\n private cookieService: CookieService,\n private geoLocationService: GeolocationService,\n private dslService: DslService,\n private logger: Logger,\n private trackingService: LabelSwitcherTrackingService,\n private user: UserService,\n private nativeAppService: NativeAppService,\n private authService: AuthService,\n private navigationService: NavigationService,\n private urlService: UrlService,\n private eventsService: EventsService,\n private dateTimeService: DateTimeService,\n ) {}\n\n /** Gets label switcher item event based on current label. */\n get currentLabelItemEvent$(): Observable {\n return this.currentLabelItemEvent;\n }\n\n /** Gets label switcher item based on user's geo location. */\n get currentGeoLocationItem(): LabelSwitcherItem | undefined {\n return this.items.find(\n (i: LabelSwitcherItem) => i.region?.toLowerCase() === this.currentPosition?.mappedLocation?.stateClient?.toLowerCase(),\n );\n }\n\n get messages(): { [attr: string]: string } {\n return this.config.resources.messages;\n }\n\n private _items: LabelSwitcherItem[] = [];\n\n /** Gets all label switcher items. */\n get items(): LabelSwitcherItem[] {\n return this._items;\n }\n\n private _currentLabelItem: LabelSwitcherItem | undefined;\n\n /** Gets label switcher item based on current label. */\n get currentLabelItem(): LabelSwitcherItem | undefined {\n return this._currentLabelItem;\n }\n\n init() {\n this.prepareItems();\n this.checkForContentErrors();\n this.geoLocationService.whenReady.subscribe(() =>\n this.geoLocationService.positionChanges\n .pipe(distinctUntilChanged((prev, curr) => prev.mappedLocation?.stateClient == curr.mappedLocation?.stateClient))\n .subscribe((position: GeolocationPosition) => {\n this.unsubscribe.next();\n this.currentPosition = position;\n this.showToasters();\n }),\n );\n\n if (this.config.persistStayInState) {\n this.eventsService.newEvents\n .pipe(\n filter(\n (event: SimpleEvent) =>\n event.eventName === VanillaEventNames.ToastrClosed && event.data?.toastrContent?.name?.toLowerCase() === 'changelabel',\n ),\n )\n .subscribe(() => {\n const state = this.currentPosition?.mappedLocation?.stateClient;\n if (state)\n this.cookieService.put(this.getCookieName(state), state, {\n expires: this.setCookieExpiration(),\n });\n });\n }\n }\n\n async switchLabel(item: LabelSwitcherItem) {\n this.trackingService.trackConfirmationOverlay('click', `${item.text}, ${this.currentLabelItem?.text}`, this.messages.Overlay_Ok_Epcot || '');\n await this.logout();\n this.cookieService.put(CookieName.StateChanged, '1');\n const url = this.urlService.parse(item.url);\n url.search.append('_showChangeLabelSuccess', 'true');\n\n if (this.nativeAppService.isNative) {\n this.nativeAppService.sendToNative({\n eventName: NativeEventType.LOCATION,\n parameters: {\n label: item.name,\n countryCode: item.country,\n stateCode: item.regionCode,\n state: item.region,\n url: item.url,\n },\n });\n } else {\n this.navigationService.goTo(url);\n }\n }\n\n private async logout(): Promise {\n return this.user.isAuthenticated ? this.authService.logout({ redirectAfterLogout: false }) : Promise.resolve();\n }\n\n private prepareItems() {\n this.config.main.children.forEach((item: MenuContentItem) => {\n this._items.push({\n name: item.name,\n text: item.text,\n region: item.parameters.region,\n regionCode: item.parameters.regionCode,\n country: item.parameters.country,\n url: item.url,\n isActive: this.page.domain.replace(/\\./g, '').trim() == item.name.replace(/\\./g, '').trim(),\n image: item.image,\n });\n });\n\n this._currentLabelItem = this.items.find((i: LabelSwitcherItem) => i.isActive);\n this.currentLabelItemEvent.next(this._currentLabelItem);\n }\n\n private checkForContentErrors() {\n if (!this.currentLabelItem) {\n this.logger.error('Current label is not present in label-switcher items!');\n }\n }\n\n private showToasters() {\n this.logger.infoRemote('LabelSwitcher: Location changed, initializing show toasters.');\n const state = this.currentPosition?.mappedLocation?.stateClient;\n this.dslService\n .evaluateExpression(this.config.showChangeLabelToaster)\n .pipe(\n tap((show) => {\n this.logger.infoRemote(`LabelSwitcher: showChangeLabelToaster evaluated to ${show}`);\n if (this.cookieService.get(CookieName.ShowChangeLabelSuccess) && !show) {\n this.toastrQueueService.add(ToastrType.ChangeLabelSuccess, {\n schedule: ToastrSchedule.Immediate,\n placeholders: { label: this.currentLabelItem?.text || '' },\n });\n this.cookieService.remove(CookieName.ShowChangeLabelSuccess);\n }\n }),\n takeUntil(this.unsubscribe),\n filter(Boolean),\n take(1),\n catchError((error) => {\n this.logger.errorRemote('LabelSwitcher: failed to evaluate showChangeLabelToaster expression.', error);\n throw error;\n }),\n )\n .subscribe(() => {\n if (state && !this.stayInStateAlreadyChosen(state)) {\n this.logger.infoRemote('LabelSwitcher: adding toaster to the queue');\n this.toastrQueueService.add(ToastrType.ChangeLabel, {\n schedule: ToastrSchedule.Immediate,\n placeholders: {\n state: this.currentGeoLocationItem?.text || '',\n originstate: this.currentLabelItem?.text || '',\n },\n });\n } else {\n this.logger.infoRemote('LabelSwitcher: toaster will not be added to the queue due to condition not met.');\n }\n });\n\n this.dslService\n .evaluateExpression(this.config.isRestrictedAccessCondition)\n .pipe(takeUntil(this.unsubscribe), filter(Boolean), take(1))\n .subscribe(() => {\n if (!this.isToastAlreadyShownInState(ToastrType.RestrictedAccess, state)) {\n this.toastrQueueService.add(ToastrType.RestrictedAccess, {\n schedule: ToastrSchedule.Immediate,\n placeholders: {\n label: this.currentLabelItem?.name || '',\n state: this.currentGeoLocationItem?.text || '',\n },\n });\n this.addStateToToast(ToastrType.RestrictedAccess, state);\n }\n });\n }\n\n private stayInStateAlreadyChosen(state: string): boolean {\n const stateName = this.cookieService.get(this.getCookieName(state));\n\n this.logger.infoRemote(`LabelSwitcher: stay in state already chosen for ${state}: ${!!stateName}`);\n return !!stateName;\n }\n\n private setCookieExpiration(): Date {\n const expireDate = this.dateTimeService.now();\n expireDate.setHours(23, 59, 59, 999);\n\n return expireDate;\n }\n\n private getCookieName(state: string): string {\n const stateNameWithoutSpace = state.replace(/\\s/g, '');\n return `vn_ls_${stateNameWithoutSpace}`;\n }\n\n private addStateToToast(toastKey: string, state: string | undefined | null) {\n if (state && !this.isToastAlreadyShownInState(toastKey, state)) {\n this.cookieService.addToQueryCollection(CookieName.ToastShownInStates, toastKey, state, { expires: PERMANENT_COOKIE_EXPIRATION });\n }\n }\n\n private isToastAlreadyShownInState(toastKey: string, state: string | undefined | null): boolean {\n if (!state) return false;\n\n const states = this.cookieService.getQueryCollection(CookieName.ToastShownInStates, toastKey);\n this.logger.infoRemote(`LabelSwitcher: toaster already shown in ${state}: ${states?.includes(state)}`);\n return states?.includes(state);\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { Logger, MenuAction, MenuActionsService, OnFeatureInit } from '@frontend/vanilla/core';\nimport { firstValueFrom } from 'rxjs';\n\nimport { LabelSwitcherConfig } from './label-switcher.client-config';\nimport { LabelSwitcherService } from './label-switcher.service';\n\n@Injectable()\nexport class LabelSwitcherBootstrapService implements OnFeatureInit {\n constructor(\n private config: LabelSwitcherConfig,\n private service: LabelSwitcherService,\n private menuActionsService: MenuActionsService,\n private logger: Logger,\n ) {}\n\n async onFeatureInit() {\n await firstValueFrom(this.config.whenReady);\n this.service.init();\n this.menuActionsService.register(MenuAction.SHOW_LABEL_SWITCHER_OVERLAY, async () => {\n const item = this.service.currentGeoLocationItem;\n if (item) {\n await this.service.switchLabel(item);\n } else {\n this.logger.warn(`No content found for current GEO IP region.`);\n }\n });\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { LabelSwitcherBootstrapService } from './label-switcher-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(LabelSwitcherBootstrapService)];\n}\n","@if (labelSwitcherService.items.length) {\n
\n @if (labelSwitcherConfig.resources.messages.Label_Switcher_Heading; as heading) {\n
\n {{ heading }}\n
\n }\n @if (labelSwitcherService.currentLabelItem; as item) {\n
\n @if (item.image && !hideFlag) {\n \n }\n {{ item.text }}\n \n
\n }\n @if (showLabels) {\n
\n @for (item of labelSwitcherService.items; track trackByName($index, item)) {\n {{ item.text }}\n }\n
\n }\n
\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { HtmlNode, trackByProp } from '@frontend/vanilla/core';\nimport { IconCustomComponent } from '@frontend/vanilla/features/icons';\n\nimport { LabelSwitcherTrackingService } from './label-switcher-tracking.service';\nimport { LabelSwitcherConfig } from './label-switcher.client-config';\nimport { LabelSwitcherItem } from './label-switcher.models';\nimport { LabelSwitcherService } from './label-switcher.service';\n\n/**\n * @stable\n */\n@Component({\n standalone: true,\n imports: [CommonModule, OverlayModule, IconCustomComponent],\n selector: 'vn-label-switcher',\n templateUrl: 'label-switcher.html',\n styleUrls: ['../../../../../themepark/themes/whitelabel/components/label-switcher/styles.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class LabelSwitcherComponent implements OnInit {\n showLabels: boolean;\n\n @Input() hideFlag: boolean;\n\n readonly trackByName = trackByProp('name');\n\n constructor(\n public labelSwitcherService: LabelSwitcherService,\n public labelSwitcherConfig: LabelSwitcherConfig,\n private trackingService: LabelSwitcherTrackingService,\n private htmlNode: HtmlNode,\n ) {}\n\n ngOnInit() {\n if (this.labelSwitcherService.items.length) {\n this.htmlNode.setCssClass('label-switcher-shown', true);\n }\n }\n\n toggle() {\n this.showLabels = !this.showLabels;\n\n if (this.showLabels) {\n const positionEvent = this.labelSwitcherService.currentGeoLocationItem?.text;\n this.trackingService.trackDropDown('Click', positionEvent || '', 'Footer State Switcher');\n }\n }\n\n async switchLabel(item: LabelSwitcherItem) {\n if (item.isActive) {\n return;\n }\n\n this.trackingService.trackDropDown(\n 'Switch',\n `${this.labelSwitcherService.currentGeoLocationItem?.text}, ${this.labelSwitcherService.currentLabelItem?.text}`,\n item.text,\n item.url,\n );\n\n this.showLabels = false;\n await this.labelSwitcherService.switchLabel(item);\n }\n}\n"],"names":["LabelSwitcherConfig","_a","LazyClientConfigBase","Y","__ngFactoryType__","m","factory","__ngConditionalFactory__","labelSwitcherConfigFactory","ɵɵinject","LazyClientConfigService","__decorate","LazyClientConfig","key","product","ClientConfigProductName","SF","service","get","LabelSwitcherTrackingService","constructor","trackingService","trackConfirmationOverlay","actionEvent","positionEvent","eventDetails","track","trackDropDown","urlClicked","labelEvent","triggerEvent","TrackingService","ɵfac","providedIn","_LabelSwitcherTrackingService","LabelSwitcherService","config","page","toastrQueueService","cookieService","geoLocationService","dslService","logger","user","nativeAppService","authService","navigationService","urlService","eventsService","dateTimeService","currentLabelItemEvent","BehaviorSubject","undefined","unsubscribe","Subject","_items","currentLabelItemEvent$","currentGeoLocationItem","items","find","i","region","toLowerCase","currentPosition","mappedLocation","stateClient","messages","resources","currentLabelItem","_currentLabelItem","init","prepareItems","checkForContentErrors","whenReady","subscribe","positionChanges","pipe","distinctUntilChanged","prev","curr","position","next","showToasters","persistStayInState","newEvents","filter","event","eventName","VanillaEventNames","ToastrClosed","data","toastrContent","name","state","put","getCookieName","expires","setCookieExpiration","switchLabel","item","__async","text","Overlay_Ok_Epcot","logout","CookieName","StateChanged","url","parse","search","append","isNative","sendToNative","NativeEventType","LOCATION","parameters","label","countryCode","country","stateCode","regionCode","goTo","isAuthenticated","redirectAfterLogout","Promise","resolve","main","children","forEach","push","isActive","domain","replace","trim","image","error","infoRemote","evaluateExpression","showChangeLabelToaster","tap","show","ShowChangeLabelSuccess","add","ToastrType","ChangeLabelSuccess","schedule","ToastrSchedule","Immediate","placeholders","remove","takeUntil","Boolean","take","catchError","errorRemote","stayInStateAlreadyChosen","ChangeLabel","originstate","isRestrictedAccessCondition","isToastAlreadyShownInState","RestrictedAccess","addStateToToast","stateName","expireDate","now","setHours","toastKey","addToQueryCollection","ToastShownInStates","PERMANENT_COOKIE_EXPIRATION","states","getQueryCollection","includes","Page","ToastrQueueService","CookieService","GeolocationService","DslService","Logger","UserService","NativeAppService","AuthService","NavigationService","UrlService","EventsService","DateTimeService","_LabelSwitcherService","LabelSwitcherBootstrapService","menuActionsService","onFeatureInit","firstValueFrom","register","MenuAction","SHOW_LABEL_SWITCHER_OVERLAY","warn","MenuActionsService","_LabelSwitcherBootstrapService","provide","runOnFeatureInit","ɵɵtext","ɵɵelementStart","ɵɵelementEnd","ɵɵadvance","ɵɵtextInterpolate1","ctx","ɵɵelement","d","ɵɵproperty","item_r3","width","height","K","q","O","ɵɵlistener","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","toggle","ɵɵtemplate","LabelSwitcherComponent_Conditional_0_Conditional_4_Conditional_3_Template","ɵɵclassProp","showLabels","ɵɵconditional","hideFlag","item_r5","_r4","$implicit","ɵɵtextInterpolate","ɵɵrepeaterCreate","LabelSwitcherComponent_Conditional_0_Conditional_5_For_4_Template","ɵɵcomponentInstance","trackByName","ɵɵrepeater","labelSwitcherService","LabelSwitcherComponent_Conditional_0_Conditional_3_Template","LabelSwitcherComponent_Conditional_0_Conditional_4_Template","LabelSwitcherComponent_Conditional_0_Conditional_5_Template","tmp_1_0","labelSwitcherConfig","Label_Switcher_Heading","tmp_2_0","LabelSwitcherComponent","htmlNode","trackByProp","ngOnInit","length","setCssClass","ɵɵdirectiveInject","HtmlNode","selectors","inputs","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","LabelSwitcherComponent_Conditional_0_Template","CommonModule","OverlayModule","IconCustomComponent","styles","encapsulation","_LabelSwitcherComponent"],"mappings":"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"}