@qispace/vue3-player 0.2.4 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["vue3-player"]={},z.Vue,z.axios,z.PlayerCore,z.THREE))})(this,function(z,e,ce,dt,mt){"use strict";var gl=Object.defineProperty;var vl=(z,e,ce)=>e in z?gl(z,e,{enumerable:!0,configurable:!0,writable:!0,value:ce}):z[e]=ce;var G=(z,e,ce)=>(vl(z,typeof e!="symbol"?e+"":e,ce),ce);function ze(i){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(a,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return a.default=i,Object.freeze(a)}const ut=ze(dt),pe=ze(mt);class X{static async loadText(a){return new X().loadText(a)}static async loadJson(a){return new X().loadJson(a)}static async loadImage(a){return new X().loadImage(a)}static async loadImageData(a){return new X().loadImageData(a)}async loadText(a){return(await ce.get(a)).data}async loadJson(a){return(await ce.get(a)).data}async loadImage(a){return new Promise((t,n)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{t(o)},o.onerror=n,o.src=a})}async loadImageData(a){const t=await this.loadImage(a),n=document.createElement("canvas");try{const o=n.getContext("2d");return n.width=t.width,n.height=t.height,o.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const pt=e.defineComponent({__name:"VHoverProbe",setup(i,{expose:a}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return a({isHoverEnabled:n}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),U=(i,a)=>{const t=i.__vccOpts||i;for(const[n,o]of a)t[n]=o;return t},de=U(pt,[["__scopeId","data-v-eb9b348d"]]);function q(i,a){return typeof i=="string"?`${i}${a}`:i(a)}const ft=U(e.defineComponent({__name:"VApartmentChooserRaster",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(i,{emit:a}){const t=i,n=a,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),c=e.ref(0),l=e.ref(),u=e.ref(),d=e.ref(),s=e.ref(),f=e.ref(-1),w=e.ref(!1),h=e.ref(),m=e.ref(),p=e.ref({}),g=e.ref("auto"),y=e.ref(new X),v=e.ref({}),x=e.ref(),B=e.ref(),N=e.ref(),k=e.ref(),C=e.ref(),A=e.computed(()=>N.value.isHoverEnabled),E=e.computed(()=>q(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),F=e.computed(()=>E.value in p.value?p.value[E.value]:null),b=e.computed(()=>f.value<0?!1:t.sceneData.find(M=>M.index===f.value)||!1),S=e.computed(()=>({width:r.value+"px",height:c.value+"px",cursor:g.value})),I=e.computed(()=>`hover-${w.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(E,()=>{p.value[E.value]||y.value.loadImageData(E.value).then($=>{p.value={...p.value,[E.value]:$}})},{immediate:!0}),e.watch(F,()=>{F.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{le()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{le()}),e.watch(b,()=>{le(),b.value?g.value="pointer":g.value="auto"}),e.watch(I,()=>{w.value?n("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>O()}):n("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>O()})}),e.watch(o,()=>{n("pos",o.value)}),e.onMounted(()=>{B.value=()=>{clearTimeout(x.value),ie(),x.value=setTimeout(()=>{ie()},50)},window.addEventListener("resize",B.value),ie()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",B.value);for(const $ in p.value)URL.revokeObjectURL(p.value[$])});function L(){l.value=k.value.getContext("2d",{willReadFrequently:!0}),u.value=new Image,u.value.onload=()=>{me(),k.value.addEventListener("mousemove",J(P,50))},u.value.src=F.value}function P($){const M=T($.offsetX,$.offsetY);w.value=M>=0,f.value=M,o.value={x:$.offsetX,y:$.offsetY,width:r.value,height:c.value}}function V($){const M=T($.offsetX,$.offsetY);M<0||A&&ae(M)}function D(){if(u.value&&u.value.width){k.value.width=u.value.width,k.value.height=u.value.height,l.value.drawImage(u.value,0,0,u.value.width,u.value.height),s.value=l.value.getImageData(0,0,k.value.width,k.value.height),d.value=l.value.getImageData(0,0,k.value.width,k.value.height);const $=s.value.data;v.value={};for(let M=0;M<$.length;M+=4)v.value[$[M]]=[];for(let M=3;M<$.length;M+=4)$[M]===255&&$[M-3]in v.value&&v.value[$[M-3]].push(M-3)}}function T($,M){h.value=$,m.value=M;const W=k.value.offsetWidth/k.value.width,Se=k.value.offsetHeight/k.value.height,ye=($/W).toFixed(),ue=(M/Se).toFixed(),se=Number(ue)*(k.value.width*4)+Number(ye)*4,Ue=s.value.data[se];return s.value.data[se+3]>0?Ue:-1}function H(){K().forEach(M=>{if(M.index>=0){const W=Z(M.index);if(W){const Se=Q(M.index);let ye="idle";!b.value&&t.selectedUnitId&&Se===t.selectedUnitId?ye="selected":b.value&&f.value===M.index&&(ye="hover");const ue=t.colorCallback(M.unitId,ye);if(ue)for(let se=0;se<W.length;se++)d.value.data[W[se]]=ue.r,d.value.data[W[se]+1]=ue.g,d.value.data[W[se]+2]=ue.b,d.value.data[W[se]+3]=ue.a}}})}function Z($){return s.value?v.value[$]:!1}function Q($){const M=t.sceneData.find(W=>W.index===$);return M&&M.unitId}function K(){if(s.value){const $=Object.keys(v.value).map(W=>parseInt(W));return t.sceneData.filter(W=>$.includes(W.index))}else return[]}function ae($){const M=Q($);re(M)}function re($){n("selectUnit",$),$&&t.canGoToUnitCallback($)&&n("goToUnit",$)}function te($=0){if(!d.value)return;const M=d.value.data;for(let W=3;W<M.length;W+=4)M[W]=$}function ie(){if(!C.value)return!1;r.value=C.value.offsetWidth,c.value=C.value.offsetHeight}function me(){D(),le()}function le(){te(),H(),l.value&&d.value&&l.value.putImageData(d.value,0,0)}function O(){w.value=!1}const j=e.ref(!1);function J($,M){return j.value=!0,function(...W){j.value&&(j.value=!1,$.apply(this,W),setTimeout(()=>j.value=!0,M))}}return($,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:C,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:k,style:e.normalizeStyle(S.value),onClick:V},null,4),[[e.vShow,!$.viewModel.isRotating]]),e.createVNode(de,{ref_key:"hoverProbe",ref:N},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),ht=["viewBox"],gt=["innerHTML","onMouseenter","onMouseleave","onClick"],vt=U(e.defineComponent({__name:"VApartmentChooserSvg",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(i,{emit:a}){const t=i,n=a,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),c=e.ref({}),l=e.ref(null),u=e.ref(new X),d=e.ref(),s=e.ref(),f=e.computed(()=>s.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in c.value&&(l.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(c,()=>{t.viewModel.currentScene in c.value&&(l.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(o,()=>{n("pos",o.value)}),e.watch(r,(B,N)=>{if(B>=0){const k=h(B);n("hoverOver",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}else{const k=h(N);n("hoverOut",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let B=1;B<=4;B++){const N=q(t.cdnFileResolver,`/scenedata${B}.svg`),k={markup:"",viewBox:"",svgObjects:[]};u.value.loadJson(N).then(C=>{k.markup=C;const E=new DOMParser().parseFromString(C,"image/svg+xml").getElementsByTagName("svg")[0];k.viewBox=E.getAttribute("viewBox"),k.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(F=>({index:parseInt(F.getAttribute("data-index")),svg:F.innerHTML})),c.value={...c.value,[B]:k}})}d.value.addEventListener("mousemove",x(w,50))});function w(B){o.value={x:B.offsetX,y:B.offsetY,width:d.value.offsetWidth,height:d.value.offsetHeight}}function h(B){var N;return(N=t.sceneData.find(k=>k.index===(typeof B=="string"?parseInt(B):B)))==null?void 0:N.unitId}function m(B){f.value&&(r.value=B)}function p(B){f.value&&(r.value=-1)}function g(B){const N=h(B);n("selectUnit",N),f.value&&N&&t.canGoToUnitCallback(N)?n("goToUnit",N):r.value=B}function y(B){const N=h(B);let k="idle";r.value<0&&t.selectedUnitId&&N===t.selectedUnitId?k="selected":r.value>=0&&r.value===B&&(k="hover");const C=t.colorCallback(N,k);if(C){const{r:A,g:E,b:F,a:b,s:S}=C;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${A}, ${E}, ${F})`,strokeOpacity:1,fill:`rgb(${A}, ${E}, ${F})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(N)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const v=e.ref(!1);function x(B,N){return v.value=!0,function(...k){v.value&&(v.value=!1,B.apply(this,k),setTimeout(()=>v.value=!0,N))}}return(B,N)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:d},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!l.value||!l.value.svgObjects?0:1})},[l.value&&l.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:l.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.svgObjects,({index:k,svg:C})=>(e.openBlock(),e.createElementBlock("g",{key:k,innerHTML:C,style:e.normalizeStyle(y(k)),onMouseenter:A=>m(k),onMouseleave:A=>p(),onClick:A=>g(k)},null,44,gt))),128))],8,ht)):e.createCommentVNode("",!0)],4),[[e.vShow,!B.viewModel.isRotating]]),e.createVNode(de,{ref_key:"hoverProbe",ref:s},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),oe=Symbol(),yt={key:0,class:"text-success d-none d-md-flex"},Ct={class:"text-success"},kt=U(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(i,{emit:a}){const t=i,n=e.computed(()=>t.selectedUnitId),o=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),c=a,l=e.inject(oe);e.onMounted(()=>{window.addEventListener("keydown",u)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",u)});function u(d){d.keyCode===37?t.prevUnitId&&c("prevUnit"):d.keyCode===39&&t.nextUnitId&&c("nextUnit")}return(d,s)=>{const f=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:s[0]||(s[0]=w=>d.viewModel.rotateClockwise())}),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!r.value,onClick:s[1]||(s[1]=w=>c("prevUnit"))},null,8,["disabled"]),e.createVNode(f,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!d.canGoToUnitCallback(n.value),onClick:s[2]||(s[2]=w=>c("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&d.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",yt,e.toDisplayString(e.unref(l).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ct,e.toDisplayString(n.value?t.unitRenderer(n.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!o.value,onClick:s[3]||(s[3]=w=>c("nextUnit"))},null,8,["disabled"]),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:s[4]||(s[4]=w=>d.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ae{constructor(a){G(this,"_numParts");G(this,"_loadedCount");G(this,"_isError");G(this,"_finishedAction");G(this,"_errorAction");G(this,"_loadProgressAction");this._numParts=a,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(a){return this._finishedAction=a,this}onLoadError(a){return this._errorAction=a,this}onLoadProgress(a){return this._loadProgressAction=a,this}partLoaded(){this.isFinished||(this._loadedCount++,this._loadProgressAction(this.percentLoaded),this.isFinished&&this._finishedAction())}errorDetected(){this._isError||(this._isError=!0,this._errorAction())}get isFinished(){return this._loadedCount>=this._numParts}get isError(){return this._isError}get percentLoaded(){return Math.round(this._loadedCount*100/this._numParts)}}class Fe{constructor(a,t,n,o){G(this,"_rotator");G(this,"_direction");G(this,"_frameIndex");G(this,"_sceneCount");this._rotator=a,this._direction=t,this._frameIndex=n,this._sceneCount=o}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const a=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(a)?this._sceneCount-1:this._sceneCount;return new Fe(this._rotator,this._direction,a,t)}}class wt{constructor(a,t){G(this,"_cardinalFrames");G(this,"_totalFrameCount");this._cardinalFrames=a,this._totalFrameCount=t}start(a,t,n){const o=this.startFrameIndexForScene(t);return new Fe(this,a,o,n)}isCardinalFrame(a){return this._cardinalFrames.includes(a)}clampFrameIndex(a){return(this._totalFrameCount+a)%this._totalFrameCount}startFrameIndexForScene(a){return this._cardinalFrames[a]}}const _t={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},bt={key:1,class:"frame-container"},Vt={key:0,class:"frame-image"},Bt=["srcset"],Et=["src"],St={key:2,id:"image-stack",class:"frame-container"},xt=["alt"],Dt=["srcset"],Nt=["src"],Pe=64,Ve=4,It=120,At=U(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(i,{emit:a}){const t=i,n=a,o=h(),r=e.ref(new Ae(o.length).onLoadFinished(()=>n("loaded")).onLoadProgress(y=>n("progress",y)).onLoadError(()=>n("error"))),c=e.ref(new wt(t.cardinalFrames,Pe)),l=e.ref(o),u=e.ref(!1),d=e.computed(()=>l.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,v)=>{const x=g(v,y),B=p(v,y);s(v,x,B)}),e.onMounted(()=>{w()});function s(y,v,x){t.viewModel.isRotating||(t.viewModel.isRotating=!0,f(c.value.start(v,y%Ve,x)))}function f(y){setTimeout(()=>{l.value[y.frameIndex].show=!1;const v=y.nextFrame();l.value[v.frameIndex].show=!0,v.atEnd?w():window.requestAnimationFrame(()=>f(v))},1e3/It)}function w(){const y=c.value.startFrameIndexForScene(t.viewModel.currentScene%Ve);y in l.value&&(l.value[y].show=!0),t.viewModel.isRotating=!1}function h(){const y=[];for(let v=0;v<Pe;v++){const{sourceSet:x,defaultPath:B}=m(v);y.push({index:v,sourceSet:x,defaultPath:B,show:!1})}return y}function m(y){const v=("0000"+(y+1)).slice(-4),x=t.build?`?v=${t.build}`:"",B=[`${q(t.cdnFileResolver,`/480/${v}.jpg${x}`)} 480w`,`${q(t.cdnFileResolver,`/960/${v}.jpg${x}`)} 960w`,`${q(t.cdnFileResolver,`/1280/${v}.jpg${x}`)} 1280w`].join(","),N=q(t.cdnFileResolver,`/480/${v}.jpg${x}`);return{sourceSet:B,defaultPath:N}}function p(y,v){const x=Ve/2,B=Math.abs(y-v);return B>x?Ve-B:B}function g(y,v){if(y===v)return 0;const B=Math.abs(y-v)<Ve/2;return B&&y<v||!B&&y>v?1:-1}return(y,v)=>{const x=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(x,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,B=>(e.openBlock(),e.createElementBlock("picture",{key:B.index,alt:B.index,class:e.normalizeClass({"frame-image":!0,show:B.show})},[e.createElementVNode("source",{srcset:B.sourceSet,type:"image/jpeg"},null,8,Dt),e.createElementVNode("img",{src:B.defaultPath,alt:"Building image",onLoad:v[2]||(v[2]=N=>r.value.partLoaded()),onError:v[3]||(v[3]=N=>r.value.errorDetected())},null,40,Nt)],10,xt))),128))])):(e.openBlock(),e.createElementBlock("div",bt,[d.value?(e.openBlock(),e.createElementBlock("picture",Vt,[e.createElementVNode("source",{srcset:d.value.sourceSet,type:"image/jpeg"},null,8,Bt),e.createElementVNode("img",{src:d.value.defaultPath,onLoad:v[0]||(v[0]=B=>u.value=!0),onError:v[1]||(v[1]=B=>r.value.errorDetected())},null,40,Et)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),fe=U(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(i,{emit:a}){const t=i,n=a,o=e.computed(()=>{let r,c,l,u;return t.pos.x<=t.pos.width/2?(r="-100%",l="-8px"):(r="0%",l="8px"),t.pos.y<=t.pos.height/2?(c="-100%",u="-8px"):(c="0%",u="8px"),`translate(${r}, ${c}) translate(${l}, ${u})`});return(r,c)=>{const l=e.resolveComponent("v-dialog"),u=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(u,{origin:`top left ${r.pos.x} ${r.pos.y}`},{default:e.withCtx(()=>[r.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${r.pos.x}px`,top:`${r.pos.y}px`,pointerEvents:"none",transform:o.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(l,{key:1,value:!0,width:"auto","onClick:outside":c[0]||(c[0]=d=>n("outside",d))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),he=U(e.defineComponent({__name:"VZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0},position:{default:"absolute"}},emits:["update"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(100),r=e.ref(0),c=e.ref(0),l=e.ref(!1),u=e.ref(!1),d=e.ref(void 0),s=e.ref(!1),f=e.ref(),w=e.computed(()=>`translateX(${r.value}px) translateY(${c.value}px) scale(${h.value})`),h=e.computed(()=>o.value/100),m=e.computed(()=>t.maxScale*100);e.watch([h,r,c],()=>{P()}),e.watch(()=>t.desktop,()=>{t.desktop?p():y()}),e.watch(()=>t.mobile,()=>{t.mobile?g():v()}),e.onMounted(()=>{t.desktop&&p(),t.mobile&&g()}),e.onBeforeUnmount(()=>{t.desktop&&y(),t.mobile&&v()});function p(){f.value.addEventListener("wheel",x,{capture:!0}),f.value.addEventListener("mousedown",B,{capture:!0}),f.value.addEventListener("mousemove",N,{capture:!0}),window.addEventListener("mouseup",k,{capture:!0}),window.addEventListener("click",C,{capture:!0})}function g(){f.value.addEventListener("touchstart",A,{capture:!0}),f.value.addEventListener("touchmove",E,{capture:!0}),window.addEventListener("touchend",F,{capture:!0}),window.addEventListener("touchcancel",F,{capture:!0})}function y(){f.value.removeEventListener("wheel",x,{capture:!0}),f.value.removeEventListener("mousedown",B,{capture:!0}),f.value.removeEventListener("mousemove",N,{capture:!0}),window.removeEventListener("mouseup",k,{capture:!0}),window.removeEventListener("click",C,{capture:!0})}function v(){f.value.removeEventListener("touchstart",A,{capture:!0}),f.value.removeEventListener("touchmove",E,{capture:!0}),window.removeEventListener("touchend",F,{capture:!0}),window.removeEventListener("touchcancel",F,{capture:!0})}function x(V){const{x:D,y:T}=b(V);L(-V.deltaY/10,D,T),V.preventDefault()}function B(V){l.value=!0,s.value=!1,d.value=V}function N(V){if(l.value){const{x:D,y:T}=b(V),{x:H,y:Z}=b(d.value),Q={x:D-H,y:T-Z};S(Q.x),I(Q.y),s.value=!0,d.value=V}}function k(V){l.value&&s.value&&t.consumeMouseUpWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation())}function C(V){l.value&&(s.value&&t.consumeMouseClickWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation()),l.value=!1)}function A(V){l.value=V.touches.length===1,u.value=V.touches.length===2,d.value=V}function E(V){if(l.value){const{x:D,y:T}=b(V.touches[0]),{x:H,y:Z}=b(d.value.touches[0]),Q={x:D-H,y:T-Z};S(Q.x),I(Q.y)}else if(u.value&&V.touches.length===2){const{x:D,y:T}=b(V.touches[0]),{x:H,y:Z}=b(d.value.touches[0]),{x:Q,y:K}=b(V.touches[1]),{x:ae,y:re}=b(d.value.touches[1]),te=Math.hypot(H-ae,Z-re),ie=Math.hypot(D-Q,T-K),me=(Q+D)/2,le=(K+T)/2;L(ie-te,me,le)}d.value=V}function F(){l.value=!1,u.value=!1}function b(V){const{left:D,top:T}=f.value.getBoundingClientRect();return{x:V.clientX-D,y:V.clientY-T}}function S(V){const D=f.value.clientWidth,T=D*h.value;r.value=Math.max(Math.min(0,r.value+V),-(T-D))}function I(V){const D=f.value.clientHeight,T=D*h.value;c.value=Math.max(Math.min(0,c.value+V),-(T-D))}function L(V,D,T){const H=f.value.clientWidth,Z=f.value.clientHeight,Q=H*h.value,K=Z*h.value;o.value=Math.min(Math.max(100,o.value+V),m.value);const ae=H*h.value,re=Z*h.value,te=ae-Q,ie=re-K;r.value-=D/H*te,c.value-=T/Z*ie,S(0),I(0)}function P(){n("update",{scale:h.value,x:r.value,y:c.value,resolve:(V,D)=>{const T=f.value.clientWidth,H=f.value.clientHeight,Z=r.value/-h.value,Q=c.value/-h.value,K=Z+T/h.value,ae=Q+H/h.value,re=V/T*(K-Z)+Z,te=D/H*(ae-Q)+Q;return{x:re,y:te}}})}return(V,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:f,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:w.value}),class:"zoom-box"},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Te=4;function je(i){return i<Te?i+1:1}function Ft(i){return i>1?i-1:Te}class Tt{constructor(a){G(this,"_state");this._state={isRotating:!1,currentScene:a}}get isRotating(){return this._state.isRotating}set isRotating(a){this._state.isRotating=a}unlessRotatingDo(a){this.isRotating||a()}get currentScene(){return this._state.currentScene}set currentScene(a){this._state.currentScene=a}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=je(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Ft(this.currentScene)})}}const Lt={interior:{en:"Interior",nb:"Møblering",sv:"Interiör"},allIllustrationsAreIndicativeDeviationsMayOccur:{en:"All illustrations are indicative. Discrepancies may exist.",nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",sv:"Alla illustrationer är vägledande. Avvikelser kan förekomma."},iUnderstand:{en:"I understand",nb:"Jeg forstår",sv:"Jag förstår"},share:{en:"Share",nb:"Dele",sv:"Dela"},shareToFacebook:{en:"Share to Facebook",nb:"Del på Facebook",sv:"Dela till Facebook"},shareToLinkedin:{en:"Share to Linkedin",nb:"Del til Linkedin",sv:"Dela till Linkedin"},shareToTwitter:{en:"Share to Twitter",nb:"Del på Twitter",sv:"Dela på Twitter"},shareViaEmail:{en:"Share via Email",nb:"Del via e-post",sv:"Dela via e-post"},copyLink:{en:"Copy link",nb:"Kopier lenken",sv:"Kopiera länken"},slideShow:{en:"Images",nb:"Bilder",sv:"Bilder"},floor:{en:"Floor",nb:"Gulv",sv:"Golv"},seeApartment:{en:"See apartment",nb:"Se leilighet",sv:"Se lägenhet"},clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt",sv:""},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt",sv:"Klicka och dra för att se dig omkring"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome",sv:"Använd mushjulet för att zooma"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt",sv:"Du kan också använda piltangenterna för att flytta runt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt",sv:"Tryck och dra för att se dig omkring"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt",sv:"Tryck på cirklarna för att flytta runt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome",sv:"Använd två fingrar för att zooma"},dontShowAgain:{en:"Don't show again",nb:"Ikke vis igjen",sv:"Visa inte igen"},lower:{en:"Lower",nb:"Senke",sv:"Lägre"},upper:{en:"Upper",nb:"Øverste",sv:"Övre"},disclaimer:{en:"Disclaimer",nb:"Forbehold",sv:"Ansvarsfriskrivning"},disclaimerText:{en:"Please note that the visual presentation of this apartment may differ from the final delivery. Visuado offers a unique opportunity to experience a property that is still under construction, but at this stage of the project, changes may occur. The sales drawing for each individual unit is binding for the purchase.",nb:"Vær oppmerksom på at den visuelle presentasjonen av denne leiligheten kan avvike fra den endelige leveransen. Visuado gir en unik mulighet til å oppleve en bolig som fortsatt er under bygging, men i dette stadiet av prosjektet kan det forekomme endringer. Det er salgstegningen for hver enkelt enhet som er bindende for kjøpet.",sv:"Observera att den visuella presentationen av denna lägenhet kan skilja sig från den slutliga leveransen. Visuado erbjuder en unik möjlighet att uppleva en fastighet som fortfarande är under uppbyggnad, men i detta skede av projektet kan förändringar inträffa. Försäljningsritningen för varje enskild enhet är bindande för köpet."},disclaimerTextShort:{en:"Please note that the visual presentation of this apartment may differ from the final delivery.",nb:"Vær oppmerksom på at den visuelle presentasjonen av denne leiligheten kan avvike fra den endelige leveransen.",sv:"Observera att den visuella presentationen av denna lägenhet kan skilja sig från den slutliga leveransen."},learnMore:{en:"Learn more",nb:"Les Mer",sv:"Läs mer"},back:{en:"Back",nb:"Tilbake",sv:"Tillbaka"},virtualTour:{en:"Virtual Tour",nb:"Virtuell Visning",sv:"Virtuell Rundtur"}};class ne{constructor({labels:a,language:t}={labels:null,language:null}){G(this,"_labels");G(this,"_language");this._labels={...Lt,...a||{}},this._language=t||"nb"}getLabel(a){return a in this._labels?this.get(this._labels[a]):a}get(a){if(typeof a=="string")return a;if(this._language in a&&a[this._language])return a[this._language];for(const t in a)if(a[t])return a[t];return""}}const Mt={key:0},Ot={class:"interactive-viewer"},$t={class:"fill-parent"},Rt={key:0},Ut={key:1,class:"navigation"},Ht={key:2},Yt=4,We=U(e.defineComponent({__name:"VApartmentChooser",props:{i18nConfig:{},showCards:{type:Boolean,default:!0},build:{default:""},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{type:Function,default:i=>i},apartmentChooserData:{},selectedUnitId:{},nextUnitId:{},prevUnitId:{},drawObserver:{default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},emits:["selectUnit","goToUnit","navUnit","hoverOverUnit","hoverOutUnit","initialized"],setup(i,{emit:a}){const t=[0,16,32,48],n=i,o=a;e.provide(oe,n.i18nConfig?new ne(n.i18nConfig):new ne);const r=e.reactive({isReady:!1,isError:!1}),c=e.ref(),l=e.ref(),u=e.ref(),d=e.ref(),s=e.ref({x:0,y:0,width:0,height:0}),f=e.ref(),w=e.ref(),h=e.ref(),m=e.computed(()=>h.value.isHoverEnabled),p=e.computed(()=>n.useSvg?vt:ft),g=e.computed(()=>n.selectedUnitId),y=e.computed(()=>n.nextUnitId),v=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(g.value&&d.value){const k=c.value[g.value];k&&(d.value.currentScene=k)}}),e.onMounted(async()=>{const k=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:Yt;u.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,l.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],c.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>{const F=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:F}}).reduce((E,F)=>({...E,[F.unitId]:F.scene}),{}):{};const C=(E,F="unitId")=>{let b=k,S=[];for(let I=0;I<Te;I++)S.push(b),b=je(b);return E.sort((I,L)=>{const P=S.findIndex(D=>D===c.value[I[F]]),V=S.findIndex(D=>D===c.value[L[F]]);return P<V?-1:P>V?1:0}),E},A=E=>{d.value=new Tt(E)};o("initialized",{scene:k,scenes:u.value,sceneData:l.value,scenesByApartment:c.value,unitsSceneSort:C,initialize:A})});function x(k){s.value=k}function B(k){w.value=k.hoverUnit,f.value=k.closeHandler,o("hoverOverUnit",k.hoverUnit)}function N(k){w.value=null,f.value=k.closeHandler,o("hoverOutUnit",k.hoverUnit)}return(k,C)=>{const A=e.resolveComponent("v-progress-linear");return d.value?(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("div",Ot,[e.createElementVNode("div",$t,[e.createVNode(he,{desktop:r.isReady&&k.interactiveDesktop,mobile:r.isReady&&k.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(At,{"cdn-file-resolver":k.cdnFileResolver,"view-model":d.value,"cardinal-frames":u.value,build:k.build,onProgress:C[0]||(C[0]=E=>r.progress=E),onLoaded:C[1]||(C[1]=E=>r.isReady=!0),onError:C[2]||(C[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Rt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),{"cdn-file-resolver":n.cdnFileResolver,"view-model":d.value,"selected-unit-id":g.value,"scene-data":l.value,"color-callback":n.colorCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:C[3]||(C[3]=E=>o("selectUnit",E)),onGoToUnit:C[4]||(C[4]=E=>o("goToUnit",E)),onHoverOver:B,onHoverOut:N,onPos:x},{default:e.withCtx(E=>[e.renderSlot(k.$slots,"default",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),w.value&&k.showCards?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":m.value,pos:s.value,onOutside:f.value},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default",{unit:w.value,canGoToUnit:k.canGoToUnitCallback(w.value),goToUnit:()=>k.canGoToUnitCallback(w.value)&&o("goToUnit",w.value),pos:s.value,isHoverable:m.value,close:f.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(kt,{"can-go-to-unit-callback":n.canGoToUnitCallback,"unit-renderer":n.unitRenderer,"selected-unit-id":g.value,"prev-unit-id":v.value,"next-unit-id":y.value,"view-model":d.value,onGoToUnit:C[5]||(C[5]=E=>o("goToUnit",E)),onPrevUnit:C[6]||(C[6]=E=>o("navUnit",v.value)),onNextUnit:C[7]||(C[7]=E=>o("navUnit",y.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):r.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(A,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":C[8]||(C[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(de,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),zt=["src"],Pt=U(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,t=e.computed(()=>q(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,zt)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),jt=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Pt,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Wt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(jt,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Gt=["src"],qt=U(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=e.computed(()=>q(t.cdnFileResolver,t.transitionData.filename));return(o,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:n.value,src:n.value,class:"position-absolute top-left w-100 h-100"},null,8,Gt)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function Qt(i){if(!i)return!1;const a=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function Le(i){return!("filename"in i)}function Me(i){return"filename"in i}const Zt=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{o.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Le):[]);return e.watch(o,()=>{n("onCameraChange",r.value.find(c=>c.overlayFilename===o.value))}),(c,l)=>{const u=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(u,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=d=>o.value=d),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Jt=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const l=new Date(0);return l.setUTCDate(c),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,l)=>{const u=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value=s),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:s})=>[e.createVNode(u,e.mergeProps(s,{title:r(s.title)}),null,16,["title"])]),selection:e.withCtx(({item:s})=>[e.createTextVNode(e.toDisplayString(r(s.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Xt={key:0,class:"py-2"},Kt={class:"small"},eo={class:"small"},to=U(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===o.value))});function c(u){const d=u*60,s=Math.floor(d/60),f=d%60;return`${s.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}function l(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Xt,[e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)])):(e.openBlock(),e.createBlock(w,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=m=>o.value=m),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(f,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Kt,e.toDisplayString(c(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",eo,e.toDisplayString(c(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),oo=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(i,{expose:a,emit:t}){const n=i,o=t;a({rotateShortestRoute:w});const r=e.ref(!1),c=e.ref(n.currentScene),l=e.ref(n.selectedId);e.watchEffect(()=>{c.value=n.currentScene}),e.watchEffect(()=>{l.value=n.selectedId}),e.watchEffect(()=>{o("onSceneChange",c.value)});const u=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:c.value!==n.apartmentChooserData.scenes[0]),d=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:c.value!==n.apartmentChooserData.scenes[n.apartmentChooserData.scenes.length-1]);function s(){const m=c.value;let p=n.apartmentChooserData.scenes.findIndex(y=>y===m)+1;p>=n.apartmentChooserData.scenes.length&&(p=0);const g=n.apartmentChooserData.scenes[p];n.apartmentChooserData.loopable&&m>g,h(m,g)}async function f(){const m=c.value;let p=n.apartmentChooserData.scenes.findIndex(y=>y===m)-1;p<0&&(p=n.apartmentChooserData.scenes.length-1);const g=n.apartmentChooserData.scenes[p];n.apartmentChooserData.loopable&&m<g,h(m,g)}function w(m){const p=c.value;if(n.apartmentChooserData.loopable)if(m<p){let g=p-m,y=p-(n.apartmentChooserData.cameras.length+m);return Math.abs(g)>Math.abs(y)?h(p,m):h(p,n.apartmentChooserData.cameras.length+m)}else{let g=p-m,y=n.apartmentChooserData.cameras.length+p-m;return Math.abs(g)>Math.abs(y)?h(p,m):h(n.apartmentChooserData.cameras.length+p,m)}else return h(p,m)}function h(m,p){return new Promise(g=>{r.value=!0,o("onRotateStart",{from:m,to:p});let y,v=m;y=setInterval(()=>{v<p?(v++,c.value=Math.abs(v%n.apartmentChooserData.cameras.length)):v>p?(v--,c.value=Math.abs(v%n.apartmentChooserData.cameras.length)):(clearInterval(y),o("onRotateFinish",{from:m,to:p}),r.value=!1,g())},50)})}return(m,p)=>{const g=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(g,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!u.value,onClick:f},null,8,["disabled"]),m.renderDisplay&&l.value?(e.openBlock(),e.createBlock(y,{key:0,variant:"flat",color:"white",size:"large",onClick:p[0]||(p[0]=v=>o("onDisplayClick",l.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.renderDisplay(l.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(g,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!d.value,onClick:s},null,8,["disabled"])],64)}}}),no=["innerHTML"],ao=U(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),l=e.reactive({});e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watchEffect(()=>{for(const s in l){const{element:f,state:w}=l[s],{r:h,g:m,b:p,a:g,s:y}=t.colorCallback(s,w)||{r:0,g:0,b:0,a:0,s:0};f.style.fill=`rgba(${h}, ${m}, ${p}, ${g/255})`,f.style.stroke=`rgb(${h}, ${m}, ${p})`,f.style.strokeWidth=y.toString()}}),e.watch(c,()=>{for(const s in l)l[s].state==="selected"&&s!==c.value?l[s].state="idle":l[s].state!=="selected"&&s===c.value&&(l[s].state="selected")}),e.watchEffect(async()=>{o.value=await X.loadText(q(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;if(s){if(!s.hasAttribute("viewBox")){const w=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",w)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())}})}function d(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;s&&(n("updateSvgContainer",s),u(),s.querySelectorAll("[data-apartment-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const m=h.getAttribute("data-apartment-id");l[m]={element:h,state:c.value===m?"selected":"idle"},h.addEventListener("mouseover",()=>{l[m].state==="idle"&&(l[m].state="hover"),n("onHoverOver",m)}),h.addEventListener("mouseout",()=>{l[m].state==="hover"&&(l[m].state="idle"),n("onHoverOut",m)}),h.addEventListener("click",()=>{n("onClick",m)})}))})}return(s,f)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:s.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:o.value},null,8,no))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),ro="data:image/png;base64,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",ge=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(i){const a=i,t=e.computed(()=>({transform:`rotate(${90-(a.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(n,o)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(ro),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ce{constructor(a){G(this,"_buildingIds");this._buildingIds=a}static empty(){return new Ce([])}getBuildingId(a,t,n){const o=this._getBuildingIndex(a,t,n);if(o!==void 0)return this._buildingIds[o]}_getBuildingIndex(a,t,n){const[o,r,c,l]=a.getPixel(t,n);if(l===255&&o===r&&r===c)return o}}const lo=180;class Ge{constructor(a){G(this,"_cdnFileResolver");G(this,"_resourceLoader");this._cdnFileResolver=a,this._resourceLoader=new X}constructFileUrl(a){return this._cdnFileResolver?q(this._cdnFileResolver,`/${a}`):null}loadBuildingMapImage(a){const t=this.constructFileUrl(a.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(a){return a.cameraRotation&&a.cameraRotation.y+270}getBuildingData(a){const t=a?a.buildings:[],n=t.map(r=>r.id),o=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:n,buildingOverlays:o}}getBackgroundImageData(a){return"days"in a?this.processMultipleDays(a.days):[this.processTimeSamples(lo,a.timeSamples)]}processMultipleDays(a){return a.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(a,t){return{urls:t.map(o=>this.constructFileUrl(o.filename)),referenceDate:this.makeReferenceDate(a)}}makeReferenceDate(a){const t=new Date(0);return t.setUTCDate(a),t}async loadBuildingChooser(a){try{if(a){const t=await this.loadBuildingMapImage(a);if(t){const n=this.getViewLongitude(a),{buildingIds:o,buildingOverlays:r}=this.getBuildingData(a),c=this.getBackgroundImageData(a);return{mapImage:t,viewLongitude:n,buildingIds:o,buildingOverlays:r,backgrounds:c}}}return null}catch{return null}}}class ke{constructor(a){G(this,"_mapImage");G(this,"_context");this._mapImage=a,this._context=null}static empty(){return new ke(null)}update(a){this._mapImage&&(this._context=a.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,a.width,a.height))}getPixel(a,t){try{return this._context?this._context.getImageData(a,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const io=new Date(0);class xe{constructor(a){G(this,"_imagesByDay");G(this,"_state");this._imagesByDay=a,this._state={selectedIndex:0}}static empty(){return new xe([{referenceDate:io,urls:[]}])}selectIndex(a){a<this._imagesByDay.length&&(this._state.selectedIndex=a)}get dates(){return this._imagesByDay.map(a=>a.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function Be(i){return("0"+i).slice(-2)}function so(){const i=new Date;return[i.getFullYear().toString(),Be(i.getMonth()+1),Be(i.getDate())," ",Be(i.getHours()),Be(i.getMinutes()),Be(i.getSeconds())].join("")}function co(){return"Visuado-Snapshot-"+so()}class mo{constructor(a,t){G(this,"data");this.data=a}download(a=null){a=a||co();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=a,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}function qe(i){const a=i.sceneData.map(l=>({unitId:l.apartmentID,bestScene:l.bestScene})),t="1280",n=[4,1,2,3],o=[];for(let l=1;l<=64;l++){const u=l.toString().padStart(4,"0")+".jpg";o.push(u)}const r=o.map(l=>({filename:`/${t}/${l}`}));for(let l=0;l<i.scenes.length;l++){let u=i.scenes[l],d,s;d=r[u],s={cameraName:`Kamera ${l+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${n[l]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:d.filename}]}]},Me(r[u])&&(r[u]=s)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:i.scenes,loopable:!0,renderVersion:i.renderVersion?i.renderVersion:"Auto Converted",unitData:a,cameras:r}}const uo={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},po={class:"pa-1"},fo={class:"pa-1"},ho={class:"pa-1"},go={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},vo={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},yo=["innerHTML"],Co={style:{"z-index":"7"}},ko=U(e.defineComponent({__name:"VApartmentChooserV5",props:{apartmentChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},renderDisplay:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(),l=e.ref(null),u=e.ref(4),d=e.ref(),s=e.ref(!1),f=e.ref(!1),w=e.ref(),h=e.ref(),m=e.computed(()=>h.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),g=e.ref(),y=e.ref(),v=e.ref(t.apartmentChooserData),x=e.ref(!1);e.onMounted(()=>{s.value=!0}),e.watch(s,V=>{V&&n("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([D])=>{x.value=D.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const B=e.computed(()=>v.value?v.value.cameras.filter(Le):[]),N=e.computed(()=>v.value?v.value.cameras.filter(Me):[]),k=async()=>{try{let V,D;return D=await X.loadJson(q(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(D.version)===5?D:(V=qe(D),V)}catch(V){s.value=!1,n("onError",V)}};e.watch([v,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(v.value||(v.value=await k()),t.defaultCamera?o.value=B.value.find(V=>V.cameraName===t.defaultCamera)||B.value[0]:o.value=B.value[0],u.value=v.value.cameras.findIndex(V=>V===o.value),u.value=Math.max(0,u.value))},{immediate:!0}),e.watch([v,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{v.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(V=>V.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([v,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{v.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(V=>V.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(V=>V.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function C(V){o.value!==V&&w.value.rotateShortestRoute(v.value.cameras.findIndex(D=>D===V))}function A(V){u.value=V,Me(v.value.cameras[u.value])?l.value=v.value.cameras[u.value]:(e.nextTick(()=>{E(v.value.cameras[u.value])}),l.value=null)}function E(V){const D=r.value;o.value=V,u.value=v.value.cameras.findIndex(T=>T===o.value),e.nextTick(()=>{F(o.value.sunsimDayOfYear.find(T=>T.dayOfYear===D.dayOfYear)||o.value.sunsimDayOfYear[0])})}function F(V){const D=c.value;r.value=V,e.nextTick(()=>{b(r.value.timeSamples.find(T=>T.timeInHours===D.timeInHours)||r.value.timeSamples.find(T=>T.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function b(V){c.value=V}function S(V){n("onClick",V,()=>{const D=v.value.unitData.find(T=>T.unitId===V);D&&w.value.rotateShortestRoute(D.bestScene)})}function I(V){n("onHoverOver",V),d.value=V}function L(V){n("onHoverOut",V),d.value=void 0}function P(V){const{layerX:D,layerY:T}=V;let H=V.target,Z=!1;for(;H;)if(H===g.value){Z=!0;break}else H=H.parentElement;if(Z){const Q=V.currentTarget;p.value={x:D,y:T,width:Q.clientWidth,height:Q.clientHeight}}else p.value=void 0;n("onMouseMove",V,p.value)}return(V,D)=>{const T=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(T,{type:"image",class:"w-100 h-100 position-relative",loading:!s.value||!v.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:y,class:e.normalizeClass({mobile:x.value}),onMousemove:P},[e.createElementVNode("div",uo,[e.createElementVNode("div",po,[v.value.cameras.length>1?(e.openBlock(),e.createBlock(Zt,{key:0,"apartment-chooser-data":v.value,"current-camera":o.value,disabled:f.value,onOnCameraChange:C},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fo,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Jt,{key:0,"camera-data":o.value,"current-day":r.value,disabled:f.value,onOnDayChange:F},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ho,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(to,{key:0,"day-data":r.value,"current-time":c.value,disabled:f.value,onOnTimeChange:b},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",go,[v.value.cameras.length>1?(e.openBlock(),e.createBlock(oo,{key:0,ref_key:"rotator",ref:w,"apartment-chooser-data":v.value,"current-scene":u.value,"selected-id":V.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:S,onOnSceneChange:A,onOnRotateStart:D[0]||(D[0]=H=>f.value=!0),onOnRotateFinish:D[1]||(D[1]=H=>f.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",vo,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,H=>(e.openBlock(),e.createBlock(Wt,{key:H.overlayFilename,"camera-data":H,"cdn-file-resolver":t.cdnFileResolver,"current-time":c.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,H=>(e.openBlock(),e.createBlock(qt,{"transition-data":H,"cdn-file-resolver":t.cdnFileResolver,"current-transition":l.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,yo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(ao,{"cdn-file-resolver":V.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:S,onOnHoverOver:I,onOnHoverOut:L,onUpdateSvgContainer:D[2]||(D[2]=H=>g.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,l.value===null]])]),_:1}),V.$slots.popup&&p.value&&d.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":m.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",Co,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:d.value,hoverable:m.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:h},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),wo={class:"sunsim-bar-wrapper"},_o={class:"sunsim-date d-flex align-center pl-5 pr-5"},bo={key:1,class:"text-center text-body-1"},Vo={class:"sunsim-wrapper d-flex align-center px-3"},Bo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Qe=U(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.modelValue),r=e.ref();function c(s){return s.toLocaleString("en-no",{month:"short",day:"numeric"})}const l=e.computed(()=>{const s=Math.floor(o.value/2).toString().padStart(2,"0"),f=o.value%2===0?"00":"30";return`${s}:${f}`}),u=e.computed(()=>t.dateSelector.dates.map(c)),d=e.computed({get(){return c(t.dateSelector.selectedDate)},set(s){t.dateSelector.selectIndex(u.value.indexOf(s))}});return e.watch(o,s=>{n("update:modelValue",s)}),e.watch(r,s=>{t.dateSelector.selectIndex(u.value.indexOf(s))}),e.watch(()=>t.modelValue,s=>{o.value=Math.floor(s)}),e.watchEffect(()=>{r.value=c(t.dateSelector.selectedDate)}),(s,f)=>{const w=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),m=e.resolveComponent("v-progress-linear"),p=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("div",_o,[e.createVNode(w,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),s.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=g=>r.value=g),items:u.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",bo,e.toDisplayString(d.value),1))]),e.createElementVNode("div",Vo,[e.createElementVNode("span",Bo,e.toDisplayString(l.value),1),e.createVNode(w,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),s.isLoading?(e.openBlock(),e.createBlock(m,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(p,{key:1,modelValue:o.value,"onUpdate:modelValue":f[1]||(f[1]=g=>o.value=g),min:0,max:47,step:1,"thumb-label":!1,"hide-details":!0,"thumb-color":"white","thumb-size":"25","track-size":"7","track-fill-color":"transparent",class:"sunsim-slider mr-1"},null,8,["modelValue"]))])])}}}),[["__scopeId","data-v-d5a3d3f8"]]),Eo={key:0},So=["src"],Ze=U(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(i,{emit:a}){const t=i,n=a,o=e.ref("init"),r=e.ref(new Ae(0)),c=e.ref();e.watch(()=>t.imageUrls,d=>{n("reset"),u(d)}),e.onMounted(()=>{u(t.imageUrls),new ResizeObserver(d=>{window.requestAnimationFrame(()=>{const s=d[0].contentRect.width,f=d[0].contentRect.height;n("resize",{width:s,height:f})})}).observe(c.value)});function l(){o.value="preloaded",n("preloaded")}function u(d){o.value="init",c.value.src=d[0],r.value=new Ae(d.length).onLoadFinished(()=>{o.value="loaded",n("ready")})}return(d,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:c,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:l},null,544),o.value==="preloaded"||o.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Eo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.imageUrls,(f,w)=>(e.openBlock(),e.createElementBlock("img",{key:w,class:e.normalizeClass({"image-instance":!0,active:w===d.activeIndex}),src:f,onLoad:s[0]||(s[0]=h=>r.value.partLoaded())},null,42,So))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),xo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Do={class:"image-instances"},No={key:0},Io={class:"svg-container"},Ao=["viewBox"],Fo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],To=["innerHTML"],Lo=U(e.defineComponent({__name:"VBuildingChooserSvg",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a;e.provide(oe,t.i18nConfig?new ne(t.i18nConfig):new ne);const o=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),c=e.ref({x:0,y:0,width:0,height:0}),l=e.ref(),u=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),d=e.ref(!1),s=e.ref(new X),f=e.ref(),w=e.ref("0 0 0 0"),h=e.ref(),m=e.ref(),p=e.ref(Ce.empty()),g=e.ref(ke.empty()),y=e.ref(),v=e.computed(()=>y.value.isHoverEnabled);e.watch(l,(b,S)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",S)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,S,I]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(I);u.value=parseInt(S)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const S=await new Ge(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(S){g.value=new ke(S.mapImage),p.value=new Ce(S.buildingIds),h.value=new xe(S.backgrounds),m.value={buildingOverlays:S.buildingOverlays,viewLongitude:S.viewLongitude};const I=[];for(let{id:L,url:P}of S.buildingOverlays)s.value.loadJson(P.replace(".png",".svg")).then(V=>{const T=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];w.value=T.getAttribute("viewBox"),I.push({id:L,svg:T.innerHTML})});f.value=I}else d.value=!0});function x({width:b,height:S}){r.value.width=b,r.value.height=S}function B(){o.value={preloaded:!1,ready:!1}}function N(b){const S=t.colorCallback(b,b===l.value?"hover":"idle"),I=[];return b===l.value?I.push("hover"):I.push("idle"),S&&t.canGoToBuildingCallback(b)?I.push("clickable"):I.push("restricted"),I.join(" ")}function k(b){const S=t.colorCallback(b,b===l.value?"hover":"idle");if(S){const{r:I,g:L,b:P,a:V,s:D}=S;return{strokeWidth:D!==void 0?D:2,stroke:`rgb(${I}, ${L}, ${P})`,strokeOpacity:1,fill:`rgb(${I}, ${L}, ${P})`,fillOpacity:V/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function C(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height},l.value=S,n("hoverOverBuilding",S))}function A(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height},l.value=void 0,n("hoverOutBuilding",S))}function E(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height})}function F(b){l.value=b,v.value&&l.value&&t.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value)}return(b,S)=>{const I=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",xo,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(he,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Do,[e.createVNode(Ze,{"image-urls":h.value.imageUrls,"active-index":u.value,onResize:x,onPreloaded:S[0]||(S[0]=L=>o.value.preloaded=!0),onReady:S[1]||(S[1]=L=>o.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),f.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",No,[e.createElementVNode("div",Io,[(e.openBlock(),e.createElementBlock("svg",{viewBox:w.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,({id:L,svg:P},V)=>(e.openBlock(),e.createElementBlock("g",{key:V,innerHTML:P,"data-building-id":L,class:e.normalizeClass(N(L)),style:e.normalizeStyle(k(L)),onMouseover:D=>C(D,L),onMouseout:D=>A(D,L),onMousemove:D=>E(D),onClick:D=>F(L)},null,46,Fo))),128))],8,Ao))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,To),[[e.vShow,o.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(ge,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Qe,{modelValue:u.value,"onUpdate:modelValue":S[2]||(S[2]=L=>u.value=L),"date-selector":h.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),b.showCards&&l.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":v.value,pos:c.value,onOutside:S[3]||(S[3]=()=>l.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:l.value,canGoToBuilding:b.canGoToBuildingCallback(l.value),goToBuilding:()=>b.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value),pos:c.value,isHoverable:v.value,close:()=>l.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(de,{ref_key:"hoverProbe",ref:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),Mo=U(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(i,{expose:a}){const t=i;a({setupDraw:s});const n=e.ref(!1),o=e.ref(),r=e.ref(new X),c=e.ref(),l=e.ref(),u=e.ref([]),d=e.ref();e.watch(()=>t.color,(h,m)=>{(h.r!==m.r||h.g!==m.g||h.b!==m.b||h.a!==m.a)&&f()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),s()});function s(){if(!o.value||!d.value)return;const{width:h,height:m}=t.dimensions;if(!(h===0||m===0)){c.value=d.value.getContext("2d",{willReadFrequently:!0}),c.value.drawImage(o.value,0,0,h,m),l.value=c.value.getImageData(0,0,h,m);for(let p=3;p<l.value.data.length;p+=4)l.value.data[p]!==0&&u.value.push(p);f(),n.value=!0}}function f(){c.value&&l.value&&(w(),c.value.putImageData(l.value,0,0))}function w(){if(t.color)for(let h=0;h<u.value.length;h++)l.value.data[u.value[h]-3]=t.color.r,l.value.data[u.value[h]-2]=t.color.g,l.value.data[u.value[h]-1]=t.color.b,l.value.data[u.value[h]]=t.color.a}return(h,m)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:d,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),Oo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},$o={class:"image-instances"},Ro=["innerHTML"],Uo=U(e.defineComponent({__name:"VBuildingChooserRaster",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a;e.provide(oe,t.i18nConfig?new ne(t.i18nConfig):new ne);const o=e.ref(),r=e.ref({preloaded:!1,ready:!1}),c=e.ref({width:0,height:0}),l=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),d=e.ref(Ce.empty()),s=e.ref(ke.empty()),f=e.ref(),w=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((b,S)=>({x:b,y:S})),m=e.ref(!1),p=e.ref(),g=e.ref(),y=e.ref(),v=e.computed(()=>{var b;return(b=p.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,S,I]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(I);w.value=parseInt(S)*2+(L<15?0:L>45?2:1)}}),e.watch(f,(b,S)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",S)}),e.onMounted(async()=>{const S=await new Ge(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);S?(s.value=new ke(S.mapImage),d.value=new Ce(S.buildingIds),o.value=new xe(S.backgrounds),u.value={buildingOverlays:S.buildingOverlays,viewLongitude:S.viewLongitude},k()):m.value=!0});function x({width:b,height:S}){c.value.width=b,c.value.height=S,e.nextTick(k)}function B(){r.value={preloaded:!1,ready:!1}}function N(b){const{layerX:S,layerY:I}=b,{x:L,y:P}=h.value(S,I);return d.value.getBuildingId(s.value,L,P)}function k(){if(g.value&&(s.value.update(g.value),y.value))for(const b of y.value)b.setupDraw()}function C(b){const{layerX:S,layerY:I}=b;v.value&&(f.value=N(b),f.value!==void 0&&(l.value={x:S,y:I,width:c.value.width,height:c.value.height}))}function A(b){f.value=N(b),v.value&&f.value&&n("goToBuilding",f.value)}function E(b){return t.colorCallback(b,b===f.value?"hover":"idle")}function F({resolve:b}){h.value=b}return(b,S)=>{const I=e.resolveComponent("v-icon");return m.value?(e.openBlock(),e.createElementBlock("div",Oo,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${f.value?"pointer":"auto"};height: ${c.value.height}px; position: relative`),class:"image-container"},[e.createVNode(he,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:F},{default:e.withCtx(()=>[e.createElementVNode("div",$o,[e.createVNode(Ze,{"image-urls":o.value.imageUrls,"active-index":w.value,onResize:x,onPreloaded:S[0]||(S[0]=L=>r.value.preloaded=!0),onReady:S[1]||(S[1]=L=>r.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(Mo,{ref_for:!0,ref_key:"overlays",ref:y,key:L.id,"image-url":L.url,dimensions:c.value,color:E(L.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(c.value,{ref_key:"canvas",ref:g,class:{hover:!!f.value},onClick:A,onMousemove:C}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,Ro),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(ge,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Qe,{modelValue:w.value,"onUpdate:modelValue":S[2]||(S[2]=L=>w.value=L),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),b.showCards&&f.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":v.value,pos:l.value,onOutside:S[3]||(S[3]=()=>f.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:f.value,canGoToBuilding:b.canGoToBuildingCallback(f.value),goToBuilding:()=>b.canGoToBuildingCallback(f.value)&&n("goToBuilding",f.value),pos:l.value,isHoverable:v.value,close:()=>f.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(de,{ref_key:"hoverProbe",ref:p},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),Je=e.defineComponent({__name:"VBuildingChooser",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a,o=e.computed(()=>t.useSvg?Lo:Uo);return(r,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{"i18n-config":t.i18nConfig,"show-cards":t.showCards,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"interactive-desktop":t.interactiveDesktop,"interactive-mobile":t.interactiveMobile,"building-chooser-time-of-day":t.buildingChooserTimeOfDay,"can-go-to-building-callback":t.canGoToBuildingCallback,"custom-overlay-content":t.customOverlayContent,"building-chooser-data":t.buildingChooserData,onGoToBuilding:c[0]||(c[0]=l=>n("goToBuilding",l)),onHoverOverBuilding:c[1]||(c[1]=l=>n("hoverOverBuilding",l)),onHoverOutBuilding:c[2]||(c[2]=l=>n("hoverOutBuilding",l))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),l=>({name:l,fn:e.withCtx(u=>[e.renderSlot(r.$slots,l,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1064,["i18n-config","show-cards","color-callback","cdn-file-resolver","interactive-desktop","interactive-mobile","building-chooser-time-of-day","can-go-to-building-callback","custom-overlay-content","building-chooser-data"]))}}),Ho=["src"],Yo=U(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,t=e.computed(()=>q(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Ho)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),zo=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Yo,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Po=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(zo,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),jo=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentCamera.overlayFilename);return e.watch(o,()=>{n("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===o.value))}),(r,c)=>{const l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=u=>o.value=u),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),Wo=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const l=new Date(0);return l.setUTCDate(c),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,l)=>{const u=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value=s),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:s})=>[e.createVNode(u,e.mergeProps(s,{title:r(s.title)}),null,16,["title"])]),selection:e.withCtx(({item:s})=>[e.createTextVNode(e.toDisplayString(r(s.title)),1)]),_:1},8,["modelValue","items"])}}}),Go={key:0,class:"py-2"},qo={class:"small"},Qo={class:"small"},Zo=U(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===o.value))});function c(u){const d=u*60,s=Math.floor(d/60),f=d%60;return`${s.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}function l(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Go,[e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)])):(e.openBlock(),e.createBlock(w,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=m=>o.value=m),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(f,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",qo,e.toDisplayString(c(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Qo,e.toDisplayString(c(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),Jo=["innerHTML"],Xo=U(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),l=e.reactive({});e.watchEffect(()=>{for(const s in l){const{element:f,state:w}=l[s],{r:h,g:m,b:p,a:g,s:y}=t.colorCallback(s,w)||{r:0,g:0,b:0,a:0,s:0};f.style.fill=`rgba(${h}, ${m}, ${p}, ${g/255})`,f.style.stroke=`rgb(${h}, ${m}, ${p})`,f.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watch(c,()=>{for(const s in l)l[s].state==="selected"&&s!==c.value?l[s].state="idle":l[s].state!=="selected"&&s===c.value&&(l[s].state="selected")}),e.watchEffect(async()=>{o.value=await X.loadText(q(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;if(!s.hasAttribute("viewBox")){const w=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",w)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())})}function d(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;s&&(n("updateSvgContainer",s),u(),s.querySelectorAll("[data-building-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const m=h.getAttribute("data-building-id");l[m]={element:h,state:c.value===m?"selected":"idle"},h.addEventListener("mouseover",()=>{l[m].state==="idle"&&(l[m].state="hover"),n("onHoverOver",m)}),h.addEventListener("mouseout",()=>{l[m].state==="hover"&&(l[m].state="idle"),n("onHoverOut",m)}),h.addEventListener("click",()=>{n("onClick",m)})}))})}return(s,f)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:s.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:o.value},null,8,Jo))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function Xe(i){const a={version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,buildings:i.buildings.map(o=>({id:o.id,name:o.name})),cameras:[]};let t=[];i.days?t=i.days.map(o=>({dayOfYear:o.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:o.timeSamples.map(r=>({timeInHours:r.timeInHours,filename:`/${r.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:i.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))}];const n={cameraName:"Default",cameraPosition:i.cameraPosition,cameraRotation:i.cameraRotation,cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return a.cameras.push(n),a}const Ko={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},en={key:0,class:"pa-1"},tn={class:"pa-1"},on={class:"pa-1 flex-grow-1"},nn={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},an=["innerHTML"],rn={style:{"z-index":"7"}},ln=U(e.defineComponent({__name:"VBuildingChooserV5",props:{buildingChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(),l=e.ref(),u=e.ref(!1),d=e.ref(),s=e.computed(()=>d.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),w=e.ref(),h=e.ref(),m=e.ref(t.buildingChooserData),p=e.ref(!1);e.onMounted(()=>u.value=!0),e.watch(u,C=>{C&&n("onInitialize")}),e.watch(()=>h.value,()=>{h.value&&new ResizeObserver(([A])=>{p.value=A.contentRect.width<t.mobileBreakpoint}).observe(h.value)});const g=async()=>{try{let C;if(!t.cdnFileResolver)return C;let A;return A=await X.loadJson(q(t.cdnFileResolver,"/buildingChooser.json")),parseInt(A.version)===5?A:(C=Xe(A),C)}catch(C){u.value=!1,n("onError",C)}};e.watch([m,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(m.value||(m.value=await g()),t.defaultCamera?o.value=m.value.cameras.find(C=>C.cameraName===t.defaultCamera)||m.value.cameras[0]:o.value=m.value.cameras[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{m.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(C=>C.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{m.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(C=>C.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(C=>C.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(C){const A=r.value;o.value=C,e.nextTick(()=>{v(o.value.sunsimDayOfYear.find(E=>E.dayOfYear===A.dayOfYear)||o.value.sunsimDayOfYear[0])})}function v(C){const A=c.value;r.value=C,e.nextTick(()=>{x(r.value.timeSamples.find(E=>E.timeInHours===A.timeInHours)||r.value.timeSamples.find(E=>E.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function x(C){c.value=C}function B(C){n("onHoverOver",C),l.value=C}function N(C){n("onHoverOut",C),l.value=void 0}function k(C){const{layerX:A,layerY:E}=C;let F=C.target,b=!1;for(;F;)if(F===w.value){b=!0;break}else F=F.parentElement;if(b){const S=C.currentTarget;f.value={x:A,y:E,width:S.clientWidth,height:S.clientHeight}}else f.value=void 0;n("onMouseMove",C,f.value)}return(C,A)=>{const E=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(E,{type:"image",class:"w-100 h-100 position-relative",loading:!u.value||!m.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:h,class:e.normalizeClass({mobile:p.value}),onMousemove:k},[e.createElementVNode("div",Ko,[m.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(jo,{"building-chooser-data":m.value,"current-camera":o.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",tn,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Wo,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:v},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",on,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Zo,{key:0,"day-data":r.value,"current-time":c.value,onOnTimeChange:x},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",nn,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value.cameras,F=>(e.openBlock(),e.createBlock(Po,{key:F.overlayFilename,"camera-data":F,"cdn-file-resolver":t.cdnFileResolver,"current-time":c.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,an)):e.createCommentVNode("",!0),e.createVNode(Xo,{"cdn-file-resolver":C.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:A[0]||(A[0]=F=>n("onClick",F)),onOnHoverOver:B,onOnHoverOut:N,onUpdateSvgContainer:A[1]||(A[1]=F=>w.value=F)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),C.$slots.popup&&f.value&&l.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":s.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",rn,[e.renderSlot(C.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:l.value,hoverable:s.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:d},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var we={};Object.defineProperty(we,"__esModule",{value:!0});var sn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},cn=typeof window<"u"&&typeof window.document<"u",dn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,mn=(typeof self>"u"?"undefined":sn(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",un=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),pn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",fn=we.isBrowser=cn;we.isWebWorker=mn,we.isNode=dn,we.isJsDom=un,we.isDeno=pn;const hn={id:"player-wrapper"},gn={id:"player-sizer"},vn={class:"player-control",id:"controls-top-left"},yn={class:"player-control",id:"controls-top-center"},Cn={class:"player-control",id:"controls-top-right"},kn={class:"player-control",id:"controls-center-left"},wn={class:"player-control",id:"controls-center-center"},_n={class:"player-control",id:"controls-center-right"},bn={class:"player-control",id:"controls-bottom-left"},Vn={class:"player-control",id:"controls-bottom-center"},Bn={class:"player-control",id:"controls-bottom-right"},En={id:"main-canvas"},Sn=U(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(i,{emit:a}){const t=ut.PlayerV2,n=i,o=a,r=e.ref(),c=e.ref(),l=e.ref(0),u=e.ref(0);return e.watch([()=>n.cdnFileResolver,()=>n.interiorId,()=>n.apartmentId],async()=>{const d=c.value;r.value&&await r.value.loadInterior(q(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),d,!1)},{deep:!0}),e.watch(()=>n.currentCameraId,d=>{r.value&&(c.value=d,r.value.goToCamera(d,!0))}),e.watch(r,d=>{o("playerApiCallback",d);const s=r.value.getCurrentCamera();s&&(c.value=s.id)}),e.onMounted(async()=>{const w={initialized:()=>{r.value=t.Main.getPlayerAPI();const m=r.value.getCurrentCamera();m&&(c.value=m.id),o("newCameraCallback",c.value)},newCamera:m=>{o("newCameraCallback",m.id),o("newFloorCallback",m.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),c.value=m.id},newFOV:m=>{o("newFovCallback",m),u.value=m},newRotation:m=>{const p=m+0;o("newRotationCallback",p),l.value=p}};if(!fn)return;const h=await new t.Main(q(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),"qpc",w,void 0,n.currentCameraId);h&&(h.handleWindowResize(),window.addEventListener("resize",h.handleWindowResize.bind(h)),h.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(n.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(d,s)=>(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("div",gn,[e.renderSlot(d.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",vn,[e.renderSlot(d.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",yn,[e.renderSlot(d.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Cn,[e.renderSlot(d.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",kn,[e.renderSlot(d.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",wn,[e.renderSlot(d.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",_n,[e.renderSlot(d.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",bn,[e.renderSlot(d.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Vn,[e.renderSlot(d.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Bn,[e.renderSlot(d.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",En,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(d.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-5eb32d81"]]),xn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Dn=["stroke"],Nn=["stroke"],In={class:"floor-level-label"},An=U(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe),r=e.computed(()=>{const s=t.floorLevels;return s.sort(),s}),c=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),l=e.computed(()=>c.value==="lower"),u=e.computed(()=>c.value==="upper");function d(){const s=t.level+1;s>=r.value.length?n("level",r.value[0]):n("level",r.value[s])}return(s,f)=>{const w=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{right:"",attach:""},{activator:e.withCtx(({props:m})=>[e.createVNode(w,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},m,{onClick:d}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",xn,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:u.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Dn),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:l.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Nn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",In,e.toDisplayString(e.unref(o).getLabel(c.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),Fn={class:"d-none d-md-inline"},Tn=U(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe);return(r,c)=>{const l=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),d=e.resolveComponent("v-img"),s=e.resolveComponent("v-list-item-title"),f=e.resolveComponent("v-list-item"),w=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:m})=>[e.createVNode(u,e.mergeProps({rounded:""},m,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",Fn,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(w,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(m,p)=>(e.openBlock(),e.createBlock(f,{density:"compact",key:`at-menuitem-${p}`,onClick:g=>n("selectInterior",m.archetypeID),active:p===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(d,{width:"100","max-width":"100",height:"66",src:m.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(s,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).get(m.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-4909b57c"]]),Ln="data:image/png;base64,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",Mn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMdSURBVHgB7dxBTttQEMbxsU32idouujM7FhjlBqQnaG5AbkBvUPUEpTegN8gR6AlAgQU70lWlQkUUscR+fVZrRKlL7CTQN6P/T0IJwYkUDfNhvzdEBAAAAAAAAAAAAAAAAAAAAAD+i+t+v3+5vT0Qg2IxqHBuP47jXTHIZMHEuYETeScGmSvYZb9fFiv1d7sWY9FcwWLn9u7ux/FbMcZeJPo4vLsrMhJjTBXsXhxWzMWiqYLdj8NKlCR7YoipgjnnhjUPDv11WVeMMFOwqywb+Zu6wnQlz81ck5kp2GNnhLmha7JIDCgjLy+K60cOmSVxvNk7OZmJciY6LM/z4YJDukVRmDj5sBGJcbywGLUnJAqpj0Qfh6mPw4smx/pY7GmPRfUd5uNw0PRYC7GoPxIbxGHFQiyqjsQ2cVjRHouqO8xHXOvVeP+cfVFMeySOpCV3bzVfI7WRuEwcVlxRvHl1dnYkCqntsFWiTfO8h+ZIXPqMT/PGpsqC1WxUtpVq3dhUWbC6jcrWr6F03kNnJK7hTE9rLKor2BrisKJy3kNdwdYRh3evpTAW9UXiGi98y1jUNu+hqmBXWTZcUxxWure3t31RRFXBoieIMG1jcGqWphrMbSxL1byHmg5rMLexrPIXQc3Jh5qCPekZnXMjUUJFJK6yMt+Ulo1NFR3WZm5jWVrmPXREYou5jWVpmfcIPhKfIw4rGmIx+A57jjisaIjF4AsWRVG7nWXnjhK/fJWUEefcuN1Tw4/FoCOxaRz6N3Hi22M8v7n5tDmd/hFp37a20qTTGcRR9F4aLGslSZL2jo+/SqA2JGALxthmviMO/RsY905Pv/zroNfn51N/c1h+XWfZbl7ug0VR2Um1i75Fno/8zQcJVNAd9mNn5+KvxV4feT4mx/P5/PPDbmrje5aN/N+DPV+8wYMfTV9OJpsSqGALVn78kI/D49/fzqKiOKiLvFWVkbnR6exHv7ouLR8LeQwu2IL57vroIy9NRA4ei7x1qiLTF2/6YjIJNhbxwEWamvkndgAAAAAAAAAAAAAAAAAAAAAAAAAAAABYxU+ILzGcMmFd0QAAAABJRU5ErkJggg==",On=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(i){const a=i,t=e.ref(Mn),n=e.ref({backgroundImage:`url(${Ln})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-a.rotation+180}deg)`}));return(r,c)=>{const l=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value),class:"compass-wrapper"},[e.createVNode(l,{class:"compass-needle",src:t.value,style:e.normalizeStyle(o.value)},null,8,["src","style"])],4)}}}),$n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAAllBMVEUAAAD/rwD/rwD/qgP/qwL/qAL/qwP/qwH/rAL/rAL/qwL/qQD/qwL/qwD/qQD/qwL/pQD/qgH/nwD/pwD/qQL/rAL/qwD/qwT/rAP/qwL/rAL/rAD/rAL/qgD/qwL/qQP/rAP/rAH/qgH/qwL/qwD/qgL/rwD/qgD/qwH/qgD/qgL/rAD/qgD/qgD/qwH/rAP/qgX/qwA+O5E+AAAAMnRSTlMAECBg/3C/v5Dff4+PT1/PMN8QII9vf0CfgO9vnzDvUF+vr3BA3zA/z2+fX59g71AwcDsf6p0AAAFGSURBVHicvdRtT8MgEABgaM9hu1aHXV/cpm6zWt829f//OYEK9qC3NDF6HxYCTw5GuWPsd8GjqTIGOJtIZwDi/ymnKPflOSTub6cAcwdnkHk5AQY2v3Dzl2phga1EFkl5hScLbZc+LbUs/FltK5OpLpsmrS0NpbLLSu3Er1dgIsn0cdabEdlHlICL5IZSRq5gELcn7DCnsfQL24AX5PeNfAlAHSEOaYrFXaNiqwa7kO7V9L1dt9u25kX58cBY7dbZYz/MKdr2o06nrZ6klNX4AYRdf8aHzkL6QtxAG9KculjhS0nJMO0rSVmF5ZyWnn2jFC+36vcgLTzq+3lPRx6XrjjTqQ7iqJxY6+KLydp0ZWhrVHWE0JoqHq1NSHBxF0h+1Mh6LUMM5LC/Kht8h+5nG9zeTtbt37Ti3XT6+d29pkTXTZVEfAEKARRF2iiwhQAAAB10RVh0U29mdHdhcmUAQGx1bmFwYWludC9wbmctY29kZWP1QxkeAAAAAElFTkSuQmCC",Rn={class:"d-flex flex-column align-center justify-center clock-face"},Un={class:"clock-icon"},Hn={class:"clock-value grey--text text--darken-3"},Yn=U(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(i){const a=i,t=e.computed(()=>[n(a.hours),":",n(a.minutes)].join(""));function n(o){return("0"+o).slice(-2)}return(o,r)=>{const c=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Rn,[e.createElementVNode("div",Un,[e.createVNode(c,{src:e.unref($n),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Hn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Oe=i=>(e.pushScopeId("data-v-f59c4942"),i=i(),e.popScopeId(),i),zn={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Pn=[Oe(()=>e.createElementVNode("path",{d:"M5.38544 13C3.30939 13.9424 2 15.3211 2 16.8571C2 19.6975 6.47715 22 12 22C17.5228 22 22 19.6975 22 16.8571C22 15.3211 20.6906 13.9424 18.6146 13",class:"fill-grey"},null,-1)),Oe(()=>e.createElementVNode("path",{d:"M8 9C8 7.89543 8.89543 7 10 7H14C15.1046 7 16 7.89543 16 9V12.875C16 13.4273 15.5523 13.875 15 13.875H14V17C14 17.5523 13.5523 18 13 18H11C10.4477 18 10 17.5523 10 17V13.875H9C8.44772 13.875 8 13.4273 8 12.875V9Z"},null,-1)),Oe(()=>e.createElementVNode("path",{d:"M15 4C15 5.65685 13.6569 7 12 7C10.3431 7 9 5.65685 9 4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4Z"},null,-1))],jn=U(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe),r=e.computed(()=>{let c="virtualTour";return t.showStaticImage||(c="slideShow"),c});return(c,l)=>{const u=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),s=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(s,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(d,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:l[0]||(l[0]=w=>n("toggle"))},f),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",zn,Pn)):(e.openBlock(),e.createBlock(u,{key:1},{default:e.withCtx(()=>[e.createTextVNode("mdi-image-multiple")]),_:1}))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel(r.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),ve=i=>(e.pushScopeId("data-v-a5e7f474"),i=i(),e.popScopeId(),i),Wn={key:0,class:"desktop-content"},Gn={class:"d-flex align-center justify-center"},qn={class:"box col d-flex flex-column align-bottom justify-center"},Qn=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M72 30H86.9736M86.9736 30L81 36M86.9736 30L81 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M27.9736 30H13M13 30L18.9736 36M13 30L18.9736 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M36 30H64V40C64 47.732 57.732 54 50 54V54C42.268 54 36 47.732 36 40V30Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 25C36 17.268 42.268 11 50 11V11V30H36V25Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 25C64 17.268 57.732 11 50 11V11V30H64V25Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 23V30C53.25 31.7949 51.7949 33.25 50 33.25C48.2051 33.25 46.75 31.7949 46.75 30V23C46.75 21.2051 48.2051 19.75 50 19.75C51.7949 19.75 53.25 21.2051 53.25 23Z",fill:"white",stroke:"black","stroke-width":"1.5"})])],-1)),Zn={class:"text-div text-center text mt-2"},Jn={class:"box col d-flex flex-column align-bottom justify-center"},Xn=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),Kn={class:"text-div text-center text mt-2"},ea={class:"box col d-flex flex-column align-bottom justify-center"},ta=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M36 33H64V43C64 50.732 57.732 57 50 57V57C42.268 57 36 50.732 36 43V33Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 28C36 20.268 42.268 14 50 14V14V33H36V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 28C64 20.268 57.732 14 50 14V14V33H64V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 26V33C53.25 34.7949 51.7949 36.25 50 36.25C48.2051 36.25 46.75 34.7949 46.75 33V26C46.75 24.2051 48.2051 22.75 50 22.75C51.7949 22.75 53.25 24.2051 53.25 26Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M74.5352 20.7593L80.3458 26.5699C80.9316 27.1557 80.9316 28.1055 80.3458 28.6913C79.76 29.277 78.8103 29.277 78.2245 28.6913L72.4138 22.8806L74.5352 20.7593Z",fill:"black",stroke:"black","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("circle",{cx:"66.5",cy:"15.5",r:"9.75",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"66",y:"11",width:"1",height:"9",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"}),e.createElementVNode("rect",{x:"71",y:"15",width:"1",height:"9",transform:"rotate(90 71 15)",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"})])],-1)),oa={class:"text-div text-center text mt-2"},na={class:"box col d-flex flex-column align-bottom justify-center"},aa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("rect",{x:"65.0967",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"39.5488",y:"29.6777",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-90 39.5488 29.6777)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"60.4512",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(90 60.4512 34.3228)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"34.9033",y:"55.2261",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-180 34.9033 55.2261)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M77.7025 44.3796C77.9599 44.5798 77.9599 44.9688 77.7025 45.169L74.6621 47.5338C74.3337 47.7892 73.8551 47.5552 73.8551 47.1391L73.8551 42.4095C73.8551 41.9935 74.3337 41.7594 74.6621 42.0149L77.7025 44.3796Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M49.6047 17.0724C49.8049 16.815 50.1939 16.815 50.3941 17.0724L52.7589 20.1128C53.0143 20.4412 52.7803 20.9198 52.3642 20.9198L47.6346 20.9198C47.2185 20.9198 46.9845 20.4412 47.2399 20.1128L49.6047 17.0724Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M50.3953 46.9281C50.1951 47.1855 49.8061 47.1855 49.6059 46.9281L47.2411 43.8877C46.9857 43.5592 47.2197 43.0807 47.6358 43.0807L52.3654 43.0807C52.7815 43.0807 53.0155 43.5592 52.7601 43.8877L50.3953 46.9281Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M22.2975 45.1692C22.0401 44.969 22.0401 44.58 22.2975 44.3798L25.3379 42.0151C25.6663 41.7596 26.1449 41.9937 26.1449 42.4097L26.1449 47.1393C26.1449 47.5554 25.6663 47.7894 25.3379 47.534L22.2975 45.1692Z",fill:"#FF3E3E"})])],-1)),ra={class:"text-div text-center text mt-2"},la={key:1,class:"d-flex tablet-mobile-content"},ia={class:"box col my-1"},sa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50.5",height:"32.5",viewBox:"0 0 101 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M68 28H87.9736M87.9736 28L82 34M87.9736 28L82 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M33.9727 28H13.999M13.999 28L19.9727 34M13.999 28L19.9727 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.0361 33.0479C60.7502 31.9809 59.6536 31.3478 58.5866 31.6337C57.5197 31.9195 56.8865 33.0162 57.1724 34.0831L56.7195 32.3928C56.3979 31.1925 55.1641 30.4802 53.9638 30.8018C52.7635 31.1234 52.0512 32.3572 52.3728 33.5575L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M53.7316 38.6286L52.6963 34.7649M52.6963 34.7649L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233V25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516V39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176V43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779V33.0779V33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.942 36.4286M52.6963 34.7649L52.3728 33.5575C52.0512 32.3572 52.7635 31.1234 53.9638 30.8018V30.8018C55.1641 30.4802 56.3979 31.1925 56.7195 32.3928L57.3018 34.5661M58.2077 37.9469L57.3018 34.5661M57.3018 34.5661L57.1724 34.0831C56.8865 33.0162 57.5197 31.9195 58.5866 31.6337V31.6337C59.6536 31.3478 60.7502 31.9809 61.0361 33.0479L61.942 36.4286M62.3302 37.8775L61.942 36.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ca={class:"text text-col text-center"},da={class:"box col my-1"},ma=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"49.5",height:"32.5",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9927 29.9814C79.9871 22.2398 66.3311 15.9962 49.491 16.0358C32.651 16.0754 19.0039 22.3833 19.0095 30.1248C19.015 37.8663 32.6711 44.11 49.5111 44.0704C66.3512 44.0308 79.9982 37.7229 79.9927 29.9814Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L68.5361 36.0479C68.2502 34.9809 67.1536 34.3478 66.0866 34.6337C65.0197 34.9195 64.3865 36.0162 64.6724 37.0831L64.2195 35.3928C63.8979 34.1925 62.6641 33.4802 61.4638 33.8018C60.2635 34.1234 59.5512 35.3572 59.8728 36.5575L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M61.2316 41.6286L60.1963 37.7649M60.1963 37.7649L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233V28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516V42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176V46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779V36.0779V36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L69.442 39.4286M60.1963 37.7649L59.8728 36.5575C59.5512 35.3572 60.2635 34.1234 61.4638 33.8018V33.8018C62.6641 33.4802 63.8979 34.1925 64.2195 35.3928L64.8018 37.5661M65.7077 40.9469L64.8018 37.5661M64.8018 37.5661L64.6724 37.0831C64.3865 36.0162 65.0197 34.9195 66.0866 34.6337V34.6337C67.1536 34.3478 68.2502 34.9809 68.5361 36.0479L69.442 39.4286M69.8302 40.8775L69.442 39.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ua={class:"text text-col text-center"},pa={class:"box col my-1"},fa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"49.5",height:"32.5",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M31 24.9736L31 10M31 10L25 15.9736M31 10L37 15.9736",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M31 40L31 54.9736M31 54.9736L25 49M31 54.9736L37 49",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L56.0348 26.8433C55.4825 25.8867 54.2593 25.5589 53.3027 26.1112C52.3462 26.6635 52.0184 27.8867 52.5707 28.8433L51.6957 27.3277C51.0744 26.2516 49.6983 25.8828 48.6221 26.5042C47.546 27.1255 47.1773 28.5016 47.7986 29.5777L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852Z",fill:"white"}),e.createElementVNode("path",{d:"M50.4236 34.1244L48.4236 30.6603M48.4236 30.6603L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23V23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728V42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442V35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013V26.4013V26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L57.7848 29.8744M48.4236 30.6603L47.7986 29.5777C47.1773 28.5016 47.546 27.1255 48.6221 26.5042V26.5042C49.6983 25.8828 51.0744 26.2516 51.6957 27.3277L52.8207 29.2763M54.5707 32.3074L52.8207 29.2763M52.8207 29.2763L52.5707 28.8433C52.0184 27.8867 52.3462 26.6635 53.3027 26.1112V26.1112C54.2593 25.5589 55.4825 25.8867 56.0348 26.8433L57.7848 29.8744M58.5348 31.1734L57.7848 29.8744",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ha={class:"text text-col text-center"},ga={class:"text-h6 text-capitalize"},va={class:"mt-2"},ya={class:"d-flex justify-center align-center checkbox-container"},Ca={class:"text-caption"},ka=U(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(i,{emit:a}){const t=a,n=e.inject(oe),o=e.ref(!1),r=e.ref(!1),c=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(d=>navigator.userAgent.match(d)));function l(){t("closeTutorial",o.value)}return(u,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-card-title"),w=e.resolveComponent("v-btn"),h=e.resolveComponent("v-divider"),m=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-card-actions"),g=e.resolveComponent("v-card"),y=e.resolveComponent("v-expand-transition"),v=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(g,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(f,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small"},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),_:1}),e.createVNode(m,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(n).getLabel("disclaimerTextShort")),1),e.createVNode(w,{variant:"tonal",size:"small",onClick:d[0]||(d[0]=x=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("learnMore"))+" ",1),e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(h,{class:"my-3"}),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Wn,[e.createElementVNode("div",Gn,[e.createElementVNode("div",qn,[Qn,e.createElementVNode("div",Zn,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Jn,[Xn,e.createElementVNode("div",Kn,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ea,[ta,e.createElementVNode("div",oa,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",na,[aa,e.createElementVNode("div",ra,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),c.value?(e.openBlock(),e.createElementBlock("div",la,[e.createElementVNode("div",ia,[sa,e.createElementVNode("div",ca,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",da,[ma,e.createElementVNode("div",ua,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",pa,[fa,e.createElementVNode("div",ha,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(h,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(g,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",ga,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),e.createElementVNode("p",va,e.toDisplayString(e.unref(n).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(w,{variant:"tonal",size:"small",onClick:d[1]||(d[1]=x=>r.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",ya,[e.createVNode(v,{density:"compact",modelValue:o.value,"onUpdate:modelValue":d[2]||(d[2]=x=>o.value=x),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ca,e.toDisplayString(e.unref(n).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(w,{variant:"tonal",onClick:d[3]||(d[3]=x=>l()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),wa=i=>(e.pushScopeId("data-v-bd4f66c3"),i=i(),e.popScopeId(),i),_a={class:"player-settings-ui"},ba={id:"settings-ui-form"},Va={class:"form-inputs"},Ba={class:"setting-label"},Ea={class:"setting-label"},Sa=["max","min","step"],xa={class:"setting-label"},Da={class:"flex-grow-1 flex-shrink-0"},Na=["onUpdate:modelValue"],Ia={key:3,"d-block":"",class:"mt-3"},Aa={class:"d-flex justify-space-between"},Fa={class:"setting-label"},Ta={class:"mt-5 d-block",style:{width:"300px"}},La=wa(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),Ma={class:"d-block",style:{width:"300px"}},Oa={class:"form-buttons"},$a=U(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(h(t.initialSettings));e.watch(o,()=>{c()},{deep:!0});const r=e.computed(()=>{let m={};for(const[p,g]of Object.entries(o.value))p==="whitePoint"?m[p]=s(g.value):m[p]=g.value;return m});function c(){n("updateSettings",r.value)}function l(){const m=document.createElement("a");m.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const p=`player-settings-${Date.now()}.json`;m.download=p,m.style.display="none",document.body.appendChild(m),m.click(),document.body.removeChild(m)}function u(){n("saveSettings",r.value)}function d(){o.value=h(),n("updateSettings",r.value)}function s(m){const p=parseInt(m.substr(1,2),16)/255,g=parseInt(m.substr(3,2),16)/255,y=parseInt(m.substr(5,2),16)/255;return[p,g,y]}function f(m){var p=m.toString(16);return p.length==1?"0"+p:p}function w([m,p,g]){return"#"+f(parseInt((m*255).toString()))+f(parseInt((p*255).toString()))+f(parseInt((g*255).toString()))}function h(m={}){const p=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let g={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...m};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:g.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:g.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:g.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:g.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:g.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:g.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:g.temperature},whitePoint:{label:"White Point",type:"color",value:w(g.whitePoint)},lut:{label:"Lut",type:"lut",items:p.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:g.lut}}}return(m,p)=>{const g=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),v=e.resolveComponent("v-checkbox"),x=e.resolveComponent("v-btn"),B=e.resolveComponent("v-select"),N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",_a,[e.createElementVNode("form",ba,[e.createElementVNode("div",Va,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(k,C,A)=>(e.openBlock(),e.createElementBlock("div",{key:A,"d-block":""},[k.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,onChange:c,max:k.max,min:k.min,step:k.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ba,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:k.max,min:k.min,step:k.step,style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue","max","min","step"])])]),_:2},1032,["modelValue","onUpdate:modelValue","max","min","step"])):e.createCommentVNode("",!0),k.type==="boolean"?(e.openBlock(),e.createBlock(v,{key:1,modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,onChange:c},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ea,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(k.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),k.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:k.max,min:k.min,step:k.step},[e.createElementVNode("div",xa,e.toDisplayString(k.label),1),e.createElementVNode("div",Da,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>o.value[C].value=E,type:"color",onChange:c},null,40,Na),[[e.vModelText,o.value[C].value]])]),e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue"])])],8,Sa)):e.createCommentVNode("",!0),k.type==="lut"?(e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("div",Aa,[e.createElementVNode("div",Fa,e.toDisplayString(k.label),1),e.createElementVNode("div",null,[e.createVNode(x,{class:"ml-2","x-small":"",onClick:E=>o.value[C].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",Ta,[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,items:k.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:c},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[La,e.createElementVNode("div",Ma,[e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",type:"url",onChange:c},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Oa,[e.createVNode(x,{onClick:p[0]||(p[0]=k=>d())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(x,{class:"ml-2",onClick:p[1]||(p[1]=k=>l())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(x,{class:"ml-2",onClick:p[2]||(p[2]=k=>u())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),Ra=(i=>(e.pushScopeId("data-v-30593022"),i=i(),e.popScopeId(),i))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ua={class:"moveable-body",id:"moveableDivHeader"},Ha={class:"moveable-footer"},Ya=U(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(i,{emit:a}){const t=a,n=e.ref("big");e.onMounted(()=>{o(document.getElementById("moveableDiv"))});function o(c){const l=document.getElementById(c.id+"Header");if(!l)return;let u=0,d=0,s=0,f=0;l.addEventListener("touchstart",w,{passive:!1}),l.addEventListener("touchend",m,{passive:!1}),l.addEventListener("mousedown",w,{passive:!1}),l.addEventListener("mouseup",m,{passive:!1});function w(p){p=p||window.event,p.preventDefault();let g=p;p.type==="touchstart"&&(g=p.touches[0]),s=g.clientX,f=g.clientY,document.addEventListener("mouseup",m,{passive:!1}),document.addEventListener("touchend",m,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(p){p=p||window.event,p.preventDefault();let g=p;p.type==="touchmove"&&(g=p.touches[0]),u=s-g.clientX,d=f-g.clientY,s=g.clientX,f=g.clientY,c.style.top=c.offsetTop-d+"px",c.style.left=c.offsetLeft-u+"px"}function m(){document.removeEventListener("mouseup",m,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",m,!1),document.removeEventListener("touchmove",h,!1)}}function r(){n.value==="big"?n.value="small":n.value="big"}return(c,l)=>{const u=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",n.value])},[e.createVNode(u,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:l[0]||(l[0]=d=>t("close"))}),e.createVNode(u,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(u,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:l[1]||(l[1]=d=>t("transform")),title:"Rotate"}),Ra,e.createElementVNode("div",Ua,[e.renderSlot(c.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ha,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),za={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Pa=e.createStaticVNode('<defs><radialGradient id="Gradient" cx="0" cy="0" r="0.9" fx="0" fy="0"><stop offset="0%" class="stop1"></stop><stop offset="60%" class="stop2"></stop><stop offset="90%" class="stop3"></stop></radialGradient><linearGradient id="LineGradient" gradientTransform="rotate(90)"><stop offset="0%" class="stop1"></stop><stop offset="75%" class="stop2"></stop><stop offset="100%" class="stop3"></stop></linearGradient></defs>',1),ja=["transform"],Wa=[e.createStaticVNode('<rect id="field-of-view-gradient" x="20" y="20" width="38" height="38" transform="rotate(0)" transform-origin="20 20" fill="url(#Gradient)"></rect><rect class="field-of-view-border" x="20" y="20" width="1" height="25" fill="url(#LineGradient)" transform="rotate(0)" transform-origin="20 20"></rect><rect class="field-of-view-border" x="19" y="19" width="1" height="25" fill="url(#LineGradient)" transform="rotate(-90)" transform-origin="20 20"></rect><circle cx="20" cy="20" r="5" fill="white"></circle><circle cx="20" cy="20" r="3" fill="red"></circle>',5)],Ga=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(i){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",za,[Pa,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+a.rotation})`},Wa,8,ja)]))}}),qa={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Qa={class:"minimap-container"},Za=U(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(i){const a=i,t=e.ref(512),n=e.ref(384),o=e.ref(new pe.Vector3),r=e.ref(new pe.Object3D),c=e.ref({}),l=e.ref(1),u=e.ref(),d=e.computed(()=>a.allCameras),s=e.computed(()=>a.allCameras.find(C=>C.id===a.currentCamera)),f=e.computed(()=>a.rotation),w=e.computed(()=>new pe.Vector3(a.storey.position.x,a.storey.position.y,a.storey.position.z)),h=e.computed(()=>parseFloat(s.value.floor_vertical_position)),m=e.computed(()=>d.value.map(C=>{const A=C.uposition.split(","),E=new pe.Vector3(Number(A[0])-w.value.x,0,Number(A[2])-w.value.z);return{...C,...B(o.value,E)}})),p=e.computed(()=>`background-image: url(${a.backgroundImage});`),g=e.computed(()=>{let C=l.value>1?1:l.value;return C<.8&&(C=.4),`scale: ${C>1?1:C}; transform: rotate(${a.transformAngle}deg);`});e.onMounted(()=>{N(),v(),k();const C=document.getElementById("moveableDiv");C&&(u.value=new ResizeObserver(k).observe(C))}),e.onBeforeUpdate(()=>{N(),v()}),e.onBeforeUnmount(()=>{u.value&&u.value.unobserve(document.getElementById("moveableDiv"))});function y(C){return pe.MathUtils.degToRad(C)}function v(){r.value.rotation.x=180,r.value.rotation.y=a.storey.rotation.y*-1,c.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function x(C){return{top:`${Math.abs(C.top)}%`,left:`${Math.abs(C.left)}%`}}function B(C,A){var E=new pe.Vector3;const F=E.subVectors(C,A);return{relativePosition:F,left:F.x/t.value*100,top:F.z/n.value*100}}function N(){const C=a.storey.position.y-h.value;n.value=2*(C*Math.tan(y(a.storey.fovY/2))),t.value=512/384*n.value;const A=n.value/2,E=t.value/2,F=new pe.Vector3(E*-1,0,A*-1);o.value=F}function k(){const C=document.getElementById("moveableDiv");if(!C)return;const A=C.offsetHeight/384*.8,E=C.offsetWidth/512*.8;C.offsetHeight>C.offsetWidth?l.value=E*.5:l.value=A*.9}return(C,A)=>(e.openBlock(),e.createElementBlock("div",qa,[e.createElementVNode("div",Qa,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(g.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(p.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(c.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id},[s.value.floorLevel===E.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(x(E))},null,4)):e.createCommentVNode("",!0),s.value.id===E.id&&a.rotation!==null?(e.openBlock(),e.createBlock(Ga,{key:1,class:"rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...x(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),Ja=U(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(i){const a=i,t=e.computed(()=>a.rotation+a.transformAngle-90);return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(ge,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Xa={class:"ss-wrapper"},Ka={class:"slider"},er={class:"minimap-sun-slider"},tr={key:0,class:"time-label"},or=U(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(new Date().getHours()),r=e.ref(!0),c=e.ref(!0),l=e.ref(""),u=e.ref(new Map),d=e.computed(()=>t.minimapJson.storeys[t.level]),s=e.computed(()=>`${Math.floor(o.value).toString().padStart(2,"0")}:00`),f=e.computed(()=>{if(d.value.sunsimFilesTimeStamps[o.value]){const y=d.value.sunsimFilesTimeStamps[o.value].split(" ");return`${y[0]} ${y[1]}`}return""});e.onMounted(async()=>{l.value=await m(d.value.sunsimFiles[o.value]),c.value=!1;const y=await h(t.minimapJson.storeys);u.value=y,r.value=!1,n("setBackgroundImage",w(t.level,o.value))}),e.watch(o,()=>{const y=w(t.level,o.value);n("setBackgroundImage",y)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",w(t.level,o.value))},{immediate:!0});function w(y,v){return u.value.get(`sunsim${y}_${v}`)?u.value.get(`sunsim${y}_${v}`):""}async function h(y){let v=new Map;for(let x=0;x<y.length;x++){const B=y[x].sunsimFiles;for(let N=0;N<B.length;N++){const k=B[N];try{const C=k,A=k.split("."),E=await m(C);v.set(A[0],E)}catch{continue}}}return v}async function m(y){const x=await(await fetch(q(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),B=await g(x);return p(B)}function p(y){return"data:image/jpeg;base64,"+y}async function g(y){return new Promise((v,x)=>{const B=new FileReader;B.onload=()=>{const N=B.result.split(",")[1];v(N)},B.onerror=x,B.readAsDataURL(y)})}return(y,v)=>{const x=e.resolveComponent("v-progress-linear"),B=e.resolveComponent("v-icon"),N=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Xa,[e.createElementVNode("div",Ka,[e.createElementVNode("div",er,[r.value?(e.openBlock(),e.createBlock(x,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(N,{key:1,modelValue:o.value,"onUpdate:modelValue":v[0]||(v[0]=k=>o.value=k),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(B,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",tr,e.toDisplayString(f.value)+" "+e.toDisplayString(s.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Ke=U(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(0),c=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(c,()=>{o.value=c.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${c.value.defaultSunsimFile}`},{immediate:!0,once:!0});const l=e.computed(()=>{let s=1;return r.value!==0&&(Math.abs(r.value)%180===0?s=1:s=-1),s});function u(s){o.value=s}function d(){r.value=r.value+90}return(s,f)=>(e.openBlock(),e.createBlock(Ya,{onClose:f[0]||(f[0]=w=>n("close")),onTransform:d},{body:e.withCtx(()=>[e.createVNode(Ja,{scale:l.value,rotation:c.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Za,{"transform-angle":r.value,"all-cameras":s.apartmentJson.cameras,"background-image":o.value,rotation:s.rotation,"current-camera":s.currentCamera,storey:c.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(or,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:u},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),nr=37,ar=39,De=U(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(0),r=e.computed({get(){return t.active},set(d){o.value=d}}),c=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",l)});function l(d){switch(d.keyCode){case d.keyCode===nr:n("previous");break;case d.keyCode===ar:n("next");break;default:return}}function u(d,s){s(),n("goto",d)}return(d,s)=>{const f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-img"),h=e.resolveComponent("v-card"),m=e.resolveComponent("v-slide-group-item"),p=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({mobileWaypointWrapper:c.value,desktopWaypointWrapper:!c.value," waypoint-carousel":!0})},[e.createVNode(p,{modelValue:r.value,"onUpdate:modelValue":s[2]||(s[2]=g=>r.value=g),class:e.normalizeClass({mobileWaypoint:c.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(f,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:s[0]||(s[0]=g=>n("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(f,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:s[1]||(s[1]=g=>n("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.thumbnails,g=>(e.openBlock(),e.createBlock(m,{key:g.id},{default:e.withCtx(({toggle:y,selectedClass:v})=>[e.createVNode(h,{class:e.normalizeClass([c.value?"ma-0":"ma-1",v,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:x=>u(g.id,y)},{default:e.withCtx(()=>[e.createVNode(w,{cover:"","aspect-ratio":1,src:g.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),rr={id:"share-btns-wrapper",class:"text-center"},et=U(e.defineComponent({__name:"VSocialShare",setup(i){const a=e.inject(oe),t=e.ref(!1),n=e.ref(location.href);function o(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function c(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1}function l(){navigator.clipboard.writeText(location.href)}return(u,d)=>{const s=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip"),w=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),p=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card"),y=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:d[0]||(d[0]=x=>t.value=!t.value)},v),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(y,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":d[2]||(d[2]=v=>t.value=v)},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(m,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small",icon:"mdi-close",onClick:d[1]||(d[1]=v=>t.value=!1)}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(p,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",rr,[e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},v,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},v,{onClick:c}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},v,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${n.value}`},v),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:l},v),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("copyLink")),1)]),_:1}),e.createVNode(h)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),lr={class:"static-image-wrapper"},ir=U(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(i){const a=i,t=e.computed(()=>({"background-image":`url("${encodeURI(a.image)}")`}));return(n,o)=>(e.openBlock(),e.createElementBlock("div",lr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),sr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},tt=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(i,{emit:a}){const t=a;return(n,o)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",sr,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=c=>t("toggleFullscreen"))},null,8,["icon"])])}}});class ot{constructor(a,t){G(this,"_doc");G(this,"_elemId");G(this,"_state");this._doc=a,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const a=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();a.forEach(n=>{t.addEventListener(n,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const a=this._getElement(),t=a.requestFullscreen||a.webkitRequestFullscreen||a.mozRequestFullscreen||a.msRequestFullscreen;t&&t.apply(a)}_exit(){const a=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;a&&a.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const a=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=a}}const cr={key:0,class:"player-error"},dr={class:"player-and-components-wrapper"},mr={key:3,class:"settings-panel"},ur={key:0,class:"compass-wrapper"},pr={key:1,class:"btn-placeholder mr-2"},fr={class:"btn-placeholder mr-2"},hr={key:2,class:"btn-placeholder mr-2"},gr={key:0},vr={class:"d-flex flex-column align-end"},yr={key:2,class:"render-version"},nt=U(e.defineComponent({__name:"VVirtualTour",props:{cdnFileResolver:{},apartmentId:{},defaultInteriorId:{},validInteriorIds:{default:()=>[]},displayViewModeSwitch:{type:Boolean,default:!0},websiteUrl:{},i18nConfig:{},showCarousel:{type:Boolean,default:!0},showTimeOfDay:{type:Boolean,default:!0},showCompass:{type:Boolean,default:!0},showFullScreen:{type:Boolean,default:!0},showSnapshot:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},showInteriorOptions:{type:Boolean,default:!0},showMiniMap:{type:Boolean,default:!0},showFloorLevel:{type:Boolean,default:!0},defaultWaypointIndex:{default:0},defaultViewMode:{default:"virtualTour"},mouseSensitivity:{default:1},isInIframe:{type:Boolean},adminMode:{type:Boolean,default:!1},playerSettings:{default:()=>({temperature:6500,targetLuminance:1,exposureFovScale:.3,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:""})},hasMarkersJson:{type:Boolean,default:!1},dynamicMarkers:{default:null},version:{},showVersion:{type:Boolean,default:!0}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(i,{expose:a,emit:t}){const n=i,o=t;a({updateSelectedInterior:J,takeSnapshot:He,setCurrentCamera:j});const r=e.ref(!1),c=e.ref(!1),l=e.ref(!1),u=e.ref(),d=e.ref(),s=e.ref(),f=e.ref(),w=e.ref(),h=e.ref(0),m=e.ref(),p=e.ref(),g=e.ref(),y=e.ref(0),v=e.ref(0),x=e.ref(0),B=e.ref(!1),N=e.ref(!1),k=e.ref(!1),C=e.ref(new ot(document,"player-wrapper")),A=e.computed(()=>{if(d.value){const _=d.value.cameras.map(Y=>Y.floorLevel);let R=[...new Set(_)];return R=R.sort(),R}else return[]}),E=e.computed(()=>{let _=0;if(d.value){const R=d.value.cameras.map(be=>be.floorLevel);let Y=[...new Set(R)];Y=Y.sort();const ee=Y.findIndex(be=>be===v.value);ee!==-1&&(_=ee)}return _}),F=e.computed(()=>I.value.findIndex(_=>_.archetypeID===m.value)),b=e.computed(()=>s.value?s.value.cameras.map(_=>({..._,thumbnailUrl:Ne(`/${m.value}/${n.apartmentId}/thumbs/200/${_.id}.jpg`),imageUrl:Ne(`/${m.value}/${n.apartmentId}/images/1600/${_.id}.jpg`)})):[]),S=e.computed(()=>!b.value||!b.value[h.value]?"":b.value[h.value].imageUrl),I=e.computed(()=>{let _=[];return u.value&&(_=u.value.archetypes),n.validInteriorIds.length?_.filter(R=>n.validInteriorIds.includes(R.archetypeID)):_}),L=e.computed(()=>s.value?I.value.map(_=>({..._,url:Ne(`/${_.archetypeID}/${n.apartmentId}/thumbs/200/${b.value[h.value].id}.jpg`)})):[]),P=e.computed(()=>{if(f.value&&f.value.storeys&&E.value in f.value.storeys)return f.value.storeys[E.value]}),V=e.computed(()=>d.value&&d.value.timeInHours),D=e.computed(()=>{if(d.value&&d.value.timeInHours&&n.showTimeOfDay)return ml(d.value.timeInHours)});e.provide(oe,n.i18nConfig?new ne(n.i18nConfig):new ne),e.watch([()=>n.cdnFileResolver],async()=>{await T(),Z(),await H()}),e.watch(()=>n.defaultViewMode,_=>{_==="virtualTour"&&(B.value=!1),_==="slideShow"&&(B.value=!0,k.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await T(),Z(),await H(),C.value.setup(),Q(),fl.value?(r.value=!1,k.value=!0):r.value=!0}catch(_){l.value=!0,o("onError",_)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",K)});async function T(){u.value=await ae()}async function H(){if(d.value=await re(m.value,n.apartmentId),d.value&&(p.value=d.value.cameras.find(()=>!0).id),s.value=await te(m.value,n.apartmentId),s.value){let _=n.defaultWaypointIndex!==null?n.defaultWaypointIndex:0;h.value=_,p.value=s.value.cameras[_].id,g.value=s.value.cameras[_].id}n.showMiniMap&&(f.value=await ie(m.value,n.apartmentId))}function Z(){let _=n.defaultInteriorId;_||(_=u.value.defaultArchetypeID),n.validInteriorIds.length&&!n.validInteriorIds.includes(_)&&(_=n.validInteriorIds[0]),_||(_=u.value.archetypes[0].archetypeID),m.value=_}function Q(){const _=document.getElementById("main-canvas");_.addEventListener("touchmove",R,{passive:!1});function R(Y){Y.preventDefault(),window.scrollBy(0,0)}_.addEventListener("mouseenter",()=>{document.addEventListener("wheel",K,{passive:!1})},{passive:!1}),_.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",K)},{passive:!1})}function K(_){_.preventDefault(),window.scrollBy(0,0)}async function ae(){try{return await Ie("/config.json")}catch(_){console.error("Error loading config.json - ",q(n.cdnFileResolver,"/config.json"),_);return}}async function re(_,R){try{return await Ie(`/${_}/${R}/apartment.json`)}catch(Y){console.error("Error loading apartment.json - ",`/${_}/${R}/apartment.json`,Y);return}}async function te(_,R){try{return await Ie(`/${_}/${R}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${_}/${R}/thumbs.json`);return}}async function ie(_,R){try{return await Ie(`/${_}/${R}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${_}/${R}/minimap/minimap.json`);return}}function me(){let _=h.value+1;_>=b.value.length&&(_=0),h.value=_,j(b.value[h.value].id)}function le(){let _=h.value-1;_<0&&(_=b.value.length-1),h.value=_,j(b.value[h.value].id)}function O(_,R=!0){let Y=b.value.findIndex(ee=>ee.id===_);Y!=-1&&(h.value=Y,R&&j(_))}function j(_){p.value=_}function J(_){m.value=_,o("onInteriorUpdate",_),o("onCameraUpdate",g.value,d.value)}function $(_){O(_,!1),g.value=_,o("onCameraUpdate",_,d.value)}function M(_){y.value=_}function W(_){v.value=_}function Se(_){x.value=_}function ye(_,R){}function ue(_){w.value=_,w.value&&(n.playerSettings&&w.value.updateSettings(n.playerSettings),n.hasMarkersJson?w.value.loadMarkersJson():n.dynamicMarkers&&w.value.loadDynamicMarkers(n.dynamicMarkers))}function se(){C.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function Ue(){B.value=!B.value}async function He(){const _=180/Math.PI,R=await w.value.takePhoto(),Y=w.value.getRotationEuler(),ee=w.value.getCurrentCamera(),be=new mo(R,ee),hl=[Y.x*-_,Y.y*-_,Y.z*_];return o("onSnapshot",be,hl),be}function Ne(_){let R=q(n.cdnFileResolver,_);return n.adminMode&&(R=R+`?v=${Date.now()}`),R}async function Ie(_){const R=Ne(_);try{return(await ce.get(R)).data}catch(Y){throw new Error(Y)}}function cl(_){w.value.updateSettings(_)}function dl(_){o("saveSettings",_)}function ml(_){if(_===void 0)return null;const R=Math.floor(_),Y=Math.floor((R-_)*60);return{hours:R,minutes:Y}}const Ye=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),ct=e.computed(()=>Ye.value?"platform-mobile":"platform-desktop"),ul=(_=!1)=>{k.value=!0,r.value=!1,_&&pl()},pl=()=>{const _=q(n.cdnFileResolver,"/config.json");localStorage.setItem(`${_}-dont-show-tutorial`,"true")},fl=e.computed(()=>{const _=q(n.cdnFileResolver,"/config.json");return localStorage.getItem(`${_}-dont-show-tutorial`)});return(_,R)=>{const Y=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[ct.value]])},[l.value?(e.openBlock(),e.createElementBlock("div",cr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",dr,[!C.value.isActive&&f.value&&g.value&&P.value&&m.value&&N.value?(e.openBlock(),e.createBlock(Ke,{key:0,"cdn-file-resolver":_.cdnFileResolver,"apartment-json":d.value,level:E.value,"minimap-json":f.value,rotation:y.value,"current-camera":g.value,onClose:R[0]||(R[0]=ee=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),m.value&&p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[ct.value]])},[e.createVNode(Sn,{"cdn-file-resolver":_.cdnFileResolver,style:e.normalizeStyle({zIndex:B.value?1:2}),"show-static-image":B.value,"is-full-screen":C.value.isActive,"current-camera-id":p.value,"mouse-sensitivity":_.mouseSensitivity,"interior-id":m.value,"apartment-id":n.apartmentId,onNewCameraCallback:$,onNewRotationCallback:M,onNewFloorCallback:W,onNewFovCallback:Se,onNewSizeCallback:ye,onPlayerApiCallback:ue},{"slideshow-image":e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(ir,{key:0,image:S.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[_.adminMode?e.withDirectives((e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:R[1]||(R[1]=ee=>c.value=!c.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Y,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:R[2]||(R[2]=ee=>r.value=!r.value)},null,512),[[e.vShow,k.value]]),f.value&&p.value&&P.value?e.withDirectives((e.openBlock(),e.createBlock(Y,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:R[3]||(R[3]=ee=>N.value=!N.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),k.value&&_.showFloorLevel&&A.value.length>1?(e.openBlock(),e.createBlock(An,{key:2,level:v.value,"floor-levels":A.value,onLevel:W},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),k.value&&_.adminMode&&c.value?(e.openBlock(),e.createElementBlock("div",mr,[e.createVNode($a,{"initial-settings":_.playerSettings,onUpdateSettings:cl,onSaveSettings:dl},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[d.value&&_.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",ur,[e.createVNode(On,{rotation:y.value},null,8,["rotation"])],512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:R[4]||(R[4]=ee=>N.value=!N.value)},[k.value&&d.value&&V.value&&_.showTimeOfDay?(e.openBlock(),e.createBlock(Yn,{key:0,hours:D.value.hours,minutes:D.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:f.value&&g.value&&P.value?"pointer":"default"})},null,8,["hours","minutes","style"])):e.createCommentVNode("",!0)])]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:le})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(ka,{key:0,onCloseTutorial:R[5]||(R[5]=ee=>ul(ee))})):e.createCommentVNode("",!0),C.value.isActive&&f.value&&g.value&&P.value&&N.value?(e.openBlock(),e.createBlock(Ke,{key:1,"cdn-file-resolver":_.cdnFileResolver,"apartment-json":d.value,"minimap-json":f.value,rotation:y.value,"current-camera":g.value,level:E.value,onClose:R[6]||(R[6]=ee=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","minimap-json","rotation","current-camera","level"])):e.createCommentVNode("",!0)]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:me})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[k.value&&_.showFullScreen?(e.openBlock(),e.createBlock(tt,{key:0,"is-full-screen":C.value.isActive,class:"btn-fullscreen",onToggleFullscreen:se},null,8,["is-full-screen"])):e.createCommentVNode("",!0),k.value&&_.showSnapshot?(e.openBlock(),e.createElementBlock("div",pr,[e.createVNode(Y,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:He})])):e.createCommentVNode("",!0),e.createElementVNode("div",fr,[_.displayViewModeSwitch&&k.value?(e.openBlock(),e.createBlock(jn,{key:0,"show-static-image":B.value,onToggle:Ue},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),k.value&&_.showShare&&!C.value.isActive?(e.openBlock(),e.createElementBlock("div",hr,[e.createVNode(et)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[k.value&&_.showCarousel&&!Ye.value?(e.openBlock(),e.createElementBlock("div",gr,[k.value?(e.openBlock(),e.createBlock(De,{key:0,class:e.normalizeClass([C.value.isActive?"full-screen":""]),thumbnails:b.value,active:h.value,onNext:me,onPrevious:le,onGoto:O},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",vr,[k.value&&_.showInteriorOptions&&L.value?(e.openBlock(),e.createBlock(Tn,{key:0,"cdn-file-resolver":_.cdnFileResolver,"available-archetypes":L.value,"selected-index":F.value,onSelectInterior:J},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),_.showCarousel&&s.value&&Ye.value?(e.openBlock(),e.createBlock(De,{key:0,class:"waypoint-carousel below-player",thumbnails:b.value,active:h.value,onNext:me,onPrevious:le,onGoto:O},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),_.version&&_.showVersion?(e.openBlock(),e.createElementBlock("div",yr," version: "+e.toDisplayString(_.version),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-51f503a1"]]),Cr={id:"player-wrapper"},kr={id:"player-sizer"},wr={class:"player-control",id:"controls-top-left"},_r={class:"player-control",id:"controls-top-center"},br={class:"player-control",id:"controls-top-right"},Vr={class:"player-control",id:"controls-center-left"},Br={class:"player-control",id:"controls-center-center"},Er={class:"player-control",id:"controls-center-right"},Sr={class:"player-control",id:"controls-bottom-left"},xr={class:"player-control",id:"controls-bottom-center"},Dr={class:"player-control",id:"controls-bottom-right"},Nr=U(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(i,{emit:a}){return(t,n)=>(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",kr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",wr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",_r,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",br,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Vr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Br,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Er,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Sr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",xr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Dr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Ir={class:"virtual-tour-wrapper"},Ar={class:"player-and-components-wrapper"},Fr={class:"mss-image"},Tr={key:1,class:"btn-placeholder"},at=U(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(i){const a=i;e.provide(oe,a.i18nConfig?new ne(a.i18nConfig):new ne);const t=e.ref(0),n=e.ref(new ot(document,"player-wrapper")),o=e.computed(()=>a.images.map((s,f)=>({id:`image-${f}`,thumbnailUrl:s}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{n.value.setup()});function c(){n.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function l(){let s=t.value+1;s>=o.value.length&&(s=0),t.value=s}function u(){let s=t.value-1;s<0&&(s=o.value.length-1),t.value=s}function d(s,f=!0){let w=o.value.findIndex(h=>h.id===s);w!=-1&&(t.value=w)}return(s,f)=>{const w=e.resolveComponent("v-img"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ir,[e.createElementVNode("div",Ar,[e.createElementVNode("div",null,[e.createVNode(Nr,{"is-full-screen":n.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",Fr,[e.createVNode(w,{src:r.value.thumbnailUrl},null,8,["src"])])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:u})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:l})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[s.showFullScreen?(e.openBlock(),e.createBlock(tt,{key:0,"is-full-screen":n.value.isActive,class:"btn-fullscreen",onToggleFullscreen:c},null,8,["is-full-screen"])):e.createCommentVNode("",!0),s.showShare?(e.openBlock(),e.createElementBlock("div",Tr,[e.createVNode(et)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[n.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(De,{key:0,class:e.normalizeClass([n.value.isActive?"full-screen":""]),thumbnails:o.value,active:t.value,onNext:l,onPrevious:u,onGoto:d},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),o.value.length>1?(e.openBlock(),e.createBlock(De,{key:0,thumbnails:o.value,active:t.value,onNext:l,onPrevious:u,onGoto:d},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Lr=["src"],Mr=U(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,{timeSampleData:t,cdnFileResolver:n,currentTime:o}=e.toRefs(a),r=e.computed(()=>q(n.value,t.value.filename));return(c,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,Lr)),[[e.vShow,e.unref(o)&&e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-9630cdc0"]]),Or=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(i){const a=i,{dayData:t,cdnFileResolver:n,currentTime:o}=e.toRefs(a);return(r,c)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,l=>(e.openBlock(),e.createBlock(Mr,{key:l.filename,"time-sample-data":l,"cdn-file-resolver":e.unref(n),"current-time":e.unref(o)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),$r=["src"],Rr=e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(i){const a=i,{cameraData:t,cdnFileResolver:n,currentCamera:o,currentTime:r}=e.toRefs(a),c=e.computed(()=>q(n.value,o.value.defaultFilename));return(l,u)=>e.unref(t).sunsimDayOfYear?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).sunsimDayOfYear,d=>(e.openBlock(),e.createBlock(Or,{key:d.dayOfYear,"day-data":d,"cdn-file-resolver":e.unref(n),"current-day":l.currentDay,"current-time":e.unref(r)},null,8,["day-data","cdn-file-resolver","current-day","current-time"]))),128)):e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:c.value,src:c.value,width:"100%"},null,8,$r)),[[e.vShow,e.unref(o)===e.unref(t)]])}}),Ur=["src"],Hr=U(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(i){const a=i,{transitionData:t,cdnFileResolver:n,currentTransition:o}=e.toRefs(a),r=e.computed(()=>q(n.value,t.value.filename));return(c,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,class:"position-absolute top-left w-100 h-100"},null,8,Ur)),[[e.vShow,e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-a7a18237"]]),Yr=e.defineComponent({__name:"VStructureChooserUiCamera",props:{stillCameras:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,{stillCameras:n,currentCamera:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.cameraName);return e.watch(o,()=>{l.value=o.value.cameraName}),e.watch(l,()=>{c("onCameraChange",n.value.find(u=>u.cameraName===l.value))}),(u,d)=>{const s=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(s,{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=f=>l.value=f),items:e.unref(n),disabled:!!e.unref(r),"item-title":"cameraName","item-value":"cameraName",variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-camera"},null,8,["modelValue","items","disabled"])}}});function $e(i){const a=new Date(0);return a.setUTCDate(i),a.toLocaleString("en-no",{month:"short",day:"numeric"})}const zr=e.defineComponent({__name:"VStructureChooserUiDay",props:{currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,{currentCamera:n,currentDay:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.dayOfYear);return e.watch(o,()=>{l.value=o.value.dayOfYear}),e.watch(l,()=>{c("onDayChange",n.value.sunsimDayOfYear.find(u=>u.dayOfYear===l.value))}),(u,d)=>{const s=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(f,{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=w=>l.value=w),items:e.unref(n).sunsimDayOfYear,disabled:!!e.unref(r),"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-calendar"},{item:e.withCtx(({props:w})=>[e.createVNode(s,e.mergeProps(w,{title:e.unref($e)(w.title)}),null,16,["title"])]),selection:e.withCtx(({item:w})=>[e.createTextVNode(e.toDisplayString(e.unref($e)(w.title)),1)]),_:1},8,["modelValue","items","disabled"])}}});function Ee(i){const a=i*60,t=Math.floor(a/60),n=a%60;return`${t.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}const Pr={key:0,class:"py-2"},jr={class:"small"},Wr={class:"small"},Gr=U(e.defineComponent({__name:"VStructureChooserUiTimeSample",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,{currentDay:n,currentTime:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.timeInHours),u=e.ref();e.watch(o,()=>{l.value=o.value.timeInHours}),e.watch(l,()=>{c("onTimeChange",n.value.timeSamples.find(s=>s.timeInHours===l.value))});function d(){u.value?(clearInterval(u.value),u.value=void 0):(n.value.timeSamples.findIndex(f=>f.timeInHours===l.value)===n.value.timeSamples.length-1&&(l.value=n.value.timeSamples[0].timeInHours),u.value=setInterval(()=>{const f=n.value.timeSamples.findIndex(w=>w.timeInHours===l.value);f<n.value.timeSamples.length-1?l.value=n.value.timeSamples[f+1].timeInHours:(clearInterval(u.value),u.value=void 0)},200))}return(s,f)=>{const w=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),m=e.resolveComponent("v-slider"),p=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(p,{variant:"solo"},{default:e.withCtx(()=>[e.unref(n).startTime===e.unref(n).endTime?(e.openBlock(),e.createElementBlock("div",Pr,[e.createVNode(w,{style:{"vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(Ee)(l.value)),1)])):(e.openBlock(),e.createBlock(m,{key:1,class:"pa-1",modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=g=>l.value=g),min:e.unref(n).startTime,max:e.unref(n).endTime,step:e.unref(n).interval,disabled:!!e.unref(r),"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(w,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(Ee)(l.value))+" ",1),e.createVNode(h,{icon:u.value?"mdi-stop":"mdi-play",class:"mx-2",size:"x-small",variant:"flat",onClick:d},null,8,["icon"]),e.createElementVNode("span",jr,e.toDisplayString(e.unref(Ee)(e.unref(n).startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Wr,e.toDisplayString(e.unref(Ee)(e.unref(n).endTime)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-690caa02"]]),rt=e.defineComponent({__name:"VStructureChooserUiNameChip",props:{selectedId:{},renderDisplay:{type:Function}},emits:["onDisplayClick"],setup(i,{emit:a}){const t=i,{selectedId:n,renderDisplay:o}=e.toRefs(t),r=a;return(c,l)=>{const u=e.resolveComponent("v-chip");return e.unref(o)&&e.unref(n)?(e.openBlock(),e.createBlock(u,{key:0,variant:"flat",color:"white",size:"large",onClick:l[0]||(l[0]=d=>r("onDisplayClick",e.unref(n)))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)(e.unref(n))),1)]),_:1})):e.createCommentVNode("",!0)}}}),qr=e.defineComponent({__name:"VStructureChooserUiRotator",props:{structureChooserData:{},currentScene:{}},emits:["onRotateStart","onRotateFinish","onSceneChange"],setup(i,{expose:a,emit:t}){const n=i,{structureChooserData:o,currentScene:r}=e.toRefs(n),c=t;a({rotateShortestRoute:h});const l=e.ref(r.value),u=e.ref(!1);e.watchEffect(()=>{l.value=r.value}),e.watchEffect(()=>{c("onSceneChange",l.value)});const d=e.computed(()=>u.value?!1:o.value.loopable?!0:l.value!==o.value.stillCameraIndices[0]),s=e.computed(()=>u.value?!1:o.value.loopable?!0:l.value!==o.value.stillCameraIndices[o.value.stillCameraIndices.length-1]);function f(){const p=l.value;let g=o.value.stillCameraIndices.findIndex(v=>v===p)+1;g>=o.value.stillCameraIndices.length&&(g=0);const y=o.value.stillCameraIndices[g];o.value.loopable&&p>y,m(p,y)}async function w(){const p=l.value;let g=o.value.stillCameraIndices.findIndex(v=>v===p)-1;g<0&&(g=o.value.stillCameraIndices.length-1);const y=o.value.stillCameraIndices[g];o.value.loopable&&p<y,m(p,y)}function h(p){const g=l.value;if(o.value.loopable)if(p<g){let y=g-p,v=g-(o.value.cameras.length+p);return Math.abs(y)>Math.abs(v)?m(g,p):m(g,o.value.cameras.length+p)}else{let y=g-p,v=o.value.cameras.length+g-p;return Math.abs(y)>Math.abs(v)?m(g,p):m(o.value.cameras.length+g,p)}else return m(g,p)}function m(p,g){return new Promise(y=>{u.value=!0,c("onRotateStart",{from:p,to:g});let v,x=p;v=setInterval(()=>{x<g?(x++,l.value=Math.abs(x%o.value.cameras.length)):x>g?(x--,l.value=Math.abs(x%o.value.cameras.length)):(clearInterval(v),c("onRotateFinish",{from:p,to:g}),u.value=!1,y())},50)})}return(p,g)=>{const y=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(y,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!d.value,onClick:w},null,8,["disabled"]),e.renderSlot(p.$slots,"default"),e.createVNode(y,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!s.value,onClick:f},null,8,["disabled"])],64)}}}),Qr=["innerHTML"],Zr=U(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,{cdnFileResolver:n,colorCallback:o,currentCamera:r,selectedId:c}=e.toRefs(t),l=a,u=e.ref(),d=e.ref(),s=e.reactive({});e.watchEffect(()=>{for(const h in s){const{element:m,state:p}=s[h],{r:g,g:y,b:v,a:x,s:B}=o.value(h,p)||{r:0,g:0,b:0,a:0,s:0};m.style.fill=`rgba(${g}, ${y}, ${v}, ${x/255})`,m.style.stroke=`rgb(${g}, ${y}, ${v})`,m.style.strokeWidth=B.toString()}}),e.watch(c,()=>{for(const h in s)s[h].state==="selected"&&h!==c.value?s[h].state="idle":s[h].state!=="selected"&&h===c.value&&(s[h].state="selected")}),e.watchEffect(async()=>{u.value=await X.loadText(q(n.value,r.value.overlayFilename)),w()}),e.watch(()=>d.value,()=>{d.value&&new ResizeObserver(f).observe(d.value)});function f(){e.nextTick(()=>{var m;const h=(m=d.value)==null?void 0:m.firstChild;if(h){if(!h.hasAttribute("viewBox")){const p=`0 0 ${h.getAttribute("width")} ${h.getAttribute("height")}`;h.setAttribute("viewBox",p)}h.setAttribute("width",d.value.offsetWidth.toString()),h.setAttribute("height",d.value.offsetHeight.toString())}})}function w(){e.nextTick(()=>{var m;const h=(m=d.value)==null?void 0:m.firstChild;if(h){l("updateSvgContainer",h),f();let p,g="data-structure-id";p=h.querySelectorAll(`[${g}]`),p.length===0&&(g="data-apartment-id",p=h.querySelectorAll(`[${g}]`),p.length===0&&(g="data-building-id",p=h.querySelectorAll(`[${g}]`))),p.forEach(y=>{y.style.strokeWidth="0",y.style.stroke="rgba(255,255,255,0)",y.style.fill="rgba(255,255,255,0)",y.querySelectorAll("path").forEach(x=>{x.style.stroke="inherit",x.style.fill="inherit"});const v=y.getAttribute(g);s[v]={element:y,state:c.value===v?"selected":"idle"},y.addEventListener("mouseover",()=>{s[v].state==="idle"&&(s[v].state="hover"),l("onHoverOver",v)}),y.addEventListener("mouseout",()=>{s[v].state==="hover"&&(s[v].state="idle"),l("onHoverOut",v)}),y.addEventListener("click",()=>{l("onClick",v)})})}})}return(h,m)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:d,key:e.unref(r).overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:u.value},null,8,Qr))]),_:1}))}}),[["__scopeId","data-v-354134d9"]]);function Jr(i){if(!i)return!1;const a=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function Xr(i){return!("filename"in i)&&"defaultFilename"in i}function Re(i){return"filename"in i}function Kr(i){return i?"version"in i:!1}function el(i){if(!i)return!1;const a=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of a)if(!(t in i))return!1;return!0}function tl(i){if(!i)return!1;const a=["version","latitude","longitude","buildings","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function _e(i){return i.startsWith("/")?i:`/${i}`}function lt(i){var a,t,n,o;if(Jr(i))return i;if(tl(i)){if(!i.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:r,name:c})=>({id:r,name:c,type:"building"})),stillCameraIndices:i.cameras.map((r,c)=>c),stillCameraData:i.buildings.map(({id:r})=>({bestIndex:0,id:r})),loopable:!1,cameras:i.cameras.map(r=>{var l;if(r.sunsimDayOfYear){if(r.sunsimDayOfYear.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(r.sunsimDayOfYear[0].timeSamples){if(r.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const c={...r};return c.sunsimDayOfYear&&c.sunsimDayOfYear.forEach(u=>{u.timeSamples&&u.timeSamples.forEach(d=>{d.filename=_e(d.filename)})}),{...c,defaultFilename:c.sunsimDayOfYear[0]?_e(((l=c.sunsimDayOfYear[0].timeSamples.find(u=>u.timeInHours===c.sunsimDayOfYear[0].defaultHour))==null?void 0:l.filename)||c.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(el(i)){if(!i.days&&!i.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const r=i.days||[{dayOfYear:180,timeSamples:i.timeSamples}];return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:c,name:l})=>({id:c,name:l,type:"building"})),stillCameraIndices:[0],stillCameraData:i.buildings.map(({id:c})=>({bestIndex:0,id:c})),loopable:!1,cameras:[{cameraName:"",cameraPosition:i.cameraPosition,cameraRotation:it(i.cameraRotation.normalized||i.cameraRotation),cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:_e((t=(a=r[0])==null?void 0:a.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:r.map(c=>({dayOfYear:c.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:c.timeSamples.map(({timeInHours:l,filename:u})=>({timeInHours:l,filename:_e(u)}))}))}]}}else{if(Qt(i))return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:{id:i.building.id,name:i.building.name,type:"building"},structures:i.unitData.map(({unitId:r})=>({id:r,name:r,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.unitData.map(({bestScene:r,unitId:c})=>({bestIndex:r,id:c})),loopable:i.loopable,cameras:i.cameras.map(r=>{var c;if(Le(r)){if(r.sunsimDayOfYear){if(r.sunsimDayOfYear.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(r.sunsimDayOfYear[0].timeSamples){if(r.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const l={...r};return l.sunsimDayOfYear&&l.sunsimDayOfYear.forEach(u=>{u.timeSamples&&u.timeSamples.forEach(d=>{d.filename=_e(d.filename)})}),{...l,defaultFilename:l.sunsimDayOfYear[0]?_e(((c=l.sunsimDayOfYear[0].timeSamples.find(u=>u.timeInHours===l.sunsimDayOfYear[0].defaultHour))==null?void 0:c.filename)||l.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(Kr(i)){if(!i.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!i.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const r=[...Array(64).keys()].map(l=>({filename:`/1280/${(l+1).toString().padStart(4,"0")+".jpg"}`})),c=[4,1,2,3];for(let l=0;l<i.scenes.length;l++){let u=i.scenes[l],d,s;d=r[u].filename,s={cameraName:`Camera ${l+1}`,cameraPosition:void 0,cameraRotation:i.sceneCameras&&(n=i.sceneCameras.find(f=>f.scene===l))!=null&&n.cameraRotation?it((o=i.sceneCameras.find(f=>f.scene===l))==null?void 0:o.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${c[l]}V5Overlay.svg`,defaultFilename:d,sunsimDayOfYear:void 0},Re(r[u])&&(r[u]=s)}return{version:"5.0",latitude:0,longitude:0,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.sceneData.map(({apartmentID:l})=>({id:l,name:l,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.sceneData.map(({apartmentID:l,bestScene:u})=>({bestIndex:c.findIndex(d=>d===u)in i.scenes?i.scenes[c.findIndex(d=>d===u)]:null,id:l})).filter(({bestIndex:l})=>l!==null),loopable:!0,cameras:r}}else throw new Error("cannot convert data, no conversion source type found")}}function it({x:i,y:a,z:t}){return{x:i,y:a,z:t,w:0}}const ol={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},nl={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},al={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},rl=["innerHTML"],ll={style:{"z-index":"7"}},il={key:1,class:"render-version"},st=U(e.defineComponent({__name:"VStructureChooser",props:{structureChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},renderDisplay:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,{structureChooserData:n,cdnFileResolver:o,colorCallback:r,i18nConfig:c,customOverlayContent:l,selectedId:u,defaultCamera:d,defaultDay:s,defaultTime:f,renderDisplay:w,mobileBreakpoint:h}=e.toRefs(t),m=a;e.provide(oe,c.value?new ne(c.value):new ne);const p=e.ref(),g=e.ref(),y=e.ref(),v=e.ref(null),x=e.ref(4),B=e.ref(),N=e.ref(!1),k=e.ref(!1),C=e.ref(),A=e.ref(),E=e.computed(()=>A.value.isHoverEnabled),F=e.ref({x:0,y:0,width:0,height:0}),b=e.ref(),S=e.ref(),I=e.ref(),L=e.ref(!1);e.onMounted(()=>{N.value=!0});const P=e.computed(()=>T.value.length>0&&(T.value.length!==1||T.value[0].cameraName!=="")),V=e.computed(()=>p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0),D=e.computed(()=>!!g.value&&!!g.value.timeSamples);e.watch(n,O=>{try{I.value=lt(O)}catch(j){m("onError",j)}},{immediate:!0}),e.watch(N,O=>{O&&m("onInitialize")}),e.watch(()=>S.value,()=>{S.value&&new ResizeObserver(([j])=>{L.value=j.contentRect.width<h.value}).observe(S.value)});const T=e.computed(()=>I.value?I.value.cameras.filter(Xr):[]),H=e.computed(()=>I.value?I.value.cameras.filter(Re):[]);e.watch([I,o,d],async()=>{o.value&&T.value.length>0&&(d.value?p.value=T.value.find(O=>O.cameraName===d.value)||T.value[0]:p.value=T.value[0],x.value=I.value.cameras.findIndex(O=>O===p.value),x.value=Math.max(0,x.value))},{immediate:!0}),e.watch([I,o,s],()=>{I.value&&o.value&&p.value&&p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0&&(s.value?g.value=p.value.sunsimDayOfYear.find(O=>O.dayOfYear===s.value)||p.value.sunsimDayOfYear[0]:g.value=p.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([I,o,f],()=>{I.value&&o.value&&g.value&&g.value.timeSamples&&g.value.timeSamples.length>0&&(f.value?y.value=g.value.timeSamples.find(O=>O.timeInHours===f.value)||g.value.timeSamples[0]:y.value=g.value.timeSamples.find(O=>O.timeInHours===g.value.defaultHour)||g.value.timeSamples[0])},{immediate:!0});function Z(O){p.value!==O&&C.value.rotateShortestRoute(I.value.cameras.findIndex(j=>j===O))}function Q(O){x.value=O,Re(I.value.cameras[x.value])?v.value=I.value.cameras[x.value]:(e.nextTick(()=>{K(I.value.cameras[x.value])}),v.value=null)}function K(O){const j=g.value;p.value=O,x.value=I.value.cameras.findIndex(J=>J===p.value),e.nextTick(()=>{p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0&&ae(p.value.sunsimDayOfYear.find(J=>J.dayOfYear===j.dayOfYear)||p.value.sunsimDayOfYear[0])})}function ae(O){const j=y.value;g.value=O,e.nextTick(()=>{re(g.value.timeSamples.find(J=>J.timeInHours===j.timeInHours)||g.value.timeSamples.find(J=>J.timeInHours===g.value.defaultHour)||g.value.timeSamples[0])})}function re(O){y.value=O}function te(O){m("onClick",O,()=>{const j=I.value.stillCameraData.find(J=>J.id===O);j&&C.value.rotateShortestRoute(j.bestIndex)})}function ie(O){m("onHoverOver",O),B.value=O}function me(O){m("onHoverOut",O),B.value=void 0}function le(O){const{layerX:j,layerY:J}=O;let $=O.target,M=!1;for(;$;)if($===b.value){M=!0;break}else $=$.parentElement;if(M){const W=O.currentTarget;F.value={x:j,y:J,width:W.clientWidth,height:W.clientHeight}}else F.value=void 0;m("onMouseMove",O,F.value)}return(O,j)=>{const J=e.resolveComponent("v-text-field"),$=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode($,{type:"image",class:"w-100 h-100 position-relative",loading:!N.value||!I.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:S,class:e.normalizeClass({mobile:L.value}),style:{"min-height":"104px"},onMousemove:le},[e.createElementVNode("div",ol,[P.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({"pa-1":!0,_25:V.value&&D.value,_50:!V.value&&D.value||V.value&&!D.value,_100:!V.value&&!D.value,"mobile-double":V.value})},[T.value.length>1?(e.openBlock(),e.createBlock(Yr,{key:0,"still-cameras":T.value,"current-camera":p.value,disabled:k.value,onOnCameraChange:Z},null,8,["still-cameras","current-camera","disabled"])):T.value.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:T.value[0].cameraName,variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-camera"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass({"pa-1":!0,_25:P.value&&D.value,_50:!P.value&&D.value||P.value&&!D.value,_100:!P.value&&!D.value,"mobile-double":P.value})},[p.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(zr,{key:0,"current-camera":p.value,"current-day":g.value,disabled:k.value,onOnDayChange:ae},null,8,["current-camera","current-day","disabled"])):p.value.sunsimDayOfYear.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:e.unref($e)(p.value.sunsimDayOfYear[0].dayOfYear),variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-calendar"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),D.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"pa-1":!0,_50:P.value||V.value,_100:!P.value&&!V.value})},[g.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Gr,{key:0,"current-day":g.value,"current-time":y.value,disabled:k.value,onOnTimeChange:re},null,8,["current-day","current-time","disabled"])):g.value.timeSamples.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:e.unref(Ee)(g.value.timeSamples[0].timeInHours),variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-white-balance-sunny"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",nl,[I.value.cameras.length>1?(e.openBlock(),e.createBlock(qr,{key:0,ref_key:"rotator",ref:C,"structure-chooser-data":I.value,"current-scene":x.value,onOnSceneChange:Q,onOnRotateStart:j[0]||(j[0]=M=>k.value=!0),onOnRotateFinish:j[1]||(j[1]=M=>k.value=!1)},{default:e.withCtx(()=>[e.createVNode(rt,{"selected-id":e.unref(u),"render-display":e.unref(w),onOnDisplayClick:te},null,8,["selected-id","render-display"])]),_:1},8,["structure-chooser-data","current-scene"])):(e.openBlock(),e.createBlock(rt,{key:1,"selected-id":e.unref(u),"render-display":e.unref(w),onOnDisplayClick:te},null,8,["selected-id","render-display"]))]),e.createElementVNode("div",al,[p.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:p.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,(M,W)=>(e.openBlock(),e.createBlock(Rr,{key:`camera${W}`,"camera-data":M,"cdn-file-resolver":e.unref(o),"current-camera":p.value,"current-day":g.value,"current-time":y.value},null,8,["camera-data","cdn-file-resolver","current-camera","current-day","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,(M,W)=>(e.openBlock(),e.createBlock(Hr,{key:`transition${W}`,"transition-data":M,"cdn-file-resolver":e.unref(o),"current-transition":v.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(l)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:e.unref(l)},null,8,rl)):e.createCommentVNode("",!0),p.value.overlayFilename?e.withDirectives((e.openBlock(),e.createBlock(Zr,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(r),"current-camera":p.value,"selected-id":e.unref(u),onOnClick:te,onOnHoverOver:ie,onOnHoverOut:me,onUpdateSvgContainer:j[2]||(j[2]=M=>b.value=M)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,v.value===null]]):e.createCommentVNode("",!0)]),_:1}),O.$slots.popup&&F.value&&B.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":E.value,pos:F.value},{default:e.withCtx(()=>[e.createElementVNode("div",ll,[e.renderSlot(O.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:B.value,hoverable:E.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),O.version&&O.showVersion?(e.openBlock(),e.createElementBlock("div",il," version: "+e.toDisplayString(O.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:A},null,512)],64)}}}),[["__scopeId","data-v-053c10f6"]]),sl={install:function(a){a.component("VApartmentChooser",We),a.component("VBuildingChooser",Je),a.component("VVirtualTour",nt),a.component("VManualSlideShow",at),a.component("VStructureChooser",st)}};z.ResourceLoader=X,z.VApartmentChooser=We,z.VApartmentChooserV5=ko,z.VBuildingChooser=Je,z.VBuildingChooserV5=ln,z.VFloatingCard=fe,z.VHoverProbe=de,z.VManualSlideShow=at,z.VNorthDirection=ge,z.VStructureChooser=st,z.VVirtualTour=nt,z.VZoomBox=he,z.convertApartmentChooserDataLegacyToV5=qe,z.convertBuildingChooserDataLegacyToV5=Xe,z.convertStructureChooserDataLegacyToV5=lt,z.default=sl,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["vue3-player"]={},z.Vue,z.axios,z.PlayerCore,z.THREE))})(this,function(z,e,ce,dt,mt){"use strict";var gl=Object.defineProperty;var vl=(z,e,ce)=>e in z?gl(z,e,{enumerable:!0,configurable:!0,writable:!0,value:ce}):z[e]=ce;var G=(z,e,ce)=>(vl(z,typeof e!="symbol"?e+"":e,ce),ce);function ze(i){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(a,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return a.default=i,Object.freeze(a)}const ut=ze(dt),pe=ze(mt);class X{static async loadText(a){return new X().loadText(a)}static async loadJson(a){return new X().loadJson(a)}static async loadImage(a){return new X().loadImage(a)}static async loadImageData(a){return new X().loadImageData(a)}async loadText(a){return(await ce.get(a)).data}async loadJson(a){return(await ce.get(a)).data}async loadImage(a){return new Promise((t,n)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{t(o)},o.onerror=n,o.src=a})}async loadImageData(a){const t=await this.loadImage(a),n=document.createElement("canvas");try{const o=n.getContext("2d");return n.width=t.width,n.height=t.height,o.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const pt=e.defineComponent({__name:"VHoverProbe",setup(i,{expose:a}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return a({isHoverEnabled:n}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),U=(i,a)=>{const t=i.__vccOpts||i;for(const[n,o]of a)t[n]=o;return t},de=U(pt,[["__scopeId","data-v-eb9b348d"]]);function q(i,a){return typeof i=="string"?`${i}${a}`:i(a)}const ft=U(e.defineComponent({__name:"VApartmentChooserRaster",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(i,{emit:a}){const t=i,n=a,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),c=e.ref(0),l=e.ref(),m=e.ref(),d=e.ref(),s=e.ref(),f=e.ref(-1),w=e.ref(!1),h=e.ref(),u=e.ref(),p=e.ref({}),g=e.ref("auto"),y=e.ref(new X),v=e.ref({}),x=e.ref(),B=e.ref(),N=e.ref(),k=e.ref(),C=e.ref(),A=e.computed(()=>N.value.isHoverEnabled),E=e.computed(()=>q(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),F=e.computed(()=>E.value in p.value?p.value[E.value]:null),b=e.computed(()=>f.value<0?!1:t.sceneData.find(M=>M.index===f.value)||!1),S=e.computed(()=>({width:r.value+"px",height:c.value+"px",cursor:g.value})),I=e.computed(()=>`hover-${w.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(E,()=>{p.value[E.value]||y.value.loadImageData(E.value).then($=>{p.value={...p.value,[E.value]:$}})},{immediate:!0}),e.watch(F,()=>{F.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{le()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{le()}),e.watch(b,()=>{le(),b.value?g.value="pointer":g.value="auto"}),e.watch(I,()=>{w.value?n("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>O()}):n("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>O()})}),e.watch(o,()=>{n("pos",o.value)}),e.onMounted(()=>{B.value=()=>{clearTimeout(x.value),ie(),x.value=setTimeout(()=>{ie()},50)},window.addEventListener("resize",B.value),ie()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",B.value);for(const $ in p.value)URL.revokeObjectURL(p.value[$])});function L(){l.value=k.value.getContext("2d",{willReadFrequently:!0}),m.value=new Image,m.value.onload=()=>{me(),k.value.addEventListener("mousemove",J(P,50))},m.value.src=F.value}function P($){const M=T($.offsetX,$.offsetY);w.value=M>=0,f.value=M,o.value={x:$.offsetX,y:$.offsetY,width:r.value,height:c.value}}function V($){const M=T($.offsetX,$.offsetY);M<0||A&&ae(M)}function D(){if(m.value&&m.value.width){k.value.width=m.value.width,k.value.height=m.value.height,l.value.drawImage(m.value,0,0,m.value.width,m.value.height),s.value=l.value.getImageData(0,0,k.value.width,k.value.height),d.value=l.value.getImageData(0,0,k.value.width,k.value.height);const $=s.value.data;v.value={};for(let M=0;M<$.length;M+=4)v.value[$[M]]=[];for(let M=3;M<$.length;M+=4)$[M]===255&&$[M-3]in v.value&&v.value[$[M-3]].push(M-3)}}function T($,M){h.value=$,u.value=M;const W=k.value.offsetWidth/k.value.width,Se=k.value.offsetHeight/k.value.height,ye=($/W).toFixed(),ue=(M/Se).toFixed(),se=Number(ue)*(k.value.width*4)+Number(ye)*4,Ue=s.value.data[se];return s.value.data[se+3]>0?Ue:-1}function H(){K().forEach(M=>{if(M.index>=0){const W=Z(M.index);if(W){const Se=Q(M.index);let ye="idle";!b.value&&t.selectedUnitId&&Se===t.selectedUnitId?ye="selected":b.value&&f.value===M.index&&(ye="hover");const ue=t.colorCallback(M.unitId,ye);if(ue)for(let se=0;se<W.length;se++)d.value.data[W[se]]=ue.r,d.value.data[W[se]+1]=ue.g,d.value.data[W[se]+2]=ue.b,d.value.data[W[se]+3]=ue.a}}})}function Z($){return s.value?v.value[$]:!1}function Q($){const M=t.sceneData.find(W=>W.index===$);return M&&M.unitId}function K(){if(s.value){const $=Object.keys(v.value).map(W=>parseInt(W));return t.sceneData.filter(W=>$.includes(W.index))}else return[]}function ae($){const M=Q($);re(M)}function re($){n("selectUnit",$),$&&t.canGoToUnitCallback($)&&n("goToUnit",$)}function te($=0){if(!d.value)return;const M=d.value.data;for(let W=3;W<M.length;W+=4)M[W]=$}function ie(){if(!C.value)return!1;r.value=C.value.offsetWidth,c.value=C.value.offsetHeight}function me(){D(),le()}function le(){te(),H(),l.value&&d.value&&l.value.putImageData(d.value,0,0)}function O(){w.value=!1}const j=e.ref(!1);function J($,M){return j.value=!0,function(...W){j.value&&(j.value=!1,$.apply(this,W),setTimeout(()=>j.value=!0,M))}}return($,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:C,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:k,style:e.normalizeStyle(S.value),onClick:V},null,4),[[e.vShow,!$.viewModel.isRotating]]),e.createVNode(de,{ref_key:"hoverProbe",ref:N},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),ht=["viewBox"],gt=["innerHTML","onMouseenter","onMouseleave","onClick"],vt=U(e.defineComponent({__name:"VApartmentChooserSvg",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(i,{emit:a}){const t=i,n=a,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),c=e.ref({}),l=e.ref(null),m=e.ref(new X),d=e.ref(),s=e.ref(),f=e.computed(()=>s.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in c.value&&(l.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(c,()=>{t.viewModel.currentScene in c.value&&(l.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(o,()=>{n("pos",o.value)}),e.watch(r,(B,N)=>{if(B>=0){const k=h(B);n("hoverOver",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}else{const k=h(N);n("hoverOut",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let B=1;B<=4;B++){const N=q(t.cdnFileResolver,`/scenedata${B}.svg`),k={markup:"",viewBox:"",svgObjects:[]};m.value.loadJson(N).then(C=>{k.markup=C;const E=new DOMParser().parseFromString(C,"image/svg+xml").getElementsByTagName("svg")[0];k.viewBox=E.getAttribute("viewBox"),k.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(F=>({index:parseInt(F.getAttribute("data-index")),svg:F.innerHTML})),c.value={...c.value,[B]:k}})}d.value.addEventListener("mousemove",x(w,50))});function w(B){o.value={x:B.offsetX,y:B.offsetY,width:d.value.offsetWidth,height:d.value.offsetHeight}}function h(B){var N;return(N=t.sceneData.find(k=>k.index===(typeof B=="string"?parseInt(B):B)))==null?void 0:N.unitId}function u(B){f.value&&(r.value=B)}function p(B){f.value&&(r.value=-1)}function g(B){const N=h(B);n("selectUnit",N),f.value&&N&&t.canGoToUnitCallback(N)?n("goToUnit",N):r.value=B}function y(B){const N=h(B);let k="idle";r.value<0&&t.selectedUnitId&&N===t.selectedUnitId?k="selected":r.value>=0&&r.value===B&&(k="hover");const C=t.colorCallback(N,k);if(C){const{r:A,g:E,b:F,a:b,s:S}=C;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${A}, ${E}, ${F})`,strokeOpacity:1,fill:`rgb(${A}, ${E}, ${F})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(N)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const v=e.ref(!1);function x(B,N){return v.value=!0,function(...k){v.value&&(v.value=!1,B.apply(this,k),setTimeout(()=>v.value=!0,N))}}return(B,N)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:d},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!l.value||!l.value.svgObjects?0:1})},[l.value&&l.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:l.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.svgObjects,({index:k,svg:C})=>(e.openBlock(),e.createElementBlock("g",{key:k,innerHTML:C,style:e.normalizeStyle(y(k)),onMouseenter:A=>u(k),onMouseleave:A=>p(),onClick:A=>g(k)},null,44,gt))),128))],8,ht)):e.createCommentVNode("",!0)],4),[[e.vShow,!B.viewModel.isRotating]]),e.createVNode(de,{ref_key:"hoverProbe",ref:s},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),oe=Symbol(),yt={key:0,class:"text-success d-none d-md-flex"},Ct={class:"text-success"},kt=U(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(i,{emit:a}){const t=i,n=e.computed(()=>t.selectedUnitId),o=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),c=a,l=e.inject(oe);e.onMounted(()=>{window.addEventListener("keydown",m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",m)});function m(d){d.keyCode===37?t.prevUnitId&&c("prevUnit"):d.keyCode===39&&t.nextUnitId&&c("nextUnit")}return(d,s)=>{const f=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:s[0]||(s[0]=w=>d.viewModel.rotateClockwise())}),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!r.value,onClick:s[1]||(s[1]=w=>c("prevUnit"))},null,8,["disabled"]),e.createVNode(f,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!d.canGoToUnitCallback(n.value),onClick:s[2]||(s[2]=w=>c("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&d.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",yt,e.toDisplayString(e.unref(l).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ct,e.toDisplayString(n.value?t.unitRenderer(n.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!o.value,onClick:s[3]||(s[3]=w=>c("nextUnit"))},null,8,["disabled"]),e.createVNode(f,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:s[4]||(s[4]=w=>d.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ae{constructor(a){G(this,"_numParts");G(this,"_loadedCount");G(this,"_isError");G(this,"_finishedAction");G(this,"_errorAction");G(this,"_loadProgressAction");this._numParts=a,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(a){return this._finishedAction=a,this}onLoadError(a){return this._errorAction=a,this}onLoadProgress(a){return this._loadProgressAction=a,this}partLoaded(){this.isFinished||(this._loadedCount++,this._loadProgressAction(this.percentLoaded),this.isFinished&&this._finishedAction())}errorDetected(){this._isError||(this._isError=!0,this._errorAction())}get isFinished(){return this._loadedCount>=this._numParts}get isError(){return this._isError}get percentLoaded(){return Math.round(this._loadedCount*100/this._numParts)}}class Fe{constructor(a,t,n,o){G(this,"_rotator");G(this,"_direction");G(this,"_frameIndex");G(this,"_sceneCount");this._rotator=a,this._direction=t,this._frameIndex=n,this._sceneCount=o}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const a=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(a)?this._sceneCount-1:this._sceneCount;return new Fe(this._rotator,this._direction,a,t)}}class wt{constructor(a,t){G(this,"_cardinalFrames");G(this,"_totalFrameCount");this._cardinalFrames=a,this._totalFrameCount=t}start(a,t,n){const o=this.startFrameIndexForScene(t);return new Fe(this,a,o,n)}isCardinalFrame(a){return this._cardinalFrames.includes(a)}clampFrameIndex(a){return(this._totalFrameCount+a)%this._totalFrameCount}startFrameIndexForScene(a){return this._cardinalFrames[a]}}const _t={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},bt={key:1,class:"frame-container"},Vt={key:0,class:"frame-image"},Bt=["srcset"],Et=["src"],St={key:2,id:"image-stack",class:"frame-container"},xt=["alt"],Dt=["srcset"],Nt=["src"],Pe=64,Ve=4,It=120,At=U(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(i,{emit:a}){const t=i,n=a,o=h(),r=e.ref(new Ae(o.length).onLoadFinished(()=>n("loaded")).onLoadProgress(y=>n("progress",y)).onLoadError(()=>n("error"))),c=e.ref(new wt(t.cardinalFrames,Pe)),l=e.ref(o),m=e.ref(!1),d=e.computed(()=>l.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,v)=>{const x=g(v,y),B=p(v,y);s(v,x,B)}),e.onMounted(()=>{w()});function s(y,v,x){t.viewModel.isRotating||(t.viewModel.isRotating=!0,f(c.value.start(v,y%Ve,x)))}function f(y){setTimeout(()=>{l.value[y.frameIndex].show=!1;const v=y.nextFrame();l.value[v.frameIndex].show=!0,v.atEnd?w():window.requestAnimationFrame(()=>f(v))},1e3/It)}function w(){const y=c.value.startFrameIndexForScene(t.viewModel.currentScene%Ve);y in l.value&&(l.value[y].show=!0),t.viewModel.isRotating=!1}function h(){const y=[];for(let v=0;v<Pe;v++){const{sourceSet:x,defaultPath:B}=u(v);y.push({index:v,sourceSet:x,defaultPath:B,show:!1})}return y}function u(y){const v=("0000"+(y+1)).slice(-4),x=t.build?`?v=${t.build}`:"",B=[`${q(t.cdnFileResolver,`/480/${v}.jpg${x}`)} 480w`,`${q(t.cdnFileResolver,`/960/${v}.jpg${x}`)} 960w`,`${q(t.cdnFileResolver,`/1280/${v}.jpg${x}`)} 1280w`].join(","),N=q(t.cdnFileResolver,`/480/${v}.jpg${x}`);return{sourceSet:B,defaultPath:N}}function p(y,v){const x=Ve/2,B=Math.abs(y-v);return B>x?Ve-B:B}function g(y,v){if(y===v)return 0;const B=Math.abs(y-v)<Ve/2;return B&&y<v||!B&&y>v?1:-1}return(y,v)=>{const x=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(x,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",St,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,B=>(e.openBlock(),e.createElementBlock("picture",{key:B.index,alt:B.index,class:e.normalizeClass({"frame-image":!0,show:B.show})},[e.createElementVNode("source",{srcset:B.sourceSet,type:"image/jpeg"},null,8,Dt),e.createElementVNode("img",{src:B.defaultPath,alt:"Building image",onLoad:v[2]||(v[2]=N=>r.value.partLoaded()),onError:v[3]||(v[3]=N=>r.value.errorDetected())},null,40,Nt)],10,xt))),128))])):(e.openBlock(),e.createElementBlock("div",bt,[d.value?(e.openBlock(),e.createElementBlock("picture",Vt,[e.createElementVNode("source",{srcset:d.value.sourceSet,type:"image/jpeg"},null,8,Bt),e.createElementVNode("img",{src:d.value.defaultPath,onLoad:v[0]||(v[0]=B=>m.value=!0),onError:v[1]||(v[1]=B=>r.value.errorDetected())},null,40,Et)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),fe=U(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(i,{emit:a}){const t=i,n=a,o=e.computed(()=>{let r,c,l,m;return t.pos.x<=t.pos.width/2?(r="-100%",l="-8px"):(r="0%",l="8px"),t.pos.y<=t.pos.height/2?(c="-100%",m="-8px"):(c="0%",m="8px"),`translate(${r}, ${c}) translate(${l}, ${m})`});return(r,c)=>{const l=e.resolveComponent("v-dialog"),m=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(m,{origin:`top left ${r.pos.x} ${r.pos.y}`},{default:e.withCtx(()=>[r.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${r.pos.x}px`,top:`${r.pos.y}px`,pointerEvents:"none",transform:o.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(l,{key:1,value:!0,width:"auto","onClick:outside":c[0]||(c[0]=d=>n("outside",d))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),he=U(e.defineComponent({__name:"VZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0},position:{default:"absolute"}},emits:["update"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(100),r=e.ref(0),c=e.ref(0),l=e.ref(!1),m=e.ref(!1),d=e.ref(void 0),s=e.ref(!1),f=e.ref(),w=e.computed(()=>`translateX(${r.value}px) translateY(${c.value}px) scale(${h.value})`),h=e.computed(()=>o.value/100),u=e.computed(()=>t.maxScale*100);e.watch([h,r,c],()=>{P()}),e.watch(()=>t.desktop,()=>{t.desktop?p():y()}),e.watch(()=>t.mobile,()=>{t.mobile?g():v()}),e.onMounted(()=>{t.desktop&&p(),t.mobile&&g()}),e.onBeforeUnmount(()=>{t.desktop&&y(),t.mobile&&v()});function p(){f.value.addEventListener("wheel",x,{capture:!0}),f.value.addEventListener("mousedown",B,{capture:!0}),f.value.addEventListener("mousemove",N,{capture:!0}),window.addEventListener("mouseup",k,{capture:!0}),window.addEventListener("click",C,{capture:!0})}function g(){f.value.addEventListener("touchstart",A,{capture:!0}),f.value.addEventListener("touchmove",E,{capture:!0}),window.addEventListener("touchend",F,{capture:!0}),window.addEventListener("touchcancel",F,{capture:!0})}function y(){f.value.removeEventListener("wheel",x,{capture:!0}),f.value.removeEventListener("mousedown",B,{capture:!0}),f.value.removeEventListener("mousemove",N,{capture:!0}),window.removeEventListener("mouseup",k,{capture:!0}),window.removeEventListener("click",C,{capture:!0})}function v(){f.value.removeEventListener("touchstart",A,{capture:!0}),f.value.removeEventListener("touchmove",E,{capture:!0}),window.removeEventListener("touchend",F,{capture:!0}),window.removeEventListener("touchcancel",F,{capture:!0})}function x(V){const{x:D,y:T}=b(V);L(-V.deltaY/10,D,T),V.preventDefault()}function B(V){l.value=!0,s.value=!1,d.value=V}function N(V){if(l.value){const{x:D,y:T}=b(V),{x:H,y:Z}=b(d.value),Q={x:D-H,y:T-Z};S(Q.x),I(Q.y),s.value=!0,d.value=V}}function k(V){l.value&&s.value&&t.consumeMouseUpWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation())}function C(V){l.value&&(s.value&&t.consumeMouseClickWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation()),l.value=!1)}function A(V){l.value=V.touches.length===1,m.value=V.touches.length===2,d.value=V}function E(V){if(l.value){const{x:D,y:T}=b(V.touches[0]),{x:H,y:Z}=b(d.value.touches[0]),Q={x:D-H,y:T-Z};S(Q.x),I(Q.y)}else if(m.value&&V.touches.length===2){const{x:D,y:T}=b(V.touches[0]),{x:H,y:Z}=b(d.value.touches[0]),{x:Q,y:K}=b(V.touches[1]),{x:ae,y:re}=b(d.value.touches[1]),te=Math.hypot(H-ae,Z-re),ie=Math.hypot(D-Q,T-K),me=(Q+D)/2,le=(K+T)/2;L(ie-te,me,le)}d.value=V}function F(){l.value=!1,m.value=!1}function b(V){const{left:D,top:T}=f.value.getBoundingClientRect();return{x:V.clientX-D,y:V.clientY-T}}function S(V){const D=f.value.clientWidth,T=D*h.value;r.value=Math.max(Math.min(0,r.value+V),-(T-D))}function I(V){const D=f.value.clientHeight,T=D*h.value;c.value=Math.max(Math.min(0,c.value+V),-(T-D))}function L(V,D,T){const H=f.value.clientWidth,Z=f.value.clientHeight,Q=H*h.value,K=Z*h.value;o.value=Math.min(Math.max(100,o.value+V),u.value);const ae=H*h.value,re=Z*h.value,te=ae-Q,ie=re-K;r.value-=D/H*te,c.value-=T/Z*ie,S(0),I(0)}function P(){n("update",{scale:h.value,x:r.value,y:c.value,resolve:(V,D)=>{const T=f.value.clientWidth,H=f.value.clientHeight,Z=r.value/-h.value,Q=c.value/-h.value,K=Z+T/h.value,ae=Q+H/h.value,re=V/T*(K-Z)+Z,te=D/H*(ae-Q)+Q;return{x:re,y:te}}})}return(V,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:f,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:w.value}),class:"zoom-box"},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Te=4;function je(i){return i<Te?i+1:1}function Ft(i){return i>1?i-1:Te}class Tt{constructor(a){G(this,"_state");this._state={isRotating:!1,currentScene:a}}get isRotating(){return this._state.isRotating}set isRotating(a){this._state.isRotating=a}unlessRotatingDo(a){this.isRotating||a()}get currentScene(){return this._state.currentScene}set currentScene(a){this._state.currentScene=a}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=je(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Ft(this.currentScene)})}}const Lt={interior:{en:"Interior",nb:"Møblering",sv:"Interiör"},allIllustrationsAreIndicativeDeviationsMayOccur:{en:"All illustrations are indicative. Discrepancies may exist.",nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",sv:"Alla illustrationer är vägledande. Avvikelser kan förekomma."},iUnderstand:{en:"I understand",nb:"Jeg forstår",sv:"Jag förstår"},share:{en:"Share",nb:"Dele",sv:"Dela"},shareToFacebook:{en:"Share to Facebook",nb:"Del på Facebook",sv:"Dela till Facebook"},shareToLinkedin:{en:"Share to Linkedin",nb:"Del til Linkedin",sv:"Dela till Linkedin"},shareToTwitter:{en:"Share to Twitter",nb:"Del på Twitter",sv:"Dela på Twitter"},shareViaEmail:{en:"Share via Email",nb:"Del via e-post",sv:"Dela via e-post"},copyLink:{en:"Copy link",nb:"Kopier lenken",sv:"Kopiera länken"},slideShow:{en:"Images",nb:"Bilder",sv:"Bilder"},floor:{en:"Floor",nb:"Gulv",sv:"Golv"},seeApartment:{en:"See apartment",nb:"Se leilighet",sv:"Se lägenhet"},clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt",sv:""},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt",sv:"Klicka och dra för att se dig omkring"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome",sv:"Använd mushjulet för att zooma"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt",sv:"Du kan också använda piltangenterna för att flytta runt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt",sv:"Tryck och dra för att se dig omkring"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt",sv:"Tryck på cirklarna för att flytta runt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome",sv:"Använd två fingrar för att zooma"},dontShowAgain:{en:"Don't show again",nb:"Ikke vis igjen",sv:"Visa inte igen"},lower:{en:"Lower",nb:"Senke",sv:"Lägre"},upper:{en:"Upper",nb:"Øverste",sv:"Övre"},disclaimer:{en:"Disclaimer",nb:"Forbehold",sv:"Ansvarsfriskrivning"},disclaimerText:{en:"Please note that the visual presentation of this apartment may differ from the final delivery. Visuado offers a unique opportunity to experience a property that is still under construction, but at this stage of the project, changes may occur. The sales drawing for each individual unit is binding for the purchase.",nb:"Vær oppmerksom på at den visuelle presentasjonen av denne leiligheten kan avvike fra den endelige leveransen. Visuado gir en unik mulighet til å oppleve en bolig som fortsatt er under bygging, men i dette stadiet av prosjektet kan det forekomme endringer. Det er salgstegningen for hver enkelt enhet som er bindende for kjøpet.",sv:"Observera att den visuella presentationen av denna lägenhet kan skilja sig från den slutliga leveransen. Visuado erbjuder en unik möjlighet att uppleva en fastighet som fortfarande är under uppbyggnad, men i detta skede av projektet kan förändringar inträffa. Försäljningsritningen för varje enskild enhet är bindande för köpet."},disclaimerTextShort:{en:"Please note that the visual presentation of this apartment may differ from the final delivery.",nb:"Vær oppmerksom på at den visuelle presentasjonen av denne leiligheten kan avvike fra den endelige leveransen.",sv:"Observera att den visuella presentationen av denna lägenhet kan skilja sig från den slutliga leveransen."},learnMore:{en:"Learn more",nb:"Les Mer",sv:"Läs mer"},back:{en:"Back",nb:"Tilbake",sv:"Tillbaka"},virtualTour:{en:"Virtual Tour",nb:"Virtuell Visning",sv:"Virtuell Rundtur"}};class ne{constructor({labels:a,language:t}={labels:null,language:null}){G(this,"_labels");G(this,"_language");this._labels={...Lt,...a||{}},this._language=t||"nb"}getLabel(a){return a in this._labels?this.get(this._labels[a]):a}get(a){if(typeof a=="string")return a;if(this._language in a&&a[this._language])return a[this._language];for(const t in a)if(a[t])return a[t];return""}}const Mt={key:0},Ot={class:"interactive-viewer"},$t={class:"fill-parent"},Rt={key:0},Ut={key:1,class:"navigation"},Ht={key:2},Yt=4,We=U(e.defineComponent({__name:"VApartmentChooser",props:{i18nConfig:{},showCards:{type:Boolean,default:!0},build:{default:""},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{type:Function,default:i=>i},apartmentChooserData:{},selectedUnitId:{},nextUnitId:{},prevUnitId:{},drawObserver:{default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},emits:["selectUnit","goToUnit","navUnit","hoverOverUnit","hoverOutUnit","initialized"],setup(i,{emit:a}){const t=[0,16,32,48],n=i,o=a;e.provide(oe,n.i18nConfig?new ne(n.i18nConfig):new ne);const r=e.reactive({isReady:!1,isError:!1}),c=e.ref(),l=e.ref(),m=e.ref(),d=e.ref(),s=e.ref({x:0,y:0,width:0,height:0}),f=e.ref(),w=e.ref(),h=e.ref(),u=e.computed(()=>h.value.isHoverEnabled),p=e.computed(()=>n.useSvg?vt:ft),g=e.computed(()=>n.selectedUnitId),y=e.computed(()=>n.nextUnitId),v=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(g.value&&d.value){const k=c.value[g.value];k&&(d.value.currentScene=k)}}),e.onMounted(async()=>{const k=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:Yt;m.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,l.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],c.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>{const F=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:F}}).reduce((E,F)=>({...E,[F.unitId]:F.scene}),{}):{};const C=(E,F="unitId")=>{let b=k,S=[];for(let I=0;I<Te;I++)S.push(b),b=je(b);return E.sort((I,L)=>{const P=S.findIndex(D=>D===c.value[I[F]]),V=S.findIndex(D=>D===c.value[L[F]]);return P<V?-1:P>V?1:0}),E},A=E=>{d.value=new Tt(E)};o("initialized",{scene:k,scenes:m.value,sceneData:l.value,scenesByApartment:c.value,unitsSceneSort:C,initialize:A})});function x(k){s.value=k}function B(k){w.value=k.hoverUnit,f.value=k.closeHandler,o("hoverOverUnit",k.hoverUnit)}function N(k){w.value=null,f.value=k.closeHandler,o("hoverOutUnit",k.hoverUnit)}return(k,C)=>{const A=e.resolveComponent("v-progress-linear");return d.value?(e.openBlock(),e.createElementBlock("div",Mt,[e.createElementVNode("div",Ot,[e.createElementVNode("div",$t,[e.createVNode(he,{desktop:r.isReady&&k.interactiveDesktop,mobile:r.isReady&&k.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(At,{"cdn-file-resolver":k.cdnFileResolver,"view-model":d.value,"cardinal-frames":m.value,build:k.build,onProgress:C[0]||(C[0]=E=>r.progress=E),onLoaded:C[1]||(C[1]=E=>r.isReady=!0),onError:C[2]||(C[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Rt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),{"cdn-file-resolver":n.cdnFileResolver,"view-model":d.value,"selected-unit-id":g.value,"scene-data":l.value,"color-callback":n.colorCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:C[3]||(C[3]=E=>o("selectUnit",E)),onGoToUnit:C[4]||(C[4]=E=>o("goToUnit",E)),onHoverOver:B,onHoverOut:N,onPos:x},{default:e.withCtx(E=>[e.renderSlot(k.$slots,"default",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),w.value&&k.showCards?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":u.value,pos:s.value,onOutside:f.value},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default",{unit:w.value,canGoToUnit:k.canGoToUnitCallback(w.value),goToUnit:()=>k.canGoToUnitCallback(w.value)&&o("goToUnit",w.value),pos:s.value,isHoverable:u.value,close:f.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(kt,{"can-go-to-unit-callback":n.canGoToUnitCallback,"unit-renderer":n.unitRenderer,"selected-unit-id":g.value,"prev-unit-id":v.value,"next-unit-id":y.value,"view-model":d.value,onGoToUnit:C[5]||(C[5]=E=>o("goToUnit",E)),onPrevUnit:C[6]||(C[6]=E=>o("navUnit",v.value)),onNextUnit:C[7]||(C[7]=E=>o("navUnit",y.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):r.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(A,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":C[8]||(C[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(de,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),zt=["src"],Pt=U(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,t=e.computed(()=>q(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,zt)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),jt=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Pt,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Wt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(jt,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Gt=["src"],qt=U(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=e.computed(()=>q(t.cdnFileResolver,t.transitionData.filename));return(o,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:n.value,src:n.value,class:"position-absolute top-left w-100 h-100"},null,8,Gt)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function Qt(i){if(!i)return!1;const a=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function Le(i){return!("filename"in i)}function Me(i){return"filename"in i}const Zt=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{o.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Le):[]);return e.watch(o,()=>{n("onCameraChange",r.value.find(c=>c.overlayFilename===o.value))}),(c,l)=>{const m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=d=>o.value=d),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Jt=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const l=new Date(0);return l.setUTCDate(c),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,l)=>{const m=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value=s),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:s})=>[e.createVNode(m,e.mergeProps(s,{title:r(s.title)}),null,16,["title"])]),selection:e.withCtx(({item:s})=>[e.createTextVNode(e.toDisplayString(r(s.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Xt={key:0,class:"py-2"},Kt={class:"small"},eo={class:"small"},to=U(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function c(m){const d=m*60,s=Math.floor(d/60),f=d%60;return`${s.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}function l(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Xt,[e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)])):(e.openBlock(),e.createBlock(w,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(f,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Kt,e.toDisplayString(c(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",eo,e.toDisplayString(c(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),oo=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(i,{expose:a,emit:t}){const n=i,o=t;a({rotateShortestRoute:w});const r=e.ref(!1),c=e.ref(n.currentScene),l=e.ref(n.selectedId);e.watchEffect(()=>{c.value=n.currentScene}),e.watchEffect(()=>{l.value=n.selectedId}),e.watchEffect(()=>{o("onSceneChange",c.value)});const m=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:c.value!==n.apartmentChooserData.scenes[0]),d=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:c.value!==n.apartmentChooserData.scenes[n.apartmentChooserData.scenes.length-1]);function s(){const u=c.value;let p=n.apartmentChooserData.scenes.findIndex(y=>y===u)+1;p>=n.apartmentChooserData.scenes.length&&(p=0);const g=n.apartmentChooserData.scenes[p];n.apartmentChooserData.loopable&&u>g,h(u,g)}async function f(){const u=c.value;let p=n.apartmentChooserData.scenes.findIndex(y=>y===u)-1;p<0&&(p=n.apartmentChooserData.scenes.length-1);const g=n.apartmentChooserData.scenes[p];n.apartmentChooserData.loopable&&u<g,h(u,g)}function w(u){const p=c.value;if(n.apartmentChooserData.loopable)if(u<p){let g=p-u,y=p-(n.apartmentChooserData.cameras.length+u);return Math.abs(g)>Math.abs(y)?h(p,u):h(p,n.apartmentChooserData.cameras.length+u)}else{let g=p-u,y=n.apartmentChooserData.cameras.length+p-u;return Math.abs(g)>Math.abs(y)?h(p,u):h(n.apartmentChooserData.cameras.length+p,u)}else return h(p,u)}function h(u,p){return new Promise(g=>{r.value=!0,o("onRotateStart",{from:u,to:p});let y,v=u;y=setInterval(()=>{v<p?(v++,c.value=Math.abs(v%n.apartmentChooserData.cameras.length)):v>p?(v--,c.value=Math.abs(v%n.apartmentChooserData.cameras.length)):(clearInterval(y),o("onRotateFinish",{from:u,to:p}),r.value=!1,g())},50)})}return(u,p)=>{const g=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(g,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!m.value,onClick:f},null,8,["disabled"]),u.renderDisplay&&l.value?(e.openBlock(),e.createBlock(y,{key:0,variant:"flat",color:"white",size:"large",onClick:p[0]||(p[0]=v=>o("onDisplayClick",l.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.renderDisplay(l.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(g,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!d.value,onClick:s},null,8,["disabled"])],64)}}}),no=["innerHTML"],ao=U(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),l=e.reactive({});e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watchEffect(()=>{for(const s in l){const{element:f,state:w}=l[s],{r:h,g:u,b:p,a:g,s:y}=t.colorCallback(s,w)||{r:0,g:0,b:0,a:0,s:0};f.style.fill=`rgba(${h}, ${u}, ${p}, ${g/255})`,f.style.stroke=`rgb(${h}, ${u}, ${p})`,f.style.strokeWidth=y.toString()}}),e.watch(c,()=>{for(const s in l)l[s].state==="selected"&&s!==c.value?l[s].state="idle":l[s].state!=="selected"&&s===c.value&&(l[s].state="selected")}),e.watchEffect(async()=>{o.value=await X.loadText(q(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;if(s){if(!s.hasAttribute("viewBox")){const w=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",w)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())}})}function d(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;s&&(n("updateSvgContainer",s),m(),s.querySelectorAll("[data-apartment-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const u=h.getAttribute("data-apartment-id");l[u]={element:h,state:c.value===u?"selected":"idle"},h.addEventListener("mouseover",()=>{l[u].state==="idle"&&(l[u].state="hover"),n("onHoverOver",u)}),h.addEventListener("mouseout",()=>{l[u].state==="hover"&&(l[u].state="idle"),n("onHoverOut",u)}),h.addEventListener("click",()=>{n("onClick",u)})}))})}return(s,f)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:s.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:o.value},null,8,no))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),ro="data:image/png;base64,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",ge=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(i){const a=i,t=e.computed(()=>({transform:`rotate(${90-(a.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(n,o)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(ro),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ce{constructor(a){G(this,"_buildingIds");this._buildingIds=a}static empty(){return new Ce([])}getBuildingId(a,t,n){const o=this._getBuildingIndex(a,t,n);if(o!==void 0)return this._buildingIds[o]}_getBuildingIndex(a,t,n){const[o,r,c,l]=a.getPixel(t,n);if(l===255&&o===r&&r===c)return o}}const lo=180;class Ge{constructor(a){G(this,"_cdnFileResolver");G(this,"_resourceLoader");this._cdnFileResolver=a,this._resourceLoader=new X}constructFileUrl(a){return this._cdnFileResolver?q(this._cdnFileResolver,`/${a}`):null}loadBuildingMapImage(a){const t=this.constructFileUrl(a.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(a){return a.cameraRotation&&a.cameraRotation.y+270}getBuildingData(a){const t=a?a.buildings:[],n=t.map(r=>r.id),o=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:n,buildingOverlays:o}}getBackgroundImageData(a){return"days"in a?this.processMultipleDays(a.days):[this.processTimeSamples(lo,a.timeSamples)]}processMultipleDays(a){return a.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(a,t){return{urls:t.map(o=>this.constructFileUrl(o.filename)),referenceDate:this.makeReferenceDate(a)}}makeReferenceDate(a){const t=new Date(0);return t.setUTCDate(a),t}async loadBuildingChooser(a){try{if(a){const t=await this.loadBuildingMapImage(a);if(t){const n=this.getViewLongitude(a),{buildingIds:o,buildingOverlays:r}=this.getBuildingData(a),c=this.getBackgroundImageData(a);return{mapImage:t,viewLongitude:n,buildingIds:o,buildingOverlays:r,backgrounds:c}}}return null}catch{return null}}}class ke{constructor(a){G(this,"_mapImage");G(this,"_context");this._mapImage=a,this._context=null}static empty(){return new ke(null)}update(a){this._mapImage&&(this._context=a.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,a.width,a.height))}getPixel(a,t){try{return this._context?this._context.getImageData(a,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const io=new Date(0);class xe{constructor(a){G(this,"_imagesByDay");G(this,"_state");this._imagesByDay=a,this._state={selectedIndex:0}}static empty(){return new xe([{referenceDate:io,urls:[]}])}selectIndex(a){a<this._imagesByDay.length&&(this._state.selectedIndex=a)}get dates(){return this._imagesByDay.map(a=>a.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function Be(i){return("0"+i).slice(-2)}function so(){const i=new Date;return[i.getFullYear().toString(),Be(i.getMonth()+1),Be(i.getDate())," ",Be(i.getHours()),Be(i.getMinutes()),Be(i.getSeconds())].join("")}function co(){return"Visuado-Snapshot-"+so()}class mo{constructor(a,t){G(this,"data");this.data=a}download(a=null){a=a||co();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=a,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}function qe(i){const a=i.sceneData.map(l=>({unitId:l.apartmentID,bestScene:l.bestScene})),t="1280",n=[4,1,2,3],o=[];for(let l=1;l<=64;l++){const m=l.toString().padStart(4,"0")+".jpg";o.push(m)}const r=o.map(l=>({filename:`/${t}/${l}`}));for(let l=0;l<i.scenes.length;l++){let m=i.scenes[l],d,s;d=r[m],s={cameraName:`Kamera ${l+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${n[l]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:d.filename}]}]},Me(r[m])&&(r[m]=s)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:i.scenes,loopable:!0,renderVersion:i.renderVersion?i.renderVersion:"Auto Converted",unitData:a,cameras:r}}const uo={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},po={class:"pa-1"},fo={class:"pa-1"},ho={class:"pa-1"},go={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},vo={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},yo=["innerHTML"],Co={style:{"z-index":"7"}},ko=U(e.defineComponent({__name:"VApartmentChooserV5",props:{apartmentChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},renderDisplay:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(),l=e.ref(null),m=e.ref(4),d=e.ref(),s=e.ref(!1),f=e.ref(!1),w=e.ref(),h=e.ref(),u=e.computed(()=>h.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),g=e.ref(),y=e.ref(),v=e.ref(t.apartmentChooserData),x=e.ref(!1);e.onMounted(()=>{s.value=!0}),e.watch(s,V=>{V&&n("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([D])=>{x.value=D.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const B=e.computed(()=>v.value?v.value.cameras.filter(Le):[]),N=e.computed(()=>v.value?v.value.cameras.filter(Me):[]),k=async()=>{try{let V,D;return D=await X.loadJson(q(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(D.version)===5?D:(V=qe(D),V)}catch(V){s.value=!1,n("onError",V)}};e.watch([v,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(v.value||(v.value=await k()),t.defaultCamera?o.value=B.value.find(V=>V.cameraName===t.defaultCamera)||B.value[0]:o.value=B.value[0],m.value=v.value.cameras.findIndex(V=>V===o.value),m.value=Math.max(0,m.value))},{immediate:!0}),e.watch([v,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{v.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(V=>V.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([v,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{v.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(V=>V.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(V=>V.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function C(V){o.value!==V&&w.value.rotateShortestRoute(v.value.cameras.findIndex(D=>D===V))}function A(V){m.value=V,Me(v.value.cameras[m.value])?l.value=v.value.cameras[m.value]:(e.nextTick(()=>{E(v.value.cameras[m.value])}),l.value=null)}function E(V){const D=r.value;o.value=V,m.value=v.value.cameras.findIndex(T=>T===o.value),e.nextTick(()=>{F(o.value.sunsimDayOfYear.find(T=>T.dayOfYear===D.dayOfYear)||o.value.sunsimDayOfYear[0])})}function F(V){const D=c.value;r.value=V,e.nextTick(()=>{b(r.value.timeSamples.find(T=>T.timeInHours===D.timeInHours)||r.value.timeSamples.find(T=>T.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function b(V){c.value=V}function S(V){n("onClick",V,()=>{const D=v.value.unitData.find(T=>T.unitId===V);D&&w.value.rotateShortestRoute(D.bestScene)})}function I(V){n("onHoverOver",V),d.value=V}function L(V){n("onHoverOut",V),d.value=void 0}function P(V){const{layerX:D,layerY:T}=V;let H=V.target,Z=!1;for(;H;)if(H===g.value){Z=!0;break}else H=H.parentElement;if(Z){const Q=V.currentTarget;p.value={x:D,y:T,width:Q.clientWidth,height:Q.clientHeight}}else p.value=void 0;n("onMouseMove",V,p.value)}return(V,D)=>{const T=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(T,{type:"image",class:"w-100 h-100 position-relative",loading:!s.value||!v.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:y,class:e.normalizeClass({mobile:x.value}),onMousemove:P},[e.createElementVNode("div",uo,[e.createElementVNode("div",po,[v.value.cameras.length>1?(e.openBlock(),e.createBlock(Zt,{key:0,"apartment-chooser-data":v.value,"current-camera":o.value,disabled:f.value,onOnCameraChange:C},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fo,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Jt,{key:0,"camera-data":o.value,"current-day":r.value,disabled:f.value,onOnDayChange:F},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ho,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(to,{key:0,"day-data":r.value,"current-time":c.value,disabled:f.value,onOnTimeChange:b},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",go,[v.value.cameras.length>1?(e.openBlock(),e.createBlock(oo,{key:0,ref_key:"rotator",ref:w,"apartment-chooser-data":v.value,"current-scene":m.value,"selected-id":V.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:S,onOnSceneChange:A,onOnRotateStart:D[0]||(D[0]=H=>f.value=!0),onOnRotateFinish:D[1]||(D[1]=H=>f.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",vo,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,H=>(e.openBlock(),e.createBlock(Wt,{key:H.overlayFilename,"camera-data":H,"cdn-file-resolver":t.cdnFileResolver,"current-time":c.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,H=>(e.openBlock(),e.createBlock(qt,{"transition-data":H,"cdn-file-resolver":t.cdnFileResolver,"current-transition":l.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,yo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(ao,{"cdn-file-resolver":V.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:S,onOnHoverOver:I,onOnHoverOut:L,onUpdateSvgContainer:D[2]||(D[2]=H=>g.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,l.value===null]])]),_:1}),V.$slots.popup&&p.value&&d.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":u.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",Co,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:d.value,hoverable:u.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:h},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),wo={class:"sunsim-bar-wrapper"},_o={class:"sunsim-date d-flex align-center pl-5 pr-5"},bo={key:1,class:"text-center text-body-1"},Vo={class:"sunsim-wrapper d-flex align-center px-3"},Bo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Qe=U(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.modelValue),r=e.ref();function c(s){return s.toLocaleString("en-no",{month:"short",day:"numeric"})}const l=e.computed(()=>{const s=Math.floor(o.value/2).toString().padStart(2,"0"),f=o.value%2===0?"00":"30";return`${s}:${f}`}),m=e.computed(()=>t.dateSelector.dates.map(c)),d=e.computed({get(){return c(t.dateSelector.selectedDate)},set(s){t.dateSelector.selectIndex(m.value.indexOf(s))}});return e.watch(o,s=>{n("update:modelValue",s)}),e.watch(r,s=>{t.dateSelector.selectIndex(m.value.indexOf(s))}),e.watch(()=>t.modelValue,s=>{o.value=Math.floor(s)}),e.watchEffect(()=>{r.value=c(t.dateSelector.selectedDate)}),(s,f)=>{const w=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),u=e.resolveComponent("v-progress-linear"),p=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",wo,[e.createElementVNode("div",_o,[e.createVNode(w,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),s.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":f[0]||(f[0]=g=>r.value=g),items:m.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",bo,e.toDisplayString(d.value),1))]),e.createElementVNode("div",Vo,[e.createElementVNode("span",Bo,e.toDisplayString(l.value),1),e.createVNode(w,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),s.isLoading?(e.openBlock(),e.createBlock(u,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(p,{key:1,modelValue:o.value,"onUpdate:modelValue":f[1]||(f[1]=g=>o.value=g),min:0,max:47,step:1,"thumb-label":!1,"hide-details":!0,"thumb-color":"white","thumb-size":"25","track-size":"7","track-fill-color":"transparent",class:"sunsim-slider mr-1"},null,8,["modelValue"]))])])}}}),[["__scopeId","data-v-d5a3d3f8"]]),Eo={key:0},So=["src"],Ze=U(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(i,{emit:a}){const t=i,n=a,o=e.ref("init"),r=e.ref(new Ae(0)),c=e.ref();e.watch(()=>t.imageUrls,d=>{n("reset"),m(d)}),e.onMounted(()=>{m(t.imageUrls),new ResizeObserver(d=>{window.requestAnimationFrame(()=>{const s=d[0].contentRect.width,f=d[0].contentRect.height;n("resize",{width:s,height:f})})}).observe(c.value)});function l(){o.value="preloaded",n("preloaded")}function m(d){o.value="init",c.value.src=d[0],r.value=new Ae(d.length).onLoadFinished(()=>{o.value="loaded",n("ready")})}return(d,s)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:c,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:l},null,544),o.value==="preloaded"||o.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Eo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.imageUrls,(f,w)=>(e.openBlock(),e.createElementBlock("img",{key:w,class:e.normalizeClass({"image-instance":!0,active:w===d.activeIndex}),src:f,onLoad:s[0]||(s[0]=h=>r.value.partLoaded())},null,42,So))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),xo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Do={class:"image-instances"},No={key:0},Io={class:"svg-container"},Ao=["viewBox"],Fo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],To=["innerHTML"],Lo=U(e.defineComponent({__name:"VBuildingChooserSvg",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a;e.provide(oe,t.i18nConfig?new ne(t.i18nConfig):new ne);const o=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),c=e.ref({x:0,y:0,width:0,height:0}),l=e.ref(),m=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),d=e.ref(!1),s=e.ref(new X),f=e.ref(),w=e.ref("0 0 0 0"),h=e.ref(),u=e.ref(),p=e.ref(Ce.empty()),g=e.ref(ke.empty()),y=e.ref(),v=e.computed(()=>y.value.isHoverEnabled);e.watch(l,(b,S)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",S)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,S,I]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(I);m.value=parseInt(S)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const S=await new Ge(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(S){g.value=new ke(S.mapImage),p.value=new Ce(S.buildingIds),h.value=new xe(S.backgrounds),u.value={buildingOverlays:S.buildingOverlays,viewLongitude:S.viewLongitude};const I=[];for(let{id:L,url:P}of S.buildingOverlays)s.value.loadJson(P.replace(".png",".svg")).then(V=>{const T=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];w.value=T.getAttribute("viewBox"),I.push({id:L,svg:T.innerHTML})});f.value=I}else d.value=!0});function x({width:b,height:S}){r.value.width=b,r.value.height=S}function B(){o.value={preloaded:!1,ready:!1}}function N(b){const S=t.colorCallback(b,b===l.value?"hover":"idle"),I=[];return b===l.value?I.push("hover"):I.push("idle"),S&&t.canGoToBuildingCallback(b)?I.push("clickable"):I.push("restricted"),I.join(" ")}function k(b){const S=t.colorCallback(b,b===l.value?"hover":"idle");if(S){const{r:I,g:L,b:P,a:V,s:D}=S;return{strokeWidth:D!==void 0?D:2,stroke:`rgb(${I}, ${L}, ${P})`,strokeOpacity:1,fill:`rgb(${I}, ${L}, ${P})`,fillOpacity:V/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function C(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height},l.value=S,n("hoverOverBuilding",S))}function A(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height},l.value=void 0,n("hoverOutBuilding",S))}function E(b,S){const{layerX:I,layerY:L}=b;v.value&&(c.value={x:I,y:L,width:r.value.width,height:r.value.height})}function F(b){l.value=b,v.value&&l.value&&t.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value)}return(b,S)=>{const I=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",xo,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(he,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Do,[e.createVNode(Ze,{"image-urls":h.value.imageUrls,"active-index":m.value,onResize:x,onPreloaded:S[0]||(S[0]=L=>o.value.preloaded=!0),onReady:S[1]||(S[1]=L=>o.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),f.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",No,[e.createElementVNode("div",Io,[(e.openBlock(),e.createElementBlock("svg",{viewBox:w.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,({id:L,svg:P},V)=>(e.openBlock(),e.createElementBlock("g",{key:V,innerHTML:P,"data-building-id":L,class:e.normalizeClass(N(L)),style:e.normalizeStyle(k(L)),onMouseover:D=>C(D,L),onMouseout:D=>A(D,L),onMousemove:D=>E(D),onClick:D=>F(L)},null,46,Fo))),128))],8,Ao))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,To),[[e.vShow,o.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(ge,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Qe,{modelValue:m.value,"onUpdate:modelValue":S[2]||(S[2]=L=>m.value=L),"date-selector":h.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),b.showCards&&l.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":v.value,pos:c.value,onOutside:S[3]||(S[3]=()=>l.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:l.value,canGoToBuilding:b.canGoToBuildingCallback(l.value),goToBuilding:()=>b.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value),pos:c.value,isHoverable:v.value,close:()=>l.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(de,{ref_key:"hoverProbe",ref:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),Mo=U(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(i,{expose:a}){const t=i;a({setupDraw:s});const n=e.ref(!1),o=e.ref(),r=e.ref(new X),c=e.ref(),l=e.ref(),m=e.ref([]),d=e.ref();e.watch(()=>t.color,(h,u)=>{(h.r!==u.r||h.g!==u.g||h.b!==u.b||h.a!==u.a)&&f()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),s()});function s(){if(!o.value||!d.value)return;const{width:h,height:u}=t.dimensions;if(!(h===0||u===0)){c.value=d.value.getContext("2d",{willReadFrequently:!0}),c.value.drawImage(o.value,0,0,h,u),l.value=c.value.getImageData(0,0,h,u);for(let p=3;p<l.value.data.length;p+=4)l.value.data[p]!==0&&m.value.push(p);f(),n.value=!0}}function f(){c.value&&l.value&&(w(),c.value.putImageData(l.value,0,0))}function w(){if(t.color)for(let h=0;h<m.value.length;h++)l.value.data[m.value[h]-3]=t.color.r,l.value.data[m.value[h]-2]=t.color.g,l.value.data[m.value[h]-1]=t.color.b,l.value.data[m.value[h]]=t.color.a}return(h,u)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:d,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),Oo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},$o={class:"image-instances"},Ro=["innerHTML"],Uo=U(e.defineComponent({__name:"VBuildingChooserRaster",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a;e.provide(oe,t.i18nConfig?new ne(t.i18nConfig):new ne);const o=e.ref(),r=e.ref({preloaded:!1,ready:!1}),c=e.ref({width:0,height:0}),l=e.ref({x:0,y:0,width:0,height:0}),m=e.ref(),d=e.ref(Ce.empty()),s=e.ref(ke.empty()),f=e.ref(),w=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((b,S)=>({x:b,y:S})),u=e.ref(!1),p=e.ref(),g=e.ref(),y=e.ref(),v=e.computed(()=>{var b;return(b=p.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,S,I]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(I);w.value=parseInt(S)*2+(L<15?0:L>45?2:1)}}),e.watch(f,(b,S)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",S)}),e.onMounted(async()=>{const S=await new Ge(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);S?(s.value=new ke(S.mapImage),d.value=new Ce(S.buildingIds),o.value=new xe(S.backgrounds),m.value={buildingOverlays:S.buildingOverlays,viewLongitude:S.viewLongitude},k()):u.value=!0});function x({width:b,height:S}){c.value.width=b,c.value.height=S,e.nextTick(k)}function B(){r.value={preloaded:!1,ready:!1}}function N(b){const{layerX:S,layerY:I}=b,{x:L,y:P}=h.value(S,I);return d.value.getBuildingId(s.value,L,P)}function k(){if(g.value&&(s.value.update(g.value),y.value))for(const b of y.value)b.setupDraw()}function C(b){const{layerX:S,layerY:I}=b;v.value&&(f.value=N(b),f.value!==void 0&&(l.value={x:S,y:I,width:c.value.width,height:c.value.height}))}function A(b){f.value=N(b),v.value&&f.value&&n("goToBuilding",f.value)}function E(b){return t.colorCallback(b,b===f.value?"hover":"idle")}function F({resolve:b}){h.value=b}return(b,S)=>{const I=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",Oo,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${f.value?"pointer":"auto"};height: ${c.value.height}px; position: relative`),class:"image-container"},[e.createVNode(he,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:F},{default:e.withCtx(()=>[e.createElementVNode("div",$o,[e.createVNode(Ze,{"image-urls":o.value.imageUrls,"active-index":w.value,onResize:x,onPreloaded:S[0]||(S[0]=L=>r.value.preloaded=!0),onReady:S[1]||(S[1]=L=>r.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(Mo,{ref_for:!0,ref_key:"overlays",ref:y,key:L.id,"image-url":L.url,dimensions:c.value,color:E(L.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(c.value,{ref_key:"canvas",ref:g,class:{hover:!!f.value},onClick:A,onMousemove:C}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,Ro),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(ge,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Qe,{modelValue:w.value,"onUpdate:modelValue":S[2]||(S[2]=L=>w.value=L),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),b.showCards&&f.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":v.value,pos:l.value,onOutside:S[3]||(S[3]=()=>f.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:f.value,canGoToBuilding:b.canGoToBuildingCallback(f.value),goToBuilding:()=>b.canGoToBuildingCallback(f.value)&&n("goToBuilding",f.value),pos:l.value,isHoverable:v.value,close:()=>f.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(de,{ref_key:"hoverProbe",ref:p},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),Je=e.defineComponent({__name:"VBuildingChooser",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:a}){const t=i,n=a,o=e.computed(()=>t.useSvg?Lo:Uo);return(r,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),{"i18n-config":t.i18nConfig,"show-cards":t.showCards,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"interactive-desktop":t.interactiveDesktop,"interactive-mobile":t.interactiveMobile,"building-chooser-time-of-day":t.buildingChooserTimeOfDay,"can-go-to-building-callback":t.canGoToBuildingCallback,"custom-overlay-content":t.customOverlayContent,"building-chooser-data":t.buildingChooserData,onGoToBuilding:c[0]||(c[0]=l=>n("goToBuilding",l)),onHoverOverBuilding:c[1]||(c[1]=l=>n("hoverOverBuilding",l)),onHoverOutBuilding:c[2]||(c[2]=l=>n("hoverOutBuilding",l))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),l=>({name:l,fn:e.withCtx(m=>[e.renderSlot(r.$slots,l,e.normalizeProps(e.guardReactiveProps(m)))])}))]),1064,["i18n-config","show-cards","color-callback","cdn-file-resolver","interactive-desktop","interactive-mobile","building-chooser-time-of-day","can-go-to-building-callback","custom-overlay-content","building-chooser-data"]))}}),Ho=["src"],Yo=U(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,t=e.computed(()=>q(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Ho)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),zo=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Yo,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Po=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(zo,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),jo=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentCamera.overlayFilename);return e.watch(o,()=>{n("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===o.value))}),(r,c)=>{const l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:o.value,"onUpdate:modelValue":c[0]||(c[0]=m=>o.value=m),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),Wo=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const l=new Date(0);return l.setUTCDate(c),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,l)=>{const m=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":l[0]||(l[0]=s=>o.value=s),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:s})=>[e.createVNode(m,e.mergeProps(s,{title:r(s.title)}),null,16,["title"])]),selection:e.withCtx(({item:s})=>[e.createTextVNode(e.toDisplayString(r(s.title)),1)]),_:1},8,["modelValue","items"])}}}),Go={key:0,class:"py-2"},qo={class:"small"},Qo={class:"small"},Zo=U(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function c(m){const d=m*60,s=Math.floor(d/60),f=d%60;return`${s.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`}function l(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Go,[e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)])):(e.openBlock(),e.createBlock(w,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(f,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",qo,e.toDisplayString(c(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Qo,e.toDisplayString(c(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(s,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(c(o.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),Jo=["innerHTML"],Xo=U(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),l=e.reactive({});e.watchEffect(()=>{for(const s in l){const{element:f,state:w}=l[s],{r:h,g:u,b:p,a:g,s:y}=t.colorCallback(s,w)||{r:0,g:0,b:0,a:0,s:0};f.style.fill=`rgba(${h}, ${u}, ${p}, ${g/255})`,f.style.stroke=`rgb(${h}, ${u}, ${p})`,f.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watch(c,()=>{for(const s in l)l[s].state==="selected"&&s!==c.value?l[s].state="idle":l[s].state!=="selected"&&s===c.value&&(l[s].state="selected")}),e.watchEffect(async()=>{o.value=await X.loadText(q(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;if(!s.hasAttribute("viewBox")){const w=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",w)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())})}function d(){e.nextTick(()=>{var f;const s=(f=r.value)==null?void 0:f.firstChild;s&&(n("updateSvgContainer",s),m(),s.querySelectorAll("[data-building-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const u=h.getAttribute("data-building-id");l[u]={element:h,state:c.value===u?"selected":"idle"},h.addEventListener("mouseover",()=>{l[u].state==="idle"&&(l[u].state="hover"),n("onHoverOver",u)}),h.addEventListener("mouseout",()=>{l[u].state==="hover"&&(l[u].state="idle"),n("onHoverOut",u)}),h.addEventListener("click",()=>{n("onClick",u)})}))})}return(s,f)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:s.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:o.value},null,8,Jo))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function Xe(i){const a={version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,buildings:i.buildings.map(o=>({id:o.id,name:o.name})),cameras:[]};let t=[];i.days?t=i.days.map(o=>({dayOfYear:o.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:o.timeSamples.map(r=>({timeInHours:r.timeInHours,filename:`/${r.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:i.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))}];const n={cameraName:"Default",cameraPosition:i.cameraPosition,cameraRotation:i.cameraRotation,cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return a.cameras.push(n),a}const Ko={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},en={key:0,class:"pa-1"},tn={class:"pa-1"},on={class:"pa-1 flex-grow-1"},nn={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},an=["innerHTML"],rn={style:{"z-index":"7"}},ln=U(e.defineComponent({__name:"VBuildingChooserV5",props:{buildingChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(),c=e.ref(),l=e.ref(),m=e.ref(!1),d=e.ref(),s=e.computed(()=>d.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),w=e.ref(),h=e.ref(),u=e.ref(t.buildingChooserData),p=e.ref(!1);e.onMounted(()=>m.value=!0),e.watch(m,C=>{C&&n("onInitialize")}),e.watch(()=>h.value,()=>{h.value&&new ResizeObserver(([A])=>{p.value=A.contentRect.width<t.mobileBreakpoint}).observe(h.value)});const g=async()=>{try{let C;if(!t.cdnFileResolver)return C;let A;return A=await X.loadJson(q(t.cdnFileResolver,"/buildingChooser.json")),parseInt(A.version)===5?A:(C=Xe(A),C)}catch(C){m.value=!1,n("onError",C)}};e.watch([u,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(u.value||(u.value=await g()),t.defaultCamera?o.value=u.value.cameras.find(C=>C.cameraName===t.defaultCamera)||u.value.cameras[0]:o.value=u.value.cameras[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{u.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(C=>C.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{u.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(C=>C.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(C=>C.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(C){const A=r.value;o.value=C,e.nextTick(()=>{v(o.value.sunsimDayOfYear.find(E=>E.dayOfYear===A.dayOfYear)||o.value.sunsimDayOfYear[0])})}function v(C){const A=c.value;r.value=C,e.nextTick(()=>{x(r.value.timeSamples.find(E=>E.timeInHours===A.timeInHours)||r.value.timeSamples.find(E=>E.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function x(C){c.value=C}function B(C){n("onHoverOver",C),l.value=C}function N(C){n("onHoverOut",C),l.value=void 0}function k(C){const{layerX:A,layerY:E}=C;let F=C.target,b=!1;for(;F;)if(F===w.value){b=!0;break}else F=F.parentElement;if(b){const S=C.currentTarget;f.value={x:A,y:E,width:S.clientWidth,height:S.clientHeight}}else f.value=void 0;n("onMouseMove",C,f.value)}return(C,A)=>{const E=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(E,{type:"image",class:"w-100 h-100 position-relative",loading:!m.value||!u.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:h,class:e.normalizeClass({mobile:p.value}),onMousemove:k},[e.createElementVNode("div",Ko,[u.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(jo,{"building-chooser-data":u.value,"current-camera":o.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",tn,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Wo,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:v},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",on,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Zo,{key:0,"day-data":r.value,"current-time":c.value,onOnTimeChange:x},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",nn,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.cameras,F=>(e.openBlock(),e.createBlock(Po,{key:F.overlayFilename,"camera-data":F,"cdn-file-resolver":t.cdnFileResolver,"current-time":c.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,an)):e.createCommentVNode("",!0),e.createVNode(Xo,{"cdn-file-resolver":C.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:A[0]||(A[0]=F=>n("onClick",F)),onOnHoverOver:B,onOnHoverOut:N,onUpdateSvgContainer:A[1]||(A[1]=F=>w.value=F)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),C.$slots.popup&&f.value&&l.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":s.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",rn,[e.renderSlot(C.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:l.value,hoverable:s.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:d},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var we={};Object.defineProperty(we,"__esModule",{value:!0});var sn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},cn=typeof window<"u"&&typeof window.document<"u",dn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,mn=(typeof self>"u"?"undefined":sn(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",un=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),pn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",fn=we.isBrowser=cn;we.isWebWorker=mn,we.isNode=dn,we.isJsDom=un,we.isDeno=pn;const hn={id:"player-wrapper"},gn={id:"player-sizer"},vn={class:"player-control",id:"controls-top-left"},yn={class:"player-control",id:"controls-top-center"},Cn={class:"player-control",id:"controls-top-right"},kn={class:"player-control",id:"controls-center-left"},wn={class:"player-control",id:"controls-center-center"},_n={class:"player-control",id:"controls-center-right"},bn={class:"player-control",id:"controls-bottom-left"},Vn={class:"player-control",id:"controls-bottom-center"},Bn={class:"player-control",id:"controls-bottom-right"},En={id:"main-canvas"},Sn=U(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(i,{emit:a}){const t=ut.PlayerV2,n=i,o=a,r=e.ref(),c=e.ref(),l=e.ref(0),m=e.ref(0);return e.watch([()=>n.cdnFileResolver,()=>n.interiorId,()=>n.apartmentId],async()=>{const d=c.value;r.value&&await r.value.loadInterior(q(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),d,!1)},{deep:!0}),e.watch(()=>n.currentCameraId,d=>{r.value&&(c.value=d,r.value.goToCamera(d,!0))}),e.watch(r,d=>{o("playerApiCallback",d);const s=r.value.getCurrentCamera();s&&(c.value=s.id)}),e.onMounted(async()=>{const w={initialized:()=>{r.value=t.Main.getPlayerAPI();const u=r.value.getCurrentCamera();u&&(c.value=u.id),o("newCameraCallback",c.value)},newCamera:u=>{o("newCameraCallback",u.id),o("newFloorCallback",u.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),c.value=u.id},newFOV:u=>{o("newFovCallback",u),m.value=u},newRotation:u=>{const p=u+0;o("newRotationCallback",p),l.value=p}};if(!fn)return;const h=await new t.Main(q(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),"qpc",w,void 0,n.currentCameraId);h&&(h.handleWindowResize(),window.addEventListener("resize",h.handleWindowResize.bind(h)),h.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(n.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(d,s)=>(e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("div",gn,[e.renderSlot(d.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",vn,[e.renderSlot(d.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",yn,[e.renderSlot(d.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Cn,[e.renderSlot(d.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",kn,[e.renderSlot(d.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",wn,[e.renderSlot(d.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",_n,[e.renderSlot(d.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",bn,[e.renderSlot(d.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Vn,[e.renderSlot(d.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Bn,[e.renderSlot(d.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",En,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(d.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-5eb32d81"]]),xn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Dn=["stroke"],Nn=["stroke"],In={class:"floor-level-label"},An=U(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe),r=e.computed(()=>{const s=t.floorLevels;return s.sort(),s}),c=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),l=e.computed(()=>c.value==="lower"),m=e.computed(()=>c.value==="upper");function d(){const s=t.level+1;s>=r.value.length?n("level",r.value[0]):n("level",r.value[s])}return(s,f)=>{const w=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{right:"",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(w,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},u,{onClick:d}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",xn,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:m.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Dn),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:l.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Nn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",In,e.toDisplayString(e.unref(o).getLabel(c.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),Fn={class:"d-none d-md-inline"},Tn=U(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe);return(r,c)=>{const l=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),d=e.resolveComponent("v-img"),s=e.resolveComponent("v-list-item-title"),f=e.resolveComponent("v-list-item"),w=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(m,e.mergeProps({rounded:""},u,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",Fn,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(w,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(u,p)=>(e.openBlock(),e.createBlock(f,{density:"compact",key:`at-menuitem-${p}`,onClick:g=>n("selectInterior",u.archetypeID),active:p===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(d,{width:"100","max-width":"100",height:"66",src:u.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(s,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).get(u.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-4909b57c"]]),Ln="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAxQSURBVHgB7Z1JbBTHGsc/x5Z58B6EJzZBWDogYUAowSg3kDKOxDVOjiiH55hTTvAOmFPkiXIyHALikAsQc4g4Yl9BigcJbhF2hMQmAcMiEKsdYUFwIJP6d1dNatrdPbV09/TM9E+qTHs8xNP972+p6qqviHKaig5qYiqVisNeRHuftaUhH51h7XfWyjju6OiYoialKQRjwkCIHax9zFqBHztkB0Qr89cLeGVCzlDGyaxgTKQCeeJ8yl/ToESegONMvBJlkEwJxkXqZ22Awt1bWpTJE/BYM7vQ2IG7Y20/axOV7DLJ2v8oAzTMwipeXDrA2n5qvDWpUmbtNGujzOrK1A5UPIsqsjZdiYHXY2OVZx995LbZkZF5v58ZHKz+/g/22Zi4U/HOIfUb7T1KEXaCsKg7rA1TAlb1x88/05+//kop4JB3Dqm7ylQEYye1g7UJdvgDJez+Zr/9liovX1JKOKyNcotzKAUSFwyug71MUkqp+V8PH9KrH3+klHFYu8PPNVESEwx3HLeqYUoZuMa5iQlqAMNJW1sigrEv/AWlaFWCrp4e6li82D1O2TXKOKxN8GsQO7ELxt3CWWpAqg6xFn3zjfc9mFgQrUE4rJ1NwkXGKhj7gkepAS5Q5l9ffUVdn3ziHsMtvrtxgxoIXOQPFCOxCFbx+lYIGvspBl4y63j37h2Zsvj776uu0cQtvnnzhp49e0YxcYBdm7Nx9dmsBeNfBGIVyIK3b9/SQ5bhTU1N0c2bN+nx48dkyntr1tC/h4bIFNwwd+/epStXrsQlHOLZRByiWQkmibWDLMBFuXbtGj169KhqWS9evCAbFnz+OXX39ZEJ4m/Pzc3FKRyukbVothb2E1mI9erVK7rBYgwuCi4OWMxc2aZNm2j79u1ky3+Ya+xk1qbL5s2byXEcWrBggfuzEO7q1auuu7QA1+osWWA8+MsTDOOYBZf34MGD6s+4OGvXrqWlS/VuwLdM8LlffnGPOz/4wLWssN93f/aZm/rr8Pz5c9fyZaFWr15NawxuBImjbPD4/2SAkWA8XTXKBnHi5XKZZmdn3Z+7urpo5cqVbuvs7KSsAtEQYwWLFi2ijRs3Vq3QgO+YaEXSRFsw3iE0MmsE81u3blXjFNwfXE93dzc1A3CNSIiEteF7w31DPEO+ZKKN6fwDLcH4kAuSDIc08bvAVatWuS6wGfFbG84D52MA5pD06jxb0xUMj0Yc0gQnh5MEcIEbNmzQjlVZY2ZmxnXtwltYxLUSE0w5nVXOEnncckgTWSz4+61btza9WADnsG3btmoM81udBgV2bZXzASUL467wDmniFwvpcrPEK1X8cc3C0npVJvuoWpj2swrErFYXC+CccG6ypRmO0iiNOdYVjFnXAGm6QnSIRYLRymIJ/KLh3F/qj2EW+BSKSCJdIh9GwXMthxSBa4CLgKtAgoGY1cpiyeCcMRqCRAR9Spy7Zj8NWeOHUTOQ61kYFHdIA/SzxDATssF2EQvgXNGvBBANw1mawEAiR49CBeOJhtaMICQZr1+/do8ReFshG9QF54xRGwC3aBDPDkQNEEdZ2ABpukI5yUC21K6sW7fOHcUBiGeI6RpEWlmUYFrWBVcoQABud+AaxdioPMKjSKiVBQqmmxniWZHsCtspboWBayC7Rs3naRAr0GDCLEzrsUnuCoPB+KLcP9Oc9hA462qeYJilSxoPJXHniKwwF6sWuEQxwI1rpJmAoF9W8L8ZZGHG1rVs2TLKqQVZo0hAnjx5Qpr0+98IEqxAiuTWpYaIZXCJmiMgA/43agTjJuiQIkuWLHGzIdxBuXWFAyuDB0JCpvmwc6nfLXb5PtBPGiATglC5WPWxmFSENd4l8YPfJVpNV8tJhIL8Q3Xwl3fUpikni/xXDAjLFpZbV3apaiML9inlZJWPxUFuYc1BQRzIWaIT9unr16+7M2B7enpo+fLllJM6VWPqCnrTDzrIp06dco/x6GDLli3U29vrvuakgiMOXMH4+KES9+/fd9v58+fdTiCsbufOnbn1JQzTaAPLFO928B8KFDEzChY2OTnpukasNgl7IJdbX6IUmGAXhGAD5C0dUuLevXtug3givvk5cuRIW4+A4LroAO9Ux0MNMMFOixj2Pmmwfv16t+3evdu1vkuXLrkuUvNReMuCa3L48GGtf7Nv3756grlPoLvkH1SAKJcvX3bjGF791oW4hpi2cOFCyomVGsEiwR0DC4KZQyg/sDY5+cj5h71791ZH6M+cOePe8P39/VVrGhsbCwwpYSgJBqEgmIxILiBSPlofjnx9IA4Ew7UTN/bFixe1BDNe4wyrQ+Lx9OlTykkPJQvDHTE4OOim9hAJdwQEEwlH3h9LDyXBIAAyQjQgp/SiXwYx0QD6Y4cOHbJZSpoTghBsRucfibR+z549rliIb+Pj49XfIzHBPMVcsFpwzVasWGF6XVyNtDvOEEhYVljWCNq94ywSiXrXANcTNze6QXWErOk4l6M+iVgFCwob1QCi/4UYhuyx3a1L9WbFdVK8VmX8R0kwCIXkwo9IT+U0NScxsBWJJxjKDjC3WPdf5FbUOMT6Z3kSTmhJB7hE8QAzpyFgX5heHMhpPRR0gj6tMJKckyxlcSCPdJQoJ6tUy0HIgv1GOVmlJA7yiaTNwfyJpPyNEuVkjZJcBsI/Wl+inKxRU87IL9gF0kAUVkZN3JxoMJSH7pFBCdqaeoo1gvFtBJUHgjEGhhWYWNSHcnQ5wUAoVGBFoRVRiVWRMmZKyW8EPcAcJUWwkE+UNjBYDto2WCwrLvnfCBJsnDSQSxvkVjYfy2XFx/xvzBOMu8USKSKXNsCjFpsdHVoRC+uaCqqfGDanQ7lwMFyiuHMMShu0NEjILKzraNCbYYJhY05l/4Y7Ry5tYFmMvyWQa2/hqYamdSHZOB30i0DBeEctUOEwRAERw7JzLQdqRgpQKl2T0bBfRE1zQ8BTtjLcRZh8A5CAhE0daAdkV2hQe6tMnocLJFQwEytDxii7xnbMGqenp2tcoUHsitwjut5EUi0rA3LZOdR1b6d4hnMV4QBZoYErLFNAKi8TKRi3su9IA7G9BUA8k0uEtzKi1rHo1uAaGJQhLEbV+wWqdeu1N3SDSxRxzF91utWQC1MDxHIxoKABMsMP631IdW699tZJ+MKi4L6/GH8r4RcL52wgFlDazkNJMN7jLpIm8i4JrShakFiGVe2Kqhvm6G6WY7TXpbwvCRISJCbNXnEb2SASDBGzLMRScoUCk+2osOJB+2rLMQ3EsMtdw8B5yE8nDGMWKLPWl9h2VMBmwzfMI799+3bNhmnNlIwE7S6IXfpE39OAZDd8E/Dtk4pkAPw9SqbLC9izbm14sg6LQotxd0HELa0uE7DZtBS78RwgQ/z7beHEIZzphFXcAOfOnXPXqImbQaxr27VrF5mCWIW68yKxABYuUJDupqUC0yREEGRtJsLhIeHIyEjoyhr8v4rFotZaAAyr4VGR/EgfVgWxLCskjDGxviRDbAWLZePtoK13cXFUd5g4efJkdXUNrElU4ZFX3WDxIVb0q4BJRbJFiXr8Max3Q/eor95oRhRKS2bDwB9moqHDZyWaqBssC6dzcUTVGQiFAiUCiAfrw4wluEpVwfC38T1i3rLYWixgJRiQRMMKzi/IAlk4k8wLa68hkOxOIZLYZkQVTHvA37fI/vyUyMsIrR9fWLlEP7aJiClYHSqvsRb1QxBvsK64weBxydcUE7EKBmxSfhtQZcZf/AXA2oaGhhq1XMoodY8idsEA71zD2hxKkbAygcgOIVqK1gbX97Vup1iFRAQDNruqx4XsKnWyREtK5IlVpgQwLl1UD3xhPqhZpIQ5ceIEHTx4kI4fP17zPmKZQDfxMAQusC8psUBiggm4D4dwZUoIFCtBZgl3iD4ZXCJKA+JYkPD67BJ5G2fHGq+CSMwlBsELuCApcShGEKuGh4dDRzrQH5P7ZzGCWAWrOkYpkapggI+OYI+yAYpROIiGUQ00JB9INJAZQiybscQQxIyyY3H0rXRIXTCBtO3wADUwMdGkYUJlCrhK1iYr2WWCtf2ViP2V06JhFhZExaufD3dZoMZbHSxolLzRda2VqUmSKcFkmHjYvAcdcIhYoHQoiZYlkWQyK5gMd0XY4adAnoAO2W/uUyZvBL3EX39rhrjUFIKFwV0oau475E0MCosxM7yVyZullC+vyUmHvwGblCVYM8UGOgAAAABJRU5ErkJggg==",Mn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMdSURBVHgB7dxBTttQEMbxsU32idouujM7FhjlBqQnaG5AbkBvUPUEpTegN8gR6AlAgQU70lWlQkUUscR+fVZrRKlL7CTQN6P/T0IJwYkUDfNhvzdEBAAAAAAAAAAAAAAAAAAAAAD+i+t+v3+5vT0Qg2IxqHBuP47jXTHIZMHEuYETeScGmSvYZb9fFiv1d7sWY9FcwWLn9u7ux/FbMcZeJPo4vLsrMhJjTBXsXhxWzMWiqYLdj8NKlCR7YoipgjnnhjUPDv11WVeMMFOwqywb+Zu6wnQlz81ck5kp2GNnhLmha7JIDCgjLy+K60cOmSVxvNk7OZmJciY6LM/z4YJDukVRmDj5sBGJcbywGLUnJAqpj0Qfh6mPw4smx/pY7GmPRfUd5uNw0PRYC7GoPxIbxGHFQiyqjsQ2cVjRHouqO8xHXOvVeP+cfVFMeySOpCV3bzVfI7WRuEwcVlxRvHl1dnYkCqntsFWiTfO8h+ZIXPqMT/PGpsqC1WxUtpVq3dhUWbC6jcrWr6F03kNnJK7hTE9rLKor2BrisKJy3kNdwdYRh3evpTAW9UXiGi98y1jUNu+hqmBXWTZcUxxWure3t31RRFXBoieIMG1jcGqWphrMbSxL1byHmg5rMLexrPIXQc3Jh5qCPekZnXMjUUJFJK6yMt+Ulo1NFR3WZm5jWVrmPXREYou5jWVpmfcIPhKfIw4rGmIx+A57jjisaIjF4AsWRVG7nWXnjhK/fJWUEefcuN1Tw4/FoCOxaRz6N3Hi22M8v7n5tDmd/hFp37a20qTTGcRR9F4aLGslSZL2jo+/SqA2JGALxthmviMO/RsY905Pv/zroNfn51N/c1h+XWfZbl7ug0VR2Um1i75Fno/8zQcJVNAd9mNn5+KvxV4feT4mx/P5/PPDbmrje5aN/N+DPV+8wYMfTV9OJpsSqGALVn78kI/D49/fzqKiOKiLvFWVkbnR6exHv7ouLR8LeQwu2IL57vroIy9NRA4ei7x1qiLTF2/6YjIJNhbxwEWamvkndgAAAAAAAAAAAAAAAAAAAAAAAAAAAABYxU+ILzGcMmFd0QAAAABJRU5ErkJggg==",On=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(i){const a=i,t=e.ref(Mn),n=e.ref({backgroundImage:`url(${Ln})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-a.rotation+180}deg)`}));return(r,c)=>{const l=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value),class:"compass-wrapper"},[e.createVNode(l,{class:"compass-needle",src:t.value,style:e.normalizeStyle(o.value)},null,8,["src","style"])],4)}}}),$n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAAllBMVEUAAAD/rwD/rwD/qgP/qwL/qAL/qwP/qwH/rAL/rAL/qwL/qQD/qwL/qwD/qQD/qwL/pQD/qgH/nwD/pwD/qQL/rAL/qwD/qwT/rAP/qwL/rAL/rAD/rAL/qgD/qwL/qQP/rAP/rAH/qgH/qwL/qwD/qgL/rwD/qgD/qwH/qgD/qgL/rAD/qgD/qgD/qwH/rAP/qgX/qwA+O5E+AAAAMnRSTlMAECBg/3C/v5Dff4+PT1/PMN8QII9vf0CfgO9vnzDvUF+vr3BA3zA/z2+fX59g71AwcDsf6p0AAAFGSURBVHicvdRtT8MgEABgaM9hu1aHXV/cpm6zWt829f//OYEK9qC3NDF6HxYCTw5GuWPsd8GjqTIGOJtIZwDi/ymnKPflOSTub6cAcwdnkHk5AQY2v3Dzl2phga1EFkl5hScLbZc+LbUs/FltK5OpLpsmrS0NpbLLSu3Er1dgIsn0cdabEdlHlICL5IZSRq5gELcn7DCnsfQL24AX5PeNfAlAHSEOaYrFXaNiqwa7kO7V9L1dt9u25kX58cBY7dbZYz/MKdr2o06nrZ6klNX4AYRdf8aHzkL6QtxAG9KculjhS0nJMO0rSVmF5ZyWnn2jFC+36vcgLTzq+3lPRx6XrjjTqQ7iqJxY6+KLydp0ZWhrVHWE0JoqHq1NSHBxF0h+1Mh6LUMM5LC/Kht8h+5nG9zeTtbt37Ti3XT6+d29pkTXTZVEfAEKARRF2iiwhQAAAB10RVh0U29mdHdhcmUAQGx1bmFwYWludC9wbmctY29kZWP1QxkeAAAAAElFTkSuQmCC",Rn={class:"d-flex flex-column align-center justify-center clock-face"},Un={class:"clock-icon"},Hn={class:"clock-value grey--text text--darken-3"},Yn=U(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(i){const a=i,t=e.computed(()=>[n(a.hours),":",n(a.minutes)].join(""));function n(o){return("0"+o).slice(-2)}return(o,r)=>{const c=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Rn,[e.createElementVNode("div",Un,[e.createVNode(c,{src:e.unref($n),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Hn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Oe=i=>(e.pushScopeId("data-v-f59c4942"),i=i(),e.popScopeId(),i),zn={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Pn=[Oe(()=>e.createElementVNode("path",{d:"M5.38544 13C3.30939 13.9424 2 15.3211 2 16.8571C2 19.6975 6.47715 22 12 22C17.5228 22 22 19.6975 22 16.8571C22 15.3211 20.6906 13.9424 18.6146 13",class:"fill-grey"},null,-1)),Oe(()=>e.createElementVNode("path",{d:"M8 9C8 7.89543 8.89543 7 10 7H14C15.1046 7 16 7.89543 16 9V12.875C16 13.4273 15.5523 13.875 15 13.875H14V17C14 17.5523 13.5523 18 13 18H11C10.4477 18 10 17.5523 10 17V13.875H9C8.44772 13.875 8 13.4273 8 12.875V9Z"},null,-1)),Oe(()=>e.createElementVNode("path",{d:"M15 4C15 5.65685 13.6569 7 12 7C10.3431 7 9 5.65685 9 4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4Z"},null,-1))],jn=U(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(i,{emit:a}){const t=i,n=a,o=e.inject(oe),r=e.computed(()=>{let c="virtualTour";return t.showStaticImage||(c="slideShow"),c});return(c,l)=>{const m=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),s=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(s,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(d,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:l[0]||(l[0]=w=>n("toggle"))},f),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",zn,Pn)):(e.openBlock(),e.createBlock(m,{key:1},{default:e.withCtx(()=>[e.createTextVNode("mdi-image-multiple")]),_:1}))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel(r.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),ve=i=>(e.pushScopeId("data-v-a5e7f474"),i=i(),e.popScopeId(),i),Wn={key:0,class:"desktop-content"},Gn={class:"d-flex align-center justify-center"},qn={class:"box col d-flex flex-column align-bottom justify-center"},Qn=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M72 30H86.9736M86.9736 30L81 36M86.9736 30L81 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M27.9736 30H13M13 30L18.9736 36M13 30L18.9736 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M36 30H64V40C64 47.732 57.732 54 50 54V54C42.268 54 36 47.732 36 40V30Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 25C36 17.268 42.268 11 50 11V11V30H36V25Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 25C64 17.268 57.732 11 50 11V11V30H64V25Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 23V30C53.25 31.7949 51.7949 33.25 50 33.25C48.2051 33.25 46.75 31.7949 46.75 30V23C46.75 21.2051 48.2051 19.75 50 19.75C51.7949 19.75 53.25 21.2051 53.25 23Z",fill:"white",stroke:"black","stroke-width":"1.5"})])],-1)),Zn={class:"text-div text-center text mt-2"},Jn={class:"box col d-flex flex-column align-bottom justify-center"},Xn=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),Kn={class:"text-div text-center text mt-2"},ea={class:"box col d-flex flex-column align-bottom justify-center"},ta=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M36 33H64V43C64 50.732 57.732 57 50 57V57C42.268 57 36 50.732 36 43V33Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 28C36 20.268 42.268 14 50 14V14V33H36V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 28C64 20.268 57.732 14 50 14V14V33H64V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 26V33C53.25 34.7949 51.7949 36.25 50 36.25C48.2051 36.25 46.75 34.7949 46.75 33V26C46.75 24.2051 48.2051 22.75 50 22.75C51.7949 22.75 53.25 24.2051 53.25 26Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M74.5352 20.7593L80.3458 26.5699C80.9316 27.1557 80.9316 28.1055 80.3458 28.6913C79.76 29.277 78.8103 29.277 78.2245 28.6913L72.4138 22.8806L74.5352 20.7593Z",fill:"black",stroke:"black","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("circle",{cx:"66.5",cy:"15.5",r:"9.75",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"66",y:"11",width:"1",height:"9",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"}),e.createElementVNode("rect",{x:"71",y:"15",width:"1",height:"9",transform:"rotate(90 71 15)",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"})])],-1)),oa={class:"text-div text-center text mt-2"},na={class:"box col d-flex flex-column align-bottom justify-center"},aa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("rect",{x:"65.0967",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"39.5488",y:"29.6777",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-90 39.5488 29.6777)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"60.4512",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(90 60.4512 34.3228)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"34.9033",y:"55.2261",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-180 34.9033 55.2261)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M77.7025 44.3796C77.9599 44.5798 77.9599 44.9688 77.7025 45.169L74.6621 47.5338C74.3337 47.7892 73.8551 47.5552 73.8551 47.1391L73.8551 42.4095C73.8551 41.9935 74.3337 41.7594 74.6621 42.0149L77.7025 44.3796Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M49.6047 17.0724C49.8049 16.815 50.1939 16.815 50.3941 17.0724L52.7589 20.1128C53.0143 20.4412 52.7803 20.9198 52.3642 20.9198L47.6346 20.9198C47.2185 20.9198 46.9845 20.4412 47.2399 20.1128L49.6047 17.0724Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M50.3953 46.9281C50.1951 47.1855 49.8061 47.1855 49.6059 46.9281L47.2411 43.8877C46.9857 43.5592 47.2197 43.0807 47.6358 43.0807L52.3654 43.0807C52.7815 43.0807 53.0155 43.5592 52.7601 43.8877L50.3953 46.9281Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M22.2975 45.1692C22.0401 44.969 22.0401 44.58 22.2975 44.3798L25.3379 42.0151C25.6663 41.7596 26.1449 41.9937 26.1449 42.4097L26.1449 47.1393C26.1449 47.5554 25.6663 47.7894 25.3379 47.534L22.2975 45.1692Z",fill:"#FF3E3E"})])],-1)),ra={class:"text-div text-center text mt-2"},la={key:1,class:"d-flex tablet-mobile-content"},ia={class:"box col my-1"},sa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50.5",height:"32.5",viewBox:"0 0 101 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M68 28H87.9736M87.9736 28L82 34M87.9736 28L82 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M33.9727 28H13.999M13.999 28L19.9727 34M13.999 28L19.9727 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.0361 33.0479C60.7502 31.9809 59.6536 31.3478 58.5866 31.6337C57.5197 31.9195 56.8865 33.0162 57.1724 34.0831L56.7195 32.3928C56.3979 31.1925 55.1641 30.4802 53.9638 30.8018C52.7635 31.1234 52.0512 32.3572 52.3728 33.5575L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M53.7316 38.6286L52.6963 34.7649M52.6963 34.7649L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233V25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516V39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176V43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779V33.0779V33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.942 36.4286M52.6963 34.7649L52.3728 33.5575C52.0512 32.3572 52.7635 31.1234 53.9638 30.8018V30.8018C55.1641 30.4802 56.3979 31.1925 56.7195 32.3928L57.3018 34.5661M58.2077 37.9469L57.3018 34.5661M57.3018 34.5661L57.1724 34.0831C56.8865 33.0162 57.5197 31.9195 58.5866 31.6337V31.6337C59.6536 31.3478 60.7502 31.9809 61.0361 33.0479L61.942 36.4286M62.3302 37.8775L61.942 36.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ca={class:"text text-col text-center"},da={class:"box col my-1"},ma=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"49.5",height:"32.5",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9927 29.9814C79.9871 22.2398 66.3311 15.9962 49.491 16.0358C32.651 16.0754 19.0039 22.3833 19.0095 30.1248C19.015 37.8663 32.6711 44.11 49.5111 44.0704C66.3512 44.0308 79.9982 37.7229 79.9927 29.9814Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L68.5361 36.0479C68.2502 34.9809 67.1536 34.3478 66.0866 34.6337C65.0197 34.9195 64.3865 36.0162 64.6724 37.0831L64.2195 35.3928C63.8979 34.1925 62.6641 33.4802 61.4638 33.8018C60.2635 34.1234 59.5512 35.3572 59.8728 36.5575L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M61.2316 41.6286L60.1963 37.7649M60.1963 37.7649L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233V28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516V42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176V46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779V36.0779V36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L69.442 39.4286M60.1963 37.7649L59.8728 36.5575C59.5512 35.3572 60.2635 34.1234 61.4638 33.8018V33.8018C62.6641 33.4802 63.8979 34.1925 64.2195 35.3928L64.8018 37.5661M65.7077 40.9469L64.8018 37.5661M64.8018 37.5661L64.6724 37.0831C64.3865 36.0162 65.0197 34.9195 66.0866 34.6337V34.6337C67.1536 34.3478 68.2502 34.9809 68.5361 36.0479L69.442 39.4286M69.8302 40.8775L69.442 39.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ua={class:"text text-col text-center"},pa={class:"box col my-1"},fa=ve(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"49.5",height:"32.5",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M31 24.9736L31 10M31 10L25 15.9736M31 10L37 15.9736",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M31 40L31 54.9736M31 54.9736L25 49M31 54.9736L37 49",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L56.0348 26.8433C55.4825 25.8867 54.2593 25.5589 53.3027 26.1112C52.3462 26.6635 52.0184 27.8867 52.5707 28.8433L51.6957 27.3277C51.0744 26.2516 49.6983 25.8828 48.6221 26.5042C47.546 27.1255 47.1773 28.5016 47.7986 29.5777L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852Z",fill:"white"}),e.createElementVNode("path",{d:"M50.4236 34.1244L48.4236 30.6603M48.4236 30.6603L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23V23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728V42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442V35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013V26.4013V26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L57.7848 29.8744M48.4236 30.6603L47.7986 29.5777C47.1773 28.5016 47.546 27.1255 48.6221 26.5042V26.5042C49.6983 25.8828 51.0744 26.2516 51.6957 27.3277L52.8207 29.2763M54.5707 32.3074L52.8207 29.2763M52.8207 29.2763L52.5707 28.8433C52.0184 27.8867 52.3462 26.6635 53.3027 26.1112V26.1112C54.2593 25.5589 55.4825 25.8867 56.0348 26.8433L57.7848 29.8744M58.5348 31.1734L57.7848 29.8744",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ha={class:"text text-col text-center"},ga={class:"text-h6 text-capitalize"},va={class:"mt-2"},ya={class:"d-flex justify-center align-center checkbox-container"},Ca={class:"text-caption"},ka=U(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(i,{emit:a}){const t=a,n=e.inject(oe),o=e.ref(!1),r=e.ref(!1),c=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(d=>navigator.userAgent.match(d)));function l(){t("closeTutorial",o.value)}return(m,d)=>{const s=e.resolveComponent("v-icon"),f=e.resolveComponent("v-card-title"),w=e.resolveComponent("v-btn"),h=e.resolveComponent("v-divider"),u=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-card-actions"),g=e.resolveComponent("v-card"),y=e.resolveComponent("v-expand-transition"),v=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(g,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(f,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small"},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),_:1}),e.createVNode(u,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(n).getLabel("disclaimerTextShort")),1),e.createVNode(w,{variant:"tonal",size:"small",onClick:d[0]||(d[0]=x=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("learnMore"))+" ",1),e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(h,{class:"my-3"}),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Wn,[e.createElementVNode("div",Gn,[e.createElementVNode("div",qn,[Qn,e.createElementVNode("div",Zn,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Jn,[Xn,e.createElementVNode("div",Kn,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ea,[ta,e.createElementVNode("div",oa,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",na,[aa,e.createElementVNode("div",ra,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),c.value?(e.openBlock(),e.createElementBlock("div",la,[e.createElementVNode("div",ia,[sa,e.createElementVNode("div",ca,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",da,[ma,e.createElementVNode("div",ua,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",pa,[fa,e.createElementVNode("div",ha,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(h,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(g,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(u,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",ga,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),e.createElementVNode("p",va,e.toDisplayString(e.unref(n).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(w,{variant:"tonal",size:"small",onClick:d[1]||(d[1]=x=>r.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",ya,[e.createVNode(v,{density:"compact",modelValue:o.value,"onUpdate:modelValue":d[2]||(d[2]=x=>o.value=x),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ca,e.toDisplayString(e.unref(n).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(w,{variant:"tonal",onClick:d[3]||(d[3]=x=>l()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),wa=i=>(e.pushScopeId("data-v-bd4f66c3"),i=i(),e.popScopeId(),i),_a={class:"player-settings-ui"},ba={id:"settings-ui-form"},Va={class:"form-inputs"},Ba={class:"setting-label"},Ea={class:"setting-label"},Sa=["max","min","step"],xa={class:"setting-label"},Da={class:"flex-grow-1 flex-shrink-0"},Na=["onUpdate:modelValue"],Ia={key:3,"d-block":"",class:"mt-3"},Aa={class:"d-flex justify-space-between"},Fa={class:"setting-label"},Ta={class:"mt-5 d-block",style:{width:"300px"}},La=wa(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),Ma={class:"d-block",style:{width:"300px"}},Oa={class:"form-buttons"},$a=U(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(h(t.initialSettings));e.watch(o,()=>{c()},{deep:!0});const r=e.computed(()=>{let u={};for(const[p,g]of Object.entries(o.value))p==="whitePoint"?u[p]=s(g.value):u[p]=g.value;return u});function c(){n("updateSettings",r.value)}function l(){const u=document.createElement("a");u.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const p=`player-settings-${Date.now()}.json`;u.download=p,u.style.display="none",document.body.appendChild(u),u.click(),document.body.removeChild(u)}function m(){n("saveSettings",r.value)}function d(){o.value=h(),n("updateSettings",r.value)}function s(u){const p=parseInt(u.substr(1,2),16)/255,g=parseInt(u.substr(3,2),16)/255,y=parseInt(u.substr(5,2),16)/255;return[p,g,y]}function f(u){var p=u.toString(16);return p.length==1?"0"+p:p}function w([u,p,g]){return"#"+f(parseInt((u*255).toString()))+f(parseInt((p*255).toString()))+f(parseInt((g*255).toString()))}function h(u={}){const p=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let g={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...u};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:g.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:g.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:g.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:g.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:g.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:g.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:g.temperature},whitePoint:{label:"White Point",type:"color",value:w(g.whitePoint)},lut:{label:"Lut",type:"lut",items:p.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:g.lut}}}return(u,p)=>{const g=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),v=e.resolveComponent("v-checkbox"),x=e.resolveComponent("v-btn"),B=e.resolveComponent("v-select"),N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",_a,[e.createElementVNode("form",ba,[e.createElementVNode("div",Va,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(k,C,A)=>(e.openBlock(),e.createElementBlock("div",{key:A,"d-block":""},[k.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,onChange:c,max:k.max,min:k.min,step:k.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ba,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:k.max,min:k.min,step:k.step,style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue","max","min","step"])])]),_:2},1032,["modelValue","onUpdate:modelValue","max","min","step"])):e.createCommentVNode("",!0),k.type==="boolean"?(e.openBlock(),e.createBlock(v,{key:1,modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,onChange:c},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ea,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(k.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),k.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:k.max,min:k.min,step:k.step},[e.createElementVNode("div",xa,e.toDisplayString(k.label),1),e.createElementVNode("div",Da,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>o.value[C].value=E,type:"color",onChange:c},null,40,Na),[[e.vModelText,o.value[C].value]])]),e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue"])])],8,Sa)):e.createCommentVNode("",!0),k.type==="lut"?(e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("div",Aa,[e.createElementVNode("div",Fa,e.toDisplayString(k.label),1),e.createElementVNode("div",null,[e.createVNode(x,{class:"ml-2","x-small":"",onClick:E=>o.value[C].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",Ta,[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,items:k.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:c},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[La,e.createElementVNode("div",Ma,[e.createElementVNode("div",null,[e.createVNode(g,{modelValue:o.value[C].value,"onUpdate:modelValue":E=>o.value[C].value=E,"hide-details":"",dense:"",type:"url",onChange:c},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Oa,[e.createVNode(x,{onClick:p[0]||(p[0]=k=>d())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(x,{class:"ml-2",onClick:p[1]||(p[1]=k=>l())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(x,{class:"ml-2",onClick:p[2]||(p[2]=k=>m())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),Ra=(i=>(e.pushScopeId("data-v-30593022"),i=i(),e.popScopeId(),i))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ua={class:"moveable-body",id:"moveableDivHeader"},Ha={class:"moveable-footer"},Ya=U(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(i,{emit:a}){const t=a,n=e.ref("big");e.onMounted(()=>{o(document.getElementById("moveableDiv"))});function o(c){const l=document.getElementById(c.id+"Header");if(!l)return;let m=0,d=0,s=0,f=0;l.addEventListener("touchstart",w,{passive:!1}),l.addEventListener("touchend",u,{passive:!1}),l.addEventListener("mousedown",w,{passive:!1}),l.addEventListener("mouseup",u,{passive:!1});function w(p){p=p||window.event,p.preventDefault();let g=p;p.type==="touchstart"&&(g=p.touches[0]),s=g.clientX,f=g.clientY,document.addEventListener("mouseup",u,{passive:!1}),document.addEventListener("touchend",u,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(p){p=p||window.event,p.preventDefault();let g=p;p.type==="touchmove"&&(g=p.touches[0]),m=s-g.clientX,d=f-g.clientY,s=g.clientX,f=g.clientY,c.style.top=c.offsetTop-d+"px",c.style.left=c.offsetLeft-m+"px"}function u(){document.removeEventListener("mouseup",u,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",u,!1),document.removeEventListener("touchmove",h,!1)}}function r(){n.value==="big"?n.value="small":n.value="big"}return(c,l)=>{const m=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",n.value])},[e.createVNode(m,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:l[0]||(l[0]=d=>t("close"))}),e.createVNode(m,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(m,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:l[1]||(l[1]=d=>t("transform")),title:"Rotate"}),Ra,e.createElementVNode("div",Ua,[e.renderSlot(c.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ha,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),za={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Pa=e.createStaticVNode('<defs><radialGradient id="Gradient" cx="0" cy="0" r="0.9" fx="0" fy="0"><stop offset="0%" class="stop1"></stop><stop offset="60%" class="stop2"></stop><stop offset="90%" class="stop3"></stop></radialGradient><linearGradient id="LineGradient" gradientTransform="rotate(90)"><stop offset="0%" class="stop1"></stop><stop offset="75%" class="stop2"></stop><stop offset="100%" class="stop3"></stop></linearGradient></defs>',1),ja=["transform"],Wa=[e.createStaticVNode('<rect id="field-of-view-gradient" x="20" y="20" width="38" height="38" transform="rotate(0)" transform-origin="20 20" fill="url(#Gradient)"></rect><rect class="field-of-view-border" x="20" y="20" width="1" height="25" fill="url(#LineGradient)" transform="rotate(0)" transform-origin="20 20"></rect><rect class="field-of-view-border" x="19" y="19" width="1" height="25" fill="url(#LineGradient)" transform="rotate(-90)" transform-origin="20 20"></rect><circle cx="20" cy="20" r="5" fill="white"></circle><circle cx="20" cy="20" r="3" fill="red"></circle>',5)],Ga=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(i){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",za,[Pa,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+a.rotation})`},Wa,8,ja)]))}}),qa={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Qa={class:"minimap-container"},Za=U(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(i){const a=i,t=e.ref(512),n=e.ref(384),o=e.ref(new pe.Vector3),r=e.ref(new pe.Object3D),c=e.ref({}),l=e.ref(1),m=e.ref(),d=e.computed(()=>a.allCameras),s=e.computed(()=>a.allCameras.find(C=>C.id===a.currentCamera)),f=e.computed(()=>a.rotation),w=e.computed(()=>new pe.Vector3(a.storey.position.x,a.storey.position.y,a.storey.position.z)),h=e.computed(()=>parseFloat(s.value.floor_vertical_position)),u=e.computed(()=>d.value.map(C=>{const A=C.uposition.split(","),E=new pe.Vector3(Number(A[0])-w.value.x,0,Number(A[2])-w.value.z);return{...C,...B(o.value,E)}})),p=e.computed(()=>`background-image: url(${a.backgroundImage});`),g=e.computed(()=>{let C=l.value>1?1:l.value;return C<.8&&(C=.4),`scale: ${C>1?1:C}; transform: rotate(${a.transformAngle}deg);`});e.onMounted(()=>{N(),v(),k();const C=document.getElementById("moveableDiv");C&&(m.value=new ResizeObserver(k).observe(C))}),e.onBeforeUpdate(()=>{N(),v()}),e.onBeforeUnmount(()=>{m.value&&m.value.unobserve(document.getElementById("moveableDiv"))});function y(C){return pe.MathUtils.degToRad(C)}function v(){r.value.rotation.x=180,r.value.rotation.y=a.storey.rotation.y*-1,c.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function x(C){return{top:`${Math.abs(C.top)}%`,left:`${Math.abs(C.left)}%`}}function B(C,A){var E=new pe.Vector3;const F=E.subVectors(C,A);return{relativePosition:F,left:F.x/t.value*100,top:F.z/n.value*100}}function N(){const C=a.storey.position.y-h.value;n.value=2*(C*Math.tan(y(a.storey.fovY/2))),t.value=512/384*n.value;const A=n.value/2,E=t.value/2,F=new pe.Vector3(E*-1,0,A*-1);o.value=F}function k(){const C=document.getElementById("moveableDiv");if(!C)return;const A=C.offsetHeight/384*.8,E=C.offsetWidth/512*.8;C.offsetHeight>C.offsetWidth?l.value=E*.5:l.value=A*.9}return(C,A)=>(e.openBlock(),e.createElementBlock("div",qa,[e.createElementVNode("div",Qa,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(g.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(p.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(c.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id},[s.value.floorLevel===E.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(x(E))},null,4)):e.createCommentVNode("",!0),s.value.id===E.id&&a.rotation!==null?(e.openBlock(),e.createBlock(Ga,{key:1,class:"rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...x(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),Ja=U(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(i){const a=i,t=e.computed(()=>a.rotation+a.transformAngle-90);return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(ge,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Xa={class:"ss-wrapper"},Ka={class:"slider"},er={class:"minimap-sun-slider"},tr={key:0,class:"time-label"},or=U(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(new Date().getHours()),r=e.ref(!0),c=e.ref(!0),l=e.ref(""),m=e.ref(new Map),d=e.computed(()=>t.minimapJson.storeys[t.level]),s=e.computed(()=>`${Math.floor(o.value).toString().padStart(2,"0")}:00`),f=e.computed(()=>{if(d.value.sunsimFilesTimeStamps[o.value]){const y=d.value.sunsimFilesTimeStamps[o.value].split(" ");return`${y[0]} ${y[1]}`}return""});e.onMounted(async()=>{l.value=await u(d.value.sunsimFiles[o.value]),c.value=!1;const y=await h(t.minimapJson.storeys);m.value=y,r.value=!1,n("setBackgroundImage",w(t.level,o.value))}),e.watch(o,()=>{const y=w(t.level,o.value);n("setBackgroundImage",y)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",w(t.level,o.value))},{immediate:!0});function w(y,v){return m.value.get(`sunsim${y}_${v}`)?m.value.get(`sunsim${y}_${v}`):""}async function h(y){let v=new Map;for(let x=0;x<y.length;x++){const B=y[x].sunsimFiles;for(let N=0;N<B.length;N++){const k=B[N];try{const C=k,A=k.split("."),E=await u(C);v.set(A[0],E)}catch{continue}}}return v}async function u(y){const x=await(await fetch(q(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),B=await g(x);return p(B)}function p(y){return"data:image/jpeg;base64,"+y}async function g(y){return new Promise((v,x)=>{const B=new FileReader;B.onload=()=>{const N=B.result.split(",")[1];v(N)},B.onerror=x,B.readAsDataURL(y)})}return(y,v)=>{const x=e.resolveComponent("v-progress-linear"),B=e.resolveComponent("v-icon"),N=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Xa,[e.createElementVNode("div",Ka,[e.createElementVNode("div",er,[r.value?(e.openBlock(),e.createBlock(x,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(N,{key:1,modelValue:o.value,"onUpdate:modelValue":v[0]||(v[0]=k=>o.value=k),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(B,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",tr,e.toDisplayString(f.value)+" "+e.toDisplayString(s.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Ke=U(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(),r=e.ref(0),c=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(c,()=>{o.value=c.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${c.value.defaultSunsimFile}`},{immediate:!0,once:!0});const l=e.computed(()=>{let s=1;return r.value!==0&&(Math.abs(r.value)%180===0?s=1:s=-1),s});function m(s){o.value=s}function d(){r.value=r.value+90}return(s,f)=>(e.openBlock(),e.createBlock(Ya,{onClose:f[0]||(f[0]=w=>n("close")),onTransform:d},{body:e.withCtx(()=>[e.createVNode(Ja,{scale:l.value,rotation:c.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Za,{"transform-angle":r.value,"all-cameras":s.apartmentJson.cameras,"background-image":o.value,rotation:s.rotation,"current-camera":s.currentCamera,storey:c.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(or,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:m},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),nr=37,ar=39,De=U(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(i,{emit:a}){const t=i,n=a,o=e.ref(0),r=e.computed({get(){return t.active},set(d){o.value=d}}),c=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",l)});function l(d){switch(d.keyCode){case d.keyCode===nr:n("previous");break;case d.keyCode===ar:n("next");break;default:return}}function m(d,s){s(),n("goto",d)}return(d,s)=>{const f=e.resolveComponent("v-btn"),w=e.resolveComponent("v-img"),h=e.resolveComponent("v-card"),u=e.resolveComponent("v-slide-group-item"),p=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({mobileWaypointWrapper:c.value,desktopWaypointWrapper:!c.value," waypoint-carousel":!0})},[e.createVNode(p,{modelValue:r.value,"onUpdate:modelValue":s[2]||(s[2]=g=>r.value=g),class:e.normalizeClass({mobileWaypoint:c.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(f,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:s[0]||(s[0]=g=>n("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(f,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:s[1]||(s[1]=g=>n("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.thumbnails,g=>(e.openBlock(),e.createBlock(u,{key:g.id},{default:e.withCtx(({toggle:y,selectedClass:v})=>[e.createVNode(h,{class:e.normalizeClass([c.value?"ma-0":"ma-1",v,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:x=>m(g.id,y)},{default:e.withCtx(()=>[e.createVNode(w,{cover:"","aspect-ratio":1,src:g.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),rr={id:"share-btns-wrapper",class:"text-center"},et=U(e.defineComponent({__name:"VSocialShare",setup(i){const a=e.inject(oe),t=e.ref(!1),n=e.ref(location.href);function o(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function c(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1}function l(){navigator.clipboard.writeText(location.href)}return(m,d)=>{const s=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip"),w=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),p=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card"),y=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:d[0]||(d[0]=x=>t.value=!t.value)},v),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(y,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":d[2]||(d[2]=v=>t.value=v)},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(u,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small",icon:"mdi-close",onClick:d[1]||(d[1]=v=>t.value=!1)}),e.createVNode(w,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(p,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",rr,[e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},v,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},v,{onClick:c}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},v,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${n.value}`},v),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(f,{location:"top"},{activator:e.withCtx(({props:v})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:l},v),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("copyLink")),1)]),_:1}),e.createVNode(h)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),lr={class:"static-image-wrapper"},ir=U(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(i){const a=i,t=e.computed(()=>({"background-image":`url("${encodeURI(a.image)}")`}));return(n,o)=>(e.openBlock(),e.createElementBlock("div",lr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),sr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},tt=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(i,{emit:a}){const t=a;return(n,o)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",sr,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=c=>t("toggleFullscreen"))},null,8,["icon"])])}}});class ot{constructor(a,t){G(this,"_doc");G(this,"_elemId");G(this,"_state");this._doc=a,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const a=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();a.forEach(n=>{t.addEventListener(n,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const a=this._getElement(),t=a.requestFullscreen||a.webkitRequestFullscreen||a.mozRequestFullscreen||a.msRequestFullscreen;t&&t.apply(a)}_exit(){const a=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;a&&a.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const a=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=a}}const cr={key:0,class:"player-error"},dr={class:"player-and-components-wrapper"},mr={key:3,class:"settings-panel"},ur={key:0,class:"compass-wrapper"},pr={key:1,class:"btn-placeholder mr-2"},fr={class:"btn-placeholder mr-2"},hr={key:2,class:"btn-placeholder mr-2"},gr={key:0},vr={class:"d-flex flex-column align-end"},yr={key:2,class:"render-version"},nt=U(e.defineComponent({__name:"VVirtualTour",props:{cdnFileResolver:{},apartmentId:{},defaultInteriorId:{},validInteriorIds:{default:()=>[]},displayViewModeSwitch:{type:Boolean,default:!0},websiteUrl:{},i18nConfig:{},showCarousel:{type:Boolean,default:!0},showTimeOfDay:{type:Boolean,default:!0},showCompass:{type:Boolean,default:!0},showFullScreen:{type:Boolean,default:!0},showSnapshot:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},showInteriorOptions:{type:Boolean,default:!0},showMiniMap:{type:Boolean,default:!0},showFloorLevel:{type:Boolean,default:!0},defaultWaypointIndex:{default:0},defaultViewMode:{default:"virtualTour"},mouseSensitivity:{default:1},isInIframe:{type:Boolean},adminMode:{type:Boolean,default:!1},playerSettings:{default:()=>({temperature:6500,targetLuminance:1,exposureFovScale:.3,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:""})},hasMarkersJson:{type:Boolean,default:!1},dynamicMarkers:{default:null},version:{},showVersion:{type:Boolean,default:!0}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(i,{expose:a,emit:t}){const n=i,o=t;a({updateSelectedInterior:J,takeSnapshot:He,setCurrentCamera:j});const r=e.ref(!1),c=e.ref(!1),l=e.ref(!1),m=e.ref(),d=e.ref(),s=e.ref(),f=e.ref(),w=e.ref(),h=e.ref(0),u=e.ref(),p=e.ref(),g=e.ref(),y=e.ref(0),v=e.ref(0),x=e.ref(0),B=e.ref(!1),N=e.ref(!1),k=e.ref(!1),C=e.ref(new ot(document,"player-wrapper")),A=e.computed(()=>{if(d.value){const _=d.value.cameras.map(Y=>Y.floorLevel);let R=[...new Set(_)];return R=R.sort(),R}else return[]}),E=e.computed(()=>{let _=0;if(d.value){const R=d.value.cameras.map(be=>be.floorLevel);let Y=[...new Set(R)];Y=Y.sort();const ee=Y.findIndex(be=>be===v.value);ee!==-1&&(_=ee)}return _}),F=e.computed(()=>I.value.findIndex(_=>_.archetypeID===u.value)),b=e.computed(()=>s.value?s.value.cameras.map(_=>({..._,thumbnailUrl:Ne(`/${u.value}/${n.apartmentId}/thumbs/200/${_.id}.jpg`),imageUrl:Ne(`/${u.value}/${n.apartmentId}/images/1600/${_.id}.jpg`)})):[]),S=e.computed(()=>!b.value||!b.value[h.value]?"":b.value[h.value].imageUrl),I=e.computed(()=>{let _=[];return m.value&&(_=m.value.archetypes),n.validInteriorIds.length?_.filter(R=>n.validInteriorIds.includes(R.archetypeID)):_}),L=e.computed(()=>s.value?I.value.map(_=>({..._,url:Ne(`/${_.archetypeID}/${n.apartmentId}/thumbs/200/${b.value[h.value].id}.jpg`)})):[]),P=e.computed(()=>{if(f.value&&f.value.storeys&&E.value in f.value.storeys)return f.value.storeys[E.value]}),V=e.computed(()=>d.value&&d.value.timeInHours),D=e.computed(()=>{if(d.value&&d.value.timeInHours&&n.showTimeOfDay)return ml(d.value.timeInHours)});e.provide(oe,n.i18nConfig?new ne(n.i18nConfig):new ne),e.watch([()=>n.cdnFileResolver],async()=>{await T(),Z(),await H()}),e.watch(()=>n.defaultViewMode,_=>{_==="virtualTour"&&(B.value=!1),_==="slideShow"&&(B.value=!0,k.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await T(),Z(),await H(),C.value.setup(),Q(),fl.value?(r.value=!1,k.value=!0):r.value=!0}catch(_){l.value=!0,o("onError",_)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",K)});async function T(){m.value=await ae()}async function H(){if(d.value=await re(u.value,n.apartmentId),d.value&&(p.value=d.value.cameras.find(()=>!0).id),s.value=await te(u.value,n.apartmentId),s.value){let _=n.defaultWaypointIndex!==null?n.defaultWaypointIndex:0;h.value=_,p.value=s.value.cameras[_].id,g.value=s.value.cameras[_].id}n.showMiniMap&&(f.value=await ie(u.value,n.apartmentId))}function Z(){let _=n.defaultInteriorId;_||(_=m.value.defaultArchetypeID),n.validInteriorIds.length&&!n.validInteriorIds.includes(_)&&(_=n.validInteriorIds[0]),_||(_=m.value.archetypes[0].archetypeID),u.value=_}function Q(){const _=document.getElementById("main-canvas");_.addEventListener("touchmove",R,{passive:!1});function R(Y){Y.preventDefault(),window.scrollBy(0,0)}_.addEventListener("mouseenter",()=>{document.addEventListener("wheel",K,{passive:!1})},{passive:!1}),_.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",K)},{passive:!1})}function K(_){_.preventDefault(),window.scrollBy(0,0)}async function ae(){try{return await Ie("/config.json")}catch(_){console.error("Error loading config.json - ",q(n.cdnFileResolver,"/config.json"),_);return}}async function re(_,R){try{return await Ie(`/${_}/${R}/apartment.json`)}catch(Y){console.error("Error loading apartment.json - ",`/${_}/${R}/apartment.json`,Y);return}}async function te(_,R){try{return await Ie(`/${_}/${R}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${_}/${R}/thumbs.json`);return}}async function ie(_,R){try{return await Ie(`/${_}/${R}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${_}/${R}/minimap/minimap.json`);return}}function me(){let _=h.value+1;_>=b.value.length&&(_=0),h.value=_,j(b.value[h.value].id)}function le(){let _=h.value-1;_<0&&(_=b.value.length-1),h.value=_,j(b.value[h.value].id)}function O(_,R=!0){let Y=b.value.findIndex(ee=>ee.id===_);Y!=-1&&(h.value=Y,R&&j(_))}function j(_){p.value=_}function J(_){u.value=_,o("onInteriorUpdate",_),o("onCameraUpdate",g.value,d.value)}function $(_){O(_,!1),g.value=_,o("onCameraUpdate",_,d.value)}function M(_){y.value=_}function W(_){v.value=_}function Se(_){x.value=_}function ye(_,R){}function ue(_){w.value=_,w.value&&(n.playerSettings&&w.value.updateSettings(n.playerSettings),n.hasMarkersJson?w.value.loadMarkersJson():n.dynamicMarkers&&w.value.loadDynamicMarkers(n.dynamicMarkers))}function se(){C.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function Ue(){B.value=!B.value}async function He(){const _=180/Math.PI,R=await w.value.takePhoto(),Y=w.value.getRotationEuler(),ee=w.value.getCurrentCamera(),be=new mo(R,ee),hl=[Y.x*-_,Y.y*-_,Y.z*_];return o("onSnapshot",be,hl),be}function Ne(_){let R=q(n.cdnFileResolver,_);return n.adminMode&&(R=R+`?v=${Date.now()}`),R}async function Ie(_){const R=Ne(_);try{return(await ce.get(R)).data}catch(Y){throw new Error(Y)}}function cl(_){w.value.updateSettings(_)}function dl(_){o("saveSettings",_)}function ml(_){if(_===void 0)return null;const R=Math.floor(_),Y=Math.floor((R-_)*60);return{hours:R,minutes:Y}}const Ye=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),ct=e.computed(()=>Ye.value?"platform-mobile":"platform-desktop"),ul=(_=!1)=>{k.value=!0,r.value=!1,_&&pl()},pl=()=>{const _=q(n.cdnFileResolver,"/config.json");localStorage.setItem(`${_}-dont-show-tutorial`,"true")},fl=e.computed(()=>{const _=q(n.cdnFileResolver,"/config.json");return localStorage.getItem(`${_}-dont-show-tutorial`)});return(_,R)=>{const Y=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[ct.value]])},[l.value?(e.openBlock(),e.createElementBlock("div",cr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",dr,[!C.value.isActive&&f.value&&g.value&&P.value&&u.value&&N.value?(e.openBlock(),e.createBlock(Ke,{key:0,"cdn-file-resolver":_.cdnFileResolver,"apartment-json":d.value,level:E.value,"minimap-json":f.value,rotation:y.value,"current-camera":g.value,onClose:R[0]||(R[0]=ee=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),u.value&&p.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[ct.value]])},[e.createVNode(Sn,{"cdn-file-resolver":_.cdnFileResolver,style:e.normalizeStyle({zIndex:B.value?1:2}),"show-static-image":B.value,"is-full-screen":C.value.isActive,"current-camera-id":p.value,"mouse-sensitivity":_.mouseSensitivity,"interior-id":u.value,"apartment-id":n.apartmentId,onNewCameraCallback:$,onNewRotationCallback:M,onNewFloorCallback:W,onNewFovCallback:Se,onNewSizeCallback:ye,onPlayerApiCallback:ue},{"slideshow-image":e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(ir,{key:0,image:S.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[_.adminMode?e.withDirectives((e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:R[1]||(R[1]=ee=>c.value=!c.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Y,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:R[2]||(R[2]=ee=>r.value=!r.value)},null,512),[[e.vShow,k.value]]),f.value&&p.value&&P.value?e.withDirectives((e.openBlock(),e.createBlock(Y,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:R[3]||(R[3]=ee=>N.value=!N.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),k.value&&_.showFloorLevel&&A.value.length>1?(e.openBlock(),e.createBlock(An,{key:2,level:v.value,"floor-levels":A.value,onLevel:W},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),k.value&&_.adminMode&&c.value?(e.openBlock(),e.createElementBlock("div",mr,[e.createVNode($a,{"initial-settings":_.playerSettings,onUpdateSettings:cl,onSaveSettings:dl},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[d.value&&_.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",ur,[e.createVNode(On,{rotation:y.value},null,8,["rotation"])],512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:R[4]||(R[4]=ee=>N.value=!N.value)},[k.value&&d.value&&V.value&&_.showTimeOfDay?(e.openBlock(),e.createBlock(Yn,{key:0,hours:D.value.hours,minutes:D.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:f.value&&g.value&&P.value?"pointer":"default"})},null,8,["hours","minutes","style"])):e.createCommentVNode("",!0)])]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:le})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(ka,{key:0,onCloseTutorial:R[5]||(R[5]=ee=>ul(ee))})):e.createCommentVNode("",!0),C.value.isActive&&f.value&&g.value&&P.value&&N.value?(e.openBlock(),e.createBlock(Ke,{key:1,"cdn-file-resolver":_.cdnFileResolver,"apartment-json":d.value,"minimap-json":f.value,rotation:y.value,"current-camera":g.value,level:E.value,onClose:R[6]||(R[6]=ee=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","minimap-json","rotation","current-camera","level"])):e.createCommentVNode("",!0)]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Y,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:me})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[k.value&&_.showFullScreen?(e.openBlock(),e.createBlock(tt,{key:0,"is-full-screen":C.value.isActive,class:"btn-fullscreen",onToggleFullscreen:se},null,8,["is-full-screen"])):e.createCommentVNode("",!0),k.value&&_.showSnapshot?(e.openBlock(),e.createElementBlock("div",pr,[e.createVNode(Y,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:He})])):e.createCommentVNode("",!0),e.createElementVNode("div",fr,[_.displayViewModeSwitch&&k.value?(e.openBlock(),e.createBlock(jn,{key:0,"show-static-image":B.value,onToggle:Ue},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),k.value&&_.showShare&&!C.value.isActive?(e.openBlock(),e.createElementBlock("div",hr,[e.createVNode(et)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[k.value&&_.showCarousel&&!Ye.value?(e.openBlock(),e.createElementBlock("div",gr,[k.value?(e.openBlock(),e.createBlock(De,{key:0,class:e.normalizeClass([C.value.isActive?"full-screen":""]),thumbnails:b.value,active:h.value,onNext:me,onPrevious:le,onGoto:O},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",vr,[k.value&&_.showInteriorOptions&&L.value?(e.openBlock(),e.createBlock(Tn,{key:0,"cdn-file-resolver":_.cdnFileResolver,"available-archetypes":L.value,"selected-index":F.value,onSelectInterior:J},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),_.showCarousel&&s.value&&Ye.value?(e.openBlock(),e.createBlock(De,{key:0,class:"waypoint-carousel below-player",thumbnails:b.value,active:h.value,onNext:me,onPrevious:le,onGoto:O},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),_.version&&_.showVersion?(e.openBlock(),e.createElementBlock("div",yr," version: "+e.toDisplayString(_.version),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-51f503a1"]]),Cr={id:"player-wrapper"},kr={id:"player-sizer"},wr={class:"player-control",id:"controls-top-left"},_r={class:"player-control",id:"controls-top-center"},br={class:"player-control",id:"controls-top-right"},Vr={class:"player-control",id:"controls-center-left"},Br={class:"player-control",id:"controls-center-center"},Er={class:"player-control",id:"controls-center-right"},Sr={class:"player-control",id:"controls-bottom-left"},xr={class:"player-control",id:"controls-bottom-center"},Dr={class:"player-control",id:"controls-bottom-right"},Nr=U(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(i,{emit:a}){return(t,n)=>(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",kr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",wr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",_r,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",br,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Vr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Br,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Er,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Sr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",xr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Dr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Ir={class:"virtual-tour-wrapper"},Ar={class:"player-and-components-wrapper"},Fr={class:"mss-image"},Tr={key:1,class:"btn-placeholder"},at=U(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(i){const a=i;e.provide(oe,a.i18nConfig?new ne(a.i18nConfig):new ne);const t=e.ref(0),n=e.ref(new ot(document,"player-wrapper")),o=e.computed(()=>a.images.map((s,f)=>({id:`image-${f}`,thumbnailUrl:s}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{n.value.setup()});function c(){n.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function l(){let s=t.value+1;s>=o.value.length&&(s=0),t.value=s}function m(){let s=t.value-1;s<0&&(s=o.value.length-1),t.value=s}function d(s,f=!0){let w=o.value.findIndex(h=>h.id===s);w!=-1&&(t.value=w)}return(s,f)=>{const w=e.resolveComponent("v-img"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ir,[e.createElementVNode("div",Ar,[e.createElementVNode("div",null,[e.createVNode(Nr,{"is-full-screen":n.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",Fr,[e.createVNode(w,{src:r.value.thumbnailUrl},null,8,["src"])])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:m})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:l})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[s.showFullScreen?(e.openBlock(),e.createBlock(tt,{key:0,"is-full-screen":n.value.isActive,class:"btn-fullscreen",onToggleFullscreen:c},null,8,["is-full-screen"])):e.createCommentVNode("",!0),s.showShare?(e.openBlock(),e.createElementBlock("div",Tr,[e.createVNode(et)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[n.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(De,{key:0,class:e.normalizeClass([n.value.isActive?"full-screen":""]),thumbnails:o.value,active:t.value,onNext:l,onPrevious:m,onGoto:d},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),o.value.length>1?(e.openBlock(),e.createBlock(De,{key:0,thumbnails:o.value,active:t.value,onNext:l,onPrevious:m,onGoto:d},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Lr=["src"],Mr=U(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const a=i,{timeSampleData:t,cdnFileResolver:n,currentTime:o}=e.toRefs(a),r=e.computed(()=>q(n.value,t.value.filename));return(c,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,Lr)),[[e.vShow,e.unref(o)&&e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-9630cdc0"]]),Or=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(i){const a=i,{dayData:t,cdnFileResolver:n,currentTime:o}=e.toRefs(a);return(r,c)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,l=>(e.openBlock(),e.createBlock(Mr,{key:l.filename,"time-sample-data":l,"cdn-file-resolver":e.unref(n),"current-time":e.unref(o)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),$r=["src"],Rr=e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(i){const a=i,{cameraData:t,cdnFileResolver:n,currentCamera:o,currentTime:r}=e.toRefs(a),c=e.computed(()=>q(n.value,o.value.defaultFilename));return(l,m)=>e.unref(t).sunsimDayOfYear?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).sunsimDayOfYear,d=>(e.openBlock(),e.createBlock(Or,{key:d.dayOfYear,"day-data":d,"cdn-file-resolver":e.unref(n),"current-day":l.currentDay,"current-time":e.unref(r)},null,8,["day-data","cdn-file-resolver","current-day","current-time"]))),128)):e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:c.value,src:c.value,width:"100%"},null,8,$r)),[[e.vShow,e.unref(o)===e.unref(t)]])}}),Ur=["src"],Hr=U(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(i){const a=i,{transitionData:t,cdnFileResolver:n,currentTransition:o}=e.toRefs(a),r=e.computed(()=>q(n.value,t.value.filename));return(c,l)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,class:"position-absolute top-left w-100 h-100"},null,8,Ur)),[[e.vShow,e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-a7a18237"]]),Yr=e.defineComponent({__name:"VStructureChooserUiCamera",props:{stillCameras:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:a}){const t=i,{stillCameras:n,currentCamera:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.cameraName);return e.watch(o,()=>{l.value=o.value.cameraName}),e.watch(l,()=>{c("onCameraChange",n.value.find(m=>m.cameraName===l.value))}),(m,d)=>{const s=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(s,{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=f=>l.value=f),items:e.unref(n),disabled:!!e.unref(r),"item-title":"cameraName","item-value":"cameraName",variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-camera"},null,8,["modelValue","items","disabled"])}}});function $e(i){const a=new Date(0);return a.setUTCDate(i),a.toLocaleString("en-no",{month:"short",day:"numeric"})}const zr=e.defineComponent({__name:"VStructureChooserUiDay",props:{currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:a}){const t=i,{currentCamera:n,currentDay:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.dayOfYear);return e.watch(o,()=>{l.value=o.value.dayOfYear}),e.watch(l,()=>{c("onDayChange",n.value.sunsimDayOfYear.find(m=>m.dayOfYear===l.value))}),(m,d)=>{const s=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(f,{modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=w=>l.value=w),items:e.unref(n).sunsimDayOfYear,disabled:!!e.unref(r),"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-calendar"},{item:e.withCtx(({props:w})=>[e.createVNode(s,e.mergeProps(w,{title:e.unref($e)(w.title)}),null,16,["title"])]),selection:e.withCtx(({item:w})=>[e.createTextVNode(e.toDisplayString(e.unref($e)(w.title)),1)]),_:1},8,["modelValue","items","disabled"])}}});function Ee(i){const a=i*60,t=Math.floor(a/60),n=a%60;return`${t.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}const Pr={key:0,class:"py-2"},jr={class:"small"},Wr={class:"small"},Gr=U(e.defineComponent({__name:"VStructureChooserUiTimeSample",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:a}){const t=i,{currentDay:n,currentTime:o,disabled:r}=e.toRefs(t),c=a,l=e.ref(o.value.timeInHours),m=e.ref();e.watch(o,()=>{l.value=o.value.timeInHours}),e.watch(l,()=>{c("onTimeChange",n.value.timeSamples.find(s=>s.timeInHours===l.value))});function d(){m.value?(clearInterval(m.value),m.value=void 0):(n.value.timeSamples.findIndex(f=>f.timeInHours===l.value)===n.value.timeSamples.length-1&&(l.value=n.value.timeSamples[0].timeInHours),m.value=setInterval(()=>{const f=n.value.timeSamples.findIndex(w=>w.timeInHours===l.value);f<n.value.timeSamples.length-1?l.value=n.value.timeSamples[f+1].timeInHours:(clearInterval(m.value),m.value=void 0)},200))}return(s,f)=>{const w=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),u=e.resolveComponent("v-slider"),p=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(p,{variant:"solo"},{default:e.withCtx(()=>[e.unref(n).startTime===e.unref(n).endTime?(e.openBlock(),e.createElementBlock("div",Pr,[e.createVNode(w,{style:{"vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(Ee)(l.value)),1)])):(e.openBlock(),e.createBlock(u,{key:1,class:"pa-1",modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=g=>l.value=g),min:e.unref(n).startTime,max:e.unref(n).endTime,step:e.unref(n).interval,disabled:!!e.unref(r),"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(w,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(Ee)(l.value))+" ",1),e.createVNode(h,{icon:m.value?"mdi-stop":"mdi-play",class:"mx-2",size:"x-small",variant:"flat",onClick:d},null,8,["icon"]),e.createElementVNode("span",jr,e.toDisplayString(e.unref(Ee)(e.unref(n).startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Wr,e.toDisplayString(e.unref(Ee)(e.unref(n).endTime)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-690caa02"]]),rt=e.defineComponent({__name:"VStructureChooserUiNameChip",props:{selectedId:{},renderDisplay:{type:Function}},emits:["onDisplayClick"],setup(i,{emit:a}){const t=i,{selectedId:n,renderDisplay:o}=e.toRefs(t),r=a;return(c,l)=>{const m=e.resolveComponent("v-chip");return e.unref(o)&&e.unref(n)?(e.openBlock(),e.createBlock(m,{key:0,variant:"flat",color:"white",size:"large",onClick:l[0]||(l[0]=d=>r("onDisplayClick",e.unref(n)))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)(e.unref(n))),1)]),_:1})):e.createCommentVNode("",!0)}}}),qr=e.defineComponent({__name:"VStructureChooserUiRotator",props:{structureChooserData:{},currentScene:{}},emits:["onRotateStart","onRotateFinish","onSceneChange"],setup(i,{expose:a,emit:t}){const n=i,{structureChooserData:o,currentScene:r}=e.toRefs(n),c=t;a({rotateShortestRoute:h});const l=e.ref(r.value),m=e.ref(!1);e.watchEffect(()=>{l.value=r.value}),e.watchEffect(()=>{c("onSceneChange",l.value)});const d=e.computed(()=>m.value?!1:o.value.loopable?!0:l.value!==o.value.stillCameraIndices[0]),s=e.computed(()=>m.value?!1:o.value.loopable?!0:l.value!==o.value.stillCameraIndices[o.value.stillCameraIndices.length-1]);function f(){const p=l.value;let g=o.value.stillCameraIndices.findIndex(v=>v===p)+1;g>=o.value.stillCameraIndices.length&&(g=0);let y=o.value.stillCameraIndices[g];o.value.loopable&&y<p&&(y+=o.value.cameras.length),u(p,y)}async function w(){let p=l.value,g=o.value.stillCameraIndices.findIndex(v=>v===p)-1;g<0&&(g=o.value.stillCameraIndices.length-1);const y=o.value.stillCameraIndices[g];o.value.loopable&&p<y&&(p+=o.value.cameras.length),u(p,y)}function h(p){const g=l.value;if(o.value.loopable)if(p<g){let y=g-p,v=g-(o.value.cameras.length+p);return Math.abs(y)>Math.abs(v)?u(g,p):u(g,o.value.cameras.length+p)}else{let y=g-p,v=o.value.cameras.length+g-p;return Math.abs(y)>Math.abs(v)?u(g,p):u(o.value.cameras.length+g,p)}else return u(g,p)}function u(p,g){return new Promise(y=>{m.value=!0,c("onRotateStart",{from:p,to:g,realFrom:p%o.value.cameras.length,realTo:g%o.value.cameras.length});let v,x=p;v=setInterval(()=>{x<g?(x++,l.value=Math.abs(x%o.value.cameras.length)):x>g?(x--,l.value=Math.abs(x%o.value.cameras.length)):(clearInterval(v),c("onRotateFinish",{from:p,to:g,realFrom:p%o.value.cameras.length,realTo:g%o.value.cameras.length}),m.value=!1,y())},50)})}return(p,g)=>{const y=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(y,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!d.value,onClick:w},null,8,["disabled"]),e.renderSlot(p.$slots,"default"),e.createVNode(y,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!s.value,onClick:f},null,8,["disabled"])],64)}}}),Qr=["innerHTML"],Zr=U(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:a}){const t=i,{cdnFileResolver:n,colorCallback:o,currentCamera:r,selectedId:c}=e.toRefs(t),l=a,m=e.ref(),d=e.ref(),s=e.reactive({});e.watchEffect(()=>{for(const h in s){const{element:u,state:p}=s[h],{r:g,g:y,b:v,a:x,s:B}=o.value(h,p)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${g}, ${y}, ${v}, ${x/255})`,u.style.stroke=`rgb(${g}, ${y}, ${v})`,u.style.strokeWidth=B.toString()}}),e.watch(c,()=>{for(const h in s)s[h].state==="selected"&&h!==c.value?s[h].state="idle":s[h].state!=="selected"&&h===c.value&&(s[h].state="selected")}),e.watchEffect(async()=>{m.value=await X.loadText(q(n.value,r.value.overlayFilename)),w()}),e.watch(()=>d.value,()=>{d.value&&new ResizeObserver(f).observe(d.value)});function f(){e.nextTick(()=>{var u;const h=(u=d.value)==null?void 0:u.firstChild;if(h){if(!h.hasAttribute("viewBox")){const p=`0 0 ${h.getAttribute("width")} ${h.getAttribute("height")}`;h.setAttribute("viewBox",p)}h.setAttribute("width",d.value.offsetWidth.toString()),h.setAttribute("height",d.value.offsetHeight.toString())}})}function w(){e.nextTick(()=>{var u;const h=(u=d.value)==null?void 0:u.firstChild;if(h){l("updateSvgContainer",h),f();let p,g="data-structure-id";p=h.querySelectorAll(`[${g}]`),p.length===0&&(g="data-apartment-id",p=h.querySelectorAll(`[${g}]`),p.length===0&&(g="data-building-id",p=h.querySelectorAll(`[${g}]`))),p.forEach(y=>{y.style.strokeWidth="0",y.style.stroke="rgba(255,255,255,0)",y.style.fill="rgba(255,255,255,0)",y.querySelectorAll("path").forEach(x=>{x.style.stroke="inherit",x.style.fill="inherit"});const v=y.getAttribute(g);s[v]={element:y,state:c.value===v?"selected":"idle"},y.addEventListener("mouseover",()=>{s[v].state==="idle"&&(s[v].state="hover"),l("onHoverOver",v)}),y.addEventListener("mouseout",()=>{s[v].state==="hover"&&(s[v].state="idle"),l("onHoverOut",v)}),y.addEventListener("click",()=>{l("onClick",v)})})}})}return(h,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:d,key:e.unref(r).overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:m.value},null,8,Qr))]),_:1}))}}),[["__scopeId","data-v-354134d9"]]);function Jr(i){if(!i)return!1;const a=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function Xr(i){return!("filename"in i)&&"defaultFilename"in i}function Re(i){return"filename"in i}function Kr(i){return i?"version"in i:!1}function el(i){if(!i)return!1;const a=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of a)if(!(t in i))return!1;return!0}function tl(i){if(!i)return!1;const a=["version","latitude","longitude","buildings","cameras"];for(const t of a)if(!(t in i))return!1;return!0}function _e(i){return i.startsWith("/")?i:`/${i}`}function lt(i){var a,t,n,o;if(Jr(i))return i;if(tl(i)){if(!i.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:r,name:c})=>({id:r,name:c,type:"building"})),stillCameraIndices:i.cameras.map((r,c)=>c),stillCameraData:i.buildings.map(({id:r})=>({bestIndex:0,id:r})),loopable:!1,cameras:i.cameras.map(r=>{var l;if(r.sunsimDayOfYear){if(r.sunsimDayOfYear.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(r.sunsimDayOfYear[0].timeSamples){if(r.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const c={...r};return c.sunsimDayOfYear&&c.sunsimDayOfYear.forEach(m=>{m.timeSamples&&m.timeSamples.forEach(d=>{d.filename=_e(d.filename)})}),{...c,defaultFilename:c.sunsimDayOfYear[0]?_e(((l=c.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===c.sunsimDayOfYear[0].defaultHour))==null?void 0:l.filename)||c.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(el(i)){if(!i.days&&!i.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const r=i.days||[{dayOfYear:180,timeSamples:i.timeSamples}];return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:c,name:l})=>({id:c,name:l,type:"building"})),stillCameraIndices:[0],stillCameraData:i.buildings.map(({id:c})=>({bestIndex:0,id:c})),loopable:!1,cameras:[{cameraName:"",cameraPosition:i.cameraPosition,cameraRotation:it(i.cameraRotation.normalized||i.cameraRotation),cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:_e((t=(a=r[0])==null?void 0:a.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:r.map(c=>({dayOfYear:c.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:c.timeSamples.map(({timeInHours:l,filename:m})=>({timeInHours:l,filename:_e(m)}))}))}]}}else{if(Qt(i))return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:{id:i.building.id,name:i.building.name,type:"building"},structures:i.unitData.map(({unitId:r})=>({id:r,name:r,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.unitData.map(({bestScene:r,unitId:c})=>({bestIndex:r,id:c})),loopable:i.loopable,cameras:i.cameras.map(r=>{var c;if(Le(r)){if(r.sunsimDayOfYear){if(r.sunsimDayOfYear.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(r.sunsimDayOfYear[0].timeSamples){if(r.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const l={...r};return l.sunsimDayOfYear&&l.sunsimDayOfYear.forEach(m=>{m.timeSamples&&m.timeSamples.forEach(d=>{d.filename=_e(d.filename)})}),{...l,defaultFilename:l.sunsimDayOfYear[0]?_e(((c=l.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===l.sunsimDayOfYear[0].defaultHour))==null?void 0:c.filename)||l.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(Kr(i)){if(!i.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!i.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const r=[...Array(64).keys()].map(l=>({filename:`/1280/${(l+1).toString().padStart(4,"0")+".jpg"}`})),c=[4,1,2,3];for(let l=0;l<i.scenes.length;l++){let m=i.scenes[l],d,s;d=r[m].filename,s={cameraName:`Camera ${l+1}`,cameraPosition:void 0,cameraRotation:i.sceneCameras&&(n=i.sceneCameras.find(f=>f.scene===l))!=null&&n.cameraRotation?it((o=i.sceneCameras.find(f=>f.scene===l))==null?void 0:o.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${c[l]}V5Overlay.svg`,defaultFilename:d,sunsimDayOfYear:void 0},Re(r[m])&&(r[m]=s)}return{version:"5.0",latitude:0,longitude:0,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.sceneData.map(({apartmentID:l})=>({id:l,name:l,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.sceneData.map(({apartmentID:l,bestScene:m})=>({bestIndex:c.findIndex(d=>d===m)in i.scenes?i.scenes[c.findIndex(d=>d===m)]:null,id:l})).filter(({bestIndex:l})=>l!==null),loopable:!0,cameras:r}}else throw new Error("cannot convert data, no conversion source type found")}}function it({x:i,y:a,z:t}){return{x:i,y:a,z:t,w:0}}const ol={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},nl={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},al={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},rl=["innerHTML"],ll={style:{"z-index":"7"}},il={key:1,class:"render-version"},st=U(e.defineComponent({__name:"VStructureChooser",props:{structureChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},renderDisplay:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{emit:a}){const t=i,{structureChooserData:n,cdnFileResolver:o,colorCallback:r,i18nConfig:c,customOverlayContent:l,selectedId:m,defaultCamera:d,defaultDay:s,defaultTime:f,renderDisplay:w,mobileBreakpoint:h}=e.toRefs(t),u=a;e.provide(oe,c.value?new ne(c.value):new ne);const p=e.ref(),g=e.ref(),y=e.ref(),v=e.ref(null),x=e.ref(4),B=e.ref(),N=e.ref(!1),k=e.ref(!1),C=e.ref(),A=e.ref(),E=e.computed(()=>A.value.isHoverEnabled),F=e.ref({x:0,y:0,width:0,height:0}),b=e.ref(),S=e.ref(),I=e.ref(),L=e.ref(!1);e.onMounted(()=>{N.value=!0});const P=e.computed(()=>T.value.length>0&&(T.value.length!==1||T.value[0].cameraName!=="")),V=e.computed(()=>p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0),D=e.computed(()=>!!g.value&&!!g.value.timeSamples);e.watch(n,O=>{try{I.value=lt(O)}catch(j){u("onError",j)}},{immediate:!0}),e.watch(N,O=>{O&&u("onInitialize")}),e.watch(()=>S.value,()=>{S.value&&new ResizeObserver(([j])=>{L.value=j.contentRect.width<h.value}).observe(S.value)});const T=e.computed(()=>I.value?I.value.cameras.filter(Xr):[]),H=e.computed(()=>I.value?I.value.cameras.filter(Re):[]);e.watch([I,o,d],async()=>{o.value&&T.value.length>0&&(d.value?p.value=T.value.find(O=>O.cameraName===d.value)||T.value[0]:p.value=T.value[0],x.value=I.value.cameras.findIndex(O=>O===p.value),x.value=Math.max(0,x.value))},{immediate:!0}),e.watch([I,o,s],()=>{I.value&&o.value&&p.value&&p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0&&(s.value?g.value=p.value.sunsimDayOfYear.find(O=>O.dayOfYear===s.value)||p.value.sunsimDayOfYear[0]:g.value=p.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([I,o,f],()=>{I.value&&o.value&&g.value&&g.value.timeSamples&&g.value.timeSamples.length>0&&(f.value?y.value=g.value.timeSamples.find(O=>O.timeInHours===f.value)||g.value.timeSamples[0]:y.value=g.value.timeSamples.find(O=>O.timeInHours===g.value.defaultHour)||g.value.timeSamples[0])},{immediate:!0});function Z(O){p.value!==O&&C.value.rotateShortestRoute(I.value.cameras.findIndex(j=>j===O))}function Q(O){x.value=O,Re(I.value.cameras[x.value])?v.value=I.value.cameras[x.value]:(e.nextTick(()=>{K(I.value.cameras[x.value])}),v.value=null)}function K(O){const j=g.value;p.value=O,x.value=I.value.cameras.findIndex(J=>J===p.value),e.nextTick(()=>{p.value.sunsimDayOfYear&&p.value.sunsimDayOfYear.length>0&&ae(p.value.sunsimDayOfYear.find(J=>J.dayOfYear===j.dayOfYear)||p.value.sunsimDayOfYear[0])})}function ae(O){const j=y.value;g.value=O,e.nextTick(()=>{re(g.value.timeSamples.find(J=>J.timeInHours===j.timeInHours)||g.value.timeSamples.find(J=>J.timeInHours===g.value.defaultHour)||g.value.timeSamples[0])})}function re(O){y.value=O}function te(O){u("onClick",O,()=>{const j=I.value.stillCameraData.find(J=>J.id===O);j&&C.value.rotateShortestRoute(j.bestIndex)})}function ie(O){u("onHoverOver",O),B.value=O}function me(O){u("onHoverOut",O),B.value=void 0}function le(O){const{layerX:j,layerY:J}=O;let $=O.target,M=!1;for(;$;)if($===b.value){M=!0;break}else $=$.parentElement;if(M){const W=O.currentTarget;F.value={x:j,y:J,width:W.clientWidth,height:W.clientHeight}}else F.value=void 0;u("onMouseMove",O,F.value)}return(O,j)=>{const J=e.resolveComponent("v-text-field"),$=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode($,{type:"image",class:"w-100 h-100 position-relative",loading:!N.value||!I.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:S,class:e.normalizeClass({mobile:L.value}),style:{"min-height":"104px"},onMousemove:le},[e.createElementVNode("div",ol,[P.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({"pa-1":!0,_25:V.value&&D.value,_50:!V.value&&D.value||V.value&&!D.value,_100:!V.value&&!D.value,"mobile-double":V.value})},[T.value.length>1?(e.openBlock(),e.createBlock(Yr,{key:0,"still-cameras":T.value,"current-camera":p.value,disabled:k.value,onOnCameraChange:Z},null,8,["still-cameras","current-camera","disabled"])):T.value.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:T.value[0].cameraName,variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-camera"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass({"pa-1":!0,_25:P.value&&D.value,_50:!P.value&&D.value||P.value&&!D.value,_100:!P.value&&!D.value,"mobile-double":P.value})},[p.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(zr,{key:0,"current-camera":p.value,"current-day":g.value,disabled:k.value,onOnDayChange:ae},null,8,["current-camera","current-day","disabled"])):p.value.sunsimDayOfYear.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:e.unref($e)(p.value.sunsimDayOfYear[0].dayOfYear),variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-calendar"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),D.value?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"pa-1":!0,_50:P.value||V.value,_100:!P.value&&!V.value})},[g.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Gr,{key:0,"current-day":g.value,"current-time":y.value,disabled:k.value,onOnTimeChange:re},null,8,["current-day","current-time","disabled"])):g.value.timeSamples.length===1?(e.openBlock(),e.createBlock(J,{key:1,readonly:"",value:e.unref(Ee)(g.value.timeSamples[0].timeInHours),variant:"solo",density:"compact","hide-details":"","prepend-inner-icon":"mdi-white-balance-sunny"},null,8,["value"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)]),e.createElementVNode("div",nl,[I.value.cameras.length>1?(e.openBlock(),e.createBlock(qr,{key:0,ref_key:"rotator",ref:C,"structure-chooser-data":I.value,"current-scene":x.value,onOnSceneChange:Q,onOnRotateStart:j[0]||(j[0]=M=>k.value=!0),onOnRotateFinish:j[1]||(j[1]=M=>k.value=!1)},{default:e.withCtx(()=>[e.createVNode(rt,{"selected-id":e.unref(m),"render-display":e.unref(w),onOnDisplayClick:te},null,8,["selected-id","render-display"])]),_:1},8,["structure-chooser-data","current-scene"])):(e.openBlock(),e.createBlock(rt,{key:1,"selected-id":e.unref(m),"render-display":e.unref(w),onOnDisplayClick:te},null,8,["selected-id","render-display"]))]),e.createElementVNode("div",al,[p.value.cameraRotation?(e.openBlock(),e.createBlock(ge,{key:0,longitude:p.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(he,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.value,(M,W)=>(e.openBlock(),e.createBlock(Rr,{key:`camera${W}`,"camera-data":M,"cdn-file-resolver":e.unref(o),"current-camera":p.value,"current-day":g.value,"current-time":y.value},null,8,["camera-data","cdn-file-resolver","current-camera","current-day","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(H.value,(M,W)=>(e.openBlock(),e.createBlock(Hr,{key:`transition${W}`,"transition-data":M,"cdn-file-resolver":e.unref(o),"current-transition":v.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(l)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:e.unref(l)},null,8,rl)):e.createCommentVNode("",!0),p.value.overlayFilename?e.withDirectives((e.openBlock(),e.createBlock(Zr,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(r),"current-camera":p.value,"selected-id":e.unref(m),onOnClick:te,onOnHoverOver:ie,onOnHoverOut:me,onUpdateSvgContainer:j[2]||(j[2]=M=>b.value=M)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,v.value===null]]):e.createCommentVNode("",!0)]),_:1}),O.$slots.popup&&F.value&&B.value?(e.openBlock(),e.createBlock(fe,{key:0,"is-hoverable":E.value,pos:F.value},{default:e.withCtx(()=>[e.createElementVNode("div",ll,[e.renderSlot(O.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:B.value,hoverable:E.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),O.version&&O.showVersion?(e.openBlock(),e.createElementBlock("div",il," version: "+e.toDisplayString(O.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(de,{ref_key:"hoverProbe",ref:A},null,512)],64)}}}),[["__scopeId","data-v-053c10f6"]]),sl={install:function(a){a.component("VApartmentChooser",We),a.component("VBuildingChooser",Je),a.component("VVirtualTour",nt),a.component("VManualSlideShow",at),a.component("VStructureChooser",st)}};z.ResourceLoader=X,z.VApartmentChooser=We,z.VApartmentChooserV5=ko,z.VBuildingChooser=Je,z.VBuildingChooserV5=ln,z.VFloatingCard=fe,z.VHoverProbe=de,z.VManualSlideShow=at,z.VNorthDirection=ge,z.VStructureChooser=st,z.VVirtualTour=nt,z.VZoomBox=he,z.convertApartmentChooserDataLegacyToV5=qe,z.convertBuildingChooserDataLegacyToV5=Xe,z.convertStructureChooserDataLegacyToV5=lt,z.default=sl,Object.defineProperties(z,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});