{"version":3,"file":"chunk-nkade5r1.js","sources":["packages/vanilla/lib/features/cashier/src/cashier.models.ts","packages/vanilla/lib/features/cashier/src/cashier-resource.service.ts","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit.models.ts","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit.service.ts","packages/vanilla/lib/features/cashier/src/cashier.service.ts","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit-responsive.component.html","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit-responsive.component.ts","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit-overlay.service.ts","packages/vanilla/lib/features/cashier/src/cashier-bootstrap.service.ts","packages/vanilla/lib/features/cashier/src/cashier.feature.ts","packages/vanilla/lib/features/cashier/src/cashier.component.ts","packages/vanilla/lib/features/cashier/src/quick-deposit/quick-deposit.guard.ts","packages/vanilla/lib/features/cashier/src/cashier-routing.ts"],"sourcesContent":["/**\n * @stable\n */\nexport enum CashierRouteAction {\n Deposit = 'deposit',\n Withdrawal = 'withdrawal',\n TransactionHistory = 'transactionhistory',\n PaymentPreferences = 'paymentpreferences',\n}\n\nexport enum DepositType {\n Quick = 'Quick',\n Normal = 'Normal',\n}\n","import { Injectable } from '@angular/core';\n\nimport { SharedFeaturesApiService } from '@frontend/vanilla/core';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n/**\n * @whatItDoes Provides cashier resource methods.\n *\n * @stable\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class CashierResourceService {\n constructor(private api: SharedFeaturesApiService) {}\n\n quickDepositEnabled(): Observable {\n return this.api.get('cashier/quickdepositenabled').pipe(map((data) => data.enabled));\n }\n}\n","/** @stable */\nexport interface QuickDepositEvent {\n action: QuickDepositAction;\n options: QuickDepositOptions;\n}\n\n/** @stable */\nexport interface QuickDepositOptions {\n showKYCVerifiedMessage?: boolean;\n}\n\n/** @stable */\nexport enum QuickDepositAction {\n Open = 'Open',\n}\n","import { Injectable, InjectionToken } from '@angular/core';\n\nimport { UserService } from '@frontend/vanilla/core';\nimport { CashierConfig } from '@frontend/vanilla/shared/cashier';\nimport { Observable, Subject, of } from 'rxjs';\n\nimport { CashierResourceService } from '../cashier-resource.service';\nimport { QuickDepositAction, QuickDepositEvent, QuickDepositOptions } from './quick-deposit.models';\n\n/**\n * @whatItDoes Opens quick deposit overlay\n *\n * @howToUse\n *\n * ```this.quickDepositService.open();```\n *\n * @description\n *\n * Cashier will be opened within the modal dialog. User balance gets updated if deposit is made.\n *\n * @stable\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class QuickDepositService {\n readonly events = new Subject();\n\n constructor(\n private cashierConfig: CashierConfig,\n private userService: UserService,\n private cashierResourceService: CashierResourceService,\n ) {}\n\n open(options: QuickDepositOptions) {\n this.events.next({ action: QuickDepositAction.Open, options });\n }\n\n isEnabled(): Observable {\n if (!this.cashierConfig.isQuickDepositEnabled || !this.userService.isAuthenticated) {\n return of(false);\n }\n\n return this.cashierResourceService.quickDepositEnabled();\n }\n}\n\nexport const QUICK_DEPOSIT_OPTIONS = new InjectionToken('QUICK_DEPOSIT_OPTIONS');\n","import { Injectable, inject } from '@angular/core';\n\nimport {\n AppInfoConfig,\n CashierNewOptions,\n ClaimType,\n FrontendHelperService,\n NativeAppConfig,\n NativeAppService,\n NavigationService,\n Page,\n ProductHomepagesConfig,\n ProductService,\n TrackingService,\n UserService,\n WINDOW,\n replacePlaceholders,\n} from '@frontend/vanilla/core';\nimport { CashierConfig } from '@frontend/vanilla/shared/cashier';\nimport { mapValues } from 'lodash-es';\n\nimport { DepositType } from './cashier.models';\nimport { QuickDepositService } from './quick-deposit/quick-deposit.service';\n\n/**\n * @whatItDoes Provides cashier navigation methods.\n *\n * @stable\n */\n@Injectable({ providedIn: 'root' })\nexport class CashierService {\n readonly #window = inject(WINDOW);\n\n constructor(\n private user: UserService,\n private cashierConfig: CashierConfig,\n private nativeApp: NativeAppService,\n private nativeAppSettings: NativeAppConfig,\n private page: Page,\n private quickDepositService: QuickDepositService,\n private appInfoConfig: AppInfoConfig,\n private productHomepagesConfig: ProductHomepagesConfig,\n private navigation: NavigationService,\n private frontendHelperService: FrontendHelperService,\n private trackingService: TrackingService,\n private productService: ProductService,\n ) {}\n\n /** Navigates to cashier entry page. */\n goToCashier(options: CashierNewOptions) {\n this.goToCashierInternal(options);\n }\n\n goToCashierDeposit(options: CashierNewOptions) {\n options = options || {};\n options.pathTemplate = this.cashierConfig.depositUrlTemplate;\n options.paymentsType = 'deposit';\n if (options.skipQuickDeposit) {\n /** Navigates to cashier standalone deposit page. If user is allowed to quick deposit opens quick deposit overlay. */\n this.goToCashierInternal(options);\n } else {\n this.quickDepositService.isEnabled().subscribe((enabled: boolean) => {\n if (enabled) {\n this.track(DepositType.Quick, options);\n this.quickDepositService.open({\n showKYCVerifiedMessage: options.queryParameters ? options.queryParameters['showKYCVerifiedMessage'] === 'true' : false,\n });\n } else {\n this.goToCashierInternal(options);\n }\n });\n }\n }\n\n /** Navigates to cashier withdrawal page. */\n goToCashierWithdrawal(options: CashierNewOptions) {\n options.pathTemplate = this.cashierConfig.withdrawUrlTemplate;\n options.paymentsType = 'withdrawal';\n this.goToCashierInternal(options);\n }\n\n /** Navigates to cashier manage my cards page. */\n goToManageMyCards(options: CashierNewOptions) {\n options.pathTemplate = this.cashierConfig.manageMyCardsUrlTemplate;\n options.paymentsType = 'manage-cards';\n this.goToCashierInternal(options);\n }\n\n /** Navigates to cashier payment history page. */\n goToTransactionHistory(options: CashierNewOptions) {\n options.paymentsType = 'transaction-history';\n this.goToCashierInternal(\n Object.assign(\n {},\n { pathTemplate: this.cashierConfig.transactionHistoryUrlTemplate, skipTracking: true },\n options,\n ),\n );\n }\n\n /** Navigates to payment preferences page. */\n goToPaymentPreferences(options: CashierNewOptions) {\n options = options || {};\n options.pathTemplate = this.cashierConfig.paymentPreferencesUrlTemplate;\n options.paymentsType = 'payment-preferences';\n this.goToCashierInternal(options);\n }\n\n /** Generates cashier url */\n generateCashierUrl(options: CashierNewOptions): string {\n const defaultOptions = {\n trackerId: '',\n replaceInHistory: false,\n pathTemplate: this.cashierConfig.urlTemplate,\n };\n options = Object.assign({}, defaultOptions, options || {});\n\n options = this.updateReturnUrl(options);\n\n let url = (this.cashierConfig.host ?? '') + options.pathTemplate;\n\n if (this.cashierConfig.singleSignOnIntegrationType === 'cookie') {\n url = url.replace('sessionKey={0}&', ''); // TODO: update dynacon entries and remove sessionKey={0} once singleSignOnIntegrationType is cookie everywhere. also remove this line after.\n }\n\n url = url.replace('{0}', this.user.ssoToken || ''); // TODO: remove this line once singleSignOnIntegrationType is cookie everywhere\n url = url.replace('{1}', this.page.lang);\n url = url.replace('{2}', encodeURIComponent(options.returnUrl!));\n url = url.replace('{3}', options.trackerId || '');\n\n options.queryParameters = options.queryParameters ?? {};\n\n if (this.user.id) {\n options.queryParameters['userId'] = this.user.id;\n }\n\n options.queryParameters['channelId'] = this.appInfoConfig.channel;\n options.queryParameters['brandId'] = this.appInfoConfig.brand;\n options.queryParameters['productId'] = this.appInfoConfig.product;\n options.queryParameters['frontend'] = this.frontendHelperService.getFrontendDescription();\n\n if (this.nativeApp.isNativeApp) {\n options.queryParameters['clientAppPath'] = '1';\n } else if (this.nativeApp.isNativeWrapper) {\n options.queryParameters['clientAppPath'] = '2';\n }\n\n Object.keys(options.queryParameters).forEach((key) => {\n url += `&${key}=${encodeURIComponent(options.queryParameters![key]!)}`;\n });\n\n return url;\n }\n\n private updateReturnUrl(options: CashierNewOptions): CashierNewOptions {\n if (!options.returnUrl) {\n options.returnUrl = this.#window.location.href;\n }\n if (!options.skipTracking) {\n if (this.nativeAppSettings.enableAppsFlyer) {\n if (options.appendReturnUrl) {\n options.returnUrl += `${options.returnUrl.indexOf('?') < 0 ? '?' : '&'}backToAppPath=nativeapp/backToAppEx`;\n } else\n options.returnUrl =\n this.#window.location.protocol.replace(':', '') +\n '://' +\n this.#window.location.host +\n '/' +\n this.page.lang +\n '?backToAppPath=nativeapp/backToAppEx';\n }\n }\n return options;\n }\n\n handlePartialRegistration(origin: string, returnUrl?: string, options?: CashierNewOptions) {\n if (this.user.claims.get(ClaimType.IsPartiallyRegistered) === 'True') {\n /** Navigates to partial registration if user claim matches. Otherwise, invokes cashier deposit. */\n const depositUrl = this.generateCashierUrl(\n Object.assign({ pathTemplate: this.cashierConfig.depositUrlTemplate }, options),\n );\n this.navigation.goTo(`${this.productHomepagesConfig.portal}/mobileportal/partialregistration?rurl=${depositUrl}`);\n } else {\n const newOptions = Object.assign(this.getOptions(origin, returnUrl), options || {});\n this.goToCashierDeposit(newOptions);\n }\n }\n\n private getOptions(origin: string, returnUrl?: string): CashierNewOptions {\n const trackerId = this.cashierConfig.trackerIds[origin.toLowerCase()] || '';\n returnUrl = returnUrl || this.navigation.location.absUrl();\n\n return {\n trackerId,\n returnUrl,\n };\n }\n\n private goToCashierInternal(options: CashierNewOptions) {\n this.track(DepositType.Normal, options);\n\n const targetWindow = options.cashierTargetWindow ? this.#window[options.cashierTargetWindow] : this.#window;\n\n if (!targetWindow) {\n return;\n }\n\n if (this.productService.isSingleDomainApp && this.cashierConfig.isPaymentsAppEnabled) {\n this.goToPaymentsUrl(options);\n } else {\n const url = this.generateCashierUrl(options);\n if (options.replaceInHistory) {\n targetWindow.location.replace(url);\n } else {\n targetWindow.location.href = url;\n }\n }\n }\n\n private track(type: DepositType, options: CashierNewOptions) {\n if (options.skipTracking || !options.customTracking) {\n return;\n }\n\n const placeholders = {\n type,\n };\n\n const event = replacePlaceholders(options.customTracking.eventName, placeholders)!;\n const data = mapValues(options.customTracking.data || {}, (value) => replacePlaceholders(value, placeholders));\n\n this.trackingService.triggerEvent(event, data);\n }\n\n private goToPaymentsUrl(options: CashierNewOptions) {\n options = this.updateReturnUrl(options);\n let url = this.cashierConfig.paymentsAppUrl;\n\n url = url.replace('{0}', options.paymentsType || 'deposit');\n url = url.replace('{1}', encodeURIComponent(options.returnUrl!));\n this.navigation.goTo(url);\n }\n}\n","@if (deviceService.isMobilePhone) {\n
\n
\n
\n
\n \n
\n
\n
\n
\n} @else {\n
\n
\n \n
\n
\n}\n","import { OverlayModule, OverlayRef } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit, ViewEncapsulation, inject, signal } from '@angular/core';\n\nimport {\n AppInfoConfig,\n CashierService,\n CommonMessages,\n DeviceService,\n ElementKeyDirective,\n ElementRepositoryService,\n Logger,\n MenuItemsService,\n MenuSection,\n Page,\n ProductService,\n UserService,\n UtilsService,\n VanillaElements,\n WINDOW,\n} from '@frontend/vanilla/core';\nimport { CashierConfig, CashierIframeComponent, CashierIframeEvent, CashierIframeType } from '@frontend/vanilla/shared/cashier';\n\nimport { QuickDepositOptions } from './quick-deposit.models';\nimport { QUICK_DEPOSIT_OPTIONS } from './quick-deposit.service';\n\n@Component({\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [OverlayModule, CommonModule, ElementKeyDirective, CashierIframeComponent],\n selector: 'lh-quick-deposit-responsive',\n templateUrl: 'quick-deposit-responsive.component.html',\n styleUrl: '../../../../../../themepark/themes/whitelabel/components/quick-deposit/styles.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class QuickDepositResponsiveComponent implements OnInit {\n readonly url = signal('');\n readonly VanillaElements = VanillaElements;\n readonly #window = inject(WINDOW);\n\n constructor(\n public deviceService: DeviceService,\n public commonMessages: CommonMessages,\n private cashierService: CashierService,\n private elementRepositoryService: ElementRepositoryService,\n private cashierConfig: CashierConfig,\n private user: UserService,\n private page: Page,\n private appInfoConfig: AppInfoConfig,\n private utils: UtilsService,\n private overlayRef: OverlayRef,\n private menuItemsService: MenuItemsService,\n private logger: Logger,\n @Inject(QUICK_DEPOSIT_OPTIONS) private options: QuickDepositOptions,\n private productService: ProductService,\n ) {}\n\n ngOnInit() {\n let urlTemplate = this.cashierConfig.quickDepositUrlTemplate;\n\n if (this.cashierConfig.singleSignOnIntegrationType === 'cookie') {\n urlTemplate = urlTemplate.replace('&sessionKey={5}', ''); // TODO: update dynacon entries and remove sessionKey={5} from them once singleSignOnIntegrationType is cookie everywhere. also remove this line after.\n }\n\n this.url.set(\n this.utils.format(\n this.cashierConfig.host + urlTemplate,\n this.user.id,\n this.appInfoConfig.brand,\n this.appInfoConfig.product,\n this.appInfoConfig.channel,\n this.page.lang,\n this.user.ssoToken, // TODO: remove this line once singleSignOnIntegrationType is cookie everywhere\n encodeURIComponent(this.#window.location.href),\n ),\n );\n\n if (this.options.showKYCVerifiedMessage) {\n this.url.update((url: string) => url + '&showKYCVerifiedMessage=true');\n }\n }\n\n close(message: { action: string; [key: string]: any }) {\n if (message['showAllOptions'] === 'true') {\n //TODO remove this condition once all labels went live with payments single domain\n if (this.productService.isSingleDomainApp && this.cashierConfig.isPaymentsAppEnabled) {\n this.overlayRef.detach();\n }\n this.cashierService.goToCashierDeposit({ skipQuickDeposit: true });\n } else {\n this.overlayRef.detach();\n this.menuItemsService.setActive(MenuSection.Menu, null);\n }\n }\n\n resize(message: CashierIframeEvent) {\n try {\n const element = this.elementRepositoryService\n .get(VanillaElements.QUICK_DEPOSIT_WRAPPER)\n ?.querySelector('.player-quickdeposit-iframe-wrapper');\n\n if (element?.style && (!message.target || message.target.toLowerCase() === CashierIframeType.QuickDeposit)) {\n const isNotMobile = !this.deviceService.isMobilePhone;\n const parsedWidth = isNotMobile && message['width'] && message['width'].length ? `${parseInt(message['width'], 10)}px` : null;\n const parsedHeight = message['height'] && message['height'].length ? `${parseInt(message['height'], 10)}px` : null;\n\n // mobile phone and v2: theme specify width 100%\n if (parsedWidth != null) {\n element.style.width = parsedWidth;\n }\n\n if (parsedHeight != null) {\n element.style.height = parsedHeight;\n }\n }\n } catch (err: any) {\n this.logger.warn(`Failed to resize.`, err);\n }\n }\n}\n","import { FlexibleConnectedPositionStrategy, GlobalPositionStrategy, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\n\nimport { DeviceService, DomChangeService, ElementRepositoryService, HtmlNode, MediaQueryService, VanillaElements } from '@frontend/vanilla/core';\nimport { OverlayFactory } from '@frontend/vanilla/shared/overlay-factory';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { QuickDepositResponsiveComponent } from './quick-deposit-responsive.component';\nimport { QuickDepositOptions } from './quick-deposit.models';\nimport { QUICK_DEPOSIT_OPTIONS } from './quick-deposit.service';\n\n@Injectable({ providedIn: 'root' })\nexport class QuickDepositOverlayService {\n private currentRef: OverlayRef | null;\n private unsubscribe: Subject | null;\n private removeScrollBlockOnClose = false;\n\n constructor(\n private overlay: OverlayFactory,\n private elementRepositoryService: ElementRepositoryService,\n private injector: Injector,\n private media: MediaQueryService,\n private domChangeService: DomChangeService,\n private htmlNode: HtmlNode,\n private deviceService: DeviceService,\n ) {}\n\n private get isDesktop(): boolean {\n return this.media.isActive('gt-sm');\n }\n\n private static getInjector(overlayRef: OverlayRef, options: QuickDepositOptions, parentInjector: Injector): Injector {\n return Injector.create({\n providers: [\n { provide: OverlayRef, useValue: overlayRef },\n { provide: QUICK_DEPOSIT_OPTIONS, useValue: options },\n ],\n parent: parentInjector,\n });\n }\n\n show(options: QuickDepositOptions) {\n if (!this.currentRef) {\n // check if 'cdk-global-scrollblock'-class was added by some other component e.g. menu\n this.removeScrollBlockOnClose = !this.htmlNode.hasBlockScrolling();\n const panelclass = this.deviceService.isMobilePhone\n ? ['lh-quick-deposit-container', 'generic-modal-drawer']\n : ['lh-quick-deposit-container'];\n const overlayRef = this.overlay.create({\n backdropClass: 'lh-backdrop',\n panelClass: panelclass,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: this.createPositionStrategy(),\n });\n overlayRef.backdropClick().subscribe(() => overlayRef.detach());\n overlayRef.detachments().subscribe(() => {\n this.stopReactingToMediaChanges();\n this.overlay.dispose(this.currentRef);\n this.currentRef = null;\n\n if (this.removeScrollBlockOnClose) {\n this.htmlNode.blockScrolling(false);\n }\n });\n\n const injector = QuickDepositOverlayService.getInjector(overlayRef, options, this.injector);\n\n const portal = new ComponentPortal(QuickDepositResponsiveComponent, null, injector);\n overlayRef.attach(portal);\n\n this.currentRef = overlayRef;\n\n this.reactToMediaChanges();\n\n this.htmlNode.blockScrolling(true);\n }\n }\n\n private createPositionStrategy(): FlexibleConnectedPositionStrategy | GlobalPositionStrategy {\n if (this.isDesktop) {\n const anchor = this.elementRepositoryService.get(VanillaElements.DEPOSIT_BUTTON_ANCHOR)!;\n\n return this.overlay.position\n .flexibleConnectedTo(anchor)\n .withPositions([{ originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }])\n .withPush(false)\n .withFlexibleDimensions(false);\n }\n\n return this.overlay.position.global().top();\n }\n\n private reactToMediaChanges() {\n this.unsubscribe = new Subject();\n this.media\n .observe()\n .pipe(takeUntil(this.unsubscribe))\n .subscribe(() => {\n this.currentRef!.updatePositionStrategy(this.createPositionStrategy());\n });\n\n this.domChangeService\n .observe(this.elementRepositoryService.get(VanillaElements.AUTH_HEADER_SECTION)!)\n .pipe(\n takeUntil(this.unsubscribe),\n filter(\n (m: MutationRecord) =>\n this.isDesktop &&\n Array.from(m.addedNodes).some((n: Node) => n.nodeType == 1 && (n).innerHTML.includes('deposit-button-anchor')),\n ),\n )\n .subscribe(() => {\n this.currentRef!.updatePositionStrategy(this.createPositionStrategy());\n });\n }\n\n private stopReactingToMediaChanges() {\n this.unsubscribe?.next();\n this.unsubscribe?.complete();\n this.unsubscribe = null;\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport {\n CashierNewOptions,\n CashierService as CoreCashierService,\n MenuAction,\n MenuActionOrigin,\n MenuActionsService,\n NavigationService,\n OnFeatureInit,\n ProductHomepagesConfig,\n ToastrQueueService,\n TrackingService,\n UserEvent,\n UserLoginEvent,\n UserService,\n} from '@frontend/vanilla/core';\nimport { AccountMenuDataService } from '@frontend/vanilla/shared/account-menu';\nimport { CashierConfig } from '@frontend/vanilla/shared/cashier';\nimport { firstValueFrom } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\nimport { CashierService } from './cashier.service';\nimport { QuickDepositOverlayService } from './quick-deposit/quick-deposit-overlay.service';\nimport { QuickDepositAction, QuickDepositEvent } from './quick-deposit/quick-deposit.models';\nimport { QuickDepositService } from './quick-deposit/quick-deposit.service';\n\n@Injectable()\nexport class CashierBootstrapService implements OnFeatureInit {\n constructor(\n private cashierConfig: CashierConfig,\n private cashierService: CashierService,\n private coreCashierService: CoreCashierService,\n private navigation: NavigationService,\n private menuActionsService: MenuActionsService,\n private accountMenuService: AccountMenuDataService,\n private toastrQueueService: ToastrQueueService,\n private user: UserService,\n private productHomepagesConfig: ProductHomepagesConfig,\n private quickDepositService: QuickDepositService,\n private quickDepositOverlayService: QuickDepositOverlayService,\n private trackingService: TrackingService,\n ) {}\n\n async onFeatureInit() {\n await firstValueFrom(this.cashierConfig.whenReady);\n\n this.coreCashierService.set(this.cashierService);\n\n this.menuActionsService.register(MenuAction.GOTO_CASHIER, (origin: string) => {\n const options = this.getCashierOptions(origin);\n\n if (origin === MenuActionOrigin.Header) {\n // use deposit action here\n this.cashierService.goToCashierDeposit(options);\n } else {\n this.cashierService.goToCashier(options);\n }\n });\n this.menuActionsService.register(MenuAction.GOTO_DEPOSIT, async (origin: string) => {\n const hookDetected = await this.coreCashierService.runDepositHooks();\n if (hookDetected) return;\n\n const options = this.getCashierOptions(origin);\n options.skipQuickDeposit = !this.cashierConfig.quickDepositAllowedOrigins[origin.toLowerCase()];\n this.cashierService.handlePartialRegistration(origin, this.accountMenuService.routerModeReturnUrl, options);\n });\n this.menuActionsService.register(MenuAction.GOTO_WITHDRAWAL, (origin: string) => {\n const options = this.getCashierOptions(origin);\n this.cashierService.goToCashierWithdrawal(options);\n });\n this.menuActionsService.register(MenuAction.GOTO_MANAGE_MY_CARDS, (origin: string) => {\n const options = this.getCashierOptions(origin);\n this.cashierService.goToManageMyCards(options);\n });\n this.menuActionsService.register(MenuAction.GOTO_TRANSACTION_HISTORY, (origin: string) => {\n const options = this.getCashierOptions(origin);\n this.cashierService.goToTransactionHistory(options);\n });\n this.menuActionsService.register(MenuAction.GOTO_PAYMENT_PREFERENCES, (origin: string) => {\n const options = this.getCashierOptions(origin);\n this.cashierService.goToPaymentPreferences(options);\n });\n this.menuActionsService.register(MenuAction.DEPOSIT_PROMPT_ACTION, (origin: string) => {\n const options = this.getCashierOptions(origin);\n\n if (this.toastrQueueService.currentToast) {\n const contextToastContent = this.toastrQueueService.currentToast.content;\n this.trackingService.getContentItemTracking(contextToastContent.parameters, 'tracking.ActionEvent').subscribe((tracking) => {\n if (tracking) {\n options.customTracking = {\n eventName: tracking.event,\n data: tracking.data,\n };\n }\n });\n }\n\n this.cashierService.goToCashierDeposit(options);\n });\n this.menuActionsService.register(MenuAction.HEADER_BALANCE_ACTION, () => {\n if (!this.user.realPlayer) {\n this.cashierService.goToCashierDeposit({});\n } else if (!this.navigation.location.absUrl().includes('/mobileportal/balancebreakdown')) {\n //Todo: Avoid appending rurl multiple times to the url. Remove when fixed on Vanilla side\n this.navigation.goTo(this.productHomepagesConfig.portal + '/mobileportal/balancebreakdown', {\n appendReferrer: this.navigation.location.absUrl(),\n });\n }\n });\n\n if (this.cashierConfig.isQuickDepositEnabled) {\n if (this.user.isAuthenticated) {\n this.initQuickDeposit();\n } else {\n this.user.events.pipe(filter((event: UserEvent) => event instanceof UserLoginEvent)).subscribe(() => this.initQuickDeposit());\n }\n }\n }\n\n private initQuickDeposit() {\n this.quickDepositService.events.subscribe((event: QuickDepositEvent) => {\n if (event.action === QuickDepositAction.Open) {\n this.quickDepositOverlayService.show(event.options);\n }\n });\n }\n\n private getCashierOptions(origin: string): CashierNewOptions {\n const trackerId = this.cashierConfig.trackerIds[origin.toLowerCase()] || '';\n const returnUrl = this.navigation.location.absUrl() || this.accountMenuService.routerModeReturnUrl;\n\n return {\n trackerId,\n returnUrl,\n };\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { CashierBootstrapService } from './cashier-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(CashierBootstrapService)];\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CashierNewOptions, LastKnownProductService, NavigationService } from '@frontend/vanilla/core';\nimport { CashierConfig } from '@frontend/vanilla/shared/cashier';\nimport { firstValueFrom } from 'rxjs';\n\nimport { CashierRouteAction } from './cashier.models';\nimport { CashierService } from './cashier.service';\n\n/**\n * @stable\n */\n@Component({\n standalone: true,\n imports: [OverlayModule],\n selector: 'lh-cashier',\n template: '',\n})\nexport class CashierComponent implements OnInit {\n constructor(\n private activatedRoute: ActivatedRoute,\n private cashierConfig: CashierConfig,\n private navigation: NavigationService,\n private lastKnownProductService: LastKnownProductService,\n private cashierService: CashierService,\n ) {}\n\n async ngOnInit() {\n await firstValueFrom(this.cashierConfig.whenReady);\n\n const options: CashierNewOptions = {\n trackerId: this.navigation.location.search.get('trackerId') || this.cashierConfig.trackerIds.menu,\n returnUrl: this.navigation.location.search.get('returnUrl') || this.lastKnownProductService.get().url,\n replaceInHistory: true,\n };\n\n switch ((this.activatedRoute.snapshot.params.action || '').toLowerCase()) {\n case CashierRouteAction.Deposit:\n this.cashierService.goToCashierDeposit(options);\n break;\n case CashierRouteAction.Withdrawal:\n this.cashierService.goToCashierWithdrawal(options);\n break;\n case CashierRouteAction.TransactionHistory:\n this.cashierService.goToTransactionHistory(options);\n break;\n case CashierRouteAction.PaymentPreferences:\n this.cashierService.goToPaymentPreferences(options);\n break;\n default:\n this.cashierService.goToCashier(options);\n break;\n }\n }\n}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot } from '@angular/router';\n\nimport { CashierConfig } from '@frontend/vanilla/shared/cashier';\nimport { firstValueFrom } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { QuickDepositService } from './quick-deposit.service';\n\nexport const quickDepositGuard = async (route: ActivatedRouteSnapshot) => {\n const quickDepositService = inject(QuickDepositService);\n const config = inject(CashierConfig);\n\n if (route.params['action'] !== 'deposit') {\n return true;\n }\n\n await firstValueFrom(config.whenReady);\n\n return firstValueFrom(\n quickDepositService.isEnabled().pipe(\n map((enabled: boolean) => {\n if (enabled) {\n quickDepositService.open({ showKYCVerifiedMessage: false });\n return false;\n }\n return true;\n }),\n ),\n );\n};\n","import { Route } from '@angular/router';\n\nimport { routeData } from '@frontend/vanilla/core';\n\nimport { CashierComponent } from './cashier.component';\nimport { quickDepositGuard } from './quick-deposit/quick-deposit.guard';\n\nexport const ROUTES: Route[] = [\n {\n path: ':action',\n component: CashierComponent,\n canActivate: [quickDepositGuard],\n data: routeData({ authorized: true }),\n },\n {\n path: '',\n component: CashierComponent,\n data: routeData({ authorized: true }),\n },\n];\n"],"names":["CashierRouteAction","DepositType","CashierResourceService","constructor","api","quickDepositEnabled","get","pipe","map","data","enabled","ɵɵinject","SharedFeaturesApiService","u","factory","ɵfac","providedIn","_CashierResourceService","QuickDepositAction","QuickDepositService","cashierConfig","userService","cashierResourceService","events","Subject","open","options","next","action","Open","isEnabled","isQuickDepositEnabled","isAuthenticated","of","CashierConfig","UserService","_QuickDepositService","QUICK_DEPOSIT_OPTIONS","InjectionToken","CashierService","_window","user","nativeApp","nativeAppSettings","page","quickDepositService","appInfoConfig","productHomepagesConfig","navigation","frontendHelperService","trackingService","productService","__privateAdd","inject","WINDOW","goToCashier","goToCashierInternal","goToCashierDeposit","pathTemplate","depositUrlTemplate","paymentsType","skipQuickDeposit","subscribe","track","Quick","showKYCVerifiedMessage","queryParameters","goToCashierWithdrawal","withdrawUrlTemplate","goToManageMyCards","manageMyCardsUrlTemplate","goToTransactionHistory","Object","assign","transactionHistoryUrlTemplate","skipTracking","goToPaymentPreferences","paymentPreferencesUrlTemplate","generateCashierUrl","defaultOptions","trackerId","replaceInHistory","urlTemplate","updateReturnUrl","url","host","singleSignOnIntegrationType","replace","ssoToken","lang","encodeURIComponent","returnUrl","id","channel","brand","product","getFrontendDescription","isNativeApp","isNativeWrapper","keys","forEach","key","__privateGet","location","href","enableAppsFlyer","appendReturnUrl","indexOf","protocol","handlePartialRegistration","origin","claims","ClaimType","IsPartiallyRegistered","depositUrl","goTo","portal","newOptions","getOptions","trackerIds","toLowerCase","absUrl","Normal","targetWindow","cashierTargetWindow","isSingleDomainApp","isPaymentsAppEnabled","goToPaymentsUrl","type","customTracking","placeholders","event","replacePlaceholders","eventName","mapValues","value","triggerEvent","paymentsAppUrl","NativeAppService","NativeAppConfig","Page","AppInfoConfig","ProductHomepagesConfig","NavigationService","FrontendHelperService","TrackingService","ProductService","_CashierService","ɵɵtext","ɵɵelementStart","ɵɵlistener","$event","ɵɵrestoreView","_r1","ctx_r1","ɵɵnextContext","ɵɵresetView","close","resize","ɵɵelementEnd","I","ɵɵadvance","ɵɵproperty","VanillaElements","QUICK_DEPOSIT_WRAPPER","he","_r3","QuickDepositResponsiveComponent","deviceService","commonMessages","cashierService","elementRepositoryService","utils","overlayRef","menuItemsService","logger","signal","__privateSet","ngOnInit","quickDepositUrlTemplate","set","format","update","message","detach","setActive","MenuSection","Menu","element","querySelector","style","target","CashierIframeType","QuickDeposit","parsedWidth","isMobilePhone","length","parseInt","parsedHeight","width","height","err","warn","ɵɵdirectiveInject","DeviceService","CommonMessages","ElementRepositoryService","UtilsService","OverlayRef","MenuItemsService","Logger","W","selectors","standalone","features","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","QuickDepositResponsiveComponent_Conditional_0_Template","QuickDepositResponsiveComponent_Conditional_1_Template","ɵɵconditional","OverlayModule","CommonModule","ElementKeyDirective","CashierIframeComponent","styles","encapsulation","changeDetection","_QuickDepositResponsiveComponent","QuickDepositOverlayService","overlay","injector","media","domChangeService","htmlNode","removeScrollBlockOnClose","isDesktop","isActive","getInjector","parentInjector","Injector","create","providers","provide","useValue","parent","show","currentRef","hasBlockScrolling","panelclass","backdropClass","panelClass","scrollStrategy","scrollStrategies","noop","positionStrategy","createPositionStrategy","backdropClick","detachments","stopReactingToMediaChanges","dispose","blockScrolling","ComponentPortal","attach","reactToMediaChanges","anchor","DEPOSIT_BUTTON_ANCHOR","position","flexibleConnectedTo","withPositions","originX","originY","overlayX","overlayY","withPush","withFlexibleDimensions","global","top","unsubscribe","observe","takeUntil","updatePositionStrategy","AUTH_HEADER_SECTION","filter","m","Array","from","addedNodes","some","n","nodeType","innerHTML","includes","complete","OverlayFactory","MediaQueryService","DomChangeService","HtmlNode","_QuickDepositOverlayService","CashierBootstrapService","coreCashierService","menuActionsService","accountMenuService","toastrQueueService","quickDepositOverlayService","onFeatureInit","__async","firstValueFrom","whenReady","register","MenuAction","GOTO_CASHIER","getCashierOptions","MenuActionOrigin","Header","GOTO_DEPOSIT","runDepositHooks","quickDepositAllowedOrigins","routerModeReturnUrl","GOTO_WITHDRAWAL","GOTO_MANAGE_MY_CARDS","GOTO_TRANSACTION_HISTORY","GOTO_PAYMENT_PREFERENCES","DEPOSIT_PROMPT_ACTION","currentToast","contextToastContent","content","getContentItemTracking","parameters","tracking","HEADER_BALANCE_ACTION","realPlayer","appendReferrer","initQuickDeposit","UserLoginEvent","MenuActionsService","AccountMenuDataService","ToastrQueueService","_CashierBootstrapService","runOnFeatureInit","CashierComponent","activatedRoute","lastKnownProductService","search","menu","snapshot","params","Deposit","Withdrawal","TransactionHistory","PaymentPreferences","ActivatedRoute","LastKnownProductService","dependencies","_CashierComponent","quickDepositGuard","route","config","ROUTES","path","component","canActivate","authorized"],"mappings":"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"}