Skip to Content

JavaScript File

URL: https://astramedika.com.ua/theme/js/uslider.min.js?v=1.00
HTTP Status: 200 OK
MIME Type: application/javascript
Last Modified: Sat, 01 Feb 2025 12:57:34 GMT
Download Time: Less than a second
Cookies: None
Size: 10 KB
HTTP Headers:  6 headers
Links In:  1 pages
Links Out:  0 links
Images:  0 images
CSS:  0 files
JavaScript:  0 files
OK Issues: No issues found

1"use strict";class uSlider{constructor(t={}

2){let e="string"==typeof t.id?document.getElementById(t.id):null;e?(this.x=null,this.slide=null,this.ctrl=null,this.threshold="20%",this.busy=!1,this.target=null,this.active=0,this.animationtime=e.dataset.animationTime&&!isNaN(e.dataset.animationTime)?~~e.dataset.animationTime:500,this.autotime=e.dataset.auto&&!isNaN(e.dataset.auto)&&e.dataset.animationTime&&!isNaN(e.dataset.animationTime)&&~~e.dataset.animationTime<~~e.dataset.auto?~~e.dataset.auto:null,this.interval=null,this.noclick=!1,this.freeze=void 0!==e.dataset.freeze,this.fade=!(void 0===e.dataset.fade),this.config={styles:"LnVzbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTthc3BlY3QtcmF0aW86dmFyKC0tYXNwZWN0LXJhdGlvLDEpfS51c2xpZGVyIC51c2xpZGVyX19mcmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MDttYXJnaW46MDtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3otaW5kZXg6MH0udXNsaWRlciAudXNsaWRlcl9fZnJhbWUgLnVzbGlkZXJfX2l0ZW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7cGFkZGluZzowO21hcmdpbjowO3otaW5kZXg6LTJ9LnVzbGlkZXIgLnVzbGlkZXJfX2ZyYW1lIC51c2xpZGVyX19pdGVtLl9fbW92ZSAqe3BvaW50ZXItZXZlbnRzOm5vbmV9LnVzbGlkZXIgLnVzbGlkZXJfX2ZyYW1lIC51c2xpZGVyX19pdGVtLl9fbmV4dHt6LWluZGV4Oi0xfS51c2xpZGVyIC51c2xpZGVyX19mcmFtZSAudXNsaWRlcl9faXRlbS5fX3Nob3d7ei1pbmRleDowfS51c2xpZGVyIC51c2xpZGVyX19mcmFtZSAudXNsaWRlcl9faXRlbT4qe3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnVzbGlkZXIgLnVzbGlkZXJfX2N0cmw+KiAqe3BvaW50ZXItZXZlbnRzOm5vbmUhaW1wb3J0YW50fQ==",options:{}

3}

4,this.init(e,t)):this.init=null}

5init(box,params){let sid="uslider-styles";document.getElementById(sid)||document.querySelector("head link").insertAdjacentHTML("beforebegin",`<style id="${sid}

6">${atob(this.config.styles)}

7</style>`);let slide="",ctrl="",custom=!1,__slides=box.childElementCount;for(let t=0;t<__slides;t++)slide+=`<li class="uslider__item">${box.children[t].outerHTML}

8</li>`;if(box.innerHTML=`<ul class="uslider__frame">${slide}

9</ul>`,this.slide=box.children[0],this.direction=box.dataset.direction||"rtl",box.dataset.oninit){if(__slides>1)try{ctrl=eval(box.dataset.oninit)(box.children[0]),custom=!0}

10catch(t){console.warn(t)}

11}

12else for(let t=0;t<this.slide.childElementCount;t++)ctrl+=`<li data-rel="${t}

13"></li>`;this.slide.childElementCount>1?(ctrl&&ctrl.length&&(custom?box.insertAdjacentHTML("beforeend",`<ul class="uslider__ctrl __custom">${ctrl}

14</ul>`):box.insertAdjacentHTML("beforeend",`<ul class="uslider__ctrl">${ctrl}

15</ul>`),this.ctrl=box.children[1]),this.isTouch()?(this.slide.addEventListener("touchstart",t=>this.hold(t),{passive:!0}

16),this.slide.addEventListener("touchend",t=>this.release(t),{passive:!0}

17),this.slide.addEventListener("touchmove",t=>this.move(t),{passive:!0}

18)):(this.slide.addEventListener("pointerdown",t=>this.hold(t)),this.slide.addEventListener("pointerup",t=>this.release(t)),this.slide.addEventListener("pointermove",t=>this.move(t)),this.slide.parentElement.addEventListener("pointerenter",()=>this.enter()),this.slide.parentElement.addEventListener("pointerleave",()=>this.leave())),this.autotime&&this.timer(!0),this.ctrl&&this.ctrl.addEventListener("click",t=>this.go(t),{passive:!0}

19),setTimeout(()=>{this.order()}

20,10)):1==this.slide.childElementCount&&(this.autotime=null,this.slide.children[0].classList.add("__show"))}

21hold(t){this.isTouch()&&this.enter(),this.busy||(this.noclick=!1,this.target=t.target.closest(".uslider__item"),this.ctrl&&(this.ctrl.style.pointerEvents="none"),this.x=this.isTouch()?t.touches[0].pageX:t.pageX)}

22enter(){this.freeze&&this.timer(!1)}

23release(e){if(!this.busy)if(this.target){this.busy=!0;let walk=(this.isTouch()?e.changedTouches[0].pageX:e.pageX)-this.x,abs=Math.abs(walk),thres="string"==typeof this.threshold?parseInt(this.slide.clientWidth*parseInt(this.threshold)/100):this.threshold,animationtime,translate;if(abs>thres){if(this.slide.parentElement.dataset.beforechange)try{eval(this.slide.parentElement.dataset.beforechange)()}

24catch(t){console.warn(t)}

25this.ctrl&&this.ctrl.children[this.active].classList.remove("__show"),animationtime=this.animationtime,walk>0?(this.direction="ltr",translate="100%",this.active--,this.active<0&&(this.active=this.slide.childElementCount-1)):(this.direction="rtl",translate="-100%",this.active++,this.active>this.slide.childElementCount-1&&(this.active=0)),setTimeout(()=>{if(this.busy=!1,this.target&&this.target.removeAttribute("style"),this.target.classList.remove("__move"),this.target=null,this.order(),this.slide.parentElement.dataset.afterchange)try{eval(this.slide.parentElement.dataset.afterchange)()}

26catch(t){console.warn(t)}

27}

28,animationtime),this.timer(!0)}

29else abs>=0&&(animationtime=this.animationtime/2,translate="0",setTimeout(()=>{this.busy=!1,this.target&&this.target.removeAttribute("style"),this.target.classList.remove("__move"),this.target=null}

30,animationtime));this.fade?abs>thres&&(this.target.style=`opacity:0;transition:opacity ${this.animationtime}

31ms ease-in`):this.target.style=`transform:translateX(${translate}

32);transition:transform ${animationtime}

33ms ease-out`,this.ctrl&&this.ctrl.removeAttribute("style"),this.x=null}

34else this.busy=!1}

35leave(){if(!this.busy)if(this.target){let t=this.animationtime/2;this.busy=!0,this.fade||(this.target.style=`transform:translateX(0);transition:transform ${t}

36ms ease-out`),this.ctrl&&this.ctrl.removeAttribute("style"),setTimeout(()=>{this.target.removeAttribute("style"),this.target.classList.remove("__move"),this.order(),this.busy=!1,this.target=null}

37,t)}

38else this.busy=!1;this.autotime&&null===this.interval&&this.timer(!0),this.x=null}

39move(t){if(!this.busy&&this.target){let e=0;if(this.isTouch()){let i=document.elementFromPoint(t.changedTouches[0].clientX,t.changedTouches[0].clientY);if((i?i.closest(".uslider__item"):null)!==this.target)return this.busy=!1,void this.leave();e=t.changedTouches[0].pageX-this.x}

40else e=t.pageX-this.x;this.noclick=0!==e,this.noclick&&this.target.classList.add("__move"),this.fade||(this.target.style=`transform:translateX(${e}

...

</html>