PageSourceSearch

https://www.bigdawgbatrolling.com/cdn/shop/t/7/assets/animation.js?v=164282881652284489601748958277

js bigdawgbatrolling.com collected 2026-10-02 11:57:36 UTC 10,424 bytes, 6 lines download raw bytes

1if(!window.helpers&&!window.animation){class Helpers{constructor(){}findElement(elementsList,findElement){return Array.from(elementsList).filter(element=>element===findElement)[0]}findElementsByClass(elementsList,findClass){return Array.from(elementsList).filter(element=>element.classList.contains(findClass))}containsOrIs(element,findElement){return element===findElement||element.contains(findElement)}addEventInfo(event,str){return event.eventInfo=`${event.eventInfo?event.eventInfo+" ":""}${str}`}getSingleOrObjectKey(element,key){return key!==void 0?element[key]:element}setSingleOrObjectKey(value,key,inheritedObject){if(key!==void 0){const newInnerObject={};return newInnerObject[key]=value,Object.assign({},inheritedObject,newInnerObject)}else return value}processSingleOrObject(element,processFunction){if(typeof element=="object"){const newObject={};for(const key in element)newObject[key]=processFunction(element[key],key);return newObject}else return processFunction(element)}}window.helpers=new Helpers;class Animation{constructor(){themeBase.onDOMContentLoadedTrigger(()=>{this.duration=350,this.timing="easeInOutQuad",this.timingFunctions=timingFunctions,this.cashe=[],window.addEventListener("throttle5fpsResize",this.clearCashe.bind(this))})}animate(element,properties,settings={},callbacks={}){let start;const finalSettings=this.getFinalSettings(settings),{duration,draw,timingFunction}=finalSettings,initialValues=this.getCurrentPropertyValues(element,properties),animate=time=>{start||(start=time);const stepValues=this.getStepValues(start,time,duration,timingFunction),drawValues=draw(element,properties,initialValues,stepValues.progress,settings),statuses=["step"];return stepValues.timeFraction===0&&(element.animationStoped=!1),!element.animationStoped&&stepValues.timeFraction<1?(stepValues.timeFraction===0&&(statuses.unshift("start"),this.setWillChange(element,properties,settings)),step()):(statuses.push("complete"),this.unsetWillChange(element,settings)),Object.assign({element,statuses},stepValues,drawValues)},step=()=>{const onStepEnd=()=>{this.callSettingsCallbacks(elementCurrentObject.stepData,callbacks,settings),(elementCurrentObject.stepData.statuses.includes("complete")||elementCurrentObject.stepData.statuses.includes("stop"))&&element!==window&&(element.animationObject=null)},elementCurrentObject={settings:finalSettings,methods:{stop:doComplete=>
1{doComplete||(element.animationObject.settings.disableCompleteCallbacks=!0),element.animationStoped=!0,cancelAnimationFrame(elementCurrentObject.requestId),elementCurrentObject.stepData.statuses.push("stop"),onStepEnd(elementCurrentObject.stepData)}}};elementCurrentObject.requestId=requestAnimationFrame(time=>{elementCurrentObject.stepData=animate(time),element.animationObject=elementCurrentObject,onStepEnd()})};settings.initialValues&&(initialValues=Object.assign(initialValues,settings.initialValues)),step()}draw(element,properties,initialValues,progress,settings){const values={},valuesCSS={},setCSSProperty=(property,elem=element)=>{if(property==="scrollY"||property==="scrollX"){this.setJSProperty(elem,property,valuesCSS[property]);return}const valueCSS=property==="transform"?this.buildMatrixCSS(values[property],valuesCSS[property]):valuesCSS[property];if(progress===1&&values[property]===0){elem.style[property]="";return}this.setCSSProperty(elem,property,valueCSS)};for(const property in properties)helpers.processSingleOrObject(properties[property],(propertyValue,key)=>{propertyValue=propertyValue.toString();const finishValue=this.getCSSPropertyValue(propertyValue),initialValue=helpers.getSingleOrObjectKey(initialValues[property],key),newValue=this.getProgressValue(initialValue,finishValue,progress),newValueCSS=this.rebuildNewCSSPropertyValue(propertyValue,newValue,finishValue);values[property]=helpers.setSingleOrObjectKey(newValue,key,values[property]),valuesCSS[property]=helpers.setSingleOrObjectKey(newValueCSS,key,valuesCSS[property])}),setCSSProperty(property),settings.duplicate&&settings.duplicate.forEach(element2=>setCSSProperty(property,element2));return{values,valuesCSS}}scrollTop(offsetTop,settings={}){this.animate(window,{scrollY:offsetTop},settings,{complete:()=>{}})}scrollTo(element=window,offsets,settings={}){this.animate(element,{scrollX:offsets.left||0,scrollY:offsets.top||0},settings,{complete:()=>{}})}slideDown(element,settings={}){const boundingElement=settings.boundingRect||element,boundingRect=this.hiddenElementRectCalculation(boundingElement);delete element.dataset.animationSlideDownCompleted,element.style.height=`${element.getBoundingClientRect().height||0}px`,element.style.overflow="hidden",element.style.display="block",this.animate(element,{height:`${boundingRect.height}px`},settings,{complete:()=>{element.style.overflow="",element.dataset.animationSlideDownCompleted=!0}})}slideUp(element,settings={}){element.dataset.animationSlideDownCompleted&&(this.addCashe(element,element.getBoundingClientRect()),delete element.dataset.animationSlideDownCompleted),element.style.overflow="hidden",this.animate(element,{height:"0px"},settings,{complete:()=>{element.style.display="",element.style.overflow=""}})}slideTo(element,value,settings={}){this.animate(element,{height:`${value}px`},settings)}stop(element,doComplete){const isAnimate=this.isAnimate(element);return isAnimate&&element.animationObject.methods.stop(doComplete),isAnimate}isAnimate(element){return!!element.animationObject}clearCashe(){this.cashe=[]}getCashe(element){let cashe,index;return this.cashe.forEach((object,objectIndex)=>{if(object.element===element)return cashe=object.cashe,index=objectIndex,!1}),cashe!==void 0?{cashe,index}:cashe}addCashe(element,cashe){const lastCashe=this.getCashe(element);return lastCashe?this.cashe[lastCashe.index].cashe=cashe:this.cashe.push({element,cashe}),cashe}hiddenElementRectCalculation(element){const cashe=this.getCashe(element);if(cashe!==void 0)return cashe.cashe;const parent=element.parentNode,width=window.getComputedStyle(element).width;parent.style.position=`${window.getComputedStyle(parent).position==="static"?"relative":""}`,element.setAttribute("style",`
2                visibility: hidden !important;
3                position: absolute !important;
4                display: block !important;
5                ${width==="auto"?"width: 100% !important;":""}`);const boundingRect=element.getBoundingClientRect();return element.removeAttribute("style"),parent.style.position="",this.addCashe(element,boundingRect)}getCurrentPropertyValues(element,properties){const values={};for(const property in properties)if(element===window)values[property]=window.scrollY;else if(property==="scrollY")values[property]=element.scrollTop;else if(property==="scrollX")values[property]=element.scrollLeft;else{let stringCSS=this.getCSSProperty(element,property);property==="transform"?values[property]=this.getTransformObjectFromCSS(stringCSS):values[property]=this.getCSSPropertyValue(stringCSS)}return values}getFinalSettings(settings={}){const duration=this.duration,timing=this.timing,draw=this.draw.bind(this),finalSettings=Object.assign({duration,timing,draw},settings);return finalSettings.timingFunction=this.timingFunctions[finalSettings.timing].bind(this),finalSettings}getStepValues(start,time,duration,timingFunction){const timeFraction=Math.min(1,(time-start)/duration),progress=timingFunction(timeFraction);return{timeFraction,progress}}getCSSProperty(element,property){return window.getComputedStyle(element).getPropertyValue(property)}getCSSPropertyValue(stringCSS){return helpers.processSingleOrObject(stringCSS,string=>Number(string.replace(/([a-zA-z%()])+/g,"")))}getProgressValue(initialValue,finishValue,progress){return initialValue+(finishValue-initialValue)*progress}getTransformObjectFromCSS(stringCSS){const matrix=stringCSS==="none"?{a:1,b:0,c:0,d:1,e:0,f:0}:new DOMMatrixReadOnly(stringCSS);return{scaleX:matrix.a,skewY:matrix.b,skewX:matrix.c,scaleY:matrix.d,translateX:matrix.e,translateY:matrix.f}}buildMatrixCSS(data,dataCSS){let transformCSS=[];const addTransformProperty=(name,defaultValue)=>{data[name]!==void 0&&data[name]!==defaultValue&&transformCSS.push(`${name}(${dataCSS[name]})`)};return addTransformProperty("scaleX",1),addTransformProperty("skewY",0),addTransformProperty("skewX",0),addTransformProperty("scaleY",1),addTransformProperty("translateX",0),addTransformProperty("translateY",0),transformCSS.join(" ")}buildCSSTemplate(stringCSS,numberValue){return stringCSS.replace(numberValue,"{n}")}buildCSSPropertyByTemplate(template,value){return template.replace("{n}",value)}rebuildNewCSSPropertyValue(stringCSS,value,currentValue){currentValue=currentValue||this.getCSSPropertyValue(stringCSS);const templateCSS=this.buildCSSTemplate(stringCSS,currentValue);return this.buildCSSPropertyByTemplate(templateCSS,value)}setCSSCssText(element,strings){element.style.cssText+=strings.join("; ")}setCSSProperty(element,property,valueCSS){element.style[property]=valueCSS}setJSProperty(element,property,value){element===window?property==="scrollY"&&element.scrollTo(0,value):property==="scrollY"?element.scrollTop=value:property==="scrollX"&&(element.scrollLeft=value)}setWillChange(element,properties,settings){if(element===window)return;let value=[];for(const property in properties)property==="scrollY"||property==="scrollX"||value.push(property);value=value.join(", ");const setCSSProperty=(elem=element)=>{this.setCSSProperty(elem,"will-change",value)};setCSSProperty(),settings.duplicate&&settings.duplicate.forEach(element2=>setCSSProperty(element2))}unsetWillChange(element,settings){if(element===window)return;const unsetCSSProperty=(elem=element)=>{this.setCSSProperty(elem,"will-change","")};unsetCSSProperty(),settings.duplicate&&settings.duplicate.forEach(element2=>unsetCSSProperty(element2))}callSettingsCallbacks(stepData,callbacks){const settings=stepData.element.animationObject.
5settings;stepData.statuses.forEach(status=>{status==="complete"&&settings.disableCompleteCallbacks||(callbacks[status]&&callbacks[status](stepData),settings[status]&&settings[status](stepData))})}hasEventInfo(element,str){return element.animationObject&&element.animationObject.settings.event.eventInfo.includes(str)}}window.animation=new Animation,themeBase.onDOMContentLoadedTrigger(()=>{scriptController.scripts.push("animation.js")})}
6//# sourceMappingURL=/cdn/shop/t/7/assets/animation.js.map?v=164282881652284489601748958277

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.