New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

jarallax

Package Overview
Dependencies
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jarallax - npm Package Compare versions

Comparing version 2.1.0 to 2.1.1

100

dist/jarallax-video.js
/*!
* Video Extension for Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Video Extension for Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>

@@ -14,3 +14,3 @@ * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)

/*!
* Video Worker v2.1.2 (https://github.com/nk-o/video-worker)
* Video Worker v2.1.3 (https://github.com/nk-o/video-worker)
* Copyright 2022 nK <https://nkdev.info>

@@ -63,2 +63,34 @@ * Licensed under MIT (https://github.com/nk-o/video-worker/blob/master/LICENSE)

};
var defaults = {
autoplay: false,
loop: false,
mute: false,
volume: 100,
showControls: true,
accessibilityHidden: false,
// start / end video time in seconds
startTime: 0,
endTime: 0
};
/**
* Extend like jQuery.extend
*
* @param {Object} out - output object.
* @param {...any} args - additional objects to extend.
*
* @returns {Object}
*/
function extend(out, ...args) {
out = out || {};
Object.keys(args).forEach(i => {
if (!args[i]) {
return;
}
Object.keys(args[i]).forEach(key => {
out[key] = args[i][key];
});
});
return out;
}
let ID = 0;

@@ -76,21 +108,6 @@ let YoutubeAPIadded = 0;

self.options_default = {
autoplay: false,
loop: false,
mute: false,
volume: 100,
showControls: true,
accessibilityHidden: false,
// start / end video time in seconds
startTime: 0,
endTime: 0
...defaults
};
self.options = self.extend({}, self.options_default, options);
self.options = extend({}, self.options_default, options);
// Fix wrong option name.
// Thanks to https://github.com/nk-o/video-worker/issues/13.
if (typeof self.options.showContols !== 'undefined') {
self.options.showControls = self.options.showContols;
delete self.options.showContols;
}
// check URL

@@ -107,17 +124,2 @@ self.videoID = self.parseURL(url);

}
// Extend like jQuery.extend
// eslint-disable-next-line class-methods-use-this
extend(...args) {
const out = args[0] || {};
Object.keys(args).forEach(i => {
if (!args[i]) {
return;
}
Object.keys(args[i]).forEach(key => {
out[key] = args[i][key];
});
});
return out;
}
parseURL(url) {

@@ -297,3 +299,3 @@ // parse youtube ID

const self = this;
if (!self.player || !volume) {
if (!self.player || typeof volume !== 'number') {
return;

@@ -451,3 +453,3 @@ }

e.target.mute();
} else if (self.options.volume) {
} else if (typeof self.options.volume === 'number') {
e.target.setVolume(self.options.volume);

@@ -553,14 +555,12 @@ }

loop: self.options.loop ? 1 : 0,
muted: self.options.mute ? 1 : 0
muted: self.options.mute || self.options.volume === 0 ? 1 : 0
};
if (self.options.volume) {
self.playerOptions.volume = self.options.volume / 100;
}
// hide controls
if (!self.options.showControls) {
self.playerOptions.badge = 0;
self.playerOptions.byline = 0;
self.playerOptions.portrait = 0;
self.playerOptions.title = 0;
self.playerOptions.controls = 0;
}
// enable background option
if (!self.options.showControls && self.options.loop && self.options.autoplay) {
self.playerOptions.background = 1;

@@ -597,2 +597,7 @@ }

// Since Vimeo removed the `volume` parameter, we have to set it manually.
if (!self.options.mute && typeof self.options.volume === 'number') {
self.setVolume(self.options.volume);
}
// set current time for autoplay

@@ -649,2 +654,5 @@ if (self.options.startTime && self.options.autoplay) {

self.player.on('volumechange', e => {
self.getVolume(volume => {
self.options.volume = volume;
});
self.fire('volumechange', e);

@@ -676,4 +684,4 @@ });

self.$video.muted = true;
} else if (self.$video.volume) {
self.$video.volume = self.options.volume / 100;
} else {
self.setVolume(self.options.volume);
}

@@ -680,0 +688,0 @@

