{"version":3,"file":"chunk-lewbjp8q.js","sources":["packages/sports/web/app/src/dropdown/models.ts","packages/sports/web/app/src/dropdown/dropdown.component.html","packages/sports/web/app/src/dropdown/dropdown.component.ts","packages/sports/web/app/src/dropdown/dropdown.module.ts","packages/sports/libs/common/ui/custom-active-state/src/lib/custom-active-state-registry.service.ts","packages/sports/libs/common/ui/custom-active-state/src/lib/custom-active-state.directive.ts","packages/sports/common/betslip/integration/services/line-switcher-pick-handler.service.ts","packages/sports/web/app/src/option-pick/pick.component.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport enum ArrowType {\n None,\n Left,\n Right,\n}\n\nexport enum OptionType {\n Regular,\n Special,\n}\n\nexport interface OptionBadge {\n text: string;\n cssClass: string;\n}\n\nexport interface DropdownOption {\n id: string | number;\n name?: string;\n disabled?: boolean;\n payload?: T;\n type?: OptionType;\n arrowType?: ArrowType;\n automation?: any;\n badge?: OptionBadge;\n}\n\nexport const DROPDOWN_CUSTOM_CLASS = new InjectionToken('DROPDOWN_CUSTOM_CLASS');\n","
\n \n \n \n\n \n \n \n {{ title }}\n \n @if (expandable()) {\n @if (expanded()) {\n \n } @else {\n \n }\n }\n \n \n \n \n
\n\n\n
\n \n @switch (option.type) {\n @case (optionType.Regular) {\n \n }\n @case (optionType.Special) {\n
\n
\n {{ option.name }}\n \n
\n }\n }\n
\n
\n
\n\n\n \n @if (offerBadgeTemplate && option && option.badge) {\n \n }\n {{ option.name }}\n @if (option.hasNewBadge) {\n {{ sitecore.globalMessages.NewBadgeText }}\n }\n \n\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n NgZone,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { Sitecore } from '@frontend/sports/common/client-config-data-access';\nimport { OpenedModalsStorageService } from '@frontend/sports/modal/feature';\nimport { DeviceService, NativeAppService, WINDOW } from '@frontend/vanilla/core';\nimport { Store } from '@ngrx/store';\nimport { RxStrategyProvider } from '@rx-angular/cdk/render-strategies';\nimport { NgxPopperjsContentComponent, NgxPopperjsPlacements, NgxPopperjsTriggers } from 'ngx-popperjs';\nimport { Subject, filter, fromEvent, skip, takeUntil } from 'rxjs';\n\nimport { UiManagerActions } from '../ui-manager/ui-manager.actions';\nimport { IUiRootState } from '../ui-manager/ui-manager.state';\nimport { UiStates } from '../ui-manager/ui-states.enum';\nimport { ArrowType, DROPDOWN_CUSTOM_CLASS, DropdownOption, OptionType } from './models';\n\n@Component({\n selector: 'ms-dropdown',\n templateUrl: './dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class DropdownComponent implements OnInit {\n private readonly _window = inject(WINDOW);\n\n @Input() activeOption?: DropdownOption;\n @Input() autoClose = true;\n @Input() @HostBinding('class.dropdown-disabled') disabled = false;\n @Input() noSelectionText = '';\n @Input() contentClass = '';\n @Input() titleTemplate: TemplateRef;\n @Input() optionTemplate: TemplateRef;\n @Input() textColor?: string;\n @Input() offerBadgeTemplate?: TemplateRef;\n @Input() isIconTemplate = false;\n @Output() optionChange = new EventEmitter();\n @Output() dropdownState = new EventEmitter();\n @ViewChild('dropDown') dropDown: NgxPopperjsContentComponent;\n @Input() popperClass = 'dropdown-popper';\n\n @Input() set options(options: DropdownOption[]) {\n this._options.set(options);\n }\n\n @Input() set viewport(viewport: string | undefined) {\n this._viewport.set(viewport ?? 'body');\n }\n\n @Input() set dropdownPlacement(placement: 'right' | 'left') {\n this.placement.set(this.placementMap[placement]);\n }\n\n @HostBinding('class.ms-dropdown') hostCssClass = true;\n\n @HostBinding('class.dropdown-expanded') get expandedClass(): boolean {\n return this.expanded();\n }\n\n expanded = signal(false);\n arrowClass = computed(() => (this.expanded() ? 'theme-up' : 'theme-down'));\n\n optionType = OptionType;\n popperFlip = true;\n\n private expandedState$ = new Subject();\n\n private get element(): HTMLElement {\n return this.elementRef.nativeElement;\n }\n\n get isOnEdpModal(): boolean {\n return !!this.openedModals.edpModal;\n }\n\n _viewport = signal('body');\n _options = signal([]);\n expandable = computed(() => this._options().length > 1);\n containerClass = computed(() => (this.expandable() ? 'multiple' : 'single'));\n\n placement = signal(NgxPopperjsPlacements.BOTTOM);\n private readonly placementMap = {\n right: NgxPopperjsPlacements.BOTTOMEND,\n left: NgxPopperjsPlacements.BOTTOMSTART,\n };\n\n private ngZone = inject(NgZone);\n private readonly destroyRef = inject(DestroyRef);\n\n ngOnInit(): void {\n if (this.customClass) {\n this.popperClass = `dropdown-popper,${this.customClass}`;\n }\n }\n\n private reset = (): void => {\n if (!this.expanded()) {\n return;\n }\n if (this.expanded() && this.expandable()) {\n this.dropDown?.hide();\n }\n this.expanded.set(false);\n this.expandedState$.next(this.expanded());\n this.trySubscribeToResetTriggers(this.expanded());\n };\n\n constructor(\n private elementRef: ElementRef,\n private strategy: RxStrategyProvider,\n private deviceService: DeviceService,\n private nativeAppService: NativeAppService,\n public sitecore: Sitecore,\n private store: Store,\n private openedModals: OpenedModalsStorageService,\n @Optional() @Inject(DROPDOWN_CUSTOM_CLASS) private readonly customClass?: string,\n ) {\n this.customClass = customClass;\n\n if (this.nativeAppService.isTerminal) {\n this.popperFlip = false;\n }\n }\n\n selectOption(option: DropdownOption): void {\n this.reset();\n this.activeOption = option;\n this.scheduleOptionChange(option);\n }\n\n selectSpecialOption(option: DropdownOption): void {\n this.scheduleOptionChange(option);\n }\n\n private scheduleOptionChange = (option: DropdownOption) => {\n this.strategy.schedule(() => this.optionChange.emit(option), { scope: this, patchZone: this.ngZone }).subscribe();\n };\n\n toggleExpandedState(): void {\n this.store.dispatch(UiManagerActions.removeState({ state: UiStates.MarketSubTypeTooltipShown }));\n\n if (this.disabled || !this.expandable()) {\n return;\n }\n\n this.expanded.update((value) => !value);\n this.expandedState$.next(this.expanded());\n this.trySubscribeToResetTriggers(this.expanded());\n this.dropdownState.emit(this.expanded());\n if (this.dropDown) {\n if (this.expanded() && this.expandable()) {\n this.dropDown.show();\n } else {\n this.dropDown.hide();\n }\n }\n }\n\n optionTrackBy(index: number, option: DropdownOption): string | number {\n return option.id;\n }\n\n getArrowClass(arrowType?: ArrowType): string {\n switch (arrowType) {\n case ArrowType.Left:\n return 'theme-left';\n case ArrowType.Right:\n return 'theme-right';\n default:\n return '';\n }\n }\n\n private isOwnClick(event: Event): boolean {\n return (\n !!event.target && (this.dropDown.popperViewRef.nativeElement.contains(event.target) || this.element.contains(event.target))\n );\n }\n\n // Reset triggers are: device orientation change and window click events outside dropdown\n private trySubscribeToResetTriggers(expanded: boolean): void {\n if (!this.autoClose || !expanded) {\n return;\n }\n\n const takeUntil$ = this.expandedState$.pipe(filter((x) => !x));\n\n this.deviceService.orientation.pipe(skip(1), takeUntilDestroyed(this.destroyRef), takeUntil(takeUntil$)).subscribe(() => this.reset());\n fromEvent(this._window, 'mousedown')\n .pipe(\n filter((e) => !this.isOwnClick(e)),\n takeUntilDestroyed(this.destroyRef),\n takeUntil(takeUntil$),\n )\n .subscribe(() => {\n this.reset();\n });\n }\n\n protected readonly NgxPopperjsTriggers = NgxPopperjsTriggers;\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AutomationModule } from '@frontend/sports/automation/core-feature';\nimport { IconCustomComponent } from '@frontend/vanilla/shared/icons';\nimport { RxFor } from '@rx-angular/template/for';\nimport { NgxPopperjsModule } from 'ngx-popperjs';\nimport { NgScrollbar, NgScrollbarModule } from 'ngx-scrollbar';\n\nimport { DropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [CommonModule, AutomationModule, NgxPopperjsModule, NgScrollbarModule, RxFor, IconCustomComponent],\n exports: [DropdownComponent],\n declarations: [DropdownComponent],\n providers: [NgScrollbar],\n})\nexport class DropdownModule {}\n","import { DOCUMENT } from '@angular/common';\nimport { DestroyRef, Injectable, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { debounceTime, fromEvent, merge } from 'rxjs';\n\nimport { CustomActiveStateDirective } from './custom-active-state.directive';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomActiveStateRegistry {\n private readonly _doc = inject(DOCUMENT);\n private readonly _destroy = inject(DestroyRef);\n\n private _callbackRegistry: CustomActiveStateDirective[] = [];\n\n constructor() {\n const activeEnd$ = merge(\n fromEvent(this._doc, 'mouseup'),\n fromEvent(this._doc, 'touchend'),\n fromEvent(this._doc, 'touchcancel'),\n ).pipe(debounceTime(100), takeUntilDestroyed(this._destroy));\n\n activeEnd$.subscribe(() => {\n if (!this._callbackRegistry.length) {\n return;\n }\n\n this._callbackRegistry.forEach((directive) => {\n directive.triggerInteractionEnd();\n });\n\n this._callbackRegistry = [];\n });\n }\n\n register(directive: CustomActiveStateDirective): void {\n if (this._callbackRegistry.includes(directive)) {\n return;\n }\n\n this._callbackRegistry.push(directive);\n }\n\n unregister(directive: CustomActiveStateDirective): void {\n this._callbackRegistry = this._callbackRegistry.filter((d) => d !== directive);\n }\n}\n","import { Directive, ElementRef, HostListener, Input, OnDestroy, Renderer2, inject } from '@angular/core';\n\nimport { CustomActiveStateRegistry } from './custom-active-state-registry.service';\n\n/**\n * A directive that allows adding a custom active state class to a component.\n * This allows for custom handling of :active selector in cases where :active is not reliable (e.g. IOS devices).\n * The active state applies the custom class \"isCustomActiveState\" by default but this can be customized.\n *\n * Usage:\n * Add the `msCustomActiveState` attribute to an element.\n *\n * Inputs:\n * - `activeClass`: Defines a custom class to be applied to the target element during active state. (default: `isCustomActiveState`).\n */\n@Directive({\n selector: '[msCustomActiveState]',\n standalone: true,\n})\nexport class CustomActiveStateDirective implements OnDestroy {\n @Input() activeClass = 'isCustomActiveState';\n\n private readonly element: ElementRef = inject(ElementRef);\n private readonly registry = inject(CustomActiveStateRegistry);\n private readonly renderer2 = inject(Renderer2);\n\n private _isActive = false;\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n triggerInteractionStart(): void {\n if (this._isActive) {\n return;\n }\n\n this.renderer2.addClass(this.element.nativeElement, this.activeClass);\n this.registry.register(this);\n this._isActive = true;\n }\n\n triggerInteractionEnd(): void {\n if (!this._isActive) {\n return;\n }\n\n this.renderer2.removeClass(this.element.nativeElement, this.activeClass);\n this._isActive = false;\n }\n\n ngOnDestroy(): void {\n this.registry.unregister(this);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nimport { Observable } from 'rxjs';\n\nimport { PickId, V1PickId, V2OptionMarketPickId } from '../../core/picks/pick-id';\n\nexport interface ILineSwitcherPickHandlerService {\n pickSelected$(id: V1PickId | V2OptionMarketPickId): Observable;\n swap(pickId: V1PickId | V2OptionMarketPickId): void;\n readonly currentPick$: Observable;\n}\n\nexport const BETSLIP_LINE_SWITCHER_INJECTION_TOKEN = new InjectionToken('BETSLIP_LINE_SWITCHER_INJECTION_TOKEN');\n","import { ChangeDetectorRef, Component, Inject, Input, NgZone, OnDestroy, OnInit, Optional, inject } from '@angular/core';\n\nimport { PerformanceService } from '@frontend/sports/common/core/utils/performance';\nimport { NativePrice } from '@frontend/sports/odds/feature/native-price';\nimport { RxStrategyProvider } from '@rx-angular/cdk/render-strategies';\nimport { PickId, V1PickId, V2OptionMarketPickId } from 'packages/sports/common/betslip/core/picks/pick-id';\nimport { PriceType } from 'packages/sports/common/betslip/core/picks/pick-models';\nimport { BetslipIntegrationService } from 'packages/sports/common/betslip/integration/betslip-integration.service';\nimport {\n BETSLIP_LINE_SWITCHER_INJECTION_TOKEN,\n ILineSwitcherPickHandlerService,\n} from 'packages/sports/common/betslip/integration/services/line-switcher-pick-handler.service';\nimport { Observable, Subject, Subscription, exhaustMap, map } from 'rxjs';\n\nimport { SourceOfPick } from '../betslip-base/models/pick-models';\nimport { GeolocationCheckService } from '../geo-location/geo-location-check.service';\n\ninterface IPickState {\n selected: boolean;\n locked: boolean;\n}\n\n@Component({\n template: '',\n standalone: false,\n})\nexport abstract class PickComponent implements OnInit, OnDestroy {\n private clickSubject = new Subject();\n protected pickSelectedSubscription: Subscription | null = null;\n\n @Input() trackingSource: string;\n @Input() trackingPosition?: number;\n @Input() enableOptionIndicator = true;\n @Input() sourceOfPick: SourceOfPick = SourceOfPick.Other;\n @Input() betDetails?: string;\n @Input() trackingGameDetails?: string;\n @Input() trackingModuleType?: string;\n @Input() isFallbackMarketEnabled?: boolean;\n @Input() isAutomatedMarquee?: boolean;\n @Input() marqueeName?: string;\n @Input() sitecoreTemplateId?: string;\n @Input() marqueeType?: string;\n @Input() disableOdds = false;\n\n state: IPickState = {\n selected: false,\n locked: false,\n };\n\n pickId: PickId;\n lineSwitcherCurrentSelection$: Observable | undefined;\n\n private lowTierDevice = inject(PerformanceService).isLowTierDevice();\n private strategy = inject(RxStrategyProvider);\n private ngZone = inject(NgZone);\n\n protected constructor(\n private geolocationCheckService: GeolocationCheckService,\n protected betslipIntegration: BetslipIntegrationService,\n protected changeDetection: ChangeDetectorRef,\n @Inject(BETSLIP_LINE_SWITCHER_INJECTION_TOKEN) @Optional() protected lineSwitcherPickHandlerService: ILineSwitcherPickHandlerService | null,\n ) {}\n\n ngOnInit(): void {\n this.clickSubject\n .pipe(\n exhaustMap(() => {\n return this.togglePick();\n }),\n )\n .subscribe();\n if (this.lineSwitcherPickHandlerService) {\n this.lineSwitcherCurrentSelection$ = this.lineSwitcherPickHandlerService.currentPick$.pipe(\n map((p) => {\n return p.toString() === this.pickId.toString();\n }),\n );\n }\n }\n\n ngOnDestroy(): void {\n this.clickSubject.complete();\n this.pickSelectedSubscription?.unsubscribe();\n }\n\n protected setPickId(pickId: PickId, priceType?: PriceType, longId?: string, siblingPickId?: PickId): void {\n if (!this.pickId || !this.pickId.isEqual(pickId)) {\n this.pickId = pickId;\n if (this.pickSelectedSubscription) {\n this.pickSelectedSubscription.unsubscribe();\n }\n\n const pickSelected$ =\n this.lineSwitcherPickHandlerService?.pickSelected$(this.pickId as V1PickId | V2OptionMarketPickId) ??\n this.betslipIntegration.pickSelected$(pickId, priceType, longId, siblingPickId);\n\n this.pickSelectedSubscription = pickSelected$.subscribe((selected) => {\n const isChanged = this.state.selected !== selected;\n if (isChanged) {\n this.state.selected = selected;\n this.changeDetection.markForCheck();\n }\n });\n }\n }\n\n pickClick(): void {\n if (this.lowTierDevice) {\n this.strategy\n .schedule(() => this._pickClick(), {\n scope: this,\n strategy: 'immediate',\n patchZone: this.ngZone,\n })\n .subscribe();\n } else {\n this._pickClick();\n }\n }\n\n private _pickClick() {\n if (!this.disableOdds && !this.state.locked) {\n this.clickSubject.next();\n }\n }\n\n //TODO try to replace native price with Odds\n protected abstract get price(): NativePrice;\n\n protected abstract get priceId(): number | undefined;\n\n protected abstract addPick(): void;\n\n protected abstract removePick(): void;\n\n private togglePick(): Observable {\n return new Observable((subscriber) => {\n this.geolocationCheckService.checkGeolocation(() => {\n if (this.lineSwitcherPickHandlerService) {\n !this.state.selected && this.lineSwitcherPickHandlerService.swap(this.pickId as V1PickId | V2OptionMarketPickId);\n } else {\n if (this.state.selected) {\n this.removePick();\n } else {\n this.addPick();\n }\n }\n subscriber.complete();\n });\n });\n }\n}\n"],"names":["ArrowType","OptionType","DROPDOWN_CUSTOM_CLASS","InjectionToken","ɵɵelementContainer","ɵɵelementContainerStart","ɵɵtemplate","DropdownComponent_ng_container_1_ng_container_1_Template","ɵɵadvance","ɵɵproperty","ctx_r1","offerBadgeTemplate","ɵɵpureFunction1","_c4","ɵɵpureFunction2","_c3","activeOption","badge","cssClass","text","ɵɵtext","ɵɵtextInterpolate","title_r3","ɵɵelement","DropdownComponent_ng_container_2_Conditional_5_Conditional_0_Template","DropdownComponent_ng_container_2_Conditional_5_Conditional_1_Template","ɵɵconditional","expanded","ɵɵelementStart","DropdownComponent_ng_container_2_ng_container_2_Template","DropdownComponent_ng_container_2_ng_template_3_Template","ɵɵtemplateRefExtractor","ɵɵelementEnd","DropdownComponent_ng_container_2_Conditional_5_Template","B","w","a","ɵɵstyleProp","textColor","titleTemplate","defaultTitleTemplate_r4","name","noSelectionText","expandable","ɵɵprojection","DropdownComponent_ng_container_9_Case_1_ng_container_0_Template","optionTemplate","defaultOptionTemplate_r6","option_r5","ɵɵlistener","ɵɵrestoreView","_r7","ɵɵnextContext","$implicit","ɵɵresetView","selectSpecialOption","automation","getArrowClass","arrowType","DropdownComponent_ng_container_9_Case_1_Template","DropdownComponent_ng_container_9_Case_2_Template","tmp_5_0","type","optionType","Regular","Special","DropdownComponent_ng_template_10_Conditional_1_ng_container_0_Template","option_r9","sitecore","globalMessages","NewBadgeText","F","_r8","selectOption","DropdownComponent_ng_template_10_Conditional_1_Template","DropdownComponent_ng_template_10_Conditional_3_Template","ɵɵclassProp","id","ɵɵtextInterpolate1","hasNewBadge","DropdownComponent","options","_options","set","viewport","_viewport","dropdownPlacement","placement","placementMap","expandedClass","element","elementRef","nativeElement","isOnEdpModal","openedModals","edpModal","ngOnInit","customClass","popperClass","constructor","strategy","deviceService","nativeAppService","store","_window","inject","WINDOW","autoClose","disabled","contentClass","isIconTemplate","optionChange","EventEmitter","dropdownState","hostCssClass","signal","arrowClass","computed","popperFlip","expandedState$","Subject","length","containerClass","NgxPopperjsPlacements","BOTTOM","right","BOTTOMEND","left","BOTTOMSTART","ngZone","NgZone","destroyRef","DestroyRef","reset","_a","dropDown","hide","next","trySubscribeToResetTriggers","scheduleOptionChange","option","schedule","emit","scope","patchZone","subscribe","NgxPopperjsTriggers","isTerminal","toggleExpandedState","dispatch","UiManagerActions","removeState","state","UiStates","MarketSubTypeTooltipShown","update","value","show","optionTrackBy","index","Left","Right","isOwnClick","event","target","popperViewRef","contains","takeUntil$","pipe","filter","x","orientation","skip","takeUntilDestroyed","takeUntil","fromEvent","e","ɵɵdirectiveInject","ElementRef","RxStrategyProvider","DeviceService","NativeAppService","Sitecore","Store","OpenedModalsStorageService","M","selectors","viewQuery","rf","ctx","i0","_r1","DropdownComponent_ng_container_1_Template","DropdownComponent_ng_container_2_Template","DropdownComponent_ng_template_3_Template","DropdownComponent_ng_container_9_Template","DropdownComponent_ng_template_10_Template","iconTemplate_r10","dropDown_r11","click","_DropdownComponent","DropdownModule","de","ce","NgScrollbar","imports","CommonModule","AutomationModule","NgxPopperjsModule","NgScrollbarModule","IconCustomComponent","_DropdownModule","CustomActiveStateRegistry","_doc","DOCUMENT","_destroy","_callbackRegistry","merge","debounceTime","forEach","directive","triggerInteractionEnd","register","includes","push","unregister","d","pe","factory","ɵfac","providedIn","_CustomActiveStateRegistry","CustomActiveStateDirective","activeClass","registry","renderer2","Renderer2","_isActive","triggerInteractionStart","addClass","removeClass","ngOnDestroy","hostBindings","$event","_CustomActiveStateDirective","BETSLIP_LINE_SWITCHER_INJECTION_TOKEN","PickComponent","geolocationCheckService","betslipIntegration","changeDetection","lineSwitcherPickHandlerService","clickSubject","pickSelectedSubscription","enableOptionIndicator","sourceOfPick","SourceOfPick","Other","disableOdds","selected","locked","lowTierDevice","PerformanceService","isLowTierDevice","exhaustMap","togglePick","lineSwitcherCurrentSelection$","currentPick$","map","p","toString","pickId","complete","unsubscribe","setPickId","priceType","longId","siblingPickId","isEqual","pickSelected$","markForCheck","pickClick","_pickClick","Observable","subscriber","checkGeolocation","swap","removePick","addPick","GeolocationCheckService","BetslipIntegrationService","ChangeDetectorRef","inputs","trackingSource","trackingPosition","betDetails","trackingGameDetails","trackingModuleType","isFallbackMarketEnabled","isAutomatedMarquee","marqueeName","sitecoreTemplateId","marqueeType","standalone","decls","vars","template","encapsulation","_PickComponent"],"mappings":"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"}