{"version":3,"file":"chunk-h9cvoo6c.js","sources":["packages/casino/platform-lib/parallax-animation/cwdj-parallax.directive.ts","packages/casino/platform-lib/parallax-animation/parallax-animation.component.html","packages/casino/platform-lib/parallax-animation/parallax-animation.component.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, Inject, Input, OnChanges, OnDestroy, Output, PLATFORM_ID } from '@angular/core';\n\nimport { Logger } from '@frontend/vanilla/core';\n\nimport { IParallaxConfig } from './types';\n\n@Directive({\n selector: '[cwdjParallax]',\n standalone: true,\n})\nexport class ParallaxDirective implements AfterViewInit, OnChanges, OnDestroy {\n public name = 'parallaxDirective';\n\n @Input() config: IParallaxConfig;\n // The following inputs are all fields on the config object. For\n // brevity's sake, you can do every one of these operations by passing\n // in the config object. Instead, caveat for this is that Angular doesn't permit\n // more than 9 keys being passed in an object literal in the template.\n /**\n * @var cssKey - A string representing both the property you want to modify as well as\n * a special CSS function or value you want included in the generated styles\n * @default 'backgroundPosition'\n */\n @Input() cssKey = 'backgroundPosition';\n /**\n * @deprecated Use \"styleProperty\" instead\n * @var styleProperty The style property (in camelCase) that the directive should manipulate\n * @default 'backgroundPositionY'\n */\n @Input() parallaxCss: string;\n /**\n * @var styleProperty The style property (in camelCase) that the directive should manipulate\n * @default 'backgroundPositionY'\n */\n @Input() styleProperty = 'backgroundPositionY';\n /**\n * @deprecated Use \"axis\" instead\n * @var parallaxAxis The direction that the effect will move (when using background-position)\n * @default 'Y'\n */\n @Input() parallaxAxis: 'Y' | 'X';\n /**\n * @var parallaxAxis The direction that the effect will move (when using background-position)\n * @default 'Y'\n */\n @Input() axis: 'Y' | 'X' = 'Y';\n /**\n * @deprecated Use \"ratio\" instead\n * @var parallaxRatio - The rate of change (as a decimal) made when scrolling\n * @default -0.7\n * @description The ratio can have any of these effects:\n * - Moves faster than the page: < 0\n * - Moves with the page (like a normal image): 0\n * - Moves slower than the page: > 0 && < 1\n * - Stays fixed in its position: 1\n * - Moves the opposite direction from the page: > 1\n */\n @Input() parallaxRatio: number;\n /**\n * @var ratio - The rate of change (as a decimal) made when scrolling\n * @default -0.7\n * @description The ratio can have any of these effects:\n * - Moves faster than the page: < 0\n * - Moves with the page (like a normal image): 0\n * - Moves slower than the page: > 0 && < 1\n * - Stays fixed in its position: 1\n * - Moves the opposite direction from the page: > 1\n */\n @Input() ratio = -0.7;\n /**\n * @deprecated Use \"initialValue\" instead\n * @var parallaxInitVal - The initial value for the configured css property\n * @default 0\n * @description Should only contain the number; configuring the unit is found under the \"cssUnit\" binding\n */\n @Input() parallaxInitVal: number;\n /**\n * @var initialValue - The initial value for the configured css property\n * @default 0\n * @description Should only contain the number; configuring the unit is found under the \"cssUnit\" binding\n */\n @Input() initialValue = 0;\n /**\n * @deprecated Use \"disabled\" instead\n * @var parallaxIf - True if the effect is enabled\n * @default true\n * @description Migrating note: \"disabled\" is the inverse of \"parallaxIf\", and as such, inverse logic should be used when switching\n */\n @Input() parallaxIf: boolean;\n /**\n * @var disabled - Whether scrolling should trigger the effect or not\n * @default false\n * @description Migration note: \"disabled\" is the inverse of \"parallaxIf\", and as such, inverse logic should be used when switching.\n * True if the effect should be stopped.\n */\n @Input() disabled = false;\n /**\n * @deprecated Use \"scrollerSelector\" or \"scrollElement\" instead\n * @var scrollerId - A string that is an id of an element of which this directive will track the scrolling\n * @description Migration note: You should be able to prepend the former scrollerId string with a \"#\" if you use scrollerSelector instead.\n */\n @Input() scrollerId: string;\n /**\n * @var scrollerSelector - A string that is a valid CSS selector for the element of which this directive will track the scrolling\n * @description Migration note: You should be able to prepend the former scrollerId string with a \"#\" if you use scrollerSelector instead.\n */\n @Input() scrollerSelector: string;\n /**\n * @var scrollElement - The element whose scroll position should be tracked\n * @default The window\n */\n @Input() scrollElement: HTMLElement | Window;\n /**\n * @var maxValue - The maximum value the effect should go\n */\n @Input() maxValue: number;\n /**\n * @var minValue - The minimum value the effect should go\n */\n @Input() minValue: number;\n /**\n * @var cssUnit - The unit the directive should use when updating the value\n * @default 'px'\n */\n @Input() cssUnit = 'px';\n /**\n * @deprecated Use \"scroll\" event binding instead\n * @var cb - A callback that will be called each time the\n * @param event - Original mousewheel event from scrolling\n * @param args - Any additional arguments sent through using the `cb_args` binding\n */\n @Input() cb: (this: HTMLElement, event: any, ...args: any[]) => void;\n /**\n * @deprecated Use \"scroll\" event binding instead\n * @var cb_context - What the \"this\" binding will be inside of the function\n * @default The provided or default \"parallax\" element\n */\n @Input() cb_context: any;\n /**\n * @deprecated Use \"scroll\" event binding instead\n * @var cb_args - Arguments applied to the provided \"cb\"\n */\n @Input() cb_args: any[];\n /**\n * @var parallaxElement - The element the effect will be applied to.\n * @default The element on which the directive is placed.\n */\n @Input() parallaxElement: HTMLElement;\n\n @Output() update = new EventEmitter();\n\n public styles = {};\n\n private cssValue: string;\n private isSpecialVal = false;\n private hostElement: HTMLElement;\n private hasInitialized = false;\n private deprecatedFields = [\n 'parallaxCss',\n 'parallaxAxis',\n 'parallaxRatio',\n 'parallaxInitVal',\n 'parallaxIf',\n 'scrollerId',\n 'cb',\n 'cb_context',\n 'cb_args',\n ];\n\n constructor(\n element: ElementRef,\n @Inject(PLATFORM_ID) private platformId: any,\n private logger: Logger,\n ) {\n this.hostElement = element.nativeElement;\n }\n\n private evaluateScroll = (e: any) => {\n if (this.disabled) return;\n\n let resultVal: string;\n let calcVal: number;\n\n if (this.scrollElement instanceof Window) calcVal = this.scrollElement.scrollY * this.ratio + this.initialValue;\n else calcVal = this.scrollElement.scrollTop * this.ratio + this.initialValue;\n\n if (this.maxValue !== undefined && calcVal >= this.maxValue) calcVal = this.maxValue;\n else if (this.minValue !== undefined && calcVal <= this.minValue) calcVal = this.minValue;\n\n // added after realizing original setup wasn't compatible in Firefox\n if (this.cssKey === 'backgroundPosition') {\n if (this.axis === 'X') {\n resultVal = calcVal + this.cssUnit + ' 0';\n } else {\n resultVal = '0 ' + calcVal + this.cssUnit;\n }\n } else if (this.isSpecialVal) {\n resultVal = this.cssValue + '(' + calcVal + this.cssUnit + ')';\n } else {\n resultVal = calcVal + this.cssUnit;\n }\n\n if (this.cb) {\n // console.log('this should be running')\n this.cb.bind(this.cb_context || this.hostElement)(e, ...(this.cb_args || []));\n }\n\n this.parallaxElement.style[this.cssKey] = resultVal;\n\n this.update.emit(e);\n };\n\n public ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.prepareConfig();\n if (this.scrollElement) {\n this.scrollElement.addEventListener('scroll', this.evaluateScroll);\n }\n\n this.prepareParallax();\n }\n }\n\n public ngOnChanges() {\n if (!this.hasInitialized) return;\n\n if (isPlatformBrowser(this.platformId)) {\n this.prepareConfig();\n this.prepareParallax();\n }\n }\n\n public ngOnDestroy() {\n if (isPlatformBrowser(this.platformId) && this.scrollElement) {\n this.scrollElement.removeEventListener('scroll', this.evaluateScroll);\n }\n }\n\n private prepareParallax() {\n const simulatedEvent = new MouseEvent('scroll', { bubbles: false, cancelable: true });\n if (this.scrollElement) {\n this.scrollElement.dispatchEvent(simulatedEvent);\n }\n }\n\n private prepareConfig() {\n if (!this.config) this.config = {} as IParallaxConfig;\n\n const usedDeprecatedFields = this.deprecatedFields.filter(\n (field) => this[field as keyof typeof this.config] !== undefined || this.config[field as keyof typeof this.config],\n );\n if (usedDeprecatedFields.length) {\n const warningText =\n 'Warning! Using deprecated field' +\n usedDeprecatedFields[0] +\n ' Please consult the documetation website http://cwadrupldijjit.com/cwdj-parallax/api for alternatives.';\n this.logger.warn(warningText);\n }\n\n const parallaxCss = this.config.parallaxCss;\n const styleProperty = this.config.styleProperty;\n const parallaxAxis = this.config.parallaxAxis;\n const parallaxRatio = this.config.parallaxRatio;\n const ratio = this.config.ratio;\n const parallaxInitVal = this.config.parallaxInitVal;\n const initialValue = this.config.initialValue;\n const parallaxIf = this.config.parallaxIf;\n const disabled = this.config.disabled;\n const scrollerId = this.config.scrollerId;\n const scrollerSelector = this.config.scrollerSelector;\n const scrollElement = this.config.scrollElement;\n const parallaxElement = this.config.parallaxElement;\n let axis = this.config.axis;\n\n let cssValArray: string[] = [];\n\n this.styleProperty = styleProperty || parallaxCss || 'backgroundPositionY';\n if (this.styleProperty.includes('backgroundPosition')) {\n const axisFromStyleProperty = this.styleProperty.slice(-1).toUpperCase();\n\n if (['X', 'Y'].includes(axisFromStyleProperty)) {\n axis = axisFromStyleProperty as 'X' | 'Y';\n }\n\n this.styleProperty = 'backgroundPosition';\n }\n\n cssValArray = this.styleProperty.split(':');\n this.cssKey = cssValArray[0];\n this.cssValue = cssValArray[1];\n\n this.isSpecialVal = Boolean(this.cssValue);\n if (!this.cssValue) this.cssValue = this.cssKey;\n\n this.ratio = +(ratio || parallaxRatio) || -0.7;\n this.initialValue = +(initialValue || parallaxInitVal) || 0;\n\n this.parallaxElement = parallaxElement || this.hostElement;\n\n if (!scrollElement) {\n if (scrollerSelector) {\n this.scrollElement = document.querySelector(scrollerSelector)!;\n\n if (!this.scrollElement) {\n this.logger.warn(\n new TypeError(\n `The selector provided to the cwdj-parallax directive for the scrolling element ('${this.scrollerSelector}') was not found in the document. Tracking the window instead.`,\n ),\n );\n }\n } else if (scrollerId) {\n this.scrollElement = document.getElementById(this.scrollerId)!;\n\n if (!this.scrollElement) {\n this.logger.warn(\n new TypeError(\n `The ID provided to the cwdj-parallax directive ('${this.scrollerId}') was not found in the document. Tracking the window instead.`,\n ),\n );\n }\n }\n }\n\n if (!this.scrollElement) {\n this.scrollElement = window;\n }\n\n this.axis = axis || parallaxAxis || 'Y';\n\n this.disabled = disabled || (parallaxIf !== undefined ? !parallaxIf : false) || false;\n }\n}\n","\n\n\n\n\n","import { NgIf, NgStyle } from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\nimport { SitecoreImageResizePipe } from '@casinocore/platform/core';\n\nimport { ParallaxDirective } from './cwdj-parallax.directive';\n\n@Component({\n selector: 'cc-parallax-animation',\n templateUrl: 'parallax-animation.component.html',\n standalone: true,\n imports: [NgIf, NgStyle, ParallaxDirective, SitecoreImageResizePipe],\n})\nexport class ParallaxAnimationComponent {\n @Input() subCategory: any;\n}\n"],"names":["ParallaxDirective","constructor","element","platformId","logger","name","cssKey","styleProperty","axis","ratio","initialValue","disabled","cssUnit","update","EventEmitter","styles","isSpecialVal","hasInitialized","deprecatedFields","evaluateScroll","e","resultVal","calcVal","scrollElement","Window","scrollY","scrollTop","maxValue","undefined","minValue","cssValue","cb","bind","cb_context","hostElement","cb_args","parallaxElement","style","emit","nativeElement","ngAfterViewInit","isPlatformBrowser","prepareConfig","addEventListener","prepareParallax","ngOnChanges","ngOnDestroy","removeEventListener","simulatedEvent","MouseEvent","bubbles","cancelable","dispatchEvent","config","usedDeprecatedFields","filter","field","length","warningText","warn","parallaxCss","parallaxAxis","parallaxRatio","parallaxInitVal","parallaxIf","scrollerId","scrollerSelector","cssValArray","includes","axisFromStyleProperty","slice","toUpperCase","split","Boolean","document","querySelector","TypeError","getElementById","window","ɵɵdirectiveInject","ElementRef","PLATFORM_ID","Logger","selectors","inputs","outputs","standalone","features","ɵɵNgOnChangesFeature","_ParallaxDirective","ɵɵelement","ɵɵproperty","ɵɵpureFunction1","_c0","ɵɵpipeBind1","ctx_r0","subCategory","sitecoreData","backgroundImageLayer1","src","ɵɵpureFunction0","_c1","backgroundImageLayer2","x","g","ɵɵpureFunction2","_c2","backgroundImageLayer3","ParallaxAnimationComponent","w","ɵɵStandaloneFeature","decls","vars","consts","template","rf","ctx","ɵɵtemplate","ParallaxAnimationComponent_div_0_Template","ɵɵtext","ParallaxAnimationComponent_div_2_Template","ParallaxAnimationComponent_div_4_Template","ɵɵadvance","NgIf","NgStyle","SitecoreImageResizePipe","encapsulation","_ParallaxAnimationComponent"],"mappings":"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"}