@qispace/vue3-player 0.3.21 → 0.3.24

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(W,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):(W=typeof globalThis<"u"?globalThis:W||self,e(W["vue3-player"]={},W.Vue,W.axios,W.PlayerCore,W.THREE))})(this,function(W,e,pe,xt,ye){"use strict";var yi=Object.defineProperty;var Ci=(W,e,pe)=>e in W?yi(W,e,{enumerable:!0,configurable:!0,writable:!0,value:pe}):W[e]=pe;var K=(W,e,pe)=>(Ci(W,typeof e!="symbol"?e+"":e,pe),pe);function Nt(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 Dt=Nt(xt);class le{static async loadText(n){return new le().loadText(n)}static async loadJson(n){return new le().loadJson(n)}static async loadImage(n){return new le().loadImage(n)}static async loadImageData(n){return new le().loadImageData(n)}async loadText(n){try{return(await pe.get(n)).data}catch(t){throw pe.isAxiosError(t)&&t.response?new Error(`Failed to load resource from ${n}: ${t.response.status} ${t.response.statusText}`):t}}async loadJson(n){return(await pe.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 It=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))}}),H=(l,n)=>{const t=l.__vccOpts||l;for(const[a,o]of n)t[a]=o;return t},fe=H(It,[["__scopeId","data-v-eb9b348d"]]);function ee(l,n){return typeof l=="string"?`${l}${n}`:l(n)}const At=H(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),s=e.ref(0),i=e.ref(),m=e.ref(),u=e.ref(),c=e.ref(),p=e.ref(-1),v=e.ref(!1),h=e.ref(),d=e.ref(),f=e.ref({}),k=e.ref("auto"),y=e.ref(new le),g=e.ref({}),D=e.ref(),S=e.ref(),A=e.ref(),_=e.ref(),B=e.ref(),$=e.computed(()=>A.value.isHoverEnabled),x=e.computed(()=>ee(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),U=e.computed(()=>x.value in f.value?f.value[x.value]:null),C=e.computed(()=>p.value<0?!1:t.sceneData.find(V=>V.index===p.value)||!1),w=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:k.value})),F=e.computed(()=>`hover-${v.value?"over":"out"}-${C.value?typeof C.value=="object"&&"unitId"in C.value?C.value.unitId:C.value:""}`);e.watch(x,()=>{f.value[x.value]||y.value.loadImageData(x.value).then(L=>{f.value={...f.value,[x.value]:L}})},{immediate:!0}),e.watch(U,()=>{U.value&&T()}),e.watch(()=>t.viewModel.currentScene,()=>{oe()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{oe()}),e.watch(C,()=>{oe(),C.value?k.value="pointer":k.value="auto"}),e.watch(F,()=>{v.value?a("hoverOver",{hoverUnit:C.value?C.value.unitId:!1,closeHandler:()=>re()}):a("hoverOut",{hoverUnit:C.value?C.value.unitId:!1,closeHandler:()=>re()})}),e.watch(o,()=>{a("pos",o.value)}),e.onMounted(()=>{S.value=()=>{clearTimeout(D.value),ie(),D.value=setTimeout(()=>{ie()},50)},window.addEventListener("resize",S.value),ie()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",S.value);for(const L in f.value)URL.revokeObjectURL(f.value[L])});function T(){i.value=_.value.getContext("2d",{willReadFrequently:!0}),m.value=new Image,m.value.onload=()=>{he(),_.value.addEventListener("mousemove",ne(q,50))},m.value.src=U.value}function q(L){const V=O(L.offsetX,L.offsetY);v.value=V>=0,p.value=V,o.value={x:L.offsetX,y:L.offsetY,width:r.value,height:s.value}}function I(L){const V=O(L.offsetX,L.offsetY);V<0||$&&te(V)}function E(){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),c.value=i.value.getImageData(0,0,_.value.width,_.value.height),u.value=i.value.getImageData(0,0,_.value.width,_.value.height);const L=c.value.data;g.value={};for(let V=0;V<L.length;V+=4)g.value[L[V]]=[];for(let V=3;V<L.length;V+=4)L[V]===255&&L[V-3]in g.value&&g.value[L[V-3]].push(V-3)}}function O(L,V){h.value=L,d.value=V;const M=_.value.offsetWidth/_.value.width,X=_.value.offsetHeight/_.value.height,Q=(L/M).toFixed(),Z=(V/X).toFixed(),J=Number(Z)*(_.value.width*4)+Number(Q)*4,we=c.value.data[J];return c.value.data[J+3]>0?we:-1}function R(){P().forEach(V=>{if(V.index>=0){const M=j(V.index);if(M){const X=Y(V.index);let Q="idle";!C.value&&t.selectedUnitId&&X===t.selectedUnitId?Q="selected":C.value&&p.value===V.index&&(Q="hover");const Z=t.colorCallback(V.unitId,Q);if(Z)for(let J=0;J<M.length;J++)u.value.data[M[J]]=Z.r,u.value.data[M[J]+1]=Z.g,u.value.data[M[J]+2]=Z.b,u.value.data[M[J]+3]=Z.a}}})}function j(L){return c.value?g.value[L]:!1}function Y(L){const V=t.sceneData.find(M=>M.index===L);return V&&V.unitId}function P(){if(c.value){const L=Object.keys(g.value).map(M=>parseInt(M));return t.sceneData.filter(M=>L.includes(M.index))}else return[]}function te(L){const V=Y(L);G(V)}function G(L){a("selectUnit",L),L&&t.canGoToUnitCallback(L)&&a("goToUnit",L)}function se(L=0){if(!u.value)return;const V=u.value.data;for(let M=3;M<V.length;M+=4)V[M]=L}function ie(){if(!B.value)return!1;r.value=B.value.offsetWidth,s.value=B.value.offsetHeight}function he(){E(),oe()}function oe(){se(),R(),i.value&&u.value&&i.value.putImageData(u.value,0,0)}function re(){v.value=!1}const de=e.ref(!1);function ne(L,V){return de.value=!0,function(...M){de.value&&(de.value=!1,L.apply(this,M),setTimeout(()=>de.value=!0,V))}}return(L,V)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:B,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:_,style:e.normalizeStyle(w.value),onClick:I},null,4),[[e.vShow,!L.viewModel.isRotating]]),e.createVNode(fe,{ref_key:"hoverProbe",ref:A},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),Ft=["viewBox"],Tt=["innerHTML","onMouseenter","onMouseleave","onClick"],Lt=H(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),s=e.ref({}),i=e.ref(null),m=e.ref(new le),u=e.ref(),c=e.ref(),p=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(o,()=>{a("pos",o.value)}),e.watch(r,(S,A)=>{if(S>=0){const _=h(S);a("hoverOver",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}else{const _=h(A);a("hoverOut",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let S=1;S<=4;S++){const A=ee(t.cdnFileResolver,`/scenedata${S}.svg`),_={markup:"",viewBox:"",svgObjects:[]};m.value.loadJson(A).then(B=>{_.markup=B;const x=new DOMParser().parseFromString(B,"image/svg+xml").getElementsByTagName("svg")[0];_.viewBox=x.getAttribute("viewBox"),_.svgObjects=Array.from(x.querySelectorAll("*[data-index]")).map(U=>({index:parseInt(U.getAttribute("data-index")),svg:U.innerHTML})),s.value={...s.value,[S]:_}})}u.value.addEventListener("mousemove",D(v,50))});function v(S){o.value={x:S.offsetX,y:S.offsetY,width:u.value.offsetWidth,height:u.value.offsetHeight}}function h(S){var A;return(A=t.sceneData.find(_=>_.index===(typeof S=="string"?parseInt(S):S)))==null?void 0:A.unitId}function d(S){p.value&&(r.value=S)}function f(S){p.value&&(r.value=-1)}function k(S){const A=h(S);a("selectUnit",A),p.value&&A&&t.canGoToUnitCallback(A)?a("goToUnit",A):r.value=S}function y(S){const A=h(S);let _="idle";r.value<0&&t.selectedUnitId&&A===t.selectedUnitId?_="selected":r.value>=0&&r.value===S&&(_="hover");const B=t.colorCallback(A,_);if(B){const{r:$,g:x,b:U,a:C,s:w}=B;return{strokeWidth:w!==void 0?w:2,stroke:`rgb(${$}, ${x}, ${U})`,strokeOpacity:1,fill:`rgb(${$}, ${x}, ${U})`,fillOpacity:C/255,cursor:`${t.canGoToUnitCallback(A)?"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(S,A){return g.value=!0,function(..._){g.value&&(g.value=!1,S.apply(this,_),setTimeout(()=>g.value=!0,A))}}return(S,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:B})=>(e.openBlock(),e.createElementBlock("g",{key:_,innerHTML:B,style:e.normalizeStyle(y(_)),onMouseenter:$=>d(_),onMouseleave:$=>f(),onClick:$=>k(_)},null,44,Tt))),128))],8,Ft)):e.createCommentVNode("",!0)],4),[[e.vShow,!S.viewModel.isRotating]]),e.createVNode(fe,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),ce=Symbol(),Mt={key:0,class:"text-success d-none d-md-flex"},$t={class:"text-success"},Ot=H(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),s=n,i=e.inject(ce);e.onMounted(()=>{window.addEventListener("keydown",m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",m)});function m(u){u.keyCode===37?t.prevUnitId&&s("prevUnit"):u.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(u,c)=>{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:c[0]||(c[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:c[1]||(c[1]=v=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(p,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!u.canGoToUnitCallback(a.value),onClick:c[2]||(c[2]=v=>s("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&u.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",Mt,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",$t,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:c[3]||(c[3]=v=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(p,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>u.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class He{constructor(n){K(this,"_numParts");K(this,"_loadedCount");K(this,"_isError");K(this,"_finishedAction");K(this,"_errorAction");K(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 ze{constructor(n,t,a,o){K(this,"_rotator");K(this,"_direction");K(this,"_frameIndex");K(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 ze(this._rotator,this._direction,n,t)}}class Rt{constructor(n,t){K(this,"_cardinalFrames");K(this,"_totalFrameCount");this._cardinalFrames=n,this._totalFrameCount=t}start(n,t,a){const o=this.startFrameIndexForScene(t);return new ze(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 Ut={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Ht={key:1,class:"frame-container"},zt={key:0,class:"frame-image"},Yt=["srcset"],Pt=["src"],jt={key:2,id:"image-stack",class:"frame-container"},Wt=["alt"],Gt=["srcset"],Qt=["src"],Xe=64,Ie=4,qt=120,Zt=H(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(l,{emit:n}){const t=l,a=n,o=h(),r=e.ref(new He(o.length).onLoadFinished(()=>a("loaded")).onLoadProgress(y=>a("progress",y)).onLoadError(()=>a("error"))),s=e.ref(new Rt(t.cardinalFrames,Xe)),i=e.ref(o),m=e.ref(!1),u=e.computed(()=>i.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,g)=>{const D=k(g,y),S=f(g,y);c(g,D,S)}),e.onMounted(()=>{v()});function c(y,g,D){t.viewModel.isRotating||(t.viewModel.isRotating=!0,p(s.value.start(g,y%Ie,D)))}function p(y){setTimeout(()=>{i.value[y.frameIndex].show=!1;const g=y.nextFrame();i.value[g.frameIndex].show=!0,g.atEnd?v():window.requestAnimationFrame(()=>p(g))},1e3/qt)}function v(){const y=s.value.startFrameIndexForScene(t.viewModel.currentScene%Ie);y in i.value&&(i.value[y].show=!0),t.viewModel.isRotating=!1}function h(){const y=[];for(let g=0;g<Xe;g++){const{sourceSet:D,defaultPath:S}=d(g);y.push({index:g,sourceSet:D,defaultPath:S,show:!1})}return y}function d(y){const g=("0000"+(y+1)).slice(-4),D=t.build?`?v=${t.build}`:"",S=[`${ee(t.cdnFileResolver,`/480/${g}.jpg${D}`)} 480w`,`${ee(t.cdnFileResolver,`/960/${g}.jpg${D}`)} 960w`,`${ee(t.cdnFileResolver,`/1280/${g}.jpg${D}`)} 1280w`].join(","),A=ee(t.cdnFileResolver,`/480/${g}.jpg${D}`);return{sourceSet:S,defaultPath:A}}function f(y,g){const D=Ie/2,S=Math.abs(y-g);return S>D?Ie-S:S}function k(y,g){if(y===g)return 0;const S=Math.abs(y-g)<Ie/2;return S&&y<g||!S&&y>g?1:-1}return(y,g)=>{const D=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,S=>(e.openBlock(),e.createElementBlock("picture",{key:S.index,alt:S.index,class:e.normalizeClass({"frame-image":!0,show:S.show})},[e.createElementVNode("source",{srcset:S.sourceSet,type:"image/jpeg"},null,8,Gt),e.createElementVNode("img",{src:S.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=A=>r.value.partLoaded()),onError:g[3]||(g[3]=A=>r.value.errorDetected())},null,40,Qt)],10,Wt))),128))])):(e.openBlock(),e.createElementBlock("div",Ht,[u.value?(e.openBlock(),e.createElementBlock("picture",zt,[e.createElementVNode("source",{srcset:u.value.sourceSet,type:"image/jpeg"},null,8,Yt),e.createElementVNode("img",{src:u.value.defaultPath,onLoad:g[0]||(g[0]=S=>m.value=!0),onError:g[1]||(g[1]=S=>r.value.errorDetected())},null,40,Pt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),Ce=H(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,s,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?(s="-100%",m="-8px"):(s="0%",m="8px"),`translate(${r}, ${s}) translate(${i}, ${m})`});return(r,s)=>{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":s[0]||(s[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"]]),ve=H(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:q});const r=e.ref(100),s=e.ref(0),i=e.ref(0),m=e.ref(!1),u=e.ref(!1),c=e.ref(void 0),p=e.ref(!1),v=e.ref(),h=e.computed(()=>`translateX(${s.value}px) translateY(${i.value}px) scale(${d.value})`),d=e.computed(()=>r.value/100),f=e.computed(()=>a.maxScale*100);e.watch([d,s,i],()=>{I()},{immediate:!0}),e.watch(()=>a.desktop,()=>{a.desktop?k():g()}),e.watch(()=>a.mobile,()=>{a.mobile?y():D()}),e.onMounted(()=>{a.desktop&&k(),a.mobile&&y()}),e.onBeforeUnmount(()=>{a.desktop&&g(),a.mobile&&D()});function k(){v.value.addEventListener("wheel",S,{capture:!0}),v.value.addEventListener("mousedown",A,{capture:!0}),v.value.addEventListener("mousemove",_,{capture:!0}),window.addEventListener("mouseup",B,{capture:!0}),window.addEventListener("click",$,{capture:!0})}function y(){v.value.addEventListener("touchstart",x,{capture:!0}),v.value.addEventListener("touchmove",U,{capture:!0}),window.addEventListener("touchend",C,{capture:!0}),window.addEventListener("touchcancel",C,{capture:!0})}function g(){v.value.removeEventListener("wheel",S,{capture:!0}),v.value.removeEventListener("mousedown",A,{capture:!0}),v.value.removeEventListener("mousemove",_,{capture:!0}),window.removeEventListener("mouseup",B,{capture:!0}),window.removeEventListener("click",$,{capture:!0})}function D(){v.value.removeEventListener("touchstart",x,{capture:!0}),v.value.removeEventListener("touchmove",U,{capture:!0}),window.removeEventListener("touchend",C,{capture:!0}),window.removeEventListener("touchcancel",C,{capture:!0})}function S(E){const{x:O,y:R}=w(E);q(-E.deltaY/10,O,R),E.preventDefault()}function A(E){m.value=!0,p.value=!1,c.value=E}function _(E){if(m.value){const{x:O,y:R}=w(E),{x:j,y:Y}=w(c.value),P={x:O-j,y:R-Y};F(P.x),T(P.y),p.value=!0,c.value=E}}function B(E){m.value&&p.value&&a.consumeMouseUpWhenMoved&&(E.preventDefault(),E.stopImmediatePropagation())}function $(E){m.value&&(p.value&&a.consumeMouseClickWhenMoved&&(E.preventDefault(),E.stopImmediatePropagation()),m.value=!1)}function x(E){m.value=E.touches.length===1,u.value=E.touches.length===2,c.value=E}function U(E){if(m.value){const{x:O,y:R}=w(E.touches[0]),{x:j,y:Y}=w(c.value.touches[0]),P={x:O-j,y:R-Y};F(P.x),T(P.y)}else if(u.value&&E.touches.length===2){const{x:O,y:R}=w(E.touches[0]),{x:j,y:Y}=w(c.value.touches[0]),{x:P,y:te}=w(E.touches[1]),{x:G,y:se}=w(c.value.touches[1]),ie=Math.hypot(j-G,Y-se),he=Math.hypot(O-P,R-te),oe=(P+O)/2,re=(te+R)/2;q(he-ie,oe,re)}c.value=E}function C(){m.value=!1,u.value=!1}function w(E){const{left:O,top:R}=v.value.getBoundingClientRect();return{x:E.clientX-O,y:E.clientY-R}}function F(E){const O=v.value.clientWidth,R=O*d.value;s.value=Math.max(Math.min(0,s.value+E),-(R-O))}function T(E){const O=v.value.clientHeight,R=O*d.value;i.value=Math.max(Math.min(0,i.value+E),-(R-O))}function q(E,O,R){const j=O!==void 0?O:v.value.clientWidth/2,Y=R!==void 0?R:v.value.clientHeight/2,P=v.value.clientWidth,te=v.value.clientHeight,G=P*d.value,se=te*d.value;r.value=Math.min(Math.max(100,r.value+E),f.value);const ie=P*d.value,he=te*d.value,oe=ie-G,re=he-se;s.value-=j/P*oe,i.value-=Y/te*re,F(0),T(0)}function I(){o("update",{scale:d.value,x:s.value,y:i.value,current:Math.min(Math.max(100,r.value),f.value),min:100,max:f.value,resolve:(E,O)=>{const R=v.value.clientWidth,j=v.value.clientHeight,Y=s.value/-d.value,P=i.value/-d.value,te=Y+R/d.value,G=P+j/d.value,se=E/R*(te-Y)+Y,ie=O/j*(G-P)+P;return{x:se,y:ie}}})}return(E,O)=>(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:h.value}),class:"zoom-box"},[e.renderSlot(E.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Ye=4;function Ke(l){return l<Ye?l+1:1}function Jt(l){return l>1?l-1:Ye}class Xt{constructor(n){K(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=Ke(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Jt(this.currentScene)})}}class ue{constructor({labels:n,language:t}={labels:null,language:null}){K(this,"_labels");K(this,"_language");n?this._labels={...n||{}}:fetch("https://l10n.visuado.com/all.json").then(a=>a.json()).then(a=>{this._labels=a}),this._language=t||"nb"}getLabel(n){return this._labels&&this._language in this._labels&&n in this._labels[this._language]?this._labels[this._language][n]:n}get(n){return typeof n=="string"?n:typeof n=="object"&&this._language in n&&n[this._language]?n[this._language]:""}}const Kt={key:0},eo={class:"interactive-viewer"},to={class:"fill-parent"},oo={key:0},no={key:1,class:"navigation"},ao={key:2},ro=4,et=H(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(ce,a.i18nConfig?new ue(a.i18nConfig):new ue);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),m=e.ref(),u=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),p=e.ref(),v=e.ref(),h=e.ref(),d=e.computed(()=>h.value.isHoverEnabled),f=e.computed(()=>a.useSvg?Lt:At),k=e.computed(()=>a.selectedUnitId),y=e.computed(()=>a.nextUnitId),g=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(k.value&&u.value){const _=s.value[k.value];_&&(u.value.currentScene=_)}}),e.onMounted(async()=>{const _=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:ro;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(x=>({unitId:x.apartmentID,index:x.index})):[],s.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(x=>{const U=x.bestScene===0?4:x.bestScene;return{unitId:x.apartmentID,scene:U}}).reduce((x,U)=>({...x,[U.unitId]:U.scene}),{}):{};const B=(x,U="unitId")=>{let C=_,w=[];for(let F=0;F<Ye;F++)w.push(C),C=Ke(C);return x.sort((F,T)=>{const q=w.findIndex(E=>E===s.value[F[U]]),I=w.findIndex(E=>E===s.value[T[U]]);return q<I?-1:q>I?1:0}),x},$=x=>{u.value=new Xt(x)};o("initialized",{scene:_,scenes:m.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:B,initialize:$})});function D(_){c.value=_}function S(_){v.value=_.hoverUnit,p.value=_.closeHandler,o("hoverOverUnit",_.hoverUnit)}function A(_){v.value=null,p.value=_.closeHandler,o("hoverOutUnit",_.hoverUnit)}return(_,B)=>{const $=e.resolveComponent("v-progress-linear");return u.value?(e.openBlock(),e.createElementBlock("div",Kt,[e.createElementVNode("div",eo,[e.createElementVNode("div",to,[e.createVNode(ve,{desktop:r.isReady&&_.interactiveDesktop,mobile:r.isReady&&_.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(Zt,{"cdn-file-resolver":_.cdnFileResolver,"view-model":u.value,"cardinal-frames":m.value,build:_.build,onProgress:B[0]||(B[0]=x=>r.progress=x),onLoaded:B[1]||(B[1]=x=>r.isReady=!0),onError:B[2]||(B[2]=x=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",oo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":u.value,"selected-unit-id":k.value,"scene-data":i.value,"color-callback":a.colorCallback,"can-go-to-unit-callback":a.canGoToUnitCallback,"draw-observer":a.drawObserver,onSelectUnit:B[3]||(B[3]=x=>o("selectUnit",x)),onGoToUnit:B[4]||(B[4]=x=>o("goToUnit",x)),onHoverOver:S,onHoverOut:A,onPos:D},{default:e.withCtx(x=>[e.renderSlot(_.$slots,"default",e.normalizeProps(e.guardReactiveProps(x)),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(Ce,{key:0,"is-hoverable":d.value,pos:c.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:c.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",no,[e.createVNode(Ot,{"can-go-to-unit-callback":a.canGoToUnitCallback,"unit-renderer":a.unitRenderer,"selected-unit-id":k.value,"prev-unit-id":g.value,"next-unit-id":y.value,"view-model":u.value,onGoToUnit:B[5]||(B[5]=x=>o("goToUnit",x)),onPrevUnit:B[6]||(B[6]=x=>o("navUnit",g.value)),onNextUnit:B[7]||(B[7]=x=>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",ao,[e.createVNode($,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":B[8]||(B[8]=x=>r.progress=x)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(fe,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),lo=["src"],io=H(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>ee(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,lo)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),so=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(io,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),co=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(so,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),mo=["src"],uo=H(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(()=>ee(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,mo)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function po(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 Pe(l){return!("filename"in l)}function je(l){return"filename"in l}const fo=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(Pe):[]);return e.watch(o,()=>{a("onCameraChange",r.value.find(s=>s.overlayFilename===o.value))}),(s,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"])}}}),ho=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(s=>s.dayOfYear===o.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,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]=c=>o.value=c),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),go={key:0,class:"py-2"},yo={class:"small"},Co={class:"small"},vo=H(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 s(m){const u=m*60,c=Math.floor(u/60),p=u%60;return`${c.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(c=>c.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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",go,[e.createVNode(c,{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(s(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",yo,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Co,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{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(s(o.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),ko=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),s=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{s.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{o("onSceneChange",s.value)});const m=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[0]),u=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function c(){const d=s.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)+1;f>=a.apartmentChooserData.scenes.length&&(f=0);const k=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d>k,h(d,k)}async function p(){const d=s.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)-1;f<0&&(f=a.apartmentChooserData.scenes.length-1);const k=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d<k,h(d,k)}function v(d){const f=s.value;if(a.apartmentChooserData.loopable)if(d<f){let k=f-d,y=f-(a.apartmentChooserData.cameras.length+d);return Math.abs(k)>Math.abs(y)?h(f,d):h(f,a.apartmentChooserData.cameras.length+d)}else{let k=f-d,y=a.apartmentChooserData.cameras.length+f-d;return Math.abs(k)>Math.abs(y)?h(f,d):h(a.apartmentChooserData.cameras.length+f,d)}else return h(f,d)}function h(d,f){return new Promise(k=>{r.value=!0,o("onRotateStart",{from:d,to:f});let y,g=d;y=setInterval(()=>{g<f?(g++,s.value=Math.abs(g%a.apartmentChooserData.cameras.length)):g>f?(g--,s.value=Math.abs(g%a.apartmentChooserData.cameras.length)):(clearInterval(y),o("onRotateFinish",{from:d,to:f}),r.value=!1,k())},50)})}return(d,f)=>{const k=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(k,{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]=g=>o("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(k,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!u.value,onClick:c},null,8,["disabled"])],64)}}}),_o=["innerHTML"],wo=H(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(),s=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const c in i){const{element:p,state:v}=i[c],{r:h,g:d,b:f,a:k,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${h}, ${d}, ${f}, ${k/255})`,p.style.stroke=`rgb(${h}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(s,()=>{for(const c in i)i[c].state==="selected"&&c!==s.value?i[c].state="idle":i[c].state!=="selected"&&c===s.value&&(i[c].state="selected")}),e.watchEffect(async()=>{o.value=await le.loadText(ee(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 c=(p=r.value)==null?void 0:p.firstChild;if(c){if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",r.value.offsetWidth.toString()),c.setAttribute("height",r.value.offsetHeight.toString())}})}function u(){e.nextTick(()=>{var p;const c=(p=r.value)==null?void 0:p.firstChild;c&&(a("updateSvgContainer",c),m(),c.querySelectorAll("[data-apartment-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=h.getAttribute("data-apartment-id");i[d]={element:h,state:s.value===d?"selected":"idle"},h.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),h.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),h.addEventListener("click",()=>{a("onClick",d)})}))})}return(c,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:o.value},null,8,_o))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),bo="data:image/png;base64,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",ke=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(bo),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Be{constructor(n){K(this,"_buildingIds");this._buildingIds=n}static empty(){return new Be([])}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,s,i]=n.getPixel(t,a);if(i===255&&o===r&&r===s)return o}}const Vo=180;class tt{constructor(n){K(this,"_cdnFileResolver");K(this,"_resourceLoader");this._cdnFileResolver=n,this._resourceLoader=new le}constructFileUrl(n){return this._cdnFileResolver?ee(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(Vo,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),s=this.getBackgroundImageData(n);return{mapImage:t,viewLongitude:a,buildingIds:o,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class Ee{constructor(n){K(this,"_mapImage");K(this,"_context");this._mapImage=n,this._context=null}static empty(){return new Ee(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 Bo=new Date(0);class Fe{constructor(n){K(this,"_imagesByDay");K(this,"_state");this._imagesByDay=n,this._state={selectedIndex:0}}static empty(){return new Fe([{referenceDate:Bo,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 Ae(l){return("0"+l).slice(-2)}function Eo(){const l=new Date;return[l.getFullYear().toString(),Ae(l.getMonth()+1),Ae(l.getDate())," ",Ae(l.getHours()),Ae(l.getMinutes()),Ae(l.getSeconds())].join("")}function So(){return"Visuado-Snapshot-"+Eo()}class xo{constructor(n,t){K(this,"data");this.data=n}download(n=null){n=n||So();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 ot(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,c;u=r[m],c={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}]}]},je(r[m])&&(r[m]=c)}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 No={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Do={class:"pa-1"},Io={class:"pa-1"},Ao={class:"pa-1"},Fo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},To={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},Lo=["innerHTML"],Mo={style:{"z-index":"7"}},$o=H(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(),s=e.ref(),i=e.ref(null),m=e.ref(4),u=e.ref(),c=e.ref(!1),p=e.ref(!1),v=e.ref(),h=e.ref(),d=e.computed(()=>h.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),k=e.ref(),y=e.ref(),g=e.ref(t.apartmentChooserData),D=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.watch(c,I=>{I&&a("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([E])=>{D.value=E.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const S=e.computed(()=>g.value?g.value.cameras.filter(Pe):[]),A=e.computed(()=>g.value?g.value.cameras.filter(je):[]),_=async()=>{try{let I,E;return E=await le.loadJson(ee(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(E.version)===5?E:(I=ot(E),I)}catch(I){c.value=!1,a("onError",I)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await _()),t.defaultCamera?o.value=S.value.find(I=>I.cameraName===t.defaultCamera)||S.value[0]:o.value=S.value[0],m.value=g.value.cameras.findIndex(I=>I===o.value),m.value=Math.max(0,m.value))},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{g.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(I=>I.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{g.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(I=>I.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(I=>I.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function B(I){o.value!==I&&v.value.rotateShortestRoute(g.value.cameras.findIndex(E=>E===I))}function $(I){m.value=I,je(g.value.cameras[m.value])?i.value=g.value.cameras[m.value]:(e.nextTick(()=>{x(g.value.cameras[m.value])}),i.value=null)}function x(I){const E=r.value;o.value=I,m.value=g.value.cameras.findIndex(O=>O===o.value),e.nextTick(()=>{U(o.value.sunsimDayOfYear.find(O=>O.dayOfYear===E.dayOfYear)||o.value.sunsimDayOfYear[0])})}function U(I){const E=s.value;r.value=I,e.nextTick(()=>{C(r.value.timeSamples.find(O=>O.timeInHours===E.timeInHours)||r.value.timeSamples.find(O=>O.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function C(I){s.value=I}function w(I){a("onClick",I,()=>{const E=g.value.unitData.find(O=>O.unitId===I);E&&v.value.rotateShortestRoute(E.bestScene)})}function F(I){a("onHoverOver",I),u.value=I}function T(I){a("onHoverOut",I),u.value=void 0}function q(I){const{layerX:E,layerY:O}=I;let R=I.target,j=!1;for(;R;)if(R===k.value){j=!0;break}else R=R.parentElement;if(j){const Y=I.currentTarget;f.value={x:E,y:O,width:Y.clientWidth,height:Y.clientHeight}}else f.value=void 0;a("onMouseMove",I,f.value)}return(I,E)=>{const O=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(O,{type:"image",class:"w-100 h-100 position-relative",loading:!c.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:y,class:e.normalizeClass({mobile:D.value}),onMousemove:q},[e.createElementVNode("div",No,[e.createElementVNode("div",Do,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(fo,{key:0,"apartment-chooser-data":g.value,"current-camera":o.value,disabled:p.value,onOnCameraChange:B},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Io,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(ho,{key:0,"camera-data":o.value,"current-day":r.value,disabled:p.value,onOnDayChange:U},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ao,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(vo,{key:0,"day-data":r.value,"current-time":s.value,disabled:p.value,onOnTimeChange:C},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Fo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(ko,{key:0,ref_key:"rotator",ref:v,"apartment-chooser-data":g.value,"current-scene":m.value,"selected-id":I.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:w,onOnSceneChange:$,onOnRotateStart:E[0]||(E[0]=R=>p.value=!0),onOnRotateFinish:E[1]||(E[1]=R=>p.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",To,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ve,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,R=>(e.openBlock(),e.createBlock(co,{key:R.overlayFilename,"camera-data":R,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,R=>(e.openBlock(),e.createBlock(uo,{"transition-data":R,"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,Lo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(wo,{"cdn-file-resolver":I.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:w,onOnHoverOver:F,onOnHoverOut:T,onUpdateSvgContainer:E[2]||(E[2]=R=>k.value=R)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),I.$slots.popup&&f.value&&u.value?(e.openBlock(),e.createBlock(Ce,{key:0,"is-hoverable":d.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",Mo,[e.renderSlot(I.$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(fe,{ref_key:"hoverProbe",ref:h},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),Oo={class:"sunsim-bar-wrapper"},Ro={class:"sunsim-date d-flex align-center pl-5 pr-5"},Uo={key:1,class:"text-center text-body-1"},Ho={class:"sunsim-wrapper d-flex align-center px-3"},zo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},nt=H(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 s(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const c=Math.floor(o.value/2).toString().padStart(2,"0"),p=o.value%2===0?"00":"30";return`${c}:${p}`}),m=e.computed(()=>t.dateSelector.dates.map(s)),u=e.computed({get(){return s(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(m.value.indexOf(c))}});return e.watch(o,c=>{a("update:modelValue",c)}),e.watch(r,c=>{t.dateSelector.selectIndex(m.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{o.value=Math.floor(c)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(c,p)=>{const v=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),d=e.resolveComponent("v-progress-linear"),f=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Oo,[e.createElementVNode("div",Ro,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=k=>r.value=k),items:m.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Uo,e.toDisplayString(u.value),1))]),e.createElementVNode("div",Ho,[e.createElementVNode("span",zo,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}),c.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]=k=>o.value=k),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"]]),Yo={key:0},Po=["src"],at=H(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 He(0)),s=e.ref();e.watch(()=>t.imageUrls,u=>{a("reset"),m(u)}),e.onMounted(()=>{m(t.imageUrls),new ResizeObserver(u=>{window.requestAnimationFrame(()=>{const c=u[0].contentRect.width,p=u[0].contentRect.height;a("resize",{width:c,height:p})})}).observe(s.value)});function i(){o.value="preloaded",a("preloaded")}function m(u){o.value="init",s.value.src=u[0],r.value=new He(u.length).onLoadFinished(()=>{o.value="loaded",a("ready")})}return(u,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,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",Yo,[(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:c[0]||(c[0]=h=>r.value.partLoaded())},null,42,Po))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),jo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Wo={class:"image-instances"},Go={key:0},Qo={class:"svg-container"},qo=["viewBox"],Zo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Jo=["innerHTML"],Xo=H(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(ce,t.i18nConfig?new ue(t.i18nConfig):new ue);const o=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),s=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),c=e.ref(new le),p=e.ref(),v=e.ref("0 0 0 0"),h=e.ref(),d=e.ref(),f=e.ref(Be.empty()),k=e.ref(Ee.empty()),y=e.ref(),g=e.computed(()=>y.value.isHoverEnabled);e.watch(i,(C,w)=>{C?a("hoverOverBuilding",C):a("hoverOutBuilding",w)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[C,w,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),T=parseInt(F);m.value=parseInt(w)*2+(T<15?0:T>45?2:1)}}),e.onMounted(async()=>{const w=await new tt(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(w){k.value=new Ee(w.mapImage),f.value=new Be(w.buildingIds),h.value=new Fe(w.backgrounds),d.value={buildingOverlays:w.buildingOverlays,viewLongitude:w.viewLongitude};const F=[];for(let{id:T,url:q}of w.buildingOverlays)c.value.loadJson(q.replace(".png",".svg")).then(I=>{const O=new DOMParser().parseFromString(I,"image/svg+xml").getElementsByTagName("svg")[0];v.value=O.getAttribute("viewBox"),F.push({id:T,svg:O.innerHTML})});p.value=F}else u.value=!0});function D({width:C,height:w}){r.value.width=C,r.value.height=w}function S(){o.value={preloaded:!1,ready:!1}}function A(C){const w=t.colorCallback(C,C===i.value?"hover":"idle"),F=[];return C===i.value?F.push("hover"):F.push("idle"),w&&t.canGoToBuildingCallback(C)?F.push("clickable"):F.push("restricted"),F.join(" ")}function _(C){const w=t.colorCallback(C,C===i.value?"hover":"idle");if(w){const{r:F,g:T,b:q,a:I,s:E}=w;return{strokeWidth:E!==void 0?E:2,stroke:`rgb(${F}, ${T}, ${q})`,strokeOpacity:1,fill:`rgb(${F}, ${T}, ${q})`,fillOpacity:I/255,cursor:`${t.canGoToBuildingCallback(C)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function B(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height},i.value=w,a("hoverOverBuilding",w))}function $(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",w))}function x(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height})}function U(C){i.value=C,g.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(C,w)=>{const F=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(F,{"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(ve,{desktop:C.interactiveDesktop,mobile:C.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Wo,[e.createVNode(at,{"image-urls":h.value.imageUrls,"active-index":m.value,onResize:D,onPreloaded:w[0]||(w[0]=T=>o.value.preloaded=!0),onReady:w[1]||(w[1]=T=>o.value.ready=!0),onReset:S},null,8,["image-urls","active-index"]),p.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Go,[e.createElementVNode("div",Qo,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({id:T,svg:q},I)=>(e.openBlock(),e.createElementBlock("g",{key:I,innerHTML:q,"data-building-id":T,class:e.normalizeClass(A(T)),style:e.normalizeStyle(_(T)),onMouseover:E=>B(E,T),onMouseout:E=>$(E,T),onMousemove:E=>x(E),onClick:E=>U(T)},null,46,Zo))),128))],8,qo))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:C.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(ke,{key:0,class:"north-indicator",longitude:d.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(nt,{modelValue:m.value,"onUpdate:modelValue":w[2]||(w[2]=T=>m.value=T),"date-selector":h.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),C.showCards&&i.value?(e.openBlock(),e.createBlock(Ce,{key:0,"is-hoverable":g.value,pos:s.value,onOutside:w[3]||(w[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default",{building:i.value,canGoToBuilding:C.canGoToBuildingCallback(i.value),goToBuilding:()=>C.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value),pos:s.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:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),Ko=H(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:c});const a=e.ref(!1),o=e.ref(),r=e.ref(new le),s=e.ref(),i=e.ref(),m=e.ref([]),u=e.ref();e.watch(()=>t.color,(h,d)=>{(h.r!==d.r||h.g!==d.g||h.b!==d.b||h.a!==d.a)&&p()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),c()});function c(){if(!o.value||!u.value)return;const{width:h,height:d}=t.dimensions;if(!(h===0||d===0)){s.value=u.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(o.value,0,0,h,d),i.value=s.value.getImageData(0,0,h,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(){s.value&&i.value&&(v(),s.value.putImageData(i.value,0,0))}function v(){if(t.color)for(let h=0;h<m.value.length;h++)i.value.data[m.value[h]-3]=t.color.r,i.value.data[m.value[h]-2]=t.color.g,i.value.data[m.value[h]-1]=t.color.b,i.value.data[m.value[h]]=t.color.a}return(h,d)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:u,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),en={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},tn={class:"image-instances"},on=["innerHTML"],nn=H(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(ce,t.i18nConfig?new ue(t.i18nConfig):new ue);const o=e.ref(),r=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),m=e.ref(),u=e.ref(Be.empty()),c=e.ref(Ee.empty()),p=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((C,w)=>({x:C,y:w})),d=e.ref(!1),f=e.ref(),k=e.ref(),y=e.ref(),g=e.computed(()=>{var C;return(C=f.value)==null?void 0:C.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[C,w,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),T=parseInt(F);v.value=parseInt(w)*2+(T<15?0:T>45?2:1)}}),e.watch(p,(C,w)=>{C?a("hoverOverBuilding",C):a("hoverOutBuilding",w)}),e.onMounted(async()=>{const w=await new tt(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);w?(c.value=new Ee(w.mapImage),u.value=new Be(w.buildingIds),o.value=new Fe(w.backgrounds),m.value={buildingOverlays:w.buildingOverlays,viewLongitude:w.viewLongitude},_()):d.value=!0});function D({width:C,height:w}){s.value.width=C,s.value.height=w,e.nextTick(_)}function S(){r.value={preloaded:!1,ready:!1}}function A(C){const{layerX:w,layerY:F}=C,{x:T,y:q}=h.value(w,F);return u.value.getBuildingId(c.value,T,q)}function _(){if(k.value&&(c.value.update(k.value),y.value))for(const C of y.value)C.setupDraw()}function B(C){const{layerX:w,layerY:F}=C;g.value&&(p.value=A(C),p.value!==void 0&&(i.value={x:w,y:F,width:s.value.width,height:s.value.height}))}function $(C){p.value=A(C),g.value&&p.value&&a("goToBuilding",p.value)}function x(C){return t.colorCallback(C,C===p.value?"hover":"idle")}function U({resolve:C}){h.value=C}return(C,w)=>{const F=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(F,{"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: ${s.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ve,{desktop:C.interactiveDesktop,mobile:C.interactiveMobile,onUpdate:U},{default:e.withCtx(()=>[e.createElementVNode("div",tn,[e.createVNode(at,{"image-urls":o.value.imageUrls,"active-index":v.value,onResize:D,onPreloaded:w[0]||(w[0]=T=>r.value.preloaded=!0),onReady:w[1]||(w[1]=T=>r.value.ready=!0),onReset:S},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,T=>(e.openBlock(),e.createBlock(Ko,{ref_for:!0,ref_key:"overlays",ref:y,key:T.id,"image-url":T.url,dimensions:s.value,color:x(T.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:k,class:{hover:!!p.value},onClick:$,onMousemove:B}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:C.customOverlayContent},null,8,on),[[e.vShow,r.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(nt,{modelValue:v.value,"onUpdate:modelValue":w[2]||(w[2]=T=>v.value=T),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),C.showCards&&p.value?(e.openBlock(),e.createBlock(Ce,{key:0,"is-hoverable":g.value,pos:i.value,onOutside:w[3]||(w[3]=()=>p.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default",{building:p.value,canGoToBuilding:C.canGoToBuildingCallback(p.value),goToBuilding:()=>C.canGoToBuildingCallback(p.value)&&a("goToBuilding",p.value),pos:i.value,isHoverable:g.value,close:()=>p.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(fe,{ref_key:"hoverProbe",ref:f},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),rt=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?Xo:nn);return(r,s)=>(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:s[0]||(s[0]=i=>a("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>a("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[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"]))}}),an=["src"],rn=H(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>ee(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,an)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),ln=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(rn,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),sn=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(ln,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),cn=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,s)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[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"])}}}),dn=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(s=>s.dayOfYear===o.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,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]=c=>o.value=c),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items"])}}}),mn={key:0,class:"py-2"},un={class:"small"},pn={class:"small"},fn=H(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 s(m){const u=m*60,c=Math.floor(u/60),p=u%60;return`${c.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(c=>c.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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",mn,[e.createVNode(c,{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(s(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",un,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",pn,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{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(s(o.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),hn=["innerHTML"],gn=H(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(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const c in i){const{element:p,state:v}=i[c],{r:h,g:d,b:f,a:k,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${h}, ${d}, ${f}, ${k/255})`,p.style.stroke=`rgb(${h}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const c in i)i[c].state==="selected"&&c!==s.value?i[c].state="idle":i[c].state!=="selected"&&c===s.value&&(i[c].state="selected")}),e.watchEffect(async()=>{o.value=await le.loadText(ee(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 c=(p=r.value)==null?void 0:p.firstChild;if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",r.value.offsetWidth.toString()),c.setAttribute("height",r.value.offsetHeight.toString())})}function u(){e.nextTick(()=>{var p;const c=(p=r.value)==null?void 0:p.firstChild;c&&(a("updateSvgContainer",c),m(),c.querySelectorAll("[data-building-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=h.getAttribute("data-building-id");i[d]={element:h,state:s.value===d?"selected":"idle"},h.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),h.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),h.addEventListener("click",()=>{a("onClick",d)})}))})}return(c,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:o.value},null,8,hn))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function lt(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 yn={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},Cn={key:0,class:"pa-1"},vn={class:"pa-1"},kn={class:"pa-1 flex-grow-1"},_n={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},wn=["innerHTML"],bn={style:{"z-index":"7"}},Vn=H(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(),s=e.ref(),i=e.ref(),m=e.ref(!1),u=e.ref(),c=e.computed(()=>u.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),v=e.ref(),h=e.ref(),d=e.ref(t.buildingChooserData),f=e.ref(!1);e.onMounted(()=>m.value=!0),e.watch(m,B=>{B&&a("onInitialize")}),e.watch(()=>h.value,()=>{h.value&&new ResizeObserver(([$])=>{f.value=$.contentRect.width<t.mobileBreakpoint}).observe(h.value)});const k=async()=>{try{let B;if(!t.cdnFileResolver)return B;let $;return $=await le.loadJson(ee(t.cdnFileResolver,"/buildingChooser.json")),parseInt($.version)===5?$:(B=lt($),B)}catch(B){m.value=!1,a("onError",B)}};e.watch([d,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(d.value||(d.value=await k()),t.defaultCamera?o.value=d.value.cameras.find(B=>B.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(B=>B.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?s.value=r.value.timeSamples.find(B=>B.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(B=>B.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(B){const $=r.value;o.value=B,e.nextTick(()=>{g(o.value.sunsimDayOfYear.find(x=>x.dayOfYear===$.dayOfYear)||o.value.sunsimDayOfYear[0])})}function g(B){const $=s.value;r.value=B,e.nextTick(()=>{D(r.value.timeSamples.find(x=>x.timeInHours===$.timeInHours)||r.value.timeSamples.find(x=>x.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function D(B){s.value=B}function S(B){a("onHoverOver",B),i.value=B}function A(B){a("onHoverOut",B),i.value=void 0}function _(B){const{layerX:$,layerY:x}=B;let U=B.target,C=!1;for(;U;)if(U===v.value){C=!0;break}else U=U.parentElement;if(C){const w=B.currentTarget;p.value={x:$,y:x,width:w.clientWidth,height:w.clientHeight}}else p.value=void 0;a("onMouseMove",B,p.value)}return(B,$)=>{const x=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(x,{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:h,class:e.normalizeClass({mobile:f.value}),onMousemove:_},[e.createElementVNode("div",yn,[d.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",Cn,[e.createVNode(cn,{"building-chooser-data":d.value,"current-camera":o.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",vn,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(dn,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",kn,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(fn,{key:0,"day-data":r.value,"current-time":s.value,onOnTimeChange:D},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",_n,[o.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ve,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.cameras,U=>(e.openBlock(),e.createBlock(sn,{key:U.overlayFilename,"camera-data":U,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.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,wn)):e.createCommentVNode("",!0),e.createVNode(gn,{"cdn-file-resolver":B.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:$[0]||($[0]=U=>a("onClick",U)),onOnHoverOver:S,onOnHoverOut:A,onUpdateSvgContainer:$[1]||($[1]=U=>v.value=U)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),B.$slots.popup&&p.value&&i.value?(e.openBlock(),e.createBlock(Ce,{key:0,"is-hoverable":c.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",bn,[e.renderSlot(B.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:c.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(fe,{ref_key:"hoverProbe",ref:u},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var Se={};Object.defineProperty(Se,"__esModule",{value:!0});var Bn=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},En=typeof window<"u"&&typeof window.document<"u",Sn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,xn=(typeof self>"u"?"undefined":Bn(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Nn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Dn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",In=Se.isBrowser=En;Se.isWebWorker=xn,Se.isNode=Sn,Se.isJsDom=Nn,Se.isDeno=Dn;const An={id:"player-wrapper"},Fn={id:"player-sizer"},Tn={class:"player-control",id:"controls-top-left"},Ln={class:"player-control",id:"controls-top-center"},Mn={class:"player-control",id:"controls-top-right"},$n={class:"player-control",id:"controls-center-left"},On={class:"player-control",id:"controls-center-center"},Rn={class:"player-control",id:"controls-center-right"},Un={class:"player-control",id:"controls-bottom-left"},Hn={class:"player-control",id:"controls-bottom-center"},zn={class:"player-control",id:"controls-bottom-right"},Yn={id:"main-canvas"},Pn=H(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=Dt.PlayerV2,a=l,{cdnFileResolver:o,interiorId:r,apartmentId:s,currentCameraId:i,showStaticImage:m,mouseSensitivity:u}=e.toRefs(a),c=n,p=e.ref(),v=e.ref(i.value),h=e.ref(0),d=e.ref(0);e.watch(i,()=>{v.value=i.value}),e.watch([r,s],async()=>{p.value&&await p.value.loadInterior(y=>ee(o.value,`/${r.value}/${s.value}${y}`),v.value,!1)}),e.watch(v,()=>{p.value&&p.value.goToCamera(v.value,!0),c("newCameraCallback",v.value)},{immediate:!0}),e.watch([o],async()=>{await k(),e.nextTick(async()=>{await f()})},{immediate:!0,deep:!0}),e.watch(p,()=>{if(p.value){c("playerApiCallback",p.value);const y=p.value.getCurrentCamera();y&&(v.value=y.id,c("sunsimCallback",y.sunsimDayOfYear))}});async function f(){k();const S={initialized:()=>{p.value=t.Main.getPlayerAPI();const _=p.value.getCurrentCamera();_&&(v.value=_.id)},newCamera:_=>{c("newFloorCallback",_.floorLevel),c("sunsimCallback",_.sunsimDayOfYear),p.value&&p.value.resetMarkerBehaviour(0),v.value=_.id},newFOV:_=>{c("newFovCallback",_),d.value=_},newRotation:_=>{const B=_+0;c("newRotationCallback",B),h.value=B}};if(!In)return;const A=await new t.Main(_=>ee(o.value,`/${r.value}/${s.value}${_}`),"qpc",S,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 k(){p.value&&(await p.value.destroy(),p.value=void 0)}return e.onBeforeUnmount(()=>{k()}),(y,g)=>(e.openBlock(),e.createElementBlock("div",An,[e.createElementVNode("div",Fn,[e.renderSlot(y.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Tn,[e.renderSlot(y.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",Ln,[e.renderSlot(y.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Mn,[e.renderSlot(y.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",$n,[e.renderSlot(y.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",On,[e.renderSlot(y.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Rn,[e.renderSlot(y.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Un,[e.renderSlot(y.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Hn,[e.renderSlot(y.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",zn,[e.renderSlot(y.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Yn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(e.unref(m)?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-4e601038"]]),jn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Wn=["stroke"],Gn=["stroke"],Qn={class:"floor-level-label"},qn=H(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(ce),r=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),m=e.computed(()=>s.value==="upper");function u(){const c=t.level+1;c>=r.value.length?a("level",r.value[0]):a("level",r.value[c])}return(c,p)=>{const v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{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",jn,[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,Wn),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,Gn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",Qn,e.toDisplayString(e.unref(o).getLabel(s.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),Zn={class:"d-none d-md-inline"},Jn={class:"interior-selector-list"},Xn=["onClick"],Kn={class:"d-flex align-center justify-left pa-0 ma-0"},ea={class:"pa-0 ma-0"},ta={class:"text-caption ma-2 no-wrap"},oa=H(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(ce);return(r,s)=>{const i=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),u=e.resolveComponent("v-img"),c=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:p})=>[e.createVNode(m,e.mergeProps({rounded:""},p,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",Zn,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("div",Jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(p,v)=>(e.openBlock(),e.createElementBlock("div",{key:`at-menuitem-${v}`,onClick:h=>a("selectInterior",p.archetypeID),class:e.normalizeClass(["interior-selector-list-item",{active:v===r.selectedIndex}])},[e.createElementVNode("div",Kn,[e.createElementVNode("div",ea,[e.createVNode(u,{width:"100","max-width":"100",height:"66",src:p.url,class:"pa-0 ma-0"},null,8,["src"])]),e.createElementVNode("div",ta,e.toDisplayString(e.unref(o).get(p.title)),1)])],10,Xn))),128))])]),_:1})])}}}),[["__scopeId","data-v-be1645c7"]]),na="data:image/png;base64,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",aa="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==",ra=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(l){const n=l,t=e.ref(aa),a=e.ref({backgroundImage:`url(${na})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-n.rotation+180}deg)`}));return(r,s)=>{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)}}}),la="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",ia={class:"d-flex flex-column align-center justify-center clock-face"},sa={class:"clock-icon"},ca={class:"clock-value grey--text text--darken-3"},da=H(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 s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",ia,[e.createElementVNode("div",sa,[e.createVNode(s,{src:e.unref(la),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",ca,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),We=l=>(e.pushScopeId("data-v-f59c4942"),l=l(),e.popScopeId(),l),ma={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ua=[We(()=>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)),We(()=>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)),We(()=>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))],pa=H(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(ce),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const m=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),c=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(c,{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",ma,ua)):(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"]]),_e=l=>(e.pushScopeId("data-v-a5e7f474"),l=l(),e.popScopeId(),l),fa={key:0,class:"desktop-content"},ha={class:"d-flex align-center justify-center"},ga={class:"box col d-flex flex-column align-bottom justify-center"},ya=_e(()=>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)),Ca={class:"text-div text-center text mt-2"},va={class:"box col d-flex flex-column align-bottom justify-center"},ka=_e(()=>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)),_a={class:"text-div text-center text mt-2"},wa={class:"box col d-flex flex-column align-bottom justify-center"},ba=_e(()=>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)),Va={class:"text-div text-center text mt-2"},Ba={class:"box col d-flex flex-column align-bottom justify-center"},Ea=_e(()=>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)),Sa={class:"text-div text-center text mt-2"},xa={key:1,class:"d-flex tablet-mobile-content"},Na={class:"box col my-1"},Da=_e(()=>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)),Ia={class:"text text-col text-center"},Aa={class:"box col my-1"},Fa=_e(()=>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)),Ta={class:"text text-col text-center"},La={class:"box col my-1"},Ma=_e(()=>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)),$a={class:"text text-col text-center"},Oa={class:"text-h6 text-capitalize"},Ra={class:"mt-2"},Ua={class:"d-flex justify-center align-center checkbox-container"},Ha={class:"text-caption"},za=H(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(l,{emit:n}){const t=n,a=e.inject(ce),o=e.ref(!1),r=e.ref(!1),s=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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-card-title"),v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-divider"),d=e.resolveComponent("v-card-text"),f=e.resolveComponent("v-card-actions"),k=e.resolveComponent("v-card"),y=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(k,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(p,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,{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]=D=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("learnMore"))+" ",1),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(h,{class:"my-3"}),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",fa,[e.createElementVNode("div",ha,[e.createElementVNode("div",ga,[ya,e.createElementVNode("div",Ca,e.toDisplayString(e.unref(a).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",va,[ka,e.createElementVNode("div",_a,e.toDisplayString(e.unref(a).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",wa,[ba,e.createElementVNode("div",Va,e.toDisplayString(e.unref(a).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",Ba,[Ea,e.createElementVNode("div",Sa,e.toDisplayString(e.unref(a).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),s.value?(e.openBlock(),e.createElementBlock("div",xa,[e.createElementVNode("div",Na,[Da,e.createElementVNode("div",Ia,e.toDisplayString(e.unref(a).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",Aa,[Fa,e.createElementVNode("div",Ta,e.toDisplayString(e.unref(a).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",La,[Ma,e.createElementVNode("div",$a,e.toDisplayString(e.unref(a).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(h,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(k,{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",Oa,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).getLabel("disclaimer")),1)]),e.createElementVNode("p",Ra,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]=D=>r.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,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",Ua,[e.createVNode(g,{density:"compact",modelValue:o.value,"onUpdate:modelValue":u[2]||(u[2]=D=>o.value=D),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ha,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]=D=>i()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Ya=l=>(e.pushScopeId("data-v-bd4f66c3"),l=l(),e.popScopeId(),l),Pa={class:"player-settings-ui"},ja={id:"settings-ui-form"},Wa={class:"form-inputs"},Ga={class:"setting-label"},Qa={class:"setting-label"},qa=["max","min","step"],Za={class:"setting-label"},Ja={class:"flex-grow-1 flex-shrink-0"},Xa=["onUpdate:modelValue"],Ka={key:3,"d-block":"",class:"mt-3"},er={class:"d-flex justify-space-between"},tr={class:"setting-label"},or={class:"mt-5 d-block",style:{width:"300px"}},nr=Ya(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),ar={class:"d-block",style:{width:"300px"}},rr={class:"form-buttons"},lr=H(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(h(t.initialSettings));e.watch(o,()=>{s()},{deep:!0});const r=e.computed(()=>{let d={};for(const[f,k]of Object.entries(o.value))f==="whitePoint"?d[f]=c(k.value):d[f]=k.value;return d});function s(){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=h(),a("updateSettings",r.value)}function c(d){const f=parseInt(d.substr(1,2),16)/255,k=parseInt(d.substr(3,2),16)/255,y=parseInt(d.substr(5,2),16)/255;return[f,k,y]}function p(d){var f=d.toString(16);return f.length==1?"0"+f:f}function v([d,f,k]){return"#"+p(parseInt((d*255).toString()))+p(parseInt((f*255).toString()))+p(parseInt((k*255).toString()))}function h(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 k={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:k.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:k.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:k.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:k.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:k.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:k.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:k.temperature},whitePoint:{label:"White Point",type:"color",value:v(k.whitePoint)},lut:{label:"Lut",type:"lut",items:f.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:k.lut}}}return(d,f)=>{const k=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),D=e.resolveComponent("v-btn"),S=e.resolveComponent("v-select"),A=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("form",ja,[e.createElementVNode("div",Wa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(_,B,$)=>(e.openBlock(),e.createElementBlock("div",{key:$,"d-block":""},[_.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,onChange:s,max:_.max,min:_.min,step:_.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ga,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,"hide-details":"",dense:"",outlined:"",type:"number",max:_.max,min:_.min,step:_.step,style:{width:"90px"},onChange:s},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:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",Qa,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",Za,e.toDisplayString(_.label),1),e.createElementVNode("div",Ja,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":x=>o.value[B].value=x,type:"color",onChange:s},null,40,Xa),[[e.vModelText,o.value[B].value]])]),e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,qa)):e.createCommentVNode("",!0),_.type==="lut"?(e.openBlock(),e.createElementBlock("div",Ka,[e.createElementVNode("div",er,[e.createElementVNode("div",tr,e.toDisplayString(_.label),1),e.createElementVNode("div",null,[e.createVNode(D,{class:"ml-2","x-small":"",onClick:x=>o.value[B].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",or,[e.createElementVNode("div",null,[e.createVNode(S,{modelValue:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,items:_.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[nr,e.createElementVNode("div",ar,[e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[B].value,"onUpdate:modelValue":x=>o.value[B].value=x,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",rr,[e.createVNode(D,{onClick:f[0]||(f[0]=_=>u())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(D,{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(D,{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"]]),ir={class:"top-left"},sr={class:"top-right"},cr={class:"header-slot anchor elevation-5"},dr={id:"moveableBody",class:"body-slot moveable-body anchor d-flex justify-center align-center position-relative"},mr={class:"moveable-footer elevation-5"},ur=H(e.defineComponent({__name:"VMoveable",props:{size:{}},setup(l,{expose:n}){const t=e.ref(void 0),a=e.ref(void 0);n({bodyWidth:t,bodyHeight:a}),e.onMounted(()=>{r(document.getElementById("moveableDiv")),o(document.querySelector("#moveableDiv"))});const o=s=>{new ResizeObserver(()=>{const m=document.getElementById("moveableBody");m&&(t.value=m.clientWidth,a.value=m.clientHeight)}).observe(s)},r=s=>{const i=document.getElementsByClassName("anchor");for(let f=0;f<i.length;f++){const k=i[f];k.addEventListener("touchstart",v,{passive:!1}),k.addEventListener("touchend",d,{passive:!1}),k.addEventListener("mousedown",v,{passive:!1}),k.addEventListener("mouseup",d,{passive:!1})}let m=0,u=0,c=0,p=0;function v(f){f=f||window.event,f.preventDefault();let k=f;f.type==="touchstart"&&(k=f.touches[0]),c=k.clientX,p=k.clientY,document.addEventListener("mouseup",d,{passive:!1}),document.addEventListener("touchend",d,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(f){f=f||window.event,f.preventDefault();let k=f;f.type==="touchmove"&&(k=f.touches[0]),m=c-k.clientX,u=p-k.clientY,c=k.clientX,p=k.clientY,s.style.top=s.offsetTop-u+"px",s.style.left=s.offsetLeft-m+"px"}function d(){document.removeEventListener("mouseup",d,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",d,!1),document.removeEventListener("touchmove",h,!1)}};return(s,i)=>(e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass([s.size,"sizer rounded"])},[e.createElementVNode("div",ir,[e.renderSlot(s.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",sr,[e.renderSlot(s.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",cr,[e.renderSlot(s.$slots,"header",{},void 0,!0)]),e.createElementVNode("div",dr,[e.renderSlot(s.$slots,"body",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2))}}),[["__scopeId","data-v-1a87ee81"]]),pr={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},fr=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),hr=["transform"],gr=[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)],yr=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(l){return(n,t)=>(e.openBlock(),e.createElementBlock("svg",pr,[fr,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+n.rotation})`},gr,8,hr)]))}}),Cr={class:"minimap-wrapper"},vr={class:"minimap-container"},kr=H(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{},containerWidth:{},containerHeight:{}},setup(l){const n=l,t=e.ref(512),a=e.ref(384),o=e.ref(512),r=e.ref(384),s=e.ref(new ye.Vector3),i=e.ref(new ye.Object3D),m=e.ref({}),u=e.ref(1),c=e.ref(),p=t.value/t.value,v=e.computed(()=>{const C=n.containerWidth/n.containerHeight;let w;return C>p?w=n.containerHeight/a.value:w=n.containerWidth/t.value,w}),h=e.computed(()=>n.allCameras),d=e.computed(()=>n.allCameras.find(C=>C.id===n.currentCamera)),f=e.computed(()=>n.rotation),k=e.computed(()=>new ye.Vector3(n.storey.position.x,n.storey.position.y,n.storey.position.z)),y=e.computed(()=>parseFloat(d.value.floor_vertical_position)),g=e.computed(()=>h.value.map(C=>{const w=C.uposition.split(","),F=new ye.Vector3(Number(w[0])-k.value.x,0,Number(w[2])-k.value.z);return{...C,...$(s.value,F)}})),D=e.computed(()=>({backgroundImage:`url(${n.backgroundImage})`})),S=e.computed(()=>({transform:`scale(${v.value*.9}) rotate(${n.transformAngle}deg)`}));e.onMounted(()=>{x(),_(),U();const C=document.getElementById("moveableDiv");C&&(c.value=new ResizeObserver(U).observe(C))}),e.onBeforeUpdate(()=>{x(),_()}),e.onBeforeUnmount(()=>{c.value&&c.value.unobserve(document.getElementById("moveableDiv"))});function A(C){return ye.MathUtils.degToRad(C)}function _(){i.value.rotation.x=180,i.value.rotation.y=n.storey.rotation.y*-1,m.value={transform:`rotateZ(${i.value.rotation.y}deg) rotateX(${i.value.rotation.x}deg)`}}function B(C){return{top:`${Math.abs(C.top)}%`,left:`${Math.abs(C.left)}%`}}function $(C,w){var F=new ye.Vector3;const T=F.subVectors(C,w);return{relativePosition:T,left:T.x/o.value*100,top:T.z/r.value*100}}function x(){const C=n.storey.position.y-y.value;r.value=2*(C*Math.tan(A(n.storey.fovY/2))),o.value=512/384*r.value;const w=r.value/2,F=o.value/2,T=new ye.Vector3(F*-1,0,w*-1);s.value=T}function U(){const C=document.getElementById("moveableDiv");if(!C)return;const w=C.offsetHeight/384*.8,F=C.offsetWidth/512*.8;C.offsetHeight>C.offsetWidth?u.value=F*.5:u.value=w*.9}return(C,w)=>(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",vr,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(S.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(D.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(m.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,F=>(e.openBlock(),e.createElementBlock("div",{key:F.id},[d.value.floorLevel===F.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(B(F))},null,4)):e.createCommentVNode("",!0),d.value.id===F.id&&n.rotation!==null?(e.openBlock(),e.createBlock(yr,{key:1,class:"rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...B(F)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-bbc633f6"]]),_r=H(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 elevation-5",style:e.normalizeStyle({scale:a.scale})},[e.createVNode(ke,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-d047dca8"]]),wr={class:"ss-wrapper"},br={class:"slider"},Vr={class:"minimap-sun-slider"},Br={class:"d-flex flex-column align-center justify-center"},Er={key:0,class:"time-label"},Sr=H(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),s=e.ref(!0),i=e.ref(""),m=e.ref(new Map),u=e.computed(()=>t.minimapJson.storeys[t.level]),c=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]),a("setBackgroundImage",i.value),s.value=!1;const y=await h(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,g){return m.value.get(`sunsim${y}_${g}`)?m.value.get(`sunsim${y}_${g}`):""}async function h(y){let g=new Map;for(let D=0;D<y.length;D++){const S=y[D].sunsimFiles;for(let A=0;A<S.length;A++){const _=S[A];try{const B=_,$=_.split("."),x=await d(B);g.set($[0],x)}catch{continue}}}return g}async function d(y){const D=await(await fetch(ee(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),S=await k(D);return f(S)}function f(y){return"data:image/jpeg;base64,"+y}async function k(y){return new Promise((g,D)=>{const S=new FileReader;S.onload=()=>{const A=S.result.split(",")[1];g(A)},S.onerror=D,S.readAsDataURL(y)})}return(y,g)=>{const D=e.resolveComponent("v-progress-linear"),S=e.resolveComponent("v-icon"),A=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",br,[e.createElementVNode("div",Vr,[r.value?(e.openBlock(),e.createBlock(D,{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":g[0]||(g[0]=_=>o.value=_),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0,"thumb-label":"always"},{prepend:e.withCtx(()=>[e.createElementVNode("div",Br,[e.createVNode(S,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),e.createElementVNode("span",null,e.toDisplayString(p.value),1)])]),"thumb-label":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Er))])])}}}),[["__scopeId","data-v-52f122f2"]]),xr=l=>(e.pushScopeId("data-v-79a93ab0"),l=l(),e.popScopeId(),l),Nr={class:"left"},Dr={class:"right"},Ir=xr(()=>e.createElementVNode("div",{class:"d-flex justify-space-between pa-1"},[e.createElementVNode("div",{class:"center"}," ")],-1)),it=H(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(l,{emit:n}){const t=e.ref(null),a=l,o=n,r=e.ref(),s=e.ref(0),i=e.computed(()=>a.minimapJson.storeys[a.level]);e.watch(i,()=>{r.value=i.value.defaultSunsimFile?`/${a.apartmentJson.type}/${a.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${a.apartmentJson.type}/${a.apartmentJson.id}/minimap/${i.value.defaultSunsimFile}`},{immediate:!0,once:!0});const m=e.computed(()=>{let f=1;return s.value!==0&&(Math.abs(s.value)%180===0?f=1:f=-1),v.value==="small"&&(f=.6),f});function u(f){r.value=f}const c=["big","bigger","small"];function p(){const k=(c.indexOf(v.value)+1)%c.length;v.value=c[k]}const v=e.ref("big");function h(){s.value=s.value+90}const d=()=>{o("close")};return(f,k)=>{const y=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(ur,{ref_key:"minimapMoveable",ref:t,size:v.value},{"top-left":e.withCtx(()=>[e.createElementVNode("div",Nr,[e.createVNode(y,{icon:"mdi-window-close",size:"x-small",onClick:d})])]),"top-right":e.withCtx(()=>[e.createElementVNode("div",Dr,[e.createVNode(y,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:e.withModifiers(h,["stop"]),title:"Rotate"}),e.createVNode(y,{class:"resize-icon ml-1",icon:"mdi-image-size-select-small",size:"x-small",onClick:p,title:"Resize"})])]),header:e.withCtx(()=>[Ir]),body:e.withCtx(()=>[e.createVNode(_r,{scale:m.value,rotation:i.value.rotation.y,"transform-angle":s.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(kr,{"transform-angle":s.value,"all-cameras":f.apartmentJson.cameras,"background-image":r.value,rotation:f.rotation,"current-camera":f.currentCamera,storey:i.value,containerWidth:t.value&&t.value.bodyWidth||512,containerHeight:t.value&&t.value.bodyHeight||384},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey","containerWidth","containerHeight"])])]),footer:e.withCtx(()=>[e.createVNode(Sr,{"cdn-file-resolver":a.cdnFileResolver,"minimap-json":a.minimapJson,"apartment-json":a.apartmentJson,level:a.level,onSetBackgroundImage:u},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1},8,["size"])}}}),[["__scopeId","data-v-79a93ab0"]]);function Te(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 Ar={class:"d-flex align-center"},Fr={class:"d-block mr-1"},Tr={class:"small"},Lr={class:"small"},st=H(e.defineComponent({__name:"VSunsimSlider",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange","toggleSunStudy"],setup(l,{emit:n}){const t=l,{currentDay:a,currentTime:o,disabled:r}=e.toRefs(t),s=n,i=e.ref(o.value.timeInHours);return e.watch(o,()=>{i.value=o.value.timeInHours}),e.watch(i,()=>{s("onTimeChange",a.value.timeSamples.find(m=>m.timeInHours===i.value))},{immediate:!0}),(m,u)=>{const c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-slider"),v=e.resolveComponent("v-field"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ar,[e.createElementVNode("div",Fr,[e.createVNode(v,{class:"ss-slider-field",style:{},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]=d=>i.value=d),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(c,{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",Tr,e.toDisplayString(e.unref(Te)(i.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(c,{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",Lr,e.toDisplayString(e.unref(Te)(i.value)),1)],64))]),_:1})]),e.createElementVNode("div",null,[e.createVNode(h,{size:"small",class:"sun-study-toggle text-capitalize rounded-xl",icon:"mdi-close",onClick:u[1]||(u[1]=d=>s("toggleSunStudy"))})])])}}}),[["__scopeId","data-v-c06c753d"]]),Mr=e.defineComponent({__name:"VSunStudyToggle",props:{displaySunsim:{type:Boolean},showUI:{type:Boolean}},emits:["toggleSunStudy"],setup(l,{emit:n}){const t=n,a=e.inject(ce);return(o,r)=>{const s=e.resolveComponent("v-btn");return!o.displaySunsim&&o.showUI?(e.openBlock(),e.createBlock(s,{key:0,size:"small",varient:"tonal",prependIcon:"mdi-white-balance-sunny",class:"sun-study-toggle text-capitalize rounded-xl",onClick:r[0]||(r[0]=i=>t("toggleSunStudy"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("openSunStudy")),1)]),_:1})):e.createCommentVNode("",!0)}}}),ct=H(e.defineComponent({__name:"VAutoplay",props:{autoplayStatus:{type:Boolean}},emits:["toggleAutoPlay"],setup(l,{emit:n}){const t=n,a=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));return(o,r)=>{const s=e.resolveComponent("v-icon"),i=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(i,{size:"x-small",class:e.normalizeClass(["autoplay-btn",{mobile:a.value,"mt-1":a.value,"mx-1":a.value}]),onClick:r[0]||(r[0]=m=>t("toggleAutoPlay"))},{default:e.withCtx(()=>[e.createVNode(s,{icon:o.autoplayStatus?"mdi-pause":"mdi-play",size:"x-large",class:"pa-0 ma-0"},null,8,["icon"])]),_:1},8,["class"])}}}),[["__scopeId","data-v-7fd2b4f3"]]),$r={key:0,class:"sun-icon-wrapper"},Or=37,Rr=39,Le=H(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{},cameraHasSunStudy:{type:Function,default:l=>!1}},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}}),s=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===Or:a("previous");break;case u.keyCode===Rr:a("next");break;default:return}}function m(u,c){c(),a("goto",u)}return(u,c)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-img"),h=e.resolveComponent("v-icon"),d=e.resolveComponent("v-card"),f=e.resolveComponent("v-slide-group-item"),k=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["d-flex align-center justify-center",{mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0}])},[e.renderSlot(u.$slots,"before",{},void 0,!0),e.createVNode(k,{modelValue:r.value,"onUpdate:modelValue":c[2]||(c[2]=y=>r.value=y),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":!s.value,"center-active":"",mandatory:""},{prev:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:c[0]||(c[0]=y=>a("previous"))},null,8,["class"]))]),next:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:c[1]||(c[1]=y=>a("next"))},null,8,["class"]))]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.thumbnails,y=>(e.openBlock(),e.createBlock(f,{key:y.id},{default:e.withCtx(({toggle:g,selectedClass:D})=>[e.createVNode(d,{class:e.normalizeClass(["position-relative",[s.value?"ma-0":"ma-1",D,"single-waypoint"]]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:S=>m(y.id,g)},{default:e.withCtx(()=>[e.createVNode(v,{cover:"","aspect-ratio":1,src:y.thumbnailUrl},null,8,["src"]),t.cameraHasSunStudy(y.id)?(e.openBlock(),e.createElementBlock("div",$r,[e.createVNode(h,{class:"sun-icon",icon:"mdi-white-balance-sunny"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class","show-arrows"]),e.renderSlot(u.$slots,"after",{},void 0,!0)],2)}}}),[["__scopeId","data-v-9cc758dc"]]),Ur={id:"share-btns-wrapper",class:"text-center"},dt=H(e.defineComponent({__name:"VSocialShare",setup(l){const n=e.inject(ce),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 s(){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 c=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-card-text"),k=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:g})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:u[0]||(u[0]=D=>t.value=!t.value)},g),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]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(d,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:u[1]||(u[1]=g=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(f,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Ur,[e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:s}),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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${a.value}`},g),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:g})=>[e.createVNode(c,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(n).getLabel("copyLink")),1)]),_:1}),e.createVNode(h)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Hr={class:"static-image-wrapper"},zr=H(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",Hr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Yr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},mt=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",Yr,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:a.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class ut{constructor(n,t){K(this,"_doc");K(this,"_elemId");K(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 Pr={key:0,class:"player-error"},jr={class:"player-and-components-wrapper"},Wr={key:3,class:"settings-panel"},Gr={key:0,class:"compass-wrapper"},Qr={key:1,class:"btn-placeholder mr-2"},qr={class:"btn-placeholder mr-2"},Zr={key:2,class:"btn-placeholder mr-2"},Jr={class:"d-flex flex-column align-end"},Xr={key:0,class:"d-flex align-center flex-column sun-study mt-2"},Kr={key:2,class:"render-version"},pt=H(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},enableAutoplay:{type:Boolean,default:!1}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onSunsimUpdate","onError"],setup(l,{expose:n,emit:t}){const a=l,{cdnFileResolver:o,apartmentId:r,defaultInteriorId:s,validInteriorIds:i,displayViewModeSwitch:m,i18nConfig:u,showCarousel:c,showTimeOfDay:p,showCompass:v,showFullScreen:h,showSnapshot:d,showShare:f,showInteriorOptions:k,showMiniMap:y,showFloorLevel:g,defaultWaypointIndex:D,defaultViewMode:S,mouseSensitivity:A,adminMode:_,playerSettings:B,hasMarkersJson:$,dynamicMarkers:x,version:U,showVersion:C}=e.toRefs(a),w=t;n({updateSelectedInterior:wt,takeSnapshot:Bt,setCurrentCamera:Oe});const F=e.ref(!1),T=e.ref(!1),q=e.ref(!1),I=e.ref(),E=e.ref(),O=e.ref(),R=e.ref(),j=e.ref(),Y=e.ref(0),P=e.ref(),te=e.ref(),G=e.ref(),se=e.ref(0),ie=e.ref(0),he=e.ref(0),oe=e.ref(!1),re=e.ref(!1),de=e.ref(),ne=e.ref(!1),L=e.ref(!1),V=e.ref(new ut(document,"player-wrapper")),M=e.ref(),X=e.computed(()=>{if(E.value){const b=E.value.cameras.map(z=>z.floorLevel);let N=[...new Set(b)];return N=N.sort(),N}else return[]}),Q=e.computed(()=>{let b=0;if(E.value){const N=E.value.cameras.map(De=>De.floorLevel);let z=[...new Set(N)];z=z.sort();const ae=z.findIndex(De=>De===ie.value);ae!==-1&&(b=ae)}return b}),Z=e.computed(()=>me.value.findIndex(b=>b.archetypeID===P.value)),J=e.computed(()=>O.value?O.value.cameras.map(b=>({...b,thumbnailUrl:Re(`/${P.value}/${r.value}/thumbs/200/${b.id}.jpg`),imageUrl:Re(`/${P.value}/${r.value}/images/1600/${b.id}.jpg`)})):[]),we=e.computed(()=>!J.value||!J.value[Y.value]?"":J.value[Y.value].imageUrl),me=e.computed(()=>{let b=[];return I.value&&(b=I.value.archetypes),i.value.length?b.filter(N=>i.value.includes(N.archetypeID)):b}),vt=e.computed(()=>O.value?me.value.map(b=>{var z;const N=(z=J.value[Y.value])==null?void 0:z.id;return{...b,url:Re(`/${b.archetypeID}/${r.value}/thumbs/200/${N}.jpg`)}}):[]),Me=e.computed(()=>{if(R.value&&R.value.storeys&&Q.value in R.value.storeys)return R.value.storeys[Q.value]}),Gl=e.computed(()=>E.value&&E.value.timeInHours),kt=e.computed(()=>{if(E.value&&E.value.timeInHours&&p.value)return hi(E.value.timeInHours)});e.provide(ce,u.value?new ue(u.value):new ue);const be=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),_t=e.computed(()=>be.value?"platform-mobile":"platform-desktop"),Ql=e.computed(()=>{const b=ee(o.value,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});e.watch(s,()=>{s.value&&(P.value=s.value)}),e.watch([o,r],async()=>{try{te.value=void 0,await Jl(),Kl(),await Xl(),V.value.setup(),ei()}catch(b){q.value=!0,w("onError",b)}},{immediate:!0}),e.watch(S,()=>{S.value==="virtualTour"&&(oe.value=!1),S.value==="slideShow"&&(oe.value=!0,L.value=!0)},{immediate:!0}),e.watch(ne,()=>{if(ne.value){L.value=!1;const b=Ne(G.value);de.value=b[0].timeSamples.find(N=>N.timeInHours===b[0].defaultHour)}else L.value=!0,j.value.unloadSunSim()}),e.onMounted(async()=>{try{Ql.value?(F.value=!1,L.value=!0):setTimeout(()=>{F.value=!0},1e3)}catch(b){q.value=!0,w("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",Qe)});function ql(b=!1){L.value=!0,F.value=!1,b&&Zl()}function Zl(){const b=ee(o.value,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")}async function Jl(){I.value=await ti()}async function Xl(){var b;if(E.value=await oi(P.value,r.value),E.value&&(te.value=(b=E.value.cameras[0])==null?void 0:b.id),O.value=await ni(P.value,r.value),O.value){const N=D.value!==null?D.value:0;Y.value=N,te.value=O.value.cameras[N].id,G.value=O.value.cameras[N].id}y.value&&(R.value=await ai(P.value,r.value))}function Kl(){let b=s.value;b||(b=I.value.defaultArchetypeID),i.value.length||!i.value.includes(b)?b=i.value[0]:console.warn("illegal interior id",b,i),b||(b=I.value.archetypes[0].archetypeID),P.value=b}function ei(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",N,{passive:!1});function N(z){z.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",Qe,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",Qe)},{passive:!1})}function Qe(b){b.preventDefault(),window.scrollBy(0,0)}async function ti(){try{return await Ue("/config.json")}catch(b){console.error("Error loading config.json - ",ee(o.value,"/config.json"),b);return}}async function oi(b,N){try{return await Ue(`/${b}/${N}/apartment.json`)}catch(z){console.error("Error loading apartment.json - ",`/${b}/${N}/apartment.json`,z);return}}async function ni(b,N){try{return await Ue(`/${b}/${N}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${N}/thumbs.json`);return}}async function ai(b,N){try{return await Ue(`/${b}/${N}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${N}/minimap/minimap.json`);return}}function $e(){let b=Y.value+1;b>=J.value.length&&(b=0),Y.value=b,Oe(J.value[Y.value].id)}function qe(){let b=Y.value-1;b<0&&(b=J.value.length-1),Y.value=b,Oe(J.value[Y.value].id)}function Ze(b,N=!0){let z=J.value.findIndex(ae=>ae.id===b);z!=-1&&(Y.value=z,N&&Oe(b))}function Oe(b){ne.value=!1,te.value=b}function wt(b){P.value=b,w("onInteriorUpdate",b),w("onCameraUpdate",G.value,E.value)}function ri(b){G.value=b,G.value&&(Ze(G.value,!1),w("onCameraUpdate",G.value,E.value))}const Ve=e.computed(()=>b=>{const N=Ne(b);return!N||!N[0]||!N[0].timeSamples?!1:N[0].timeSamples.length>1}),Ne=b=>{const N=E.value.cameras.find(z=>z.id===b);return N==null?void 0:N.sunsimDayOfYear};function li(b){w("onSunsimUpdate",b)}function bt(b){j.value.loadSunSim(b.timeInHours)}function ii(b){se.value=b}function Vt(b){ie.value=b}function si(b){he.value=b}function ci(b,N){}function di(b){j.value=b,j.value&&(B.value&&j.value.updateSettings(B.value),$.value?j.value.loadMarkersJson():x.value&&j.value.loadDynamicMarkers(x.value))}function mi(){V.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function ui(){oe.value=!oe.value}async function Bt(){const b=180/Math.PI,N=await j.value.takePhoto(),z=j.value.getRotationEuler(),ae=j.value.getCurrentCamera(),De=new xo(N,ae),gi=[z.x*-b,z.y*-b,z.z*b];return w("onSnapshot",De,gi),De}function Re(b){let N=ee(o.value,b);return N&&_.value&&!N.startsWith("blob:")&&(N=N+`?v=${Date.now()}`),N}async function Ue(b){const N=Re(b);try{return(await pe.get(N)).data}catch(z){throw new Error(z)}}function pi(b){j.value.updateSettings(b)}function fi(b){w("saveSettings",b)}function hi(b){if(b===void 0)return null;const N=Math.floor(b),z=Math.floor((N-b)*60);return{hours:N,minutes:z}}const ge=e.ref(!1),Et=e.ref(null),Je=e.ref(1),St=()=>{if(ge.value){clearInterval(Et.value),ge.value=!1,j.value.toggleAutoRotate();return}ge.value=!0,j.value.toggleAutoRotate(),Et.value=setInterval(()=>{Je.value=1*Je.value,j.value.setAutoRotateSpeed(Je.value),$e()},5e3)};return(b,N)=>{const z=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[_t.value]])},[q.value?(e.openBlock(),e.createElementBlock("div",Pr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",jr,[!V.value.isActive&&R.value&&G.value&&Me.value&&P.value&&re.value?(e.openBlock(),e.createBlock(it,{key:0,"cdn-file-resolver":e.unref(o),"apartment-json":E.value,level:Q.value,"minimap-json":R.value,rotation:se.value,"current-camera":G.value,onClose:N[0]||(N[0]=ae=>re.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),P.value&&te.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[_t.value]])},[e.createVNode(Pn,{ref_key:"vPlayerInstance",ref:M,"cdn-file-resolver":e.unref(o),style:e.normalizeStyle({zIndex:oe.value?1:2}),"show-static-image":oe.value,"current-camera-id":te.value,"mouse-sensitivity":e.unref(A),"interior-id":P.value,"apartment-id":e.unref(r),onNewCameraCallback:ri,onNewRotationCallback:ii,onNewFloorCallback:Vt,onNewFovCallback:si,onNewSizeCallback:ci,onSunsimCallback:li,onPlayerApiCallback:di},{"slideshow-image":e.withCtx(()=>[oe.value?(e.openBlock(),e.createBlock(zr,{key:0,image:we.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[e.unref(_)?(e.openBlock(),e.createBlock(z,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:N[1]||(N[1]=ae=>T.value=!T.value)})):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(z,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:N[2]||(N[2]=ae=>F.value=!F.value)},null,512),[[e.vShow,L.value]]),R.value&&te.value&&Me.value?e.withDirectives((e.openBlock(),e.createBlock(z,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:N[3]||(N[3]=ae=>re.value=!re.value)},null,512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),L.value&&e.unref(g)&&X.value.length>1?(e.openBlock(),e.createBlock(qn,{key:2,level:ie.value,"floor-levels":X.value,onLevel:Vt},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),e.unref(_)&&T.value?(e.openBlock(),e.createElementBlock("div",Wr,[e.createVNode(lr,{"initial-settings":e.unref(B),onUpdateSettings:pi,onSaveSettings:fi},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[E.value&&e.unref(v)?e.withDirectives((e.openBlock(),e.createElementBlock("div",Gr,[e.createVNode(ra,{rotation:se.value},null,8,["rotation"])],512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:N[4]||(N[4]=ae=>re.value=!re.value)},[L.value&&E.value&&Gl.value&&e.unref(p)?(e.openBlock(),e.createBlock(da,{key:0,hours:kt.value.hours,minutes:kt.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:R.value&&G.value&&Me.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(()=>[oe.value?(e.openBlock(),e.createBlock(z,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:qe})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[F.value?(e.openBlock(),e.createBlock(za,{key:0,onCloseTutorial:N[5]||(N[5]=ae=>ql(ae))})):e.createCommentVNode("",!0),V.value.isActive&&R.value&&G.value&&Me.value&&re.value?(e.openBlock(),e.createBlock(it,{key:1,"cdn-file-resolver":e.unref(o),"apartment-json":E.value,"minimap-json":R.value,rotation:se.value,"current-camera":G.value,level:Q.value,onClose:N[6]||(N[6]=ae=>re.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(()=>[oe.value?(e.openBlock(),e.createBlock(z,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:$e})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[e.unref(h)?(e.openBlock(),e.createBlock(mt,{key:0,"is-full-screen":V.value.isActive,class:"btn-fullscreen",onToggleFullscreen:mi},null,8,["is-full-screen"])):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock("div",Qr,[e.createVNode(z,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Bt})])):e.createCommentVNode("",!0),e.createElementVNode("div",qr,[e.unref(m)&&L.value?(e.openBlock(),e.createBlock(pa,{key:0,"show-static-image":oe.value,onToggle:ui},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),L.value&&e.unref(f)&&!V.value.isActive?(e.openBlock(),e.createElementBlock("div",Zr,[e.createVNode(dt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["d-flex justify-center",{"mb-2":!be.value}])},[!ge.value&&Ve.value(G.value)?(e.openBlock(),e.createBlock(Mr,{key:0,class:"ml-2",displaySunsim:ne.value,showUI:L.value,onToggleSunStudy:N[7]||(N[7]=ae=>ne.value=!ne.value)},null,8,["displaySunsim","showUI"])):e.createCommentVNode("",!0)],2),!be.value&&!ge.value&&te.value&&ne.value&&Ve.value(G.value)&&Ne(G.value)[0]&&de.value?(e.openBlock(),e.createBlock(st,{key:0,class:"sunsim-slider-desktop","current-day":Ve.value(G.value)?Ne(G.value)[0]:void 0,"current-time":de.value,onOnTimeChange:bt,onToggleSunStudy:N[8]||(N[8]=ae=>ne.value=!ne.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0),!be.value&&L.value&&e.unref(c)?(e.openBlock(),e.createBlock(Le,{key:1,class:e.normalizeClass([V.value.isActive?"full-screen":""]),thumbnails:J.value,active:Y.value,cameraHasSunStudy:Ve.value,onNext:$e,onPrevious:qe,onGoto:Ze},{before:e.withCtx(()=>[b.enableAutoplay&&L.value&&!be.value?(e.openBlock(),e.createBlock(ct,{key:0,autoplayStatus:ge.value,onToggleAutoPlay:N[9]||(N[9]=ae=>St())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["class","thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)])]),_:1})]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",Jr,[L.value&&e.unref(k)&&vt.value?(e.openBlock(),e.createBlock(oa,{key:0,"cdn-file-resolver":e.unref(o),"available-archetypes":vt.value,"selected-index":Z.value,onSelectInterior:wt},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.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.unref(c)&&O.value&&be.value&&L.value?(e.openBlock(),e.createBlock(Le,{key:0,class:"waypoint-carousel below-player",thumbnails:J.value,active:Y.value,cameraHasSunStudy:Ve.value,onNext:$e,onPrevious:qe,onGoto:Ze},{before:e.withCtx(()=>[b.enableAutoplay&&L.value?(e.openBlock(),e.createBlock(ct,{key:0,autoplayStatus:ge.value,onToggleAutoPlay:N[10]||(N[10]=ae=>St())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)]),_:1}),be.value?(e.openBlock(),e.createElementBlock("div",Xr,[!ge.value&&te.value&&ne.value&&Ve.value(G.value)&&Ne(G.value)[0]&&de.value?(e.openBlock(),e.createBlock(st,{key:0,class:"mt-1","current-day":Ve.value(G.value)?Ne(G.value)[0]:void 0,"current-time":de.value,onOnTimeChange:bt,onToggleSunStudy:N[11]||(N[11]=ae=>ne.value=!ne.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(U)&&e.unref(C)?(e.openBlock(),e.createElementBlock("div",Kr," version: "+e.toDisplayString(e.unref(U)),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-508b264d"]]),el={id:"player-wrapper"},tl={id:"player-sizer"},ol={class:"player-control",id:"controls-top-left"},nl={class:"player-control",id:"controls-top-center"},al={class:"player-control",id:"controls-top-right"},rl={class:"player-control",id:"controls-center-left"},ll={class:"player-control",id:"controls-center-center"},il={class:"player-control",id:"controls-center-right"},sl={class:"player-control",id:"controls-bottom-left"},cl={class:"player-control",id:"controls-bottom-center"},dl={class:"player-control",id:"controls-bottom-right"},ml=H(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(l,{emit:n}){return(t,a)=>(e.openBlock(),e.createElementBlock("div",el,[e.createElementVNode("div",tl,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",ol,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",nl,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",al,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",rl,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",ll,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",il,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",sl,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",cl,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",dl,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),ul={class:"virtual-tour-wrapper"},pl={class:"player-and-components-wrapper"},fl={class:"mss-image"},hl={key:1,class:"btn-placeholder"},ft=H(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(ce,n.i18nConfig?new ue(n.i18nConfig):new ue);const t=e.ref(0),a=e.ref(new ut(document,"player-wrapper")),o=e.computed(()=>n.images.map((c,p)=>({id:`image-${p}`,thumbnailUrl:c}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{a.value.setup()});function s(){a.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let c=t.value+1;c>=o.value.length&&(c=0),t.value=c}function m(){let c=t.value-1;c<0&&(c=o.value.length-1),t.value=c}function u(c,p=!0){let v=o.value.findIndex(h=>h.id===c);v!=-1&&(t.value=v)}return(c,p)=>{const v=e.resolveComponent("v-img"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",null,[e.createVNode(ml,{"is-full-screen":a.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",fl,[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(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:m})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[c.showFullScreen?(e.openBlock(),e.createBlock(mt,{key:0,"is-full-screen":a.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),c.showShare?(e.openBlock(),e.createElementBlock("div",hl,[e.createVNode(dt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[a.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(Le,{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(Le,{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"]]),gl=["src"],yl=H(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(()=>ee(a.value,t.value.filename));return(s,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,gl)),[[e.vShow,e.unref(o)&&e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-a12a9cdb"]]),Cl=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,s)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,i=>(e.openBlock(),e.createBlock(yl,{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))}}),vl=["src"],kl=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),s=e.computed(()=>ee(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(Cl,{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:s.value,src:s.value,width:"100%"},null,8,vl)),[[e.vShow,e.unref(o)===e.unref(t)]])}}),_l=["src"],wl=H(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(()=>ee(a.value,t.value.filename));return(s,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,_l)),[[e.vShow,e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-ea8553ab"]]);function ht(l){const n=new Date(0);return n.setUTCDate(l),n.toLocaleString("en-no",{month:"short",day:"numeric"})}const bl={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},Vl=H(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:s}=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,c)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-field"),h=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-list"),k=e.resolveComponent("v-menu");return e.unref(o).sunsimDayOfYear&&e.unref(o).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",bl,[e.createVNode(k,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(s),size:e.unref(a)?"small":void 0},y),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ht)(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,g)=>(e.openBlock(),e.createBlock(d,{key:g,value:g,onClick:D=>m.value=y.dayOfYear},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ht)(y.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-743f5faf"]]),Bl={class:"still-camera-thumbnails-wrapper d-flex justify-center"},El=["onClick"],Sl={key:0,class:"camera-name text-caption text-capitalize"},xl={key:1,class:"icon-wrapper"},Nl=H(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:s,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 c(p){i.value||(m.value=p)}return(p,v)=>{const h=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.createElementVNode("div",Bl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(d,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(["still-camera-image d-flex flex-column flex-reverse align-center elevation-2",{"active-camera":d===m.value}]),onClick:k=>c(d)},[d.cameraName?(e.openBlock(),e.createElementBlock("div",Sl,e.toDisplayString(d.cameraName),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"camera-thumbnail-image",style:e.normalizeStyle({backgroundImage:`url(${e.unref(ee)(e.unref(s),d.defaultFilename)})`})},null,4),d.sunsimDayOfYear&&d.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",xl,[e.createVNode(h,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],10,El))),128))])],2)}}}),[["__scopeId","data-v-d9b5add4"]]),Dl={class:"small"},Il={class:"small"},Al=H(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:s}=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,c)=>{const p=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),h=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(h,{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":c[0]||(c[0]=d=>m.value=d),min:e.unref(o).startTime,max:e.unref(o).endTime,step:e.unref(o).interval,disabled:!!e.unref(s),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",Dl,e.toDisplayString(e.unref(Te)(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",Il,e.toDisplayString(e.unref(Te)(m.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-4d44890b"]]),Fl={class:"d-inline-block",style:{"vertical-align":"top"}},Tl=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),Ll=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:s}=e.toRefs(t),i=n;return(m,u)=>{const c=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Fl,[e.createVNode(c,{disabled:e.unref(s)||!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"]),Tl,e.createVNode(c,{disabled:e.unref(s)||!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"])])}}}),Ml=["innerHTML"],$l=H(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer","onError"],setup(l,{emit:n}){const t=l,{cdnFileResolver:a,colorCallback:o,currentCamera:r,selectedId:s}=e.toRefs(t),i=n,m=e.ref(),u=e.ref(),c=e.reactive({});e.watchEffect(()=>{for(const h in c){const{element:d,state:f}=c[h],{r:k,g:y,b:g,a:D,s:S}=o.value(h,f)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${k}, ${y}, ${g}, ${D/255})`,d.style.stroke=`rgb(${k}, ${y}, ${g})`,d.style.strokeWidth=S.toString()}}),e.watch(s,()=>{for(const h in c)c[h].state==="selected"&&h!==s.value?c[h].state="idle":c[h].state!=="selected"&&h===s.value&&(c[h].state="selected")}),e.watchEffect(async()=>{try{m.value=await le.loadText(ee(a.value,r.value.overlayFilename)),v()}catch(h){i("onError",h)}}),e.watch(()=>u.value,()=>{u.value&&new ResizeObserver(p).observe(u.value)});function p(){e.nextTick(()=>{var d;const h=(d=u.value)==null?void 0:d.firstChild;if(h){if(!h.hasAttribute("viewBox")){const f=`0 0 ${h.getAttribute("width")} ${h.getAttribute("height")}`;h.setAttribute("viewBox",f)}h.setAttribute("width",u.value.offsetWidth.toString()),h.setAttribute("height",u.value.offsetHeight.toString())}})}function v(){e.nextTick(()=>{var d;const h=(d=u.value)==null?void 0:d.firstChild;if(h){i("updateSvgContainer",h),p();let f,k="data-structure-id";f=h.querySelectorAll(`[${k}]`),f.length===0&&(k="data-apartment-id",f=h.querySelectorAll(`[${k}]`),f.length===0&&(k="data-building-id",f=h.querySelectorAll(`[${k}]`))),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(D=>{D.style.stroke="inherit",D.style.fill="inherit"});const g=y.getAttribute(k);c[g]={element:y,state:s.value===g?"selected":"idle"},y.addEventListener("mouseover",()=>{c[g].state==="idle"&&(c[g].state="hover"),i("onHoverOver",g)}),y.addEventListener("mouseout",()=>{c[g].state==="hover"&&(c[g].state="idle"),i("onHoverOut",g)}),y.addEventListener("click",()=>{i("onClick",g)})})}})}return(h,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,Ml))]),_:1}))}}),[["__scopeId","data-v-45a214c3"]]);function Ol(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 Rl(l){return!("filename"in l)&&"defaultFilename"in l}function Ge(l){return"filename"in l}function Ul(l){return l?"version"in l:!1}function Hl(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 zl(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 xe(l){return l.startsWith("/")?l:`/${l}`}function gt(l){var n,t,a,o;if(Ol(l))return l;if(zl(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:s})=>({id:r,name:s,type:"building"})),stillCameraIndices:l.cameras.map((r,s)=>s),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 s={...r};return s.sunsimDayOfYear&&s.sunsimDayOfYear.forEach(m=>{m.timeSamples&&m.timeSamples.forEach(u=>{u.filename=xe(u.filename)})}),{...s,defaultFilename:s.sunsimDayOfYear[0]?xe(((i=s.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===s.sunsimDayOfYear[0].defaultHour))==null?void 0:i.filename)||s.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(Hl(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:s,name:i})=>({id:s,name:i,type:"building"})),stillCameraIndices:[0],stillCameraData:l.buildings.map(({id:s})=>({bestIndex:0,id:s})),loopable:!1,cameras:[{cameraName:"",cameraPosition:l.cameraPosition,cameraRotation:yt(l.cameraRotation.normalized||l.cameraRotation),cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:xe((t=(n=r[0])==null?void 0:n.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:r.map(s=>({dayOfYear:s.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:s.timeSamples.map(({timeInHours:i,filename:m})=>({timeInHours:i,filename:xe(m)}))}))}]}}else{if(po(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:s})=>({bestIndex:r,id:s})),loopable:l.loopable,cameras:l.cameras.map(r=>{var s;if(Pe(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=xe(u.filename)})}),{...i,defaultFilename:i.sunsimDayOfYear[0]?xe(((s=i.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===i.sunsimDayOfYear[0].defaultHour))==null?void 0:s.filename)||i.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(Ul(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"}`})),s=[4,1,2,3];for(let i=0;i<l.scenes.length;i++){let m=l.scenes[i],u,c;u=r[m].filename,c={cameraName:`Camera ${i+1}`,cameraPosition:void 0,cameraRotation:l.sceneCameras&&(a=l.sceneCameras.find(p=>p.scene===i))!=null&&a.cameraRotation?yt((o=l.sceneCameras.find(p=>p.scene===i))==null?void 0:o.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${s[i]}V5Overlay.svg`,defaultFilename:u,sunsimDayOfYear:void 0},Ge(r[m])&&(r[m]=c)}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:s.findIndex(u=>u===m)in l.scenes?l.scenes[s.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 yt({x:l,y:n,z:t}){return{x:l,y:n,z:t,w:0}}const Yl=["innerHTML"],Pl={style:{"z-index":"7"}},jl={key:4,class:"render-version"},Ct=H(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:s,customOverlayContent:i,selectedId:m,defaultCamera:u,defaultDay:c,defaultTime:p,mobileBreakpoint:v}=e.toRefs(t),h=n;e.provide(ce,s.value?new ue(s.value):new ue);const d=e.ref(),f=e.ref(),k=e.ref(),y=e.ref(null),g=e.ref(4),D=e.ref(),S=e.ref(!1),A=e.ref(!1),_=e.ref(),B=e.computed(()=>_.value.isHoverEnabled),$=e.ref({x:0,y:0,width:0,height:0}),x=e.ref(),U=e.ref(),C=e.ref(),w=e.ref(!1),F=e.ref(),T=e.ref({current:100,min:100,max:1e3}),q=e.ref(!1);e.onMounted(()=>{S.value=!0,q.value=!1}),e.watch(a,V=>{try{q.value=!1,C.value=gt(V)}catch(M){q.value=!0,h("onError",M)}},{immediate:!0}),e.watch(S,V=>{V&&h("onInitialize")}),e.watch(()=>U.value,()=>{U.value&&new ResizeObserver(([M])=>{w.value=M.contentRect.width<v.value}).observe(U.value)});const I=e.computed(()=>C.value?C.value.cameras.filter(Rl):[]),E=e.computed(()=>C.value?C.value.cameras.filter(Ge):[]);e.watch([C,o,u],async()=>{o.value&&I.value.length>0&&(u.value?d.value=I.value.find(V=>V.cameraName===u.value)||I.value[0]:d.value=I.value[0],g.value=C.value.cameras.findIndex(V=>V===d.value),g.value=Math.max(0,g.value))},{immediate:!0}),e.watch([C,o,c],()=>{C.value&&o.value&&d.value&&d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&(c.value?f.value=d.value.sunsimDayOfYear.find(V=>V.dayOfYear===c.value)||d.value.sunsimDayOfYear[0]:f.value=d.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([C,o,p],()=>{C.value&&o.value&&f.value&&f.value.timeSamples&&f.value.timeSamples.length>0&&(p.value?k.value=f.value.timeSamples.find(V=>V.timeInHours===p.value)||f.value.timeSamples[0]:k.value=f.value.timeSamples.find(V=>V.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])},{immediate:!0});function O(V){d.value!==V&&de(C.value.cameras.findIndex(M=>M===V))}function R(V){g.value=V,Ge(C.value.cameras[g.value])?y.value=C.value.cameras[g.value]:(e.nextTick(()=>{j(C.value.cameras[g.value])}),y.value=null)}function j(V){const M=f.value;d.value=V,g.value=C.value.cameras.findIndex(X=>X===d.value),e.nextTick(()=>{d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&Y(d.value.sunsimDayOfYear.find(X=>X.dayOfYear===M.dayOfYear)||d.value.sunsimDayOfYear[0])})}function Y(V){const M=k.value;f.value=V,e.nextTick(()=>{P(f.value.timeSamples.find(X=>X.timeInHours===M.timeInHours)||f.value.timeSamples.find(X=>X.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])})}function P(V){k.value=V}function te(V){h("onClick",V,()=>{const M=C.value.stillCameraData.find(X=>X.id===V);M&&de(M.bestIndex)})}function G(V){h("onHoverOver",V),D.value=V}function se(V){h("onHoverOut",V),D.value=void 0}function ie(V){const{layerX:M,layerY:X}=V;let Q=V.target,Z=!1;for(;Q;)if(Q===x.value){Z=!0;break}else Q=Q.parentElement;if(Z){const J=V.currentTarget;$.value={x:M,y:X,width:J.clientWidth,height:J.clientHeight}}else $.value=void 0;h("onMouseMove",V,$.value)}function he({min:V,max:M,current:X}){T.value={min:V,max:M,current:X}}function oe(V){F.value.adjustZoom(V?10:-10)}function re(V){return C.value.stillCameraIndices.findIndex(M=>M===V)}async function de(V){const M=g.value;if(C.value.loopable){const X=C.value.stillCameraIndices.length,Q=re(M),Z=re(V);let J=0,we=0,me=Q;for(;me++,me>=X&&(me=0),me!==Z;)J++;for(me=Q;me--,me<0&&(me+=X),me!==Z;)we++;J===we?ne(M,V):J<we?Q<Z?ne(M,V):ne(M,V+C.value.cameras.length):Q>=Z?ne(M,V):ne(M+C.value.cameras.length,V)}else ne(M,V)}function ne(V,M){return new Promise(X=>{A.value=!0;let Q,Z=V;Q=setInterval(()=>{Z<M?(Z++,g.value=Math.abs(Z%C.value.cameras.length),R(g.value)):Z>M?(Z--,g.value=Math.abs(Z%C.value.cameras.length),R(g.value)):(clearInterval(Q),A.value=!1,X())},12)})}function L(V){q.value=!0,h("onError",V)}return(V,M)=>{const X=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(X,{type:"image",class:"w-100 h-100 position-relative",loading:!S.value||!C.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:U,class:e.normalizeClass({mobile:w.value}),style:{"min-height":"104px"},onMousemove:ie},[V.showUi?(e.openBlock(),e.createElementBlock("div",{key:0,class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:w.value&&I.value.length>1?"60px":0})},[d.value.cameraRotation?(e.openBlock(),e.createBlock(ke,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:w.value?32:40,height:w.value?32:40}),longitude:d.value.cameraRotation.y+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(Ll,{"is-mobile-sized":w.value,"can-zoom-out":T.value.min<T.value.current,"can-zoom-in":T.value.max>T.value.current,disabled:A.value,onOnZoomIn:M[0]||(M[0]=Q=>oe(!0)),onOnZoomOut:M[1]||(M[1]=Q=>oe(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4)):e.createCommentVNode("",!0),V.showUi&&I.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass({"actions-bar bottom-left w-100 pa-2":!0,"px-0":w.value}),style:{"z-index":"7"}},[e.createVNode(Nl,{"is-mobile-sized":w.value,"still-cameras":I.value,"current-camera":d.value,disabled:A.value,"cdn-file-resolver":e.unref(o),onOnCameraChange:O},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(ve,{ref_key:"zoomBox",ref:F,position:"relative",onUpdate:he},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(Q,Z)=>(e.openBlock(),e.createBlock(kl,{key:`camera${Z}`,"camera-data":Q,"cdn-file-resolver":e.unref(o),"current-camera":d.value,"current-day":f.value,"current-time":k.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(E.value,(Q,Z)=>(e.openBlock(),e.createBlock(wl,{key:`transition${Z}`,"transition-data":Q,"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,Yl)):e.createCommentVNode("",!0),d.value.overlayFilename&&!q.value?e.withDirectives((e.openBlock(),e.createBlock($l,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(r),"current-camera":d.value,"selected-id":e.unref(m),onOnClick:te,onOnHoverOver:G,onOnHoverOut:se,onUpdateSvgContainer:M[2]||(M[2]=Q=>x.value=Q),onOnError:L},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,y.value===null]]):e.createCommentVNode("",!0)]),_:1},512),V.showUi&&(f.value&&f.value.timeSamples&&f.value.timeSamples.length>1||d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>1)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":w.value}),style:{"z-index":"7"}},[e.createVNode(Vl,{class:"pr-2","is-mobile-sized":w.value,"current-camera":d.value,"current-day":f.value,disabled:A.value,onOnDayChange:Y},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(Al,{"is-mobile-sized":w.value,"current-day":f.value,"current-time":k.value,disabled:A.value,onOnTimeChange:P},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),V.$slots.popup&&$.value&&D.value?(e.openBlock(),e.createBlock(Ce,{key:3,"is-hoverable":B.value,pos:$.value},{default:e.withCtx(()=>[e.createElementVNode("div",Pl,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:D.value,hoverable:B.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),V.version&&V.showVersion?(e.openBlock(),e.createElementBlock("div",jl," version: "+e.toDisplayString(V.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(fe,{ref_key:"hoverProbe",ref:_},null,512)],64)}}}),[["__scopeId","data-v-73872ddd"]]),Wl={install:function(n){n.component("VApartmentChooser",et),n.component("VBuildingChooser",rt),n.component("VVirtualTour",pt),n.component("VManualSlideShow",ft),n.component("VStructureChooser",Ct)}};W.ResourceLoader=le,W.VApartmentChooser=et,W.VApartmentChooserV5=$o,W.VBuildingChooser=rt,W.VBuildingChooserV5=Vn,W.VFloatingCard=Ce,W.VHoverProbe=fe,W.VManualSlideShow=ft,W.VNorthDirection=ke,W.VStructureChooser=Ct,W.VVirtualTour=pt,W.VZoomBox=ve,W.convertApartmentChooserDataLegacyToV5=ot,W.convertBuildingChooserDataLegacyToV5=lt,W.convertStructureChooserDataLegacyToV5=gt,W.default=Wl,Object.defineProperties(W,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(Q,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):(Q=typeof globalThis<"u"?globalThis:Q||self,e(Q["vue3-player"]={},Q.Vue,Q.axios,Q.PlayerCore,Q.THREE))})(this,function(Q,e,pe,xt,Ce){"use strict";var yi=Object.defineProperty;var Ci=(Q,e,pe)=>e in Q?yi(Q,e,{enumerable:!0,configurable:!0,writable:!0,value:pe}):Q[e]=pe;var K=(Q,e,pe)=>(Ci(Q,typeof e!="symbol"?e+"":e,pe),pe);function Nt(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 Dt=Nt(xt);class le{static async loadText(n){return new le().loadText(n)}static async loadJson(n){return new le().loadJson(n)}static async loadImage(n){return new le().loadImage(n)}static async loadImageData(n){return new le().loadImageData(n)}async loadText(n){try{return(await pe.get(n)).data}catch(t){throw pe.isAxiosError(t)&&t.response?new Error(`Failed to load resource from ${n}: ${t.response.status} ${t.response.statusText}`):t}}async loadJson(n){return(await pe.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 It=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))}}),U=(l,n)=>{const t=l.__vccOpts||l;for(const[a,o]of n)t[a]=o;return t},he=U(It,[["__scopeId","data-v-eb9b348d"]]);function ee(l,n){return typeof l=="string"?`${l}${n}`:l(n)}const At=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:n}){const t=l,a=n,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),s=e.ref(0),i=e.ref(),m=e.ref(),u=e.ref(),c=e.ref(),p=e.ref(-1),v=e.ref(!1),h=e.ref(),d=e.ref(),f=e.ref({}),k=e.ref("auto"),y=e.ref(new le),g=e.ref({}),D=e.ref(),E=e.ref(),A=e.ref(),_=e.ref(),V=e.ref(),M=e.computed(()=>A.value.isHoverEnabled),x=e.computed(()=>ee(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),R=e.computed(()=>x.value in f.value?f.value[x.value]:null),C=e.computed(()=>p.value<0?!1:t.sceneData.find(H=>H.index===p.value)||!1),w=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:k.value})),F=e.computed(()=>`hover-${v.value?"over":"out"}-${C.value?typeof C.value=="object"&&"unitId"in C.value?C.value.unitId:C.value:""}`);e.watch(x,()=>{f.value[x.value]||y.value.loadImageData(x.value).then(L=>{f.value={...f.value,[x.value]:L}})},{immediate:!0}),e.watch(R,()=>{R.value&&T()}),e.watch(()=>t.viewModel.currentScene,()=>{oe()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{oe()}),e.watch(C,()=>{oe(),C.value?k.value="pointer":k.value="auto"}),e.watch(F,()=>{v.value?a("hoverOver",{hoverUnit:C.value?C.value.unitId:!1,closeHandler:()=>re()}):a("hoverOut",{hoverUnit:C.value?C.value.unitId:!1,closeHandler:()=>re()})}),e.watch(o,()=>{a("pos",o.value)}),e.onMounted(()=>{E.value=()=>{clearTimeout(D.value),ie(),D.value=setTimeout(()=>{ie()},50)},window.addEventListener("resize",E.value),ie()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",E.value);for(const L in f.value)URL.revokeObjectURL(f.value[L])});function T(){i.value=_.value.getContext("2d",{willReadFrequently:!0}),m.value=new Image,m.value.onload=()=>{ge(),_.value.addEventListener("mousemove",ne(X,50))},m.value.src=R.value}function X(L){const H=$(L.offsetX,L.offsetY);v.value=H>=0,p.value=H,o.value={x:L.offsetX,y:L.offsetY,width:r.value,height:s.value}}function I(L){const H=$(L.offsetX,L.offsetY);H<0||M&&te(H)}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),c.value=i.value.getImageData(0,0,_.value.width,_.value.height),u.value=i.value.getImageData(0,0,_.value.width,_.value.height);const L=c.value.data;g.value={};for(let H=0;H<L.length;H+=4)g.value[L[H]]=[];for(let H=3;H<L.length;H+=4)L[H]===255&&L[H-3]in g.value&&g.value[L[H-3]].push(H-3)}}function $(L,H){h.value=L,d.value=H;const S=_.value.offsetWidth/_.value.width,z=_.value.offsetHeight/_.value.height,Z=(L/S).toFixed(),J=(H/z).toFixed(),Y=Number(J)*(_.value.width*4)+Number(Z)*4,fe=c.value.data[Y];return c.value.data[Y+3]>0?fe:-1}function O(){W().forEach(H=>{if(H.index>=0){const S=G(H.index);if(S){const z=j(H.index);let Z="idle";!C.value&&t.selectedUnitId&&z===t.selectedUnitId?Z="selected":C.value&&p.value===H.index&&(Z="hover");const J=t.colorCallback(H.unitId,Z);if(J)for(let Y=0;Y<S.length;Y++)u.value.data[S[Y]]=J.r,u.value.data[S[Y]+1]=J.g,u.value.data[S[Y]+2]=J.b,u.value.data[S[Y]+3]=J.a}}})}function G(L){return c.value?g.value[L]:!1}function j(L){const H=t.sceneData.find(S=>S.index===L);return H&&H.unitId}function W(){if(c.value){const L=Object.keys(g.value).map(S=>parseInt(S));return t.sceneData.filter(S=>L.includes(S.index))}else return[]}function te(L){const H=j(L);q(H)}function q(L){a("selectUnit",L),L&&t.canGoToUnitCallback(L)&&a("goToUnit",L)}function se(L=0){if(!u.value)return;const H=u.value.data;for(let S=3;S<H.length;S+=4)H[S]=L}function ie(){if(!V.value)return!1;r.value=V.value.offsetWidth,s.value=V.value.offsetHeight}function ge(){B(),oe()}function oe(){se(),O(),i.value&&u.value&&i.value.putImageData(u.value,0,0)}function re(){v.value=!1}const de=e.ref(!1);function ne(L,H){return de.value=!0,function(...S){de.value&&(de.value=!1,L.apply(this,S),setTimeout(()=>de.value=!0,H))}}return(L,H)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:V,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:_,style:e.normalizeStyle(w.value),onClick:I},null,4),[[e.vShow,!L.viewModel.isRotating]]),e.createVNode(he,{ref_key:"hoverProbe",ref:A},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),Ft=["viewBox"],Tt=["innerHTML","onMouseenter","onMouseleave","onClick"],Lt=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:n}){const t=l,a=n,o=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),s=e.ref({}),i=e.ref(null),m=e.ref(new le),u=e.ref(),c=e.ref(),p=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(o,()=>{a("pos",o.value)}),e.watch(r,(E,A)=>{if(E>=0){const _=h(E);a("hoverOver",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}else{const _=h(A);a("hoverOut",{hoverUnit:_,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let E=1;E<=4;E++){const A=ee(t.cdnFileResolver,`/scenedata${E}.svg`),_={markup:"",viewBox:"",svgObjects:[]};m.value.loadJson(A).then(V=>{_.markup=V;const x=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];_.viewBox=x.getAttribute("viewBox"),_.svgObjects=Array.from(x.querySelectorAll("*[data-index]")).map(R=>({index:parseInt(R.getAttribute("data-index")),svg:R.innerHTML})),s.value={...s.value,[E]:_}})}u.value.addEventListener("mousemove",D(v,50))});function v(E){o.value={x:E.offsetX,y:E.offsetY,width:u.value.offsetWidth,height:u.value.offsetHeight}}function h(E){var A;return(A=t.sceneData.find(_=>_.index===(typeof E=="string"?parseInt(E):E)))==null?void 0:A.unitId}function d(E){p.value&&(r.value=E)}function f(E){p.value&&(r.value=-1)}function k(E){const A=h(E);a("selectUnit",A),p.value&&A&&t.canGoToUnitCallback(A)?a("goToUnit",A):r.value=E}function y(E){const A=h(E);let _="idle";r.value<0&&t.selectedUnitId&&A===t.selectedUnitId?_="selected":r.value>=0&&r.value===E&&(_="hover");const V=t.colorCallback(A,_);if(V){const{r:M,g:x,b:R,a:C,s:w}=V;return{strokeWidth:w!==void 0?w:2,stroke:`rgb(${M}, ${x}, ${R})`,strokeOpacity:1,fill:`rgb(${M}, ${x}, ${R})`,fillOpacity:C/255,cursor:`${t.canGoToUnitCallback(A)?"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(E,A){return g.value=!0,function(..._){g.value&&(g.value=!1,E.apply(this,_),setTimeout(()=>g.value=!0,A))}}return(E,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:V})=>(e.openBlock(),e.createElementBlock("g",{key:_,innerHTML:V,style:e.normalizeStyle(y(_)),onMouseenter:M=>d(_),onMouseleave:M=>f(),onClick:M=>k(_)},null,44,Tt))),128))],8,Ft)):e.createCommentVNode("",!0)],4),[[e.vShow,!E.viewModel.isRotating]]),e.createVNode(he,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),ce=Symbol(),Mt={key:0,class:"text-success d-none d-md-flex"},$t={class:"text-success"},Ot=U(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),s=n,i=e.inject(ce);e.onMounted(()=>{window.addEventListener("keydown",m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",m)});function m(u){u.keyCode===37?t.prevUnitId&&s("prevUnit"):u.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(u,c)=>{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:c[0]||(c[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:c[1]||(c[1]=v=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(p,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!u.canGoToUnitCallback(a.value),onClick:c[2]||(c[2]=v=>s("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&u.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",Mt,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",$t,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:c[3]||(c[3]=v=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(p,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>u.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class ze{constructor(n){K(this,"_numParts");K(this,"_loadedCount");K(this,"_isError");K(this,"_finishedAction");K(this,"_errorAction");K(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 Ye{constructor(n,t,a,o){K(this,"_rotator");K(this,"_direction");K(this,"_frameIndex");K(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 Ye(this._rotator,this._direction,n,t)}}class Rt{constructor(n,t){K(this,"_cardinalFrames");K(this,"_totalFrameCount");this._cardinalFrames=n,this._totalFrameCount=t}start(n,t,a){const o=this.startFrameIndexForScene(t);return new Ye(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 Ut={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Ht={key:1,class:"frame-container"},zt={key:0,class:"frame-image"},Yt=["srcset"],Pt=["src"],jt={key:2,id:"image-stack",class:"frame-container"},Wt=["alt"],Gt=["srcset"],Qt=["src"],Ke=64,Ae=4,qt=120,Zt=U(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(l,{emit:n}){const t=l,a=n,o=h(),r=e.ref(new ze(o.length).onLoadFinished(()=>a("loaded")).onLoadProgress(y=>a("progress",y)).onLoadError(()=>a("error"))),s=e.ref(new Rt(t.cardinalFrames,Ke)),i=e.ref(o),m=e.ref(!1),u=e.computed(()=>i.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,g)=>{const D=k(g,y),E=f(g,y);c(g,D,E)}),e.onMounted(()=>{v()});function c(y,g,D){t.viewModel.isRotating||(t.viewModel.isRotating=!0,p(s.value.start(g,y%Ae,D)))}function p(y){setTimeout(()=>{i.value[y.frameIndex].show=!1;const g=y.nextFrame();i.value[g.frameIndex].show=!0,g.atEnd?v():window.requestAnimationFrame(()=>p(g))},1e3/qt)}function v(){const y=s.value.startFrameIndexForScene(t.viewModel.currentScene%Ae);y in i.value&&(i.value[y].show=!0),t.viewModel.isRotating=!1}function h(){const y=[];for(let g=0;g<Ke;g++){const{sourceSet:D,defaultPath:E}=d(g);y.push({index:g,sourceSet:D,defaultPath:E,show:!1})}return y}function d(y){const g=("0000"+(y+1)).slice(-4),D=t.build?`?v=${t.build}`:"",E=[`${ee(t.cdnFileResolver,`/480/${g}.jpg${D}`)} 480w`,`${ee(t.cdnFileResolver,`/960/${g}.jpg${D}`)} 960w`,`${ee(t.cdnFileResolver,`/1280/${g}.jpg${D}`)} 1280w`].join(","),A=ee(t.cdnFileResolver,`/480/${g}.jpg${D}`);return{sourceSet:E,defaultPath:A}}function f(y,g){const D=Ae/2,E=Math.abs(y-g);return E>D?Ae-E:E}function k(y,g){if(y===g)return 0;const E=Math.abs(y-g)<Ae/2;return E&&y<g||!E&&y>g?1:-1}return(y,g)=>{const D=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,E=>(e.openBlock(),e.createElementBlock("picture",{key:E.index,alt:E.index,class:e.normalizeClass({"frame-image":!0,show:E.show})},[e.createElementVNode("source",{srcset:E.sourceSet,type:"image/jpeg"},null,8,Gt),e.createElementVNode("img",{src:E.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=A=>r.value.partLoaded()),onError:g[3]||(g[3]=A=>r.value.errorDetected())},null,40,Qt)],10,Wt))),128))])):(e.openBlock(),e.createElementBlock("div",Ht,[u.value?(e.openBlock(),e.createElementBlock("picture",zt,[e.createElementVNode("source",{srcset:u.value.sourceSet,type:"image/jpeg"},null,8,Yt),e.createElementVNode("img",{src:u.value.defaultPath,onLoad:g[0]||(g[0]=E=>m.value=!0),onError:g[1]||(g[1]=E=>r.value.errorDetected())},null,40,Pt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),ve=U(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,s,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?(s="-100%",m="-8px"):(s="0%",m="8px"),`translate(${r}, ${s}) translate(${i}, ${m})`});return(r,s)=>{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":s[0]||(s[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=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:n,emit:t}){const a=l,o=t;n({adjustZoom:X});const r=e.ref(100),s=e.ref(0),i=e.ref(0),m=e.ref(!1),u=e.ref(!1),c=e.ref(void 0),p=e.ref(!1),v=e.ref(),h=e.computed(()=>`translateX(${s.value}px) translateY(${i.value}px) scale(${d.value})`),d=e.computed(()=>r.value/100),f=e.computed(()=>a.maxScale*100);e.watch([d,s,i],()=>{I()},{immediate:!0}),e.watch(()=>a.desktop,()=>{a.desktop?k():g()}),e.watch(()=>a.mobile,()=>{a.mobile?y():D()}),e.onMounted(()=>{a.desktop&&k(),a.mobile&&y()}),e.onBeforeUnmount(()=>{a.desktop&&g(),a.mobile&&D()});function k(){v.value.addEventListener("wheel",E,{capture:!0}),v.value.addEventListener("mousedown",A,{capture:!0}),v.value.addEventListener("mousemove",_,{capture:!0}),window.addEventListener("mouseup",V,{capture:!0}),window.addEventListener("click",M,{capture:!0})}function y(){v.value.addEventListener("touchstart",x,{capture:!0}),v.value.addEventListener("touchmove",R,{capture:!0}),window.addEventListener("touchend",C,{capture:!0}),window.addEventListener("touchcancel",C,{capture:!0})}function g(){v.value.removeEventListener("wheel",E,{capture:!0}),v.value.removeEventListener("mousedown",A,{capture:!0}),v.value.removeEventListener("mousemove",_,{capture:!0}),window.removeEventListener("mouseup",V,{capture:!0}),window.removeEventListener("click",M,{capture:!0})}function D(){v.value.removeEventListener("touchstart",x,{capture:!0}),v.value.removeEventListener("touchmove",R,{capture:!0}),window.removeEventListener("touchend",C,{capture:!0}),window.removeEventListener("touchcancel",C,{capture:!0})}function E(B){const{x:$,y:O}=w(B);X(-B.deltaY/10,$,O),B.preventDefault()}function A(B){m.value=!0,p.value=!1,c.value=B}function _(B){if(m.value){const{x:$,y:O}=w(B),{x:G,y:j}=w(c.value),W={x:$-G,y:O-j};F(W.x),T(W.y),p.value=!0,c.value=B}}function V(B){m.value&&p.value&&a.consumeMouseUpWhenMoved&&(B.preventDefault(),B.stopImmediatePropagation())}function M(B){m.value&&(p.value&&a.consumeMouseClickWhenMoved&&(B.preventDefault(),B.stopImmediatePropagation()),m.value=!1)}function x(B){m.value=B.touches.length===1,u.value=B.touches.length===2,c.value=B}function R(B){if(m.value){const{x:$,y:O}=w(B.touches[0]),{x:G,y:j}=w(c.value.touches[0]),W={x:$-G,y:O-j};F(W.x),T(W.y)}else if(u.value&&B.touches.length===2){const{x:$,y:O}=w(B.touches[0]),{x:G,y:j}=w(c.value.touches[0]),{x:W,y:te}=w(B.touches[1]),{x:q,y:se}=w(c.value.touches[1]),ie=Math.hypot(G-q,j-se),ge=Math.hypot($-W,O-te),oe=(W+$)/2,re=(te+O)/2;X(ge-ie,oe,re)}c.value=B}function C(){m.value=!1,u.value=!1}function w(B){const{left:$,top:O}=v.value.getBoundingClientRect();return{x:B.clientX-$,y:B.clientY-O}}function F(B){const $=v.value.clientWidth,O=$*d.value;s.value=Math.max(Math.min(0,s.value+B),-(O-$))}function T(B){const $=v.value.clientHeight,O=$*d.value;i.value=Math.max(Math.min(0,i.value+B),-(O-$))}function X(B,$,O){const G=$!==void 0?$:v.value.clientWidth/2,j=O!==void 0?O:v.value.clientHeight/2,W=v.value.clientWidth,te=v.value.clientHeight,q=W*d.value,se=te*d.value;r.value=Math.min(Math.max(100,r.value+B),f.value);const ie=W*d.value,ge=te*d.value,oe=ie-q,re=ge-se;s.value-=G/W*oe,i.value-=j/te*re,F(0),T(0)}function I(){o("update",{scale:d.value,x:s.value,y:i.value,current:Math.min(Math.max(100,r.value),f.value),min:100,max:f.value,resolve:(B,$)=>{const O=v.value.clientWidth,G=v.value.clientHeight,j=s.value/-d.value,W=i.value/-d.value,te=j+O/d.value,q=W+G/d.value,se=B/O*(te-j)+j,ie=$/G*(q-W)+W;return{x:se,y:ie}}})}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:h.value}),class:"zoom-box"},[e.renderSlot(B.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Pe=4;function et(l){return l<Pe?l+1:1}function Jt(l){return l>1?l-1:Pe}class Xt{constructor(n){K(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=et(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Jt(this.currentScene)})}}class me{constructor({labels:n,language:t}={labels:null,language:null}){K(this,"_labels");K(this,"_language");n?this._labels={...n||{}}:fetch("https://l10n.visuado.com/all.json").then(a=>a.json()).then(a=>{this._labels=a}),this._language=t||"nb"}getLabel(n){return this._labels&&this._language in this._labels&&n in this._labels[this._language]?this._labels[this._language][n]:n}get(n){return typeof n=="string"?n:typeof n=="object"&&this._language in n&&n[this._language]?n[this._language]:""}}const Kt={key:0},eo={class:"interactive-viewer"},to={class:"fill-parent"},oo={key:0},no={key:1,class:"navigation"},ao={key:2},ro=4,tt=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:n}){const t=[0,16,32,48],a=l,o=n;e.provide(ce,a.i18nConfig?new me(a.i18nConfig):new me);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),m=e.ref(),u=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),p=e.ref(),v=e.ref(),h=e.ref(),d=e.computed(()=>h.value.isHoverEnabled),f=e.computed(()=>a.useSvg?Lt:At),k=e.computed(()=>a.selectedUnitId),y=e.computed(()=>a.nextUnitId),g=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(k.value&&u.value){const _=s.value[k.value];_&&(u.value.currentScene=_)}}),e.onMounted(async()=>{const _=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:ro;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(x=>({unitId:x.apartmentID,index:x.index})):[],s.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(x=>{const R=x.bestScene===0?4:x.bestScene;return{unitId:x.apartmentID,scene:R}}).reduce((x,R)=>({...x,[R.unitId]:R.scene}),{}):{};const V=(x,R="unitId")=>{let C=_,w=[];for(let F=0;F<Pe;F++)w.push(C),C=et(C);return x.sort((F,T)=>{const X=w.findIndex(B=>B===s.value[F[R]]),I=w.findIndex(B=>B===s.value[T[R]]);return X<I?-1:X>I?1:0}),x},M=x=>{u.value=new Xt(x)};o("initialized",{scene:_,scenes:m.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:V,initialize:M})});function D(_){c.value=_}function E(_){v.value=_.hoverUnit,p.value=_.closeHandler,o("hoverOverUnit",_.hoverUnit)}function A(_){v.value=null,p.value=_.closeHandler,o("hoverOutUnit",_.hoverUnit)}return(_,V)=>{const M=e.resolveComponent("v-progress-linear");return u.value?(e.openBlock(),e.createElementBlock("div",Kt,[e.createElementVNode("div",eo,[e.createElementVNode("div",to,[e.createVNode(ke,{desktop:r.isReady&&_.interactiveDesktop,mobile:r.isReady&&_.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(Zt,{"cdn-file-resolver":_.cdnFileResolver,"view-model":u.value,"cardinal-frames":m.value,build:_.build,onProgress:V[0]||(V[0]=x=>r.progress=x),onLoaded:V[1]||(V[1]=x=>r.isReady=!0),onError:V[2]||(V[2]=x=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",oo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":u.value,"selected-unit-id":k.value,"scene-data":i.value,"color-callback":a.colorCallback,"can-go-to-unit-callback":a.canGoToUnitCallback,"draw-observer":a.drawObserver,onSelectUnit:V[3]||(V[3]=x=>o("selectUnit",x)),onGoToUnit:V[4]||(V[4]=x=>o("goToUnit",x)),onHoverOver:E,onHoverOut:A,onPos:D},{default:e.withCtx(x=>[e.renderSlot(_.$slots,"default",e.normalizeProps(e.guardReactiveProps(x)),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(ve,{key:0,"is-hoverable":d.value,pos:c.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:c.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",no,[e.createVNode(Ot,{"can-go-to-unit-callback":a.canGoToUnitCallback,"unit-renderer":a.unitRenderer,"selected-unit-id":k.value,"prev-unit-id":g.value,"next-unit-id":y.value,"view-model":u.value,onGoToUnit:V[5]||(V[5]=x=>o("goToUnit",x)),onPrevUnit:V[6]||(V[6]=x=>o("navUnit",g.value)),onNextUnit:V[7]||(V[7]=x=>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",ao,[e.createVNode(M,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":V[8]||(V[8]=x=>r.progress=x)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(he,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),lo=["src"],io=U(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>ee(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,lo)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),so=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(io,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),co=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(so,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),mo=["src"],uo=U(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(()=>ee(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,mo)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function po(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 je(l){return!("filename"in l)}function We(l){return"filename"in l}const fo=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(je):[]);return e.watch(o,()=>{a("onCameraChange",r.value.find(s=>s.overlayFilename===o.value))}),(s,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"])}}}),ho=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(s=>s.dayOfYear===o.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,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]=c=>o.value=c),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),go={key:0,class:"py-2"},yo={class:"small"},Co={class:"small"},vo=U(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 s(m){const u=m*60,c=Math.floor(u/60),p=u%60;return`${c.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(c=>c.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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",go,[e.createVNode(c,{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(s(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",yo,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Co,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{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(s(o.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),ko=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),s=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{s.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{o("onSceneChange",s.value)});const m=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[0]),u=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function c(){const d=s.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)+1;f>=a.apartmentChooserData.scenes.length&&(f=0);const k=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d>k,h(d,k)}async function p(){const d=s.value;let f=a.apartmentChooserData.scenes.findIndex(y=>y===d)-1;f<0&&(f=a.apartmentChooserData.scenes.length-1);const k=a.apartmentChooserData.scenes[f];a.apartmentChooserData.loopable&&d<k,h(d,k)}function v(d){const f=s.value;if(a.apartmentChooserData.loopable)if(d<f){let k=f-d,y=f-(a.apartmentChooserData.cameras.length+d);return Math.abs(k)>Math.abs(y)?h(f,d):h(f,a.apartmentChooserData.cameras.length+d)}else{let k=f-d,y=a.apartmentChooserData.cameras.length+f-d;return Math.abs(k)>Math.abs(y)?h(f,d):h(a.apartmentChooserData.cameras.length+f,d)}else return h(f,d)}function h(d,f){return new Promise(k=>{r.value=!0,o("onRotateStart",{from:d,to:f});let y,g=d;y=setInterval(()=>{g<f?(g++,s.value=Math.abs(g%a.apartmentChooserData.cameras.length)):g>f?(g--,s.value=Math.abs(g%a.apartmentChooserData.cameras.length)):(clearInterval(y),o("onRotateFinish",{from:d,to:f}),r.value=!1,k())},50)})}return(d,f)=>{const k=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(k,{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]=g=>o("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(k,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!u.value,onClick:c},null,8,["disabled"])],64)}}}),_o=["innerHTML"],wo=U(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(),s=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const c in i){const{element:p,state:v}=i[c],{r:h,g:d,b:f,a:k,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${h}, ${d}, ${f}, ${k/255})`,p.style.stroke=`rgb(${h}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(s,()=>{for(const c in i)i[c].state==="selected"&&c!==s.value?i[c].state="idle":i[c].state!=="selected"&&c===s.value&&(i[c].state="selected")}),e.watchEffect(async()=>{o.value=await le.loadText(ee(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 c=(p=r.value)==null?void 0:p.firstChild;if(c){if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",r.value.offsetWidth.toString()),c.setAttribute("height",r.value.offsetHeight.toString())}})}function u(){e.nextTick(()=>{var p;const c=(p=r.value)==null?void 0:p.firstChild;c&&(a("updateSvgContainer",c),m(),c.querySelectorAll("[data-apartment-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=h.getAttribute("data-apartment-id");i[d]={element:h,state:s.value===d?"selected":"idle"},h.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),h.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),h.addEventListener("click",()=>{a("onClick",d)})}))})}return(c,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:o.value},null,8,_o))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),bo="data:image/png;base64,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",_e=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(bo),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ee{constructor(n){K(this,"_buildingIds");this._buildingIds=n}static empty(){return new Ee([])}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,s,i]=n.getPixel(t,a);if(i===255&&o===r&&r===s)return o}}const Vo=180;class ot{constructor(n){K(this,"_cdnFileResolver");K(this,"_resourceLoader");this._cdnFileResolver=n,this._resourceLoader=new le}constructFileUrl(n){return this._cdnFileResolver?ee(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(Vo,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),s=this.getBackgroundImageData(n);return{mapImage:t,viewLongitude:a,buildingIds:o,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class Se{constructor(n){K(this,"_mapImage");K(this,"_context");this._mapImage=n,this._context=null}static empty(){return new Se(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 Bo=new Date(0);class Te{constructor(n){K(this,"_imagesByDay");K(this,"_state");this._imagesByDay=n,this._state={selectedIndex:0}}static empty(){return new Te([{referenceDate:Bo,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 Fe(l){return("0"+l).slice(-2)}function Eo(){const l=new Date;return[l.getFullYear().toString(),Fe(l.getMonth()+1),Fe(l.getDate())," ",Fe(l.getHours()),Fe(l.getMinutes()),Fe(l.getSeconds())].join("")}function So(){return"Visuado-Snapshot-"+Eo()}class xo{constructor(n,t){K(this,"data");this.data=n}download(n=null){n=n||So();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 nt(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,c;u=r[m],c={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}]}]},We(r[m])&&(r[m]=c)}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 No={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Do={class:"pa-1"},Io={class:"pa-1"},Ao={class:"pa-1"},Fo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},To={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},Lo=["innerHTML"],Mo={style:{"z-index":"7"}},$o=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:n}){const t=l,a=n,o=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(null),m=e.ref(4),u=e.ref(),c=e.ref(!1),p=e.ref(!1),v=e.ref(),h=e.ref(),d=e.computed(()=>h.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),k=e.ref(),y=e.ref(),g=e.ref(t.apartmentChooserData),D=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.watch(c,I=>{I&&a("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([B])=>{D.value=B.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const E=e.computed(()=>g.value?g.value.cameras.filter(je):[]),A=e.computed(()=>g.value?g.value.cameras.filter(We):[]),_=async()=>{try{let I,B;return B=await le.loadJson(ee(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(B.version)===5?B:(I=nt(B),I)}catch(I){c.value=!1,a("onError",I)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await _()),t.defaultCamera?o.value=E.value.find(I=>I.cameraName===t.defaultCamera)||E.value[0]:o.value=E.value[0],m.value=g.value.cameras.findIndex(I=>I===o.value),m.value=Math.max(0,m.value))},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{g.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(I=>I.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{g.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(I=>I.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(I=>I.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function V(I){o.value!==I&&v.value.rotateShortestRoute(g.value.cameras.findIndex(B=>B===I))}function M(I){m.value=I,We(g.value.cameras[m.value])?i.value=g.value.cameras[m.value]:(e.nextTick(()=>{x(g.value.cameras[m.value])}),i.value=null)}function x(I){const B=r.value;o.value=I,m.value=g.value.cameras.findIndex($=>$===o.value),e.nextTick(()=>{R(o.value.sunsimDayOfYear.find($=>$.dayOfYear===B.dayOfYear)||o.value.sunsimDayOfYear[0])})}function R(I){const B=s.value;r.value=I,e.nextTick(()=>{C(r.value.timeSamples.find($=>$.timeInHours===B.timeInHours)||r.value.timeSamples.find($=>$.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function C(I){s.value=I}function w(I){a("onClick",I,()=>{const B=g.value.unitData.find($=>$.unitId===I);B&&v.value.rotateShortestRoute(B.bestScene)})}function F(I){a("onHoverOver",I),u.value=I}function T(I){a("onHoverOut",I),u.value=void 0}function X(I){const{layerX:B,layerY:$}=I;let O=I.target,G=!1;for(;O;)if(O===k.value){G=!0;break}else O=O.parentElement;if(G){const j=I.currentTarget;f.value={x:B,y:$,width:j.clientWidth,height:j.clientHeight}}else f.value=void 0;a("onMouseMove",I,f.value)}return(I,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:!c.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:y,class:e.normalizeClass({mobile:D.value}),onMousemove:X},[e.createElementVNode("div",No,[e.createElementVNode("div",Do,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(fo,{key:0,"apartment-chooser-data":g.value,"current-camera":o.value,disabled:p.value,onOnCameraChange:V},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Io,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(ho,{key:0,"camera-data":o.value,"current-day":r.value,disabled:p.value,onOnDayChange:R},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ao,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(vo,{key:0,"day-data":r.value,"current-time":s.value,disabled:p.value,onOnTimeChange:C},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Fo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(ko,{key:0,ref_key:"rotator",ref:v,"apartment-chooser-data":g.value,"current-scene":m.value,"selected-id":I.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:w,onOnSceneChange:M,onOnRotateStart:B[0]||(B[0]=O=>p.value=!0),onOnRotateFinish:B[1]||(B[1]=O=>p.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",To,[o.value.cameraRotation?(e.openBlock(),e.createBlock(_e,{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(E.value,O=>(e.openBlock(),e.createBlock(co,{key:O.overlayFilename,"camera-data":O,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,O=>(e.openBlock(),e.createBlock(uo,{"transition-data":O,"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,Lo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(wo,{"cdn-file-resolver":I.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:w,onOnHoverOver:F,onOnHoverOut:T,onUpdateSvgContainer:B[2]||(B[2]=O=>k.value=O)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),I.$slots.popup&&f.value&&u.value?(e.openBlock(),e.createBlock(ve,{key:0,"is-hoverable":d.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",Mo,[e.renderSlot(I.$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:h},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),Oo={class:"sunsim-bar-wrapper"},Ro={class:"sunsim-date d-flex align-center pl-5 pr-5"},Uo={key:1,class:"text-center text-body-1"},Ho={class:"sunsim-wrapper d-flex align-center px-3"},zo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},at=U(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 s(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const c=Math.floor(o.value/2).toString().padStart(2,"0"),p=o.value%2===0?"00":"30";return`${c}:${p}`}),m=e.computed(()=>t.dateSelector.dates.map(s)),u=e.computed({get(){return s(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(m.value.indexOf(c))}});return e.watch(o,c=>{a("update:modelValue",c)}),e.watch(r,c=>{t.dateSelector.selectIndex(m.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{o.value=Math.floor(c)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(c,p)=>{const v=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),d=e.resolveComponent("v-progress-linear"),f=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Oo,[e.createElementVNode("div",Ro,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=k=>r.value=k),items:m.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Uo,e.toDisplayString(u.value),1))]),e.createElementVNode("div",Ho,[e.createElementVNode("span",zo,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}),c.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]=k=>o.value=k),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"]]),Yo={key:0},Po=["src"],rt=U(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 ze(0)),s=e.ref();e.watch(()=>t.imageUrls,u=>{a("reset"),m(u)}),e.onMounted(()=>{m(t.imageUrls),new ResizeObserver(u=>{window.requestAnimationFrame(()=>{const c=u[0].contentRect.width,p=u[0].contentRect.height;a("resize",{width:c,height:p})})}).observe(s.value)});function i(){o.value="preloaded",a("preloaded")}function m(u){o.value="init",s.value.src=u[0],r.value=new ze(u.length).onLoadFinished(()=>{o.value="loaded",a("ready")})}return(u,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,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",Yo,[(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:c[0]||(c[0]=h=>r.value.partLoaded())},null,42,Po))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),jo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Wo={class:"image-instances"},Go={key:0},Qo={class:"svg-container"},qo=["viewBox"],Zo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Jo=["innerHTML"],Xo=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:n}){const t=l,a=n;e.provide(ce,t.i18nConfig?new me(t.i18nConfig):new me);const o=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),s=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),c=e.ref(new le),p=e.ref(),v=e.ref("0 0 0 0"),h=e.ref(),d=e.ref(),f=e.ref(Ee.empty()),k=e.ref(Se.empty()),y=e.ref(),g=e.computed(()=>y.value.isHoverEnabled);e.watch(i,(C,w)=>{C?a("hoverOverBuilding",C):a("hoverOutBuilding",w)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[C,w,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),T=parseInt(F);m.value=parseInt(w)*2+(T<15?0:T>45?2:1)}}),e.onMounted(async()=>{const w=await new ot(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(w){k.value=new Se(w.mapImage),f.value=new Ee(w.buildingIds),h.value=new Te(w.backgrounds),d.value={buildingOverlays:w.buildingOverlays,viewLongitude:w.viewLongitude};const F=[];for(let{id:T,url:X}of w.buildingOverlays)c.value.loadJson(X.replace(".png",".svg")).then(I=>{const $=new DOMParser().parseFromString(I,"image/svg+xml").getElementsByTagName("svg")[0];v.value=$.getAttribute("viewBox"),F.push({id:T,svg:$.innerHTML})});p.value=F}else u.value=!0});function D({width:C,height:w}){r.value.width=C,r.value.height=w}function E(){o.value={preloaded:!1,ready:!1}}function A(C){const w=t.colorCallback(C,C===i.value?"hover":"idle"),F=[];return C===i.value?F.push("hover"):F.push("idle"),w&&t.canGoToBuildingCallback(C)?F.push("clickable"):F.push("restricted"),F.join(" ")}function _(C){const w=t.colorCallback(C,C===i.value?"hover":"idle");if(w){const{r:F,g:T,b:X,a:I,s:B}=w;return{strokeWidth:B!==void 0?B:2,stroke:`rgb(${F}, ${T}, ${X})`,strokeOpacity:1,fill:`rgb(${F}, ${T}, ${X})`,fillOpacity:I/255,cursor:`${t.canGoToBuildingCallback(C)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function V(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height},i.value=w,a("hoverOverBuilding",w))}function M(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",w))}function x(C,w){const{layerX:F,layerY:T}=C;g.value&&(s.value={x:F,y:T,width:r.value.width,height:r.value.height})}function R(C){i.value=C,g.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(C,w)=>{const F=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(F,{"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:C.interactiveDesktop,mobile:C.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Wo,[e.createVNode(rt,{"image-urls":h.value.imageUrls,"active-index":m.value,onResize:D,onPreloaded:w[0]||(w[0]=T=>o.value.preloaded=!0),onReady:w[1]||(w[1]=T=>o.value.ready=!0),onReset:E},null,8,["image-urls","active-index"]),p.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Go,[e.createElementVNode("div",Qo,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({id:T,svg:X},I)=>(e.openBlock(),e.createElementBlock("g",{key:I,innerHTML:X,"data-building-id":T,class:e.normalizeClass(A(T)),style:e.normalizeStyle(_(T)),onMouseover:B=>V(B,T),onMouseout:B=>M(B,T),onMousemove:B=>x(B),onClick:B=>R(T)},null,46,Zo))),128))],8,qo))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:C.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(_e,{key:0,class:"north-indicator",longitude:d.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(at,{modelValue:m.value,"onUpdate:modelValue":w[2]||(w[2]=T=>m.value=T),"date-selector":h.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),C.showCards&&i.value?(e.openBlock(),e.createBlock(ve,{key:0,"is-hoverable":g.value,pos:s.value,onOutside:w[3]||(w[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default",{building:i.value,canGoToBuilding:C.canGoToBuildingCallback(i.value),goToBuilding:()=>C.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value),pos:s.value,isHoverable:g.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"]]),Ko=U(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:c});const a=e.ref(!1),o=e.ref(),r=e.ref(new le),s=e.ref(),i=e.ref(),m=e.ref([]),u=e.ref();e.watch(()=>t.color,(h,d)=>{(h.r!==d.r||h.g!==d.g||h.b!==d.b||h.a!==d.a)&&p()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),c()});function c(){if(!o.value||!u.value)return;const{width:h,height:d}=t.dimensions;if(!(h===0||d===0)){s.value=u.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(o.value,0,0,h,d),i.value=s.value.getImageData(0,0,h,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(){s.value&&i.value&&(v(),s.value.putImageData(i.value,0,0))}function v(){if(t.color)for(let h=0;h<m.value.length;h++)i.value.data[m.value[h]-3]=t.color.r,i.value.data[m.value[h]-2]=t.color.g,i.value.data[m.value[h]-1]=t.color.b,i.value.data[m.value[h]]=t.color.a}return(h,d)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:u,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),en={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},tn={class:"image-instances"},on=["innerHTML"],nn=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:n}){const t=l,a=n;e.provide(ce,t.i18nConfig?new me(t.i18nConfig):new me);const o=e.ref(),r=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),m=e.ref(),u=e.ref(Ee.empty()),c=e.ref(Se.empty()),p=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((C,w)=>({x:C,y:w})),d=e.ref(!1),f=e.ref(),k=e.ref(),y=e.ref(),g=e.computed(()=>{var C;return(C=f.value)==null?void 0:C.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[C,w,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),T=parseInt(F);v.value=parseInt(w)*2+(T<15?0:T>45?2:1)}}),e.watch(p,(C,w)=>{C?a("hoverOverBuilding",C):a("hoverOutBuilding",w)}),e.onMounted(async()=>{const w=await new ot(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);w?(c.value=new Se(w.mapImage),u.value=new Ee(w.buildingIds),o.value=new Te(w.backgrounds),m.value={buildingOverlays:w.buildingOverlays,viewLongitude:w.viewLongitude},_()):d.value=!0});function D({width:C,height:w}){s.value.width=C,s.value.height=w,e.nextTick(_)}function E(){r.value={preloaded:!1,ready:!1}}function A(C){const{layerX:w,layerY:F}=C,{x:T,y:X}=h.value(w,F);return u.value.getBuildingId(c.value,T,X)}function _(){if(k.value&&(c.value.update(k.value),y.value))for(const C of y.value)C.setupDraw()}function V(C){const{layerX:w,layerY:F}=C;g.value&&(p.value=A(C),p.value!==void 0&&(i.value={x:w,y:F,width:s.value.width,height:s.value.height}))}function M(C){p.value=A(C),g.value&&p.value&&a("goToBuilding",p.value)}function x(C){return t.colorCallback(C,C===p.value?"hover":"idle")}function R({resolve:C}){h.value=C}return(C,w)=>{const F=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",en,[e.createVNode(F,{"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: ${s.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ke,{desktop:C.interactiveDesktop,mobile:C.interactiveMobile,onUpdate:R},{default:e.withCtx(()=>[e.createElementVNode("div",tn,[e.createVNode(rt,{"image-urls":o.value.imageUrls,"active-index":v.value,onResize:D,onPreloaded:w[0]||(w[0]=T=>r.value.preloaded=!0),onReady:w[1]||(w[1]=T=>r.value.ready=!0),onReset:E},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,T=>(e.openBlock(),e.createBlock(Ko,{ref_for:!0,ref_key:"overlays",ref:y,key:T.id,"image-url":T.url,dimensions:s.value,color:x(T.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:k,class:{hover:!!p.value},onClick:M,onMousemove:V}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:C.customOverlayContent},null,8,on),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(_e,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(at,{modelValue:v.value,"onUpdate:modelValue":w[2]||(w[2]=T=>v.value=T),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),C.showCards&&p.value?(e.openBlock(),e.createBlock(ve,{key:0,"is-hoverable":g.value,pos:i.value,onOutside:w[3]||(w[3]=()=>p.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default",{building:p.value,canGoToBuilding:C.canGoToBuildingCallback(p.value),goToBuilding:()=>C.canGoToBuildingCallback(p.value)&&a("goToBuilding",p.value),pos:i.value,isHoverable:g.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"]]),lt=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?Xo:nn);return(r,s)=>(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:s[0]||(s[0]=i=>a("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>a("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[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"]))}}),an=["src"],rn=U(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(l){const n=l,t=e.computed(()=>ee(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,an)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),ln=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(rn,{"time-sample-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),sn=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(ln,{"day-data":o,"cdn-file-resolver":n.cdnFileResolver,"current-time":n.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),cn=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,s)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[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"])}}}),dn=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(s=>s.dayOfYear===o.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,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]=c=>o.value=c),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(m,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items"])}}}),mn={key:0,class:"py-2"},un={class:"small"},pn={class:"small"},fn=U(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 s(m){const u=m*60,c=Math.floor(u/60),p=u%60;return`${c.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(c=>c.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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",mn,[e.createVNode(c,{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(s(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",un,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",pn,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{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(s(o.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),hn=["innerHTML"],gn=U(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(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const c in i){const{element:p,state:v}=i[c],{r:h,g:d,b:f,a:k,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${h}, ${d}, ${f}, ${k/255})`,p.style.stroke=`rgb(${h}, ${d}, ${f})`,p.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const c in i)i[c].state==="selected"&&c!==s.value?i[c].state="idle":i[c].state!=="selected"&&c===s.value&&(i[c].state="selected")}),e.watchEffect(async()=>{o.value=await le.loadText(ee(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 c=(p=r.value)==null?void 0:p.firstChild;if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",r.value.offsetWidth.toString()),c.setAttribute("height",r.value.offsetHeight.toString())})}function u(){e.nextTick(()=>{var p;const c=(p=r.value)==null?void 0:p.firstChild;c&&(a("updateSvgContainer",c),m(),c.querySelectorAll("[data-building-id]").forEach(h=>{h.style.strokeWidth="0",h.style.stroke="rgba(255,255,255,0)",h.style.fill="rgba(255,255,255,0)",h.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const d=h.getAttribute("data-building-id");i[d]={element:h,state:s.value===d?"selected":"idle"},h.addEventListener("mouseover",()=>{i[d].state==="idle"&&(i[d].state="hover"),a("onHoverOver",d)}),h.addEventListener("mouseout",()=>{i[d].state==="hover"&&(i[d].state="idle"),a("onHoverOut",d)}),h.addEventListener("click",()=>{a("onClick",d)})}))})}return(c,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:o.value},null,8,hn))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function it(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 yn={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},Cn={key:0,class:"pa-1"},vn={class:"pa-1"},kn={class:"pa-1 flex-grow-1"},_n={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},wn=["innerHTML"],bn={style:{"z-index":"7"}},Vn=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:n}){const t=l,a=n,o=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(),m=e.ref(!1),u=e.ref(),c=e.computed(()=>u.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),v=e.ref(),h=e.ref(),d=e.ref(t.buildingChooserData),f=e.ref(!1);e.onMounted(()=>m.value=!0),e.watch(m,V=>{V&&a("onInitialize")}),e.watch(()=>h.value,()=>{h.value&&new ResizeObserver(([M])=>{f.value=M.contentRect.width<t.mobileBreakpoint}).observe(h.value)});const k=async()=>{try{let V;if(!t.cdnFileResolver)return V;let M;return M=await le.loadJson(ee(t.cdnFileResolver,"/buildingChooser.json")),parseInt(M.version)===5?M:(V=it(M),V)}catch(V){m.value=!1,a("onError",V)}};e.watch([d,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(d.value||(d.value=await k()),t.defaultCamera?o.value=d.value.cameras.find(V=>V.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(V=>V.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?s.value=r.value.timeSamples.find(V=>V.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(V=>V.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function y(V){const M=r.value;o.value=V,e.nextTick(()=>{g(o.value.sunsimDayOfYear.find(x=>x.dayOfYear===M.dayOfYear)||o.value.sunsimDayOfYear[0])})}function g(V){const M=s.value;r.value=V,e.nextTick(()=>{D(r.value.timeSamples.find(x=>x.timeInHours===M.timeInHours)||r.value.timeSamples.find(x=>x.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function D(V){s.value=V}function E(V){a("onHoverOver",V),i.value=V}function A(V){a("onHoverOut",V),i.value=void 0}function _(V){const{layerX:M,layerY:x}=V;let R=V.target,C=!1;for(;R;)if(R===v.value){C=!0;break}else R=R.parentElement;if(C){const w=V.currentTarget;p.value={x:M,y:x,width:w.clientWidth,height:w.clientHeight}}else p.value=void 0;a("onMouseMove",V,p.value)}return(V,M)=>{const x=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(x,{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:h,class:e.normalizeClass({mobile:f.value}),onMousemove:_},[e.createElementVNode("div",yn,[d.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",Cn,[e.createVNode(cn,{"building-chooser-data":d.value,"current-camera":o.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",vn,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(dn,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",kn,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(fn,{key:0,"day-data":r.value,"current-time":s.value,onOnTimeChange:D},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",_n,[o.value.cameraRotation?(e.openBlock(),e.createBlock(_e,{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,R=>(e.openBlock(),e.createBlock(sn,{key:R.overlayFilename,"camera-data":R,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.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,wn)):e.createCommentVNode("",!0),e.createVNode(gn,{"cdn-file-resolver":V.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:M[0]||(M[0]=R=>a("onClick",R)),onOnHoverOver:E,onOnHoverOut:A,onUpdateSvgContainer:M[1]||(M[1]=R=>v.value=R)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),V.$slots.popup&&p.value&&i.value?(e.openBlock(),e.createBlock(ve,{key:0,"is-hoverable":c.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",bn,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:c.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 xe={};Object.defineProperty(xe,"__esModule",{value:!0});var Bn=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},En=typeof window<"u"&&typeof window.document<"u",Sn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,xn=(typeof self>"u"?"undefined":Bn(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Nn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Dn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",In=xe.isBrowser=En;xe.isWebWorker=xn,xe.isNode=Sn,xe.isJsDom=Nn,xe.isDeno=Dn;const An={id:"player-wrapper"},Fn={id:"player-sizer"},Tn={class:"player-control",id:"controls-top-left"},Ln={class:"player-control",id:"controls-top-center"},Mn={class:"player-control",id:"controls-top-right"},$n={class:"player-control",id:"controls-center-left"},On={class:"player-control",id:"controls-center-center"},Rn={class:"player-control",id:"controls-center-right"},Un={class:"player-control",id:"controls-bottom-left"},Hn={class:"player-control",id:"controls-bottom-center"},zn={class:"player-control",id:"controls-bottom-right"},Yn={id:"main-canvas"},Pn=U(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=Dt.PlayerV2,a=l,{cdnFileResolver:o,interiorId:r,apartmentId:s,currentCameraId:i,showStaticImage:m,mouseSensitivity:u}=e.toRefs(a),c=n,p=e.ref(),v=e.ref(i.value),h=e.ref(0),d=e.ref(0);e.watch(i,()=>{v.value=i.value}),e.watch([r,s],async()=>{p.value&&await p.value.loadInterior(y=>ee(o.value,`/${r.value}/${s.value}${y}`),v.value,!1)}),e.watch(v,()=>{p.value&&p.value.goToCamera(v.value,!0),c("newCameraCallback",v.value)},{immediate:!0}),e.watch([o],async()=>{await k(),e.nextTick(async()=>{await f()})},{immediate:!0,deep:!0}),e.watch(p,()=>{if(p.value){c("playerApiCallback",p.value);const y=p.value.getCurrentCamera();y&&(v.value=y.id,c("sunsimCallback",y.sunsimDayOfYear))}});async function f(){k();const E={initialized:()=>{p.value=t.Main.getPlayerAPI();const _=p.value.getCurrentCamera();_&&(v.value=_.id)},newCamera:_=>{c("newFloorCallback",_.floorLevel),c("sunsimCallback",_.sunsimDayOfYear),p.value&&p.value.resetMarkerBehaviour(0),v.value=_.id},newFOV:_=>{c("newFovCallback",_),d.value=_},newRotation:_=>{const V=_+0;c("newRotationCallback",V),h.value=V}};if(!In)return;const A=await new t.Main(_=>ee(o.value,`/${r.value}/${s.value}${_}`),"qpc",E,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 k(){p.value&&(await p.value.destroy(),p.value=void 0)}return e.onBeforeUnmount(()=>{k()}),(y,g)=>(e.openBlock(),e.createElementBlock("div",An,[e.createElementVNode("div",Fn,[e.renderSlot(y.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Tn,[e.renderSlot(y.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",Ln,[e.renderSlot(y.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Mn,[e.renderSlot(y.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",$n,[e.renderSlot(y.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",On,[e.renderSlot(y.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Rn,[e.renderSlot(y.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Un,[e.renderSlot(y.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Hn,[e.renderSlot(y.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",zn,[e.renderSlot(y.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Yn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(e.unref(m)?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-4e601038"]]),jn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Wn=["stroke"],Gn=["stroke"],Qn={class:"floor-level-label"},qn=U(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(ce),r=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),m=e.computed(()=>s.value==="upper");function u(){const c=t.level+1;c>=r.value.length?a("level",r.value[0]):a("level",r.value[c])}return(c,p)=>{const v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{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",jn,[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,Wn),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,Gn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",Qn,e.toDisplayString(e.unref(o).getLabel(s.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),Zn={class:"d-none d-md-inline"},Jn={class:"interior-selector-list"},Xn=["onClick"],Kn={class:"d-flex align-center justify-left pa-0 ma-0"},ea={class:"pa-0 ma-0"},ta={class:"text-caption ma-2 no-wrap"},oa=U(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(ce);return(r,s)=>{const i=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),u=e.resolveComponent("v-img"),c=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:p})=>[e.createVNode(m,e.mergeProps({rounded:""},p,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",Zn,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("div",Jn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(p,v)=>(e.openBlock(),e.createElementBlock("div",{key:`at-menuitem-${v}`,onClick:h=>a("selectInterior",p.archetypeID),class:e.normalizeClass(["interior-selector-list-item",{active:v===r.selectedIndex}])},[e.createElementVNode("div",Kn,[e.createElementVNode("div",ea,[e.createVNode(u,{width:"100","max-width":"100",height:"66",src:p.url,class:"pa-0 ma-0"},null,8,["src"])]),e.createElementVNode("div",ta,e.toDisplayString(e.unref(o).get(p.title)),1)])],10,Xn))),128))])]),_:1})])}}}),[["__scopeId","data-v-be1645c7"]]),na="data:image/png;base64,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",aa="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==",ra=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(l){const n=l,t=e.ref(aa),a=e.ref({backgroundImage:`url(${na})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-n.rotation+180}deg)`}));return(r,s)=>{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)}}}),la="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",ia={class:"d-flex flex-column align-center justify-center clock-face"},sa={class:"clock-icon"},ca={class:"clock-value grey--text text--darken-3"},da=U(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 s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",ia,[e.createElementVNode("div",sa,[e.createVNode(s,{src:e.unref(la),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",ca,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Ge=l=>(e.pushScopeId("data-v-f59c4942"),l=l(),e.popScopeId(),l),ma={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ua=[Ge(()=>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)),Ge(()=>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)),Ge(()=>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))],pa=U(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(l,{emit:n}){const t=l,a=n,o=e.inject(ce),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const m=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),c=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(c,{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",ma,ua)):(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"]]),we=l=>(e.pushScopeId("data-v-a5e7f474"),l=l(),e.popScopeId(),l),fa={key:0,class:"desktop-content"},ha={class:"d-flex align-center justify-center"},ga={class:"box col d-flex flex-column align-bottom justify-center"},ya=we(()=>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)),Ca={class:"text-div text-center text mt-2"},va={class:"box col d-flex flex-column align-bottom justify-center"},ka=we(()=>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)),_a={class:"text-div text-center text mt-2"},wa={class:"box col d-flex flex-column align-bottom justify-center"},ba=we(()=>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)),Va={class:"text-div text-center text mt-2"},Ba={class:"box col d-flex flex-column align-bottom justify-center"},Ea=we(()=>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)),Sa={class:"text-div text-center text mt-2"},xa={key:1,class:"d-flex tablet-mobile-content"},Na={class:"box col my-1"},Da=we(()=>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)),Ia={class:"text text-col text-center"},Aa={class:"box col my-1"},Fa=we(()=>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)),Ta={class:"text text-col text-center"},La={class:"box col my-1"},Ma=we(()=>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)),$a={class:"text text-col text-center"},Oa={class:"text-h6 text-capitalize"},Ra={class:"mt-2"},Ua={class:"d-flex justify-center align-center checkbox-container"},Ha={class:"text-caption"},za=U(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(l,{emit:n}){const t=n,a=e.inject(ce),o=e.ref(!1),r=e.ref(!1),s=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 c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-card-title"),v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-divider"),d=e.resolveComponent("v-card-text"),f=e.resolveComponent("v-card-actions"),k=e.resolveComponent("v-card"),y=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(k,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(p,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,{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]=D=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("learnMore"))+" ",1),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(h,{class:"my-3"}),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",fa,[e.createElementVNode("div",ha,[e.createElementVNode("div",ga,[ya,e.createElementVNode("div",Ca,e.toDisplayString(e.unref(a).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",va,[ka,e.createElementVNode("div",_a,e.toDisplayString(e.unref(a).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",wa,[ba,e.createElementVNode("div",Va,e.toDisplayString(e.unref(a).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",Ba,[Ea,e.createElementVNode("div",Sa,e.toDisplayString(e.unref(a).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),s.value?(e.openBlock(),e.createElementBlock("div",xa,[e.createElementVNode("div",Na,[Da,e.createElementVNode("div",Ia,e.toDisplayString(e.unref(a).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",Aa,[Fa,e.createElementVNode("div",Ta,e.toDisplayString(e.unref(a).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",La,[Ma,e.createElementVNode("div",$a,e.toDisplayString(e.unref(a).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(h,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(k,{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",Oa,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(a).getLabel("disclaimer")),1)]),e.createElementVNode("p",Ra,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]=D=>r.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,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",Ua,[e.createVNode(g,{density:"compact",modelValue:o.value,"onUpdate:modelValue":u[2]||(u[2]=D=>o.value=D),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ha,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]=D=>i()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Ya=l=>(e.pushScopeId("data-v-bd4f66c3"),l=l(),e.popScopeId(),l),Pa={class:"player-settings-ui"},ja={id:"settings-ui-form"},Wa={class:"form-inputs"},Ga={class:"setting-label"},Qa={class:"setting-label"},qa=["max","min","step"],Za={class:"setting-label"},Ja={class:"flex-grow-1 flex-shrink-0"},Xa=["onUpdate:modelValue"],Ka={key:3,"d-block":"",class:"mt-3"},er={class:"d-flex justify-space-between"},tr={class:"setting-label"},or={class:"mt-5 d-block",style:{width:"300px"}},nr=Ya(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),ar={class:"d-block",style:{width:"300px"}},rr={class:"form-buttons"},lr=U(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(l,{emit:n}){const t=l,a=n,o=e.ref(h(t.initialSettings));e.watch(o,()=>{s()},{deep:!0});const r=e.computed(()=>{let d={};for(const[f,k]of Object.entries(o.value))f==="whitePoint"?d[f]=c(k.value):d[f]=k.value;return d});function s(){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=h(),a("updateSettings",r.value)}function c(d){const f=parseInt(d.substr(1,2),16)/255,k=parseInt(d.substr(3,2),16)/255,y=parseInt(d.substr(5,2),16)/255;return[f,k,y]}function p(d){var f=d.toString(16);return f.length==1?"0"+f:f}function v([d,f,k]){return"#"+p(parseInt((d*255).toString()))+p(parseInt((f*255).toString()))+p(parseInt((k*255).toString()))}function h(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 k={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:k.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:k.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:k.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:k.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:k.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:k.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:k.temperature},whitePoint:{label:"White Point",type:"color",value:v(k.whitePoint)},lut:{label:"Lut",type:"lut",items:f.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:k.lut}}}return(d,f)=>{const k=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),D=e.resolveComponent("v-btn"),E=e.resolveComponent("v-select"),A=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("form",ja,[e.createElementVNode("div",Wa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(_,V,M)=>(e.openBlock(),e.createElementBlock("div",{key:M,"d-block":""},[_.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,onChange:s,max:_.max,min:_.min,step:_.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Ga,e.toDisplayString(_.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,"hide-details":"",dense:"",outlined:"",type:"number",max:_.max,min:_.min,step:_.step,style:{width:"90px"},onChange:s},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:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",Qa,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",Za,e.toDisplayString(_.label),1),e.createElementVNode("div",Ja,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":x=>o.value[V].value=x,type:"color",onChange:s},null,40,Xa),[[e.vModelText,o.value[V].value]])]),e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,qa)):e.createCommentVNode("",!0),_.type==="lut"?(e.openBlock(),e.createElementBlock("div",Ka,[e.createElementVNode("div",er,[e.createElementVNode("div",tr,e.toDisplayString(_.label),1),e.createElementVNode("div",null,[e.createVNode(D,{class:"ml-2","x-small":"",onClick:x=>o.value[V].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",or,[e.createElementVNode("div",null,[e.createVNode(E,{modelValue:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,items:_.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[nr,e.createElementVNode("div",ar,[e.createElementVNode("div",null,[e.createVNode(k,{modelValue:o.value[V].value,"onUpdate:modelValue":x=>o.value[V].value=x,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",rr,[e.createVNode(D,{onClick:f[0]||(f[0]=_=>u())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(D,{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(D,{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"]]),ir={class:"top-left"},sr={class:"top-right"},cr={class:"header-slot anchor elevation-5"},dr={id:"moveableBody",class:"body-slot moveable-body anchor d-flex justify-center align-center position-relative"},mr={class:"moveable-footer elevation-5"},ur=U(e.defineComponent({__name:"VMoveable",props:{size:{}},setup(l,{expose:n}){const t=e.ref(void 0),a=e.ref(void 0);n({bodyWidth:t,bodyHeight:a}),e.onMounted(()=>{r(document.getElementById("moveableDiv")),o(document.querySelector("#moveableDiv"))});const o=s=>{new ResizeObserver(()=>{const m=document.getElementById("moveableBody");m&&(t.value=m.clientWidth,a.value=m.clientHeight)}).observe(s)},r=s=>{const i=document.getElementsByClassName("anchor");for(let f=0;f<i.length;f++){const k=i[f];k.addEventListener("touchstart",v,{passive:!1}),k.addEventListener("touchend",d,{passive:!1}),k.addEventListener("mousedown",v,{passive:!1}),k.addEventListener("mouseup",d,{passive:!1})}let m=0,u=0,c=0,p=0;function v(f){f=f||window.event,f.preventDefault();let k=f;f.type==="touchstart"&&(k=f.touches[0]),c=k.clientX,p=k.clientY,document.addEventListener("mouseup",d,{passive:!1}),document.addEventListener("touchend",d,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(f){f=f||window.event,f.preventDefault();let k=f;f.type==="touchmove"&&(k=f.touches[0]),m=c-k.clientX,u=p-k.clientY,c=k.clientX,p=k.clientY,s.style.top=s.offsetTop-u+"px",s.style.left=s.offsetLeft-m+"px"}function d(){document.removeEventListener("mouseup",d,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",d,!1),document.removeEventListener("touchmove",h,!1)}};return(s,i)=>(e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass([s.size,"sizer rounded"])},[e.createElementVNode("div",ir,[e.renderSlot(s.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",sr,[e.renderSlot(s.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",cr,[e.renderSlot(s.$slots,"header",{},void 0,!0)]),e.createElementVNode("div",dr,[e.renderSlot(s.$slots,"body",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2))}}),[["__scopeId","data-v-1a87ee81"]]),pr={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},fr=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),hr=["transform"],gr=[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)],yr=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(l){return(n,t)=>(e.openBlock(),e.createElementBlock("svg",pr,[fr,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+n.rotation})`},gr,8,hr)]))}}),Cr={class:"minimap-wrapper"},vr={class:"minimap-container"},kr=U(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{},containerWidth:{},containerHeight:{}},setup(l){const n=l,t=e.ref(512),a=e.ref(384),o=e.ref(512),r=e.ref(384),s=e.ref(new Ce.Vector3),i=e.ref(new Ce.Object3D),m=e.ref({}),u=e.ref(1),c=e.ref(),p=t.value/t.value,v=e.computed(()=>{const C=n.containerWidth/n.containerHeight;let w;return C>p?w=n.containerHeight/a.value:w=n.containerWidth/t.value,w}),h=e.computed(()=>n.allCameras),d=e.computed(()=>n.allCameras.find(C=>C.id===n.currentCamera)),f=e.computed(()=>n.rotation),k=e.computed(()=>new Ce.Vector3(n.storey.position.x,n.storey.position.y,n.storey.position.z)),y=e.computed(()=>parseFloat(d.value.floor_vertical_position)),g=e.computed(()=>h.value.map(C=>{const w=C.uposition.split(","),F=new Ce.Vector3(Number(w[0])-k.value.x,0,Number(w[2])-k.value.z);return{...C,...M(s.value,F)}})),D=e.computed(()=>({backgroundImage:`url(${n.backgroundImage})`})),E=e.computed(()=>({transform:`scale(${v.value*.9}) rotate(${n.transformAngle}deg)`}));e.onMounted(()=>{x(),_(),R();const C=document.getElementById("moveableDiv");C&&(c.value=new ResizeObserver(R).observe(C))}),e.onBeforeUpdate(()=>{x(),_()}),e.onBeforeUnmount(()=>{c.value&&c.value.unobserve(document.getElementById("moveableDiv"))});function A(C){return Ce.MathUtils.degToRad(C)}function _(){i.value.rotation.x=180,i.value.rotation.y=n.storey.rotation.y*-1,m.value={transform:`rotateZ(${i.value.rotation.y}deg) rotateX(${i.value.rotation.x}deg)`}}function V(C){return{top:`${Math.abs(C.top)}%`,left:`${Math.abs(C.left)}%`}}function M(C,w){var F=new Ce.Vector3;const T=F.subVectors(C,w);return{relativePosition:T,left:T.x/o.value*100,top:T.z/r.value*100}}function x(){const C=n.storey.position.y-y.value;r.value=2*(C*Math.tan(A(n.storey.fovY/2))),o.value=512/384*r.value;const w=r.value/2,F=o.value/2,T=new Ce.Vector3(F*-1,0,w*-1);s.value=T}function R(){const C=document.getElementById("moveableDiv");if(!C)return;const w=C.offsetHeight/384*.8,F=C.offsetWidth/512*.8;C.offsetHeight>C.offsetWidth?u.value=F*.5:u.value=w*.9}return(C,w)=>(e.openBlock(),e.createElementBlock("div",Cr,[e.createElementVNode("div",vr,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(E.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(D.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(m.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,F=>(e.openBlock(),e.createElementBlock("div",{key:F.id},[d.value.floorLevel===F.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(V(F))},null,4)):e.createCommentVNode("",!0),d.value.id===F.id&&n.rotation!==null?(e.openBlock(),e.createBlock(yr,{key:1,class:"rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...V(F)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-bbc633f6"]]),_r=U(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 elevation-5",style:e.normalizeStyle({scale:a.scale})},[e.createVNode(_e,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-d047dca8"]]),wr={class:"ss-wrapper"},br={class:"slider"},Vr={class:"minimap-sun-slider"},Br={class:"d-flex flex-column align-center justify-center"},Er={key:0,class:"time-label"},Sr=U(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),s=e.ref(!0),i=e.ref(""),m=e.ref(new Map),u=e.computed(()=>t.minimapJson.storeys[t.level]),c=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]),a("setBackgroundImage",i.value),s.value=!1;const y=await h(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,g){return m.value.get(`sunsim${y}_${g}`)?m.value.get(`sunsim${y}_${g}`):""}async function h(y){let g=new Map;for(let D=0;D<y.length;D++){const E=y[D].sunsimFiles;for(let A=0;A<E.length;A++){const _=E[A];try{const V=_,M=_.split("."),x=await d(V);g.set(M[0],x)}catch{continue}}}return g}async function d(y){const D=await(await fetch(ee(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),E=await k(D);return f(E)}function f(y){return"data:image/jpeg;base64,"+y}async function k(y){return new Promise((g,D)=>{const E=new FileReader;E.onload=()=>{const A=E.result.split(",")[1];g(A)},E.onerror=D,E.readAsDataURL(y)})}return(y,g)=>{const D=e.resolveComponent("v-progress-linear"),E=e.resolveComponent("v-icon"),A=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",wr,[e.createElementVNode("div",br,[e.createElementVNode("div",Vr,[r.value?(e.openBlock(),e.createBlock(D,{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":g[0]||(g[0]=_=>o.value=_),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0,"thumb-label":"always"},{prepend:e.withCtx(()=>[e.createElementVNode("div",Br,[e.createVNode(E,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),e.createElementVNode("span",null,e.toDisplayString(p.value),1)])]),"thumb-label":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Er))])])}}}),[["__scopeId","data-v-52f122f2"]]),xr=l=>(e.pushScopeId("data-v-79a93ab0"),l=l(),e.popScopeId(),l),Nr={class:"left"},Dr={class:"right"},Ir=xr(()=>e.createElementVNode("div",{class:"d-flex justify-space-between pa-1"},[e.createElementVNode("div",{class:"center"}," ")],-1)),st=U(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(l,{emit:n}){const t=e.ref(null),a=l,o=n,r=e.ref(),s=e.ref(0),i=e.computed(()=>a.minimapJson.storeys[a.level]);e.watch(i,()=>{r.value=i.value.defaultSunsimFile?`/${a.apartmentJson.type}/${a.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${a.apartmentJson.type}/${a.apartmentJson.id}/minimap/${i.value.defaultSunsimFile}`},{immediate:!0,once:!0});const m=e.computed(()=>{let f=1;return s.value!==0&&(Math.abs(s.value)%180===0?f=1:f=-1),v.value==="small"&&(f=.6),f});function u(f){r.value=f}const c=["big","bigger","small"];function p(){const k=(c.indexOf(v.value)+1)%c.length;v.value=c[k]}const v=e.ref("big");function h(){s.value=s.value+90}const d=()=>{o("close")};return(f,k)=>{const y=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(ur,{ref_key:"minimapMoveable",ref:t,size:v.value},{"top-left":e.withCtx(()=>[e.createElementVNode("div",Nr,[e.createVNode(y,{icon:"mdi-window-close",size:"x-small",onClick:d})])]),"top-right":e.withCtx(()=>[e.createElementVNode("div",Dr,[e.createVNode(y,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:e.withModifiers(h,["stop"]),title:"Rotate"}),e.createVNode(y,{class:"resize-icon ml-1",icon:"mdi-image-size-select-small",size:"x-small",onClick:p,title:"Resize"})])]),header:e.withCtx(()=>[Ir]),body:e.withCtx(()=>[e.createVNode(_r,{scale:m.value,rotation:i.value.rotation.y,"transform-angle":s.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(kr,{"transform-angle":s.value,"all-cameras":f.apartmentJson.cameras,"background-image":r.value,rotation:f.rotation,"current-camera":f.currentCamera,storey:i.value,containerWidth:t.value&&t.value.bodyWidth||512,containerHeight:t.value&&t.value.bodyHeight||384},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey","containerWidth","containerHeight"])])]),footer:e.withCtx(()=>[e.createVNode(Sr,{"cdn-file-resolver":a.cdnFileResolver,"minimap-json":a.minimapJson,"apartment-json":a.apartmentJson,level:a.level,onSetBackgroundImage:u},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1},8,["size"])}}}),[["__scopeId","data-v-79a93ab0"]]);function Le(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 Ar={class:"d-flex align-center"},Fr={class:"d-block mr-1"},Tr={class:"small"},Lr={class:"small"},ct=U(e.defineComponent({__name:"VSunsimSlider",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange","toggleSunStudy"],setup(l,{emit:n}){const t=l,{currentDay:a,currentTime:o,disabled:r}=e.toRefs(t),s=n,i=e.ref(o.value.timeInHours);return e.watch(o,()=>{i.value=o.value.timeInHours}),e.watch(i,()=>{s("onTimeChange",a.value.timeSamples.find(m=>m.timeInHours===i.value))},{immediate:!0}),(m,u)=>{const c=e.resolveComponent("v-icon"),p=e.resolveComponent("v-slider"),v=e.resolveComponent("v-field"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ar,[e.createElementVNode("div",Fr,[e.createVNode(v,{class:"ss-slider-field",style:{},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]=d=>i.value=d),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(c,{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",Tr,e.toDisplayString(e.unref(Le)(i.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(c,{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",Lr,e.toDisplayString(e.unref(Le)(i.value)),1)],64))]),_:1})]),e.createElementVNode("div",null,[e.createVNode(h,{size:"small",class:"sun-study-toggle text-capitalize rounded-xl",icon:"mdi-close",onClick:u[1]||(u[1]=d=>s("toggleSunStudy"))})])])}}}),[["__scopeId","data-v-c06c753d"]]),Mr=e.defineComponent({__name:"VSunStudyToggle",props:{displaySunsim:{type:Boolean},showUI:{type:Boolean}},emits:["toggleSunStudy"],setup(l,{emit:n}){const t=n,a=e.inject(ce);return(o,r)=>{const s=e.resolveComponent("v-btn");return!o.displaySunsim&&o.showUI?(e.openBlock(),e.createBlock(s,{key:0,size:"small",varient:"tonal",prependIcon:"mdi-white-balance-sunny",class:"sun-study-toggle text-capitalize rounded-xl",onClick:r[0]||(r[0]=i=>t("toggleSunStudy"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("openSunStudy")),1)]),_:1})):e.createCommentVNode("",!0)}}}),dt=U(e.defineComponent({__name:"VAutoplay",props:{autoplayStatus:{type:Boolean}},emits:["toggleAutoPlay"],setup(l,{emit:n}){const t=n,a=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));return(o,r)=>{const s=e.resolveComponent("v-icon"),i=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(i,{size:"x-small",class:e.normalizeClass(["autoplay-btn",{mobile:a.value,"mt-1":a.value,"mx-1":a.value}]),onClick:r[0]||(r[0]=m=>t("toggleAutoPlay"))},{default:e.withCtx(()=>[e.createVNode(s,{icon:o.autoplayStatus?"mdi-pause":"mdi-play",size:"x-large",class:"pa-0 ma-0"},null,8,["icon"])]),_:1},8,["class"])}}}),[["__scopeId","data-v-7fd2b4f3"]]),$r={key:0,class:"sun-icon-wrapper"},Or=37,Rr=39,Me=U(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{},cameraHasSunStudy:{type:Function,default:l=>!1}},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}}),s=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===Or:a("previous");break;case u.keyCode===Rr:a("next");break;default:return}}function m(u,c){c(),a("goto",u)}return(u,c)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-img"),h=e.resolveComponent("v-icon"),d=e.resolveComponent("v-card"),f=e.resolveComponent("v-slide-group-item"),k=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["d-flex align-center justify-center",{mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0}])},[e.renderSlot(u.$slots,"before",{},void 0,!0),e.createVNode(k,{modelValue:r.value,"onUpdate:modelValue":c[2]||(c[2]=y=>r.value=y),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":!s.value,"center-active":"",mandatory:""},{prev:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:c[0]||(c[0]=y=>a("previous"))},null,8,["class"]))]),next:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(p,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:c[1]||(c[1]=y=>a("next"))},null,8,["class"]))]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.thumbnails,y=>(e.openBlock(),e.createBlock(f,{key:y.id},{default:e.withCtx(({toggle:g,selectedClass:D})=>[e.createVNode(d,{class:e.normalizeClass(["position-relative",[s.value?"ma-0":"ma-1",D,"single-waypoint"]]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:E=>m(y.id,g)},{default:e.withCtx(()=>[e.createVNode(v,{cover:"","aspect-ratio":1,src:y.thumbnailUrl},null,8,["src"]),t.cameraHasSunStudy(y.id)?(e.openBlock(),e.createElementBlock("div",$r,[e.createVNode(h,{class:"sun-icon",icon:"mdi-white-balance-sunny"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class","show-arrows"]),e.renderSlot(u.$slots,"after",{},void 0,!0)],2)}}}),[["__scopeId","data-v-9cc758dc"]]),Ur={id:"share-btns-wrapper",class:"text-center"},mt=U(e.defineComponent({__name:"VSocialShare",setup(l){const n=e.inject(ce),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 s(){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 c=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),d=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-card-text"),k=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:g})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:u[0]||(u[0]=D=>t.value=!t.value)},g),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]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(k,null,{default:e.withCtx(()=>[e.createVNode(d,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:u[1]||(u[1]=g=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(f,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Ur,[e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:s}),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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{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:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${a.value}`},g),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:g})=>[e.createVNode(c,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(n).getLabel("copyLink")),1)]),_:1}),e.createVNode(h)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Hr={class:"static-image-wrapper"},zr=U(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",Hr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Yr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},ut=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",Yr,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:a.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class pt{constructor(n,t){K(this,"_doc");K(this,"_elemId");K(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 Pr={key:0,class:"player-error"},jr={class:"player-and-components-wrapper"},Wr={key:3,class:"settings-panel"},Gr={key:0,class:"compass-wrapper"},Qr={key:1,class:"btn-placeholder mr-2"},qr={class:"btn-placeholder mr-2"},Zr={key:2,class:"btn-placeholder mr-2"},Jr={class:"d-flex flex-column align-end"},Xr={key:0,class:"d-flex align-center flex-column sun-study mt-2"},Kr={key:2,class:"render-version"},ft=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},enableAutoplay:{type:Boolean,default:!1}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onSunsimUpdate","onError"],setup(l,{expose:n,emit:t}){const a=l,{cdnFileResolver:o,apartmentId:r,defaultInteriorId:s,validInteriorIds:i,displayViewModeSwitch:m,i18nConfig:u,showCarousel:c,showTimeOfDay:p,showCompass:v,showFullScreen:h,showSnapshot:d,showShare:f,showInteriorOptions:k,showMiniMap:y,showFloorLevel:g,defaultWaypointIndex:D,defaultViewMode:E,mouseSensitivity:A,adminMode:_,playerSettings:V,hasMarkersJson:M,dynamicMarkers:x,version:R,showVersion:C}=e.toRefs(a),w=t;n({updateSelectedInterior:wt,takeSnapshot:Bt,setCurrentCamera:Re});const F=e.ref(!1),T=e.ref(!1),X=e.ref(!1),I=e.ref(),B=e.ref(),$=e.ref(),O=e.ref(),G=e.ref(),j=e.ref(0),W=e.ref(),te=e.ref(),q=e.ref(),se=e.ref(0),ie=e.ref(0),ge=e.ref(0),oe=e.ref(!1),re=e.ref(!1),de=e.ref(),ne=e.ref(!1),L=e.ref(!1),H=e.ref(new pt(document,"player-wrapper")),S=e.ref(),z=e.computed(()=>{if(B.value){const b=B.value.cameras.map(P=>P.floorLevel);let N=[...new Set(b)];return N=N.sort(),N}else return[]}),Z=e.computed(()=>{let b=0;if(B.value){const N=B.value.cameras.map(Ie=>Ie.floorLevel);let P=[...new Set(N)];P=P.sort();const ae=P.findIndex(Ie=>Ie===ie.value);ae!==-1&&(b=ae)}return b}),J=e.computed(()=>be.value.findIndex(b=>b.archetypeID===W.value)),Y=e.computed(()=>$.value?$.value.cameras.map(b=>({...b,thumbnailUrl:Ue(`/${W.value}/${r.value}/thumbs/200/${b.id}.jpg`),imageUrl:Ue(`/${W.value}/${r.value}/images/1600/${b.id}.jpg`)})):[]),fe=e.computed(()=>!Y.value||!Y.value[j.value]?"":Y.value[j.value].imageUrl),be=e.computed(()=>{let b=[];return I.value&&(b=I.value.archetypes),i.value.length?b.filter(N=>i.value.includes(N.archetypeID)):b}),ue=e.computed(()=>$.value?be.value.map(b=>{var P;const N=(P=Y.value[j.value])==null?void 0:P.id;return{...b,url:Ue(`/${b.archetypeID}/${r.value}/thumbs/200/${N}.jpg`)}}):[]),$e=e.computed(()=>{if(O.value&&O.value.storeys&&Z.value in O.value.storeys)return O.value.storeys[Z.value]}),Gl=e.computed(()=>B.value&&B.value.timeInHours),kt=e.computed(()=>{if(B.value&&B.value.timeInHours&&p.value)return hi(B.value.timeInHours)});e.provide(ce,u.value?new me(u.value):new me);const Ve=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),_t=e.computed(()=>Ve.value?"platform-mobile":"platform-desktop"),Ql=e.computed(()=>{const b=ee(o.value,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});e.watch(s,()=>{s.value&&(W.value=s.value)}),e.watch([o,r],async()=>{try{te.value=void 0,await Jl(),Kl(),await Xl(),H.value.setup(),ei()}catch(b){X.value=!0,w("onError",b)}},{immediate:!0}),e.watch(E,()=>{E.value==="virtualTour"&&(oe.value=!1),E.value==="slideShow"&&(oe.value=!0,L.value=!0)},{immediate:!0}),e.watch(ne,()=>{if(ne.value){L.value=!1;const b=De(q.value);de.value=b[0].timeSamples.find(N=>N.timeInHours===b[0].defaultHour)}else L.value=!0,G.value.unloadSunSim()}),e.onMounted(async()=>{try{Ql.value?(F.value=!1,L.value=!0):setTimeout(()=>{F.value=!0},1e3)}catch(b){X.value=!0,w("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",qe)});function ql(b=!1){L.value=!0,F.value=!1,b&&Zl()}function Zl(){const b=ee(o.value,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")}async function Jl(){I.value=await ti()}async function Xl(){var b;if(B.value=await oi(W.value,r.value),B.value&&(te.value=(b=B.value.cameras[0])==null?void 0:b.id),$.value=await ni(W.value,r.value),$.value){const N=D.value!==null?D.value:0;j.value=N,te.value=$.value.cameras[N].id,q.value=$.value.cameras[N].id}y.value&&(O.value=await ai(W.value,r.value))}function Kl(){let b=s.value;b||(b=I.value.defaultArchetypeID),i.value.length||!i.value.includes(b)?b=i.value[0]:console.warn("illegal interior id",b,i),b||(b=I.value.archetypes[0].archetypeID),W.value=b}function ei(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",N,{passive:!1});function N(P){P.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",qe,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",qe)},{passive:!1})}function qe(b){b.preventDefault(),window.scrollBy(0,0)}async function ti(){try{return await He("/config.json")}catch(b){console.error("Error loading config.json - ",ee(o.value,"/config.json"),b);return}}async function oi(b,N){try{return await He(`/${b}/${N}/apartment.json`)}catch(P){console.error("Error loading apartment.json - ",`/${b}/${N}/apartment.json`,P);return}}async function ni(b,N){try{return await He(`/${b}/${N}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${N}/thumbs.json`);return}}async function ai(b,N){try{return await He(`/${b}/${N}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${N}/minimap/minimap.json`);return}}function Oe(){let b=j.value+1;b>=Y.value.length&&(b=0),j.value=b,Re(Y.value[j.value].id)}function Ze(){let b=j.value-1;b<0&&(b=Y.value.length-1),j.value=b,Re(Y.value[j.value].id)}function Je(b,N=!0){let P=Y.value.findIndex(ae=>ae.id===b);P!=-1&&(j.value=P,N&&Re(b))}function Re(b){ne.value=!1,te.value=b}function wt(b){W.value=b,w("onInteriorUpdate",b),w("onCameraUpdate",q.value,B.value)}function ri(b){q.value=b,q.value&&(Je(q.value,!1),w("onCameraUpdate",q.value,B.value))}const Be=e.computed(()=>b=>{const N=De(b);return!N||!N[0]||!N[0].timeSamples?!1:N[0].timeSamples.length>1}),De=b=>{const N=B.value.cameras.find(P=>P.id===b);return N==null?void 0:N.sunsimDayOfYear};function li(b){w("onSunsimUpdate",b)}function bt(b){G.value.loadSunSim(b.timeInHours)}function ii(b){se.value=b}function Vt(b){ie.value=b}function si(b){ge.value=b}function ci(b,N){}function di(b){G.value=b,G.value&&(V.value&&G.value.updateSettings(V.value),M.value?G.value.loadMarkersJson():x.value&&G.value.loadDynamicMarkers(x.value))}function mi(){H.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function ui(){oe.value=!oe.value}async function Bt(){const b=180/Math.PI,N=await G.value.takePhoto(),P=G.value.getRotationEuler(),ae=G.value.getCurrentCamera(),Ie=new xo(N,ae),gi=[P.x*-b,P.y*-b,P.z*b];return w("onSnapshot",Ie,gi),Ie}function Ue(b){let N=ee(o.value,b);return N&&_.value&&!N.startsWith("blob:")&&(N=N+`?v=${Date.now()}`),N}async function He(b){const N=Ue(b);try{return(await pe.get(N)).data}catch(P){throw new Error(P)}}function pi(b){G.value.updateSettings(b)}function fi(b){w("saveSettings",b)}function hi(b){if(b===void 0)return null;const N=Math.floor(b),P=Math.floor((N-b)*60);return{hours:N,minutes:P}}const ye=e.ref(!1),Et=e.ref(null),Xe=e.ref(1),St=()=>{if(ye.value){clearInterval(Et.value),ye.value=!1,G.value.toggleAutoRotate();return}ye.value=!0,G.value.toggleAutoRotate(),Et.value=setInterval(()=>{Xe.value=1*Xe.value,G.value.setAutoRotateSpeed(Xe.value),Oe()},5e3)};return(b,N)=>{const P=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[_t.value]])},[X.value?(e.openBlock(),e.createElementBlock("div",Pr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",jr,[!H.value.isActive&&O.value&&q.value&&$e.value&&W.value&&re.value?(e.openBlock(),e.createBlock(st,{key:0,"cdn-file-resolver":e.unref(o),"apartment-json":B.value,level:Z.value,"minimap-json":O.value,rotation:se.value,"current-camera":q.value,onClose:N[0]||(N[0]=ae=>re.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),W.value&&te.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[_t.value]])},[e.createVNode(Pn,{ref_key:"vPlayerInstance",ref:S,"cdn-file-resolver":e.unref(o),style:e.normalizeStyle({zIndex:oe.value?1:2}),"show-static-image":oe.value,"current-camera-id":te.value,"mouse-sensitivity":e.unref(A),"interior-id":W.value,"apartment-id":e.unref(r),onNewCameraCallback:ri,onNewRotationCallback:ii,onNewFloorCallback:Vt,onNewFovCallback:si,onNewSizeCallback:ci,onSunsimCallback:li,onPlayerApiCallback:di},{"slideshow-image":e.withCtx(()=>[oe.value?(e.openBlock(),e.createBlock(zr,{key:0,image:fe.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[e.unref(_)?(e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:N[1]||(N[1]=ae=>T.value=!T.value)})):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(P,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:N[2]||(N[2]=ae=>F.value=!F.value)},null,512),[[e.vShow,L.value]]),O.value&&te.value&&$e.value?e.withDirectives((e.openBlock(),e.createBlock(P,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:N[3]||(N[3]=ae=>re.value=!re.value)},null,512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),L.value&&e.unref(g)&&z.value.length>1?(e.openBlock(),e.createBlock(qn,{key:2,level:ie.value,"floor-levels":z.value,onLevel:Vt},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),e.unref(_)&&T.value?(e.openBlock(),e.createElementBlock("div",Wr,[e.createVNode(lr,{"initial-settings":e.unref(V),onUpdateSettings:pi,onSaveSettings:fi},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",Gr,[e.createVNode(ra,{rotation:se.value},null,8,["rotation"])],512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:N[4]||(N[4]=ae=>re.value=!re.value)},[L.value&&B.value&&Gl.value&&e.unref(p)?(e.openBlock(),e.createBlock(da,{key:0,hours:kt.value.hours,minutes:kt.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:O.value&&q.value&&$e.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(()=>[oe.value?(e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:Ze})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[F.value?(e.openBlock(),e.createBlock(za,{key:0,onCloseTutorial:N[5]||(N[5]=ae=>ql(ae))})):e.createCommentVNode("",!0),H.value.isActive&&O.value&&q.value&&$e.value&&re.value?(e.openBlock(),e.createBlock(st,{key:1,"cdn-file-resolver":e.unref(o),"apartment-json":B.value,"minimap-json":O.value,rotation:se.value,"current-camera":q.value,level:Z.value,onClose:N[6]||(N[6]=ae=>re.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(()=>[oe.value?(e.openBlock(),e.createBlock(P,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:Oe})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[e.unref(h)?(e.openBlock(),e.createBlock(ut,{key:0,"is-full-screen":H.value.isActive,class:"btn-fullscreen",onToggleFullscreen:mi},null,8,["is-full-screen"])):e.createCommentVNode("",!0),e.unref(d)?(e.openBlock(),e.createElementBlock("div",Qr,[e.createVNode(P,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Bt})])):e.createCommentVNode("",!0),e.createElementVNode("div",qr,[e.unref(m)&&L.value?(e.openBlock(),e.createBlock(pa,{key:0,"show-static-image":oe.value,onToggle:ui},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),L.value&&e.unref(f)&&!H.value.isActive?(e.openBlock(),e.createElementBlock("div",Zr,[e.createVNode(mt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["d-flex justify-center",{"mb-2":!Ve.value}])},[!ye.value&&Be.value(q.value)?(e.openBlock(),e.createBlock(Mr,{key:0,class:"ml-2",displaySunsim:ne.value,showUI:L.value,onToggleSunStudy:N[7]||(N[7]=ae=>ne.value=!ne.value)},null,8,["displaySunsim","showUI"])):e.createCommentVNode("",!0)],2),!Ve.value&&!ye.value&&te.value&&ne.value&&Be.value(q.value)&&De(q.value)[0]&&de.value?(e.openBlock(),e.createBlock(ct,{key:0,class:"sunsim-slider-desktop","current-day":Be.value(q.value)?De(q.value)[0]:void 0,"current-time":de.value,onOnTimeChange:bt,onToggleSunStudy:N[8]||(N[8]=ae=>ne.value=!ne.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0),!Ve.value&&L.value&&e.unref(c)?(e.openBlock(),e.createBlock(Me,{key:1,class:e.normalizeClass([H.value.isActive?"full-screen":""]),thumbnails:Y.value,active:j.value,cameraHasSunStudy:Be.value,onNext:Oe,onPrevious:Ze,onGoto:Je},{before:e.withCtx(()=>[b.enableAutoplay&&L.value&&!Ve.value?(e.openBlock(),e.createBlock(dt,{key:0,autoplayStatus:ye.value,onToggleAutoPlay:N[9]||(N[9]=ae=>St())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["class","thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)])]),_:1})]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",Jr,[L.value&&e.unref(k)&&ue.value?(e.openBlock(),e.createBlock(oa,{key:0,"cdn-file-resolver":e.unref(o),"available-archetypes":ue.value,"selected-index":J.value,onSelectInterior:wt},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.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.unref(c)&&$.value&&Ve.value&&L.value?(e.openBlock(),e.createBlock(Me,{key:0,class:"waypoint-carousel below-player",thumbnails:Y.value,active:j.value,cameraHasSunStudy:Be.value,onNext:Oe,onPrevious:Ze,onGoto:Je},{before:e.withCtx(()=>[b.enableAutoplay&&L.value?(e.openBlock(),e.createBlock(dt,{key:0,autoplayStatus:ye.value,onToggleAutoPlay:N[10]||(N[10]=ae=>St())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)]),_:1}),Ve.value?(e.openBlock(),e.createElementBlock("div",Xr,[!ye.value&&te.value&&ne.value&&Be.value(q.value)&&De(q.value)[0]&&de.value?(e.openBlock(),e.createBlock(ct,{key:0,class:"mt-1","current-day":Be.value(q.value)?De(q.value)[0]:void 0,"current-time":de.value,onOnTimeChange:bt,onToggleSunStudy:N[11]||(N[11]=ae=>ne.value=!ne.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(R)&&e.unref(C)?(e.openBlock(),e.createElementBlock("div",Kr," version: "+e.toDisplayString(e.unref(R)),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-508b264d"]]),el={id:"player-wrapper"},tl={id:"player-sizer"},ol={class:"player-control",id:"controls-top-left"},nl={class:"player-control",id:"controls-top-center"},al={class:"player-control",id:"controls-top-right"},rl={class:"player-control",id:"controls-center-left"},ll={class:"player-control",id:"controls-center-center"},il={class:"player-control",id:"controls-center-right"},sl={class:"player-control",id:"controls-bottom-left"},cl={class:"player-control",id:"controls-bottom-center"},dl={class:"player-control",id:"controls-bottom-right"},ml=U(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(l,{emit:n}){return(t,a)=>(e.openBlock(),e.createElementBlock("div",el,[e.createElementVNode("div",tl,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",ol,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",nl,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",al,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",rl,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",ll,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",il,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",sl,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",cl,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",dl,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),ul={class:"virtual-tour-wrapper"},pl={class:"player-and-components-wrapper"},fl={class:"mss-image"},hl={key:1,class:"btn-placeholder"},ht=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 n=l;e.provide(ce,n.i18nConfig?new me(n.i18nConfig):new me);const t=e.ref(0),a=e.ref(new pt(document,"player-wrapper")),o=e.computed(()=>n.images.map((c,p)=>({id:`image-${p}`,thumbnailUrl:c}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{a.value.setup()});function s(){a.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let c=t.value+1;c>=o.value.length&&(c=0),t.value=c}function m(){let c=t.value-1;c<0&&(c=o.value.length-1),t.value=c}function u(c,p=!0){let v=o.value.findIndex(h=>h.id===c);v!=-1&&(t.value=v)}return(c,p)=>{const v=e.resolveComponent("v-img"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",ul,[e.createElementVNode("div",pl,[e.createElementVNode("div",null,[e.createVNode(ml,{"is-full-screen":a.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",fl,[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(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:m})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[o.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[c.showFullScreen?(e.openBlock(),e.createBlock(ut,{key:0,"is-full-screen":a.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),c.showShare?(e.openBlock(),e.createElementBlock("div",hl,[e.createVNode(mt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[a.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(Me,{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(Me,{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"]]),gl=["src"],yl=U(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(()=>ee(a.value,t.value.filename));return(s,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:r.value,src:r.value,width:"100%"},null,8,gl)),[[e.vShow,e.unref(o)&&e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-a12a9cdb"]]),Cl=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,s)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,i=>(e.openBlock(),e.createBlock(yl,{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))}}),vl=["src"],kl=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),s=e.computed(()=>ee(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(Cl,{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:s.value,src:s.value,width:"100%"},null,8,vl)),[[e.vShow,e.unref(o)===e.unref(t)]])}}),_l=["src"],wl=U(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(()=>ee(a.value,t.value.filename));return(s,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,_l)),[[e.vShow,e.unref(t)===e.unref(o)]])}}),[["__scopeId","data-v-ea8553ab"]]);function gt(l){const n=new Date(0);return n.setUTCDate(l),n.toLocaleString("en-no",{month:"short",day:"numeric"})}const bl={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},Vl=U(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:s}=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,c)=>{const p=e.resolveComponent("v-btn"),v=e.resolveComponent("v-field"),h=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-list"),k=e.resolveComponent("v-menu");return e.unref(o).sunsimDayOfYear&&e.unref(o).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",bl,[e.createVNode(k,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(s),size:e.unref(a)?"small":void 0},y),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(gt)(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,g)=>(e.openBlock(),e.createBlock(d,{key:g,value:g,onClick:D=>m.value=y.dayOfYear},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(gt)(y.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-743f5faf"]]),Bl={class:"still-camera-thumbnails-wrapper d-flex justify-center"},El=["onClick"],Sl={key:0,class:"camera-name text-caption text-capitalize"},xl={key:1,class:"icon-wrapper"},Nl=U(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:s,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 c(p){i.value||(m.value=p)}return(p,v)=>{const h=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.createElementVNode("div",Bl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),(d,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(["still-camera-image d-flex flex-column flex-reverse align-center elevation-2",{"active-camera":d===m.value}]),onClick:k=>c(d)},[d.cameraName?(e.openBlock(),e.createElementBlock("div",Sl,e.toDisplayString(d.cameraName),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"camera-thumbnail-image",style:e.normalizeStyle({backgroundImage:`url(${e.unref(ee)(e.unref(s),d.defaultFilename)})`})},null,4),d.sunsimDayOfYear&&d.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",xl,[e.createVNode(h,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],10,El))),128))])],2)}}}),[["__scopeId","data-v-a94daee8"]]),Dl={class:"small"},Il={class:"small"},Al=U(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:s}=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,c)=>{const p=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),h=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(h,{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":c[0]||(c[0]=d=>m.value=d),min:e.unref(o).startTime,max:e.unref(o).endTime,step:e.unref(o).interval,disabled:!!e.unref(s),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",Dl,e.toDisplayString(e.unref(Le)(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",Il,e.toDisplayString(e.unref(Le)(m.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-4d44890b"]]),Fl={class:"d-inline-block",style:{"vertical-align":"top"}},Tl=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),Ll=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:s}=e.toRefs(t),i=n;return(m,u)=>{const c=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Fl,[e.createVNode(c,{disabled:e.unref(s)||!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"]),Tl,e.createVNode(c,{disabled:e.unref(s)||!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"])])}}}),Ml=["innerHTML"],$l=U(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer","onError"],setup(l,{emit:n}){const t=l,{cdnFileResolver:a,colorCallback:o,currentCamera:r,selectedId:s}=e.toRefs(t),i=n,m=e.ref(),u=e.ref(),c=e.reactive({});e.watchEffect(()=>{for(const h in c){const{element:d,state:f}=c[h],{r:k,g:y,b:g,a:D,s:E}=o.value(h,f)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${k}, ${y}, ${g}, ${D/255})`,d.style.stroke=`rgb(${k}, ${y}, ${g})`,d.style.strokeWidth=E.toString()}}),e.watch(s,()=>{for(const h in c)c[h].state==="selected"&&h!==s.value?c[h].state="idle":c[h].state!=="selected"&&h===s.value&&(c[h].state="selected")}),e.watchEffect(async()=>{try{m.value=await le.loadText(ee(a.value,r.value.overlayFilename)),v()}catch(h){i("onError",h)}}),e.watch(()=>u.value,()=>{u.value&&new ResizeObserver(p).observe(u.value)});function p(){e.nextTick(()=>{var d;const h=(d=u.value)==null?void 0:d.firstChild;if(h){if(!h.hasAttribute("viewBox")){const f=`0 0 ${h.getAttribute("width")} ${h.getAttribute("height")}`;h.setAttribute("viewBox",f)}h.setAttribute("width",u.value.offsetWidth.toString()),h.setAttribute("height",u.value.offsetHeight.toString())}})}function v(){e.nextTick(()=>{var d;const h=(d=u.value)==null?void 0:d.firstChild;if(h){i("updateSvgContainer",h),p();let f,k="data-structure-id";f=h.querySelectorAll(`[${k}]`),f.length===0&&(k="data-apartment-id",f=h.querySelectorAll(`[${k}]`),f.length===0&&(k="data-building-id",f=h.querySelectorAll(`[${k}]`))),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(D=>{D.style.stroke="inherit",D.style.fill="inherit"});const g=y.getAttribute(k);c[g]={element:y,state:s.value===g?"selected":"idle"},y.addEventListener("mouseover",()=>{c[g].state==="idle"&&(c[g].state="hover"),i("onHoverOver",g)}),y.addEventListener("mouseout",()=>{c[g].state==="hover"&&(c[g].state="idle"),i("onHoverOut",g)}),y.addEventListener("click",()=>{i("onClick",g)})})}})}return(h,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,Ml))]),_:1}))}}),[["__scopeId","data-v-45a214c3"]]);function Ol(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 Rl(l){return!("filename"in l)&&"defaultFilename"in l}function Qe(l){return"filename"in l}function Ul(l){return l?"version"in l:!1}function Hl(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 zl(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 Ne(l){return l.startsWith("/")?l:`/${l}`}function yt(l){var n,t,a,o;if(Ol(l))return l;if(zl(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:s})=>({id:r,name:s,type:"building"})),stillCameraIndices:l.cameras.map((r,s)=>s),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 s={...r};return s.sunsimDayOfYear&&s.sunsimDayOfYear.forEach(m=>{m.timeSamples&&m.timeSamples.forEach(u=>{u.filename=Ne(u.filename)})}),{...s,defaultFilename:s.sunsimDayOfYear[0]?Ne(((i=s.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===s.sunsimDayOfYear[0].defaultHour))==null?void 0:i.filename)||s.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(Hl(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:s,name:i})=>({id:s,name:i,type:"building"})),stillCameraIndices:[0],stillCameraData:l.buildings.map(({id:s})=>({bestIndex:0,id:s})),loopable:!1,cameras:[{cameraName:"",cameraPosition:l.cameraPosition,cameraRotation:Ct(l.cameraRotation.normalized||l.cameraRotation),cameraFov:l.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:Ne((t=(n=r[0])==null?void 0:n.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:r.map(s=>({dayOfYear:s.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:s.timeSamples.map(({timeInHours:i,filename:m})=>({timeInHours:i,filename:Ne(m)}))}))}]}}else{if(po(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:s})=>({bestIndex:r,id:s})),loopable:l.loopable,cameras:l.cameras.map(r=>{var s;if(je(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=Ne(u.filename)})}),{...i,defaultFilename:i.sunsimDayOfYear[0]?Ne(((s=i.sunsimDayOfYear[0].timeSamples.find(m=>m.timeInHours===i.sunsimDayOfYear[0].defaultHour))==null?void 0:s.filename)||i.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return r})};if(Ul(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"}`})),s=[4,1,2,3];for(let i=0;i<l.scenes.length;i++){let m=l.scenes[i],u,c;u=r[m].filename,c={cameraName:`Camera ${i+1}`,cameraPosition:void 0,cameraRotation:l.sceneCameras&&(a=l.sceneCameras.find(p=>p.scene===i))!=null&&a.cameraRotation?Ct((o=l.sceneCameras.find(p=>p.scene===i))==null?void 0:o.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${s[i]}V5Overlay.svg`,defaultFilename:u,sunsimDayOfYear:void 0},Qe(r[m])&&(r[m]=c)}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:s.findIndex(u=>u===m)in l.scenes?l.scenes[s.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 Ct({x:l,y:n,z:t}){return{x:l,y:n,z:t,w:0}}const Yl=["innerHTML"],Pl={style:{"z-index":"7"}},jl={key:4,class:"render-version"},vt=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},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:s,customOverlayContent:i,selectedId:m,defaultCamera:u,defaultDay:c,defaultTime:p,mobileBreakpoint:v}=e.toRefs(t),h=n;e.provide(ce,s.value?new me(s.value):new me);const d=e.ref(),f=e.ref(),k=e.ref(),y=e.ref(null),g=e.ref(4),D=e.ref(),E=e.ref(!1),A=e.ref(!1),_=e.ref(),V=e.computed(()=>_.value.isHoverEnabled),M=e.ref({x:0,y:0,width:0,height:0}),x=e.ref(),R=e.ref(),C=e.ref(),w=e.ref(!1),F=e.ref(),T=e.ref({current:100,min:100,max:1e3}),X=e.ref(!1);e.onMounted(()=>{E.value=!0,X.value=!1}),e.watch(a,S=>{try{X.value=!1,C.value=yt(S)}catch(z){X.value=!0,h("onError",z)}},{immediate:!0}),e.watch(E,S=>{S&&h("onInitialize")}),e.watch(()=>R.value,()=>{R.value&&new ResizeObserver(([z])=>{w.value=z.contentRect.width<v.value}).observe(R.value)});const I=e.computed(()=>C.value?C.value.cameras.filter(Rl):[]),B=e.computed(()=>C.value?C.value.cameras.filter(Qe):[]);e.watch([C,o,u],async()=>{o.value&&I.value.length>0&&(u.value?d.value=I.value.find(S=>S.cameraName===u.value)||I.value[0]:d.value=I.value[0],g.value=C.value.cameras.findIndex(S=>S===d.value),g.value=Math.max(0,g.value))},{immediate:!0}),e.watch([C,o,c],()=>{C.value&&o.value&&d.value&&d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&(c.value?f.value=d.value.sunsimDayOfYear.find(S=>S.dayOfYear===c.value)||d.value.sunsimDayOfYear[0]:f.value=d.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([C,o,p],()=>{C.value&&o.value&&f.value&&f.value.timeSamples&&f.value.timeSamples.length>0&&(p.value?k.value=f.value.timeSamples.find(S=>S.timeInHours===p.value)||f.value.timeSamples[0]:k.value=f.value.timeSamples.find(S=>S.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])},{immediate:!0});function $(S){d.value!==S&&de(C.value.cameras.findIndex(z=>z===S))}function O(S){g.value=S,Qe(C.value.cameras[g.value])?y.value=C.value.cameras[g.value]:(e.nextTick(()=>{G(C.value.cameras[g.value])}),y.value=null)}function G(S){const z=f.value;d.value=S,g.value=C.value.cameras.findIndex(Z=>Z===d.value),e.nextTick(()=>{d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>0&&j(d.value.sunsimDayOfYear.find(Z=>Z.dayOfYear===z.dayOfYear)||d.value.sunsimDayOfYear[0])})}function j(S){const z=k.value;f.value=S,e.nextTick(()=>{W(f.value.timeSamples.find(Z=>Z.timeInHours===z.timeInHours)||f.value.timeSamples.find(Z=>Z.timeInHours===f.value.defaultHour)||f.value.timeSamples[0])})}function W(S){k.value=S}function te(S){h("onClick",S,()=>{const z=C.value.stillCameraData.find(Z=>Z.id===S);z&&de(z.bestIndex)})}function q(S){h("onHoverOver",S),D.value=S}function se(S){h("onHoverOut",S),D.value=void 0}function ie(S){const{layerX:z,layerY:Z}=S;let J=S.target,Y=!1;for(;J;)if(J===x.value){Y=!0;break}else J=J.parentElement;if(Y){const fe=S.currentTarget;M.value={x:z,y:Z,width:fe.clientWidth,height:fe.clientHeight}}else M.value=void 0;h("onMouseMove",S,M.value)}function ge({min:S,max:z,current:Z}){T.value={min:S,max:z,current:Z}}function oe(S){F.value.adjustZoom(S?10:-10)}function re(S){return C.value.stillCameraIndices.findIndex(z=>z===S)}async function de(S){const z=g.value;if(C.value.loopable){const Z=C.value.stillCameraIndices.length,J=re(z),Y=re(S);let fe=0,be=0,ue=J;for(;ue++,ue>=Z&&(ue=0),ue!==Y;)fe++;for(ue=J;ue--,ue<0&&(ue+=Z),ue!==Y;)be++;fe===be?ne(z,S):fe<be?J<Y?ne(z,S):ne(z,S+C.value.cameras.length):J>=Y?ne(z,S):ne(z+C.value.cameras.length,S)}else ne(z,S)}function ne(S,z){return new Promise(Z=>{A.value=!0;let J,Y=S;J=setInterval(()=>{Y<z?(Y++,g.value=Math.abs(Y%C.value.cameras.length),O(g.value)):Y>z?(Y--,g.value=Math.abs(Y%C.value.cameras.length),O(g.value)):(clearInterval(J),A.value=!1,Z())},12)})}function L(S){X.value=!0,h("onError",S)}const H=S=>S*(180/Math.PI);return(S,z)=>{const Z=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(Z,{type:"image",class:"w-100 h-100 position-relative",loading:!E.value||!C.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:R,class:e.normalizeClass({mobile:w.value}),style:{"min-height":"104px"},onMousemove:ie},[S.showUi?(e.openBlock(),e.createElementBlock("div",{key:0,class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:w.value&&I.value.length>1?"60px":0})},[d.value.cameraRotation?(e.openBlock(),e.createBlock(_e,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:w.value?32:40,height:w.value?32:40}),longitude:H(d.value.cameraRotation.y)+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(Ll,{"is-mobile-sized":w.value,"can-zoom-out":T.value.min<T.value.current,"can-zoom-in":T.value.max>T.value.current,disabled:A.value,onOnZoomIn:z[0]||(z[0]=J=>oe(!0)),onOnZoomOut:z[1]||(z[1]=J=>oe(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4)):e.createCommentVNode("",!0),S.showUi&&I.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"actions-bar bottom-center pb-2":!0,"px-0":w.value},"still-cameras-wrapper"]),style:{"z-index":"7"}},[e.createVNode(Nl,{"is-mobile-sized":w.value,"still-cameras":I.value,"current-camera":d.value,disabled:A.value,"cdn-file-resolver":e.unref(o),onOnCameraChange:$},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(ke,{ref_key:"zoomBox",ref:F,position:"relative",onUpdate:ge},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(I.value,(J,Y)=>(e.openBlock(),e.createBlock(kl,{key:`camera${Y}`,"camera-data":J,"cdn-file-resolver":e.unref(o),"current-camera":d.value,"current-day":f.value,"current-time":k.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(B.value,(J,Y)=>(e.openBlock(),e.createBlock(wl,{key:`transition${Y}`,"transition-data":J,"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,Yl)):e.createCommentVNode("",!0),d.value.overlayFilename&&!X.value?e.withDirectives((e.openBlock(),e.createBlock($l,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(r),"current-camera":d.value,"selected-id":e.unref(m),onOnClick:te,onOnHoverOver:q,onOnHoverOut:se,onUpdateSvgContainer:z[2]||(z[2]=J=>x.value=J),onOnError:L},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])),[[e.vShow,y.value===null]]):e.createCommentVNode("",!0)]),_:1},512),S.showUi&&(f.value&&f.value.timeSamples&&f.value.timeSamples.length>1||d.value.sunsimDayOfYear&&d.value.sunsimDayOfYear.length>1)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":w.value}),style:{"z-index":"7"}},[e.createVNode(Vl,{class:"pr-2","is-mobile-sized":w.value,"current-camera":d.value,"current-day":f.value,disabled:A.value,onOnDayChange:j},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(Al,{"is-mobile-sized":w.value,"current-day":f.value,"current-time":k.value,disabled:A.value,onOnTimeChange:W},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),S.$slots.popup&&M.value&&D.value?(e.openBlock(),e.createBlock(ve,{key:3,"is-hoverable":V.value,pos:M.value},{default:e.withCtx(()=>[e.createElementVNode("div",Pl,[e.renderSlot(S.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:D.value,hoverable:V.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),S.version&&S.showVersion?(e.openBlock(),e.createElementBlock("div",jl," version: "+e.toDisplayString(S.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(he,{ref_key:"hoverProbe",ref:_},null,512)],64)}}}),[["__scopeId","data-v-b6ee829a"]]),Wl={install:function(n){n.component("VApartmentChooser",tt),n.component("VBuildingChooser",lt),n.component("VVirtualTour",ft),n.component("VManualSlideShow",ht),n.component("VStructureChooser",vt)}};Q.ResourceLoader=le,Q.VApartmentChooser=tt,Q.VApartmentChooserV5=$o,Q.VBuildingChooser=lt,Q.VBuildingChooserV5=Vn,Q.VFloatingCard=ve,Q.VHoverProbe=he,Q.VManualSlideShow=ht,Q.VNorthDirection=_e,Q.VStructureChooser=vt,Q.VVirtualTour=ft,Q.VZoomBox=ke,Q.convertApartmentChooserDataLegacyToV5=nt,Q.convertBuildingChooserDataLegacyToV5=it,Q.convertStructureChooserDataLegacyToV5=yt,Q.default=Wl,Object.defineProperties(Q,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});