@qispace/vue3-player 0.2.11 → 0.2.12

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(P,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):(P=typeof globalThis<"u"?globalThis:P||self,e(P["vue3-player"]={},P.Vue,P.axios,P.PlayerCore,P.THREE))})(this,function(P,e,pe,ct,dt){"use strict";var gl=Object.defineProperty;var yl=(P,e,pe)=>e in P?gl(P,e,{enumerable:!0,configurable:!0,writable:!0,value:pe}):P[e]=pe;var W=(P,e,pe)=>(yl(P,typeof e!="symbol"?e+"":e,pe),pe);function He(l){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(a,t,o.get?o:{enumerable:!0,get:()=>l[t]})}}return a.default=l,Object.freeze(a)}const mt=He(ct),he=He(dt);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 pe.get(a)).data}async loadJson(a){return(await pe.get(a)).data}async loadImage(a){return new Promise((t,o)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>{t(n)},n.onerror=o,n.src=a})}async loadImageData(a){const t=await this.loadImage(a),o=document.createElement("canvas");try{const n=o.getContext("2d");return o.width=t.width,o.height=t.height,n.drawImage(t,0,0),o.toDataURL("image/png")}finally{o.remove()}}}const ut=e.defineComponent({__name:"VHoverProbe",setup(l,{expose:a}){const t=e.ref(),o=e.computed(()=>window.getComputedStyle(t.value).display==="none");return a({isHoverEnabled:o}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),U=(l,a)=>{const t=l.__vccOpts||l;for(const[o,n]of a)t[o]=n;return t},fe=U(ut,[["__scopeId","data-v-eb9b348d"]]);function G(l,a){return typeof l=="string"?`${l}${a}`:l(a)}const pt=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(l,{emit:a}){const t=l,o=a,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),c=e.ref(0),i=e.ref(),u=e.ref(),d=e.ref(),s=e.ref(),h=e.ref(-1),k=e.ref(!1),f=e.ref(),m=e.ref(),p=e.ref({}),w=e.ref("auto"),C=e.ref(new X),g=e.ref({}),D=e.ref(),V=e.ref(),N=e.ref(),_=e.ref(),y=e.ref(),F=e.computed(()=>N.value.isHoverEnabled),B=e.computed(()=>G(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),M=e.computed(()=>B.value in p.value?p.value[B.value]:null),v=e.computed(()=>h.value<0?!1:t.sceneData.find(T=>T.index===h.value)||!1),E=e.computed(()=>({width:r.value+"px",height:c.value+"px",cursor:w.value})),O=e.computed(()=>`hover-${k.value?"over":"out"}-${v.value?typeof v.value=="object"&&"unitId"in v.value?v.value.unitId:v.value:""}`);e.watch(B,()=>{p.value[B.value]||C.value.loadImageData(B.value).then(x=>{p.value={...p.value,[B.value]:x}})},{immediate:!0}),e.watch(M,()=>{M.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{te()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{te()}),e.watch(v,()=>{te(),v.value?w.value="pointer":w.value="auto"}),e.watch(O,()=>{k.value?o("hoverOver",{hoverUnit:v.value?v.value.unitId:!1,closeHandler:()=>le()}):o("hoverOut",{hoverUnit:v.value?v.value.unitId:!1,closeHandler:()=>le()})}),e.watch(n,()=>{o("pos",n.value)}),e.onMounted(()=>{V.value=()=>{clearTimeout(D.value),re(),D.value=setTimeout(()=>{re()},50)},window.addEventListener("resize",V.value),re()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V.value);for(const x in p.value)URL.revokeObjectURL(p.value[x])});function L(){i.value=_.value.getContext("2d",{willReadFrequently:!0}),u.value=new Image,u.value.onload=()=>{de(),_.value.addEventListener("mousemove",I(Y,50))},u.value.src=M.value}function Y(x){const T=$(x.offsetX,x.offsetY);k.value=T>=0,h.value=T,n.value={x:x.offsetX,y:x.offsetY,width:r.value,height:c.value}}function A(x){const T=$(x.offsetX,x.offsetY);T<0||F&&oe(T)}function S(){if(u.value&&u.value.width){_.value.width=u.value.width,_.value.height=u.value.height,i.value.drawImage(u.value,0,0,u.value.width,u.value.height),s.value=i.value.getImageData(0,0,_.value.width,_.value.height),d.value=i.value.getImageData(0,0,_.value.width,_.value.height);const x=s.value.data;g.value={};for(let T=0;T<x.length;T+=4)g.value[x[T]]=[];for(let T=3;T<x.length;T+=4)x[T]===255&&x[T-3]in g.value&&g.value[x[T-3]].push(T-3)}}function $(x,T){f.value=x,m.value=T;const H=_.value.offsetWidth/_.value.width,Z=_.value.offsetHeight/_.value.height,ne=(x/H).toFixed(),ie=(T/Z).toFixed(),K=Number(ie)*(_.value.width*4)+Number(ne)*4,$e=s.value.data[K];return s.value.data[K+3]>0?$e:-1}function z(){Q().forEach(T=>{if(T.index>=0){const H=J(T.index);if(H){const Z=q(T.index);let ne="idle";!v.value&&t.selectedUnitId&&Z===t.selectedUnitId?ne="selected":v.value&&h.value===T.index&&(ne="hover");const ie=t.colorCallback(T.unitId,ne);if(ie)for(let K=0;K<H.length;K++)d.value.data[H[K]]=ie.r,d.value.data[H[K]+1]=ie.g,d.value.data[H[K]+2]=ie.b,d.value.data[H[K]+3]=ie.a}}})}function J(x){return s.value?g.value[x]:!1}function q(x){const T=t.sceneData.find(H=>H.index===x);return T&&T.unitId}function Q(){if(s.value){const x=Object.keys(g.value).map(H=>parseInt(H));return t.sceneData.filter(H=>x.includes(H.index))}else return[]}function oe(x){const T=q(x);me(T)}function me(x){o("selectUnit",x),x&&t.canGoToUnitCallback(x)&&o("goToUnit",x)}function ue(x=0){if(!d.value)return;const T=d.value.data;for(let H=3;H<T.length;H+=4)T[H]=x}function re(){if(!y.value)return!1;r.value=y.value.offsetWidth,c.value=y.value.offsetHeight}function de(){S(),te()}function te(){ue(),z(),i.value&&d.value&&i.value.putImageData(d.value,0,0)}function le(){k.value=!1}const ee=e.ref(!1);function I(x,T){return ee.value=!0,function(...H){ee.value&&(ee.value=!1,x.apply(this,H),setTimeout(()=>ee.value=!0,T))}}return(x,T)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:y,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:_,style:e.normalizeStyle(E.value),onClick:A},null,4),[[e.vShow,!x.viewModel.isRotating]]),e.createVNode(fe,{ref_key:"hoverProbe",ref:N},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),ft=["viewBox"],ht=["innerHTML","onMouseenter","onMouseleave","onClick"],gt=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(l,{emit:a}){const t=l,o=a,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),c=e.ref({}),i=e.ref(null),u=e.ref(new X),d=e.ref(),s=e.ref(),h=e.computed(()=>s.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in c.value&&(i.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(c,()=>{t.viewModel.currentScene in c.value&&(i.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(n,()=>{o("pos",n.value)}),e.watch(r,(V,N)=>{if(V>=0){const _=f(V);o("hoverOver",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}else{const _=f(N);o("hoverOut",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let V=1;V<=4;V++){const N=G(t.cdnFileResolver,`/scenedata${V}.svg`),_={markup:"",viewBox:"",svgObjects:[]};u.value.loadJson(N).then(y=>{_.markup=y;const B=new DOMParser().parseFromString(y,"image/svg+xml").getElementsByTagName("svg")[0];_.viewBox=B.getAttribute("viewBox"),_.svgObjects=Array.from(B.querySelectorAll("*[data-index]")).map(M=>({index:parseInt(M.getAttribute("data-index")),svg:M.innerHTML})),c.value={...c.value,[V]:_}})}d.value.addEventListener("mousemove",D(k,50))});function k(V){n.value={x:V.offsetX,y:V.offsetY,width:d.value.offsetWidth,height:d.value.offsetHeight}}function f(V){var N;return(N=t.sceneData.find(_=>_.index===(typeof V=="string"?parseInt(V):V)))==null?void 0:N.unitId}function m(V){h.value&&(r.value=V)}function p(V){h.value&&(r.value=-1)}function w(V){const N=f(V);o("selectUnit",N),h.value&&N&&t.canGoToUnitCallback(N)?o("goToUnit",N):r.value=V}function C(V){const N=f(V);let _="idle";r.value<0&&t.selectedUnitId&&N===t.selectedUnitId?_="selected":r.value>=0&&r.value===V&&(_="hover");const y=t.colorCallback(N,_);if(y){const{r:F,g:B,b:M,a:v,s:E}=y;return{strokeWidth:E!==void 0?E:2,stroke:`rgb(${F}, ${B}, ${M})`,strokeOpacity:1,fill:`rgb(${F}, ${B}, ${M})`,fillOpacity:v/255,cursor:`${t.canGoToUnitCallback(N)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const g=e.ref(!1);function D(V,N){return g.value=!0,function(..._){g.value&&(g.value=!1,V.apply(this,_),setTimeout(()=>g.value=!0,N))}}return(V,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:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:_,svg:y})=>(e.openBlock(),e.createElementBlock("g",{key:_,innerHTML:y,style:e.normalizeStyle(C(_)),onMouseenter:F=>m(_),onMouseleave:F=>p(),onClick:F=>w(_)},null,44,ht))),128))],8,ft)):e.createCommentVNode("",!0)],4),[[e.vShow,!V.viewModel.isRotating]]),e.createVNode(fe,{ref_key:"hoverProbe",ref:s},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),se=Symbol(),yt={key:0,class:"text-success d-none d-md-flex"},kt={class:"text-success"},vt=U(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(l,{emit:a}){const t=l,o=e.computed(()=>t.selectedUnitId),n=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),c=a,i=e.inject(se);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 h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:s[0]||(s[0]=k=>d.viewModel.rotateClockwise())}),e.createVNode(h,{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]=k=>c("prevUnit"))},null,8,["disabled"]),e.createVNode(h,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!o.value||!d.canGoToUnitCallback(o.value),onClick:s[2]||(s[2]=k=>c("goToUnit",o.value))},{default:e.withCtx(()=>[o.value&&d.canGoToUnitCallback(o.value)?(e.openBlock(),e.createElementBlock("span",yt,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",kt,e.toDisplayString(o.value?t.unitRenderer(o.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(h,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!n.value,onClick:s[3]||(s[3]=k=>c("nextUnit"))},null,8,["disabled"]),e.createVNode(h,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:s[4]||(s[4]=k=>d.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ie{constructor(a){W(this,"_numParts");W(this,"_loadedCount");W(this,"_isError");W(this,"_finishedAction");W(this,"_errorAction");W(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 Ae{constructor(a,t,o,n){W(this,"_rotator");W(this,"_direction");W(this,"_frameIndex");W(this,"_sceneCount");this._rotator=a,this._direction=t,this._frameIndex=o,this._sceneCount=n}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 Ae(this._rotator,this._direction,a,t)}}class Ct{constructor(a,t){W(this,"_cardinalFrames");W(this,"_totalFrameCount");this._cardinalFrames=a,this._totalFrameCount=t}start(a,t,o){const n=this.startFrameIndexForScene(t);return new Ae(this,a,n,o)}isCardinalFrame(a){return this._cardinalFrames.includes(a)}clampFrameIndex(a){return(this._totalFrameCount+a)%this._totalFrameCount}startFrameIndexForScene(a){return this._cardinalFrames[a]}}const wt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},_t={key:1,class:"frame-container"},bt={key:0,class:"frame-image"},Vt=["srcset"],Bt=["src"],Et={key:2,id:"image-stack",class:"frame-container"},St=["alt"],xt=["srcset"],Dt=["src"],ze=64,Be=4,Nt=120,It=U(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(l,{emit:a}){const t=l,o=a,n=f(),r=e.ref(new Ie(n.length).onLoadFinished(()=>o("loaded")).onLoadProgress(C=>o("progress",C)).onLoadError(()=>o("error"))),c=e.ref(new Ct(t.cardinalFrames,ze)),i=e.ref(n),u=e.ref(!1),d=e.computed(()=>i.value.find(C=>C.show));e.watch(()=>t.viewModel.currentScene,(C,g)=>{const D=w(g,C),V=p(g,C);s(g,D,V)}),e.onMounted(()=>{k()});function s(C,g,D){t.viewModel.isRotating||(t.viewModel.isRotating=!0,h(c.value.start(g,C%Be,D)))}function h(C){setTimeout(()=>{i.value[C.frameIndex].show=!1;const g=C.nextFrame();i.value[g.frameIndex].show=!0,g.atEnd?k():window.requestAnimationFrame(()=>h(g))},1e3/Nt)}function k(){const C=c.value.startFrameIndexForScene(t.viewModel.currentScene%Be);C in i.value&&(i.value[C].show=!0),t.viewModel.isRotating=!1}function f(){const C=[];for(let g=0;g<ze;g++){const{sourceSet:D,defaultPath:V}=m(g);C.push({index:g,sourceSet:D,defaultPath:V,show:!1})}return C}function m(C){const g=("0000"+(C+1)).slice(-4),D=t.build?`?v=${t.build}`:"",V=[`${G(t.cdnFileResolver,`/480/${g}.jpg${D}`)} 480w`,`${G(t.cdnFileResolver,`/960/${g}.jpg${D}`)} 960w`,`${G(t.cdnFileResolver,`/1280/${g}.jpg${D}`)} 1280w`].join(","),N=G(t.cdnFileResolver,`/480/${g}.jpg${D}`);return{sourceSet:V,defaultPath:N}}function p(C,g){const D=Be/2,V=Math.abs(C-g);return V>D?Be-V:V}function w(C,g){if(C===g)return 0;const V=Math.abs(C-g)<Be/2;return V&&C<g||!V&&C>g?1:-1}return(C,g)=>{const D=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",Et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,V=>(e.openBlock(),e.createElementBlock("picture",{key:V.index,alt:V.index,class:e.normalizeClass({"frame-image":!0,show:V.show})},[e.createElementVNode("source",{srcset:V.sourceSet,type:"image/jpeg"},null,8,xt),e.createElementVNode("img",{src:V.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=N=>r.value.partLoaded()),onError:g[3]||(g[3]=N=>r.value.errorDetected())},null,40,Dt)],10,St))),128))])):(e.openBlock(),e.createElementBlock("div",_t,[d.value?(e.openBlock(),e.createElementBlock("picture",bt,[e.createElementVNode("source",{srcset:d.value.sourceSet,type:"image/jpeg"},null,8,Vt),e.createElementVNode("img",{src:d.value.defaultPath,onLoad:g[0]||(g[0]=V=>u.value=!0),onError:g[1]||(g[1]=V=>r.value.errorDetected())},null,40,Bt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),ge=U(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(l,{emit:a}){const t=l,o=a,n=e.computed(()=>{let r,c,i,u;return t.pos.x<=t.pos.width/2?(r="-100%",i="-8px"):(r="0%",i="8px"),t.pos.y<=t.pos.height/2?(c="-100%",u="-8px"):(c="0%",u="8px"),`translate(${r}, ${c}) translate(${i}, ${u})`});return(r,c)=>{const i=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:n.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(i,{key:1,value:!0,width:"auto","onClick:outside":c[0]||(c[0]=d=>o("outside",d))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),ye=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(l,{expose:a,emit:t}){const o=l,n=t;a({adjustZoom:Y});const r=e.ref(100),c=e.ref(0),i=e.ref(0),u=e.ref(!1),d=e.ref(!1),s=e.ref(void 0),h=e.ref(!1),k=e.ref(),f=e.computed(()=>`translateX(${c.value}px) translateY(${i.value}px) scale(${m.value})`),m=e.computed(()=>r.value/100),p=e.computed(()=>o.maxScale*100);e.watch([m,c,i],()=>{A()},{immediate:!0}),e.watch(()=>o.desktop,()=>{o.desktop?w():g()}),e.watch(()=>o.mobile,()=>{o.mobile?C():D()}),e.onMounted(()=>{o.desktop&&w(),o.mobile&&C()}),e.onBeforeUnmount(()=>{o.desktop&&g(),o.mobile&&D()});function w(){k.value.addEventListener("wheel",V,{capture:!0}),k.value.addEventListener("mousedown",N,{capture:!0}),k.value.addEventListener("mousemove",_,{capture:!0}),window.addEventListener("mouseup",y,{capture:!0}),window.addEventListener("click",F,{capture:!0})}function C(){k.value.addEventListener("touchstart",B,{capture:!0}),k.value.addEventListener("touchmove",M,{capture:!0}),window.addEventListener("touchend",v,{capture:!0}),window.addEventListener("touchcancel",v,{capture:!0})}function g(){k.value.removeEventListener("wheel",V,{capture:!0}),k.value.removeEventListener("mousedown",N,{capture:!0}),k.value.removeEventListener("mousemove",_,{capture:!0}),window.removeEventListener("mouseup",y,{capture:!0}),window.removeEventListener("click",F,{capture:!0})}function D(){k.value.removeEventListener("touchstart",B,{capture:!0}),k.value.removeEventListener("touchmove",M,{capture:!0}),window.removeEventListener("touchend",v,{capture:!0}),window.removeEventListener("touchcancel",v,{capture:!0})}function V(S){const{x:$,y:z}=E(S);Y(-S.deltaY/10,$,z),S.preventDefault()}function N(S){u.value=!0,h.value=!1,s.value=S}function _(S){if(u.value){const{x:$,y:z}=E(S),{x:J,y:q}=E(s.value),Q={x:$-J,y:z-q};O(Q.x),L(Q.y),h.value=!0,s.value=S}}function y(S){u.value&&h.value&&o.consumeMouseUpWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation())}function F(S){u.value&&(h.value&&o.consumeMouseClickWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation()),u.value=!1)}function B(S){u.value=S.touches.length===1,d.value=S.touches.length===2,s.value=S}function M(S){if(u.value){const{x:$,y:z}=E(S.touches[0]),{x:J,y:q}=E(s.value.touches[0]),Q={x:$-J,y:z-q};O(Q.x),L(Q.y)}else if(d.value&&S.touches.length===2){const{x:$,y:z}=E(S.touches[0]),{x:J,y:q}=E(s.value.touches[0]),{x:Q,y:oe}=E(S.touches[1]),{x:me,y:ue}=E(s.value.touches[1]),re=Math.hypot(J-me,q-ue),de=Math.hypot($-Q,z-oe),te=(Q+$)/2,le=(oe+z)/2;Y(de-re,te,le)}s.value=S}function v(){u.value=!1,d.value=!1}function E(S){const{left:$,top:z}=k.value.getBoundingClientRect();return{x:S.clientX-$,y:S.clientY-z}}function O(S){const $=k.value.clientWidth,z=$*m.value;c.value=Math.max(Math.min(0,c.value+S),-(z-$))}function L(S){const $=k.value.clientHeight,z=$*m.value;i.value=Math.max(Math.min(0,i.value+S),-(z-$))}function Y(S,$,z){const J=$!==void 0?$:k.value.clientWidth/2,q=z!==void 0?z:k.value.clientHeight/2,Q=k.value.clientWidth,oe=k.value.clientHeight,me=Q*m.value,ue=oe*m.value;r.value=Math.min(Math.max(100,r.value+S),p.value);const re=Q*m.value,de=oe*m.value,te=re-me,le=de-ue;c.value-=J/Q*te,i.value-=q/oe*le,O(0),L(0)}function A(){n("update",{scale:m.value,x:c.value,y:i.value,current:Math.min(Math.max(100,r.value),p.value),min:100,max:p.value,resolve:(S,$)=>{const z=k.value.clientWidth,J=k.value.clientHeight,q=c.value/-m.value,Q=i.value/-m.value,oe=q+z/m.value,me=Q+J/m.value,ue=S/z*(oe-q)+q,re=$/J*(me-Q)+Q;return{x:ue,y:re}}})}return(S,$)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:k,class:"zoom-box-container",style:e.normalizeStyle({position:o.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:f.value}),class:"zoom-box"},[e.renderSlot(S.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Fe=4;function Ye(l){return l<Fe?l+1:1}function At(l){return l>1?l-1:Fe}class Ft{constructor(a){W(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=Ye(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=At(this.currentScene)})}}const Tt={interior:{en:"Interior",nb:"Møblering",sv:"Interiör",fi:"Sisustus"},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.",fi:"Kaikki kuvitukset ovat ohjeellisia. Poikkeamia voi esiintyä."},iUnderstand:{en:"I understand",nb:"Jeg forstår",sv:"Jag förstår",fi:"Ymmärrän"},share:{en:"Share",nb:"Dele",sv:"Dela",fi:"Jaa"},shareToFacebook:{en:"Share to Facebook",nb:"Del på Facebook",sv:"Dela till Facebook",fi:"Jaa Facebookissa"},shareToLinkedin:{en:"Share to Linkedin",nb:"Del til Linkedin",sv:"Dela till Linkedin",fi:"Jaa LinkedInissä"},shareToTwitter:{en:"Share to Twitter",nb:"Del på Twitter",sv:"Dela på Twitter",fi:"Jaa Twitterissä"},shareViaEmail:{en:"Share via Email",nb:"Del via e-post",sv:"Dela via e-post",fi:"Jaa sähköpostitse"},copyLink:{en:"Copy link",nb:"Kopier lenken",sv:"Kopiera länken",fi:"Kopioi linkki"},slideShow:{en:"Images",nb:"Bilder",sv:"Bilder",fi:"Kuvat"},floor:{en:"Floor",nb:"Gulv",sv:"Golv",fi:"Kerros"},seeApartment:{en:"See apartment",nb:"Se leilighet",sv:"Se lägenhet",fi:"Katso asunto"},clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt",sv:"Klicka och dra för att se dig omkring",fi:"Napsauta ja vedä katsoaksesi ympärillesi"},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",fi:"Napsauta ympyröitä siirtyäksesi"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome",sv:"Använd mushjulet för att zooma",fi:"Käytä hiiren rullaa zoomaukseen"},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",fi:"Voit myös käyttää nuolinäppäimiä liikkumiseen"},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",fi:"Napauta ja vedä nähdäksesi ympärilläsi"},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",fi:"Napauta ympyröitä siirtyäksesi"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome",sv:"Använd två fingrar för att zooma",fi:"Käytä kahta sormea ​​zoomataksesi"},dontShowAgain:{en:"Don't show again",nb:"Ikke vis igjen",sv:"Visa inte igen",fi:"Älä näytä uudelleen"},lower:{en:"Lower",nb:"Senke",sv:"Lägre",fi:"Alempi"},upper:{en:"Upper",nb:"Øverste",sv:"Övre",fi:"Ylempi"},disclaimer:{en:"Disclaimer",nb:"Forbehold",sv:"Ansvarsfriskrivning",fi:"Vastuuvapauslauseke"},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.",fi:"Huomaa, että tämän asunnon visuaalinen esitys voi poiketa lopullisesta toimituksesta. Visuado tarjoaa ainutlaatuisen mahdollisuuden kokea kiinteistö, joka on vielä rakenteilla, mutta tässä projektin vaiheessa voi tapahtua muutoksia. Kunkin yksikön myyntipiirustus on sitova ostoksen kannalta."},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.",fi:"Huomaa, että tämän asunnon visuaalinen esitys voi poiketa lopullisesta toimituksesta."},learnMore:{en:"Learn more",nb:"Les Mer",sv:"Läs mer",fi:"Lue lisää"},back:{en:"Back",nb:"Tilbake",sv:"Tillbaka",fi:"Takaisin"},virtualTour:{en:"Virtual Tour",nb:"Virtuell Visning",sv:"Virtuell Rundtur",fi:"Virtuaalinen kierros"}};class ce{constructor({labels:a,language:t}={labels:null,language:null}){W(this,"_labels");W(this,"_language");this._labels={...Tt,...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 Lt={key:0},Mt={class:"interactive-viewer"},Ot={class:"fill-parent"},$t={key:0},Rt={key:1,class:"navigation"},Ut={key:2},Ht=4,je=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:l=>l},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(l,{emit:a}){const t=[0,16,32,48],o=l,n=a;e.provide(se,o.i18nConfig?new ce(o.i18nConfig):new ce);const r=e.reactive({isReady:!1,isError:!1}),c=e.ref(),i=e.ref(),u=e.ref(),d=e.ref(),s=e.ref({x:0,y:0,width:0,height:0}),h=e.ref(),k=e.ref(),f=e.ref(),m=e.computed(()=>f.value.isHoverEnabled),p=e.computed(()=>o.useSvg?gt:pt),w=e.computed(()=>o.selectedUnitId),C=e.computed(()=>o.nextUnitId),g=e.computed(()=>o.prevUnitId);e.watchEffect(()=>{if(w.value&&d.value){const _=c.value[w.value];_&&(d.value.currentScene=_)}}),e.onMounted(async()=>{const _=o.apartmentChooserData&&o.apartmentChooserData.startScene!==void 0?o.apartmentChooserData.startScene:Ht;u.value=o.apartmentChooserData&&o.apartmentChooserData.scenes!==void 0?o.apartmentChooserData.scenes:t,i.value=o.apartmentChooserData&&o.apartmentChooserData.sceneData!==void 0?o.apartmentChooserData.sceneData.map(B=>({unitId:B.apartmentID,index:B.index})):[],c.value=o.apartmentChooserData&&o.apartmentChooserData.sceneData!==void 0?o.apartmentChooserData.sceneData.map(B=>{const M=B.bestScene===0?4:B.bestScene;return{unitId:B.apartmentID,scene:M}}).reduce((B,M)=>({...B,[M.unitId]:M.scene}),{}):{};const y=(B,M="unitId")=>{let v=_,E=[];for(let O=0;O<Fe;O++)E.push(v),v=Ye(v);return B.sort((O,L)=>{const Y=E.findIndex(S=>S===c.value[O[M]]),A=E.findIndex(S=>S===c.value[L[M]]);return Y<A?-1:Y>A?1:0}),B},F=B=>{d.value=new Ft(B)};n("initialized",{scene:_,scenes:u.value,sceneData:i.value,scenesByApartment:c.value,unitsSceneSort:y,initialize:F})});function D(_){s.value=_}function V(_){k.value=_.hoverUnit,h.value=_.closeHandler,n("hoverOverUnit",_.hoverUnit)}function N(_){k.value=null,h.value=_.closeHandler,n("hoverOutUnit",_.hoverUnit)}return(_,y)=>{const F=e.resolveComponent("v-progress-linear");return d.value?(e.openBlock(),e.createElementBlock("div",Lt,[e.createElementVNode("div",Mt,[e.createElementVNode("div",Ot,[e.createVNode(ye,{desktop:r.isReady&&_.interactiveDesktop,mobile:r.isReady&&_.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(It,{"cdn-file-resolver":_.cdnFileResolver,"view-model":d.value,"cardinal-frames":u.value,build:_.build,onProgress:y[0]||(y[0]=B=>r.progress=B),onLoaded:y[1]||(y[1]=B=>r.isReady=!0),onError:y[2]||(y[2]=B=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",$t,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(p.value),{"cdn-file-resolver":o.cdnFileResolver,"view-model":d.value,"selected-unit-id":w.value,"scene-data":i.value,"color-callback":o.colorCallback,"can-go-to-unit-callback":o.canGoToUnitCallback,"draw-observer":o.drawObserver,onSelectUnit:y[3]||(y[3]=B=>n("selectUnit",B)),onGoToUnit:y[4]||(y[4]=B=>n("goToUnit",B)),onHoverOver:V,onHoverOut:N,onPos:D},{default:e.withCtx(B=>[e.renderSlot(_.$slots,"default",e.normalizeProps(e.guardReactiveProps(B)),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"]),k.value&&_.showCards?(e.openBlock(),e.createBlock(ge,{key:0,"is-hoverable":m.value,pos:s.value,onOutside:h.value},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{unit:k.value,canGoToUnit:_.canGoToUnitCallback(k.value),goToUnit:()=>_.canGoToUnitCallback(k.value)&&n("goToUnit",k.value),pos:s.value,isHoverable:m.value,close:h.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Rt,[e.createVNode(vt,{"can-go-to-unit-callback":o.canGoToUnitCallback,"unit-renderer":o.unitRenderer,"selected-unit-id":w.value,"prev-unit-id":g.value,"next-unit-id":C.value,"view-model":d.value,onGoToUnit:y[5]||(y[5]=B=>n("goToUnit",B)),onPrevUnit:y[6]||(y[6]=B=>n("navUnit",g.value)),onNextUnit:y[7]||(y[7]=B=>n("navUnit",C.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",Ut,[e.createVNode(F,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":y[8]||(y[8]=B=>r.progress=B)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(fe,{ref_key:"hoverProbe",ref:f},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),zt=["src"],Yt=U(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l,t=e.computed(()=>G(a.cdnFileResolver,a.timeSampleData.filename));return(o,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,zt)),[[e.vShow,o.timeSampleData===o.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),jt=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Yt,{"time-sample-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Pt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(jt,{"day-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Wt=["src"],Gt=U(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(l,{emit:a}){const t=l,o=e.computed(()=>G(t.cdnFileResolver,t.transitionData.filename));return(n,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:o.value,src:o.value,class:"position-absolute top-left w-100 h-100"},null,8,Wt)),[[e.vShow,n.transitionData===n.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function Qt(l){if(!l)return!1;const a=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of a)if(!(t in l))return!1;return!0}function Te(l){return!("filename"in l)}function Le(l){return"filename"in l}const Zt=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{n.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Te):[]);return e.watch(n,()=>{o("onCameraChange",r.value.find(c=>c.overlayFilename===n.value))}),(c,i)=>{const u=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(u,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=d=>n.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"])}}}),qt=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{o("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===n.value))});function r(c){const i=new Date(0);return i.setUTCDate(c),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,i)=>{const u=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=s=>n.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"])}}}),Jt={key:0,class:"py-2"},Kt={class:"small"},Xt={class:"small"},eo=U(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{o("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===n.value))});function c(u){const d=u*60,s=Math.floor(d/60),h=d%60;return`${s.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===n.value);d<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,d)=>{const s=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Jt,[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(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=m=>n.value=m),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(h,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Kt,e.toDisplayString(c(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Xt,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(n.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),to=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(l,{expose:a,emit:t}){const o=l,n=t;a({rotateShortestRoute:k});const r=e.ref(!1),c=e.ref(o.currentScene),i=e.ref(o.selectedId);e.watchEffect(()=>{c.value=o.currentScene}),e.watchEffect(()=>{i.value=o.selectedId}),e.watchEffect(()=>{n("onSceneChange",c.value)});const u=e.computed(()=>r.value?!1:o.apartmentChooserData.loopable?!0:c.value!==o.apartmentChooserData.scenes[0]),d=e.computed(()=>r.value?!1:o.apartmentChooserData.loopable?!0:c.value!==o.apartmentChooserData.scenes[o.apartmentChooserData.scenes.length-1]);function s(){const m=c.value;let p=o.apartmentChooserData.scenes.findIndex(C=>C===m)+1;p>=o.apartmentChooserData.scenes.length&&(p=0);const w=o.apartmentChooserData.scenes[p];o.apartmentChooserData.loopable&&m>w,f(m,w)}async function h(){const m=c.value;let p=o.apartmentChooserData.scenes.findIndex(C=>C===m)-1;p<0&&(p=o.apartmentChooserData.scenes.length-1);const w=o.apartmentChooserData.scenes[p];o.apartmentChooserData.loopable&&m<w,f(m,w)}function k(m){const p=c.value;if(o.apartmentChooserData.loopable)if(m<p){let w=p-m,C=p-(o.apartmentChooserData.cameras.length+m);return Math.abs(w)>Math.abs(C)?f(p,m):f(p,o.apartmentChooserData.cameras.length+m)}else{let w=p-m,C=o.apartmentChooserData.cameras.length+p-m;return Math.abs(w)>Math.abs(C)?f(p,m):f(o.apartmentChooserData.cameras.length+p,m)}else return f(p,m)}function f(m,p){return new Promise(w=>{r.value=!0,n("onRotateStart",{from:m,to:p});let C,g=m;C=setInterval(()=>{g<p?(g++,c.value=Math.abs(g%o.apartmentChooserData.cameras.length)):g>p?(g--,c.value=Math.abs(g%o.apartmentChooserData.cameras.length)):(clearInterval(C),n("onRotateFinish",{from:m,to:p}),r.value=!1,w())},50)})}return(m,p)=>{const w=e.resolveComponent("v-btn"),C=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(w,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!u.value,onClick:h},null,8,["disabled"]),m.renderDisplay&&i.value?(e.openBlock(),e.createBlock(C,{key:0,variant:"flat",color:"white",size:"large",onClick:p[0]||(p[0]=g=>n("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(w,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!d.value,onClick:s},null,8,["disabled"])],64)}}}),oo=["innerHTML"],no=U(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(),r=e.ref(),c=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watchEffect(()=>{for(const s in i){const{element:h,state:k}=i[s],{r:f,g:m,b:p,a:w,s:C}=t.colorCallback(s,k)||{r:0,g:0,b:0,a:0,s:0};h.style.fill=`rgba(${f}, ${m}, ${p}, ${w/255})`,h.style.stroke=`rgb(${f}, ${m}, ${p})`,h.style.strokeWidth=C.toString()}}),e.watch(c,()=>{for(const s in i)i[s].state==="selected"&&s!==c.value?i[s].state="idle":i[s].state!=="selected"&&s===c.value&&(i[s].state="selected")}),e.watchEffect(async()=>{n.value=await X.loadText(G(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{var h;const s=(h=r.value)==null?void 0:h.firstChild;if(s){if(!s.hasAttribute("viewBox")){const k=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",k)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())}})}function d(){e.nextTick(()=>{var h;const s=(h=r.value)==null?void 0:h.firstChild;s&&(o("updateSvgContainer",s),u(),s.querySelectorAll("[data-apartment-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const m=f.getAttribute("data-apartment-id");i[m]={element:f,state:c.value===m?"selected":"idle"},f.addEventListener("mouseover",()=>{i[m].state==="idle"&&(i[m].state="hover"),o("onHoverOver",m)}),f.addEventListener("mouseout",()=>{i[m].state==="hover"&&(i[m].state="idle"),o("onHoverOut",m)}),f.addEventListener("click",()=>{o("onClick",m)})}))})}return(s,h)=>(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:n.value},null,8,oo))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),ao="data:image/png;base64,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",ke=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(l){const a=l,t=e.computed(()=>({transform:`rotate(${90-(a.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(o,n)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(ao),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ce{constructor(a){W(this,"_buildingIds");this._buildingIds=a}static empty(){return new Ce([])}getBuildingId(a,t,o){const n=this._getBuildingIndex(a,t,o);if(n!==void 0)return this._buildingIds[n]}_getBuildingIndex(a,t,o){const[n,r,c,i]=a.getPixel(t,o);if(i===255&&n===r&&r===c)return n}}const ro=180;class Pe{constructor(a){W(this,"_cdnFileResolver");W(this,"_resourceLoader");this._cdnFileResolver=a,this._resourceLoader=new X}constructFileUrl(a){return this._cdnFileResolver?G(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:[],o=t.map(r=>r.id),n=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:o,buildingOverlays:n}}getBackgroundImageData(a){return"days"in a?this.processMultipleDays(a.days):[this.processTimeSamples(ro,a.timeSamples)]}processMultipleDays(a){return a.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(a,t){return{urls:t.map(n=>this.constructFileUrl(n.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 o=this.getViewLongitude(a),{buildingIds:n,buildingOverlays:r}=this.getBuildingData(a),c=this.getBackgroundImageData(a);return{mapImage:t,viewLongitude:o,buildingIds:n,buildingOverlays:r,backgrounds:c}}}return null}catch{return null}}}class we{constructor(a){W(this,"_mapImage");W(this,"_context");this._mapImage=a,this._context=null}static empty(){return new we(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 lo=new Date(0);class Se{constructor(a){W(this,"_imagesByDay");W(this,"_state");this._imagesByDay=a,this._state={selectedIndex:0}}static empty(){return new Se([{referenceDate:lo,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 Ee(l){return("0"+l).slice(-2)}function io(){const l=new Date;return[l.getFullYear().toString(),Ee(l.getMonth()+1),Ee(l.getDate())," ",Ee(l.getHours()),Ee(l.getMinutes()),Ee(l.getSeconds())].join("")}function so(){return"Visuado-Snapshot-"+io()}class co{constructor(a,t){W(this,"data");this.data=a}download(a=null){a=a||so();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 We(l){const a=l.sceneData.map(i=>({unitId:i.apartmentID,bestScene:i.bestScene})),t="1280",o=[4,1,2,3],n=[];for(let i=1;i<=64;i++){const u=i.toString().padStart(4,"0")+".jpg";n.push(u)}const r=n.map(i=>({filename:`/${t}/${i}`}));for(let i=0;i<l.scenes.length;i++){let u=l.scenes[i],d,s;d=r[u],s={cameraName:`Kamera ${i+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${o[i]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:d.filename}]}]},Le(r[u])&&(r[u]=s)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:l.scenes,loopable:!0,renderVersion:l.renderVersion?l.renderVersion:"Auto Converted",unitData:a,cameras:r}}const mo={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},uo={class:"pa-1"},po={class:"pa-1"},fo={class:"pa-1"},ho={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},go={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},yo=["innerHTML"],ko={style:{"z-index":"7"}},vo=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(l,{emit:a}){const t=l,o=a,n=e.ref(),r=e.ref(),c=e.ref(),i=e.ref(null),u=e.ref(4),d=e.ref(),s=e.ref(!1),h=e.ref(!1),k=e.ref(),f=e.ref(),m=e.computed(()=>f.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),w=e.ref(),C=e.ref(),g=e.ref(t.apartmentChooserData),D=e.ref(!1);e.onMounted(()=>{s.value=!0}),e.watch(s,A=>{A&&o("onInitialize")}),e.watch(()=>C.value,()=>{C.value&&new ResizeObserver(([S])=>{D.value=S.contentRect.width<t.mobileBreakpoint}).observe(C.value)});const V=e.computed(()=>g.value?g.value.cameras.filter(Te):[]),N=e.computed(()=>g.value?g.value.cameras.filter(Le):[]),_=async()=>{try{let A,S;return S=await X.loadJson(G(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(S.version)===5?S:(A=We(S),A)}catch(A){s.value=!1,o("onError",A)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await _()),t.defaultCamera?n.value=V.value.find(A=>A.cameraName===t.defaultCamera)||V.value[0]:n.value=V.value[0],u.value=g.value.cameras.findIndex(A=>A===n.value),u.value=Math.max(0,u.value))},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{g.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(A=>A.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{g.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(A=>A.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(A=>A.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(A){n.value!==A&&k.value.rotateShortestRoute(g.value.cameras.findIndex(S=>S===A))}function F(A){u.value=A,Le(g.value.cameras[u.value])?i.value=g.value.cameras[u.value]:(e.nextTick(()=>{B(g.value.cameras[u.value])}),i.value=null)}function B(A){const S=r.value;n.value=A,u.value=g.value.cameras.findIndex($=>$===n.value),e.nextTick(()=>{M(n.value.sunsimDayOfYear.find($=>$.dayOfYear===S.dayOfYear)||n.value.sunsimDayOfYear[0])})}function M(A){const S=c.value;r.value=A,e.nextTick(()=>{v(r.value.timeSamples.find($=>$.timeInHours===S.timeInHours)||r.value.timeSamples.find($=>$.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function v(A){c.value=A}function E(A){o("onClick",A,()=>{const S=g.value.unitData.find($=>$.unitId===A);S&&k.value.rotateShortestRoute(S.bestScene)})}function O(A){o("onHoverOver",A),d.value=A}function L(A){o("onHoverOut",A),d.value=void 0}function Y(A){const{layerX:S,layerY:$}=A;let z=A.target,J=!1;for(;z;)if(z===w.value){J=!0;break}else z=z.parentElement;if(J){const q=A.currentTarget;p.value={x:S,y:$,width:q.clientWidth,height:q.clientHeight}}else p.value=void 0;o("onMouseMove",A,p.value)}return(A,S)=>{const $=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:!s.value||!g.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:C,class:e.normalizeClass({mobile:D.value}),onMousemove:Y},[e.createElementVNode("div",mo,[e.createElementVNode("div",uo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Zt,{key:0,"apartment-chooser-data":g.value,"current-camera":n.value,disabled:h.value,onOnCameraChange:y},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",po,[n.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(qt,{key:0,"camera-data":n.value,"current-day":r.value,disabled:h.value,onOnDayChange:M},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fo,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(eo,{key:0,"day-data":r.value,"current-time":c.value,disabled:h.value,onOnTimeChange:v},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ho,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(to,{key:0,ref_key:"rotator",ref:k,"apartment-chooser-data":g.value,"current-scene":u.value,"selected-id":A.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:E,onOnSceneChange:F,onOnRotateStart:S[0]||(S[0]=z=>h.value=!0),onOnRotateFinish:S[1]||(S[1]=z=>h.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",go,[n.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,longitude:n.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ye,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,z=>(e.openBlock(),e.createBlock(Pt,{key:z.overlayFilename,"camera-data":z,"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,z=>(e.openBlock(),e.createBlock(Gt,{"transition-data":z,"cdn-file-resolver":t.cdnFileResolver,"current-transition":i.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(no,{"cdn-file-resolver":A.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:E,onOnHoverOver:O,onOnHoverOut:L,onUpdateSvgContainer:S[2]||(S[2]=z=>w.value=z)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),A.$slots.popup&&p.value&&d.value?(e.openBlock(),e.createBlock(ge,{key:0,"is-hoverable":m.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",ko,[e.renderSlot(A.$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(fe,{ref_key:"hoverProbe",ref:f},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),Co={class:"sunsim-bar-wrapper"},wo={class:"sunsim-date d-flex align-center pl-5 pr-5"},_o={key:1,class:"text-center text-body-1"},bo={class:"sunsim-wrapper d-flex align-center px-3"},Vo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Ge=U(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.modelValue),r=e.ref();function c(s){return s.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const s=Math.floor(n.value/2).toString().padStart(2,"0"),h=n.value%2===0?"00":"30";return`${s}:${h}`}),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(n,s=>{o("update:modelValue",s)}),e.watch(r,s=>{t.dateSelector.selectIndex(u.value.indexOf(s))}),e.watch(()=>t.modelValue,s=>{n.value=Math.floor(s)}),e.watchEffect(()=>{r.value=c(t.dateSelector.selectedDate)}),(s,h)=>{const k=e.resolveComponent("v-icon"),f=e.resolveComponent("v-select"),m=e.resolveComponent("v-progress-linear"),p=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Co,[e.createElementVNode("div",wo,[e.createVNode(k,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),s.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(f,{key:0,modelValue:r.value,"onUpdate:modelValue":h[0]||(h[0]=w=>r.value=w),items:u.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",_o,e.toDisplayString(d.value),1))]),e.createElementVNode("div",bo,[e.createElementVNode("span",Vo,e.toDisplayString(i.value),1),e.createVNode(k,{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:n.value,"onUpdate:modelValue":h[1]||(h[1]=w=>n.value=w),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"]]),Bo={key:0},Eo=["src"],Qe=U(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(l,{emit:a}){const t=l,o=a,n=e.ref("init"),r=e.ref(new Ie(0)),c=e.ref();e.watch(()=>t.imageUrls,d=>{o("reset"),u(d)}),e.onMounted(()=>{u(t.imageUrls),new ResizeObserver(d=>{window.requestAnimationFrame(()=>{const s=d[0].contentRect.width,h=d[0].contentRect.height;o("resize",{width:s,height:h})})}).observe(c.value)});function i(){n.value="preloaded",o("preloaded")}function u(d){n.value="init",c.value.src=d[0],r.value=new Ie(d.length).onLoadFinished(()=>{n.value="loaded",o("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:i},null,544),n.value==="preloaded"||n.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Bo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.imageUrls,(h,k)=>(e.openBlock(),e.createElementBlock("img",{key:k,class:e.normalizeClass({"image-instance":!0,active:k===d.activeIndex}),src:h,onLoad:s[0]||(s[0]=f=>r.value.partLoaded())},null,42,Eo))),128))],512)),[[e.vShow,n.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),So={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},xo={class:"image-instances"},Do={key:0},No={class:"svg-container"},Io=["viewBox"],Ao=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Fo=["innerHTML"],To=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(l,{emit:a}){const t=l,o=a;e.provide(se,t.i18nConfig?new ce(t.i18nConfig):new ce);const n=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),c=e.ref({x:0,y:0,width:0,height:0}),i=e.ref(),u=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),d=e.ref(!1),s=e.ref(new X),h=e.ref(),k=e.ref("0 0 0 0"),f=e.ref(),m=e.ref(),p=e.ref(Ce.empty()),w=e.ref(we.empty()),C=e.ref(),g=e.computed(()=>C.value.isHoverEnabled);e.watch(i,(v,E)=>{v?o("hoverOverBuilding",v):o("hoverOutBuilding",E)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[v,E,O]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(O);u.value=parseInt(E)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const E=await new Pe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(E){w.value=new we(E.mapImage),p.value=new Ce(E.buildingIds),f.value=new Se(E.backgrounds),m.value={buildingOverlays:E.buildingOverlays,viewLongitude:E.viewLongitude};const O=[];for(let{id:L,url:Y}of E.buildingOverlays)s.value.loadJson(Y.replace(".png",".svg")).then(A=>{const $=new DOMParser().parseFromString(A,"image/svg+xml").getElementsByTagName("svg")[0];k.value=$.getAttribute("viewBox"),O.push({id:L,svg:$.innerHTML})});h.value=O}else d.value=!0});function D({width:v,height:E}){r.value.width=v,r.value.height=E}function V(){n.value={preloaded:!1,ready:!1}}function N(v){const E=t.colorCallback(v,v===i.value?"hover":"idle"),O=[];return v===i.value?O.push("hover"):O.push("idle"),E&&t.canGoToBuildingCallback(v)?O.push("clickable"):O.push("restricted"),O.join(" ")}function _(v){const E=t.colorCallback(v,v===i.value?"hover":"idle");if(E){const{r:O,g:L,b:Y,a:A,s:S}=E;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${O}, ${L}, ${Y})`,strokeOpacity:1,fill:`rgb(${O}, ${L}, ${Y})`,fillOpacity:A/255,cursor:`${t.canGoToBuildingCallback(v)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function y(v,E){const{layerX:O,layerY:L}=v;g.value&&(c.value={x:O,y:L,width:r.value.width,height:r.value.height},i.value=E,o("hoverOverBuilding",E))}function F(v,E){const{layerX:O,layerY:L}=v;g.value&&(c.value={x:O,y:L,width:r.value.width,height:r.value.height},i.value=void 0,o("hoverOutBuilding",E))}function B(v,E){const{layerX:O,layerY:L}=v;g.value&&(c.value={x:O,y:L,width:r.value.width,height:r.value.height})}function M(v){i.value=v,g.value&&i.value&&t.canGoToBuildingCallback(i.value)&&o("goToBuilding",i.value)}return(v,E)=>{const O=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",So,[e.createVNode(O,{"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(ye,{desktop:v.interactiveDesktop,mobile:v.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",xo,[e.createVNode(Qe,{"image-urls":f.value.imageUrls,"active-index":u.value,onResize:D,onPreloaded:E[0]||(E[0]=L=>n.value.preloaded=!0),onReady:E[1]||(E[1]=L=>n.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),h.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Do,[e.createElementVNode("div",No,[(e.openBlock(),e.createElementBlock("svg",{viewBox:k.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,({id:L,svg:Y},A)=>(e.openBlock(),e.createElementBlock("g",{key:A,innerHTML:Y,"data-building-id":L,class:e.normalizeClass(N(L)),style:e.normalizeStyle(_(L)),onMouseover:S=>y(S,L),onMouseout:S=>F(S,L),onMousemove:S=>B(S),onClick:S=>M(L)},null,46,Ao))),128))],8,Io))])],512)),[[e.vShow,n.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:v.customOverlayContent},null,8,Fo),[[e.vShow,n.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(ke,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Ge,{modelValue:u.value,"onUpdate:modelValue":E[2]||(E[2]=L=>u.value=L),"date-selector":f.value,"is-loading":!n.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,n.value.preloaded]]),v.showCards&&i.value?(e.openBlock(),e.createBlock(ge,{key:0,"is-hoverable":g.value,pos:c.value,onOutside:E[3]||(E[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(v.$slots,"default",{building:i.value,canGoToBuilding:v.canGoToBuildingCallback(i.value),goToBuilding:()=>v.canGoToBuildingCallback(i.value)&&o("goToBuilding",i.value),pos:c.value,isHoverable:g.value,close:()=>i.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(fe,{ref_key:"hoverProbe",ref:C},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),Lo=U(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(l,{expose:a}){const t=l;a({setupDraw:s});const o=e.ref(!1),n=e.ref(),r=e.ref(new X),c=e.ref(),i=e.ref(),u=e.ref([]),d=e.ref();e.watch(()=>t.color,(f,m)=>{(f.r!==m.r||f.g!==m.g||f.b!==m.b||f.a!==m.a)&&h()}),e.onMounted(async()=>{n.value=await r.value.loadImage(t.imageUrl),s()});function s(){if(!n.value||!d.value)return;const{width:f,height:m}=t.dimensions;if(!(f===0||m===0)){c.value=d.value.getContext("2d",{willReadFrequently:!0}),c.value.drawImage(n.value,0,0,f,m),i.value=c.value.getImageData(0,0,f,m);for(let p=3;p<i.value.data.length;p+=4)i.value.data[p]!==0&&u.value.push(p);h(),o.value=!0}}function h(){c.value&&i.value&&(k(),c.value.putImageData(i.value,0,0))}function k(){if(t.color)for(let f=0;f<u.value.length;f++)i.value.data[u.value[f]-3]=t.color.r,i.value.data[u.value[f]-2]=t.color.g,i.value.data[u.value[f]-1]=t.color.b,i.value.data[u.value[f]]=t.color.a}return(f,m)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:d,class:"overlay"},f.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),Mo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Oo={class:"image-instances"},$o=["innerHTML"],Ro=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(l,{emit:a}){const t=l,o=a;e.provide(se,t.i18nConfig?new ce(t.i18nConfig):new ce);const n=e.ref(),r=e.ref({preloaded:!1,ready:!1}),c=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),d=e.ref(Ce.empty()),s=e.ref(we.empty()),h=e.ref(),k=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),f=e.ref((v,E)=>({x:v,y:E})),m=e.ref(!1),p=e.ref(),w=e.ref(),C=e.ref(),g=e.computed(()=>{var v;return(v=p.value)==null?void 0:v.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[v,E,O]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(O);k.value=parseInt(E)*2+(L<15?0:L>45?2:1)}}),e.watch(h,(v,E)=>{v?o("hoverOverBuilding",v):o("hoverOutBuilding",E)}),e.onMounted(async()=>{const E=await new Pe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);E?(s.value=new we(E.mapImage),d.value=new Ce(E.buildingIds),n.value=new Se(E.backgrounds),u.value={buildingOverlays:E.buildingOverlays,viewLongitude:E.viewLongitude},_()):m.value=!0});function D({width:v,height:E}){c.value.width=v,c.value.height=E,e.nextTick(_)}function V(){r.value={preloaded:!1,ready:!1}}function N(v){const{layerX:E,layerY:O}=v,{x:L,y:Y}=f.value(E,O);return d.value.getBuildingId(s.value,L,Y)}function _(){if(w.value&&(s.value.update(w.value),C.value))for(const v of C.value)v.setupDraw()}function y(v){const{layerX:E,layerY:O}=v;g.value&&(h.value=N(v),h.value!==void 0&&(i.value={x:E,y:O,width:c.value.width,height:c.value.height}))}function F(v){h.value=N(v),g.value&&h.value&&o("goToBuilding",h.value)}function B(v){return t.colorCallback(v,v===h.value?"hover":"idle")}function M({resolve:v}){f.value=v}return(v,E)=>{const O=e.resolveComponent("v-icon");return m.value?(e.openBlock(),e.createElementBlock("div",Mo,[e.createVNode(O,{"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: ${h.value?"pointer":"auto"};height: ${c.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ye,{desktop:v.interactiveDesktop,mobile:v.interactiveMobile,onUpdate:M},{default:e.withCtx(()=>[e.createElementVNode("div",Oo,[e.createVNode(Qe,{"image-urls":n.value.imageUrls,"active-index":k.value,onResize:D,onPreloaded:E[0]||(E[0]=L=>r.value.preloaded=!0),onReady:E[1]||(E[1]=L=>r.value.ready=!0),onReset:V},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(Lo,{ref_for:!0,ref_key:"overlays",ref:C,key:L.id,"image-url":L.url,dimensions:c.value,color:B(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:w,class:{hover:!!h.value},onClick:F,onMousemove:y}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:v.customOverlayContent},null,8,$o),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(ke,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Ge,{modelValue:k.value,"onUpdate:modelValue":E[2]||(E[2]=L=>k.value=L),"date-selector":n.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),v.showCards&&h.value?(e.openBlock(),e.createBlock(ge,{key:0,"is-hoverable":g.value,pos:i.value,onOutside:E[3]||(E[3]=()=>h.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(v.$slots,"default",{building:h.value,canGoToBuilding:v.canGoToBuildingCallback(h.value),goToBuilding:()=>v.canGoToBuildingCallback(h.value)&&o("goToBuilding",h.value),pos:i.value,isHoverable:g.value,close:()=>h.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(fe,{ref_key:"hoverProbe",ref:p},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),Ze=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(l,{emit:a}){const t=l,o=a,n=e.computed(()=>t.useSvg?To:Ro);return(r,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.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]=i=>o("goToBuilding",i)),onHoverOverBuilding:c[1]||(c[1]=i=>o("hoverOverBuilding",i)),onHoverOutBuilding:c[2]||(c[2]=i=>o("hoverOutBuilding",i))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),i=>({name:i,fn:e.withCtx(u=>[e.renderSlot(r.$slots,i,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"]))}}),Uo=["src"],Ho=U(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l,t=e.computed(()=>G(a.cdnFileResolver,a.timeSampleData.filename));return(o,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Uo)),[[e.vShow,o.timeSampleData===o.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),zo=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Ho,{"time-sample-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Yo=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(zo,{"day-data":n,"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(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentCamera.overlayFilename);return e.watch(n,()=>{o("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===n.value))}),(r,c)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=u=>n.value=u),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),Po=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{o("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===n.value))});function r(c){const i=new Date(0);return i.setUTCDate(c),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,i)=>{const u=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=s=>n.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"])}}}),Wo={key:0,class:"py-2"},Go={class:"small"},Qo={class:"small"},Zo=U(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{o("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===n.value))});function c(u){const d=u*60,s=Math.floor(d/60),h=d%60;return`${s.toString().padStart(2,"0")}:${h.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(s=>s.timeInHours===n.value);d<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,d)=>{const s=e.resolveComponent("v-icon"),h=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Wo,[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(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":d[0]||(d[0]=m=>n.value=m),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(h,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Go,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(n.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),qo=["innerHTML"],Jo=U(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(),r=e.ref(),c=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const s in i){const{element:h,state:k}=i[s],{r:f,g:m,b:p,a:w,s:C}=t.colorCallback(s,k)||{r:0,g:0,b:0,a:0,s:0};h.style.fill=`rgba(${f}, ${m}, ${p}, ${w/255})`,h.style.stroke=`rgb(${f}, ${m}, ${p})`,h.style.strokeWidth=C.toString()}}),e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watch(c,()=>{for(const s in i)i[s].state==="selected"&&s!==c.value?i[s].state="idle":i[s].state!=="selected"&&s===c.value&&(i[s].state="selected")}),e.watchEffect(async()=>{n.value=await X.loadText(G(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{var h;const s=(h=r.value)==null?void 0:h.firstChild;if(!s.hasAttribute("viewBox")){const k=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",k)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())})}function d(){e.nextTick(()=>{var h;const s=(h=r.value)==null?void 0:h.firstChild;s&&(o("updateSvgContainer",s),u(),s.querySelectorAll("[data-building-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(p=>{p.style.stroke="inherit",p.style.fill="inherit"});const m=f.getAttribute("data-building-id");i[m]={element:f,state:c.value===m?"selected":"idle"},f.addEventListener("mouseover",()=>{i[m].state==="idle"&&(i[m].state="hover"),o("onHoverOver",m)}),f.addEventListener("mouseout",()=>{i[m].state==="hover"&&(i[m].state="idle"),o("onHoverOut",m)}),f.addEventListener("click",()=>{o("onClick",m)})}))})}return(s,h)=>(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:n.value},null,8,qo))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function qe(l){const a={version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,buildings:l.buildings.map(n=>({id:n.id,name:n.name})),cameras:[]};let t=[];l.days?t=l.days.map(n=>({dayOfYear:n.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:n.timeSamples.map(r=>({timeInHours:r.timeInHours,filename:`/${r.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:l.timeSamples.map(n=>({timeInHours:n.timeInHours,filename:`/${n.filename}`}))}];const o={cameraName:"Default",cameraPosition:l.cameraPosition,cameraRotation:l.cameraRotation,cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return a.cameras.push(o),a}const Ko={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},Xo={key:0,class:"pa-1"},en={class:"pa-1"},tn={class:"pa-1 flex-grow-1"},on={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},nn=["innerHTML"],an={style:{"z-index":"7"}},rn=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(l,{emit:a}){const t=l,o=a,n=e.ref(),r=e.ref(),c=e.ref(),i=e.ref(),u=e.ref(!1),d=e.ref(),s=e.computed(()=>d.value.isHoverEnabled),h=e.ref({x:0,y:0,width:0,height:0}),k=e.ref(),f=e.ref(),m=e.ref(t.buildingChooserData),p=e.ref(!1);e.onMounted(()=>u.value=!0),e.watch(u,y=>{y&&o("onInitialize")}),e.watch(()=>f.value,()=>{f.value&&new ResizeObserver(([F])=>{p.value=F.contentRect.width<t.mobileBreakpoint}).observe(f.value)});const w=async()=>{try{let y;if(!t.cdnFileResolver)return y;let F;return F=await X.loadJson(G(t.cdnFileResolver,"/buildingChooser.json")),parseInt(F.version)===5?F:(y=qe(F),y)}catch(y){u.value=!1,o("onError",y)}};e.watch([m,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(m.value||(m.value=await w()),t.defaultCamera?n.value=m.value.cameras.find(y=>y.cameraName===t.defaultCamera)||m.value.cameras[0]:n.value=m.value.cameras[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{m.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(y=>y.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{m.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(y=>y.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(y=>y.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function C(y){const F=r.value;n.value=y,e.nextTick(()=>{g(n.value.sunsimDayOfYear.find(B=>B.dayOfYear===F.dayOfYear)||n.value.sunsimDayOfYear[0])})}function g(y){const F=c.value;r.value=y,e.nextTick(()=>{D(r.value.timeSamples.find(B=>B.timeInHours===F.timeInHours)||r.value.timeSamples.find(B=>B.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function D(y){c.value=y}function V(y){o("onHoverOver",y),i.value=y}function N(y){o("onHoverOut",y),i.value=void 0}function _(y){const{layerX:F,layerY:B}=y;let M=y.target,v=!1;for(;M;)if(M===k.value){v=!0;break}else M=M.parentElement;if(v){const E=y.currentTarget;h.value={x:F,y:B,width:E.clientWidth,height:E.clientHeight}}else h.value=void 0;o("onMouseMove",y,h.value)}return(y,F)=>{const B=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(B,{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:f,class:e.normalizeClass({mobile:p.value}),onMousemove:_},[e.createElementVNode("div",Ko,[m.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",Xo,[e.createVNode(jo,{"building-chooser-data":m.value,"current-camera":n.value,onOnCameraChange:C},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",en,[n.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Po,{key:0,"camera-data":n.value,"current-day":r.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",tn,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Zo,{key:0,"day-data":r.value,"current-time":c.value,onOnTimeChange:D},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",on,[n.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,longitude:n.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ye,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value.cameras,M=>(e.openBlock(),e.createBlock(Yo,{key:M.overlayFilename,"camera-data":M,"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,nn)):e.createCommentVNode("",!0),e.createVNode(Jo,{"cdn-file-resolver":y.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:F[0]||(F[0]=M=>o("onClick",M)),onOnHoverOver:V,onOnHoverOut:N,onUpdateSvgContainer:F[1]||(F[1]=M=>k.value=M)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),y.$slots.popup&&h.value&&i.value?(e.openBlock(),e.createBlock(ge,{key:0,"is-hoverable":s.value,pos:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",an,[e.renderSlot(y.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:s.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(fe,{ref_key:"hoverProbe",ref:d},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var _e={};Object.defineProperty(_e,"__esModule",{value:!0});var ln=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},sn=typeof window<"u"&&typeof window.document<"u",cn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,dn=(typeof self>"u"?"undefined":ln(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",mn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),un=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",pn=_e.isBrowser=sn;_e.isWebWorker=dn,_e.isNode=cn,_e.isJsDom=mn,_e.isDeno=un;const fn={id:"player-wrapper"},hn={id:"player-sizer"},gn={class:"player-control",id:"controls-top-left"},yn={class:"player-control",id:"controls-top-center"},kn={class:"player-control",id:"controls-top-right"},vn={class:"player-control",id:"controls-center-left"},Cn={class:"player-control",id:"controls-center-center"},wn={class:"player-control",id:"controls-center-right"},_n={class:"player-control",id:"controls-bottom-left"},bn={class:"player-control",id:"controls-bottom-center"},Vn={class:"player-control",id:"controls-bottom-right"},Bn={id:"main-canvas"},En=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(l,{emit:a}){const t=mt.PlayerV2,o=l,n=a,r=e.ref(),c=e.ref(),i=e.ref(0),u=e.ref(0);return e.watch([()=>o.cdnFileResolver,()=>o.interiorId,()=>o.apartmentId],async()=>{const d=c.value;r.value&&await r.value.loadInterior(G(o.cdnFileResolver,`/${o.interiorId}/${o.apartmentId}`),d,!1)},{deep:!0}),e.watch(()=>o.currentCameraId,d=>{r.value&&(c.value=d,r.value.goToCamera(d,!0))}),e.watch(r,d=>{n("playerApiCallback",d);const s=r.value.getCurrentCamera();s&&(c.value=s.id)}),e.onMounted(async()=>{const k={initialized:()=>{r.value=t.Main.getPlayerAPI();const m=r.value.getCurrentCamera();m&&(c.value=m.id),n("newCameraCallback",c.value)},newCamera:m=>{n("newCameraCallback",m.id),n("newFloorCallback",m.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),c.value=m.id},newFOV:m=>{n("newFovCallback",m),u.value=m},newRotation:m=>{const p=m+0;n("newRotationCallback",p),i.value=p}};if(!pn)return;const f=await new t.Main(G(o.cdnFileResolver,`/${o.interiorId}/${o.apartmentId}`),"qpc",k,void 0,o.currentCameraId);f&&(f.handleWindowResize(),window.addEventListener("resize",f.handleWindowResize.bind(f)),f.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(o.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(d,s)=>(e.openBlock(),e.createElementBlock("div",fn,[e.createElementVNode("div",hn,[e.renderSlot(d.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",gn,[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",kn,[e.renderSlot(d.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",vn,[e.renderSlot(d.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Cn,[e.renderSlot(d.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",wn,[e.renderSlot(d.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",_n,[e.renderSlot(d.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",bn,[e.renderSlot(d.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Vn,[e.renderSlot(d.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Bn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(d.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-5eb32d81"]]),Sn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},xn=["stroke"],Dn=["stroke"],Nn={class:"floor-level-label"},In=U(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(l,{emit:a}){const t=l,o=a,n=e.inject(se),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"),i=e.computed(()=>c.value==="lower"),u=e.computed(()=>c.value==="upper");function d(){const s=t.level+1;s>=r.value.length?o("level",r.value[0]):o("level",r.value[s])}return(s,h)=>{const k=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(f,{right:"",attach:""},{activator:e.withCtx(({props:m})=>[e.createVNode(k,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},m,{onClick:d}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",Sn,[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,xn),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:i.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Dn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",Nn,e.toDisplayString(e.unref(n).getLabel(c.value))+" "+e.toDisplayString(e.unref(n).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),An={class:"d-none d-md-inline"},Fn=U(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(l,{emit:a}){const t=l,o=a,n=e.inject(se);return(r,c)=>{const i=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),d=e.resolveComponent("v-img"),s=e.resolveComponent("v-list-item-title"),h=e.resolveComponent("v-list-item"),k=e.resolveComponent("v-list"),f=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{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(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",An,e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(k,{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(h,{density:"compact",key:`at-menuitem-${p}`,onClick:w=>o("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(n).get(m.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-4909b57c"]]),Tn="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==",Ln="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==",Mn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(l){const a=l,t=e.ref(Ln),o=e.ref({backgroundImage:`url(${Tn})`,backgroundSize:"contain"}),n=e.computed(()=>({transform:`rotate(${-a.rotation+180}deg)`}));return(r,c)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(o.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(n.value)},null,8,["src","style"])],4)}}}),On="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",$n={class:"d-flex flex-column align-center justify-center clock-face"},Rn={class:"clock-icon"},Un={class:"clock-value grey--text text--darken-3"},Hn=U(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(l){const a=l,t=e.computed(()=>[o(a.hours),":",o(a.minutes)].join(""));function o(n){return("0"+n).slice(-2)}return(n,r)=>{const c=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",$n,[e.createElementVNode("div",Rn,[e.createVNode(c,{src:e.unref(On),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Un,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Me=l=>(e.pushScopeId("data-v-f59c4942"),l=l(),e.popScopeId(),l),zn={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Yn=[Me(()=>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)),Me(()=>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)),Me(()=>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(l,{emit:a}){const t=l,o=a,n=e.inject(se),r=e.computed(()=>{let c="virtualTour";return t.showStaticImage||(c="slideShow"),c});return(c,i)=>{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:h})=>[e.createVNode(d,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:i[0]||(i[0]=k=>o("toggle"))},h),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",zn,Yn)):(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(n).getLabel(r.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),ve=l=>(e.pushScopeId("data-v-a5e7f474"),l=l(),e.popScopeId(),l),Pn={key:0,class:"desktop-content"},Wn={class:"d-flex align-center justify-center"},Gn={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"},qn={class:"box col d-flex flex-column align-bottom justify-center"},Jn=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"},Xn={class:"box col d-flex flex-column align-bottom justify-center"},ea=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)),ta={class:"text-div text-center text mt-2"},oa={class:"box col d-flex flex-column align-bottom justify-center"},na=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)),aa={class:"text-div text-center text mt-2"},ra={key:1,class:"d-flex tablet-mobile-content"},la={class:"box col my-1"},ia=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)),sa={class:"text text-col text-center"},ca={class:"box col my-1"},da=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)),ma={class:"text text-col text-center"},ua={class:"box col my-1"},pa=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)),fa={class:"text text-col text-center"},ha={class:"text-h6 text-capitalize"},ga={class:"mt-2"},ya={class:"d-flex justify-center align-center checkbox-container"},ka={class:"text-caption"},va=U(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(l,{emit:a}){const t=a,o=e.inject(se),n=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 i(){t("closeTutorial",n.value)}return(u,d)=>{const s=e.resolveComponent("v-icon"),h=e.resolveComponent("v-card-title"),k=e.resolveComponent("v-btn"),f=e.resolveComponent("v-divider"),m=e.resolveComponent("v-card-text"),p=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),C=e.resolveComponent("v-expand-transition"),g=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(w,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(h,{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(o).getLabel("disclaimer")),1)]),_:1}),e.createVNode(m,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(o).getLabel("disclaimerTextShort")),1),e.createVNode(k,{variant:"tonal",size:"small",onClick:d[0]||(d[0]=D=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("learnMore"))+" ",1),e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(f,{class:"my-3"}),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Pn,[e.createElementVNode("div",Wn,[e.createElementVNode("div",Gn,[Qn,e.createElementVNode("div",Zn,e.toDisplayString(e.unref(o).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",qn,[Jn,e.createElementVNode("div",Kn,e.toDisplayString(e.unref(o).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Xn,[ea,e.createElementVNode("div",ta,e.toDisplayString(e.unref(o).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",oa,[na,e.createElementVNode("div",aa,e.toDisplayString(e.unref(o).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),c.value?(e.openBlock(),e.createElementBlock("div",ra,[e.createElementVNode("div",la,[ia,e.createElementVNode("div",sa,e.toDisplayString(e.unref(o).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",ca,[da,e.createElementVNode("div",ma,e.toDisplayString(e.unref(o).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ua,[pa,e.createElementVNode("div",fa,e.toDisplayString(e.unref(o).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(f,{class:"my-1"})]),_:1}),e.createVNode(C,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(w,{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",ha,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(o).getLabel("disclaimer")),1)]),e.createElementVNode("p",ga,e.toDisplayString(e.unref(o).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(k,{variant:"tonal",size:"small",onClick:d[1]||(d[1]=D=>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(o).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",ya,[e.createVNode(g,{density:"compact",modelValue:n.value,"onUpdate:modelValue":d[2]||(d[2]=D=>n.value=D),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",ka,e.toDisplayString(e.unref(o).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(k,{variant:"tonal",onClick:d[3]||(d[3]=D=>i()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Ca=l=>(e.pushScopeId("data-v-bd4f66c3"),l=l(),e.popScopeId(),l),wa={class:"player-settings-ui"},_a={id:"settings-ui-form"},ba={class:"form-inputs"},Va={class:"setting-label"},Ba={class:"setting-label"},Ea=["max","min","step"],Sa={class:"setting-label"},xa={class:"flex-grow-1 flex-shrink-0"},Da=["onUpdate:modelValue"],Na={key:3,"d-block":"",class:"mt-3"},Ia={class:"d-flex justify-space-between"},Aa={class:"setting-label"},Fa={class:"mt-5 d-block",style:{width:"300px"}},Ta=Ca(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),La={class:"d-block",style:{width:"300px"}},Ma={class:"form-buttons"},Oa=U(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(f(t.initialSettings));e.watch(n,()=>{c()},{deep:!0});const r=e.computed(()=>{let m={};for(const[p,w]of Object.entries(n.value))p==="whitePoint"?m[p]=s(w.value):m[p]=w.value;return m});function c(){o("updateSettings",r.value)}function i(){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(){o("saveSettings",r.value)}function d(){n.value=f(),o("updateSettings",r.value)}function s(m){const p=parseInt(m.substr(1,2),16)/255,w=parseInt(m.substr(3,2),16)/255,C=parseInt(m.substr(5,2),16)/255;return[p,w,C]}function h(m){var p=m.toString(16);return p.length==1?"0"+p:p}function k([m,p,w]){return"#"+h(parseInt((m*255).toString()))+h(parseInt((p*255).toString()))+h(parseInt((w*255).toString()))}function f(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 w={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:w.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:w.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:w.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:w.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:w.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:w.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:w.temperature},whitePoint:{label:"White Point",type:"color",value:k(w.whitePoint)},lut:{label:"Lut",type:"lut",items:p.map(C=>({text:C,value:`https://cdn.visuado.com/luts/${C}.png`})),value:w.lut}}}return(m,p)=>{const w=e.resolveComponent("v-text-field"),C=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),D=e.resolveComponent("v-btn"),V=e.resolveComponent("v-select"),N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",wa,[e.createElementVNode("form",_a,[e.createElementVNode("div",ba,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(_,y,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,"d-block":""},[_.type==="slider"?(e.openBlock(),e.createBlock(C,{key:0,modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,onChange:c,max:_.max,min:_.min,step:_.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Va,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,"hide-details":"",dense:"",outlined:"",type:"number",max:_.max,min:_.min,step:_.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),_.type==="boolean"?(e.openBlock(),e.createBlock(g,{key:1,modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,onChange:c},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ba,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(_.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),_.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:_.max,min:_.min,step:_.step},[e.createElementVNode("div",Sa,e.toDisplayString(_.label),1),e.createElementVNode("div",xa,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>n.value[y].value=B,type:"color",onChange:c},null,40,Da),[[e.vModelText,n.value[y].value]])]),e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue"])])],8,Ea)):e.createCommentVNode("",!0),_.type==="lut"?(e.openBlock(),e.createElementBlock("div",Na,[e.createElementVNode("div",Ia,[e.createElementVNode("div",Aa,e.toDisplayString(_.label),1),e.createElementVNode("div",null,[e.createVNode(D,{class:"ml-2","x-small":"",onClick:B=>n.value[y].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",Fa,[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,items:_.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:c},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[Ta,e.createElementVNode("div",La,[e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[y].value,"onUpdate:modelValue":B=>n.value[y].value=B,"hide-details":"",dense:"",type:"url",onChange:c},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Ma,[e.createVNode(D,{onClick:p[0]||(p[0]=_=>d())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(D,{class:"ml-2",onClick:p[1]||(p[1]=_=>i())},{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(D,{class:"ml-2",onClick:p[2]||(p[2]=_=>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"]]),$a=(l=>(e.pushScopeId("data-v-30593022"),l=l(),e.popScopeId(),l))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ra={class:"moveable-body",id:"moveableDivHeader"},Ua={class:"moveable-footer"},Ha=U(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(l,{emit:a}){const t=a,o=e.ref("big");e.onMounted(()=>{n(document.getElementById("moveableDiv"))});function n(c){const i=document.getElementById(c.id+"Header");if(!i)return;let u=0,d=0,s=0,h=0;i.addEventListener("touchstart",k,{passive:!1}),i.addEventListener("touchend",m,{passive:!1}),i.addEventListener("mousedown",k,{passive:!1}),i.addEventListener("mouseup",m,{passive:!1});function k(p){p=p||window.event,p.preventDefault();let w=p;p.type==="touchstart"&&(w=p.touches[0]),s=w.clientX,h=w.clientY,document.addEventListener("mouseup",m,{passive:!1}),document.addEventListener("touchend",m,{passive:!1}),document.addEventListener("mousemove",f,{passive:!1}),document.addEventListener("touchmove",f,{passive:!1})}function f(p){p=p||window.event,p.preventDefault();let w=p;p.type==="touchmove"&&(w=p.touches[0]),u=s-w.clientX,d=h-w.clientY,s=w.clientX,h=w.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",f,!1),document.removeEventListener("touchend",m,!1),document.removeEventListener("touchmove",f,!1)}}function r(){o.value==="big"?o.value="small":o.value="big"}return(c,i)=>{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",o.value])},[e.createVNode(u,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[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:i[1]||(i[1]=d=>t("transform")),title:"Rotate"}),$a,e.createElementVNode("div",Ra,[e.renderSlot(c.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ua,[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"},Ya=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"],Pa=[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)],Wa=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(l){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",za,[Ya,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+a.rotation})`},Pa,8,ja)]))}}),Ga={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(l){const a=l,t=e.ref(512),o=e.ref(384),n=e.ref(new he.Vector3),r=e.ref(new he.Object3D),c=e.ref({}),i=e.ref(1),u=e.ref(),d=e.computed(()=>a.allCameras),s=e.computed(()=>a.allCameras.find(y=>y.id===a.currentCamera)),h=e.computed(()=>a.rotation),k=e.computed(()=>new he.Vector3(a.storey.position.x,a.storey.position.y,a.storey.position.z)),f=e.computed(()=>parseFloat(s.value.floor_vertical_position)),m=e.computed(()=>d.value.map(y=>{const F=y.uposition.split(","),B=new he.Vector3(Number(F[0])-k.value.x,0,Number(F[2])-k.value.z);return{...y,...V(n.value,B)}})),p=e.computed(()=>`background-image: url(${a.backgroundImage});`),w=e.computed(()=>{let y=i.value>1?1:i.value;return y<.8&&(y=.4),`scale: ${y>1?1:y}; transform: rotate(${a.transformAngle}deg);`});e.onMounted(()=>{N(),g(),_();const y=document.getElementById("moveableDiv");y&&(u.value=new ResizeObserver(_).observe(y))}),e.onBeforeUpdate(()=>{N(),g()}),e.onBeforeUnmount(()=>{u.value&&u.value.unobserve(document.getElementById("moveableDiv"))});function C(y){return he.MathUtils.degToRad(y)}function g(){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 D(y){return{top:`${Math.abs(y.top)}%`,left:`${Math.abs(y.left)}%`}}function V(y,F){var B=new he.Vector3;const M=B.subVectors(y,F);return{relativePosition:M,left:M.x/t.value*100,top:M.z/o.value*100}}function N(){const y=a.storey.position.y-f.value;o.value=2*(y*Math.tan(C(a.storey.fovY/2))),t.value=512/384*o.value;const F=o.value/2,B=t.value/2,M=new he.Vector3(B*-1,0,F*-1);n.value=M}function _(){const y=document.getElementById("moveableDiv");if(!y)return;const F=y.offsetHeight/384*.8,B=y.offsetWidth/512*.8;y.offsetHeight>y.offsetWidth?i.value=B*.5:i.value=F*.9}return(y,F)=>(e.openBlock(),e.createElementBlock("div",Ga,[e.createElementVNode("div",Qa,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(w.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,B=>(e.openBlock(),e.createElementBlock("div",{key:B.id},[s.value.floorLevel===B.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(D(B))},null,4)):e.createCommentVNode("",!0),s.value.id===B.id&&a.rotation!==null?(e.openBlock(),e.createBlock(Wa,{key:1,class:"rotation-marker-component",rotation:h.value,style:e.normalizeStyle({...D(B)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),qa=U(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(l){const a=l,t=e.computed(()=>a.rotation+a.transformAngle-90);return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:o.scale})},[e.createVNode(ke,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Ja={class:"ss-wrapper"},Ka={class:"slider"},Xa={class:"minimap-sun-slider"},er={key:0,class:"time-label"},tr=U(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(new Date().getHours()),r=e.ref(!0),c=e.ref(!0),i=e.ref(""),u=e.ref(new Map),d=e.computed(()=>t.minimapJson.storeys[t.level]),s=e.computed(()=>`${Math.floor(n.value).toString().padStart(2,"0")}:00`),h=e.computed(()=>{if(d.value.sunsimFilesTimeStamps[n.value]){const C=d.value.sunsimFilesTimeStamps[n.value].split(" ");return`${C[0]} ${C[1]}`}return""});e.onMounted(async()=>{i.value=await m(d.value.sunsimFiles[n.value]),c.value=!1;const C=await f(t.minimapJson.storeys);u.value=C,r.value=!1,o("setBackgroundImage",k(t.level,n.value))}),e.watch(n,()=>{const C=k(t.level,n.value);o("setBackgroundImage",C)}),e.watch(()=>t.level,()=>{o("setBackgroundImage",k(t.level,n.value))},{immediate:!0});function k(C,g){return u.value.get(`sunsim${C}_${g}`)?u.value.get(`sunsim${C}_${g}`):""}async function f(C){let g=new Map;for(let D=0;D<C.length;D++){const V=C[D].sunsimFiles;for(let N=0;N<V.length;N++){const _=V[N];try{const y=_,F=_.split("."),B=await m(y);g.set(F[0],B)}catch{continue}}}return g}async function m(C){const D=await(await fetch(G(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${C}`))).blob(),V=await w(D);return p(V)}function p(C){return"data:image/jpeg;base64,"+C}async function w(C){return new Promise((g,D)=>{const V=new FileReader;V.onload=()=>{const N=V.result.split(",")[1];g(N)},V.onerror=D,V.readAsDataURL(C)})}return(C,g)=>{const D=e.resolveComponent("v-progress-linear"),V=e.resolveComponent("v-icon"),N=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Ja,[e.createElementVNode("div",Ka,[e.createElementVNode("div",Xa,[r.value?(e.openBlock(),e.createBlock(D,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(N,{key:1,modelValue:n.value,"onUpdate:modelValue":g[0]||(g[0]=_=>n.value=_),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(V,{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",er,e.toDisplayString(h.value)+" "+e.toDisplayString(s.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Je=U(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(),r=e.ref(0),c=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(c,()=>{n.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 i=e.computed(()=>{let s=1;return r.value!==0&&(Math.abs(r.value)%180===0?s=1:s=-1),s});function u(s){n.value=s}function d(){r.value=r.value+90}return(s,h)=>(e.openBlock(),e.createBlock(Ha,{onClose:h[0]||(h[0]=k=>o("close")),onTransform:d},{body:e.withCtx(()=>[e.createVNode(qa,{scale:i.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":n.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(tr,{"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"]]),or=37,nr=39,xe=U(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(l,{emit:a}){const t=l,o=a,n=e.ref(0),r=e.computed({get(){return t.active},set(d){n.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",i)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",i)});function i(d){switch(d.keyCode){case d.keyCode===or:o("previous");break;case d.keyCode===nr:o("next");break;default:return}}function u(d,s){s(),o("goto",d)}return(d,s)=>{const h=e.resolveComponent("v-btn"),k=e.resolveComponent("v-img"),f=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]=w=>r.value=w),class:e.normalizeClass({mobileWaypoint:c.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(h,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:s[0]||(s[0]=w=>o("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(h,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:s[1]||(s[1]=w=>o("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.thumbnails,w=>(e.openBlock(),e.createBlock(m,{key:w.id},{default:e.withCtx(({toggle:C,selectedClass:g})=>[e.createVNode(f,{class:e.normalizeClass([c.value?"ma-0":"ma-1",g,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:D=>u(w.id,C)},{default:e.withCtx(()=>[e.createVNode(k,{cover:"","aspect-ratio":1,src:w.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),ar={id:"share-btns-wrapper",class:"text-center"},Ke=U(e.defineComponent({__name:"VSocialShare",setup(l){const a=e.inject(se),t=e.ref(!1),o=e.ref(location.href);function n(){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 i(){navigator.clipboard.writeText(location.href)}return(u,d)=>{const s=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip"),k=e.resolveComponent("v-toolbar-title"),f=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),p=e.resolveComponent("v-card-text"),w=e.resolveComponent("v-card"),C=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:d[0]||(d[0]=D=>t.value=!t.value)},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(C,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":d[2]||(d[2]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(w,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]=g=>t.value=!1)}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(f)]),_:1}),e.createVNode(p,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",ar,[e.createVNode(h,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{onClick:n}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(h,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:c}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(h,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(h,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${o.value}`},g),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(h,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("copyLink")),1)]),_:1}),e.createVNode(f)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),rr={class:"static-image-wrapper"},lr=U(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(l){const a=l,t=e.computed(()=>({"background-image":`url("${encodeURI(a.image)}")`}));return(o,n)=>(e.openBlock(),e.createElementBlock("div",rr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[o.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),ir={id:"btn-fullscreen",class:"btn-placeholder mr-2"},Xe=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(l,{emit:a}){const t=a;return(o,n)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",ir,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:o.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:n[0]||(n[0]=c=>t("toggleFullscreen"))},null,8,["icon"])])}}});class et{constructor(a,t){W(this,"_doc");W(this,"_elemId");W(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(o=>{t.addEventListener(o,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 sr={key:0,class:"player-error"},cr={class:"player-and-components-wrapper"},dr={key:3,class:"settings-panel"},mr={key:0,class:"compass-wrapper"},ur={key:1,class:"btn-placeholder mr-2"},pr={class:"btn-placeholder mr-2"},fr={key:2,class:"btn-placeholder mr-2"},hr={key:0},gr={class:"d-flex flex-column align-end"},yr={key:2,class:"render-version"},tt=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(l,{expose:a,emit:t}){const o=l,n=t;a({updateSelectedInterior:I,takeSnapshot:Re,setCurrentCamera:ee});const r=e.ref(!1),c=e.ref(!1),i=e.ref(!1),u=e.ref(),d=e.ref(),s=e.ref(),h=e.ref(),k=e.ref(),f=e.ref(0),m=e.ref(),p=e.ref(),w=e.ref(),C=e.ref(0),g=e.ref(0),D=e.ref(0),V=e.ref(!1),N=e.ref(!1),_=e.ref(!1),y=e.ref(new et(document,"player-wrapper")),F=e.computed(()=>{if(d.value){const b=d.value.cameras.map(j=>j.floorLevel);let R=[...new Set(b)];return R=R.sort(),R}else return[]}),B=e.computed(()=>{let b=0;if(d.value){const R=d.value.cameras.map(Ve=>Ve.floorLevel);let j=[...new Set(R)];j=j.sort();const ae=j.findIndex(Ve=>Ve===g.value);ae!==-1&&(b=ae)}return b}),M=e.computed(()=>O.value.findIndex(b=>b.archetypeID===m.value)),v=e.computed(()=>s.value?s.value.cameras.map(b=>({...b,thumbnailUrl:De(`/${m.value}/${o.apartmentId}/thumbs/200/${b.id}.jpg`),imageUrl:De(`/${m.value}/${o.apartmentId}/images/1600/${b.id}.jpg`)})):[]),E=e.computed(()=>!v.value||!v.value[f.value]?"":v.value[f.value].imageUrl),O=e.computed(()=>{let b=[];return u.value&&(b=u.value.archetypes),o.validInteriorIds.length?b.filter(R=>o.validInteriorIds.includes(R.archetypeID)):b}),L=e.computed(()=>s.value?O.value.map(b=>({...b,url:De(`/${b.archetypeID}/${o.apartmentId}/thumbs/200/${v.value[f.value].id}.jpg`)})):[]),Y=e.computed(()=>{if(h.value&&h.value.storeys&&B.value in h.value.storeys)return h.value.storeys[B.value]}),A=e.computed(()=>d.value&&d.value.timeInHours),S=e.computed(()=>{if(d.value&&d.value.timeInHours&&o.showTimeOfDay)return ml(d.value.timeInHours)});e.provide(se,o.i18nConfig?new ce(o.i18nConfig):new ce),e.watch([()=>o.cdnFileResolver],async()=>{await $(),J(),await z()}),e.watch(()=>o.defaultViewMode,b=>{b==="virtualTour"&&(V.value=!1),b==="slideShow"&&(V.value=!0,_.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await $(),J(),await z(),y.value.setup(),q(),fl.value?(r.value=!1,_.value=!0):r.value=!0}catch(b){i.value=!0,n("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",Q)});async function $(){u.value=await oe()}async function z(){if(d.value=await me(m.value,o.apartmentId),d.value&&(p.value=d.value.cameras.find(()=>!0).id),s.value=await ue(m.value,o.apartmentId),s.value){let b=o.defaultWaypointIndex!==null?o.defaultWaypointIndex:0;f.value=b,p.value=s.value.cameras[b].id,w.value=s.value.cameras[b].id}o.showMiniMap&&(h.value=await re(m.value,o.apartmentId))}function J(){let b=o.defaultInteriorId;b||(b=u.value.defaultArchetypeID),o.validInteriorIds.length&&!o.validInteriorIds.includes(b)&&(b=o.validInteriorIds[0]),b||(b=u.value.archetypes[0].archetypeID),m.value=b}function q(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",R,{passive:!1});function R(j){j.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",Q,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",Q)},{passive:!1})}function Q(b){b.preventDefault(),window.scrollBy(0,0)}async function oe(){try{return await Ne("/config.json")}catch(b){console.error("Error loading config.json - ",G(o.cdnFileResolver,"/config.json"),b);return}}async function me(b,R){try{return await Ne(`/${b}/${R}/apartment.json`)}catch(j){console.error("Error loading apartment.json - ",`/${b}/${R}/apartment.json`,j);return}}async function ue(b,R){try{return await Ne(`/${b}/${R}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${R}/thumbs.json`);return}}async function re(b,R){try{return await Ne(`/${b}/${R}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${R}/minimap/minimap.json`);return}}function de(){let b=f.value+1;b>=v.value.length&&(b=0),f.value=b,ee(v.value[f.value].id)}function te(){let b=f.value-1;b<0&&(b=v.value.length-1),f.value=b,ee(v.value[f.value].id)}function le(b,R=!0){let j=v.value.findIndex(ae=>ae.id===b);j!=-1&&(f.value=j,R&&ee(b))}function ee(b){p.value=b}function I(b){m.value=b,n("onInteriorUpdate",b),n("onCameraUpdate",w.value,d.value)}function x(b){le(b,!1),w.value=b,n("onCameraUpdate",b,d.value)}function T(b){C.value=b}function H(b){g.value=b}function Z(b){D.value=b}function ne(b,R){}function ie(b){k.value=b,k.value&&(o.playerSettings&&k.value.updateSettings(o.playerSettings),o.hasMarkersJson?k.value.loadMarkersJson():o.dynamicMarkers&&k.value.loadDynamicMarkers(o.dynamicMarkers))}function K(){y.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function $e(){V.value=!V.value}async function Re(){const b=180/Math.PI,R=await k.value.takePhoto(),j=k.value.getRotationEuler(),ae=k.value.getCurrentCamera(),Ve=new co(R,ae),hl=[j.x*-b,j.y*-b,j.z*b];return n("onSnapshot",Ve,hl),Ve}function De(b){let R=G(o.cdnFileResolver,b);return o.adminMode&&(R=R+`?v=${Date.now()}`),R}async function Ne(b){const R=De(b);try{return(await pe.get(R)).data}catch(j){throw new Error(j)}}function cl(b){k.value.updateSettings(b)}function dl(b){n("saveSettings",b)}function ml(b){if(b===void 0)return null;const R=Math.floor(b),j=Math.floor((R-b)*60);return{hours:R,minutes:j}}const Ue=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),st=e.computed(()=>Ue.value?"platform-mobile":"platform-desktop"),ul=(b=!1)=>{_.value=!0,r.value=!1,b&&pl()},pl=()=>{const b=G(o.cdnFileResolver,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")},fl=e.computed(()=>{const b=G(o.cdnFileResolver,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});return(b,R)=>{const j=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[st.value]])},[i.value?(e.openBlock(),e.createElementBlock("div",sr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",cr,[!y.value.isActive&&h.value&&w.value&&Y.value&&m.value&&N.value?(e.openBlock(),e.createBlock(Je,{key:0,"cdn-file-resolver":b.cdnFileResolver,"apartment-json":d.value,level:B.value,"minimap-json":h.value,rotation:C.value,"current-camera":w.value,onClose:R[0]||(R[0]=ae=>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",[st.value]])},[e.createVNode(En,{"cdn-file-resolver":b.cdnFileResolver,style:e.normalizeStyle({zIndex:V.value?1:2}),"show-static-image":V.value,"is-full-screen":y.value.isActive,"current-camera-id":p.value,"mouse-sensitivity":b.mouseSensitivity,"interior-id":m.value,"apartment-id":o.apartmentId,onNewCameraCallback:x,onNewRotationCallback:T,onNewFloorCallback:H,onNewFovCallback:Z,onNewSizeCallback:ne,onPlayerApiCallback:ie},{"slideshow-image":e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(lr,{key:0,image:E.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[b.adminMode?e.withDirectives((e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:R[1]||(R[1]=ae=>c.value=!c.value)},null,512)),[[e.vShow,_.value]]):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(j,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:R[2]||(R[2]=ae=>r.value=!r.value)},null,512),[[e.vShow,_.value]]),h.value&&p.value&&Y.value?e.withDirectives((e.openBlock(),e.createBlock(j,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:R[3]||(R[3]=ae=>N.value=!N.value)},null,512)),[[e.vShow,_.value]]):e.createCommentVNode("",!0),_.value&&b.showFloorLevel&&F.value.length>1?(e.openBlock(),e.createBlock(In,{key:2,level:g.value,"floor-levels":F.value,onLevel:H},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),_.value&&b.adminMode&&c.value?(e.openBlock(),e.createElementBlock("div",dr,[e.createVNode(Oa,{"initial-settings":b.playerSettings,onUpdateSettings:cl,onSaveSettings:dl},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[d.value&&b.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",mr,[e.createVNode(Mn,{rotation:C.value},null,8,["rotation"])],512)),[[e.vShow,_.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:R[4]||(R[4]=ae=>N.value=!N.value)},[_.value&&d.value&&A.value&&b.showTimeOfDay?(e.openBlock(),e.createBlock(Hn,{key:0,hours:S.value.hours,minutes:S.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:h.value&&w.value&&Y.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(()=>[V.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:te})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(va,{key:0,onCloseTutorial:R[5]||(R[5]=ae=>ul(ae))})):e.createCommentVNode("",!0),y.value.isActive&&h.value&&w.value&&Y.value&&N.value?(e.openBlock(),e.createBlock(Je,{key:1,"cdn-file-resolver":b.cdnFileResolver,"apartment-json":d.value,"minimap-json":h.value,rotation:C.value,"current-camera":w.value,level:B.value,onClose:R[6]||(R[6]=ae=>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(()=>[V.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:de})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[_.value&&b.showFullScreen?(e.openBlock(),e.createBlock(Xe,{key:0,"is-full-screen":y.value.isActive,class:"btn-fullscreen",onToggleFullscreen:K},null,8,["is-full-screen"])):e.createCommentVNode("",!0),_.value&&b.showSnapshot?(e.openBlock(),e.createElementBlock("div",ur,[e.createVNode(j,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Re})])):e.createCommentVNode("",!0),e.createElementVNode("div",pr,[b.displayViewModeSwitch&&_.value?(e.openBlock(),e.createBlock(jn,{key:0,"show-static-image":V.value,onToggle:$e},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),_.value&&b.showShare&&!y.value.isActive?(e.openBlock(),e.createElementBlock("div",fr,[e.createVNode(Ke)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[_.value&&b.showCarousel&&!Ue.value?(e.openBlock(),e.createElementBlock("div",hr,[_.value?(e.openBlock(),e.createBlock(xe,{key:0,class:e.normalizeClass([y.value.isActive?"full-screen":""]),thumbnails:v.value,active:f.value,onNext:de,onPrevious:te,onGoto:le},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",gr,[_.value&&b.showInteriorOptions&&L.value?(e.openBlock(),e.createBlock(Fn,{key:0,"cdn-file-resolver":b.cdnFileResolver,"available-archetypes":L.value,"selected-index":M.value,onSelectInterior:I},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"]),b.showCarousel&&s.value&&Ue.value?(e.openBlock(),e.createBlock(xe,{key:0,class:"waypoint-carousel below-player",thumbnails:v.value,active:f.value,onNext:de,onPrevious:te,onGoto:le},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),b.version&&b.showVersion?(e.openBlock(),e.createElementBlock("div",yr," version: "+e.toDisplayString(b.version),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-51f503a1"]]),kr={id:"player-wrapper"},vr={id:"player-sizer"},Cr={class:"player-control",id:"controls-top-left"},wr={class:"player-control",id:"controls-top-center"},_r={class:"player-control",id:"controls-top-right"},br={class:"player-control",id:"controls-center-left"},Vr={class:"player-control",id:"controls-center-center"},Br={class:"player-control",id:"controls-center-right"},Er={class:"player-control",id:"controls-bottom-left"},Sr={class:"player-control",id:"controls-bottom-center"},xr={class:"player-control",id:"controls-bottom-right"},Dr=U(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(l,{emit:a}){return(t,o)=>(e.openBlock(),e.createElementBlock("div",kr,[e.createElementVNode("div",vr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Cr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",wr,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",_r,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",br,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Vr,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Br,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Er,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Sr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",xr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Nr={class:"virtual-tour-wrapper"},Ir={class:"player-and-components-wrapper"},Ar={class:"mss-image"},Fr={key:1,class:"btn-placeholder"},ot=U(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(l){const a=l;e.provide(se,a.i18nConfig?new ce(a.i18nConfig):new ce);const t=e.ref(0),o=e.ref(new et(document,"player-wrapper")),n=e.computed(()=>a.images.map((s,h)=>({id:`image-${h}`,thumbnailUrl:s}))),r=e.computed(()=>n.value[t.value]);e.onMounted(()=>{o.value.setup()});function c(){o.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let s=t.value+1;s>=n.value.length&&(s=0),t.value=s}function u(){let s=t.value-1;s<0&&(s=n.value.length-1),t.value=s}function d(s,h=!0){let k=n.value.findIndex(f=>f.id===s);k!=-1&&(t.value=k)}return(s,h)=>{const k=e.resolveComponent("v-img"),f=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Nr,[e.createElementVNode("div",Ir,[e.createElementVNode("div",null,[e.createVNode(Dr,{"is-full-screen":o.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",Ar,[e.createVNode(k,{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(()=>[n.value.length>1?(e.openBlock(),e.createBlock(f,{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(()=>[n.value.length>1?(e.openBlock(),e.createBlock(f,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[s.showFullScreen?(e.openBlock(),e.createBlock(Xe,{key:0,"is-full-screen":o.value.isActive,class:"btn-fullscreen",onToggleFullscreen:c},null,8,["is-full-screen"])):e.createCommentVNode("",!0),s.showShare?(e.openBlock(),e.createElementBlock("div",Fr,[e.createVNode(Ke)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[o.value.isActive&&n.value.length>1?(e.openBlock(),e.createBlock(xe,{key:0,class:e.normalizeClass([o.value.isActive?"full-screen":""]),thumbnails:n.value,active:t.value,onNext:i,onPrevious:u,onGoto:d},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),n.value.length>1?(e.openBlock(),e.createBlock(xe,{key:0,thumbnails:n.value,active:t.value,onNext:i,onPrevious:u,onGoto:d},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Tr=["src"],Lr=U(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const a=l,{timeSampleData:t,cdnFileResolver:o,currentTime:n}=e.toRefs(a),r=e.computed(()=>G(o.value,t.value.filename));return(c,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,Tr)),[[e.vShow,e.unref(n)&&e.unref(t)===e.unref(n)]])}}),[["__scopeId","data-v-a12a9cdb"]]),Mr=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(l){const a=l,{dayData:t,cdnFileResolver:o,currentTime:n}=e.toRefs(a);return(r,c)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,i=>(e.openBlock(),e.createBlock(Lr,{key:i.filename,"time-sample-data":i,"cdn-file-resolver":e.unref(o),"current-time":e.unref(n)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),Or=["src"],$r=e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(l){const a=l,{cameraData:t,cdnFileResolver:o,currentCamera:n,currentTime:r}=e.toRefs(a),c=e.computed(()=>G(o.value,n.value.defaultFilename));return(i,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(Mr,{key:d.dayOfYear,"day-data":d,"cdn-file-resolver":e.unref(o),"current-day":i.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,Or)),[[e.vShow,e.unref(n)===e.unref(t)]])}}),Rr=["src"],Ur=U(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(l){const a=l,{transitionData:t,cdnFileResolver:o,currentTransition:n}=e.toRefs(a),r=e.computed(()=>G(o.value,t.value.filename));return(c,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,class:"position-absolute top-left w-100 h-100"},null,8,Rr)),[[e.vShow,e.unref(t)===e.unref(n)]])}}),[["__scopeId","data-v-ea8553ab"]]);function nt(l){const a=new Date(0);return a.setUTCDate(l),a.toLocaleString("en-no",{month:"short",day:"numeric"})}const Hr={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},zr=U(e.defineComponent({__name:"VStructureChooserUiDayButton",props:{isMobileSized:{type:Boolean},currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(l,{emit:a}){const t=l,{isMobileSized:o,currentCamera:n,currentDay:r,disabled:c}=e.toRefs(t),i=a,u=e.ref(r.value.dayOfYear);return e.watch(r,()=>{u.value=r.value.dayOfYear}),e.watch(u,()=>{i("onDayChange",n.value.sunsimDayOfYear.find(d=>d.dayOfYear===u.value))}),(d,s)=>{const h=e.resolveComponent("v-btn"),k=e.resolveComponent("v-field"),f=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),p=e.resolveComponent("v-list"),w=e.resolveComponent("v-menu");return e.unref(n).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",Hr,[e.createVNode(w,null,{activator:e.withCtx(({props:C})=>[e.createVNode(k,{variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.createVNode(h,e.mergeProps({variant:"text",rounded:"",flat:"",readonly:e.unref(n).sunsimDayOfYear.length===1,"prepend-icon":"mdi-calendar-blank","append-icon":e.unref(n).sunsimDayOfYear.length>1?"mdi-menu-down":void 0,disabled:e.unref(c),size:e.unref(o)?"small":void 0},C),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(nt)(u.value)),1)]),_:2},1040,["readonly","append-icon","disabled","size"])]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).sunsimDayOfYear,(C,g)=>(e.openBlock(),e.createBlock(m,{key:g,value:g,onClick:D=>u.value=C.dayOfYear},{default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(nt)(C.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-a04625cf"]]),Yr=["onClick"],jr={key:1,class:"icon-wrapper"},Pr=U(e.defineComponent({__name:"VStructureChooserUiCameraThumbnails",props:{isMobileSized:{type:Boolean},stillCameras:{},currentCamera:{},cdnFileResolver:{type:[String,Function]},disabled:{type:Boolean}},emits:["onCameraChange"],setup(l,{emit:a}){const t=l,{isMobileSized:o,stillCameras:n,currentCamera:r,cdnFileResolver:c,disabled:i}=e.toRefs(t),u=e.ref(r.value),d=a;e.watch(u,()=>{d("onCameraChange",n.value.find(h=>h===u.value))});function s(h){i.value||(u.value=h)}return(h,k)=>{const f=e.resolveComponent("v-chip"),m=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-flex":!0,"justify-center":!e.unref(o),"align-end":!e.unref(o),"justify-end":e.unref(o),mobile:e.unref(o),disabled:e.unref(i),enabled:!e.unref(i)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),(p,w)=>(e.openBlock(),e.createElementBlock("div",{key:w,class:"still-camera",style:e.normalizeStyle({backgroundImage:`url(${e.unref(G)(e.unref(c),p.defaultFilename)})`}),onClick:C=>s(p)},[!e.unref(o)&&p.cameraName?(e.openBlock(),e.createBlock(f,{key:0,variant:"flat",size:"small",class:"camera-name",color:"white"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.cameraName),1)]),_:2},1024)):e.createCommentVNode("",!0),p.sunsimDayOfYear&&p.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",jr,[e.createVNode(m,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],12,Yr))),128))],2)}}}),[["__scopeId","data-v-ff87e7cd"]]);function at(l){const a=l*60,t=Math.floor(a/60),o=a%60;return`${t.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`}const Wr={class:"small"},Gr={class:"small"},Qr=U(e.defineComponent({__name:"VStructureChooserUiTimeSampleSlider",props:{isMobileSized:{type:Boolean},currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(l,{emit:a}){const t=l,{isMobileSized:o,currentDay:n,currentTime:r,disabled:c}=e.toRefs(t),i=a,u=e.ref(r.value.timeInHours);return e.watch(r,()=>{u.value=r.value.timeInHours}),e.watch(u,()=>{i("onTimeChange",n.value.timeSamples.find(d=>d.timeInHours===u.value))}),(d,s)=>{const h=e.resolveComponent("v-icon"),k=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-inline-block":!0,mobile:e.unref(o)}),style:e.normalizeStyle({flex:e.unref(o)&&e.unref(n).timeSamples.length>1?1:void 0,verticalAlign:"top"})},[e.createVNode(f,{style:e.normalizeStyle(e.unref(n).timeSamples.length>1?{width:e.unref(o)?"100%":"300px",height:e.unref(o)?"28px":"36px"}:{height:e.unref(o)?"28px":"36px",paddingLeft:"12px",paddingRight:"12px",paddingTop:e.unref(o)?"5px":"9px",paddingBottom:e.unref(o)?"5px":"9px"}),variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(n).timeSamples.length>1?(e.openBlock(),e.createBlock(k,{key:0,class:"pa-2 pr-2",modelValue:u.value,"onUpdate:modelValue":s[0]||(s[0]=m=>u.value=m),min:e.unref(n).startTime,max:e.unref(n).endTime,step:e.unref(n).interval,disabled:!!e.unref(c),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(h,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Wr,e.toDisplayString(e.unref(at)(u.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(h,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Gr,e.toDisplayString(e.unref(at)(u.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-283e7169"]]),Zr={class:"d-inline-block",style:{"vertical-align":"top"}},qr=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),Jr=e.defineComponent({__name:"VStructureChooserUiZoomButtons",props:{isMobileSized:{type:Boolean},canZoomIn:{type:Boolean},canZoomOut:{type:Boolean},disabled:{type:Boolean}},emits:["onZoomIn","onZoomOut"],setup(l,{emit:a}){const t=l,{isMobileSized:o,canZoomIn:n,canZoomOut:r,disabled:c}=e.toRefs(t),i=a;return(u,d)=>{const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Zr,[e.createVNode(s,{disabled:e.unref(c)||!e.unref(n),size:e.unref(o)?"x-small":"small",flat:"",icon:"mdi-plus",onClick:d[0]||(d[0]=h=>i("onZoomIn")),style:{"border-bottom-left-radius":"0","border-bottom-right-radius":"0"}},null,8,["disabled","size"]),qr,e.createVNode(s,{disabled:e.unref(c)||!e.unref(r),size:e.unref(o)?"x-small":"small",flat:"",icon:"mdi-minus",onClick:d[1]||(d[1]=h=>i("onZoomOut")),style:{"border-top-left-radius":"0","border-top-right-radius":"0"}},null,8,["disabled","size"])])}}}),Kr=["innerHTML"],Xr=U(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:a}){const t=l,{cdnFileResolver:o,colorCallback:n,currentCamera:r,selectedId:c}=e.toRefs(t),i=a,u=e.ref(),d=e.ref(),s=e.reactive({});e.watchEffect(()=>{for(const f in s){const{element:m,state:p}=s[f],{r:w,g:C,b:g,a:D,s:V}=n.value(f,p)||{r:0,g:0,b:0,a:0,s:0};m.style.fill=`rgba(${w}, ${C}, ${g}, ${D/255})`,m.style.stroke=`rgb(${w}, ${C}, ${g})`,m.style.strokeWidth=V.toString()}}),e.watch(c,()=>{for(const f in s)s[f].state==="selected"&&f!==c.value?s[f].state="idle":s[f].state!=="selected"&&f===c.value&&(s[f].state="selected")}),e.watchEffect(async()=>{u.value=await X.loadText(G(o.value,r.value.overlayFilename)),k()}),e.watch(()=>d.value,()=>{d.value&&new ResizeObserver(h).observe(d.value)});function h(){e.nextTick(()=>{var m;const f=(m=d.value)==null?void 0:m.firstChild;if(f){if(!f.hasAttribute("viewBox")){const p=`0 0 ${f.getAttribute("width")} ${f.getAttribute("height")}`;f.setAttribute("viewBox",p)}f.setAttribute("width",d.value.offsetWidth.toString()),f.setAttribute("height",d.value.offsetHeight.toString())}})}function k(){e.nextTick(()=>{var m;const f=(m=d.value)==null?void 0:m.firstChild;if(f){i("updateSvgContainer",f),h();let p,w="data-structure-id";p=f.querySelectorAll(`[${w}]`),p.length===0&&(w="data-apartment-id",p=f.querySelectorAll(`[${w}]`),p.length===0&&(w="data-building-id",p=f.querySelectorAll(`[${w}]`))),p.forEach(C=>{C.style.strokeWidth="0",C.style.stroke="rgba(255,255,255,0)",C.style.fill="rgba(255,255,255,0)",C.querySelectorAll("path").forEach(D=>{D.style.stroke="inherit",D.style.fill="inherit"});const g=C.getAttribute(w);s[g]={element:C,state:c.value===g?"selected":"idle"},C.addEventListener("mouseover",()=>{s[g].state==="idle"&&(s[g].state="hover"),i("onHoverOver",g)}),C.addEventListener("mouseout",()=>{s[g].state==="hover"&&(s[g].state="idle"),i("onHoverOut",g)}),C.addEventListener("click",()=>{i("onClick",g)})})}})}return(f,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,Kr))]),_:1}))}}),[["__scopeId","data-v-354134d9"]]);function el(l){if(!l)return!1;const a=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of a)if(!(t in l))return!1;return!0}function tl(l){return!("filename"in l)&&"defaultFilename"in l}function Oe(l){return"filename"in l}function ol(l){return l?"version"in l:!1}function nl(l){if(!l)return!1;const a=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of a)if(!(t in l))return!1;return!0}function al(l){if(!l)return!1;const a=["version","latitude","longitude","buildings","cameras"];for(const t of a)if(!(t in l))return!1;return!0}function be(l){return l.startsWith("/")?l:`/${l}`}function rt(l){var a,t,o,n;if(el(l))return l;if(al(l)){if(!l.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.buildings.map(({id:r,name:c})=>({id:r,name:c,type:"building"})),stillCameraIndices:l.cameras.map((r,c)=>c),stillCameraData:l.buildings.map(({id:r})=>({bestIndex:0,id:r})),loopable:!1,cameras:l.cameras.map(r=>{var i;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=be(d.filename)})}),{...c,defaultFilename:c.sunsimDayOfYear[0]?be(((i=c.sunsimDayOfYear[0].timeSamples.find(u=>u.timeInHours===c.sunsimDayOfYear[0].defaultHour))==null?void 0:i.filename)||c.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(nl(l)){if(!l.days&&!l.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const r=l.days||[{dayOfYear:180,timeSamples:l.timeSamples}];return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.buildings.map(({id:c,name:i})=>({id:c,name:i,type:"building"})),stillCameraIndices:[0],stillCameraData:l.buildings.map(({id:c})=>({bestIndex:0,id:c})),loopable:!1,cameras:[{cameraName:"",cameraPosition:l.cameraPosition,cameraRotation:lt(l.cameraRotation.normalized||l.cameraRotation),cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:be((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:i,filename:u})=>({timeInHours:i,filename:be(u)}))}))}]}}else{if(Qt(l))return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:{id:l.building.id,name:l.building.name,type:"building"},structures:l.unitData.map(({unitId:r})=>({id:r,name:r,type:"unit"})),stillCameraIndices:l.scenes,stillCameraData:l.unitData.map(({bestScene:r,unitId:c})=>({bestIndex:r,id:c})),loopable:l.loopable,cameras:l.cameras.map(r=>{var c;if(Te(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 i={...r};return i.sunsimDayOfYear&&i.sunsimDayOfYear.forEach(u=>{u.timeSamples&&u.timeSamples.forEach(d=>{d.filename=be(d.filename)})}),{...i,defaultFilename:i.sunsimDayOfYear[0]?be(((c=i.sunsimDayOfYear[0].timeSamples.find(u=>u.timeInHours===i.sunsimDayOfYear[0].defaultHour))==null?void 0:c.filename)||i.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(ol(l)){if(!l.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!l.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const r=[...Array(64).keys()].map(i=>({filename:`/1280/${(i+1).toString().padStart(4,"0")+".jpg"}`})),c=[4,1,2,3];for(let i=0;i<l.scenes.length;i++){let u=l.scenes[i],d,s;d=r[u].filename,s={cameraName:`Camera ${i+1}`,cameraPosition:void 0,cameraRotation:l.sceneCameras&&(o=l.sceneCameras.find(h=>h.scene===i))!=null&&o.cameraRotation?lt((n=l.sceneCameras.find(h=>h.scene===i))==null?void 0:n.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${c[i]}V5Overlay.svg`,defaultFilename:d,sunsimDayOfYear:void 0},Oe(r[u])&&(r[u]=s)}return{version:"5.0",latitude:0,longitude:0,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.sceneData.map(({apartmentID:i})=>({id:i,name:i,type:"unit"})),stillCameraIndices:l.scenes,stillCameraData:l.sceneData.map(({apartmentID:i,bestScene:u})=>({bestIndex:c.findIndex(d=>d===u)in l.scenes?l.scenes[c.findIndex(d=>d===u)]:null,id:i})).filter(({bestIndex:i})=>i!==null),loopable:!0,cameras:r}}else throw new Error("cannot convert data, no conversion source type found")}}function lt({x:l,y:a,z:t}){return{x:l,y:a,z:t,w:0}}const rl=["innerHTML"],ll={style:{"z-index":"7"}},il={key:3,class:"render-version"},it=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:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(l,{emit:a}){const t=l,{structureChooserData:o,cdnFileResolver:n,colorCallback:r,i18nConfig:c,customOverlayContent:i,selectedId:u,defaultCamera:d,defaultDay:s,defaultTime:h,mobileBreakpoint:k}=e.toRefs(t),f=a;e.provide(se,c.value?new ce(c.value):new ce);const m=e.ref(),p=e.ref(),w=e.ref(),C=e.ref(null),g=e.ref(4),D=e.ref(),V=e.ref(!1),N=e.ref(!1),_=e.ref(),y=e.computed(()=>_.value.isHoverEnabled),F=e.ref({x:0,y:0,width:0,height:0}),B=e.ref(),M=e.ref(),v=e.ref(),E=e.ref(!1),O=e.ref(),L=e.ref({current:100,min:100,max:1e3});e.onMounted(()=>{V.value=!0}),e.watch(o,I=>{try{v.value=rt(I)}catch(x){f("onError",x)}},{immediate:!0}),e.watch(V,I=>{I&&f("onInitialize")}),e.watch(()=>M.value,()=>{M.value&&new ResizeObserver(([x])=>{E.value=x.contentRect.width<k.value}).observe(M.value)});const Y=e.computed(()=>v.value?v.value.cameras.filter(tl):[]),A=e.computed(()=>v.value?v.value.cameras.filter(Oe):[]);e.watch([v,n,d],async()=>{n.value&&Y.value.length>0&&(d.value?m.value=Y.value.find(I=>I.cameraName===d.value)||Y.value[0]:m.value=Y.value[0],g.value=v.value.cameras.findIndex(I=>I===m.value),g.value=Math.max(0,g.value))},{immediate:!0}),e.watch([v,n,s],()=>{v.value&&n.value&&m.value&&m.value.sunsimDayOfYear&&m.value.sunsimDayOfYear.length>0&&(s.value?p.value=m.value.sunsimDayOfYear.find(I=>I.dayOfYear===s.value)||m.value.sunsimDayOfYear[0]:p.value=m.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([v,n,h],()=>{v.value&&n.value&&p.value&&p.value.timeSamples&&p.value.timeSamples.length>0&&(h.value?w.value=p.value.timeSamples.find(I=>I.timeInHours===h.value)||p.value.timeSamples[0]:w.value=p.value.timeSamples.find(I=>I.timeInHours===p.value.defaultHour)||p.value.timeSamples[0])},{immediate:!0});function S(I){m.value!==I&&le(v.value.cameras.findIndex(x=>x===I))}function $(I){g.value=I,Oe(v.value.cameras[g.value])?C.value=v.value.cameras[g.value]:(e.nextTick(()=>{z(v.value.cameras[g.value])}),C.value=null)}function z(I){const x=p.value;m.value=I,g.value=v.value.cameras.findIndex(T=>T===m.value),e.nextTick(()=>{m.value.sunsimDayOfYear&&m.value.sunsimDayOfYear.length>0&&J(m.value.sunsimDayOfYear.find(T=>T.dayOfYear===x.dayOfYear)||m.value.sunsimDayOfYear[0])})}function J(I){const x=w.value;p.value=I,e.nextTick(()=>{q(p.value.timeSamples.find(T=>T.timeInHours===x.timeInHours)||p.value.timeSamples.find(T=>T.timeInHours===p.value.defaultHour)||p.value.timeSamples[0])})}function q(I){w.value=I}function Q(I){f("onClick",I,()=>{const x=v.value.stillCameraData.find(T=>T.id===I);x&&le(x.bestIndex)})}function oe(I){f("onHoverOver",I),D.value=I}function me(I){f("onHoverOut",I),D.value=void 0}function ue(I){const{layerX:x,layerY:T}=I;let H=I.target,Z=!1;for(;H;)if(H===B.value){Z=!0;break}else H=H.parentElement;if(Z){const ne=I.currentTarget;F.value={x,y:T,width:ne.clientWidth,height:ne.clientHeight}}else F.value=void 0;f("onMouseMove",I,F.value)}function re({min:I,max:x,current:T}){L.value={min:I,max:x,current:T}}function de(I){O.value.adjustZoom(I?10:-10)}function te(I){return v.value.stillCameraIndices.findIndex(x=>x===I)}async function le(I){const x=g.value;if(v.value.loopable){const T=v.value.stillCameraIndices.length,H=te(x),Z=te(I);let ne=0,ie=0,K=H;for(;K++,K>=T&&(K=0),K!==Z;)ne++;for(K=H;K--,K<0&&(K+=T),K!==Z;)ie++;ne===ie?ee(x,I):ne<ie?H<Z?ee(x,I):ee(x,I+v.value.cameras.length):H>=Z?ee(x,I):ee(x+v.value.cameras.length,I)}else ee(x,I)}function ee(I,x){return new Promise(T=>{N.value=!0;let H,Z=I;H=setInterval(()=>{Z<x?(Z++,g.value=Math.abs(Z%v.value.cameras.length),$(g.value)):Z>x?(Z--,g.value=Math.abs(Z%v.value.cameras.length),$(g.value)):(clearInterval(H),N.value=!1,T())},50)})}return(I,x)=>{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:!V.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:M,class:e.normalizeClass({mobile:E.value}),style:{"min-height":"104px"},onMousemove:ue},[e.createElementVNode("div",{class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:E.value&&Y.value.length>1?"60px":0})},[m.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:E.value?32:40,height:E.value?32:40}),longitude:m.value.cameraRotation.y+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(Jr,{"is-mobile-sized":E.value,"can-zoom-out":L.value.min<L.value.current,"can-zoom-in":L.value.max>L.value.current,disabled:N.value,onOnZoomIn:x[0]||(x[0]=H=>de(!0)),onOnZoomOut:x[1]||(x[1]=H=>de(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4),Y.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass({"actions-bar bottom-left w-100 pa-2":!0,"px-0":E.value}),style:{"z-index":"7"}},[e.createVNode(Pr,{"is-mobile-sized":E.value,"still-cameras":Y.value,"current-camera":m.value,disabled:N.value,"cdn-file-resolver":e.unref(n),onOnCameraChange:S},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(ye,{ref_key:"zoomBox",ref:O,position:"relative",onUpdate:re},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y.value,(H,Z)=>(e.openBlock(),e.createBlock($r,{key:`camera${Z}`,"camera-data":H,"cdn-file-resolver":e.unref(n),"current-camera":m.value,"current-day":p.value,"current-time":w.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(A.value,(H,Z)=>(e.openBlock(),e.createBlock(Ur,{key:`transition${Z}`,"transition-data":H,"cdn-file-resolver":e.unref(n),"current-transition":C.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(i)?(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(i)},null,8,rl)):e.createCommentVNode("",!0),m.value.overlayFilename?e.withDirectives((e.openBlock(),e.createBlock(Xr,{key:1,"cdn-file-resolver":e.unref(n),"color-callback":e.unref(r),"current-camera":m.value,"selected-id":e.unref(u),onOnClick:Q,onOnHoverOver:oe,onOnHoverOut:me,onUpdateSvgContainer:x[2]||(x[2]=H=>B.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,C.value===null]]):e.createCommentVNode("",!0)]),_:1},512),p.value.timeSamples&&p.value.timeSamples.length>0||m.value.sunsimDayOfYear&&m.value.sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":E.value}),style:{"z-index":"7"}},[e.createVNode(zr,{class:"pr-2","is-mobile-sized":E.value,"current-camera":m.value,"current-day":p.value,disabled:N.value,onOnDayChange:J},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(Qr,{"is-mobile-sized":E.value,"current-day":p.value,"current-time":w.value,disabled:N.value,onOnTimeChange:q},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),I.$slots.popup&&F.value&&D.value?(e.openBlock(),e.createBlock(ge,{key:2,"is-hoverable":y.value,pos:F.value},{default:e.withCtx(()=>[e.createElementVNode("div",ll,[e.renderSlot(I.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:D.value,hoverable:y.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),I.version&&I.showVersion?(e.openBlock(),e.createElementBlock("div",il," version: "+e.toDisplayString(I.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(fe,{ref_key:"hoverProbe",ref:_},null,512)],64)}}}),[["__scopeId","data-v-0c8fdd47"]]),sl={install:function(a){a.component("VApartmentChooser",je),a.component("VBuildingChooser",Ze),a.component("VVirtualTour",tt),a.component("VManualSlideShow",ot),a.component("VStructureChooser",it)}};P.ResourceLoader=X,P.VApartmentChooser=je,P.VApartmentChooserV5=vo,P.VBuildingChooser=Ze,P.VBuildingChooserV5=rn,P.VFloatingCard=ge,P.VHoverProbe=fe,P.VManualSlideShow=ot,P.VNorthDirection=ke,P.VStructureChooser=it,P.VVirtualTour=tt,P.VZoomBox=ye,P.convertApartmentChooserDataLegacyToV5=We,P.convertBuildingChooserDataLegacyToV5=qe,P.convertStructureChooserDataLegacyToV5=rt,P.default=sl,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(G,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):(G=typeof globalThis<"u"?globalThis:G||self,e(G["vue3-player"]={},G.Vue,G.axios,G.PlayerCore,G.THREE))})(this,function(G,e,fe,_t,wt){"use strict";var Ql=Object.defineProperty;var Jl=(G,e,fe)=>e in G?Ql(G,e,{enumerable:!0,configurable:!0,writable:!0,value:fe}):G[e]=fe;var q=(G,e,fe)=>(Jl(G,typeof e!="symbol"?e+"":e,fe),fe);function Ge(l){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(n,t,a.get?a:{enumerable:!0,get:()=>l[t]})}}return n.default=l,Object.freeze(n)}const bt=Ge(_t),ge=Ge(wt);class ne{static async loadText(n){return new ne().loadText(n)}static async loadJson(n){return new ne().loadJson(n)}static async loadImage(n){return new ne().loadImage(n)}static async loadImageData(n){return new ne().loadImageData(n)}async loadText(n){return(await fe.get(n)).data}async loadJson(n){return(await fe.get(n)).data}async loadImage(n){return new Promise((t,a)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{t(o)},o.onerror=a,o.src=n})}async loadImageData(n){const t=await this.loadImage(n),a=document.createElement("canvas");try{const o=a.getContext("2d");return a.width=t.width,a.height=t.height,o.drawImage(t,0,0),a.toDataURL("image/png")}finally{a.remove()}}}const Vt=e.defineComponent({__name:"VHoverProbe",setup(l,{expose:n}){const t=e.ref(),a=e.computed(()=>window.getComputedStyle(t.value).display==="none");return n({isHoverEnabled:a}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),z=(l,n)=>{const t=l.__vccOpts||l;for(const[a,o]of n)t[a]=o;return t},he=z(Vt,[["__scopeId","data-v-eb9b348d"]]);function Q(l,n){return typeof l=="string"?`${l}${n}`:l(n)}const Bt=z(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(l,{emit:n}){const t=l,a=n,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),c=e.ref(0),i=e.ref(),m=e.ref(),u=e.ref(),s=e.ref(),p=e.ref(-1),v=e.ref(!1),g=e.ref(),d=e.ref(),f=e.ref({}),C=e.ref("auto"),y=e.ref(new ne),h=e.ref({}),I=e.ref(),x=e.ref(),A=e.ref(),_=e.ref(),k=e.ref(),F=e.computed(()=>A.value.isHoverEnabled),E=e.computed(()=>Q(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),O=e.computed(()=>E.value in f.value?f.value[E.value]:null),w=e.computed(()=>p.value<0?!1:t.sceneData.find(D=>D.index===p.value)||!1),V=e.computed(()=>({width:r.value+"px",height:c.value+"px",cursor:C.value})),R=e.computed(()=>`hover-${v.value?"over":"out"}-${w.value?typeof w.value=="object"&&"unitId"in w.value?w.value.unitId:w.value:""}`);e.watch(E,()=>{f.value[E.value]||y.value.loadImageData(E.value).then(S=>{f.value={...f.value,[E.value]:S}})},{immediate:!0}),e.watch(O,()=>{O.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{X()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{X()}),e.watch(w,()=>{X(),w.value?C.value="pointer":C.value="auto"}),e.watch(R,()=>{v.value?a("hoverOver",{hoverUnit:w.value?w.value.unitId:!1,closeHandler:()=>oe()}):a("hoverOut",{hoverUnit:w.value?w.value.unitId:!1,closeHandler:()=>oe()})}),e.watch(o,()=>{a("pos",o.value)}),e.onMounted(()=>{x.value=()=>{clearTimeout(I.value),re(),I.value=setTimeout(()=>{re()},50)},window.addEventListener("resize",x.value),re()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",x.value);for(const S in f.value)URL.revokeObjectURL(f.value[S])});function L(){i.value=_.value.getContext("2d",{willReadFrequently:!0}),m.value=new Image,m.value.onload=()=>{pe(),_.value.addEventListener("mousemove",N(W,50))},m.value.src=O.value}function W(S){const D=$(S.offsetX,S.offsetY);v.value=D>=0,p.value=D,o.value={x:S.offsetX,y:S.offsetY,width:r.value,height:c.value}}function T(S){const D=$(S.offsetX,S.offsetY);D<0||F&&K(D)}function B(){if(m.value&&m.value.width){_.value.width=m.value.width,_.value.height=m.value.height,i.value.drawImage(m.value,0,0,m.value.width,m.value.height),s.value=i.value.getImageData(0,0,_.value.width,_.value.height),u.value=i.value.getImageData(0,0,_.value.width,_.value.height);const S=s.value.data;h.value={};for(let D=0;D<S.length;D+=4)h.value[S[D]]=[];for(let D=3;D<S.length;D+=4)S[D]===255&&S[D-3]in h.value&&h.value[S[D-3]].push(D-3)}}function $(S,D){g.value=S,d.value=D;const H=_.value.offsetWidth/_.value.width,J=_.value.offsetHeight/_.value.height,ie=(S/H).toFixed(),ae=(D/J).toFixed(),te=Number(ae)*(_.value.width*4)+Number(ie)*4,de=s.value.data[te];return s.value.data[te+3]>0?de:-1}function U(){j().forEach(D=>{if(D.index>=0){const H=Z(D.index);if(H){const J=Y(D.index);let ie="idle";!w.value&&t.selectedUnitId&&J===t.selectedUnitId?ie="selected":w.value&&p.value===D.index&&(ie="hover");const ae=t.colorCallback(D.unitId,ie);if(ae)for(let te=0;te<H.length;te++)u.value.data[H[te]]=ae.r,u.value.data[H[te]+1]=ae.g,u.value.data[H[te]+2]=ae.b,u.value.data[H[te]+3]=ae.a}}})}function Z(S){return s.value?h.value[S]:!1}function Y(S){const D=t.sceneData.find(H=>H.index===S);return D&&D.unitId}function j(){if(s.value){const S=Object.keys(h.value).map(H=>parseInt(H));return t.sceneData.filter(H=>S.includes(H.index))}else return[]}function K(S){const D=Y(S);ee(D)}function ee(S){a("selectUnit",S),S&&t.canGoToUnitCallback(S)&&a("goToUnit",S)}function ce(S=0){if(!u.value)return;const D=u.value.data;for(let H=3;H<D.length;H+=4)D[H]=S}function re(){if(!k.value)return!1;r.value=k.value.offsetWidth,c.value=k.value.offsetHeight}function pe(){B(),X()}function X(){ce(),U(),i.value&&u.value&&i.value.putImageData(u.value,0,0)}function oe(){v.value=!1}const le=e.ref(!1);function N(S,D){return le.value=!0,function(...H){le.value&&(le.value=!1,S.apply(this,H),setTimeout(()=>le.value=!0,D))}}return(S,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:k,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:_,style:e.normalizeStyle(V.value),onClick:T},null,4),[[e.vShow,!S.viewModel.isRotating]]),e.createVNode(he,{ref_key:"hoverProbe",ref:A},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),Et=["viewBox"],xt=["innerHTML","onMouseenter","onMouseleave","onClick"],St=z(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(l,{emit:n}){const t=l,a=n,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),c=e.ref({}),i=e.ref(null),m=e.ref(new ne),u=e.ref(),s=e.ref(),p=e.computed(()=>s.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in c.value&&(i.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(c,()=>{t.viewModel.currentScene in c.value&&(i.value=c.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(o,()=>{a("pos",o.value)}),e.watch(r,(x,A)=>{if(x>=0){const _=g(x);a("hoverOver",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}else{const _=g(A);a("hoverOut",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let x=1;x<=4;x++){const A=Q(t.cdnFileResolver,`/scenedata${x}.svg`),_={markup:"",viewBox:"",svgObjects:[]};m.value.loadJson(A).then(k=>{_.markup=k;const E=new DOMParser().parseFromString(k,"image/svg+xml").getElementsByTagName("svg")[0];_.viewBox=E.getAttribute("viewBox"),_.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(O=>({index:parseInt(O.getAttribute("data-index")),svg:O.innerHTML})),c.value={...c.value,[x]:_}})}u.value.addEventListener("mousemove",I(v,50))});function v(x){o.value={x:x.offsetX,y:x.offsetY,width:u.value.offsetWidth,height:u.value.offsetHeight}}function g(x){var A;return(A=t.sceneData.find(_=>_.index===(typeof x=="string"?parseInt(x):x)))==null?void 0:A.unitId}function d(x){p.value&&(r.value=x)}function f(x){p.value&&(r.value=-1)}function C(x){const A=g(x);a("selectUnit",A),p.value&&A&&t.canGoToUnitCallback(A)?a("goToUnit",A):r.value=x}function y(x){const A=g(x);let _="idle";r.value<0&&t.selectedUnitId&&A===t.selectedUnitId?_="selected":r.value>=0&&r.value===x&&(_="hover");const k=t.colorCallback(A,_);if(k){const{r:F,g:E,b:O,a:w,s:V}=k;return{strokeWidth:V!==void 0?V:2,stroke:`rgb(${F}, ${E}, ${O})`,strokeOpacity:1,fill:`rgb(${F}, ${E}, ${O})`,fillOpacity:w/255,cursor:`${t.canGoToUnitCallback(A)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const h=e.ref(!1);function I(x,A){return h.value=!0,function(..._){h.value&&(h.value=!1,x.apply(this,_),setTimeout(()=>h.value=!0,A))}}return(x,A)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:u},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:_,svg:k})=>(e.openBlock(),e.createElementBlock("g",{key:_,innerHTML:k,style:e.normalizeStyle(y(_)),onMouseenter:F=>d(_),onMouseleave:F=>f(),onClick:F=>C(_)},null,44,xt))),128))],8,Et)):e.createCommentVNode("",!0)],4),[[e.vShow,!x.viewModel.isRotating]]),e.createVNode(he,{ref_key:"hoverProbe",ref:s},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),me=Symbol(),Dt={key:0,class:"text-success d-none d-md-flex"},Nt={class:"text-success"},It=z(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(l,{emit:n}){const t=l,a=e.computed(()=>t.selectedUnitId),o=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),c=n,i=e.inject(me);e.onMounted(()=>{window.addEventListener("keydown",m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",m)});function m(u){u.keyCode===37?t.prevUnitId&&c("prevUnit"):u.keyCode===39&&t.nextUnitId&&c("nextUnit")}return(u,s)=>{const p=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(p,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:s[0]||(s[0]=v=>u.viewModel.rotateClockwise())}),e.createVNode(p,{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]=v=>c("prevUnit"))},null,8,["disabled"]),e.createVNode(p,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!u.canGoToUnitCallback(a.value),onClick:s[2]||(s[2]=v=>c("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&u.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",Dt,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Nt,e.toDisplayString(a.value?t.unitRenderer(a.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(p,{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]=v=>c("nextUnit"))},null,8,["disabled"]),e.createVNode(p,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:s[4]||(s[4]=v=>u.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Le{constructor(n){q(this,"_numParts");q(this,"_loadedCount");q(this,"_isError");q(this,"_finishedAction");q(this,"_errorAction");q(this,"_loadProgressAction");this._numParts=n,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(n){return this._finishedAction=n,this}onLoadError(n){return this._errorAction=n,this}onLoadProgress(n){return this._loadProgressAction=n,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 Me{constructor(n,t,a,o){q(this,"_rotator");q(this,"_direction");q(this,"_frameIndex");q(this,"_sceneCount");this._rotator=n,this._direction=t,this._frameIndex=a,this._sceneCount=o}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const n=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(n)?this._sceneCount-1:this._sceneCount;return new Me(this._rotator,this._direction,n,t)}}class At{constructor(n,t){q(this,"_cardinalFrames");q(this,"_totalFrameCount");this._cardinalFrames=n,this._totalFrameCount=t}start(n,t,a){const o=this.startFrameIndexForScene(t);return new Me(this,n,o,a)}isCardinalFrame(n){return this._cardinalFrames.includes(n)}clampFrameIndex(n){return(this._totalFrameCount+n)%this._totalFrameCount}startFrameIndexForScene(n){return this._cardinalFrames[n]}}const Tt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Ft={key:1,class:"frame-container"},Lt={key:0,class:"frame-image"},Mt=["srcset"],Ot=["src"],$t={key:2,id:"image-stack",class:"frame-container"},Rt=["alt"],Ut=["srcset"],Ht=["src"],Ze=64,Ee=4,zt=120,Yt=z(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(l,{emit:n}){const t=l,a=n,o=g(),r=e.ref(new Le(o.length).onLoadFinished(()=>a("loaded")).onLoadProgress(y=>a("progress",y)).onLoadError(()=>a("error"))),c=e.ref(new At(t.cardinalFrames,Ze)),i=e.ref(o),m=e.ref(!1),u=e.computed(()=>i.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,h)=>{const I=C(h,y),x=f(h,y);s(h,I,x)}),e.onMounted(()=>{v()});function s(y,h,I){t.viewModel.isRotating||(t.viewModel.isRotating=!0,p(c.value.start(h,y%Ee,I)))}function p(y){setTimeout(()=>{i.value[y.frameIndex].show=!1;const h=y.nextFrame();i.value[h.frameIndex].show=!0,h.atEnd?v():window.requestAnimationFrame(()=>p(h))},1e3/zt)}function v(){const y=c.value.startFrameIndexForScene(t.viewModel.currentScene%Ee);y in i.value&&(i.value[y].show=!0),t.viewModel.isRotating=!1}function g(){const y=[];for(let h=0;h<Ze;h++){const{sourceSet:I,defaultPath:x}=d(h);y.push({index:h,sourceSet:I,defaultPath:x,show:!1})}return y}function d(y){const h=("0000"+(y+1)).slice(-4),I=t.build?`?v=${t.build}`:"",x=[`${Q(t.cdnFileResolver,`/480/${h}.jpg${I}`)} 480w`,`${Q(t.cdnFileResolver,`/960/${h}.jpg${I}`)} 960w`,`${Q(t.cdnFileResolver,`/1280/${h}.jpg${I}`)} 1280w`].join(","),A=Q(t.cdnFileResolver,`/480/${h}.jpg${I}`);return{sourceSet:x,defaultPath:A}}function f(y,h){const I=Ee/2,x=Math.abs(y-h);return x>I?Ee-x:x}function C(y,h){if(y===h)return 0;const x=Math.abs(y-h)<Ee/2;return x&&y<h||!x&&y>h?1:-1}return(y,h)=>{const I=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",Tt,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,x=>(e.openBlock(),e.createElementBlock("picture",{key:x.index,alt:x.index,class:e.normalizeClass({"frame-image":!0,show:x.show})},[e.createElementVNode("source",{srcset:x.sourceSet,type:"image/jpeg"},null,8,Ut),e.createElementVNode("img",{src:x.defaultPath,alt:"Building image",onLoad:h[2]||(h[2]=A=>r.value.partLoaded()),onError:h[3]||(h[3]=A=>r.value.errorDetected())},null,40,Ht)],10,Rt))),128))])):(e.openBlock(),e.createElementBlock("div",Ft,[u.value?(e.openBlock(),e.createElementBlock("picture",Lt,[e.createElementVNode("source",{srcset:u.value.sourceSet,type:"image/jpeg"},null,8,Mt),e.createElementVNode("img",{src:u.value.defaultPath,onLoad:h[0]||(h[0]=x=>m.value=!0),onError:h[1]||(h[1]=x=>r.value.errorDetected())},null,40,Ot)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),ye=z(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(l,{emit:n}){const t=l,a=n,o=e.computed(()=>{let r,c,i,m;return t.pos.x<=t.pos.width/2?(r="-100%",i="-8px"):(r="0%",i="8px"),t.pos.y<=t.pos.height/2?(c="-100%",m="-8px"):(c="0%",m="8px"),`translate(${r}, ${c}) translate(${i}, ${m})`});return(r,c)=>{const i=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(i,{key:1,value:!0,width:"auto","onClick:outside":c[0]||(c[0]=u=>a("outside",u))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),ke=z(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(l,{expose:n,emit:t}){const a=l,o=t;n({adjustZoom:W});const r=e.ref(100),c=e.ref(0),i=e.ref(0),m=e.ref(!1),u=e.ref(!1),s=e.ref(void 0),p=e.ref(!1),v=e.ref(),g=e.computed(()=>`translateX(${c.value}px) translateY(${i.value}px) scale(${d.value})`),d=e.computed(()=>r.value/100),f=e.computed(()=>a.maxScale*100);e.watch([d,c,i],()=>{T()},{immediate:!0}),e.watch(()=>a.desktop,()=>{a.desktop?C():h()}),e.watch(()=>a.mobile,()=>{a.mobile?y():I()}),e.onMounted(()=>{a.desktop&&C(),a.mobile&&y()}),e.onBeforeUnmount(()=>{a.desktop&&h(),a.mobile&&I()});function C(){v.value.addEventListener("wheel",x,{capture:!0}),v.value.addEventListener("mousedown",A,{capture:!0}),v.value.addEventListener("mousemove",_,{capture:!0}),window.addEventListener("mouseup",k,{capture:!0}),window.addEventListener("click",F,{capture:!0})}function y(){v.value.addEventListener("touchstart",E,{capture:!0}),v.value.addEventListener("touchmove",O,{capture:!0}),window.addEventListener("touchend",w,{capture:!0}),window.addEventListener("touchcancel",w,{capture:!0})}function h(){v.value.removeEventListener("wheel",x,{capture:!0}),v.value.removeEventListener("mousedown",A,{capture:!0}),v.value.removeEventListener("mousemove",_,{capture:!0}),window.removeEventListener("mouseup",k,{capture:!0}),window.removeEventListener("click",F,{capture:!0})}function I(){v.value.removeEventListener("touchstart",E,{capture:!0}),v.value.removeEventListener("touchmove",O,{capture:!0}),window.removeEventListener("touchend",w,{capture:!0}),window.removeEventListener("touchcancel",w,{capture:!0})}function x(B){const{x:$,y:U}=V(B);W(-B.deltaY/10,$,U),B.preventDefault()}function A(B){m.value=!0,p.value=!1,s.value=B}function _(B){if(m.value){const{x:$,y:U}=V(B),{x:Z,y:Y}=V(s.value),j={x:$-Z,y:U-Y};R(j.x),L(j.y),p.value=!0,s.value=B}}function k(B){m.value&&p.value&&a.consumeMouseUpWhenMoved&&(B.preventDefault(),B.stopImmediatePropagation())}function F(B){m.value&&(p.value&&a.consumeMouseClickWhenMoved&&(B.preventDefault(),B.stopImmediatePropagation()),m.value=!1)}function E(B){m.value=B.touches.length===1,u.value=B.touches.length===2,s.value=B}function O(B){if(m.value){const{x:$,y:U}=V(B.touches[0]),{x:Z,y:Y}=V(s.value.touches[0]),j={x:$-Z,y:U-Y};R(j.x),L(j.y)}else if(u.value&&B.touches.length===2){const{x:$,y:U}=V(B.touches[0]),{x:Z,y:Y}=V(s.value.touches[0]),{x:j,y:K}=V(B.touches[1]),{x:ee,y:ce}=V(s.value.touches[1]),re=Math.hypot(Z-ee,Y-ce),pe=Math.hypot($-j,U-K),X=(j+$)/2,oe=(K+U)/2;W(pe-re,X,oe)}s.value=B}function w(){m.value=!1,u.value=!1}function V(B){const{left:$,top:U}=v.value.getBoundingClientRect();return{x:B.clientX-$,y:B.clientY-U}}function R(B){const $=v.value.clientWidth,U=$*d.value;c.value=Math.max(Math.min(0,c.value+B),-(U-$))}function L(B){const $=v.value.clientHeight,U=$*d.value;i.value=Math.max(Math.min(0,i.value+B),-(U-$))}function W(B,$,U){const Z=$!==void 0?$:v.value.clientWidth/2,Y=U!==void 0?U:v.value.clientHeight/2,j=v.value.clientWidth,K=v.value.clientHeight,ee=j*d.value,ce=K*d.value;r.value=Math.min(Math.max(100,r.value+B),f.value);const re=j*d.value,pe=K*d.value,X=re-ee,oe=pe-ce;c.value-=Z/j*X,i.value-=Y/K*oe,R(0),L(0)}function T(){o("update",{scale:d.value,x:c.value,y:i.value,current:Math.min(Math.max(100,r.value),f.value),min:100,max:f.value,resolve:(B,$)=>{const U=v.value.clientWidth,Z=v.value.clientHeight,Y=c.value/-d.value,j=i.value/-d.value,K=Y+U/d.value,ee=j+Z/d.value,ce=B/U*(K-Y)+Y,re=$/Z*(ee-j)+j;return{x:ce,y:re}}})}return(B,$)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:v,class:"zoom-box-container",style:e.normalizeStyle({position:a.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:g.value}),class:"zoom-box"},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Oe=4;function qe(l){return l<Oe?l+1:1}function Pt(l){return l>1?l-1:Oe}class jt{constructor(n){q(this,"_state");this._state={isRotating:!1,currentScene:n}}get isRotating(){return this._state.isRotating}set isRotating(n){this._state.isRotating=n}unlessRotatingDo(n){this.isRotating||n()}get currentScene(){return this._state.currentScene}set currentScene(n){this._state.currentScene=n}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=qe(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Pt(this.currentScene)})}}const Wt={interior:{en:"Interior",nb:"Møblering",sv:"Interiör",fi:"Sisustus"},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.",fi:"Kaikki kuvitukset ovat ohjeellisia. Poikkeamia voi esiintyä."},iUnderstand:{en:"I understand",nb:"Jeg forstår",sv:"Jag förstår",fi:"Ymmärrän"},share:{en:"Share",nb:"Dele",sv:"Dela",fi:"Jaa"},shareToFacebook:{en:"Share to Facebook",nb:"Del på Facebook",sv:"Dela till Facebook",fi:"Jaa Facebookissa"},shareToLinkedin:{en:"Share to Linkedin",nb:"Del til Linkedin",sv:"Dela till Linkedin",fi:"Jaa LinkedInissä"},shareToTwitter:{en:"Share to Twitter",nb:"Del på Twitter",sv:"Dela på Twitter",fi:"Jaa Twitterissä"},shareViaEmail:{en:"Share via Email",nb:"Del via e-post",sv:"Dela via e-post",fi:"Jaa sähköpostitse"},copyLink:{en:"Copy link",nb:"Kopier lenken",sv:"Kopiera länken",fi:"Kopioi linkki"},slideShow:{en:"Images",nb:"Bilder",sv:"Bilder",fi:"Kuvat"},floor:{en:"Floor",nb:"Gulv",sv:"Golv",fi:"Kerros"},seeApartment:{en:"See apartment",nb:"Se leilighet",sv:"Se lägenhet",fi:"Katso asunto"},clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt",sv:"Klicka och dra för att se dig omkring",fi:"Napsauta ja vedä katsoaksesi ympärillesi"},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",fi:"Napsauta ympyröitä siirtyäksesi"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome",sv:"Använd mushjulet för att zooma",fi:"Käytä hiiren rullaa zoomaukseen"},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",fi:"Voit myös käyttää nuolinäppäimiä liikkumiseen"},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",fi:"Napauta ja vedä nähdäksesi ympärilläsi"},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",fi:"Napauta ympyröitä siirtyäksesi"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome",sv:"Använd två fingrar för att zooma",fi:"Käytä kahta sormea ​​zoomataksesi"},dontShowAgain:{en:"Don't show again",nb:"Ikke vis igjen",sv:"Visa inte igen",fi:"Älä näytä uudelleen"},lower:{en:"Lower",nb:"Senke",sv:"Lägre",fi:"Alempi"},upper:{en:"Upper",nb:"Øverste",sv:"Övre",fi:"Ylempi"},disclaimer:{en:"Disclaimer",nb:"Forbehold",sv:"Ansvarsfriskrivning",fi:"Vastuuvapauslauseke"},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.",fi:"Huomaa, että tämän asunnon visuaalinen esitys voi poiketa lopullisesta toimituksesta. Visuado tarjoaa ainutlaatuisen mahdollisuuden kokea kiinteistö, joka on vielä rakenteilla, mutta tässä projektin vaiheessa voi tapahtua muutoksia. Kunkin yksikön myyntipiirustus on sitova ostoksen kannalta."},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.",fi:"Huomaa, että tämän asunnon visuaalinen esitys voi poiketa lopullisesta toimituksesta."},learnMore:{en:"Learn more",nb:"Les Mer",sv:"Läs mer",fi:"Lue lisää"},back:{en:"Back",nb:"Tilbake",sv:"Tillbaka",fi:"Takaisin"},virtualTour:{en:"Virtual Tour",nb:"Virtuell Visning",sv:"Virtuell Rundtur",fi:"Virtuaalinen kierros"}};class ue{constructor({labels:n,language:t}={labels:null,language:null}){q(this,"_labels");q(this,"_language");this._labels={...Wt,...n||{}},this._language=t||"nb"}getLabel(n){return n in this._labels?this.get(this._labels[n]):n}get(n){if(typeof n=="string")return n;if(this._language in n&&n[this._language])return n[this._language];for(const t in n)if(n[t])return n[t];return""}}const Gt={key:0},Zt={class:"interactive-viewer"},qt={class:"fill-parent"},Qt={key:0},Jt={key:1,class:"navigation"},Kt={key:2},Xt=4,Qe=z(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:l=>l},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(l,{emit:n}){const t=[0,16,32,48],a=l,o=n;e.provide(me,a.i18nConfig?new ue(a.i18nConfig):new ue);const r=e.reactive({isReady:!1,isError:!1}),c=e.ref(),i=e.ref(),m=e.ref(),u=e.ref(),s=e.ref({x:0,y:0,width:0,height:0}),p=e.ref(),v=e.ref(),g=e.ref(),d=e.computed(()=>g.value.isHoverEnabled),f=e.computed(()=>a.useSvg?St:Bt),C=e.computed(()=>a.selectedUnitId),y=e.computed(()=>a.nextUnitId),h=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(C.value&&u.value){const _=c.value[C.value];_&&(u.value.currentScene=_)}}),e.onMounted(async()=>{const _=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:Xt;m.value=a.apartmentChooserData&&a.apartmentChooserData.scenes!==void 0?a.apartmentChooserData.scenes:t,i.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],c.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(E=>{const O=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:O}}).reduce((E,O)=>({...E,[O.unitId]:O.scene}),{}):{};const k=(E,O="unitId")=>{let w=_,V=[];for(let R=0;R<Oe;R++)V.push(w),w=qe(w);return E.sort((R,L)=>{const W=V.findIndex(B=>B===c.value[R[O]]),T=V.findIndex(B=>B===c.value[L[O]]);return W<T?-1:W>T?1:0}),E},F=E=>{u.value=new jt(E)};o("initialized",{scene:_,scenes:m.value,sceneData:i.value,scenesByApartment:c.value,unitsSceneSort:k,initialize:F})});function I(_){s.value=_}function x(_){v.value=_.hoverUnit,p.value=_.closeHandler,o("hoverOverUnit",_.hoverUnit)}function A(_){v.value=null,p.value=_.closeHandler,o("hoverOutUnit",_.hoverUnit)}return(_,k)=>{const F=e.resolveComponent("v-progress-linear");return u.value?(e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("div",Zt,[e.createElementVNode("div",qt,[e.createVNode(ke,{desktop:r.isReady&&_.interactiveDesktop,mobile:r.isReady&&_.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(Yt,{"cdn-file-resolver":_.cdnFileResolver,"view-model":u.value,"cardinal-frames":m.value,build:_.build,onProgress:k[0]||(k[0]=E=>r.progress=E),onLoaded:k[1]||(k[1]=E=>r.isReady=!0),onError:k[2]||(k[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Qt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":u.value,"selected-unit-id":C.value,"scene-data":i.value,"color-callback":a.colorCallback,"can-go-to-unit-callback":a.canGoToUnitCallback,"draw-observer":a.drawObserver,onSelectUnit:k[3]||(k[3]=E=>o("selectUnit",E)),onGoToUnit:k[4]||(k[4]=E=>o("goToUnit",E)),onHoverOver:x,onHoverOut:A,onPos:I},{default:e.withCtx(E=>[e.renderSlot(_.$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"]),v.value&&_.showCards?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":d.value,pos:s.value,onOutside:p.value},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{unit:v.value,canGoToUnit:_.canGoToUnitCallback(v.value),goToUnit:()=>_.canGoToUnitCallback(v.value)&&o("goToUnit",v.value),pos:s.value,isHoverable:d.value,close:p.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Jt,[e.createVNode(It,{"can-go-to-unit-callback":a.canGoToUnitCallback,"unit-renderer":a.unitRenderer,"selected-unit-id":C.value,"prev-unit-id":h.value,"next-unit-id":y.value,"view-model":u.value,onGoToUnit:k[5]||(k[5]=E=>o("goToUnit",E)),onPrevUnit:k[6]||(k[6]=E=>o("navUnit",h.value)),onNextUnit:k[7]||(k[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",Kt,[e.createVNode(F,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":k[8]||(k[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(he,{ref_key:"hoverProbe",ref:g},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),eo=["src"],to=z(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>Q(n.cdnFileResolver,n.timeSampleData.filename));return(a,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,eo)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),oo=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(to,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),no=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(oo,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),ao=["src"],ro=z(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(l,{emit:n}){const t=l,a=e.computed(()=>Q(t.cdnFileResolver,t.transitionData.filename));return(o,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:a.value,src:a.value,class:"position-absolute top-left w-100 h-100"},null,8,ao)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function lo(l){if(!l)return!1;const n=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of n)if(!(t in l))return!1;return!0}function $e(l){return!("filename"in l)}function Re(l){return"filename"in l}const io=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(l,{emit:n}){const t=l,a=n,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($e):[]);return e.watch(o,()=>{a("onCameraChange",r.value.find(c=>c.overlayFilename===o.value))}),(c,i)=>{const m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=u=>o.value=u),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),so=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const i=new Date(0);return i.setUTCDate(c),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,i)=>{const m=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(u,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[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"])}}}),co={key:0,class:"py-2"},mo={class:"small"},uo={class:"small"},po=z(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{a("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function c(m){const u=m*60,s=Math.floor(u/60),p=u%60;return`${s.toString().padStart(2,"0")}:${p.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(u=>u.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const u=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);u<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[u+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,u)=>{const s=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),g=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(g,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",co,[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(v,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=d=>o.value=d),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(p,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",mo,e.toDisplayString(c(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",uo,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"]]),fo=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(l,{expose:n,emit:t}){const a=l,o=t;n({rotateShortestRoute:v});const r=e.ref(!1),c=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{c.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{o("onSceneChange",c.value)});const m=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:c.value!==a.apartmentChooserData.scenes[0]),u=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:c.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function s(){const d=c.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)+1;f>=a.apartmentChooserData.scenes.length&&(f=0);const C=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d>C,g(d,C)}async function p(){const d=c.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)-1;f<0&&(f=a.apartmentChooserData.scenes.length-1);const C=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d<C,g(d,C)}function v(d){const f=c.value;if(a.apartmentChooserData.loopable)if(d<f){let C=f-d,y=f-(a.apartmentChooserData.cameras.length+d);return Math.abs(C)>Math.abs(y)?g(f,d):g(f,a.apartmentChooserData.cameras.length+d)}else{let C=f-d,y=a.apartmentChooserData.cameras.length+f-d;return Math.abs(C)>Math.abs(y)?g(f,d):g(a.apartmentChooserData.cameras.length+f,d)}else return g(f,d)}function g(d,f){return new Promise(C=>{r.value=!0,o("onRotateStart",{from:d,to:f});let y,h=d;y=setInterval(()=>{h<f?(h++,c.value=Math.abs(h%a.apartmentChooserData.cameras.length)):h>f?(h--,c.value=Math.abs(h%a.apartmentChooserData.cameras.length)):(clearInterval(y),o("onRotateFinish",{from:d,to:f}),r.value=!1,C())},50)})}return(d,f)=>{const C=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(C,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!m.value,onClick:p},null,8,["disabled"]),d.renderDisplay&&i.value?(e.openBlock(),e.createBlock(y,{key:0,variant:"flat",color:"white",size:"large",onClick:f[0]||(f[0]=h=>o("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(C,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!u.value,onClick:s},null,8,["disabled"])],64)}}}),ho=["innerHTML"],go=z(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watchEffect(()=>{for(const s in i){const{element:p,state:v}=i[s],{r:g,g:d,b:f,a:C,s:y}=t.colorCallback(s,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${g}, ${d}, ${f}, ${C/255})`,p.style.stroke=`rgb(${g}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(c,()=>{for(const s in i)i[s].state==="selected"&&s!==c.value?i[s].state="idle":i[s].state!=="selected"&&s===c.value&&(i[s].state="selected")}),e.watchEffect(async()=>{o.value=await ne.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),u()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var p;const s=(p=r.value)==null?void 0:p.firstChild;if(s){if(!s.hasAttribute("viewBox")){const v=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",v)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())}})}function u(){e.nextTick(()=>{var p;const s=(p=r.value)==null?void 0:p.firstChild;s&&(a("updateSvgContainer",s),m(),s.querySelectorAll("[data-apartment-id]").forEach(g=>{g.style.strokeWidth="0",g.style.stroke="rgba(255,255,255,0)",g.style.fill="rgba(255,255,255,0)",g.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=g.getAttribute("data-apartment-id");i[d]={element:g,state:c.value===d?"selected":"idle"},g.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),g.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),g.addEventListener("click",()=>{a("onClick",d)})}))})}return(s,p)=>(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,ho))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),yo="data:image/png;base64,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",ve=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(l){const n=l,t=e.computed(()=>({transform:`rotate(${90-(n.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(a,o)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(yo),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class _e{constructor(n){q(this,"_buildingIds");this._buildingIds=n}static empty(){return new _e([])}getBuildingId(n,t,a){const o=this._getBuildingIndex(n,t,a);if(o!==void 0)return this._buildingIds[o]}_getBuildingIndex(n,t,a){const[o,r,c,i]=n.getPixel(t,a);if(i===255&&o===r&&r===c)return o}}const ko=180;class Je{constructor(n){q(this,"_cdnFileResolver");q(this,"_resourceLoader");this._cdnFileResolver=n,this._resourceLoader=new ne}constructFileUrl(n){return this._cdnFileResolver?Q(this._cdnFileResolver,`/${n}`):null}loadBuildingMapImage(n){const t=this.constructFileUrl(n.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(n){return n.cameraRotation&&n.cameraRotation.y+270}getBuildingData(n){const t=n?n.buildings:[],a=t.map(r=>r.id),o=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:a,buildingOverlays:o}}getBackgroundImageData(n){return"days"in n?this.processMultipleDays(n.days):[this.processTimeSamples(ko,n.timeSamples)]}processMultipleDays(n){return n.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(n,t){return{urls:t.map(o=>this.constructFileUrl(o.filename)),referenceDate:this.makeReferenceDate(n)}}makeReferenceDate(n){const t=new Date(0);return t.setUTCDate(n),t}async loadBuildingChooser(n){try{if(n){const t=await this.loadBuildingMapImage(n);if(t){const a=this.getViewLongitude(n),{buildingIds:o,buildingOverlays:r}=this.getBuildingData(n),c=this.getBackgroundImageData(n);return{mapImage:t,viewLongitude:a,buildingIds:o,buildingOverlays:r,backgrounds:c}}}return null}catch{return null}}}class we{constructor(n){q(this,"_mapImage");q(this,"_context");this._mapImage=n,this._context=null}static empty(){return new we(null)}update(n){this._mapImage&&(this._context=n.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,n.width,n.height))}getPixel(n,t){try{return this._context?this._context.getImageData(n,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const vo=new Date(0);class Se{constructor(n){q(this,"_imagesByDay");q(this,"_state");this._imagesByDay=n,this._state={selectedIndex:0}}static empty(){return new Se([{referenceDate:vo,urls:[]}])}selectIndex(n){n<this._imagesByDay.length&&(this._state.selectedIndex=n)}get dates(){return this._imagesByDay.map(n=>n.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 xe(l){return("0"+l).slice(-2)}function Co(){const l=new Date;return[l.getFullYear().toString(),xe(l.getMonth()+1),xe(l.getDate())," ",xe(l.getHours()),xe(l.getMinutes()),xe(l.getSeconds())].join("")}function _o(){return"Visuado-Snapshot-"+Co()}class wo{constructor(n,t){q(this,"data");this.data=n}download(n=null){n=n||_o();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=n,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}function Ke(l){const n=l.sceneData.map(i=>({unitId:i.apartmentID,bestScene:i.bestScene})),t="1280",a=[4,1,2,3],o=[];for(let i=1;i<=64;i++){const m=i.toString().padStart(4,"0")+".jpg";o.push(m)}const r=o.map(i=>({filename:`/${t}/${i}`}));for(let i=0;i<l.scenes.length;i++){let m=l.scenes[i],u,s;u=r[m],s={cameraName:`Kamera ${i+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${a[i]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:u.filename}]}]},Re(r[m])&&(r[m]=s)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:l.scenes,loopable:!0,renderVersion:l.renderVersion?l.renderVersion:"Auto Converted",unitData:n,cameras:r}}const bo={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Vo={class:"pa-1"},Bo={class:"pa-1"},Eo={class:"pa-1"},xo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},So={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},Do=["innerHTML"],No={style:{"z-index":"7"}},Io=z(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(l,{emit:n}){const t=l,a=n,o=e.ref(),r=e.ref(),c=e.ref(),i=e.ref(null),m=e.ref(4),u=e.ref(),s=e.ref(!1),p=e.ref(!1),v=e.ref(),g=e.ref(),d=e.computed(()=>g.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),C=e.ref(),y=e.ref(),h=e.ref(t.apartmentChooserData),I=e.ref(!1);e.onMounted(()=>{s.value=!0}),e.watch(s,T=>{T&&a("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([B])=>{I.value=B.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const x=e.computed(()=>h.value?h.value.cameras.filter($e):[]),A=e.computed(()=>h.value?h.value.cameras.filter(Re):[]),_=async()=>{try{let T,B;return B=await ne.loadJson(Q(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(B.version)===5?B:(T=Ke(B),T)}catch(T){s.value=!1,a("onError",T)}};e.watch([h,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(h.value||(h.value=await _()),t.defaultCamera?o.value=x.value.find(T=>T.cameraName===t.defaultCamera)||x.value[0]:o.value=x.value[0],m.value=h.value.cameras.findIndex(T=>T===o.value),m.value=Math.max(0,m.value))},{immediate:!0}),e.watch([h,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{h.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(T=>T.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([h,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{h.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(T=>T.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(T=>T.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function k(T){o.value!==T&&v.value.rotateShortestRoute(h.value.cameras.findIndex(B=>B===T))}function F(T){m.value=T,Re(h.value.cameras[m.value])?i.value=h.value.cameras[m.value]:(e.nextTick(()=>{E(h.value.cameras[m.value])}),i.value=null)}function E(T){const B=r.value;o.value=T,m.value=h.value.cameras.findIndex($=>$===o.value),e.nextTick(()=>{O(o.value.sunsimDayOfYear.find($=>$.dayOfYear===B.dayOfYear)||o.value.sunsimDayOfYear[0])})}function O(T){const B=c.value;r.value=T,e.nextTick(()=>{w(r.value.timeSamples.find($=>$.timeInHours===B.timeInHours)||r.value.timeSamples.find($=>$.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function w(T){c.value=T}function V(T){a("onClick",T,()=>{const B=h.value.unitData.find($=>$.unitId===T);B&&v.value.rotateShortestRoute(B.bestScene)})}function R(T){a("onHoverOver",T),u.value=T}function L(T){a("onHoverOut",T),u.value=void 0}function W(T){const{layerX:B,layerY:$}=T;let U=T.target,Z=!1;for(;U;)if(U===C.value){Z=!0;break}else U=U.parentElement;if(Z){const Y=T.currentTarget;f.value={x:B,y:$,width:Y.clientWidth,height:Y.clientHeight}}else f.value=void 0;a("onMouseMove",T,f.value)}return(T,B)=>{const $=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:!s.value||!h.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:I.value}),onMousemove:W},[e.createElementVNode("div",bo,[e.createElementVNode("div",Vo,[h.value.cameras.length>1?(e.openBlock(),e.createBlock(io,{key:0,"apartment-chooser-data":h.value,"current-camera":o.value,disabled:p.value,onOnCameraChange:k},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Bo,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(so,{key:0,"camera-data":o.value,"current-day":r.value,disabled:p.value,onOnDayChange:O},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Eo,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(po,{key:0,"day-data":r.value,"current-time":c.value,disabled:p.value,onOnTimeChange:w},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",xo,[h.value.cameras.length>1?(e.openBlock(),e.createBlock(fo,{key:0,ref_key:"rotator",ref:v,"apartment-chooser-data":h.value,"current-scene":m.value,"selected-id":T.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:V,onOnSceneChange:F,onOnRotateStart:B[0]||(B[0]=U=>p.value=!0),onOnRotateFinish:B[1]||(B[1]=U=>p.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",So,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ve,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ke,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,U=>(e.openBlock(),e.createBlock(no,{key:U.overlayFilename,"camera-data":U,"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(A.value,U=>(e.openBlock(),e.createBlock(ro,{"transition-data":U,"cdn-file-resolver":t.cdnFileResolver,"current-transition":i.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,Do)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(go,{"cdn-file-resolver":T.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:V,onOnHoverOver:R,onOnHoverOut:L,onUpdateSvgContainer:B[2]||(B[2]=U=>C.value=U)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),T.$slots.popup&&f.value&&u.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":d.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",No,[e.renderSlot(T.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:u.value,hoverable:d.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(he,{ref_key:"hoverProbe",ref:g},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),Ao={class:"sunsim-bar-wrapper"},To={class:"sunsim-date d-flex align-center pl-5 pr-5"},Fo={key:1,class:"text-center text-body-1"},Lo={class:"sunsim-wrapper d-flex align-center px-3"},Mo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Xe=z(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.modelValue),r=e.ref();function c(s){return s.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const s=Math.floor(o.value/2).toString().padStart(2,"0"),p=o.value%2===0?"00":"30";return`${s}:${p}`}),m=e.computed(()=>t.dateSelector.dates.map(c)),u=e.computed({get(){return c(t.dateSelector.selectedDate)},set(s){t.dateSelector.selectIndex(m.value.indexOf(s))}});return e.watch(o,s=>{a("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,p)=>{const v=e.resolveComponent("v-icon"),g=e.resolveComponent("v-select"),d=e.resolveComponent("v-progress-linear"),f=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Ao,[e.createElementVNode("div",To,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),s.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(g,{key:0,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=C=>r.value=C),items:m.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Fo,e.toDisplayString(u.value),1))]),e.createElementVNode("div",Lo,[e.createElementVNode("span",Mo,e.toDisplayString(i.value),1),e.createVNode(v,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),s.isLoading?(e.openBlock(),e.createBlock(d,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(f,{key:1,modelValue:o.value,"onUpdate:modelValue":p[1]||(p[1]=C=>o.value=C),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"]]),Oo={key:0},$o=["src"],et=z(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(l,{emit:n}){const t=l,a=n,o=e.ref("init"),r=e.ref(new Le(0)),c=e.ref();e.watch(()=>t.imageUrls,u=>{a("reset"),m(u)}),e.onMounted(()=>{m(t.imageUrls),new ResizeObserver(u=>{window.requestAnimationFrame(()=>{const s=u[0].contentRect.width,p=u[0].contentRect.height;a("resize",{width:s,height:p})})}).observe(c.value)});function i(){o.value="preloaded",a("preloaded")}function m(u){o.value="init",c.value.src=u[0],r.value=new Le(u.length).onLoadFinished(()=>{o.value="loaded",a("ready")})}return(u,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:i},null,544),o.value==="preloaded"||o.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.imageUrls,(p,v)=>(e.openBlock(),e.createElementBlock("img",{key:v,class:e.normalizeClass({"image-instance":!0,active:v===u.activeIndex}),src:p,onLoad:s[0]||(s[0]=g=>r.value.partLoaded())},null,42,$o))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),Ro={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Uo={class:"image-instances"},Ho={key:0},zo={class:"svg-container"},Yo=["viewBox"],Po=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],jo=["innerHTML"],Wo=z(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(l,{emit:n}){const t=l,a=n;e.provide(me,t.i18nConfig?new ue(t.i18nConfig):new ue);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}),i=e.ref(),m=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),u=e.ref(!1),s=e.ref(new ne),p=e.ref(),v=e.ref("0 0 0 0"),g=e.ref(),d=e.ref(),f=e.ref(_e.empty()),C=e.ref(we.empty()),y=e.ref(),h=e.computed(()=>y.value.isHoverEnabled);e.watch(i,(w,V)=>{w?a("hoverOverBuilding",w):a("hoverOutBuilding",V)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[w,V,R]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(R);m.value=parseInt(V)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const V=await new Je(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(V){C.value=new we(V.mapImage),f.value=new _e(V.buildingIds),g.value=new Se(V.backgrounds),d.value={buildingOverlays:V.buildingOverlays,viewLongitude:V.viewLongitude};const R=[];for(let{id:L,url:W}of V.buildingOverlays)s.value.loadJson(W.replace(".png",".svg")).then(T=>{const $=new DOMParser().parseFromString(T,"image/svg+xml").getElementsByTagName("svg")[0];v.value=$.getAttribute("viewBox"),R.push({id:L,svg:$.innerHTML})});p.value=R}else u.value=!0});function I({width:w,height:V}){r.value.width=w,r.value.height=V}function x(){o.value={preloaded:!1,ready:!1}}function A(w){const V=t.colorCallback(w,w===i.value?"hover":"idle"),R=[];return w===i.value?R.push("hover"):R.push("idle"),V&&t.canGoToBuildingCallback(w)?R.push("clickable"):R.push("restricted"),R.join(" ")}function _(w){const V=t.colorCallback(w,w===i.value?"hover":"idle");if(V){const{r:R,g:L,b:W,a:T,s:B}=V;return{strokeWidth:B!==void 0?B:2,stroke:`rgb(${R}, ${L}, ${W})`,strokeOpacity:1,fill:`rgb(${R}, ${L}, ${W})`,fillOpacity:T/255,cursor:`${t.canGoToBuildingCallback(w)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function k(w,V){const{layerX:R,layerY:L}=w;h.value&&(c.value={x:R,y:L,width:r.value.width,height:r.value.height},i.value=V,a("hoverOverBuilding",V))}function F(w,V){const{layerX:R,layerY:L}=w;h.value&&(c.value={x:R,y:L,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",V))}function E(w,V){const{layerX:R,layerY:L}=w;h.value&&(c.value={x:R,y:L,width:r.value.width,height:r.value.height})}function O(w){i.value=w,h.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(w,V)=>{const R=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",Ro,[e.createVNode(R,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):d.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ke,{desktop:w.interactiveDesktop,mobile:w.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Uo,[e.createVNode(et,{"image-urls":g.value.imageUrls,"active-index":m.value,onResize:I,onPreloaded:V[0]||(V[0]=L=>o.value.preloaded=!0),onReady:V[1]||(V[1]=L=>o.value.ready=!0),onReset:x},null,8,["image-urls","active-index"]),p.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Ho,[e.createElementVNode("div",zo,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({id:L,svg:W},T)=>(e.openBlock(),e.createElementBlock("g",{key:T,innerHTML:W,"data-building-id":L,class:e.normalizeClass(A(L)),style:e.normalizeStyle(_(L)),onMouseover:B=>k(B,L),onMouseout:B=>F(B,L),onMousemove:B=>E(B),onClick:B=>O(L)},null,46,Po))),128))],8,Yo))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:w.customOverlayContent},null,8,jo),[[e.vShow,o.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[d.value.viewLongitude?(e.openBlock(),e.createBlock(ve,{key:0,class:"north-indicator",longitude:d.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Xe,{modelValue:m.value,"onUpdate:modelValue":V[2]||(V[2]=L=>m.value=L),"date-selector":g.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),w.showCards&&i.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":h.value,pos:c.value,onOutside:V[3]||(V[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{building:i.value,canGoToBuilding:w.canGoToBuildingCallback(i.value),goToBuilding:()=>w.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value),pos:c.value,isHoverable:h.value,close:()=>i.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(he,{ref_key:"hoverProbe",ref:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),Go=z(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(l,{expose:n}){const t=l;n({setupDraw:s});const a=e.ref(!1),o=e.ref(),r=e.ref(new ne),c=e.ref(),i=e.ref(),m=e.ref([]),u=e.ref();e.watch(()=>t.color,(g,d)=>{(g.r!==d.r||g.g!==d.g||g.b!==d.b||g.a!==d.a)&&p()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),s()});function s(){if(!o.value||!u.value)return;const{width:g,height:d}=t.dimensions;if(!(g===0||d===0)){c.value=u.value.getContext("2d",{willReadFrequently:!0}),c.value.drawImage(o.value,0,0,g,d),i.value=c.value.getImageData(0,0,g,d);for(let f=3;f<i.value.data.length;f+=4)i.value.data[f]!==0&&m.value.push(f);p(),a.value=!0}}function p(){c.value&&i.value&&(v(),c.value.putImageData(i.value,0,0))}function v(){if(t.color)for(let g=0;g<m.value.length;g++)i.value.data[m.value[g]-3]=t.color.r,i.value.data[m.value[g]-2]=t.color.g,i.value.data[m.value[g]-1]=t.color.b,i.value.data[m.value[g]]=t.color.a}return(g,d)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:u,class:"overlay"},g.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),Zo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},qo={class:"image-instances"},Qo=["innerHTML"],Jo=z(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(l,{emit:n}){const t=l,a=n;e.provide(me,t.i18nConfig?new ue(t.i18nConfig):new ue);const o=e.ref(),r=e.ref({preloaded:!1,ready:!1}),c=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),m=e.ref(),u=e.ref(_e.empty()),s=e.ref(we.empty()),p=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),g=e.ref((w,V)=>({x:w,y:V})),d=e.ref(!1),f=e.ref(),C=e.ref(),y=e.ref(),h=e.computed(()=>{var w;return(w=f.value)==null?void 0:w.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[w,V,R]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(R);v.value=parseInt(V)*2+(L<15?0:L>45?2:1)}}),e.watch(p,(w,V)=>{w?a("hoverOverBuilding",w):a("hoverOutBuilding",V)}),e.onMounted(async()=>{const V=await new Je(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);V?(s.value=new we(V.mapImage),u.value=new _e(V.buildingIds),o.value=new Se(V.backgrounds),m.value={buildingOverlays:V.buildingOverlays,viewLongitude:V.viewLongitude},_()):d.value=!0});function I({width:w,height:V}){c.value.width=w,c.value.height=V,e.nextTick(_)}function x(){r.value={preloaded:!1,ready:!1}}function A(w){const{layerX:V,layerY:R}=w,{x:L,y:W}=g.value(V,R);return u.value.getBuildingId(s.value,L,W)}function _(){if(C.value&&(s.value.update(C.value),y.value))for(const w of y.value)w.setupDraw()}function k(w){const{layerX:V,layerY:R}=w;h.value&&(p.value=A(w),p.value!==void 0&&(i.value={x:V,y:R,width:c.value.width,height:c.value.height}))}function F(w){p.value=A(w),h.value&&p.value&&a("goToBuilding",p.value)}function E(w){return t.colorCallback(w,w===p.value?"hover":"idle")}function O({resolve:w}){g.value=w}return(w,V)=>{const R=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",Zo,[e.createVNode(R,{"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: ${p.value?"pointer":"auto"};height: ${c.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ke,{desktop:w.interactiveDesktop,mobile:w.interactiveMobile,onUpdate:O},{default:e.withCtx(()=>[e.createElementVNode("div",qo,[e.createVNode(et,{"image-urls":o.value.imageUrls,"active-index":v.value,onResize:I,onPreloaded:V[0]||(V[0]=L=>r.value.preloaded=!0),onReady:V[1]||(V[1]=L=>r.value.ready=!0),onReset:x},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(Go,{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:C,class:{hover:!!p.value},onClick:F,onMousemove:k}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:w.customOverlayContent},null,8,Qo),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(ve,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Xe,{modelValue:v.value,"onUpdate:modelValue":V[2]||(V[2]=L=>v.value=L),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),w.showCards&&p.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":h.value,pos:i.value,onOutside:V[3]||(V[3]=()=>p.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{building:p.value,canGoToBuilding:w.canGoToBuildingCallback(p.value),goToBuilding:()=>w.canGoToBuildingCallback(p.value)&&a("goToBuilding",p.value),pos:i.value,isHoverable:h.value,close:()=>p.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(he,{ref_key:"hoverProbe",ref:f},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),tt=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(l,{emit:n}){const t=l,a=n,o=e.computed(()=>t.useSvg?Wo:Jo);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]=i=>a("goToBuilding",i)),onHoverOverBuilding:c[1]||(c[1]=i=>a("hoverOverBuilding",i)),onHoverOutBuilding:c[2]||(c[2]=i=>a("hoverOutBuilding",i))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),i=>({name:i,fn:e.withCtx(m=>[e.renderSlot(r.$slots,i,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"]))}}),Ko=["src"],Xo=z(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>Q(n.cdnFileResolver,n.timeSampleData.filename));return(a,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Ko)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),en=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Xo,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),tn=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(en,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),on=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.currentCamera.overlayFilename);return e.watch(o,()=>{a("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===o.value))}),(r,c)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{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"])}}}),nn=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(c=>c.dayOfYear===o.value))});function r(c){const i=new Date(0);return i.setUTCDate(c),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(c,i)=>{const m=e.resolveComponent("v-list-item"),u=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(u,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[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"])}}}),an={key:0,class:"py-2"},rn={class:"small"},ln={class:"small"},sn=z(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{a("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function c(m){const u=m*60,s=Math.floor(u/60),p=u%60;return`${s.toString().padStart(2,"0")}:${p.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(u=>u.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const u=t.dayData.timeSamples.findIndex(s=>s.timeInHours===o.value);u<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[u+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,u)=>{const s=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),g=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(g,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",an,[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(v,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=d=>o.value=d),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(p,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",rn,e.toDisplayString(c(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",ln,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"]]),cn=["innerHTML"],dn=z(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(),r=e.ref(),c=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const s in i){const{element:p,state:v}=i[s],{r:g,g:d,b:f,a:C,s:y}=t.colorCallback(s,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${g}, ${d}, ${f}, ${C/255})`,p.style.stroke=`rgb(${g}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{c.value=t.selectedId}),e.watch(c,()=>{for(const s in i)i[s].state==="selected"&&s!==c.value?i[s].state="idle":i[s].state!=="selected"&&s===c.value&&(i[s].state="selected")}),e.watchEffect(async()=>{o.value=await ne.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),u()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var p;const s=(p=r.value)==null?void 0:p.firstChild;if(!s.hasAttribute("viewBox")){const v=`0 0 ${s.getAttribute("width")} ${s.getAttribute("height")}`;s.setAttribute("viewBox",v)}s.setAttribute("width",r.value.offsetWidth.toString()),s.setAttribute("height",r.value.offsetHeight.toString())})}function u(){e.nextTick(()=>{var p;const s=(p=r.value)==null?void 0:p.firstChild;s&&(a("updateSvgContainer",s),m(),s.querySelectorAll("[data-building-id]").forEach(g=>{g.style.strokeWidth="0",g.style.stroke="rgba(255,255,255,0)",g.style.fill="rgba(255,255,255,0)",g.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=g.getAttribute("data-building-id");i[d]={element:g,state:c.value===d?"selected":"idle"},g.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),g.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),g.addEventListener("click",()=>{a("onClick",d)})}))})}return(s,p)=>(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,cn))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function ot(l){const n={version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,buildings:l.buildings.map(o=>({id:o.id,name:o.name})),cameras:[]};let t=[];l.days?t=l.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:l.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))}];const a={cameraName:"Default",cameraPosition:l.cameraPosition,cameraRotation:l.cameraRotation,cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return n.cameras.push(a),n}const mn={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},un={key:0,class:"pa-1"},pn={class:"pa-1"},fn={class:"pa-1 flex-grow-1"},hn={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},gn=["innerHTML"],yn={style:{"z-index":"7"}},kn=z(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(l,{emit:n}){const t=l,a=n,o=e.ref(),r=e.ref(),c=e.ref(),i=e.ref(),m=e.ref(!1),u=e.ref(),s=e.computed(()=>u.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),v=e.ref(),g=e.ref(),d=e.ref(t.buildingChooserData),f=e.ref(!1);e.onMounted(()=>m.value=!0),e.watch(m,k=>{k&&a("onInitialize")}),e.watch(()=>g.value,()=>{g.value&&new ResizeObserver(([F])=>{f.value=F.contentRect.width<t.mobileBreakpoint}).observe(g.value)});const C=async()=>{try{let k;if(!t.cdnFileResolver)return k;let F;return F=await ne.loadJson(Q(t.cdnFileResolver,"/buildingChooser.json")),parseInt(F.version)===5?F:(k=ot(F),k)}catch(k){m.value=!1,a("onError",k)}};e.watch([d,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(d.value||(d.value=await C()),t.defaultCamera?o.value=d.value.cameras.find(k=>k.cameraName===t.defaultCamera)||d.value.cameras[0]:o.value=d.value.cameras[0])},{immediate:!0}),e.watch([d,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{d.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(k=>k.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([d,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{d.value&&t.cdnFileResolver&&(t.defaultTime?c.value=r.value.timeSamples.find(k=>k.timeInHours===t.defaultTime)||r.value.timeSamples[0]:c.value=r.value.timeSamples.find(k=>k.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(k){const F=r.value;o.value=k,e.nextTick(()=>{h(o.value.sunsimDayOfYear.find(E=>E.dayOfYear===F.dayOfYear)||o.value.sunsimDayOfYear[0])})}function h(k){const F=c.value;r.value=k,e.nextTick(()=>{I(r.value.timeSamples.find(E=>E.timeInHours===F.timeInHours)||r.value.timeSamples.find(E=>E.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function I(k){c.value=k}function x(k){a("onHoverOver",k),i.value=k}function A(k){a("onHoverOut",k),i.value=void 0}function _(k){const{layerX:F,layerY:E}=k;let O=k.target,w=!1;for(;O;)if(O===v.value){w=!0;break}else O=O.parentElement;if(w){const V=k.currentTarget;p.value={x:F,y:E,width:V.clientWidth,height:V.clientHeight}}else p.value=void 0;a("onMouseMove",k,p.value)}return(k,F)=>{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||!d.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:g,class:e.normalizeClass({mobile:f.value}),onMousemove:_},[e.createElementVNode("div",mn,[d.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",un,[e.createVNode(on,{"building-chooser-data":d.value,"current-camera":o.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",pn,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(nn,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:h},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",fn,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(sn,{key:0,"day-data":r.value,"current-time":c.value,onOnTimeChange:I},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",hn,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ve,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ke,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.cameras,O=>(e.openBlock(),e.createBlock(tn,{key:O.overlayFilename,"camera-data":O,"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,gn)):e.createCommentVNode("",!0),e.createVNode(dn,{"cdn-file-resolver":k.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:F[0]||(F[0]=O=>a("onClick",O)),onOnHoverOver:x,onOnHoverOut:A,onUpdateSvgContainer:F[1]||(F[1]=O=>v.value=O)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),k.$slots.popup&&p.value&&i.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":s.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",yn,[e.renderSlot(k.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:s.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(he,{ref_key:"hoverProbe",ref:u},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var be={};Object.defineProperty(be,"__esModule",{value:!0});var vn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},Cn=typeof window<"u"&&typeof window.document<"u",_n=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,wn=(typeof self>"u"?"undefined":vn(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",bn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Vn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Bn=be.isBrowser=Cn;be.isWebWorker=wn,be.isNode=_n,be.isJsDom=bn,be.isDeno=Vn;const En={id:"player-wrapper"},xn={id:"player-sizer"},Sn={class:"player-control",id:"controls-top-left"},Dn={class:"player-control",id:"controls-top-center"},Nn={class:"player-control",id:"controls-top-right"},In={class:"player-control",id:"controls-center-left"},An={class:"player-control",id:"controls-center-center"},Tn={class:"player-control",id:"controls-center-right"},Fn={class:"player-control",id:"controls-bottom-left"},Ln={class:"player-control",id:"controls-bottom-center"},Mn={class:"player-control",id:"controls-bottom-right"},On={id:"main-canvas"},$n=z(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","sunsimCallback","playerApiCallback","newSizeCallback"],setup(l,{emit:n}){const t=bt.PlayerV2,a=l,{cdnFileResolver:o,interiorId:r,apartmentId:c,currentCameraId:i,showStaticImage:m,mouseSensitivity:u}=e.toRefs(a),s=n,p=e.ref(),v=e.ref(i.value),g=e.ref(0),d=e.ref(0);e.watch(i,()=>{v.value=i.value}),e.watch([r,c],async()=>{p.value&&await p.value.loadInterior(Q(o.value,`/${r.value}/${c.value}`),v.value,!1)}),e.watch(v,()=>{p.value&&p.value.goToCamera(v.value,!0),s("newCameraCallback",v.value)},{immediate:!0}),e.watch([o],async()=>{await C(),e.nextTick(async()=>{await f()})},{immediate:!0,deep:!0}),e.watch(p,()=>{if(p.value){s("playerApiCallback",p.value);const y=p.value.getCurrentCamera();y&&(v.value=y.id)}});async function f(){C();const x={initialized:()=>{p.value=t.Main.getPlayerAPI();const _=p.value.getCurrentCamera();_&&(v.value=_.id)},newCamera:_=>{s("newFloorCallback",_.floorLevel),s("sunsimCallback",_.sunsimDayOfYear),p.value&&p.value.resetMarkerBehaviour(0),v.value=_.id},newFOV:_=>{s("newFovCallback",_),d.value=_},newRotation:_=>{const k=_+0;s("newRotationCallback",k),g.value=k}};if(!Bn)return;const A=await new t.Main(_=>Q(o.value,`/${r.value}/${c.value}${_}`),"qpc",x,void 0,v.value);A&&(A.handleWindowResize(),window.addEventListener("resize",A.handleWindowResize.bind(A)),A.animate(),p.value=t.Main.getPlayerAPI(),p.value&&p.value.setLookSensitivity(u.value))}async function C(){p.value&&(await p.value.destroy(),p.value=void 0)}return e.onBeforeUnmount(()=>{C()}),(y,h)=>(e.openBlock(),e.createElementBlock("div",En,[e.createElementVNode("div",xn,[e.renderSlot(y.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Sn,[e.renderSlot(y.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",Dn,[e.renderSlot(y.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Nn,[e.renderSlot(y.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",In,[e.renderSlot(y.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",An,[e.renderSlot(y.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Tn,[e.renderSlot(y.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Fn,[e.renderSlot(y.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Ln,[e.renderSlot(y.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Mn,[e.renderSlot(y.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",On,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(e.unref(m)?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-09c18ddf"]]),Rn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Un=["stroke"],Hn=["stroke"],zn={class:"floor-level-label"},Yn=z(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(me),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"),i=e.computed(()=>c.value==="lower"),m=e.computed(()=>c.value==="upper");function u(){const s=t.level+1;s>=r.value.length?a("level",r.value[0]):a("level",r.value[s])}return(s,p)=>{const v=e.resolveComponent("v-btn"),g=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(g,{right:"",attach:""},{activator:e.withCtx(({props:d})=>[e.createVNode(v,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},d,{onClick:u}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",Rn,[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,Un),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:i.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Hn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",zn,e.toDisplayString(e.unref(o).getLabel(c.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),Pn={class:"d-none d-md-inline"},jn=z(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(me);return(r,c)=>{const i=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),u=e.resolveComponent("v-img"),s=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item"),v=e.resolveComponent("v-list"),g=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(g,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:d})=>[e.createVNode(m,e.mergeProps({rounded:""},d,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",Pn,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(v,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(d,f)=>(e.openBlock(),e.createBlock(p,{density:"compact",key:`at-menuitem-${f}`,onClick:C=>a("selectInterior",d.archetypeID),active:f===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(u,{width:"100","max-width":"100",height:"66",src:d.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(d.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-4909b57c"]]),Wn="data:image/png;base64,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",Gn="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==",Zn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(l){const n=l,t=e.ref(Gn),a=e.ref({backgroundImage:`url(${Wn})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-n.rotation+180}deg)`}));return(r,c)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(a.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(o.value)},null,8,["src","style"])],4)}}}),qn="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",Qn={class:"d-flex flex-column align-center justify-center clock-face"},Jn={class:"clock-icon"},Kn={class:"clock-value grey--text text--darken-3"},Xn=z(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(l){const n=l,t=e.computed(()=>[a(n.hours),":",a(n.minutes)].join(""));function a(o){return("0"+o).slice(-2)}return(o,r)=>{const c=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Qn,[e.createElementVNode("div",Jn,[e.createVNode(c,{src:e.unref(qn),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Kn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Ue=l=>(e.pushScopeId("data-v-f59c4942"),l=l(),e.popScopeId(),l),ea={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ta=[Ue(()=>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)),Ue(()=>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)),Ue(()=>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))],oa=z(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(me),r=e.computed(()=>{let c="virtualTour";return t.showStaticImage||(c="slideShow"),c});return(c,i)=>{const m=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),s=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(s,{location:"top"},{activator:e.withCtx(({props:p})=>[e.createVNode(u,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:i[0]||(i[0]=v=>a("toggle"))},p),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",ea,ta)):(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"]]),Ce=l=>(e.pushScopeId("data-v-a5e7f474"),l=l(),e.popScopeId(),l),na={key:0,class:"desktop-content"},aa={class:"d-flex align-center justify-center"},ra={class:"box col d-flex flex-column align-bottom justify-center"},la=Ce(()=>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)),ia={class:"text-div text-center text mt-2"},sa={class:"box col d-flex flex-column align-bottom justify-center"},ca=Ce(()=>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)),da={class:"text-div text-center text mt-2"},ma={class:"box col d-flex flex-column align-bottom justify-center"},ua=Ce(()=>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)),pa={class:"text-div text-center text mt-2"},fa={class:"box col d-flex flex-column align-bottom justify-center"},ha=Ce(()=>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)),ga={class:"text-div text-center text mt-2"},ya={key:1,class:"d-flex tablet-mobile-content"},ka={class:"box col my-1"},va=Ce(()=>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"},_a={class:"box col my-1"},wa=Ce(()=>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)),ba={class:"text text-col text-center"},Va={class:"box col my-1"},Ba=Ce(()=>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)),Ea={class:"text text-col text-center"},xa={class:"text-h6 text-capitalize"},Sa={class:"mt-2"},Da={class:"d-flex justify-center align-center checkbox-container"},Na={class:"text-caption"},Ia=z(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(l,{emit:n}){const t=n,a=e.inject(me),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(u=>navigator.userAgent.match(u)));function i(){t("closeTutorial",o.value)}return(m,u)=>{const s=e.resolveComponent("v-icon"),p=e.resolveComponent("v-card-title"),v=e.resolveComponent("v-btn"),g=e.resolveComponent("v-divider"),d=e.resolveComponent("v-card-text"),f=e.resolveComponent("v-card-actions"),C=e.resolveComponent("v-card"),y=e.resolveComponent("v-expand-transition"),h=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(C,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(p,{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(a).getLabel("disclaimer")),1)]),_:1}),e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(a).getLabel("disclaimerTextShort")),1),e.createVNode(v,{variant:"tonal",size:"small",onClick:u[0]||(u[0]=I=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("learnMore"))+" ",1),e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(g,{class:"my-3"}),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",na,[e.createElementVNode("div",aa,[e.createElementVNode("div",ra,[la,e.createElementVNode("div",ia,e.toDisplayString(e.unref(a).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",sa,[ca,e.createElementVNode("div",da,e.toDisplayString(e.unref(a).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ma,[ua,e.createElementVNode("div",pa,e.toDisplayString(e.unref(a).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",fa,[ha,e.createElementVNode("div",ga,e.toDisplayString(e.unref(a).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),c.value?(e.openBlock(),e.createElementBlock("div",ya,[e.createElementVNode("div",ka,[va,e.createElementVNode("div",Ca,e.toDisplayString(e.unref(a).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",_a,[wa,e.createElementVNode("div",ba,e.toDisplayString(e.unref(a).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Va,[Ba,e.createElementVNode("div",Ea,e.toDisplayString(e.unref(a).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(g,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(C,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(d,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",xa,[e.createVNode(s,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).getLabel("disclaimer")),1)]),e.createElementVNode("p",Sa,e.toDisplayString(e.unref(a).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",size:"small",onClick:u[1]||(u[1]=I=>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(a).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Da,[e.createVNode(h,{density:"compact",modelValue:o.value,"onUpdate:modelValue":u[2]||(u[2]=I=>o.value=I),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Na,e.toDisplayString(e.unref(a).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",onClick:u[3]||(u[3]=I=>i()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Aa=l=>(e.pushScopeId("data-v-bd4f66c3"),l=l(),e.popScopeId(),l),Ta={class:"player-settings-ui"},Fa={id:"settings-ui-form"},La={class:"form-inputs"},Ma={class:"setting-label"},Oa={class:"setting-label"},$a=["max","min","step"],Ra={class:"setting-label"},Ua={class:"flex-grow-1 flex-shrink-0"},Ha=["onUpdate:modelValue"],za={key:3,"d-block":"",class:"mt-3"},Ya={class:"d-flex justify-space-between"},Pa={class:"setting-label"},ja={class:"mt-5 d-block",style:{width:"300px"}},Wa=Aa(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),Ga={class:"d-block",style:{width:"300px"}},Za={class:"form-buttons"},qa=z(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(g(t.initialSettings));e.watch(o,()=>{c()},{deep:!0});const r=e.computed(()=>{let d={};for(const[f,C]of Object.entries(o.value))f==="whitePoint"?d[f]=s(C.value):d[f]=C.value;return d});function c(){a("updateSettings",r.value)}function i(){const d=document.createElement("a");d.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const f=`player-settings-${Date.now()}.json`;d.download=f,d.style.display="none",document.body.appendChild(d),d.click(),document.body.removeChild(d)}function m(){a("saveSettings",r.value)}function u(){o.value=g(),a("updateSettings",r.value)}function s(d){const f=parseInt(d.substr(1,2),16)/255,C=parseInt(d.substr(3,2),16)/255,y=parseInt(d.substr(5,2),16)/255;return[f,C,y]}function p(d){var f=d.toString(16);return f.length==1?"0"+f:f}function v([d,f,C]){return"#"+p(parseInt((d*255).toString()))+p(parseInt((f*255).toString()))+p(parseInt((C*255).toString()))}function g(d={}){const f=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let C={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:"",...d};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:C.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:C.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:C.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:C.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:C.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:C.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:C.temperature},whitePoint:{label:"White Point",type:"color",value:v(C.whitePoint)},lut:{label:"Lut",type:"lut",items:f.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:C.lut}}}return(d,f)=>{const C=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),h=e.resolveComponent("v-checkbox"),I=e.resolveComponent("v-btn"),x=e.resolveComponent("v-select"),A=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",Ta,[e.createElementVNode("form",Fa,[e.createElementVNode("div",La,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(_,k,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,"d-block":""},[_.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,onChange:c,max:_.max,min:_.min,step:_.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ma,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(C,{modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:_.max,min:_.min,step:_.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),_.type==="boolean"?(e.openBlock(),e.createBlock(h,{key:1,modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,onChange:c},{prepend:e.withCtx(()=>[e.createElementVNode("div",Oa,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(_.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),_.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:_.max,min:_.min,step:_.step},[e.createElementVNode("div",Ra,e.toDisplayString(_.label),1),e.createElementVNode("div",Ua,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>o.value[k].value=E,type:"color",onChange:c},null,40,Ha),[[e.vModelText,o.value[k].value]])]),e.createElementVNode("div",null,[e.createVNode(C,{modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:c},null,8,["modelValue","onUpdate:modelValue"])])],8,$a)):e.createCommentVNode("",!0),_.type==="lut"?(e.openBlock(),e.createElementBlock("div",za,[e.createElementVNode("div",Ya,[e.createElementVNode("div",Pa,e.toDisplayString(_.label),1),e.createElementVNode("div",null,[e.createVNode(I,{class:"ml-2","x-small":"",onClick:E=>o.value[k].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",ja,[e.createElementVNode("div",null,[e.createVNode(x,{modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,items:_.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:c},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[Wa,e.createElementVNode("div",Ga,[e.createElementVNode("div",null,[e.createVNode(C,{modelValue:o.value[k].value,"onUpdate:modelValue":E=>o.value[k].value=E,"hide-details":"",dense:"",type:"url",onChange:c},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Za,[e.createVNode(I,{onClick:f[0]||(f[0]=_=>u())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(I,{class:"ml-2",onClick:f[1]||(f[1]=_=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(A,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(I,{class:"ml-2",onClick:f[2]||(f[2]=_=>m())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(A,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),Qa=(l=>(e.pushScopeId("data-v-30593022"),l=l(),e.popScopeId(),l))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ja={class:"moveable-body",id:"moveableDivHeader"},Ka={class:"moveable-footer"},Xa=z(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(l,{emit:n}){const t=n,a=e.ref("big");e.onMounted(()=>{o(document.getElementById("moveableDiv"))});function o(c){const i=document.getElementById(c.id+"Header");if(!i)return;let m=0,u=0,s=0,p=0;i.addEventListener("touchstart",v,{passive:!1}),i.addEventListener("touchend",d,{passive:!1}),i.addEventListener("mousedown",v,{passive:!1}),i.addEventListener("mouseup",d,{passive:!1});function v(f){f=f||window.event,f.preventDefault();let C=f;f.type==="touchstart"&&(C=f.touches[0]),s=C.clientX,p=C.clientY,document.addEventListener("mouseup",d,{passive:!1}),document.addEventListener("touchend",d,{passive:!1}),document.addEventListener("mousemove",g,{passive:!1}),document.addEventListener("touchmove",g,{passive:!1})}function g(f){f=f||window.event,f.preventDefault();let C=f;f.type==="touchmove"&&(C=f.touches[0]),m=s-C.clientX,u=p-C.clientY,s=C.clientX,p=C.clientY,c.style.top=c.offsetTop-u+"px",c.style.left=c.offsetLeft-m+"px"}function d(){document.removeEventListener("mouseup",d,!1),document.removeEventListener("mousemove",g,!1),document.removeEventListener("touchend",d,!1),document.removeEventListener("touchmove",g,!1)}}function r(){a.value==="big"?a.value="small":a.value="big"}return(c,i)=>{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",a.value])},[e.createVNode(m,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[0]=u=>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:i[1]||(i[1]=u=>t("transform")),title:"Rotate"}),Qa,e.createElementVNode("div",Ja,[e.renderSlot(c.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ka,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),er={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},tr=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),or=["transform"],nr=[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)],ar=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(l){return(n,t)=>(e.openBlock(),e.createElementBlock("svg",er,[tr,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+n.rotation})`},nr,8,or)]))}}),rr={class:"minimap-wrapper d-flex align-stretch justify-space-between"},lr={class:"minimap-container"},ir=z(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(l){const n=l,t=e.ref(512),a=e.ref(384),o=e.ref(new ge.Vector3),r=e.ref(new ge.Object3D),c=e.ref({}),i=e.ref(1),m=e.ref(),u=e.computed(()=>n.allCameras),s=e.computed(()=>n.allCameras.find(k=>k.id===n.currentCamera)),p=e.computed(()=>n.rotation),v=e.computed(()=>new ge.Vector3(n.storey.position.x,n.storey.position.y,n.storey.position.z)),g=e.computed(()=>parseFloat(s.value.floor_vertical_position)),d=e.computed(()=>u.value.map(k=>{const F=k.uposition.split(","),E=new ge.Vector3(Number(F[0])-v.value.x,0,Number(F[2])-v.value.z);return{...k,...x(o.value,E)}})),f=e.computed(()=>`background-image: url(${n.backgroundImage});`),C=e.computed(()=>{let k=i.value>1?1:i.value;return k<.8&&(k=.4),`scale: ${k>1?1:k}; transform: rotate(${n.transformAngle}deg);`});e.onMounted(()=>{A(),h(),_();const k=document.getElementById("moveableDiv");k&&(m.value=new ResizeObserver(_).observe(k))}),e.onBeforeUpdate(()=>{A(),h()}),e.onBeforeUnmount(()=>{m.value&&m.value.unobserve(document.getElementById("moveableDiv"))});function y(k){return ge.MathUtils.degToRad(k)}function h(){r.value.rotation.x=180,r.value.rotation.y=n.storey.rotation.y*-1,c.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function I(k){return{top:`${Math.abs(k.top)}%`,left:`${Math.abs(k.left)}%`}}function x(k,F){var E=new ge.Vector3;const O=E.subVectors(k,F);return{relativePosition:O,left:O.x/t.value*100,top:O.z/a.value*100}}function A(){const k=n.storey.position.y-g.value;a.value=2*(k*Math.tan(y(n.storey.fovY/2))),t.value=512/384*a.value;const F=a.value/2,E=t.value/2,O=new ge.Vector3(E*-1,0,F*-1);o.value=O}function _(){const k=document.getElementById("moveableDiv");if(!k)return;const F=k.offsetHeight/384*.8,E=k.offsetWidth/512*.8;k.offsetHeight>k.offsetWidth?i.value=E*.5:i.value=F*.9}return(k,F)=>(e.openBlock(),e.createElementBlock("div",rr,[e.createElementVNode("div",lr,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(C.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(f.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(c.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.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(I(E))},null,4)):e.createCommentVNode("",!0),s.value.id===E.id&&n.rotation!==null?(e.openBlock(),e.createBlock(ar,{key:1,class:"rotation-marker-component",rotation:p.value,style:e.normalizeStyle({...I(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),sr=z(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(l){const n=l,t=e.computed(()=>n.rotation+n.transformAngle-90);return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:a.scale})},[e.createVNode(ve,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),cr={class:"ss-wrapper"},dr={class:"slider"},mr={class:"minimap-sun-slider"},ur={key:0,class:"time-label"},pr=z(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(new Date().getHours()),r=e.ref(!0),c=e.ref(!0),i=e.ref(""),m=e.ref(new Map),u=e.computed(()=>t.minimapJson.storeys[t.level]),s=e.computed(()=>`${Math.floor(o.value).toString().padStart(2,"0")}:00`),p=e.computed(()=>{if(u.value.sunsimFilesTimeStamps[o.value]){const y=u.value.sunsimFilesTimeStamps[o.value].split(" ");return`${y[0]} ${y[1]}`}return""});e.onMounted(async()=>{i.value=await d(u.value.sunsimFiles[o.value]),c.value=!1;const y=await g(t.minimapJson.storeys);m.value=y,r.value=!1,a("setBackgroundImage",v(t.level,o.value))}),e.watch(o,()=>{const y=v(t.level,o.value);a("setBackgroundImage",y)}),e.watch(()=>t.level,()=>{a("setBackgroundImage",v(t.level,o.value))},{immediate:!0});function v(y,h){return m.value.get(`sunsim${y}_${h}`)?m.value.get(`sunsim${y}_${h}`):""}async function g(y){let h=new Map;for(let I=0;I<y.length;I++){const x=y[I].sunsimFiles;for(let A=0;A<x.length;A++){const _=x[A];try{const k=_,F=_.split("."),E=await d(k);h.set(F[0],E)}catch{continue}}}return h}async function d(y){const I=await(await fetch(Q(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),x=await C(I);return f(x)}function f(y){return"data:image/jpeg;base64,"+y}async function C(y){return new Promise((h,I)=>{const x=new FileReader;x.onload=()=>{const A=x.result.split(",")[1];h(A)},x.onerror=I,x.readAsDataURL(y)})}return(y,h)=>{const I=e.resolveComponent("v-progress-linear"),x=e.resolveComponent("v-icon"),A=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",cr,[e.createElementVNode("div",dr,[e.createElementVNode("div",mr,[r.value?(e.openBlock(),e.createBlock(I,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(A,{key:1,modelValue:o.value,"onUpdate:modelValue":h[0]||(h[0]=_=>o.value=_),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(x,{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",ur,e.toDisplayString(p.value)+" "+e.toDisplayString(s.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),nt=z(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(l,{emit:n}){const t=l,a=n,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 i=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 u(){r.value=r.value+90}return(s,p)=>(e.openBlock(),e.createBlock(Xa,{onClose:p[0]||(p[0]=v=>a("close")),onTransform:u},{body:e.withCtx(()=>[e.createVNode(sr,{scale:i.value,rotation:c.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(ir,{"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(pr,{"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"]]);function De(l){const n=l*60,t=Math.floor(n/60),a=n%60;return`${t.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}const fr={class:"d-inline-block",style:{"vertical-align":"top"}},hr={class:"small"},gr={class:"small"},yr=z(e.defineComponent({__name:"VSunsimSlider",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(l,{emit:n}){const t=l,{currentDay:a,currentTime:o,disabled:r}=e.toRefs(t),c=n,i=e.ref(o.value.timeInHours);return e.watch(o,()=>{i.value=o.value.timeInHours}),e.watch(i,()=>{c("onTimeChange",a.value.timeSamples.find(m=>m.timeInHours===i.value))},{immediate:!0}),(m,u)=>{const s=e.resolveComponent("v-icon"),p=e.resolveComponent("v-slider"),v=e.resolveComponent("v-field");return e.openBlock(),e.createElementBlock("div",fr,[e.createVNode(v,{style:{width:"300px",height:"36px"},variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(a).timeSamples.length>1?(e.openBlock(),e.createBlock(p,{key:0,class:"pa-2 pr-2",modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=g=>i.value=g),min:e.unref(a).startTime,max:e.unref(a).endTime,step:e.unref(a).interval,disabled:!!e.unref(r),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(s,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",hr,e.toDisplayString(e.unref(De)(i.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(s,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",gr,e.toDisplayString(e.unref(De)(i.value)),1)],64))]),_:1})])}}}),[["__scopeId","data-v-20d3a8f3"]]),kr=37,vr=39,Ne=z(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(0),r=e.computed({get(){return t.active},set(u){o.value=u}}),c=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",i)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",i)});function i(u){switch(u.keyCode){case u.keyCode===kr:a("previous");break;case u.keyCode===vr:a("next");break;default:return}}function m(u,s){s(),a("goto",u)}return(u,s)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-img"),g=e.resolveComponent("v-card"),d=e.resolveComponent("v-slide-group-item"),f=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(f,{modelValue:r.value,"onUpdate:modelValue":s[2]||(s[2]=C=>r.value=C),class:e.normalizeClass({mobileWaypoint:c.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(p,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:s[0]||(s[0]=C=>a("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(p,{class:e.normalizeClass(["carousel-button",{mobile:c.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:s[1]||(s[1]=C=>a("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.thumbnails,C=>(e.openBlock(),e.createBlock(d,{key:C.id},{default:e.withCtx(({toggle:y,selectedClass:h})=>[e.createVNode(g,{class:e.normalizeClass([c.value?"ma-0":"ma-1",h,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:I=>m(C.id,y)},{default:e.withCtx(()=>[e.createVNode(v,{cover:"","aspect-ratio":1,src:C.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),Cr={id:"share-btns-wrapper",class:"text-center"},at=z(e.defineComponent({__name:"VSocialShare",setup(l){const n=e.inject(me),t=e.ref(!1),a=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 i(){navigator.clipboard.writeText(location.href)}return(m,u)=>{const s=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),g=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-card-text"),C=e.resolveComponent("v-card"),y=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(p,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:u[0]||(u[0]=I=>t.value=!t.value)},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("share")),1)]),_:1}),e.createVNode(y,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":u[2]||(u[2]=h=>t.value=h)},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(d,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small",icon:"mdi-close",onClick:u[1]||(u[1]=h=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("share")),1)]),_:1}),e.createVNode(g)]),_:1}),e.createVNode(f,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Cr,[e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},h,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},h,{onClick:c}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},h,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${a.value}`},h),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel("copyLink")),1)]),_:1}),e.createVNode(g)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),_r={class:"static-image-wrapper"},wr=z(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(l){const n=l,t=e.computed(()=>({"background-image":`url("${encodeURI(n.image)}")`}));return(a,o)=>(e.openBlock(),e.createElementBlock("div",_r,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),br={id:"btn-fullscreen",class:"btn-placeholder mr-2"},rt=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(l,{emit:n}){const t=n;return(a,o)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",br,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:a.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=c=>t("toggleFullscreen"))},null,8,["icon"])])}}});class lt{constructor(n,t){q(this,"_doc");q(this,"_elemId");q(this,"_state");this._doc=n,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const n=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();n.forEach(a=>{t.addEventListener(a,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const n=this._getElement(),t=n.requestFullscreen||n.webkitRequestFullscreen||n.mozRequestFullscreen||n.msRequestFullscreen;t&&t.apply(n)}_exit(){const n=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;n&&n.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const n=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=n}}const Vr={key:0,class:"player-error"},Br={class:"player-and-components-wrapper"},Er={key:5,class:"settings-panel"},xr={key:0,class:"compass-wrapper"},Sr={key:1,class:"btn-placeholder mr-2"},Dr={class:"btn-placeholder mr-2"},Nr={key:2,class:"btn-placeholder mr-2"},Ir={key:0},Ar={class:"d-flex flex-column align-end"},Tr={key:2,class:"render-version"},it=z(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","onSunsimUpdate","onError"],setup(l,{expose:n,emit:t}){const a=l,{cdnFileResolver:o,apartmentId:r,defaultInteriorId:c,validInteriorIds:i,displayViewModeSwitch:m,i18nConfig:u,showCarousel:s,showTimeOfDay:p,showCompass:v,showFullScreen:g,showSnapshot:d,showShare:f,showInteriorOptions:C,showMiniMap:y,showFloorLevel:h,defaultWaypointIndex:I,defaultViewMode:x,mouseSensitivity:A,adminMode:_,playerSettings:k,hasMarkersJson:F,dynamicMarkers:E,version:O,showVersion:w}=e.toRefs(a),V=t;n({updateSelectedInterior:kt,takeSnapshot:Ct,setCurrentCamera:Ae});const R=e.ref(!1),L=e.ref(!1),W=e.ref(!1),T=e.ref(),B=e.ref(),$=e.ref(),U=e.ref(),Z=e.ref(),Y=e.ref(0),j=e.ref(),K=e.ref(),ee=e.ref(),ce=e.ref(0),re=e.ref(0),pe=e.ref(0),X=e.ref(!1),oe=e.ref(!1),le=e.ref(),N=e.ref(),S=e.ref(!1),D=e.ref(!1),H=e.ref(new lt(document,"player-wrapper")),J=e.ref(),ie=e.computed(()=>{if(B.value){const b=B.value.cameras.map(P=>P.floorLevel);let M=[...new Set(b)];return M=M.sort(),M}else return[]}),ae=e.computed(()=>{let b=0;if(B.value){const M=B.value.cameras.map(Be=>Be.floorLevel);let P=[...new Set(M)];P=P.sort();const se=P.findIndex(Be=>Be===re.value);se!==-1&&(b=se)}return b}),te=e.computed(()=>ft.value.findIndex(b=>b.archetypeID===j.value)),de=e.computed(()=>$.value?$.value.cameras.map(b=>({...b,thumbnailUrl:Te(`/${j.value}/${r.value}/thumbs/200/${b.id}.jpg`),imageUrl:Te(`/${j.value}/${r.value}/images/1600/${b.id}.jpg`)})):[]),pt=e.computed(()=>!de.value||!de.value[Y.value]?"":de.value[Y.value].imageUrl),ft=e.computed(()=>{let b=[];return T.value&&(b=T.value.archetypes),i.value.length?b.filter(M=>i.value.includes(M.archetypeID)):b}),ht=e.computed(()=>$.value?ft.value.map(b=>({...b,url:Te(`/${b.archetypeID}/${r.value}/thumbs/200/${de.value[Y.value].id}.jpg`)})):[]),Ie=e.computed(()=>{if(U.value&&U.value.storeys&&ae.value in U.value.storeys)return U.value.storeys[ae.value]}),Bl=e.computed(()=>B.value&&B.value.timeInHours),gt=e.computed(()=>{if(B.value&&B.value.timeInHours&&p.value)return Zl(B.value.timeInHours)});e.provide(me,u.value?new ue(u.value):new ue);const ze=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),yt=e.computed(()=>ze.value?"platform-mobile":"platform-desktop"),El=e.computed(()=>{const b=Q(o.value,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});e.watch(c,()=>{c.value&&(j.value=c.value)}),e.watch(o,async()=>{try{K.value=void 0,await Dl(),Il(),await Nl(),H.value.setup(),Al()}catch(b){W.value=!0,V("onError",b)}},{immediate:!0}),e.watch(x,()=>{x.value==="virtualTour"&&(X.value=!1),x.value==="slideShow"&&(X.value=!0,D.value=!0)},{immediate:!0}),e.watch(S,()=>{S.value?le.value=N.value[0].timeSamples.find(b=>b.timeInHours===N.value[0].defaultHour):Z.value.unloadSunSim()}),e.onMounted(async()=>{try{El.value?(R.value=!1,D.value=!0):R.value=!0}catch(b){W.value=!0,V("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",Ye)});function xl(b=!1){D.value=!0,R.value=!1,b&&Sl()}function Sl(){const b=Q(o.value,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")}async function Dl(){T.value=await Tl()}async function Nl(){var b;if(B.value=await Fl(j.value,r.value),B.value&&(K.value=(b=B.value.cameras[0])==null?void 0:b.id),$.value=await Ll(j.value,r.value),$.value){const M=I.value!==null?I.value:0;Y.value=M,K.value=$.value.cameras[M].id,ee.value=$.value.cameras[M].id}y.value&&(U.value=await Ml(j.value,r.value))}function Il(){let b=c.value;b||(b=T.value.defaultArchetypeID),i.value.length||!i.value.includes(b)?b=i.value[0]:console.warn("illegal interior id",b,i),b||(b=T.value.archetypes[0].archetypeID),j.value=b}function Al(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",M,{passive:!1});function M(P){P.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",Ye,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",Ye)},{passive:!1})}function Ye(b){b.preventDefault(),window.scrollBy(0,0)}async function Tl(){try{return await Fe("/config.json")}catch(b){console.error("Error loading config.json - ",Q(o.value,"/config.json"),b);return}}async function Fl(b,M){try{return await Fe(`/${b}/${M}/apartment.json`)}catch(P){console.error("Error loading apartment.json - ",`/${b}/${M}/apartment.json`,P);return}}async function Ll(b,M){try{return await Fe(`/${b}/${M}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${M}/thumbs.json`);return}}async function Ml(b,M){try{return await Fe(`/${b}/${M}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${M}/minimap/minimap.json`);return}}function Pe(){let b=Y.value+1;b>=de.value.length&&(b=0),Y.value=b,Ae(de.value[Y.value].id)}function je(){let b=Y.value-1;b<0&&(b=de.value.length-1),Y.value=b,Ae(de.value[Y.value].id)}function We(b,M=!0){let P=de.value.findIndex(se=>se.id===b);P!=-1&&(Y.value=P,M&&Ae(b))}function Ae(b){S.value=!1,K.value=b}function kt(b){j.value=b,V("onInteriorUpdate",b),V("onCameraUpdate",ee.value,B.value)}function Ol(b){ee.value=b,ee.value&&(We(ee.value,!1),V("onCameraUpdate",ee.value,B.value))}function $l(b){N.value=b,V("onSunsimUpdate",b)}function Rl(b){Z.value.loadSunSim(b.timeInHours)}function Ul(b){ce.value=b}function vt(b){re.value=b}function Hl(b){pe.value=b}function zl(b,M){}function Yl(b){Z.value=b,Z.value&&(k.value&&Z.value.updateSettings(k.value),F.value?Z.value.loadMarkersJson():E.value&&Z.value.loadDynamicMarkers(E.value))}function Pl(){H.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function jl(){X.value=!X.value}async function Ct(){const b=180/Math.PI,M=await Z.value.takePhoto(),P=Z.value.getRotationEuler(),se=Z.value.getCurrentCamera(),Be=new wo(M,se),ql=[P.x*-b,P.y*-b,P.z*b];return V("onSnapshot",Be,ql),Be}function Te(b){let M=Q(o.value,b);return M&&_.value&&!M.startsWith("blob:")&&(M=M+`?v=${Date.now()}`),M}async function Fe(b){const M=Te(b);try{return(await fe.get(M)).data}catch(P){throw new Error(P)}}function Wl(b){Z.value.updateSettings(b)}function Gl(b){V("saveSettings",b)}function Zl(b){if(b===void 0)return null;const M=Math.floor(b),P=Math.floor((M-b)*60);return{hours:M,minutes:P}}return(b,M)=>{const P=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[yt.value]])},[W.value?(e.openBlock(),e.createElementBlock("div",Vr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",Br,[!H.value.isActive&&U.value&&ee.value&&Ie.value&&j.value&&oe.value?(e.openBlock(),e.createBlock(nt,{key:0,"cdn-file-resolver":e.unref(o),"apartment-json":B.value,level:ae.value,"minimap-json":U.value,rotation:ce.value,"current-camera":ee.value,onClose:M[0]||(M[0]=se=>oe.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),j.value&&K.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[yt.value]])},[e.createVNode($n,{ref_key:"vPlayerInstance",ref:J,"cdn-file-resolver":e.unref(o),style:e.normalizeStyle({zIndex:X.value?1:2}),"show-static-image":X.value,"current-camera-id":K.value,"mouse-sensitivity":e.unref(A),"interior-id":j.value,"apartment-id":e.unref(r),onNewCameraCallback:Ol,onNewRotationCallback:Ul,onNewFloorCallback:vt,onNewFovCallback:Hl,onNewSizeCallback:zl,onSunsimCallback:$l,onPlayerApiCallback:Yl},{"slideshow-image":e.withCtx(()=>[X.value?(e.openBlock(),e.createBlock(wr,{key:0,image:pt.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[e.unref(_)?e.withDirectives((e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:M[1]||(M[1]=se=>L.value=!L.value)},null,512)),[[e.vShow,D.value]]):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(P,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:M[2]||(M[2]=se=>R.value=!R.value)},null,512),[[e.vShow,D.value]]),U.value&&K.value&&Ie.value?e.withDirectives((e.openBlock(),e.createBlock(P,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:M[3]||(M[3]=se=>oe.value=!oe.value)},null,512)),[[e.vShow,D.value]]):e.createCommentVNode("",!0),D.value&&e.unref(h)&&ie.value.length>1?(e.openBlock(),e.createBlock(Yn,{key:2,level:re.value,"floor-levels":ie.value,onLevel:vt},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),K.value&&N.value&&N.value.length>0&&N.value[0].timeSamples.length>1?e.withDirectives((e.openBlock(),e.createBlock(P,{key:3,density:"comfortable",elevation:"3",icon:"mdi-white-balance-sunny",class:"mr-2",onClick:M[4]||(M[4]=se=>S.value=!S.value)},null,512)),[[e.vShow,D.value]]):e.createCommentVNode("",!0),K.value&&S.value&&N.value&&N.value.length>0&&N.value[0].timeSamples.length>1&&le.value?(e.openBlock(),e.createBlock(yr,{key:4,"current-day":N.value[0],"current-time":le.value,onOnTimeChange:Rl},null,8,["current-day","current-time"])):e.createCommentVNode("",!0),D.value&&e.unref(_)&&L.value?(e.openBlock(),e.createElementBlock("div",Er,[e.createVNode(qa,{"initial-settings":e.unref(k),onUpdateSettings:Wl,onSaveSettings:Gl},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[B.value&&e.unref(v)?e.withDirectives((e.openBlock(),e.createElementBlock("div",xr,[e.createVNode(Zn,{rotation:ce.value},null,8,["rotation"])],512)),[[e.vShow,D.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:M[5]||(M[5]=se=>oe.value=!oe.value)},[D.value&&B.value&&Bl.value&&e.unref(p)?(e.openBlock(),e.createBlock(Xn,{key:0,hours:gt.value.hours,minutes:gt.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:U.value&&ee.value&&Ie.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(()=>[X.value?(e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:je})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[R.value?(e.openBlock(),e.createBlock(Ia,{key:0,onCloseTutorial:M[6]||(M[6]=se=>xl(se))})):e.createCommentVNode("",!0),H.value.isActive&&U.value&&ee.value&&Ie.value&&oe.value?(e.openBlock(),e.createBlock(nt,{key:1,"cdn-file-resolver":e.unref(o),"apartment-json":B.value,"minimap-json":U.value,rotation:ce.value,"current-camera":ee.value,level:ae.value,onClose:M[7]||(M[7]=se=>oe.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(()=>[X.value?(e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:Pe})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[D.value&&e.unref(g)?(e.openBlock(),e.createBlock(rt,{key:0,"is-full-screen":H.value.isActive,class:"btn-fullscreen",onToggleFullscreen:Pl},null,8,["is-full-screen"])):e.createCommentVNode("",!0),D.value&&e.unref(d)?(e.openBlock(),e.createElementBlock("div",Sr,[e.createVNode(P,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Ct})])):e.createCommentVNode("",!0),e.createElementVNode("div",Dr,[e.unref(m)&&D.value?(e.openBlock(),e.createBlock(oa,{key:0,"show-static-image":X.value,onToggle:jl},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),D.value&&e.unref(f)&&!H.value.isActive?(e.openBlock(),e.createElementBlock("div",Nr,[e.createVNode(at)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[D.value&&e.unref(s)&&!ze.value?(e.openBlock(),e.createElementBlock("div",Ir,[D.value?(e.openBlock(),e.createBlock(Ne,{key:0,class:e.normalizeClass([H.value.isActive?"full-screen":""]),thumbnails:de.value,active:Y.value,onNext:Pe,onPrevious:je,onGoto:We},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",Ar,[D.value&&e.unref(C)&&ht.value?(e.openBlock(),e.createBlock(jn,{key:0,"cdn-file-resolver":e.unref(o),"available-archetypes":ht.value,"selected-index":te.value,onSelectInterior:kt},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),e.unref(s)&&$.value&&ze.value?(e.openBlock(),e.createBlock(Ne,{key:0,class:"waypoint-carousel below-player",thumbnails:de.value,active:Y.value,onNext:Pe,onPrevious:je,onGoto:We},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(O)&&e.unref(w)?(e.openBlock(),e.createElementBlock("div",Tr," version: "+e.toDisplayString(e.unref(O)),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-65e6ae43"]]),Fr={id:"player-wrapper"},Lr={id:"player-sizer"},Mr={class:"player-control",id:"controls-top-left"},Or={class:"player-control",id:"controls-top-center"},$r={class:"player-control",id:"controls-top-right"},Rr={class:"player-control",id:"controls-center-left"},Ur={class:"player-control",id:"controls-center-center"},Hr={class:"player-control",id:"controls-center-right"},zr={class:"player-control",id:"controls-bottom-left"},Yr={class:"player-control",id:"controls-bottom-center"},Pr={class:"player-control",id:"controls-bottom-right"},jr=z(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(l,{emit:n}){return(t,a)=>(e.openBlock(),e.createElementBlock("div",Fr,[e.createElementVNode("div",Lr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Mr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",Or,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",$r,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Rr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Ur,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Hr,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",zr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Yr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Pr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Wr={class:"virtual-tour-wrapper"},Gr={class:"player-and-components-wrapper"},Zr={class:"mss-image"},qr={key:1,class:"btn-placeholder"},st=z(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(l){const n=l;e.provide(me,n.i18nConfig?new ue(n.i18nConfig):new ue);const t=e.ref(0),a=e.ref(new lt(document,"player-wrapper")),o=e.computed(()=>n.images.map((s,p)=>({id:`image-${p}`,thumbnailUrl:s}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{a.value.setup()});function c(){a.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){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 u(s,p=!0){let v=o.value.findIndex(g=>g.id===s);v!=-1&&(t.value=v)}return(s,p)=>{const v=e.resolveComponent("v-img"),g=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Wr,[e.createElementVNode("div",Gr,[e.createElementVNode("div",null,[e.createVNode(jr,{"is-full-screen":a.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",Zr,[e.createVNode(v,{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(g,{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(g,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[s.showFullScreen?(e.openBlock(),e.createBlock(rt,{key:0,"is-full-screen":a.value.isActive,class:"btn-fullscreen",onToggleFullscreen:c},null,8,["is-full-screen"])):e.createCommentVNode("",!0),s.showShare?(e.openBlock(),e.createElementBlock("div",qr,[e.createVNode(at)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[a.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(Ne,{key:0,class:e.normalizeClass([a.value.isActive?"full-screen":""]),thumbnails:o.value,active:t.value,onNext:i,onPrevious:m,onGoto:u},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(Ne,{key:0,thumbnails:o.value,active:t.value,onNext:i,onPrevious:m,onGoto:u},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Qr=["src"],Jr=z(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,{timeSampleData:t,cdnFileResolver:a,currentTime:o}=e.toRefs(n),r=e.computed(()=>Q(a.value,t.value.filename));return(c,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,Qr)),[[e.vShow,e.unref(o)&&e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-a12a9cdb"]]),Kr=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(l){const n=l,{dayData:t,cdnFileResolver:a,currentTime:o}=e.toRefs(n);return(r,c)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,i=>(e.openBlock(),e.createBlock(Jr,{key:i.filename,"time-sample-data":i,"cdn-file-resolver":e.unref(a),"current-time":e.unref(o)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),Xr=["src"],el=e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(l){const n=l,{cameraData:t,cdnFileResolver:a,currentCamera:o,currentTime:r}=e.toRefs(n),c=e.computed(()=>Q(a.value,o.value.defaultFilename));return(i,m)=>e.unref(t).sunsimDayOfYear?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).sunsimDayOfYear,u=>(e.openBlock(),e.createBlock(Kr,{key:u.dayOfYear,"day-data":u,"cdn-file-resolver":e.unref(a),"current-day":i.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,Xr)),[[e.vShow,e.unref(o)===e.unref(t)]])}}),tl=["src"],ol=z(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(l){const n=l,{transitionData:t,cdnFileResolver:a,currentTransition:o}=e.toRefs(n),r=e.computed(()=>Q(a.value,t.value.filename));return(c,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,class:"position-absolute top-left w-100 h-100"},null,8,tl)),[[e.vShow,e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-ea8553ab"]]);function ct(l){const n=new Date(0);return n.setUTCDate(l),n.toLocaleString("en-no",{month:"short",day:"numeric"})}const nl={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},al=z(e.defineComponent({__name:"VStructureChooserUiDayButton",props:{isMobileSized:{type:Boolean},currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(l,{emit:n}){const t=l,{isMobileSized:a,currentCamera:o,currentDay:r,disabled:c}=e.toRefs(t),i=n,m=e.ref(r.value.dayOfYear);return e.watch(r,()=>{m.value=r.value.dayOfYear}),e.watch(m,()=>{i("onDayChange",o.value.sunsimDayOfYear.find(u=>u.dayOfYear===m.value))}),(u,s)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-field"),g=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-list"),C=e.resolveComponent("v-menu");return e.unref(o).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",nl,[e.createVNode(C,null,{activator:e.withCtx(({props:y})=>[e.createVNode(v,{variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.createVNode(p,e.mergeProps({variant:"text",rounded:"",flat:"",readonly:e.unref(o).sunsimDayOfYear.length===1,"prepend-icon":"mdi-calendar-blank","append-icon":e.unref(o).sunsimDayOfYear.length>1?"mdi-menu-down":void 0,disabled:e.unref(c),size:e.unref(a)?"small":void 0},y),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ct)(m.value)),1)]),_:2},1040,["readonly","append-icon","disabled","size"])]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).sunsimDayOfYear,(y,h)=>(e.openBlock(),e.createBlock(d,{key:h,value:h,onClick:I=>m.value=y.dayOfYear},{default:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ct)(y.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-a04625cf"]]),rl=["onClick"],ll={key:1,class:"icon-wrapper"},il=z(e.defineComponent({__name:"VStructureChooserUiCameraThumbnails",props:{isMobileSized:{type:Boolean},stillCameras:{},currentCamera:{},cdnFileResolver:{type:[String,Function]},disabled:{type:Boolean}},emits:["onCameraChange"],setup(l,{emit:n}){const t=l,{isMobileSized:a,stillCameras:o,currentCamera:r,cdnFileResolver:c,disabled:i}=e.toRefs(t),m=e.ref(r.value),u=n;e.watch(m,()=>{u("onCameraChange",o.value.find(p=>p===m.value))});function s(p){i.value||(m.value=p)}return(p,v)=>{const g=e.resolveComponent("v-chip"),d=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-flex":!0,"justify-center":!e.unref(a),"align-end":!e.unref(a),"justify-end":e.unref(a),mobile:e.unref(a),disabled:e.unref(i),enabled:!e.unref(i)})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(f,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"still-camera",style:e.normalizeStyle({backgroundImage:`url(${e.unref(Q)(e.unref(c),f.defaultFilename)})`}),onClick:y=>s(f)},[!e.unref(a)&&f.cameraName?(e.openBlock(),e.createBlock(g,{key:0,variant:"flat",size:"small",class:"camera-name",color:"white"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.cameraName),1)]),_:2},1024)):e.createCommentVNode("",!0),f.sunsimDayOfYear&&f.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",ll,[e.createVNode(d,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],12,rl))),128))],2)}}}),[["__scopeId","data-v-ff87e7cd"]]),sl={class:"small"},cl={class:"small"},dl=z(e.defineComponent({__name:"VStructureChooserUiTimeSampleSlider",props:{isMobileSized:{type:Boolean},currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(l,{emit:n}){const t=l,{isMobileSized:a,currentDay:o,currentTime:r,disabled:c}=e.toRefs(t),i=n,m=e.ref(r.value.timeInHours);return e.watch(r,()=>{m.value=r.value.timeInHours}),e.watch(m,()=>{i("onTimeChange",o.value.timeSamples.find(u=>u.timeInHours===m.value))}),(u,s)=>{const p=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),g=e.resolveComponent("v-field");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-inline-block":!0,mobile:e.unref(a)}),style:e.normalizeStyle({flex:e.unref(a)&&e.unref(o).timeSamples.length>1?1:void 0,verticalAlign:"top"})},[e.createVNode(g,{style:e.normalizeStyle(e.unref(o).timeSamples.length>1?{width:e.unref(a)?"100%":"300px",height:e.unref(a)?"28px":"36px"}:{height:e.unref(a)?"28px":"36px",paddingLeft:"12px",paddingRight:"12px",paddingTop:e.unref(a)?"5px":"9px",paddingBottom:e.unref(a)?"5px":"9px"}),variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(o).timeSamples.length>1?(e.openBlock(),e.createBlock(v,{key:0,class:"pa-2 pr-2",modelValue:m.value,"onUpdate:modelValue":s[0]||(s[0]=d=>m.value=d),min:e.unref(o).startTime,max:e.unref(o).endTime,step:e.unref(o).interval,disabled:!!e.unref(c),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(p,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",sl,e.toDisplayString(e.unref(De)(m.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(p,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",cl,e.toDisplayString(e.unref(De)(m.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-283e7169"]]),ml={class:"d-inline-block",style:{"vertical-align":"top"}},ul=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),pl=e.defineComponent({__name:"VStructureChooserUiZoomButtons",props:{isMobileSized:{type:Boolean},canZoomIn:{type:Boolean},canZoomOut:{type:Boolean},disabled:{type:Boolean}},emits:["onZoomIn","onZoomOut"],setup(l,{emit:n}){const t=l,{isMobileSized:a,canZoomIn:o,canZoomOut:r,disabled:c}=e.toRefs(t),i=n;return(m,u)=>{const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",ml,[e.createVNode(s,{disabled:e.unref(c)||!e.unref(o),size:e.unref(a)?"x-small":"small",flat:"",icon:"mdi-plus",onClick:u[0]||(u[0]=p=>i("onZoomIn")),style:{"border-bottom-left-radius":"0","border-bottom-right-radius":"0"}},null,8,["disabled","size"]),ul,e.createVNode(s,{disabled:e.unref(c)||!e.unref(r),size:e.unref(a)?"x-small":"small",flat:"",icon:"mdi-minus",onClick:u[1]||(u[1]=p=>i("onZoomOut")),style:{"border-top-left-radius":"0","border-top-right-radius":"0"}},null,8,["disabled","size"])])}}}),fl=["innerHTML"],hl=z(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(l,{emit:n}){const t=l,{cdnFileResolver:a,colorCallback:o,currentCamera:r,selectedId:c}=e.toRefs(t),i=n,m=e.ref(),u=e.ref(),s=e.reactive({});e.watchEffect(()=>{for(const g in s){const{element:d,state:f}=s[g],{r:C,g:y,b:h,a:I,s:x}=o.value(g,f)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${C}, ${y}, ${h}, ${I/255})`,d.style.stroke=`rgb(${C}, ${y}, ${h})`,d.style.strokeWidth=x.toString()}}),e.watch(c,()=>{for(const g in s)s[g].state==="selected"&&g!==c.value?s[g].state="idle":s[g].state!=="selected"&&g===c.value&&(s[g].state="selected")}),e.watchEffect(async()=>{m.value=await ne.loadText(Q(a.value,r.value.overlayFilename)),v()}),e.watch(()=>u.value,()=>{u.value&&new ResizeObserver(p).observe(u.value)});function p(){e.nextTick(()=>{var d;const g=(d=u.value)==null?void 0:d.firstChild;if(g){if(!g.hasAttribute("viewBox")){const f=`0 0 ${g.getAttribute("width")} ${g.getAttribute("height")}`;g.setAttribute("viewBox",f)}g.setAttribute("width",u.value.offsetWidth.toString()),g.setAttribute("height",u.value.offsetHeight.toString())}})}function v(){e.nextTick(()=>{var d;const g=(d=u.value)==null?void 0:d.firstChild;if(g){i("updateSvgContainer",g),p();let f,C="data-structure-id";f=g.querySelectorAll(`[${C}]`),f.length===0&&(C="data-apartment-id",f=g.querySelectorAll(`[${C}]`),f.length===0&&(C="data-building-id",f=g.querySelectorAll(`[${C}]`))),f.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(I=>{I.style.stroke="inherit",I.style.fill="inherit"});const h=y.getAttribute(C);s[h]={element:y,state:c.value===h?"selected":"idle"},y.addEventListener("mouseover",()=>{s[h].state==="idle"&&(s[h].state="hover"),i("onHoverOver",h)}),y.addEventListener("mouseout",()=>{s[h].state==="hover"&&(s[h].state="idle"),i("onHoverOut",h)}),y.addEventListener("click",()=>{i("onClick",h)})})}})}return(g,d)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:u,key:e.unref(r).overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:m.value},null,8,fl))]),_:1}))}}),[["__scopeId","data-v-354134d9"]]);function gl(l){if(!l)return!1;const n=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of n)if(!(t in l))return!1;return!0}function yl(l){return!("filename"in l)&&"defaultFilename"in l}function He(l){return"filename"in l}function kl(l){return l?"version"in l:!1}function vl(l){if(!l)return!1;const n=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of n)if(!(t in l))return!1;return!0}function Cl(l){if(!l)return!1;const n=["version","latitude","longitude","buildings","cameras"];for(const t of n)if(!(t in l))return!1;return!0}function Ve(l){return l.startsWith("/")?l:`/${l}`}function dt(l){var n,t,a,o;if(gl(l))return l;if(Cl(l)){if(!l.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.buildings.map(({id:r,name:c})=>({id:r,name:c,type:"building"})),stillCameraIndices:l.cameras.map((r,c)=>c),stillCameraData:l.buildings.map(({id:r})=>({bestIndex:0,id:r})),loopable:!1,cameras:l.cameras.map(r=>{var i;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(u=>{u.filename=Ve(u.filename)})}),{...c,defaultFilename:c.sunsimDayOfYear[0]?Ve(((i=c.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===c.sunsimDayOfYear[0].defaultHour))==null?void 0:i.filename)||c.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(vl(l)){if(!l.days&&!l.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const r=l.days||[{dayOfYear:180,timeSamples:l.timeSamples}];return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.buildings.map(({id:c,name:i})=>({id:c,name:i,type:"building"})),stillCameraIndices:[0],stillCameraData:l.buildings.map(({id:c})=>({bestIndex:0,id:c})),loopable:!1,cameras:[{cameraName:"",cameraPosition:l.cameraPosition,cameraRotation:mt(l.cameraRotation.normalized||l.cameraRotation),cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:Ve((t=(n=r[0])==null?void 0:n.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:i,filename:m})=>({timeInHours:i,filename:Ve(m)}))}))}]}}else{if(lo(l))return{version:"5.0",latitude:l.latitude,longitude:l.longitude,renderVersion:l.renderVersion,parentStructure:{id:l.building.id,name:l.building.name,type:"building"},structures:l.unitData.map(({unitId:r})=>({id:r,name:r,type:"unit"})),stillCameraIndices:l.scenes,stillCameraData:l.unitData.map(({bestScene:r,unitId:c})=>({bestIndex:r,id:c})),loopable:l.loopable,cameras:l.cameras.map(r=>{var c;if($e(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 i={...r};return i.sunsimDayOfYear&&i.sunsimDayOfYear.forEach(m=>{m.timeSamples&&m.timeSamples.forEach(u=>{u.filename=Ve(u.filename)})}),{...i,defaultFilename:i.sunsimDayOfYear[0]?Ve(((c=i.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===i.sunsimDayOfYear[0].defaultHour))==null?void 0:c.filename)||i.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(kl(l)){if(!l.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!l.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const r=[...Array(64).keys()].map(i=>({filename:`/1280/${(i+1).toString().padStart(4,"0")+".jpg"}`})),c=[4,1,2,3];for(let i=0;i<l.scenes.length;i++){let m=l.scenes[i],u,s;u=r[m].filename,s={cameraName:`Camera ${i+1}`,cameraPosition:void 0,cameraRotation:l.sceneCameras&&(a=l.sceneCameras.find(p=>p.scene===i))!=null&&a.cameraRotation?mt((o=l.sceneCameras.find(p=>p.scene===i))==null?void 0:o.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${c[i]}V5Overlay.svg`,defaultFilename:u,sunsimDayOfYear:void 0},He(r[m])&&(r[m]=s)}return{version:"5.0",latitude:0,longitude:0,renderVersion:l.renderVersion,parentStructure:void 0,structures:l.sceneData.map(({apartmentID:i})=>({id:i,name:i,type:"unit"})),stillCameraIndices:l.scenes,stillCameraData:l.sceneData.map(({apartmentID:i,bestScene:m})=>({bestIndex:c.findIndex(u=>u===m)in l.scenes?l.scenes[c.findIndex(u=>u===m)]:null,id:i})).filter(({bestIndex:i})=>i!==null),loopable:!0,cameras:r}}else throw new Error("cannot convert data, no conversion source type found")}}function mt({x:l,y:n,z:t}){return{x:l,y:n,z:t,w:0}}const _l=["innerHTML"],wl={style:{"z-index":"7"}},bl={key:4,class:"render-version"},ut=z(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:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0},showUi:{type:Boolean,default:!0}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(l,{emit:n}){const t=l,{structureChooserData:a,cdnFileResolver:o,colorCallback:r,i18nConfig:c,customOverlayContent:i,selectedId:m,defaultCamera:u,defaultDay:s,defaultTime:p,mobileBreakpoint:v}=e.toRefs(t),g=n;e.provide(me,c.value?new ue(c.value):new ue);const d=e.ref(),f=e.ref(),C=e.ref(),y=e.ref(null),h=e.ref(4),I=e.ref(),x=e.ref(!1),A=e.ref(!1),_=e.ref(),k=e.computed(()=>_.value.isHoverEnabled),F=e.ref({x:0,y:0,width:0,height:0}),E=e.ref(),O=e.ref(),w=e.ref(),V=e.ref(!1),R=e.ref(),L=e.ref({current:100,min:100,max:1e3});e.onMounted(()=>{x.value=!0}),e.watch(a,N=>{try{w.value=dt(N)}catch(S){g("onError",S)}},{immediate:!0}),e.watch(x,N=>{N&&g("onInitialize")}),e.watch(()=>O.value,()=>{O.value&&new ResizeObserver(([S])=>{V.value=S.contentRect.width<v.value}).observe(O.value)});const W=e.computed(()=>w.value?w.value.cameras.filter(yl):[]),T=e.computed(()=>w.value?w.value.cameras.filter(He):[]);e.watch([w,o,u],async()=>{o.value&&W.value.length>0&&(u.value?d.value=W.value.find(N=>N.cameraName===u.value)||W.value[0]:d.value=W.value[0],h.value=w.value.cameras.findIndex(N=>N===d.value),h.value=Math.max(0,h.value))},{immediate:!0}),e.watch([w,o,s],()=>{w.value&&o.value&&d.value&&d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&(s.value?f.value=d.value.sunsimDayOfYear.find(N=>N.dayOfYear===s.value)||d.value.sunsimDayOfYear[0]:f.value=d.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([w,o,p],()=>{w.value&&o.value&&f.value&&f.value.timeSamples&&f.value.timeSamples.length>0&&(p.value?C.value=f.value.timeSamples.find(N=>N.timeInHours===p.value)||f.value.timeSamples[0]:C.value=f.value.timeSamples.find(N=>N.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])},{immediate:!0});function B(N){d.value!==N&&oe(w.value.cameras.findIndex(S=>S===N))}function $(N){h.value=N,He(w.value.cameras[h.value])?y.value=w.value.cameras[h.value]:(e.nextTick(()=>{U(w.value.cameras[h.value])}),y.value=null)}function U(N){const S=f.value;d.value=N,h.value=w.value.cameras.findIndex(D=>D===d.value),e.nextTick(()=>{d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&Z(d.value.sunsimDayOfYear.find(D=>D.dayOfYear===S.dayOfYear)||d.value.sunsimDayOfYear[0])})}function Z(N){const S=C.value;f.value=N,e.nextTick(()=>{Y(f.value.timeSamples.find(D=>D.timeInHours===S.timeInHours)||f.value.timeSamples.find(D=>D.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])})}function Y(N){C.value=N}function j(N){g("onClick",N,()=>{const S=w.value.stillCameraData.find(D=>D.id===N);S&&oe(S.bestIndex)})}function K(N){g("onHoverOver",N),I.value=N}function ee(N){g("onHoverOut",N),I.value=void 0}function ce(N){const{layerX:S,layerY:D}=N;let H=N.target,J=!1;for(;H;)if(H===E.value){J=!0;break}else H=H.parentElement;if(J){const ie=N.currentTarget;F.value={x:S,y:D,width:ie.clientWidth,height:ie.clientHeight}}else F.value=void 0;g("onMouseMove",N,F.value)}function re({min:N,max:S,current:D}){L.value={min:N,max:S,current:D}}function pe(N){R.value.adjustZoom(N?10:-10)}function X(N){return w.value.stillCameraIndices.findIndex(S=>S===N)}async function oe(N){const S=h.value;if(w.value.loopable){const D=w.value.stillCameraIndices.length,H=X(S),J=X(N);let ie=0,ae=0,te=H;for(;te++,te>=D&&(te=0),te!==J;)ie++;for(te=H;te--,te<0&&(te+=D),te!==J;)ae++;ie===ae?le(S,N):ie<ae?H<J?le(S,N):le(S,N+w.value.cameras.length):H>=J?le(S,N):le(S+w.value.cameras.length,N)}else le(S,N)}function le(N,S){return new Promise(D=>{A.value=!0;let H,J=N;H=setInterval(()=>{J<S?(J++,h.value=Math.abs(J%w.value.cameras.length),$(h.value)):J>S?(J--,h.value=Math.abs(J%w.value.cameras.length),$(h.value)):(clearInterval(H),A.value=!1,D())},50)})}return(N,S)=>{const D=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(D,{type:"image",class:"w-100 h-100 position-relative",loading:!x.value||!w.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:O,class:e.normalizeClass({mobile:V.value}),style:{"min-height":"104px"},onMousemove:ce},[N.showUi?(e.openBlock(),e.createElementBlock("div",{key:0,class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:V.value&&W.value.length>1?"60px":0})},[d.value.cameraRotation?(e.openBlock(),e.createBlock(ve,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:V.value?32:40,height:V.value?32:40}),longitude:d.value.cameraRotation.y+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(pl,{"is-mobile-sized":V.value,"can-zoom-out":L.value.min<L.value.current,"can-zoom-in":L.value.max>L.value.current,disabled:A.value,onOnZoomIn:S[0]||(S[0]=H=>pe(!0)),onOnZoomOut:S[1]||(S[1]=H=>pe(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4)):e.createCommentVNode("",!0),N.showUi&&W.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass({"actions-bar bottom-left w-100 pa-2":!0,"px-0":V.value}),style:{"z-index":"7"}},[e.createVNode(il,{"is-mobile-sized":V.value,"still-cameras":W.value,"current-camera":d.value,disabled:A.value,"cdn-file-resolver":e.unref(o),onOnCameraChange:B},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(ke,{ref_key:"zoomBox",ref:R,position:"relative",onUpdate:re},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,(H,J)=>(e.openBlock(),e.createBlock(el,{key:`camera${J}`,"camera-data":H,"cdn-file-resolver":e.unref(o),"current-camera":d.value,"current-day":f.value,"current-time":C.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(T.value,(H,J)=>(e.openBlock(),e.createBlock(ol,{key:`transition${J}`,"transition-data":H,"cdn-file-resolver":e.unref(o),"current-transition":y.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(i)?(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(i)},null,8,_l)):e.createCommentVNode("",!0),d.value.overlayFilename?e.withDirectives((e.openBlock(),e.createBlock(hl,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(r),"current-camera":d.value,"selected-id":e.unref(m),onOnClick:j,onOnHoverOver:K,onOnHoverOut:ee,onUpdateSvgContainer:S[2]||(S[2]=H=>E.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,y.value===null]]):e.createCommentVNode("",!0)]),_:1},512),N.showUi&&(f.value.timeSamples&&f.value.timeSamples.length>0||d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":V.value}),style:{"z-index":"7"}},[e.createVNode(al,{class:"pr-2","is-mobile-sized":V.value,"current-camera":d.value,"current-day":f.value,disabled:A.value,onOnDayChange:Z},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(dl,{"is-mobile-sized":V.value,"current-day":f.value,"current-time":C.value,disabled:A.value,onOnTimeChange:Y},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),N.$slots.popup&&F.value&&I.value?(e.openBlock(),e.createBlock(ye,{key:3,"is-hoverable":k.value,pos:F.value},{default:e.withCtx(()=>[e.createElementVNode("div",wl,[e.renderSlot(N.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:I.value,hoverable:k.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),N.version&&N.showVersion?(e.openBlock(),e.createElementBlock("div",bl," version: "+e.toDisplayString(N.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(he,{ref_key:"hoverProbe",ref:_},null,512)],64)}}}),[["__scopeId","data-v-8b47e309"]]),Vl={install:function(n){n.component("VApartmentChooser",Qe),n.component("VBuildingChooser",tt),n.component("VVirtualTour",it),n.component("VManualSlideShow",st),n.component("VStructureChooser",ut)}};G.ResourceLoader=ne,G.VApartmentChooser=Qe,G.VApartmentChooserV5=Io,G.VBuildingChooser=tt,G.VBuildingChooserV5=kn,G.VFloatingCard=ye,G.VHoverProbe=he,G.VManualSlideShow=st,G.VNorthDirection=ve,G.VStructureChooser=ut,G.VVirtualTour=it,G.VZoomBox=ke,G.convertApartmentChooserDataLegacyToV5=Ke,G.convertBuildingChooserDataLegacyToV5=ot,G.convertStructureChooserDataLegacyToV5=dt,G.default=Vl,Object.defineProperties(G,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});