PageSourceSearch

https://cdn.spinupwp.com/wp-content/themes/spinupwp/assets/js/vendor/fast-image-zoom.min.js?ver=1669319721

js spinupwp.com collected 2026-10-02 03:34:11 UTC 3,519 bytes, 37 lines download raw bytes

1var imageZoom=function(){"use strict";const l=(t,e)=>{let o=0;return e.forEach(e=>{e=t[e],e=parseInt(e,10)||0;o+=e}),o},m=e=>{e.style.transform="scale(1)",e.parentNode.classList.remove("image-zoom-wrapper-zoomed"),e.addEventListener("transitionend",()=>{e.classList.remove("image-zoom-zoomed")},{once:!0})},p=(e,t,o,n)=>{t=n/t;return e*t<=o?t:o/e},s=e=>{const t=document.createElement("div");t.classList.add("image-zoom-wrapper"),t.style.display=window.getComputedStyle(e).display,e.parentNode.insertBefore(t,e),t.appendChild(e),e.classList.add("image-zoom"),e.style.transform="scale(1)"},c={selector:'img[alt]:not([alt=""]):not([data-image-zoom-disabled])',cb:()=>{},padding:20,exceed:!1};return(o=c)=>{const{selector:n,cb:e}=Object.assign({},c,o);let i=null;const t=((t,o)=>{let n=!1;return function(...e){n||(t.apply(this,e),n=!0,setTimeout(()=>{n=!1},o))}})(e=>{const t=e.target;if(i)return m(i),void(i=null);t.matches(n)&&(t.classList.contains("image-zoom")||s(t),((t,o)=>{var e=t.getBoundingClientRect(),n=window.getComputedStyle(t),i=e.width-l(n,["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"]),d=e.height-l(n,["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"]),a=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),r=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),m=o.exceed||"true"===t.dataset?.imageZoomExceed;let s=p(d,i,r,a);if(m||(n=p(d,i,t.naturalHeight,t.naturalWidth),s=Math.min(s,n)),o.padding>Math.min(r-d*s,a-i*s)/2){let e=p(d+o.padding,i+o.padding,r,a);m||(c=p(d,i,t.naturalHeight-o.padding,t.naturalWidth-o.padding),e=Math.min(e,c)),s=e}var i=document.documentElement,o=(window.pageXOffset||i.scrollLeft)-(i.clientLeft||0),c=(window.pageYOffset||i.scrollTop)-(i.clientTop||0),i=o+e.left+e.width/2,e=c+e.top+e.height/2,i=(o+a/2-i)/s,e=(c+r/2-e)/s;t.classList.add("image-zoom-zoomed"),t.parentNode.classList.add("image-zoom-wrapper-zoomed"),t.style.transform=`scale(${s}) translate(${i}px, ${e}px)`})(t,o),i=t)},500),d=()=>{i&&(m(i),i=null)},a=e=>{"Escape"===e.code&&(e.preventDefault(),i&&(m(i),i=null))};var r=()=>{(e=>{const t=document.createElement("style");t.innerHTML=e,t.setAttribute("id","image-zoom-styles"),document.head.appendChild(t)})(`
2	:root {
3		overflow-x: hidden;
4	}
5
6	.image-zoom-wrapper::after {
7		opacity: 0;
8		transition: opacity 100ms cubic-bezier(.25, .1, .25 ,1);
9		display: block;
10		content: '';
11		position: fixed;
12		top: 0;
13		left: 0;
14		right: 0;
15		bottom: 0;
16		background-color: #ffffff;
17		z-index: 99999;
18		pointer-events: none;
19	}
20
21	.image-zoom-wrapper.image-zoom-wrapper-zoomed::after {
22		opacity: 1;
23		cursor: zoom-out;
24		pointer-events: all;
25	}
26
27	.image-zoom {
28		transition: transform 300ms cubic-bezier(.25, .1, .25 ,1);
29		cursor: zoom-in;
30	}
31
32	.image-zoom-zoomed {
33		position: relative;
34		z-index: 999999;
35		cursor: zoom-out;
36	}
37`),Array.prototype.slice.call(document.querySelectorAll(n)).forEach(s),document.body.addEventListener("click",t),window.addEventListener("scroll",d),window.addEventListener("resize",d),document.addEventListener("keydown",a),e()};return"interactive"===document.readyState||"ready"===document.readyState?r():document.addEventListener("DOMContentLoaded",r),()=>{document.body.removeEventListener("click",t),window.removeEventListener("scroll",d),window.removeEventListener("resize",d),document.removeEventListener("keydown",a),document.head.removeChild(document.getElementById("image-zoom-styles"))}}}();imageZoom({exceed:!0,padding:80,selector:"img.zoom"});

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.