/*!
* Video Extension for Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Video Extension for Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>

@@ -8,5 +8,5 @@ * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)

/*!
* Video Worker v2.1.2 (https://github.com/nk-o/video-worker)
* Video Worker v2.1.3 (https://github.com/nk-o/video-worker)
* Copyright 2022 nK <https://nkdev.info>
* Licensed under MIT (https://github.com/nk-o/video-worker/blob/master/LICENSE)
*/let e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t=e;function o(){this.doneCallbacks=[],this.failCallbacks=[]}o.prototype={execute(e,t){let o=e.length;for(t=Array.prototype.slice.call(t);o;)o-=1,e[o].apply(null,t)},resolve(...e){this.execute(this.doneCallbacks,e)},reject(...e){this.execute(this.failCallbacks,e)},done(e){this.doneCallbacks.push(e)},fail(e){this.failCallbacks.push(e)}};let i=0,a=0,n=0,s=0,l=0;const r=new o,p=new o;class d{constructor(e,t){const o=this;o.url=e,o.options_default={autoplay:!1,loop:!1,mute:!1,volume:100,showControls:!0,accessibilityHidden:!1,startTime:0,endTime:0},o.options=o.extend({},o.options_default,t),void 0!==o.options.showContols&&(o.options.showControls=o.options.showContols,delete o.options.showContols),o.videoID=o.parseURL(e),o.videoID&&(o.ID=i,i+=1,o.loadAPI(),o.init())}extend(...e){const t=e[0]||{};return Object.keys(e).forEach((o=>{e[o]&&Object.keys(e[o]).forEach((i=>{t[i]=e[o][i]}))})),t}parseURL(e){const t=function(e){const t=e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#\&\?]*).*/);return!(!t||11!==t[1].length)&&t[1]}(e),o=function(e){const t=e.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/);return!(!t||!t[3])&&t[3]}(e),i=function(e){const t=e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/),o={};let i=0;return t.forEach((e=>{const t=e.match(/^(mp4|webm|ogv|ogg)\:(.*)/);t&&t[1]&&t[2]&&(o["ogv"===t[1]?"ogg":t[1]]=t[2],i=1)})),!!i&&o}(e);return t?(this.type="youtube",t):o?(this.type="vimeo",o):!!i&&(this.type="local",i)}isValid(){return!!this.videoID}on(e,t){this.userEventsList=this.userEventsList||[],(this.userEventsList[e]||(this.userEventsList[e]=[])).push(t)}off(e,t){this.userEventsList&&this.userEventsList[e]&&(t?this.userEventsList[e].forEach(((o,i)=>{o===t&&(this.userEventsList[e][i]=!1)})):delete this.userEventsList[e])}fire(e,...t){this.userEventsList&&void 0!==this.userEventsList[e]&&this.userEventsList[e].forEach((e=>{e&&e.apply(this,t)}))}play(e){const o=this;o.player&&("youtube"===o.type&&o.player.playVideo&&(void 0!==e&&o.player.seekTo(e||0),t.YT.PlayerState.PLAYING!==o.player.getPlayerState()&&o.player.playVideo()),"vimeo"===o.type&&(void 0!==e&&o.player.setCurrentTime(e),o.player.getPaused().then((e=>{e&&o.player.play()}))),"local"===o.type&&(void 0!==e&&(o.player.currentTime=e),o.player.paused&&o.player.play()))}pause(){const e=this;e.player&&("youtube"===e.type&&e.player.pauseVideo&&t.YT.PlayerState.PLAYING===e.player.getPlayerState()&&e.player.pauseVideo(),"vimeo"===e.type&&e.player.getPaused().then((t=>{t||e.player.pause()})),"local"===e.type&&(e.player.paused||e.player.pause()))}mute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.mute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(0),"local"===e.type&&(e.$video.muted=!0))}unmute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.unMute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(e.options.volume||100),"local"===e.type&&(e.$video.muted=!1))}setVolume(e=!1){const t=this;t.player&&e&&("youtube"===t.type&&t.player.setVolume&&t.player.setVolume(e),"vimeo"===t.type&&t.player.setVolume&&t.player.setVolume(e/100),"local"===t.type&&(t.$video.volume=e/100))}getVolume(e){const t=this;t.player?("youtube"===t.type&&t.player.getVolume&&e(t.player.getVolume()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(100*t)})),"local"===t.type&&e(100*t.$video.volume)):e(!1)}getMuted(e){const t=this;t.player?("youtube"===t.type&&t.player.isMuted&&e(t.player.isMuted()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(!!t)})),"local"===t.type&&e(t.$video.muted)):e(null)}getImageURL(e){const o=this;if(o.videoImage)e(o.videoImage);else{if("youtube"===o.type){const t=["maxresdefault","sddefault","hqdefault","0"];let i=0;const a=new Image;a.onload=function(){120!==(this.naturalWidth||this.width)||i===t.length-1?(o.videoImage=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`,e(o.videoImage)):(i+=1,this.src=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`)},a.src=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`}if("vimeo"===o.type){let i=t.innerWidth||1920;t.devicePixelRatio&&(i*=t.devicePixelRatio),i=Math.min(i,1920);let a=new XMLHttpRequest;a.open("GET",`https://vimeo.com/api/oembed.json?url=${o.url}&width=${i}`,!0),a.onreadystatechange=function(){if(4===this.readyState&&this.status>=200&&this.status<400){const t=JSON.parse(this.responseText);t.thumbnail_url&&(o.videoImage=t.thumbnail_url,e(o.videoImage))}},a.send(),a=null}}}getIframe(e){this.getVideo(e)}getVideo(e){const o=this;o.$video?e(o.$video):o.onAPIready((()=>{let i;if(o.$video||(i=document.createElement("div"),i.style.display="none"),"youtube"===o.type){let e,a;o.playerOptions={host:"https://www.youtube-nocookie.com",videoId:o.videoID,playerVars:{autohide:1,rel:0,autoplay:0,playsinline:1}},o.options.showControls||(o.playerOptions.playerVars.iv_load_policy=3,o.playerOptions.playerVars.modestbranding=1,o.playerOptions.playerVars.controls=0,o.playerOptions.playerVars.showinfo=0,o.playerOptions.playerVars.disablekb=1),o.playerOptions.events={onReady(e){if(o.options.mute?e.target.mute():o.options.volume&&e.target.setVolume(o.options.volume),o.options.autoplay&&o.play(o.options.startTime),o.fire("ready",e),o.options.loop&&!o.options.endTime){const e=.1;o.options.endTime=o.player.getDuration()-e}setInterval((()=>{o.getVolume((t=>{o.options.volume!==t&&(o.options.volume=t,o.fire("volumechange",e))}))}),150)},onStateChange(i){o.options.loop&&i.data===t.YT.PlayerState.ENDED&&o.play(o.options.startTime),e||i.data!==t.YT.PlayerState.PLAYING||(e=1,o.fire("started",i)),i.data===t.YT.PlayerState.PLAYING&&o.fire("play",i),i.data===t.YT.PlayerState.PAUSED&&o.fire("pause",i),i.data===t.YT.PlayerState.ENDED&&o.fire("ended",i),i.data===t.YT.PlayerState.PLAYING?a=setInterval((()=>{o.fire("timeupdate",i),o.options.endTime&&o.player.getCurrentTime()>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())}),150):clearInterval(a)},onError(e){o.fire("error",e)}};const n=!o.$video;if(n){const e=document.createElement("div");e.setAttribute("id",o.playerID),i.appendChild(e),document.body.appendChild(i)}o.player=o.player||new t.YT.Player(o.playerID,o.playerOptions),n&&(o.$video=document.getElementById(o.playerID),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),o.videoWidth=parseInt(o.$video.getAttribute("width"),10)||1280,o.videoHeight=parseInt(o.$video.getAttribute("height"),10)||720)}if("vimeo"===o.type){if(o.playerOptions={dnt:1,id:o.videoID,autopause:0,transparent:0,autoplay:o.options.autoplay?1:0,loop:o.options.loop?1:0,muted:o.options.mute?1:0},o.options.volume&&(o.playerOptions.volume=o.options.volume/100),o.options.showControls||(o.playerOptions.badge=0,o.playerOptions.byline=0,o.playerOptions.portrait=0,o.playerOptions.title=0,o.playerOptions.background=1),!o.$video){let e="";Object.keys(o.playerOptions).forEach((t=>{""!==e&&(e+="&"),e+=`${t}=${encodeURIComponent(o.playerOptions[t])}`})),o.$video=document.createElement("iframe"),o.$video.setAttribute("id",o.playerID),o.$video.setAttribute("src",`https://player.vimeo.com/video/${o.videoID}?${e}`),o.$video.setAttribute("frameborder","0"),o.$video.setAttribute("mozallowfullscreen",""),o.$video.setAttribute("allowfullscreen",""),o.$video.setAttribute("title","Vimeo video player"),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),i.appendChild(o.$video),document.body.appendChild(i)}let e;o.player=o.player||new t.Vimeo.Player(o.$video,o.playerOptions),o.options.startTime&&o.options.autoplay&&o.player.setCurrentTime(o.options.startTime),o.player.getVideoWidth().then((e=>{o.videoWidth=e||1280})),o.player.getVideoHeight().then((e=>{o.videoHeight=e||720})),o.player.on("timeupdate",(t=>{e||(o.fire("started",t),e=1),o.fire("timeupdate",t),o.options.endTime&&o.options.endTime&&t.seconds>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())})),o.player.on("play",(e=>{o.fire("play",e),o.options.startTime&&0===e.seconds&&o.play(o.options.startTime)})),o.player.on("pause",(e=>{o.fire("pause",e)})),o.player.on("ended",(e=>{o.fire("ended",e)})),o.player.on("loaded",(e=>{o.fire("ready",e)})),o.player.on("volumechange",(e=>{o.fire("volumechange",e)})),o.player.on("error",(e=>{o.fire("error",e)}))}if("local"===o.type){let e;o.$video||(o.$video=document.createElement("video"),o.options.showControls&&(o.$video.controls=!0),o.options.mute?o.$video.muted=!0:o.$video.volume&&(o.$video.volume=o.options.volume/100),o.options.loop&&(o.$video.loop=!0),o.$video.setAttribute("playsinline",""),o.$video.setAttribute("webkit-playsinline",""),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),o.$video.setAttribute("id",o.playerID),i.appendChild(o.$video),document.body.appendChild(i),Object.keys(o.videoID).forEach((e=>{!function(e,t,o){const i=document.createElement("source");i.src=t,i.type=o,e.appendChild(i)}(o.$video,o.videoID[e],`video/${e}`)}))),o.player=o.player||o.$video,o.player.addEventListener("playing",(t=>{e||o.fire("started",t),e=1})),o.player.addEventListener("timeupdate",(function(e){o.fire("timeupdate",e),o.options.endTime&&o.options.endTime&&this.currentTime>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())})),o.player.addEventListener("play",(e=>{o.fire("play",e)})),o.player.addEventListener("pause",(e=>{o.fire("pause",e)})),o.player.addEventListener("ended",(e=>{o.fire("ended",e)})),o.player.addEventListener("loadedmetadata",(function(){o.videoWidth=this.videoWidth||1280,o.videoHeight=this.videoHeight||720,o.fire("ready"),o.options.autoplay&&o.play(o.options.startTime)})),o.player.addEventListener("volumechange",(e=>{o.getVolume((e=>{o.options.volume=e})),o.fire("volumechange",e)})),o.player.addEventListener("error",(e=>{o.fire("error",e)}))}e(o.$video)}))}init(){this.playerID=`VideoWorker-${this.ID}`}loadAPI(){if(a&&n)return;let e="";if("youtube"!==this.type||a||(a=1,e="https://www.youtube.com/iframe_api"),"vimeo"===this.type&&!n){if(n=1,void 0!==t.Vimeo)return;e="https://player.vimeo.com/api/player.js"}if(!e)return;let o=document.createElement("script"),i=document.getElementsByTagName("head")[0];o.src=e,i.appendChild(o),i=null,o=null}onAPIready(e){const o=this;if("youtube"===o.type&&(void 0!==t.YT&&0!==t.YT.loaded||s?"object"==typeof t.YT&&1===t.YT.loaded?e():r.done((()=>{e()})):(s=1,t.onYouTubeIframeAPIReady=function(){t.onYouTubeIframeAPIReady=null,r.resolve("done"),e()})),"vimeo"===o.type)if(void 0!==t.Vimeo||l)void 0!==t.Vimeo?e():p.done((()=>{e()}));else{l=1;const o=setInterval((()=>{void 0!==t.Vimeo&&(clearInterval(o),p.resolve("done"),e())}),20)}"local"===o.type&&e()}}let u;u="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var y,m=u;function c(e=m.jarallax){if(void 0===e)return;const t=e.constructor,o=t.prototype.onScroll;t.prototype.onScroll=function(){const e=this;o.apply(e);!e.isVideoInserted&&e.video&&(!e.options.videoLazyLoading||e.isElementInViewport)&&!e.options.disableVideo()&&(e.isVideoInserted=!0,e.video.getVideo((t=>{const o=t.parentNode;e.css(t,{position:e.image.position,top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",margin:0,zIndex:-1}),e.$video=t,"local"===e.video.type&&(e.image.src?e.$video.setAttribute("poster",e.image.src):e.image.$item&&"IMG"===e.image.$item.tagName&&e.image.$item.src&&e.$video.setAttribute("poster",e.image.$item.src)),e.options.videoClass&&e.$video.setAttribute("class",`${e.options.videoClass} ${e.options.videoClass}-${e.video.type}`),e.image.$container.appendChild(t),o.parentNode.removeChild(o),e.options.onVideoInsert&&e.options.onVideoInsert.call(e)})))};const i=t.prototype.coverImage;t.prototype.coverImage=function(){const e=this,t=i.apply(e),o=!!e.image.$item&&e.image.$item.nodeName;if(t&&e.video&&o&&("IFRAME"===o||"VIDEO"===o)){let i=t.image.height,a=i*e.image.width/e.image.height,n=(t.container.width-a)/2,s=t.image.marginTop;t.container.width>a&&(a=t.container.width,i=a*e.image.height/e.image.width,n=0,s+=(t.image.height-i)/2),"IFRAME"===o&&(i+=400,s-=200),e.css(e.$video,{width:`${a}px`,marginLeft:`${n}px`,height:`${i}px`,marginTop:`${s}px`})}return t};const a=t.prototype.initImg;t.prototype.initImg=function(){const e=this,t=a.apply(e);return e.options.videoSrc||(e.options.videoSrc=e.$item.getAttribute("data-jarallax-video")||null),e.options.videoSrc?(e.defaultInitImgResult=t,!0):t};const n=t.prototype.canInitParallax;t.prototype.canInitParallax=function(){const e=this;let t=n.apply(e);if(!e.options.videoSrc)return t;const o=new d(e.options.videoSrc,{autoplay:!0,loop:e.options.videoLoop,showControls:!1,accessibilityHidden:!0,startTime:e.options.videoStartTime||0,endTime:e.options.videoEndTime||0,mute:!!e.options.videoVolume,volume:e.options.videoVolume||0});function i(){e.image.$default_item&&(e.image.$item=e.image.$default_item,e.image.$item.style.display="block",e.coverImage(),e.onScroll())}if(e.options.onVideoWorkerInit&&e.options.onVideoWorkerInit.call(e,o),o.isValid())if(this.options.disableParallax()&&(t=!0,e.image.position="absolute",e.options.type="scroll",e.options.speed=1),t){if(o.on("ready",(()=>{if(e.options.videoPlayOnlyVisible){const t=e.onScroll;e.onScroll=function(){t.apply(e),e.videoError||!e.options.videoLoop&&(e.options.videoLoop||e.videoEnded)||(e.isVisible()?o.play():o.pause())}}else o.play()})),o.on("started",(()=>{e.image.$default_item=e.image.$item,e.image.$item=e.$video,e.image.width=e.video.videoWidth||1280,e.image.height=e.video.videoHeight||720,e.coverImage(),e.onScroll(),e.image.$default_item&&(e.image.$default_item.style.display="none")})),o.on("ended",(()=>{e.videoEnded=!0,e.options.videoLoop||i()})),o.on("error",(()=>{e.videoError=!0,i()})),e.video=o,!e.defaultInitImgResult&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","local"!==o.type))return o.getImageURL((t=>{e.image.bgImage=`url("${t}")`,e.init()})),!1}else e.defaultInitImgResult||o.getImageURL((t=>{const o=e.$item.getAttribute("style");o&&e.$item.setAttribute("data-jarallax-original-styles",o),e.css(e.$item,{"background-image":`url("${t}")`,"background-position":"center","background-size":"cover"})}));return t};const s=t.prototype.destroy;t.prototype.destroy=function(){const e=this;e.image.$default_item&&(e.image.$item=e.image.$default_item,delete e.image.$default_item),s.apply(e)}}return c(),y=()=>{void 0!==m.jarallax&&m.jarallax(document.querySelectorAll("[data-jarallax-video]"))},"complete"===document.readyState||"interactive"===document.readyState?y():document.addEventListener("DOMContentLoaded",y,{capture:!0,once:!0,passive:!0}),m.VideoWorker||(m.VideoWorker=d),c}));//# sourceMappingURL=jarallax-video.min.js.map
*/let e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var t=e;function o(){this.doneCallbacks=[],this.failCallbacks=[]}o.prototype={execute(e,t){let o=e.length;for(t=Array.prototype.slice.call(t);o;)o-=1,e[o].apply(null,t)},resolve(...e){this.execute(this.doneCallbacks,e)},reject(...e){this.execute(this.failCallbacks,e)},done(e){this.doneCallbacks.push(e)},fail(e){this.failCallbacks.push(e)}};var i={autoplay:!1,loop:!1,mute:!1,volume:100,showControls:!0,accessibilityHidden:!1,startTime:0,endTime:0};let a=0,n=0,s=0,l=0,r=0;const p=new o,d=new o;class u{constructor(e,t){const o=this;o.url=e,o.options_default={...i},o.options=function(e,...t){return e=e||{},Object.keys(t).forEach((o=>{t[o]&&Object.keys(t[o]).forEach((i=>{e[i]=t[o][i]}))})),e}({},o.options_default,t),o.videoID=o.parseURL(e),o.videoID&&(o.ID=a,a+=1,o.loadAPI(),o.init())}parseURL(e){const t=function(e){const t=e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#\&\?]*).*/);return!(!t||11!==t[1].length)&&t[1]}(e),o=function(e){const t=e.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/);return!(!t||!t[3])&&t[3]}(e),i=function(e){const t=e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/),o={};let i=0;return t.forEach((e=>{const t=e.match(/^(mp4|webm|ogv|ogg)\:(.*)/);t&&t[1]&&t[2]&&(o["ogv"===t[1]?"ogg":t[1]]=t[2],i=1)})),!!i&&o}(e);return t?(this.type="youtube",t):o?(this.type="vimeo",o):!!i&&(this.type="local",i)}isValid(){return!!this.videoID}on(e,t){this.userEventsList=this.userEventsList||[],(this.userEventsList[e]||(this.userEventsList[e]=[])).push(t)}off(e,t){this.userEventsList&&this.userEventsList[e]&&(t?this.userEventsList[e].forEach(((o,i)=>{o===t&&(this.userEventsList[e][i]=!1)})):delete this.userEventsList[e])}fire(e,...t){this.userEventsList&&void 0!==this.userEventsList[e]&&this.userEventsList[e].forEach((e=>{e&&e.apply(this,t)}))}play(e){const o=this;o.player&&("youtube"===o.type&&o.player.playVideo&&(void 0!==e&&o.player.seekTo(e||0),t.YT.PlayerState.PLAYING!==o.player.getPlayerState()&&o.player.playVideo()),"vimeo"===o.type&&(void 0!==e&&o.player.setCurrentTime(e),o.player.getPaused().then((e=>{e&&o.player.play()}))),"local"===o.type&&(void 0!==e&&(o.player.currentTime=e),o.player.paused&&o.player.play()))}pause(){const e=this;e.player&&("youtube"===e.type&&e.player.pauseVideo&&t.YT.PlayerState.PLAYING===e.player.getPlayerState()&&e.player.pauseVideo(),"vimeo"===e.type&&e.player.getPaused().then((t=>{t||e.player.pause()})),"local"===e.type&&(e.player.paused||e.player.pause()))}mute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.mute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(0),"local"===e.type&&(e.$video.muted=!0))}unmute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.unMute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(e.options.volume||100),"local"===e.type&&(e.$video.muted=!1))}setVolume(e=!1){const t=this;t.player&&"number"==typeof e&&("youtube"===t.type&&t.player.setVolume&&t.player.setVolume(e),"vimeo"===t.type&&t.player.setVolume&&t.player.setVolume(e/100),"local"===t.type&&(t.$video.volume=e/100))}getVolume(e){const t=this;t.player?("youtube"===t.type&&t.player.getVolume&&e(t.player.getVolume()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(100*t)})),"local"===t.type&&e(100*t.$video.volume)):e(!1)}getMuted(e){const t=this;t.player?("youtube"===t.type&&t.player.isMuted&&e(t.player.isMuted()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(!!t)})),"local"===t.type&&e(t.$video.muted)):e(null)}getImageURL(e){const o=this;if(o.videoImage)e(o.videoImage);else{if("youtube"===o.type){const t=["maxresdefault","sddefault","hqdefault","0"];let i=0;const a=new Image;a.onload=function(){120!==(this.naturalWidth||this.width)||i===t.length-1?(o.videoImage=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`,e(o.videoImage)):(i+=1,this.src=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`)},a.src=`https://img.youtube.com/vi/${o.videoID}/${t[i]}.jpg`}if("vimeo"===o.type){let i=t.innerWidth||1920;t.devicePixelRatio&&(i*=t.devicePixelRatio),i=Math.min(i,1920);let a=new XMLHttpRequest;a.open("GET",`https://vimeo.com/api/oembed.json?url=${o.url}&width=${i}`,!0),a.onreadystatechange=function(){if(4===this.readyState&&this.status>=200&&this.status<400){const t=JSON.parse(this.responseText);t.thumbnail_url&&(o.videoImage=t.thumbnail_url,e(o.videoImage))}},a.send(),a=null}}}getIframe(e){this.getVideo(e)}getVideo(e){const o=this;o.$video?e(o.$video):o.onAPIready((()=>{let i;if(o.$video||(i=document.createElement("div"),i.style.display="none"),"youtube"===o.type){let e,a;o.playerOptions={host:"https://www.youtube-nocookie.com",videoId:o.videoID,playerVars:{autohide:1,rel:0,autoplay:0,playsinline:1}},o.options.showControls||(o.playerOptions.playerVars.iv_load_policy=3,o.playerOptions.playerVars.modestbranding=1,o.playerOptions.playerVars.controls=0,o.playerOptions.playerVars.showinfo=0,o.playerOptions.playerVars.disablekb=1),o.playerOptions.events={onReady(e){if(o.options.mute?e.target.mute():"number"==typeof o.options.volume&&e.target.setVolume(o.options.volume),o.options.autoplay&&o.play(o.options.startTime),o.fire("ready",e),o.options.loop&&!o.options.endTime){const e=.1;o.options.endTime=o.player.getDuration()-e}setInterval((()=>{o.getVolume((t=>{o.options.volume!==t&&(o.options.volume=t,o.fire("volumechange",e))}))}),150)},onStateChange(i){o.options.loop&&i.data===t.YT.PlayerState.ENDED&&o.play(o.options.startTime),e||i.data!==t.YT.PlayerState.PLAYING||(e=1,o.fire("started",i)),i.data===t.YT.PlayerState.PLAYING&&o.fire("play",i),i.data===t.YT.PlayerState.PAUSED&&o.fire("pause",i),i.data===t.YT.PlayerState.ENDED&&o.fire("ended",i),i.data===t.YT.PlayerState.PLAYING?a=setInterval((()=>{o.fire("timeupdate",i),o.options.endTime&&o.player.getCurrentTime()>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())}),150):clearInterval(a)},onError(e){o.fire("error",e)}};const n=!o.$video;if(n){const e=document.createElement("div");e.setAttribute("id",o.playerID),i.appendChild(e),document.body.appendChild(i)}o.player=o.player||new t.YT.Player(o.playerID,o.playerOptions),n&&(o.$video=document.getElementById(o.playerID),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),o.videoWidth=parseInt(o.$video.getAttribute("width"),10)||1280,o.videoHeight=parseInt(o.$video.getAttribute("height"),10)||720)}if("vimeo"===o.type){if(o.playerOptions={dnt:1,id:o.videoID,autopause:0,transparent:0,autoplay:o.options.autoplay?1:0,loop:o.options.loop?1:0,muted:o.options.mute||0===o.options.volume?1:0},o.options.showControls||(o.playerOptions.controls=0),!o.options.showControls&&o.options.loop&&o.options.autoplay&&(o.playerOptions.background=1),!o.$video){let e="";Object.keys(o.playerOptions).forEach((t=>{""!==e&&(e+="&"),e+=`${t}=${encodeURIComponent(o.playerOptions[t])}`})),o.$video=document.createElement("iframe"),o.$video.setAttribute("id",o.playerID),o.$video.setAttribute("src",`https://player.vimeo.com/video/${o.videoID}?${e}`),o.$video.setAttribute("frameborder","0"),o.$video.setAttribute("mozallowfullscreen",""),o.$video.setAttribute("allowfullscreen",""),o.$video.setAttribute("title","Vimeo video player"),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),i.appendChild(o.$video),document.body.appendChild(i)}let e;o.player=o.player||new t.Vimeo.Player(o.$video,o.playerOptions),o.options.mute||"number"!=typeof o.options.volume||o.setVolume(o.options.volume),o.options.startTime&&o.options.autoplay&&o.player.setCurrentTime(o.options.startTime),o.player.getVideoWidth().then((e=>{o.videoWidth=e||1280})),o.player.getVideoHeight().then((e=>{o.videoHeight=e||720})),o.player.on("timeupdate",(t=>{e||(o.fire("started",t),e=1),o.fire("timeupdate",t),o.options.endTime&&o.options.endTime&&t.seconds>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())})),o.player.on("play",(e=>{o.fire("play",e),o.options.startTime&&0===e.seconds&&o.play(o.options.startTime)})),o.player.on("pause",(e=>{o.fire("pause",e)})),o.player.on("ended",(e=>{o.fire("ended",e)})),o.player.on("loaded",(e=>{o.fire("ready",e)})),o.player.on("volumechange",(e=>{o.getVolume((e=>{o.options.volume=e})),o.fire("volumechange",e)})),o.player.on("error",(e=>{o.fire("error",e)}))}if("local"===o.type){let e;o.$video||(o.$video=document.createElement("video"),o.options.showControls&&(o.$video.controls=!0),o.options.mute?o.$video.muted=!0:o.setVolume(o.options.volume),o.options.loop&&(o.$video.loop=!0),o.$video.setAttribute("playsinline",""),o.$video.setAttribute("webkit-playsinline",""),o.options.accessibilityHidden&&(o.$video.setAttribute("tabindex","-1"),o.$video.setAttribute("aria-hidden","true")),o.$video.setAttribute("id",o.playerID),i.appendChild(o.$video),document.body.appendChild(i),Object.keys(o.videoID).forEach((e=>{!function(e,t,o){const i=document.createElement("source");i.src=t,i.type=o,e.appendChild(i)}(o.$video,o.videoID[e],`video/${e}`)}))),o.player=o.player||o.$video,o.player.addEventListener("playing",(t=>{e||o.fire("started",t),e=1})),o.player.addEventListener("timeupdate",(function(e){o.fire("timeupdate",e),o.options.endTime&&o.options.endTime&&this.currentTime>=o.options.endTime&&(o.options.loop?o.play(o.options.startTime):o.pause())})),o.player.addEventListener("play",(e=>{o.fire("play",e)})),o.player.addEventListener("pause",(e=>{o.fire("pause",e)})),o.player.addEventListener("ended",(e=>{o.fire("ended",e)})),o.player.addEventListener("loadedmetadata",(function(){o.videoWidth=this.videoWidth||1280,o.videoHeight=this.videoHeight||720,o.fire("ready"),o.options.autoplay&&o.play(o.options.startTime)})),o.player.addEventListener("volumechange",(e=>{o.getVolume((e=>{o.options.volume=e})),o.fire("volumechange",e)})),o.player.addEventListener("error",(e=>{o.fire("error",e)}))}e(o.$video)}))}init(){this.playerID=`VideoWorker-${this.ID}`}loadAPI(){if(n&&s)return;let e="";if("youtube"!==this.type||n||(n=1,e="https://www.youtube.com/iframe_api"),"vimeo"===this.type&&!s){if(s=1,void 0!==t.Vimeo)return;e="https://player.vimeo.com/api/player.js"}if(!e)return;let o=document.createElement("script"),i=document.getElementsByTagName("head")[0];o.src=e,i.appendChild(o),i=null,o=null}onAPIready(e){const o=this;if("youtube"===o.type&&(void 0!==t.YT&&0!==t.YT.loaded||l?"object"==typeof t.YT&&1===t.YT.loaded?e():p.done((()=>{e()})):(l=1,t.onYouTubeIframeAPIReady=function(){t.onYouTubeIframeAPIReady=null,p.resolve("done"),e()})),"vimeo"===o.type)if(void 0!==t.Vimeo||r)void 0!==t.Vimeo?e():d.done((()=>{e()}));else{r=1;const o=setInterval((()=>{void 0!==t.Vimeo&&(clearInterval(o),d.resolve("done"),e())}),20)}"local"===o.type&&e()}}let y;y="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var m,c=y;function v(e=c.jarallax){if(void 0===e)return;const t=e.constructor,o=t.prototype.onScroll;t.prototype.onScroll=function(){const e=this;o.apply(e);!e.isVideoInserted&&e.video&&(!e.options.videoLazyLoading||e.isElementInViewport)&&!e.options.disableVideo()&&(e.isVideoInserted=!0,e.video.getVideo((t=>{const o=t.parentNode;e.css(t,{position:e.image.position,top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",margin:0,zIndex:-1}),e.$video=t,"local"===e.video.type&&(e.image.src?e.$video.setAttribute("poster",e.image.src):e.image.$item&&"IMG"===e.image.$item.tagName&&e.image.$item.src&&e.$video.setAttribute("poster",e.image.$item.src)),e.options.videoClass&&e.$video.setAttribute("class",`${e.options.videoClass} ${e.options.videoClass}-${e.video.type}`),e.image.$container.appendChild(t),o.parentNode.removeChild(o),e.options.onVideoInsert&&e.options.onVideoInsert.call(e)})))};const i=t.prototype.coverImage;t.prototype.coverImage=function(){const e=this,t=i.apply(e),o=!!e.image.$item&&e.image.$item.nodeName;if(t&&e.video&&o&&("IFRAME"===o||"VIDEO"===o)){let i=t.image.height,a=i*e.image.width/e.image.height,n=(t.container.width-a)/2,s=t.image.marginTop;t.container.width>a&&(a=t.container.width,i=a*e.image.height/e.image.width,n=0,s+=(t.image.height-i)/2),"IFRAME"===o&&(i+=400,s-=200),e.css(e.$video,{width:`${a}px`,marginLeft:`${n}px`,height:`${i}px`,marginTop:`${s}px`})}return t};const a=t.prototype.initImg;t.prototype.initImg=function(){const e=this,t=a.apply(e);return e.options.videoSrc||(e.options.videoSrc=e.$item.getAttribute("data-jarallax-video")||null),e.options.videoSrc?(e.defaultInitImgResult=t,!0):t};const n=t.prototype.canInitParallax;t.prototype.canInitParallax=function(){const e=this;let t=n.apply(e);if(!e.options.videoSrc)return t;const o=new u(e.options.videoSrc,{autoplay:!0,loop:e.options.videoLoop,showControls:!1,accessibilityHidden:!0,startTime:e.options.videoStartTime||0,endTime:e.options.videoEndTime||0,mute:!!e.options.videoVolume,volume:e.options.videoVolume||0});function i(){e.image.$default_item&&(e.image.$item=e.image.$default_item,e.image.$item.style.display="block",e.coverImage(),e.onScroll())}if(e.options.onVideoWorkerInit&&e.options.onVideoWorkerInit.call(e,o),o.isValid())if(this.options.disableParallax()&&(t=!0,e.image.position="absolute",e.options.type="scroll",e.options.speed=1),t){if(o.on("ready",(()=>{if(e.options.videoPlayOnlyVisible){const t=e.onScroll;e.onScroll=function(){t.apply(e),e.videoError||!e.options.videoLoop&&(e.options.videoLoop||e.videoEnded)||(e.isVisible()?o.play():o.pause())}}else o.play()})),o.on("started",(()=>{e.image.$default_item=e.image.$item,e.image.$item=e.$video,e.image.width=e.video.videoWidth||1280,e.image.height=e.video.videoHeight||720,e.coverImage(),e.onScroll(),e.image.$default_item&&(e.image.$default_item.style.display="none")})),o.on("ended",(()=>{e.videoEnded=!0,e.options.videoLoop||i()})),o.on("error",(()=>{e.videoError=!0,i()})),e.video=o,!e.defaultInitImgResult&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","local"!==o.type))return o.getImageURL((t=>{e.image.bgImage=`url("${t}")`,e.init()})),!1}else e.defaultInitImgResult||o.getImageURL((t=>{const o=e.$item.getAttribute("style");o&&e.$item.setAttribute("data-jarallax-original-styles",o),e.css(e.$item,{"background-image":`url("${t}")`,"background-position":"center","background-size":"cover"})}));return t};const s=t.prototype.destroy;t.prototype.destroy=function(){const e=this;e.image.$default_item&&(e.image.$item=e.image.$default_item,delete e.image.$default_item),s.apply(e)}}return v(),m=()=>{void 0!==c.jarallax&&c.jarallax(document.querySelectorAll("[data-jarallax-video]"))},"complete"===document.readyState||"interactive"===document.readyState?m():document.addEventListener("DOMContentLoaded",m,{capture:!0,once:!0,passive:!0}),c.VideoWorker||(c.VideoWorker=u),v}));//# sourceMappingURL=jarallax-video.min.js.map
/*!
* Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>
* Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)
*/
var defaults = {
var defaults$1 = {
// Base parallax options.

@@ -80,3 +80,3 @@ type: 'scroll',

*/
function extend(out, ...args) {
function extend$1(out, ...args) {
out = out || {};

@@ -256,3 +256,3 @@ Object.keys(args).forEach(i => {

self.defaults = {
...defaults
...defaults$1
};

@@ -336,3 +336,3 @@

extend(out, ...args) {
return extend(out, ...args);
return extend$1(out, ...args);
}

@@ -752,3 +752,3 @@

/*!
* Video Worker v2.1.2 (https://github.com/nk-o/video-worker)
* Video Worker v2.1.3 (https://github.com/nk-o/video-worker)
* Copyright 2022 nK <https://nkdev.info>

@@ -801,2 +801,34 @@ * Licensed under MIT (https://github.com/nk-o/video-worker/blob/master/LICENSE)

};
var defaults = {
autoplay: false,
loop: false,
mute: false,
volume: 100,
showControls: true,
accessibilityHidden: false,
// start / end video time in seconds
startTime: 0,
endTime: 0
};
/**
* Extend like jQuery.extend
*
* @param {Object} out - output object.
* @param {...any} args - additional objects to extend.
*
* @returns {Object}
*/
function extend(out, ...args) {
out = out || {};
Object.keys(args).forEach(i => {
if (!args[i]) {
return;
}
Object.keys(args[i]).forEach(key => {
out[key] = args[i][key];
});
});
return out;
}
let ID = 0;

@@ -814,21 +846,6 @@ let YoutubeAPIadded = 0;

self.options_default = {
autoplay: false,
loop: false,
mute: false,
volume: 100,
showControls: true,
accessibilityHidden: false,
// start / end video time in seconds
startTime: 0,
endTime: 0
...defaults
};
self.options = self.extend({}, self.options_default, options);
self.options = extend({}, self.options_default, options);
// Fix wrong option name.
// Thanks to https://github.com/nk-o/video-worker/issues/13.
if (typeof self.options.showContols !== 'undefined') {
self.options.showControls = self.options.showContols;
delete self.options.showContols;
}
// check URL

@@ -845,17 +862,2 @@ self.videoID = self.parseURL(url);

}
// Extend like jQuery.extend
// eslint-disable-next-line class-methods-use-this
extend(...args) {
const out = args[0] || {};
Object.keys(args).forEach(i => {
if (!args[i]) {
return;
}
Object.keys(args[i]).forEach(key => {
out[key] = args[i][key];
});
});
return out;
}
parseURL(url) {

@@ -1035,3 +1037,3 @@ // parse youtube ID

const self = this;
if (!self.player || !volume) {
if (!self.player || typeof volume !== 'number') {
return;

@@ -1189,3 +1191,3 @@ }

e.target.mute();
} else if (self.options.volume) {
} else if (typeof self.options.volume === 'number') {
e.target.setVolume(self.options.volume);

@@ -1291,14 +1293,12 @@ }

loop: self.options.loop ? 1 : 0,
muted: self.options.mute ? 1 : 0
muted: self.options.mute || self.options.volume === 0 ? 1 : 0
};
if (self.options.volume) {
self.playerOptions.volume = self.options.volume / 100;
}
// hide controls
if (!self.options.showControls) {
self.playerOptions.badge = 0;
self.playerOptions.byline = 0;
self.playerOptions.portrait = 0;
self.playerOptions.title = 0;
self.playerOptions.controls = 0;
}
// enable background option
if (!self.options.showControls && self.options.loop && self.options.autoplay) {
self.playerOptions.background = 1;

@@ -1335,2 +1335,7 @@ }

// Since Vimeo removed the `volume` parameter, we have to set it manually.
if (!self.options.mute && typeof self.options.volume === 'number') {
self.setVolume(self.options.volume);
}
// set current time for autoplay

@@ -1387,2 +1392,5 @@ if (self.options.startTime && self.options.autoplay) {

self.player.on('volumechange', e => {
self.getVolume(volume => {
self.options.volume = volume;
});
self.fire('volumechange', e);

@@ -1414,4 +1422,4 @@ });

self.$video.muted = true;
} else if (self.$video.volume) {
self.$video.volume = self.options.volume / 100;
} else {
self.setVolume(self.options.volume);
}

@@ -1418,0 +1426,0 @@

/*!
* Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>

@@ -8,6 +8,6 @@ * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)

/*!
* Video Worker v2.1.2 (https://github.com/nk-o/video-worker)
* Video Worker v2.1.3 (https://github.com/nk-o/video-worker)
* Copyright 2022 nK <https://nkdev.info>
* Licensed under MIT (https://github.com/nk-o/video-worker/blob/master/LICENSE)
*/
let f;v.constructor=h,f="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var b=f;function $(){this.doneCallbacks=[],this.failCallbacks=[]}$.prototype={execute(e,t){let o=e.length;for(t=Array.prototype.slice.call(t);o;)o-=1,e[o].apply(null,t)},resolve(...e){this.execute(this.doneCallbacks,e)},reject(...e){this.execute(this.failCallbacks,e)},done(e){this.doneCallbacks.push(e)},fail(e){this.failCallbacks.push(e)}};let I=0,A=0,x=0,w=0,E=0;const V=new $,T=new $;class P{constructor(e,t){const o=this;o.url=e,o.options_default={autoplay:!1,loop:!1,mute:!1,volume:100,showControls:!0,accessibilityHidden:!1,startTime:0,endTime:0},o.options=o.extend({},o.options_default,t),void 0!==o.options.showContols&&(o.options.showControls=o.options.showContols,delete o.options.showContols),o.videoID=o.parseURL(e),o.videoID&&(o.ID=I,I+=1,o.loadAPI(),o.init())}extend(...e){const t=e[0]||{};return Object.keys(e).forEach((o=>{e[o]&&Object.keys(e[o]).forEach((i=>{t[i]=e[o][i]}))})),t}parseURL(e){const t=function(e){const t=e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#\&\?]*).*/);return!(!t||11!==t[1].length)&&t[1]}(e),o=function(e){const t=e.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/);return!(!t||!t[3])&&t[3]}(e),i=function(e){const t=e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/),o={};let i=0;return t.forEach((e=>{const t=e.match(/^(mp4|webm|ogv|ogg)\:(.*)/);t&&t[1]&&t[2]&&(o["ogv"===t[1]?"ogg":t[1]]=t[2],i=1)})),!!i&&o}(e);return t?(this.type="youtube",t):o?(this.type="vimeo",o):!!i&&(this.type="local",i)}isValid(){return!!this.videoID}on(e,t){this.userEventsList=this.userEventsList||[],(this.userEventsList[e]||(this.userEventsList[e]=[])).push(t)}off(e,t){this.userEventsList&&this.userEventsList[e]&&(t?this.userEventsList[e].forEach(((o,i)=>{o===t&&(this.userEventsList[e][i]=!1)})):delete this.userEventsList[e])}fire(e,...t){this.userEventsList&&void 0!==this.userEventsList[e]&&this.userEventsList[e].forEach((e=>{e&&e.apply(this,t)}))}play(e){const t=this;t.player&&("youtube"===t.type&&t.player.playVideo&&(void 0!==e&&t.player.seekTo(e||0),b.YT.PlayerState.PLAYING!==t.player.getPlayerState()&&t.player.playVideo()),"vimeo"===t.type&&(void 0!==e&&t.player.setCurrentTime(e),t.player.getPaused().then((e=>{e&&t.player.play()}))),"local"===t.type&&(void 0!==e&&(t.player.currentTime=e),t.player.paused&&t.player.play()))}pause(){const e=this;e.player&&("youtube"===e.type&&e.player.pauseVideo&&b.YT.PlayerState.PLAYING===e.player.getPlayerState()&&e.player.pauseVideo(),"vimeo"===e.type&&e.player.getPaused().then((t=>{t||e.player.pause()})),"local"===e.type&&(e.player.paused||e.player.pause()))}mute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.mute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(0),"local"===e.type&&(e.$video.muted=!0))}unmute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.unMute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(e.options.volume||100),"local"===e.type&&(e.$video.muted=!1))}setVolume(e=!1){const t=this;t.player&&e&&("youtube"===t.type&&t.player.setVolume&&t.player.setVolume(e),"vimeo"===t.type&&t.player.setVolume&&t.player.setVolume(e/100),"local"===t.type&&(t.$video.volume=e/100))}getVolume(e){const t=this;t.player?("youtube"===t.type&&t.player.getVolume&&e(t.player.getVolume()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(100*t)})),"local"===t.type&&e(100*t.$video.volume)):e(!1)}getMuted(e){const t=this;t.player?("youtube"===t.type&&t.player.isMuted&&e(t.player.isMuted()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(!!t)})),"local"===t.type&&e(t.$video.muted)):e(null)}getImageURL(e){const t=this;if(t.videoImage)e(t.videoImage);else{if("youtube"===t.type){const o=["maxresdefault","sddefault","hqdefault","0"];let i=0;const n=new Image;n.onload=function(){120!==(this.naturalWidth||this.width)||i===o.length-1?(t.videoImage=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`,e(t.videoImage)):(i+=1,this.src=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`)},n.src=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`}if("vimeo"===t.type){let o=b.innerWidth||1920;b.devicePixelRatio&&(o*=b.devicePixelRatio),o=Math.min(o,1920);let i=new XMLHttpRequest;i.open("GET",`https://vimeo.com/api/oembed.json?url=${t.url}&width=${o}`,!0),i.onreadystatechange=function(){if(4===this.readyState&&this.status>=200&&this.status<400){const o=JSON.parse(this.responseText);o.thumbnail_url&&(t.videoImage=o.thumbnail_url,e(t.videoImage))}},i.send(),i=null}}}getIframe(e){this.getVideo(e)}getVideo(e){const t=this;t.$video?e(t.$video):t.onAPIready((()=>{let o;if(t.$video||(o=document.createElement("div"),o.style.display="none"),"youtube"===t.type){let e,i;t.playerOptions={host:"https://www.youtube-nocookie.com",videoId:t.videoID,playerVars:{autohide:1,rel:0,autoplay:0,playsinline:1}},t.options.showControls||(t.playerOptions.playerVars.iv_load_policy=3,t.playerOptions.playerVars.modestbranding=1,t.playerOptions.playerVars.controls=0,t.playerOptions.playerVars.showinfo=0,t.playerOptions.playerVars.disablekb=1),t.playerOptions.events={onReady(e){if(t.options.mute?e.target.mute():t.options.volume&&e.target.setVolume(t.options.volume),t.options.autoplay&&t.play(t.options.startTime),t.fire("ready",e),t.options.loop&&!t.options.endTime){const e=.1;t.options.endTime=t.player.getDuration()-e}setInterval((()=>{t.getVolume((o=>{t.options.volume!==o&&(t.options.volume=o,t.fire("volumechange",e))}))}),150)},onStateChange(o){t.options.loop&&o.data===b.YT.PlayerState.ENDED&&t.play(t.options.startTime),e||o.data!==b.YT.PlayerState.PLAYING||(e=1,t.fire("started",o)),o.data===b.YT.PlayerState.PLAYING&&t.fire("play",o),o.data===b.YT.PlayerState.PAUSED&&t.fire("pause",o),o.data===b.YT.PlayerState.ENDED&&t.fire("ended",o),o.data===b.YT.PlayerState.PLAYING?i=setInterval((()=>{t.fire("timeupdate",o),t.options.endTime&&t.player.getCurrentTime()>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())}),150):clearInterval(i)},onError(e){t.fire("error",e)}};const n=!t.$video;if(n){const e=document.createElement("div");e.setAttribute("id",t.playerID),o.appendChild(e),document.body.appendChild(o)}t.player=t.player||new b.YT.Player(t.playerID,t.playerOptions),n&&(t.$video=document.getElementById(t.playerID),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),t.videoWidth=parseInt(t.$video.getAttribute("width"),10)||1280,t.videoHeight=parseInt(t.$video.getAttribute("height"),10)||720)}if("vimeo"===t.type){if(t.playerOptions={dnt:1,id:t.videoID,autopause:0,transparent:0,autoplay:t.options.autoplay?1:0,loop:t.options.loop?1:0,muted:t.options.mute?1:0},t.options.volume&&(t.playerOptions.volume=t.options.volume/100),t.options.showControls||(t.playerOptions.badge=0,t.playerOptions.byline=0,t.playerOptions.portrait=0,t.playerOptions.title=0,t.playerOptions.background=1),!t.$video){let e="";Object.keys(t.playerOptions).forEach((o=>{""!==e&&(e+="&"),e+=`${o}=${encodeURIComponent(t.playerOptions[o])}`})),t.$video=document.createElement("iframe"),t.$video.setAttribute("id",t.playerID),t.$video.setAttribute("src",`https://player.vimeo.com/video/${t.videoID}?${e}`),t.$video.setAttribute("frameborder","0"),t.$video.setAttribute("mozallowfullscreen",""),t.$video.setAttribute("allowfullscreen",""),t.$video.setAttribute("title","Vimeo video player"),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),o.appendChild(t.$video),document.body.appendChild(o)}let e;t.player=t.player||new b.Vimeo.Player(t.$video,t.playerOptions),t.options.startTime&&t.options.autoplay&&t.player.setCurrentTime(t.options.startTime),t.player.getVideoWidth().then((e=>{t.videoWidth=e||1280})),t.player.getVideoHeight().then((e=>{t.videoHeight=e||720})),t.player.on("timeupdate",(o=>{e||(t.fire("started",o),e=1),t.fire("timeupdate",o),t.options.endTime&&t.options.endTime&&o.seconds>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())})),t.player.on("play",(e=>{t.fire("play",e),t.options.startTime&&0===e.seconds&&t.play(t.options.startTime)})),t.player.on("pause",(e=>{t.fire("pause",e)})),t.player.on("ended",(e=>{t.fire("ended",e)})),t.player.on("loaded",(e=>{t.fire("ready",e)})),t.player.on("volumechange",(e=>{t.fire("volumechange",e)})),t.player.on("error",(e=>{t.fire("error",e)}))}if("local"===t.type){let e;t.$video||(t.$video=document.createElement("video"),t.options.showControls&&(t.$video.controls=!0),t.options.mute?t.$video.muted=!0:t.$video.volume&&(t.$video.volume=t.options.volume/100),t.options.loop&&(t.$video.loop=!0),t.$video.setAttribute("playsinline",""),t.$video.setAttribute("webkit-playsinline",""),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),t.$video.setAttribute("id",t.playerID),o.appendChild(t.$video),document.body.appendChild(o),Object.keys(t.videoID).forEach((e=>{!function(e,t,o){const i=document.createElement("source");i.src=t,i.type=o,e.appendChild(i)}(t.$video,t.videoID[e],`video/${e}`)}))),t.player=t.player||t.$video,t.player.addEventListener("playing",(o=>{e||t.fire("started",o),e=1})),t.player.addEventListener("timeupdate",(function(e){t.fire("timeupdate",e),t.options.endTime&&t.options.endTime&&this.currentTime>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())})),t.player.addEventListener("play",(e=>{t.fire("play",e)})),t.player.addEventListener("pause",(e=>{t.fire("pause",e)})),t.player.addEventListener("ended",(e=>{t.fire("ended",e)})),t.player.addEventListener("loadedmetadata",(function(){t.videoWidth=this.videoWidth||1280,t.videoHeight=this.videoHeight||720,t.fire("ready"),t.options.autoplay&&t.play(t.options.startTime)})),t.player.addEventListener("volumechange",(e=>{t.getVolume((e=>{t.options.volume=e})),t.fire("volumechange",e)})),t.player.addEventListener("error",(e=>{t.fire("error",e)}))}e(t.$video)}))}init(){this.playerID=`VideoWorker-${this.ID}`}loadAPI(){if(A&&x)return;let e="";if("youtube"!==this.type||A||(A=1,e="https://www.youtube.com/iframe_api"),"vimeo"===this.type&&!x){if(x=1,void 0!==b.Vimeo)return;e="https://player.vimeo.com/api/player.js"}if(!e)return;let t=document.createElement("script"),o=document.getElementsByTagName("head")[0];t.src=e,o.appendChild(t),o=null,t=null}onAPIready(e){const t=this;if("youtube"===t.type&&(void 0!==b.YT&&0!==b.YT.loaded||w?"object"==typeof b.YT&&1===b.YT.loaded?e():V.done((()=>{e()})):(w=1,b.onYouTubeIframeAPIReady=function(){b.onYouTubeIframeAPIReady=null,V.resolve("done"),e()})),"vimeo"===t.type)if(void 0!==b.Vimeo||E)void 0!==b.Vimeo?e():T.done((()=>{e()}));else{E=1;const t=setInterval((()=>{void 0!==b.Vimeo&&(clearInterval(t),T.resolve("done"),e())}),20)}"local"===t.type&&e()}}const C=v,S=function(){return function(e=o.jarallax){if(void 0===e)return;const t=e.constructor,i=t.prototype.onScroll;t.prototype.onScroll=function(){const e=this;i.apply(e),!e.isVideoInserted&&e.video&&(!e.options.videoLazyLoading||e.isElementInViewport)&&!e.options.disableVideo()&&(e.isVideoInserted=!0,e.video.getVideo((t=>{const o=t.parentNode;e.css(t,{position:e.image.position,top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",margin:0,zIndex:-1}),e.$video=t,"local"===e.video.type&&(e.image.src?e.$video.setAttribute("poster",e.image.src):e.image.$item&&"IMG"===e.image.$item.tagName&&e.image.$item.src&&e.$video.setAttribute("poster",e.image.$item.src)),e.options.videoClass&&e.$video.setAttribute("class",`${e.options.videoClass} ${e.options.videoClass}-${e.video.type}`),e.image.$container.appendChild(t),o.parentNode.removeChild(o),e.options.onVideoInsert&&e.options.onVideoInsert.call(e)})))};const n=t.prototype.coverImage;t.prototype.coverImage=function(){const e=this,t=n.apply(e),o=!!e.image.$item&&e.image.$item.nodeName;if(t&&e.video&&o&&("IFRAME"===o||"VIDEO"===o)){let i=t.image.height,n=i*e.image.width/e.image.height,a=(t.container.width-n)/2,s=t.image.marginTop;t.container.width>n&&(n=t.container.width,i=n*e.image.height/e.image.width,a=0,s+=(t.image.height-i)/2),"IFRAME"===o&&(i+=400,s-=200),e.css(e.$video,{width:`${n}px`,marginLeft:`${a}px`,height:`${i}px`,marginTop:`${s}px`})}return t};const a=t.prototype.initImg;t.prototype.initImg=function(){const e=this,t=a.apply(e);return e.options.videoSrc||(e.options.videoSrc=e.$item.getAttribute("data-jarallax-video")||null),e.options.videoSrc?(e.defaultInitImgResult=t,!0):t};const s=t.prototype.canInitParallax;t.prototype.canInitParallax=function(){const e=this;let t=s.apply(e);if(!e.options.videoSrc)return t;const o=new P(e.options.videoSrc,{autoplay:!0,loop:e.options.videoLoop,showControls:!1,accessibilityHidden:!0,startTime:e.options.videoStartTime||0,endTime:e.options.videoEndTime||0,mute:!!e.options.videoVolume,volume:e.options.videoVolume||0});function i(){e.image.$default_item&&(e.image.$item=e.image.$default_item,e.image.$item.style.display="block",e.coverImage(),e.onScroll())}if(e.options.onVideoWorkerInit&&e.options.onVideoWorkerInit.call(e,o),o.isValid())if(this.options.disableParallax()&&(t=!0,e.image.position="absolute",e.options.type="scroll",e.options.speed=1),t){if(o.on("ready",(()=>{if(e.options.videoPlayOnlyVisible){const t=e.onScroll;e.onScroll=function(){t.apply(e),e.videoError||!e.options.videoLoop&&(e.options.videoLoop||e.videoEnded)||(e.isVisible()?o.play():o.pause())}}else o.play()})),o.on("started",(()=>{e.image.$default_item=e.image.$item,e.image.$item=e.$video,e.image.width=e.video.videoWidth||1280,e.image.height=e.video.videoHeight||720,e.coverImage(),e.onScroll(),e.image.$default_item&&(e.image.$default_item.style.display="none")})),o.on("ended",(()=>{e.videoEnded=!0,e.options.videoLoop||i()})),o.on("error",(()=>{e.videoError=!0,i()})),e.video=o,!e.defaultInitImgResult&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","local"!==o.type))return o.getImageURL((t=>{e.image.bgImage=`url("${t}")`,e.init()})),!1}else e.defaultInitImgResult||o.getImageURL((t=>{const o=e.$item.getAttribute("style");o&&e.$item.setAttribute("data-jarallax-original-styles",o),e.css(e.$item,{"background-image":`url("${t}")`,"background-position":"center","background-size":"cover"})}));return t};const l=t.prototype.destroy;t.prototype.destroy=function(){const e=this;e.image.$default_item&&(e.image.$item=e.image.$default_item,delete e.image.$default_item),l.apply(e)}}(C)},L=function(){return function(e=o.jarallax){if(console.warn("Jarallax Element extension is DEPRECATED, please, avoid using it. We recommend you look at something like `lax.js` library <https://github.com/alexfoxy/lax.js>. It is much more powerful and has a less code (in cases when you don't want to add parallax backgrounds)."),void 0===e)return;const t=e.constructor;["initImg","canInitParallax","init","destroy","coverImage","isVisible","onScroll","onResize"].forEach((e=>{const o=t.prototype[e];t.prototype[e]=function(...t){const i=this;if("initImg"===e&&null!==i.$item.getAttribute("data-jarallax-element")&&(i.options.type="element",i.pureOptions.speed=i.$item.getAttribute("data-jarallax-element")||"100"),"element"!==i.options.type)return o.apply(i,t);switch(i.pureOptions.threshold=i.$item.getAttribute("data-threshold")||"",e){case"init":{const e=`${i.pureOptions.speed}`.split(" ");i.options.speed=i.pureOptions.speed||0,i.options.speedY=e[0]?parseFloat(e[0]):0,i.options.speedX=e[1]?parseFloat(e[1]):0;const n=i.pureOptions.threshold.split(" ");i.options.thresholdY=n[0]?parseFloat(n[0]):null,i.options.thresholdX=n[1]?parseFloat(n[1]):null,o.apply(i,t);const a=i.$item.getAttribute("data-jarallax-original-styles");return a&&i.$item.setAttribute("style",a),!0}case"onResize":{const e=i.css(i.$item,"transform");i.css(i.$item,{transform:""});const t=i.$item.getBoundingClientRect();i.itemData={width:t.width,height:t.height,y:t.top+i.getWindowData().y,x:t.left},i.css(i.$item,{transform:e});break}case"onScroll":{const e=i.getWindowData(),t=(e.y+e.height/2-i.itemData.y-i.itemData.height/2)/(e.height/2),o=t*i.options.speedY,n=t*i.options.speedX;let a=o,s=n;null!==i.options.thresholdY&&o>i.options.thresholdY&&(a=0),null!==i.options.thresholdX&&n>i.options.thresholdX&&(s=0),i.css(i.$item,{transform:`translate3d(${s}px,${a}px,0)`});break}case"initImg":case"isVisible":case"coverImage":return!0}return o.apply(i,t)}}))}(C)};export{C as jarallax,L as jarallaxElement,S as jarallaxVideo};//# sourceMappingURL=jarallax.esm.min.js.map
let f;v.constructor=h,f="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};var b=f;function $(){this.doneCallbacks=[],this.failCallbacks=[]}$.prototype={execute(e,t){let o=e.length;for(t=Array.prototype.slice.call(t);o;)o-=1,e[o].apply(null,t)},resolve(...e){this.execute(this.doneCallbacks,e)},reject(...e){this.execute(this.failCallbacks,e)},done(e){this.doneCallbacks.push(e)},fail(e){this.failCallbacks.push(e)}};var I={autoplay:!1,loop:!1,mute:!1,volume:100,showControls:!0,accessibilityHidden:!1,startTime:0,endTime:0};let A=0,x=0,w=0,E=0,V=0;const T=new $,P=new $;class S{constructor(e,t){const o=this;o.url=e,o.options_default={...I},o.options=function(e,...t){return e=e||{},Object.keys(t).forEach((o=>{t[o]&&Object.keys(t[o]).forEach((i=>{e[i]=t[o][i]}))})),e}({},o.options_default,t),o.videoID=o.parseURL(e),o.videoID&&(o.ID=A,A+=1,o.loadAPI(),o.init())}parseURL(e){const t=function(e){const t=e.match(/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|shorts\/|watch\?v=)([^#\&\?]*).*/);return!(!t||11!==t[1].length)&&t[1]}(e),o=function(e){const t=e.match(/https?:\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/);return!(!t||!t[3])&&t[3]}(e),i=function(e){const t=e.split(/,(?=mp4\:|webm\:|ogv\:|ogg\:)/),o={};let i=0;return t.forEach((e=>{const t=e.match(/^(mp4|webm|ogv|ogg)\:(.*)/);t&&t[1]&&t[2]&&(o["ogv"===t[1]?"ogg":t[1]]=t[2],i=1)})),!!i&&o}(e);return t?(this.type="youtube",t):o?(this.type="vimeo",o):!!i&&(this.type="local",i)}isValid(){return!!this.videoID}on(e,t){this.userEventsList=this.userEventsList||[],(this.userEventsList[e]||(this.userEventsList[e]=[])).push(t)}off(e,t){this.userEventsList&&this.userEventsList[e]&&(t?this.userEventsList[e].forEach(((o,i)=>{o===t&&(this.userEventsList[e][i]=!1)})):delete this.userEventsList[e])}fire(e,...t){this.userEventsList&&void 0!==this.userEventsList[e]&&this.userEventsList[e].forEach((e=>{e&&e.apply(this,t)}))}play(e){const t=this;t.player&&("youtube"===t.type&&t.player.playVideo&&(void 0!==e&&t.player.seekTo(e||0),b.YT.PlayerState.PLAYING!==t.player.getPlayerState()&&t.player.playVideo()),"vimeo"===t.type&&(void 0!==e&&t.player.setCurrentTime(e),t.player.getPaused().then((e=>{e&&t.player.play()}))),"local"===t.type&&(void 0!==e&&(t.player.currentTime=e),t.player.paused&&t.player.play()))}pause(){const e=this;e.player&&("youtube"===e.type&&e.player.pauseVideo&&b.YT.PlayerState.PLAYING===e.player.getPlayerState()&&e.player.pauseVideo(),"vimeo"===e.type&&e.player.getPaused().then((t=>{t||e.player.pause()})),"local"===e.type&&(e.player.paused||e.player.pause()))}mute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.mute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(0),"local"===e.type&&(e.$video.muted=!0))}unmute(){const e=this;e.player&&("youtube"===e.type&&e.player.mute&&e.player.unMute(),"vimeo"===e.type&&e.player.setVolume&&e.setVolume(e.options.volume||100),"local"===e.type&&(e.$video.muted=!1))}setVolume(e=!1){const t=this;t.player&&"number"==typeof e&&("youtube"===t.type&&t.player.setVolume&&t.player.setVolume(e),"vimeo"===t.type&&t.player.setVolume&&t.player.setVolume(e/100),"local"===t.type&&(t.$video.volume=e/100))}getVolume(e){const t=this;t.player?("youtube"===t.type&&t.player.getVolume&&e(t.player.getVolume()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(100*t)})),"local"===t.type&&e(100*t.$video.volume)):e(!1)}getMuted(e){const t=this;t.player?("youtube"===t.type&&t.player.isMuted&&e(t.player.isMuted()),"vimeo"===t.type&&t.player.getVolume&&t.player.getVolume().then((t=>{e(!!t)})),"local"===t.type&&e(t.$video.muted)):e(null)}getImageURL(e){const t=this;if(t.videoImage)e(t.videoImage);else{if("youtube"===t.type){const o=["maxresdefault","sddefault","hqdefault","0"];let i=0;const n=new Image;n.onload=function(){120!==(this.naturalWidth||this.width)||i===o.length-1?(t.videoImage=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`,e(t.videoImage)):(i+=1,this.src=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`)},n.src=`https://img.youtube.com/vi/${t.videoID}/${o[i]}.jpg`}if("vimeo"===t.type){let o=b.innerWidth||1920;b.devicePixelRatio&&(o*=b.devicePixelRatio),o=Math.min(o,1920);let i=new XMLHttpRequest;i.open("GET",`https://vimeo.com/api/oembed.json?url=${t.url}&width=${o}`,!0),i.onreadystatechange=function(){if(4===this.readyState&&this.status>=200&&this.status<400){const o=JSON.parse(this.responseText);o.thumbnail_url&&(t.videoImage=o.thumbnail_url,e(t.videoImage))}},i.send(),i=null}}}getIframe(e){this.getVideo(e)}getVideo(e){const t=this;t.$video?e(t.$video):t.onAPIready((()=>{let o;if(t.$video||(o=document.createElement("div"),o.style.display="none"),"youtube"===t.type){let e,i;t.playerOptions={host:"https://www.youtube-nocookie.com",videoId:t.videoID,playerVars:{autohide:1,rel:0,autoplay:0,playsinline:1}},t.options.showControls||(t.playerOptions.playerVars.iv_load_policy=3,t.playerOptions.playerVars.modestbranding=1,t.playerOptions.playerVars.controls=0,t.playerOptions.playerVars.showinfo=0,t.playerOptions.playerVars.disablekb=1),t.playerOptions.events={onReady(e){if(t.options.mute?e.target.mute():"number"==typeof t.options.volume&&e.target.setVolume(t.options.volume),t.options.autoplay&&t.play(t.options.startTime),t.fire("ready",e),t.options.loop&&!t.options.endTime){const e=.1;t.options.endTime=t.player.getDuration()-e}setInterval((()=>{t.getVolume((o=>{t.options.volume!==o&&(t.options.volume=o,t.fire("volumechange",e))}))}),150)},onStateChange(o){t.options.loop&&o.data===b.YT.PlayerState.ENDED&&t.play(t.options.startTime),e||o.data!==b.YT.PlayerState.PLAYING||(e=1,t.fire("started",o)),o.data===b.YT.PlayerState.PLAYING&&t.fire("play",o),o.data===b.YT.PlayerState.PAUSED&&t.fire("pause",o),o.data===b.YT.PlayerState.ENDED&&t.fire("ended",o),o.data===b.YT.PlayerState.PLAYING?i=setInterval((()=>{t.fire("timeupdate",o),t.options.endTime&&t.player.getCurrentTime()>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())}),150):clearInterval(i)},onError(e){t.fire("error",e)}};const n=!t.$video;if(n){const e=document.createElement("div");e.setAttribute("id",t.playerID),o.appendChild(e),document.body.appendChild(o)}t.player=t.player||new b.YT.Player(t.playerID,t.playerOptions),n&&(t.$video=document.getElementById(t.playerID),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),t.videoWidth=parseInt(t.$video.getAttribute("width"),10)||1280,t.videoHeight=parseInt(t.$video.getAttribute("height"),10)||720)}if("vimeo"===t.type){if(t.playerOptions={dnt:1,id:t.videoID,autopause:0,transparent:0,autoplay:t.options.autoplay?1:0,loop:t.options.loop?1:0,muted:t.options.mute||0===t.options.volume?1:0},t.options.showControls||(t.playerOptions.controls=0),!t.options.showControls&&t.options.loop&&t.options.autoplay&&(t.playerOptions.background=1),!t.$video){let e="";Object.keys(t.playerOptions).forEach((o=>{""!==e&&(e+="&"),e+=`${o}=${encodeURIComponent(t.playerOptions[o])}`})),t.$video=document.createElement("iframe"),t.$video.setAttribute("id",t.playerID),t.$video.setAttribute("src",`https://player.vimeo.com/video/${t.videoID}?${e}`),t.$video.setAttribute("frameborder","0"),t.$video.setAttribute("mozallowfullscreen",""),t.$video.setAttribute("allowfullscreen",""),t.$video.setAttribute("title","Vimeo video player"),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),o.appendChild(t.$video),document.body.appendChild(o)}let e;t.player=t.player||new b.Vimeo.Player(t.$video,t.playerOptions),t.options.mute||"number"!=typeof t.options.volume||t.setVolume(t.options.volume),t.options.startTime&&t.options.autoplay&&t.player.setCurrentTime(t.options.startTime),t.player.getVideoWidth().then((e=>{t.videoWidth=e||1280})),t.player.getVideoHeight().then((e=>{t.videoHeight=e||720})),t.player.on("timeupdate",(o=>{e||(t.fire("started",o),e=1),t.fire("timeupdate",o),t.options.endTime&&t.options.endTime&&o.seconds>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())})),t.player.on("play",(e=>{t.fire("play",e),t.options.startTime&&0===e.seconds&&t.play(t.options.startTime)})),t.player.on("pause",(e=>{t.fire("pause",e)})),t.player.on("ended",(e=>{t.fire("ended",e)})),t.player.on("loaded",(e=>{t.fire("ready",e)})),t.player.on("volumechange",(e=>{t.getVolume((e=>{t.options.volume=e})),t.fire("volumechange",e)})),t.player.on("error",(e=>{t.fire("error",e)}))}if("local"===t.type){let e;t.$video||(t.$video=document.createElement("video"),t.options.showControls&&(t.$video.controls=!0),t.options.mute?t.$video.muted=!0:t.setVolume(t.options.volume),t.options.loop&&(t.$video.loop=!0),t.$video.setAttribute("playsinline",""),t.$video.setAttribute("webkit-playsinline",""),t.options.accessibilityHidden&&(t.$video.setAttribute("tabindex","-1"),t.$video.setAttribute("aria-hidden","true")),t.$video.setAttribute("id",t.playerID),o.appendChild(t.$video),document.body.appendChild(o),Object.keys(t.videoID).forEach((e=>{!function(e,t,o){const i=document.createElement("source");i.src=t,i.type=o,e.appendChild(i)}(t.$video,t.videoID[e],`video/${e}`)}))),t.player=t.player||t.$video,t.player.addEventListener("playing",(o=>{e||t.fire("started",o),e=1})),t.player.addEventListener("timeupdate",(function(e){t.fire("timeupdate",e),t.options.endTime&&t.options.endTime&&this.currentTime>=t.options.endTime&&(t.options.loop?t.play(t.options.startTime):t.pause())})),t.player.addEventListener("play",(e=>{t.fire("play",e)})),t.player.addEventListener("pause",(e=>{t.fire("pause",e)})),t.player.addEventListener("ended",(e=>{t.fire("ended",e)})),t.player.addEventListener("loadedmetadata",(function(){t.videoWidth=this.videoWidth||1280,t.videoHeight=this.videoHeight||720,t.fire("ready"),t.options.autoplay&&t.play(t.options.startTime)})),t.player.addEventListener("volumechange",(e=>{t.getVolume((e=>{t.options.volume=e})),t.fire("volumechange",e)})),t.player.addEventListener("error",(e=>{t.fire("error",e)}))}e(t.$video)}))}init(){this.playerID=`VideoWorker-${this.ID}`}loadAPI(){if(x&&w)return;let e="";if("youtube"!==this.type||x||(x=1,e="https://www.youtube.com/iframe_api"),"vimeo"===this.type&&!w){if(w=1,void 0!==b.Vimeo)return;e="https://player.vimeo.com/api/player.js"}if(!e)return;let t=document.createElement("script"),o=document.getElementsByTagName("head")[0];t.src=e,o.appendChild(t),o=null,t=null}onAPIready(e){const t=this;if("youtube"===t.type&&(void 0!==b.YT&&0!==b.YT.loaded||E?"object"==typeof b.YT&&1===b.YT.loaded?e():T.done((()=>{e()})):(E=1,b.onYouTubeIframeAPIReady=function(){b.onYouTubeIframeAPIReady=null,T.resolve("done"),e()})),"vimeo"===t.type)if(void 0!==b.Vimeo||V)void 0!==b.Vimeo?e():P.done((()=>{e()}));else{V=1;const t=setInterval((()=>{void 0!==b.Vimeo&&(clearInterval(t),P.resolve("done"),e())}),20)}"local"===t.type&&e()}}const C=v,L=function(){return function(e=o.jarallax){if(void 0===e)return;const t=e.constructor,i=t.prototype.onScroll;t.prototype.onScroll=function(){const e=this;i.apply(e),!e.isVideoInserted&&e.video&&(!e.options.videoLazyLoading||e.isElementInViewport)&&!e.options.disableVideo()&&(e.isVideoInserted=!0,e.video.getVideo((t=>{const o=t.parentNode;e.css(t,{position:e.image.position,top:"0px",left:"0px",right:"0px",bottom:"0px",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",margin:0,zIndex:-1}),e.$video=t,"local"===e.video.type&&(e.image.src?e.$video.setAttribute("poster",e.image.src):e.image.$item&&"IMG"===e.image.$item.tagName&&e.image.$item.src&&e.$video.setAttribute("poster",e.image.$item.src)),e.options.videoClass&&e.$video.setAttribute("class",`${e.options.videoClass} ${e.options.videoClass}-${e.video.type}`),e.image.$container.appendChild(t),o.parentNode.removeChild(o),e.options.onVideoInsert&&e.options.onVideoInsert.call(e)})))};const n=t.prototype.coverImage;t.prototype.coverImage=function(){const e=this,t=n.apply(e),o=!!e.image.$item&&e.image.$item.nodeName;if(t&&e.video&&o&&("IFRAME"===o||"VIDEO"===o)){let i=t.image.height,n=i*e.image.width/e.image.height,a=(t.container.width-n)/2,s=t.image.marginTop;t.container.width>n&&(n=t.container.width,i=n*e.image.height/e.image.width,a=0,s+=(t.image.height-i)/2),"IFRAME"===o&&(i+=400,s-=200),e.css(e.$video,{width:`${n}px`,marginLeft:`${a}px`,height:`${i}px`,marginTop:`${s}px`})}return t};const a=t.prototype.initImg;t.prototype.initImg=function(){const e=this,t=a.apply(e);return e.options.videoSrc||(e.options.videoSrc=e.$item.getAttribute("data-jarallax-video")||null),e.options.videoSrc?(e.defaultInitImgResult=t,!0):t};const s=t.prototype.canInitParallax;t.prototype.canInitParallax=function(){const e=this;let t=s.apply(e);if(!e.options.videoSrc)return t;const o=new S(e.options.videoSrc,{autoplay:!0,loop:e.options.videoLoop,showControls:!1,accessibilityHidden:!0,startTime:e.options.videoStartTime||0,endTime:e.options.videoEndTime||0,mute:!!e.options.videoVolume,volume:e.options.videoVolume||0});function i(){e.image.$default_item&&(e.image.$item=e.image.$default_item,e.image.$item.style.display="block",e.coverImage(),e.onScroll())}if(e.options.onVideoWorkerInit&&e.options.onVideoWorkerInit.call(e,o),o.isValid())if(this.options.disableParallax()&&(t=!0,e.image.position="absolute",e.options.type="scroll",e.options.speed=1),t){if(o.on("ready",(()=>{if(e.options.videoPlayOnlyVisible){const t=e.onScroll;e.onScroll=function(){t.apply(e),e.videoError||!e.options.videoLoop&&(e.options.videoLoop||e.videoEnded)||(e.isVisible()?o.play():o.pause())}}else o.play()})),o.on("started",(()=>{e.image.$default_item=e.image.$item,e.image.$item=e.$video,e.image.width=e.video.videoWidth||1280,e.image.height=e.video.videoHeight||720,e.coverImage(),e.onScroll(),e.image.$default_item&&(e.image.$default_item.style.display="none")})),o.on("ended",(()=>{e.videoEnded=!0,e.options.videoLoop||i()})),o.on("error",(()=>{e.videoError=!0,i()})),e.video=o,!e.defaultInitImgResult&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7","local"!==o.type))return o.getImageURL((t=>{e.image.bgImage=`url("${t}")`,e.init()})),!1}else e.defaultInitImgResult||o.getImageURL((t=>{const o=e.$item.getAttribute("style");o&&e.$item.setAttribute("data-jarallax-original-styles",o),e.css(e.$item,{"background-image":`url("${t}")`,"background-position":"center","background-size":"cover"})}));return t};const l=t.prototype.destroy;t.prototype.destroy=function(){const e=this;e.image.$default_item&&(e.image.$item=e.image.$default_item,delete e.image.$default_item),l.apply(e)}}(C)},j=function(){return function(e=o.jarallax){if(console.warn("Jarallax Element extension is DEPRECATED, please, avoid using it. We recommend you look at something like `lax.js` library <https://github.com/alexfoxy/lax.js>. It is much more powerful and has a less code (in cases when you don't want to add parallax backgrounds)."),void 0===e)return;const t=e.constructor;["initImg","canInitParallax","init","destroy","coverImage","isVisible","onScroll","onResize"].forEach((e=>{const o=t.prototype[e];t.prototype[e]=function(...t){const i=this;if("initImg"===e&&null!==i.$item.getAttribute("data-jarallax-element")&&(i.options.type="element",i.pureOptions.speed=i.$item.getAttribute("data-jarallax-element")||"100"),"element"!==i.options.type)return o.apply(i,t);switch(i.pureOptions.threshold=i.$item.getAttribute("data-threshold")||"",e){case"init":{const e=`${i.pureOptions.speed}`.split(" ");i.options.speed=i.pureOptions.speed||0,i.options.speedY=e[0]?parseFloat(e[0]):0,i.options.speedX=e[1]?parseFloat(e[1]):0;const n=i.pureOptions.threshold.split(" ");i.options.thresholdY=n[0]?parseFloat(n[0]):null,i.options.thresholdX=n[1]?parseFloat(n[1]):null,o.apply(i,t);const a=i.$item.getAttribute("data-jarallax-original-styles");return a&&i.$item.setAttribute("style",a),!0}case"onResize":{const e=i.css(i.$item,"transform");i.css(i.$item,{transform:""});const t=i.$item.getBoundingClientRect();i.itemData={width:t.width,height:t.height,y:t.top+i.getWindowData().y,x:t.left},i.css(i.$item,{transform:e});break}case"onScroll":{const e=i.getWindowData(),t=(e.y+e.height/2-i.itemData.y-i.itemData.height/2)/(e.height/2),o=t*i.options.speedY,n=t*i.options.speedX;let a=o,s=n;null!==i.options.thresholdY&&o>i.options.thresholdY&&(a=0),null!==i.options.thresholdX&&n>i.options.thresholdX&&(s=0),i.css(i.$item,{transform:`translate3d(${s}px,${a}px,0)`});break}case"initImg":case"isVisible":case"coverImage":return!0}return o.apply(i,t)}}))}(C)};export{C as jarallax,j as jarallaxElement,L as jarallaxVideo};//# sourceMappingURL=jarallax.esm.min.js.map
/*!
* Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>

@@ -4,0 +4,0 @@ * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)

/*!
* Jarallax v2.1.0 (https://github.com/nk-o/jarallax)
* Jarallax v2.1.1 (https://github.com/nk-o/jarallax)
* Copyright 2022 nK <https://nkdev.info>

@@ -4,0 +4,0 @@ * Licensed under MIT (https://github.com/nk-o/jarallax/blob/master/LICENSE)

{
"name": "jarallax",
"version": "2.1.0",
"version": "2.1.1",
"description": "Smooth parallax scrolling effect for background images, videos and inline elements. Code in pure JavaScript with NO dependencies + jQuery supported. Youtube, Vimeo and Local Videos parallax supported.",

@@ -61,4 +61,4 @@ "license": "MIT",

"dependencies": {
"video-worker": "^2.1.2"
"video-worker": "^2.1.3"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc