PageSourceSearch

https://otypo.de/_nuxt/C649tGSc.js

js otypo.de collected 2026-10-08 03:07:29 UTC 2,587 bytes, 1 lines download raw bytes

1(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`a6fafdec27`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`187c0504-ea4f-4e40-897c-209cd6dfbd61`,e._sentryDebugIdIdentifier=`sentry-dbid-187c0504-ea4f-4e40-897c-209cd6dfbd61`)}catch{}})();import{$t as e,Jn as t,Kn as n,Tr as r,Zn as i,bn as a,pn as o,sr as s,un as c,xn as l,yn as u}from"./WCVDKeko.js";/* empty css        */import{t as d}from"./CXpljZ4d.js";import{t as f}from"./DGBKRod5.js";import{t as p}from"./BmQ7DwT6.js";import{t as m}from"./C2S0Hva_.js";e();var h=90,g={components:{CustomImage:f,IconButton:p},props:{images:{type:Array,required:!0},mainImageIndex:{type:Number,required:!0},alt:{type:String,required:!0},size:{type:String,default:`auto`},hideRotate:{type:Boolean,default:!1},deactivateTouch:{type:Boolean,default:!1},rotatorAutoStart:{type:Boolean,default:!1}},emits:[`pan`],data(){return{imageIndex:0,timer:null,timerAutoStart:null,panOrigin:0,panDelta:0,imageOrigin:0}},watch:{panDelta(e){let t=this.images.length,n=this.imageOrigin-Math.round(e/20);for(;n>=t;)n-=t;for(;n<0;)n+=t;this.imageIndex=n}},mounted(){this.imageIndex=this.mainImageIndex,this.rotatorAutoStart&&(this.timerAutoStart=setTimeout(()=>{this.rotate()},300)),m().on(`rotateImage`,()=>{setTimeout(()=>{this.rotate()},300)})},unmounted(){clearTimeout(this.timerAutoStart),clearTimeout(this.timer)},methods:{rotate(){let e=this.imageIndex+1,t=this.images.length,n=this.mainImageIndex;if(e>=t&&(e=0),this.imageIndex=e,e===n)return;let r=h-Math.min(Math.abs(n-e),Math.abs(t+e-n))*60/(t/2);this.timer=setTimeout(this.rotate,r)},onPan(e){if(!(this.deactivateTouch&&e.pointerType!==`mouse`))switch(e.type){case`panstart`:this.$emit(`pan`,!0),this.imageOrigin=this.imageIndex,this.panOrigin=e.center.x-e.deltaX,this.panDelta=e.deltaX;break;case`panmove`:this.panDelta=e.center.x-this.panOrigin;break;case`panend`:this.$emit(`pan`,!1)}}}};function _(e,d,m,h,g,_){let v=f,y=p,b=i(`pan`);return s((n(),l(`div`,{class:r([[m.size?`--${m.size}`:``],`image-rotator`])},[(n(!0),l(o,null,t(m.images,(e,t)=>s((n(),u(v,{key:t,image:e,alt:m.alt,lazy:!1,class:`image`,width:`360`,height:`360`},null,8,[`image`,`alt`])),[[c,t===g.imageIndex||m.images.length===1]])),128)),m.hideRotate?a(``,!0):(n(),u(y,{key:0,class:`rotate-button`,icon:`view-360`,onClick:_.rotate},null,8,[`onClick`]))],2)),[[b,_.onPan]])}var v=Object.assign(d(g,[[`render`,_],[`__scopeId`,`data-v-0e12403a`]]),{__name:`ImageRotator`});export{v as t};

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.