{"version":3,"file":"webpack-chunks/chunk.scripts_components_truck-build-anim_js.ac6325a8a61e28a8e2ca.js","mappings":";;;;;;;;;;;;;AAAA,+DAAe,MAAMA,UAAN,IAAoB;AAAE;AACpC,QAAMC,aAAa,GAAG,CAAC,GAAGD,UAAU,CAACE,gBAAX,CAA4B,OAA5B,CAAJ,CAAtB;AACA,MAAGD,aAAa,CAACE,MAAd,GAAuB,CAA1B,EAA6B;AAC7B,QAAO;AAACC,IAAAA,OAAO,EAAEC;AAAV,MAAyB,MAAM,oQAAtC;AAAA,QACEC,UAAU,GAAG,IAAID,WAAW,CAACE,UAAhB,EADf;AAAA,QAEEC,MAAM,GAAG,EAFX;AAIAC,EAAAA,OAAO,CAACC,GAAR,CAAYT,aAAa,CAACU,GAAd,CAAkBC,KAAK,IAAI;AACtCC,IAAAA,UAAU,CAAC;AAACD,MAAAA,KAAD;AAAOJ,MAAAA;AAAP,KAAD,CAAV;AAEA,WAAO,IAAIC,OAAJ,CAAY,CAACK,OAAD,EAAUC,MAAV,KAAqB;AACvC,UAAKC,GAAG,GAAG,IAAIC,cAAJ,EAAX;AACAD,MAAAA,GAAG,CAACE,IAAJ,CAAS,KAAT,EAAgBN,KAAK,CAACO,GAAtB,EAA2B,IAA3B;AACAH,MAAAA,GAAG,CAACI,YAAJ,GAAmB,MAAnB;;AACAJ,MAAAA,GAAG,CAACK,MAAJ,GAAa,MAAM;AAClBT,QAAAA,KAAK,CAACO,GAAN,GAAYG,GAAG,CAACC,eAAJ,CAAoBP,GAAG,CAACQ,QAAxB,CAAZ;AACAX,QAAAA,UAAU,CAAC;AAACD,UAAAA,KAAD;AAAOJ,UAAAA;AAAP,SAAD,CAAV,CAA2BiB,IAA3B,CAAgCX,OAAhC;AACA,OAHD;;AAIAE,MAAAA,GAAG,CAACU,OAAJ,GAAcX,MAAd;AACAC,MAAAA,GAAG,CAACW,IAAJ;AACA,KAVM,CAAP;AAWA,GAdW,CAAZ,EAcIF,IAdJ,CAcS,MAAM;AACdjB,IAAAA,MAAM,CAACoB,OAAP,CAAe,CAAC;AAAChB,MAAAA,KAAD;AAAOiB,MAAAA;AAAP,KAAD,KAAiB;AAC9B,UAAIxB,WAAW,CAACyB,KAAhB,CAAsB;AAACC,QAAAA,cAAc,EAAEnB,KAAjB;AAAwBoB,QAAAA,WAAW,EAAE;AAArC,OAAtB,CAAD,CACEC,KADF,CACQ3B,UADR,EAEE4B,QAFF,CAEWC,MAAM,CAACC,WAAP,GAAqBxB,KAAK,CAACyB,YAFtC,EAGEC,EAHF,CAGK,UAHL,EAGkBC,CAAD,IAAO3B,KAAK,CAAC4B,WAAN,GAAoBX,GAAG,GAAGU,CAAC,CAACE,QAHpD;AAIA,KALD;AAMA,GArBD;AAsBA,CA7BD;;AA+BA,SAAS5B,UAAT,CAAoB;AAACD,EAAAA,KAAD;AAAOJ,EAAAA;AAAP,CAApB,EAAmC;AAClC,SAAO,IAAIC,OAAJ,CAAYK,OAAO,IAAI;AAC7B,UAAM4B,QAAQ,GAAGC,WAAW,CAAC,MAAM;AAClC,UAAG/B,KAAK,CAACgC,UAAN,GAAmB,CAAtB,EAAyB;AACxBpC,QAAAA,MAAM,CAACqC,IAAP,CAAY;AAACjC,UAAAA,KAAD;AAAOiB,UAAAA,GAAG,EAACjB,KAAK,CAACsB;AAAjB,SAAZ;AACAtB,QAAAA,KAAK,CAACkC,KAAN;AACAC,QAAAA,aAAa,CAACL,QAAD,CAAb;AACA5B,QAAAA,OAAO,CAACF,KAAD,CAAP;AACA;AACD,KAP2B,EAOzB,GAPyB,CAA5B;AAQA,GATM,CAAP;AAUA","sources":["webpack://freightliner/./scripts/components/truck-build-anim.js"],"sourcesContent":["export default async truckBuild => { // 'comp-truck-hero + [build]'\r\n\tconst videoElements = [...truckBuild.querySelectorAll('video')];\r\n\tif(videoElements.length < 1) return;\r\n\tconst \t{default: ScrollMagic} = await import('scrollmagic'),\r\n\t\t\tcontroller = new ScrollMagic.Controller(),\r\n\t\t\tvideos = [];\r\n\t\r\n\tPromise.all(videoElements.map(video => {\r\n\t\treadyVideo({video,videos});\r\n\t\t\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tlet req = new XMLHttpRequest();\r\n\t\t\treq.open('GET', video.src, true);\r\n\t\t\treq.responseType = 'blob';\r\n\t\t\treq.onload = () => {\r\n\t\t\t\tvideo.src = URL.createObjectURL(req.response);\r\n\t\t\t\treadyVideo({video,videos}).then(resolve);\r\n\t\t\t}\r\n\t\t\treq.onerror = reject;\r\n\t\t\treq.send();\r\n\t\t});\r\n\t})).then(() => {\r\n\t\tvideos.forEach(({video,dur}) => {\r\n\t\t\t(new ScrollMagic.Scene({triggerElement: video, triggerHook: 1}))\r\n\t\t\t\t.addTo(controller)\r\n\t\t\t\t.duration(window.innerHeight + video.clientHeight)\r\n\t\t\t\t.on(\"progress\", (e) => video.currentTime = dur * e.progress);\r\n\t\t});\r\n\t});\r\n};\r\n\r\nfunction readyVideo({video,videos}){\r\n\treturn new Promise(resolve => {\r\n\t\tconst interval = setInterval(() => {\r\n\t\t\tif(video.readyState > 0) {\r\n\t\t\t\tvideos.push({video,dur:video.duration});\r\n\t\t\t\tvideo.pause();\r\n\t\t\t\tclearInterval(interval);\r\n\t\t\t\tresolve(video);\r\n\t\t\t}\r\n\t\t}, 200);\r\n\t});\r\n}"],"names":["truckBuild","videoElements","querySelectorAll","length","default","ScrollMagic","controller","Controller","videos","Promise","all","map","video","readyVideo","resolve","reject","req","XMLHttpRequest","open","src","responseType","onload","URL","createObjectURL","response","then","onerror","send","forEach","dur","Scene","triggerElement","triggerHook","addTo","duration","window","innerHeight","clientHeight","on","e","currentTime","progress","interval","setInterval","readyState","push","pause","clearInterval"],"sourceRoot":""}