@qispace/vue3-player 0.1.64 → 0.1.66
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.
- package/dist/vue-components/src/components/virtualTour/VTutorial.vue.d.ts +4 -17
- package/dist/vue-components/style.css +1 -1
- package/dist/vue-components/vue3-player.js +2771 -2682
- package/dist/vue-components/vue3-player.umd.cjs +1 -1
- package/package.json +1 -1
- package/dist/vue-components/src/components/shared/VDisclaimer.vue.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P["vue3-player"]={},P.Vue,P.axios,P.PlayerCore,P.THREE))})(this,function(P,e,ae,et,tt){"use strict";var Ir=Object.defineProperty;var Nr=(P,e,ae)=>e in P?Ir(P,e,{enumerable:!0,configurable:!0,writable:!0,value:ae}):P[e]=ae;var z=(P,e,ae)=>(Nr(P,typeof e!="symbol"?e+"":e,ae),ae);function Te(c){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(c){for(const t in c)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(c,t);Object.defineProperty(a,t,n.get?n:{enumerable:!0,get:()=>c[t]})}}return a.default=c,Object.freeze(a)}const ot=Te(et),ce=Te(tt);class Z{static async loadText(a){return new Z().loadText(a)}static async loadJson(a){return new Z().loadJson(a)}static async loadImage(a){return new Z().loadImage(a)}static async loadImageData(a){return new Z().loadImageData(a)}async loadText(a){return(await ae.get(a)).data}async loadJson(a){return(await ae.get(a)).data}async loadImage(a){return new Promise((t,n)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{t(o)},o.onerror=n,o.src=a})}async loadImageData(a){const t=await this.loadImage(a),n=document.createElement("canvas");try{const o=n.getContext("2d");return n.width=t.width,n.height=t.height,o.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const nt=e.defineComponent({__name:"VHoverProbe",setup(c,{expose:a}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return a({isHoverEnabled:n}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),R=(c,a)=>{const t=c.__vccOpts||c;for(const[n,o]of a)t[n]=o;return t},se=R(nt,[["__scopeId","data-v-eb9b348d"]]);function W(c,a){return typeof c=="string"?`${c}${a}`:c(a)}const at=R(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(c,{emit:a}){const t=c,n=a,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(),d=e.ref(),l=e.ref(),p=e.ref(-1),C=e.ref(!1),f=e.ref(),u=e.ref(),h=e.ref({}),_=e.ref("auto"),w=e.ref(new Z),g=e.ref({}),I=e.ref(),B=e.ref(),S=e.ref(),y=e.ref(),v=e.ref(),D=e.computed(()=>S.value.isHoverEnabled),E=e.computed(()=>W(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),A=e.computed(()=>E.value in h.value?h.value[E.value]:null),b=e.computed(()=>p.value<0?!1:t.sceneData.find(O=>O.index===p.value)||!1),x=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:_.value})),F=e.computed(()=>`hover-${C.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(E,()=>{h.value[E.value]||w.value.loadImageData(E.value).then(M=>{h.value={...h.value,[E.value]:M}})},{immediate:!0}),e.watch(A,()=>{A.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{te()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{te()}),e.watch(b,()=>{te(),b.value?_.value="pointer":_.value="auto"}),e.watch(F,()=>{C.value?n("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>Ve()}):n("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>Ve()})}),e.watch(o,()=>{n("pos",o.value)}),e.onMounted(()=>{B.value=()=>{clearTimeout(I.value),ee(),I.value=setTimeout(()=>{ee()},50)},window.addEventListener("resize",B.value),ee()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",B.value);for(const M in h.value)URL.revokeObjectURL(h.value[M])});function L(){i.value=y.value.getContext("2d",{willReadFrequently:!0}),m.value=new Image,m.value.onload=()=>{me(),y.value.addEventListener("mousemove",Fe(Q,50))},m.value.src=A.value}function Q(M){const O=$(M.offsetX,M.offsetY);C.value=O>=0,p.value=O,o.value={x:M.offsetX,y:M.offsetY,width:r.value,height:s.value}}function V(M){const O=$(M.offsetX,M.offsetY);O<0||D&&re(O)}function N(){if(m.value&&m.value.width){y.value.width=m.value.width,y.value.height=m.value.height,i.value.drawImage(m.value,0,0,m.value.width,m.value.height),l.value=i.value.getImageData(0,0,y.value.width,y.value.height),d.value=i.value.getImageData(0,0,y.value.width,y.value.height);const M=l.value.data;g.value={};for(let O=0;O<M.length;O+=4)g.value[M[O]]=[];for(let O=3;O<M.length;O+=4)M[O]===255&&M[O-3]in g.value&&g.value[M[O-3]].push(O-3)}}function $(M,O){f.value=M,u.value=O;const Y=y.value.offsetWidth/y.value.width,Ee=y.value.offsetHeight/y.value.height,ue=(M/Y).toFixed(),ie=(O/Ee).toFixed(),X=Number(ie)*(y.value.width*4)+Number(ue)*4,ye=l.value.data[X];return l.value.data[X+3]>0?ye:-1}function H(){ne().forEach(O=>{if(O.index>=0){const Y=G(O.index);if(Y){const Ee=j(O.index);let ue="idle";!b.value&&t.selectedUnitId&&Ee===t.selectedUnitId?ue="selected":b.value&&p.value===O.index&&(ue="hover");const ie=t.colorCallback(O.unitId,ue);if(ie)for(let X=0;X<Y.length;X++)d.value.data[Y[X]]=ie.r,d.value.data[Y[X]+1]=ie.g,d.value.data[Y[X]+2]=ie.b,d.value.data[Y[X]+3]=ie.a}}})}function G(M){return l.value?g.value[M]:!1}function j(M){const O=t.sceneData.find(Y=>Y.index===M);return O&&O.unitId}function ne(){if(l.value){const M=Object.keys(g.value).map(Y=>parseInt(Y));return t.sceneData.filter(Y=>M.includes(Y.index))}else return[]}function re(M){const O=j(M);le(O)}function le(M){n("selectUnit",M),M&&t.canGoToUnitCallback(M)&&n("goToUnit",M)}function K(M=0){if(!d.value)return;const O=d.value.data;for(let Y=3;Y<O.length;Y+=4)O[Y]=M}function ee(){if(!v.value)return!1;r.value=v.value.offsetWidth,s.value=v.value.offsetHeight}function me(){N(),te()}function te(){K(),H(),i.value&&d.value&&i.value.putImageData(d.value,0,0)}function Ve(){C.value=!1}const Ce=e.ref(!1);function Fe(M,O){return Ce.value=!0,function(...Y){Ce.value&&(Ce.value=!1,M.apply(this,Y),setTimeout(()=>Ce.value=!0,O))}}return(M,O)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:v,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:y,style:e.normalizeStyle(x.value),onClick:V},null,4),[[e.vShow,!M.viewModel.isRotating]]),e.createVNode(se,{ref_key:"hoverProbe",ref:S},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),rt=["viewBox"],lt=["innerHTML","onMouseenter","onMouseleave","onClick"],it=R(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(c,{emit:a}){const t=c,n=a,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 Z),d=e.ref(),l=e.ref(),p=e.computed(()=>l.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,()=>{n("pos",o.value)}),e.watch(r,(B,S)=>{if(B>=0){const y=f(B);n("hoverOver",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}else{const y=f(S);n("hoverOut",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let B=1;B<=4;B++){const S=W(t.cdnFileResolver,`/scenedata${B}.svg`),y={markup:"",viewBox:"",svgObjects:[]};m.value.loadJson(S).then(v=>{y.markup=v;const E=new DOMParser().parseFromString(v,"image/svg+xml").getElementsByTagName("svg")[0];y.viewBox=E.getAttribute("viewBox"),y.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(A=>({index:parseInt(A.getAttribute("data-index")),svg:A.innerHTML})),s.value={...s.value,[B]:y}})}d.value.addEventListener("mousemove",I(C,50))});function C(B){o.value={x:B.offsetX,y:B.offsetY,width:d.value.offsetWidth,height:d.value.offsetHeight}}function f(B){var S;return(S=t.sceneData.find(y=>y.index===(typeof B=="string"?parseInt(B):B)))==null?void 0:S.unitId}function u(B){p.value&&(r.value=B)}function h(B){p.value&&(r.value=-1)}function _(B){const S=f(B);n("selectUnit",S),p.value&&S&&t.canGoToUnitCallback(S)?n("goToUnit",S):r.value=B}function w(B){const S=f(B);let y="idle";r.value<0&&t.selectedUnitId&&S===t.selectedUnitId?y="selected":r.value>=0&&r.value===B&&(y="hover");const v=t.colorCallback(S,y);if(v){const{r:D,g:E,b:A,a:b,s:x}=v;return{strokeWidth:x!==void 0?x:2,stroke:`rgb(${D}, ${E}, ${A})`,strokeOpacity:1,fill:`rgb(${D}, ${E}, ${A})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(S)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const g=e.ref(!1);function I(B,S){return g.value=!0,function(...y){g.value&&(g.value=!1,B.apply(this,y),setTimeout(()=>g.value=!0,S))}}return(B,S)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:d},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:y,svg:v})=>(e.openBlock(),e.createElementBlock("g",{key:y,innerHTML:v,style:e.normalizeStyle(w(y)),onMouseenter:D=>u(y),onMouseleave:D=>h(),onClick:D=>_(y)},null,44,lt))),128))],8,rt)):e.createCommentVNode("",!0)],4),[[e.vShow,!B.viewModel.isRotating]]),e.createVNode(se,{ref_key:"hoverProbe",ref:l},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),J=Symbol(),st={key:0,class:"text-success d-none d-md-flex"},ct={class:"text-success"},dt=R(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(c,{emit:a}){const t=c,n=e.computed(()=>t.selectedUnitId),o=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),s=a,i=e.inject(J);e.onMounted(()=>{window.addEventListener("keydown",m)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",m)});function m(d){d.keyCode===37?t.prevUnitId&&s("prevUnit"):d.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(d,l)=>{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:l[0]||(l[0]=C=>d.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:l[1]||(l[1]=C=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(p,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!d.canGoToUnitCallback(n.value),onClick:l[2]||(l[2]=C=>s("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&d.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",st,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+" ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",ct,e.toDisplayString(n.value?t.unitRenderer(n.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:l[3]||(l[3]=C=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(p,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:l[4]||(l[4]=C=>d.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ie{constructor(a){z(this,"_numParts");z(this,"_loadedCount");z(this,"_isError");z(this,"_finishedAction");z(this,"_errorAction");z(this,"_loadProgressAction");this._numParts=a,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(a){return this._finishedAction=a,this}onLoadError(a){return this._errorAction=a,this}onLoadProgress(a){return this._loadProgressAction=a,this}partLoaded(){this.isFinished||(this._loadedCount++,this._loadProgressAction(this.percentLoaded),this.isFinished&&this._finishedAction())}errorDetected(){this._isError||(this._isError=!0,this._errorAction())}get isFinished(){return this._loadedCount>=this._numParts}get isError(){return this._isError}get percentLoaded(){return Math.round(this._loadedCount*100/this._numParts)}}class Ne{constructor(a,t,n,o){z(this,"_rotator");z(this,"_direction");z(this,"_frameIndex");z(this,"_sceneCount");this._rotator=a,this._direction=t,this._frameIndex=n,this._sceneCount=o}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const a=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(a)?this._sceneCount-1:this._sceneCount;return new Ne(this._rotator,this._direction,a,t)}}class mt{constructor(a,t){z(this,"_cardinalFrames");z(this,"_totalFrameCount");this._cardinalFrames=a,this._totalFrameCount=t}start(a,t,n){const o=this.startFrameIndexForScene(t);return new Ne(this,a,o,n)}isCardinalFrame(a){return this._cardinalFrames.includes(a)}clampFrameIndex(a){return(this._totalFrameCount+a)%this._totalFrameCount}startFrameIndexForScene(a){return this._cardinalFrames[a]}}const ut={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},pt={key:1,class:"frame-container"},ft={key:0,class:"frame-image"},ht=["srcset"],gt=["src"],vt={key:2,id:"image-stack",class:"frame-container"},kt=["alt"],Ct=["srcset"],yt=["src"],$e=64,_e=4,wt=120,_t=R(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(c,{emit:a}){const t=c,n=a,o=f(),r=e.ref(new Ie(o.length).onLoadFinished(()=>n("loaded")).onLoadProgress(w=>n("progress",w)).onLoadError(()=>n("error"))),s=e.ref(new mt(t.cardinalFrames,$e)),i=e.ref(o),m=e.ref(!1),d=e.computed(()=>i.value.find(w=>w.show));e.watch(()=>t.viewModel.currentScene,(w,g)=>{const I=_(g,w),B=h(g,w);l(g,I,B)}),e.onMounted(()=>{C()});function l(w,g,I){t.viewModel.isRotating||(t.viewModel.isRotating=!0,p(s.value.start(g,w%_e,I)))}function p(w){setTimeout(()=>{i.value[w.frameIndex].show=!1;const g=w.nextFrame();i.value[g.frameIndex].show=!0,g.atEnd?C():window.requestAnimationFrame(()=>p(g))},1e3/wt)}function C(){const w=s.value.startFrameIndexForScene(t.viewModel.currentScene%_e);w in i.value&&(i.value[w].show=!0),t.viewModel.isRotating=!1}function f(){const w=[];for(let g=0;g<$e;g++){const{sourceSet:I,defaultPath:B}=u(g);w.push({index:g,sourceSet:I,defaultPath:B,show:!1})}return w}function u(w){const g=("0000"+(w+1)).slice(-4),I=t.build?`?v=${t.build}`:"",B=[`${W(t.cdnFileResolver,`/480/${g}.jpg${I}`)} 480w`,`${W(t.cdnFileResolver,`/960/${g}.jpg${I}`)} 960w`,`${W(t.cdnFileResolver,`/1280/${g}.jpg${I}`)} 1280w`].join(","),S=W(t.cdnFileResolver,`/480/${g}.jpg${I}`);return{sourceSet:B,defaultPath:S}}function h(w,g){const I=_e/2,B=Math.abs(w-g);return B>I?_e-B:B}function _(w,g){if(w===g)return 0;const B=Math.abs(w-g)<_e/2;return B&&w<g||!B&&w>g?1:-1}return(w,g)=>{const I=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",ut,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",vt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createElementBlock("picture",{key:B.index,alt:B.index,class:e.normalizeClass({"frame-image":!0,show:B.show})},[e.createElementVNode("source",{srcset:B.sourceSet,type:"image/jpeg"},null,8,Ct),e.createElementVNode("img",{src:B.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=S=>r.value.partLoaded()),onError:g[3]||(g[3]=S=>r.value.errorDetected())},null,40,yt)],10,kt))),128))])):(e.openBlock(),e.createElementBlock("div",pt,[d.value?(e.openBlock(),e.createElementBlock("picture",ft,[e.createElementVNode("source",{srcset:d.value.sourceSet,type:"image/jpeg"},null,8,ht),e.createElementVNode("img",{src:d.value.defaultPath,onLoad:g[0]||(g[0]=B=>m.value=!0),onError:g[1]||(g[1]=B=>r.value.errorDetected())},null,40,gt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),pe=R(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(c,{emit:a}){const t=c,n=a,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]=d=>n("outside",d))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),fe=R(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(c,{emit:a}){const t=c,n=a,o=e.ref(100),r=e.ref(0),s=e.ref(0),i=e.ref(!1),m=e.ref(!1),d=e.ref(void 0),l=e.ref(!1),p=e.ref(),C=e.computed(()=>`translateX(${r.value}px) translateY(${s.value}px) scale(${f.value})`),f=e.computed(()=>o.value/100),u=e.computed(()=>t.maxScale*100);e.watch([f,r,s],()=>{Q()}),e.watch(()=>t.desktop,()=>{t.desktop?h():w()}),e.watch(()=>t.mobile,()=>{t.mobile?_():g()}),e.onMounted(()=>{t.desktop&&h(),t.mobile&&_()}),e.onBeforeUnmount(()=>{t.desktop&&w(),t.mobile&&g()});function h(){p.value.addEventListener("wheel",I,{capture:!0}),p.value.addEventListener("mousedown",B,{capture:!0}),p.value.addEventListener("mousemove",S,{capture:!0}),window.addEventListener("mouseup",y,{capture:!0}),window.addEventListener("click",v,{capture:!0})}function _(){p.value.addEventListener("touchstart",D,{capture:!0}),p.value.addEventListener("touchmove",E,{capture:!0}),window.addEventListener("touchend",A,{capture:!0}),window.addEventListener("touchcancel",A,{capture:!0})}function w(){p.value.removeEventListener("wheel",I,{capture:!0}),p.value.removeEventListener("mousedown",B,{capture:!0}),p.value.removeEventListener("mousemove",S,{capture:!0}),window.removeEventListener("mouseup",y,{capture:!0}),window.removeEventListener("click",v,{capture:!0})}function g(){p.value.removeEventListener("touchstart",D,{capture:!0}),p.value.removeEventListener("touchmove",E,{capture:!0}),window.removeEventListener("touchend",A,{capture:!0}),window.removeEventListener("touchcancel",A,{capture:!0})}function I(V){const{x:N,y:$}=b(V);L(-V.deltaY/10,N,$),V.preventDefault()}function B(V){i.value=!0,l.value=!1,d.value=V}function S(V){if(i.value){const{x:N,y:$}=b(V),{x:H,y:G}=b(d.value),j={x:N-H,y:$-G};x(j.x),F(j.y),l.value=!0,d.value=V}}function y(V){i.value&&l.value&&t.consumeMouseUpWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation())}function v(V){i.value&&(l.value&&t.consumeMouseClickWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation()),i.value=!1)}function D(V){i.value=V.touches.length===1,m.value=V.touches.length===2,d.value=V}function E(V){if(i.value){const{x:N,y:$}=b(V.touches[0]),{x:H,y:G}=b(d.value.touches[0]),j={x:N-H,y:$-G};x(j.x),F(j.y)}else if(m.value&&V.touches.length===2){const{x:N,y:$}=b(V.touches[0]),{x:H,y:G}=b(d.value.touches[0]),{x:j,y:ne}=b(V.touches[1]),{x:re,y:le}=b(d.value.touches[1]),K=Math.hypot(H-re,G-le),ee=Math.hypot(N-j,$-ne),me=(j+N)/2,te=(ne+$)/2;L(ee-K,me,te)}d.value=V}function A(){i.value=!1,m.value=!1}function b(V){const{left:N,top:$}=p.value.getBoundingClientRect();return{x:V.clientX-N,y:V.clientY-$}}function x(V){const N=p.value.clientWidth,$=N*f.value;r.value=Math.max(Math.min(0,r.value+V),-($-N))}function F(V){const N=p.value.clientHeight,$=N*f.value;s.value=Math.max(Math.min(0,s.value+V),-($-N))}function L(V,N,$){const H=p.value.clientWidth,G=p.value.clientHeight,j=H*f.value,ne=G*f.value;o.value=Math.min(Math.max(100,o.value+V),u.value);const re=H*f.value,le=G*f.value,K=re-j,ee=le-ne;r.value-=N/H*K,s.value-=$/G*ee,x(0),F(0)}function Q(){n("update",{scale:f.value,x:r.value,y:s.value,resolve:(V,N)=>{const $=p.value.clientWidth,H=p.value.clientHeight,G=r.value/-f.value,j=s.value/-f.value,ne=G+$/f.value,re=j+H/f.value,le=V/$*(ne-G)+G,K=N/H*(re-j)+j;return{x:le,y:K}}})}return(V,N)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:p,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:C.value}),class:"zoom-box"},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Ae=4;function Re(c){return c<Ae?c+1:1}function bt(c){return c>1?c-1:Ae}class Vt{constructor(a){z(this,"_state");this._state={isRotating:!1,currentScene:a}}get isRotating(){return this._state.isRotating}set isRotating(a){this._state.isRotating=a}unlessRotatingDo(a){this.isRotating||a()}get currentScene(){return this._state.currentScene}set currentScene(a){this._state.currentScene=a}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Re(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=bt(this.currentScene)})}}const Et={interior:"Interiør",seeASelectionOfTheOptionsInTheProject:"Se et utvalg av tilvalgsmulighetene i prosjektet.",floorPlan:"Planløsning",allIllustrationsAreIndicativeDeviationsMayOccur:{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},readMoreHere:"Les mer her",iUnderstand:{nb:"Jeg forstår",en:"I understand"},share:"Share",shareToFacebook:"Share to Facebook",shareToLinkedin:"Share to Linkedin",shareToTwitter:"Share to Twitter",shareViaEmail:"Share via Email",copyLink:"Copy link",virtualView:"Virtuell Visning",slideShow:"Slide Show",room:"Room",floor:"Floor",seeApartments:"See apartments",seeApartment:"See apartment",clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},dontShowAgain:{en:"Don't Show Again",nb:"Ikke vis igjen"}};class oe{constructor({labels:a,language:t}={labels:null,language:null}){z(this,"_labels");z(this,"_language");this._labels={...Et,...a||{}},this._language=t||"en"}getLabel(a){return a in this._labels?this.get(this._labels[a]):a}get(a){if(typeof a=="string")return a;if(this._language in a&&a[this._language])return a[this._language];for(const t in a)if(a[t])return a[t];return""}}const Bt={key:0},xt={class:"interactive-viewer"},St={class:"fill-parent"},It={key:0},Nt={key:1,class:"navigation"},At={key:2},Dt=4,Oe=R(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:c=>c},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(c,{emit:a}){const t=[0,16,32,48],n=c,o=a;e.provide(J,n.i18nConfig?new oe(n.i18nConfig):new oe);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),m=e.ref(),d=e.ref(),l=e.ref({x:0,y:0,width:0,height:0}),p=e.ref(),C=e.ref(),f=e.ref(),u=e.computed(()=>f.value.isHoverEnabled),h=e.computed(()=>n.useSvg?it:at),_=e.computed(()=>n.selectedUnitId),w=e.computed(()=>n.nextUnitId),g=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(_.value&&d.value){const y=s.value[_.value];y&&(d.value.currentScene=y)}}),e.onMounted(async()=>{const y=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:Dt;m.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,i.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],s.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(E=>{const A=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:A}}).reduce((E,A)=>({...E,[A.unitId]:A.scene}),{}):{};const v=(E,A="unitId")=>{let b=y,x=[];for(let F=0;F<Ae;F++)x.push(b),b=Re(b);return E.sort((F,L)=>{const Q=x.findIndex(N=>N===s.value[F[A]]),V=x.findIndex(N=>N===s.value[L[A]]);return Q<V?-1:Q>V?1:0}),E},D=E=>{d.value=new Vt(E)};o("initialized",{scene:y,scenes:m.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:v,initialize:D})});function I(y){l.value=y}function B(y){C.value=y.hoverUnit,p.value=y.closeHandler,o("hoverOverUnit",y.hoverUnit)}function S(y){C.value=null,p.value=y.closeHandler,o("hoverOutUnit",y.hoverUnit)}return(y,v)=>{const D=e.resolveComponent("v-progress-linear");return d.value?(e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",xt,[e.createElementVNode("div",St,[e.createVNode(fe,{desktop:r.isReady&&y.interactiveDesktop,mobile:r.isReady&&y.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(_t,{"cdn-file-resolver":y.cdnFileResolver,"view-model":d.value,"cardinal-frames":m.value,build:y.build,onProgress:v[0]||(v[0]=E=>r.progress=E),onLoaded:v[1]||(v[1]=E=>r.isReady=!0),onError:v[2]||(v[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",It,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.value),{"cdn-file-resolver":n.cdnFileResolver,"view-model":d.value,"selected-unit-id":_.value,"scene-data":i.value,"color-callback":n.colorCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:v[3]||(v[3]=E=>o("selectUnit",E)),onGoToUnit:v[4]||(v[4]=E=>o("goToUnit",E)),onHoverOver:B,onHoverOut:S,onPos:I},{default:e.withCtx(E=>[e.renderSlot(y.$slots,"default",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),C.value&&y.showCards?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":u.value,pos:l.value,onOutside:p.value},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{unit:C.value,canGoToUnit:y.canGoToUnitCallback(C.value),goToUnit:()=>y.canGoToUnitCallback(C.value)&&o("goToUnit",C.value),pos:l.value,isHoverable:u.value,close:p.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(dt,{"can-go-to-unit-callback":n.canGoToUnitCallback,"unit-renderer":n.unitRenderer,"selected-unit-id":_.value,"prev-unit-id":g.value,"next-unit-id":w.value,"view-model":d.value,onGoToUnit:v[5]||(v[5]=E=>o("goToUnit",E)),onPrevUnit:v[6]||(v[6]=E=>o("navUnit",g.value)),onNextUnit:v[7]||(v[7]=E=>o("navUnit",w.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",At,[e.createVNode(D,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":v[8]||(v[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(se,{ref_key:"hoverProbe",ref:f},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-528c8f5b"]]),Lt=["src"],Ft=R(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c,t=e.computed(()=>W(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Lt)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-189d0505"]]),Mt=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Ft,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Tt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(Mt,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),$t=["src"],Rt=R(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(c,{emit:a}){const t=c,n=e.computed(()=>W(t.cdnFileResolver,t.transitionData.filename));return(o,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:n.value,src:n.value,class:"position-absolute top-left w-100 h-100"},null,8,$t)),[[e.vShow,o.transitionData===o.currentTransition]])}}),[["__scopeId","data-v-10ab7bee"]]);function Ue(c){return!("filename"in c)}function De(c){return"filename"in c}const Ot=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{o.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Ue):[]);return e.watch(o,()=>{n("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]=d=>o.value=d),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Ut=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(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"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=l=>o.value=l),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(m,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Ht={key:0,class:"py-2"},Pt={class:"small"},zt={class:"small"},jt=R(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function s(m){const d=m*60,l=Math.floor(d/60),p=d%60;return`${l.toString().padStart(2,"0")}:${p.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(l=>l.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,d)=>{const l=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),C=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(l,{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(C,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(p,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode(" "),e.createElementVNode("span",Pt,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",zt,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode(" "),e.createVNode(l,{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-f0aa5473"]]),Yt=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(c,{expose:a,emit:t}){const n=c,o=t;a({rotateShortestRoute:C});const r=e.ref(!1),s=e.ref(n.currentScene),i=e.ref(n.selectedId);e.watchEffect(()=>{s.value=n.currentScene}),e.watchEffect(()=>{i.value=n.selectedId}),e.watchEffect(()=>{o("onSceneChange",s.value)});const m=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[0]),d=e.computed(()=>r.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[n.apartmentChooserData.scenes.length-1]);function l(){const u=s.value;let h=n.apartmentChooserData.scenes.findIndex(w=>w===u)+1;h>=n.apartmentChooserData.scenes.length&&(h=0);const _=n.apartmentChooserData.scenes[h];n.apartmentChooserData.loopable&&u>_,f(u,_)}async function p(){const u=s.value;let h=n.apartmentChooserData.scenes.findIndex(w=>w===u)-1;h<0&&(h=n.apartmentChooserData.scenes.length-1);const _=n.apartmentChooserData.scenes[h];n.apartmentChooserData.loopable&&u<_,f(u,_)}function C(u){const h=s.value;if(n.apartmentChooserData.loopable)if(u<h){let _=h-u,w=h-(n.apartmentChooserData.cameras.length+u);return Math.abs(_)>Math.abs(w)?f(h,u):f(h,n.apartmentChooserData.cameras.length+u)}else{let _=h-u,w=n.apartmentChooserData.cameras.length+h-u;return Math.abs(_)>Math.abs(w)?f(h,u):f(n.apartmentChooserData.cameras.length+h,u)}else return f(h,u)}function f(u,h){return new Promise(_=>{r.value=!0,o("onRotateStart",{from:u,to:h});let w,g=u;w=setInterval(()=>{g<h?(g++,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):g>h?(g--,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):(clearInterval(w),o("onRotateFinish",{from:u,to:h}),r.value=!1,_())},50)})}return(u,h)=>{const _=e.resolveComponent("v-btn"),w=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(_,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!m.value,onClick:p},null,8,["disabled"]),u.renderDisplay&&i.value?(e.openBlock(),e.createBlock(w,{key:0,variant:"flat",color:"white",size:"large",onClick:h[0]||(h[0]=g=>o("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!d.value,onClick:l},null,8,["disabled"])],64)}}}),Wt=["innerHTML"],Gt=R(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(c,{emit:a}){const t=c,n=a,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 l in i){const{element:p,state:C}=i[l],{r:f,g:u,b:h,a:_,s:w}=t.colorCallback(l,C)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${f}, ${u}, ${h}, ${_/255})`,p.style.stroke=`rgb(${f}, ${u}, ${h})`,p.style.strokeWidth=w.toString()}}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{o.value=await Z.loadText(W(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var p;const l=(p=r.value)==null?void 0:p.firstChild;if(l){if(!l.hasAttribute("viewBox")){const C=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",C)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())}})}function d(){e.nextTick(()=>{var p;const l=(p=r.value)==null?void 0:p.firstChild;l&&(n("updateSvgContainer",l),m(),l.querySelectorAll("[data-apartment-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(h=>{h.style.stroke="inherit",h.style.fill="inherit"});const u=f.getAttribute("data-apartment-id");i[u]={element:f,state:s.value===u?"selected":"idle"},f.addEventListener("mouseover",()=>{i[u].state==="idle"&&(i[u].state="hover"),n("onHoverOver",u)}),f.addEventListener("mouseout",()=>{i[u].state==="hover"&&(i[u].state="idle"),n("onHoverOut",u)}),f.addEventListener("click",()=>{n("onClick",u)})}))})}return(l,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:o.value},null,8,Wt))]),_:1}))}}),[["__scopeId","data-v-6a295c78"]]),Qt="data:image/png;base64,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",he=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(c){const a=c,t=e.computed(()=>({transform:`rotate(${90-(a.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(n,o)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(Qt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class ge{constructor(a){z(this,"_buildingIds");this._buildingIds=a}static empty(){return new ge([])}getBuildingId(a,t,n){const o=this._getBuildingIndex(a,t,n);if(o!==void 0)return this._buildingIds[o]}_getBuildingIndex(a,t,n){const[o,r,s,i]=a.getPixel(t,n);if(i===255&&o===r&&r===s)return o}}const qt=180;class He{constructor(a){z(this,"_cdnFileResolver");z(this,"_resourceLoader");this._cdnFileResolver=a,this._resourceLoader=new Z}constructFileUrl(a){return this._cdnFileResolver?W(this._cdnFileResolver,`/${a}`):null}loadBuildingMapImage(a){const t=this.constructFileUrl(a.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(a){return a.cameraRotation&&a.cameraRotation.y+270}getBuildingData(a){const t=a?a.buildings:[],n=t.map(r=>r.id),o=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:n,buildingOverlays:o}}getBackgroundImageData(a){return"days"in a?this.processMultipleDays(a.days):[this.processTimeSamples(qt,a.timeSamples)]}processMultipleDays(a){return a.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(a,t){return{urls:t.map(o=>this.constructFileUrl(o.filename)),referenceDate:this.makeReferenceDate(a)}}makeReferenceDate(a){const t=new Date(0);return t.setUTCDate(a),t}async loadBuildingChooser(a){try{if(a){const t=await this.loadBuildingMapImage(a);if(t){const n=this.getViewLongitude(a),{buildingIds:o,buildingOverlays:r}=this.getBuildingData(a),s=this.getBackgroundImageData(a);return{mapImage:t,viewLongitude:n,buildingIds:o,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class ve{constructor(a){z(this,"_mapImage");z(this,"_context");this._mapImage=a,this._context=null}static empty(){return new ve(null)}update(a){this._mapImage&&(this._context=a.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,a.width,a.height))}getPixel(a,t){try{return this._context?this._context.getImageData(a,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const Zt=new Date(0);class xe{constructor(a){z(this,"_imagesByDay");z(this,"_state");this._imagesByDay=a,this._state={selectedIndex:0}}static empty(){return new xe([{referenceDate:Zt,urls:[]}])}selectIndex(a){a<this._imagesByDay.length&&(this._state.selectedIndex=a)}get dates(){return this._imagesByDay.map(a=>a.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function be(c){return("0"+c).slice(-2)}function Jt(){const c=new Date;return[c.getFullYear().toString(),be(c.getMonth()+1),be(c.getDate())," ",be(c.getHours()),be(c.getMinutes()),be(c.getSeconds())].join("")}function Xt(){return"Visuado-Snapshot-"+Jt()}class Kt{constructor(a,t){z(this,"data");this.data=a}download(a=null){a=a||Xt();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=a,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}const Pe=c=>{const a=c.sceneData.map(i=>({unitId:i.apartmentID,bestScene:i.bestScene})),t="1280",n=[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<c.scenes.length;i++){let m=c.scenes[i],d,l;d=r[m],l={cameraName:`Kamera ${i+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${n[i]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:d.filename}]}]},De(r[m])&&(r[m]=l)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:c.scenes,loopable:!0,renderVersion:c.renderVersion?c.renderVersion:"Auto Converted",unitData:a,cameras:r}},eo={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},to={class:"pa-1"},oo={class:"pa-1"},no={class:"pa-1"},ao={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},ro={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},lo=["innerHTML"],io={style:{"z-index":"7"}},so=R(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(c,{emit:a}){const t=c,n=a,o=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(null),m=e.ref(4),d=e.ref(),l=e.ref(!1),p=e.ref(!1),C=e.ref(),f=e.ref(),u=e.computed(()=>f.value.isHoverEnabled),h=e.ref({x:0,y:0,width:0,height:0}),_=e.ref(),w=e.ref(),g=e.ref(t.apartmentChooserData),I=e.ref(!1);e.onMounted(()=>{l.value=!0}),e.watch(l,V=>{V&&n("onInitialize")}),e.watch(()=>w.value,()=>{w.value&&new ResizeObserver(([N])=>{I.value=N.contentRect.width<t.mobileBreakpoint}).observe(w.value)});const B=e.computed(()=>g.value?g.value.cameras.filter(Ue):[]),S=e.computed(()=>g.value?g.value.cameras.filter(De):[]),y=async()=>{try{let V,N;return N=await Z.loadJson(W(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(N.version)===5?N:(V=Pe(N),V)}catch(V){l.value=!1,n("onError",V)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await y()),t.defaultCamera?o.value=B.value.find(V=>V.cameraName===t.defaultCamera)||B.value[0]:o.value=B.value[0],m.value=g.value.cameras.findIndex(V=>V===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(V=>V.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(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 v(V){o.value!==V&&C.value.rotateShortestRoute(g.value.cameras.findIndex(N=>N===V))}function D(V){m.value=V,De(g.value.cameras[m.value])?i.value=g.value.cameras[m.value]:(e.nextTick(()=>{E(g.value.cameras[m.value])}),i.value=null)}function E(V){const N=r.value;o.value=V,m.value=g.value.cameras.findIndex($=>$===o.value),e.nextTick(()=>{A(o.value.sunsimDayOfYear.find($=>$.dayOfYear===N.dayOfYear)||o.value.sunsimDayOfYear[0])})}function A(V){const N=s.value;r.value=V,e.nextTick(()=>{b(r.value.timeSamples.find($=>$.timeInHours===N.timeInHours)||r.value.timeSamples.find($=>$.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function b(V){s.value=V}function x(V){n("onClick",V,()=>{const N=g.value.unitData.find($=>$.unitId===V);N&&C.value.rotateShortestRoute(N.bestScene)})}function F(V){n("onHoverOver",V),d.value=V}function L(V){n("onHoverOut",V),d.value=void 0}function Q(V){const{layerX:N,layerY:$}=V;let H=V.target,G=!1;for(;H;)if(H===_.value){G=!0;break}else H=H.parentElement;if(G){const j=V.currentTarget;h.value={x:N,y:$,width:j.clientWidth,height:j.clientHeight}}else h.value=void 0;n("onMouseMove",V,h.value)}return(V,N)=>{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:!l.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:w,class:e.normalizeClass({mobile:I.value}),onMousemove:Q},[e.createElementVNode("div",eo,[e.createElementVNode("div",to,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Ot,{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",oo,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Ut,{key:0,"camera-data":o.value,"current-day":r.value,disabled:p.value,onOnDayChange:A},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",no,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(jt,{key:0,"day-data":r.value,"current-time":s.value,disabled:p.value,onOnTimeChange:b},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ao,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Yt,{key:0,ref_key:"rotator",ref:C,"apartment-chooser-data":g.value,"current-scene":m.value,"selected-id":V.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:x,onOnSceneChange:D,onOnRotateStart:N[0]||(N[0]=H=>p.value=!0),onOnRotateFinish:N[1]||(N[1]=H=>p.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ro,[o.value.cameraRotation?(e.openBlock(),e.createBlock(he,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,H=>(e.openBlock(),e.createBlock(Tt,{key:H.overlayFilename,"camera-data":H,"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(S.value,H=>(e.openBlock(),e.createBlock(Rt,{"transition-data":H,"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(Gt,{"cdn-file-resolver":V.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:x,onOnHoverOver:F,onOnHoverOut:L,onUpdateSvgContainer:N[2]||(N[2]=H=>_.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),V.$slots.popup&&h.value&&d.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":u.value,pos:h.value},{default:e.withCtx(()=>[e.createElementVNode("div",io,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:d.value,hoverable:u.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(se,{ref_key:"hoverProbe",ref:f},null,512)],64)}}}),[["__scopeId","data-v-a6de6506"]]),co={class:"sunsim-bar-wrapper"},mo={class:"sunsim-date d-flex align-center pl-5 pr-5"},uo={key:1,class:"text-center text-body-1"},po={class:"sunsim-wrapper d-flex align-center px-3"},fo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},ze=R(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.modelValue),r=e.ref();function s(l){return l.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const l=Math.floor(o.value/2).toString().padStart(2,"0"),p=o.value%2===0?"00":"30";return`${l}:${p}`}),m=e.computed(()=>t.dateSelector.dates.map(s)),d=e.computed({get(){return s(t.dateSelector.selectedDate)},set(l){t.dateSelector.selectIndex(m.value.indexOf(l))}});return e.watch(o,l=>{n("update:modelValue",l)}),e.watch(r,l=>{t.dateSelector.selectIndex(m.value.indexOf(l))}),e.watch(()=>t.modelValue,l=>{o.value=Math.floor(l)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(l,p)=>{const C=e.resolveComponent("v-icon"),f=e.resolveComponent("v-select"),u=e.resolveComponent("v-progress-linear"),h=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",mo,[e.createVNode(C,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),l.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(f,{key:0,modelValue:r.value,"onUpdate:modelValue":p[0]||(p[0]=_=>r.value=_),items:m.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",uo,e.toDisplayString(d.value),1))]),e.createElementVNode("div",po,[e.createElementVNode("span",fo,e.toDisplayString(i.value),1),e.createVNode(C,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),l.isLoading?(e.openBlock(),e.createBlock(u,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(h,{key:1,modelValue:o.value,"onUpdate:modelValue":p[1]||(p[1]=_=>o.value=_),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"]]),ho={key:0},go=["src"],je=R(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(c,{emit:a}){const t=c,n=a,o=e.ref("init"),r=e.ref(new Ie(0)),s=e.ref();e.watch(()=>t.imageUrls,d=>{n("reset"),m(d)}),e.onMounted(()=>{m(t.imageUrls),new ResizeObserver(d=>{window.requestAnimationFrame(()=>{const l=d[0].contentRect.width,p=d[0].contentRect.height;n("resize",{width:l,height:p})})}).observe(s.value)});function i(){o.value="preloaded",n("preloaded")}function m(d){o.value="init",s.value.src=d[0],r.value=new Ie(d.length).onLoadFinished(()=>{o.value="loaded",n("ready")})}return(d,l)=>(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",ho,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.imageUrls,(p,C)=>(e.openBlock(),e.createElementBlock("img",{key:C,class:e.normalizeClass({"image-instance":!0,active:C===d.activeIndex}),src:p,onLoad:l[0]||(l[0]=f=>r.value.partLoaded())},null,42,go))),128))],512)),[[e.vShow,o.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),vo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},ko={class:"image-instances"},Co={key:0},yo={class:"svg-container"},wo=["viewBox"],_o=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],bo=["innerHTML"],Vo=R(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(c,{emit:a}){const t=c,n=a;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);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)),d=e.ref(!1),l=e.ref(new Z),p=e.ref(),C=e.ref("0 0 0 0"),f=e.ref(),u=e.ref(),h=e.ref(ge.empty()),_=e.ref(ve.empty()),w=e.ref(),g=e.computed(()=>w.value.isHoverEnabled);e.watch(i,(b,x)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",x)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,x,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(F);m.value=parseInt(x)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const x=await new He(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(x){_.value=new ve(x.mapImage),h.value=new ge(x.buildingIds),f.value=new xe(x.backgrounds),u.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude};const F=[];for(let{id:L,url:Q}of x.buildingOverlays)l.value.loadJson(Q.replace(".png",".svg")).then(V=>{const $=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];C.value=$.getAttribute("viewBox"),F.push({id:L,svg:$.innerHTML})});p.value=F}else d.value=!0});function I({width:b,height:x}){r.value.width=b,r.value.height=x}function B(){o.value={preloaded:!1,ready:!1}}function S(b){const x=t.colorCallback(b,b===i.value?"hover":"idle"),F=[];return b===i.value?F.push("hover"):F.push("idle"),x&&t.canGoToBuildingCallback(b)?F.push("clickable"):F.push("restricted"),F.join(" ")}function y(b){const x=t.colorCallback(b,b===i.value?"hover":"idle");if(x){const{r:F,g:L,b:Q,a:V,s:N}=x;return{strokeWidth:N!==void 0?N:2,stroke:`rgb(${F}, ${L}, ${Q})`,strokeOpacity:1,fill:`rgb(${F}, ${L}, ${Q})`,fillOpacity:V/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function v(b,x){const{layerX:F,layerY:L}=b;g.value&&(s.value={x:F,y:L,width:r.value.width,height:r.value.height},i.value=x,n("hoverOverBuilding",x))}function D(b,x){const{layerX:F,layerY:L}=b;g.value&&(s.value={x:F,y:L,width:r.value.width,height:r.value.height},i.value=void 0,n("hoverOutBuilding",x))}function E(b,x){const{layerX:F,layerY:L}=b;g.value&&(s.value={x:F,y:L,width:r.value.width,height:r.value.height})}function A(b){i.value=b,g.value&&i.value&&t.canGoToBuildingCallback(i.value)&&n("goToBuilding",i.value)}return(b,x)=>{const F=e.resolveComponent("v-icon");return d.value?(e.openBlock(),e.createElementBlock("div",vo,[e.createVNode(F,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",ko,[e.createVNode(je,{"image-urls":f.value.imageUrls,"active-index":m.value,onResize:I,onPreloaded:x[0]||(x[0]=L=>o.value.preloaded=!0),onReady:x[1]||(x[1]=L=>o.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),p.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Co,[e.createElementVNode("div",yo,[(e.openBlock(),e.createElementBlock("svg",{viewBox:C.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({id:L,svg:Q},V)=>(e.openBlock(),e.createElementBlock("g",{key:V,innerHTML:Q,"data-building-id":L,class:e.normalizeClass(S(L)),style:e.normalizeStyle(y(L)),onMouseover:N=>v(N,L),onMouseout:N=>D(N,L),onMousemove:N=>E(N),onClick:N=>A(L)},null,46,_o))),128))],8,wo))])],512)),[[e.vShow,o.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,bo),[[e.vShow,o.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(ze,{modelValue:m.value,"onUpdate:modelValue":x[2]||(x[2]=L=>m.value=L),"date-selector":f.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),b.showCards&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":g.value,pos:s.value,onOutside:x[3]||(x[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:i.value,canGoToBuilding:b.canGoToBuildingCallback(i.value),goToBuilding:()=>b.canGoToBuildingCallback(i.value)&&n("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(se,{ref_key:"hoverProbe",ref:w},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5e1006a9"]]),Eo=R(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(c,{expose:a}){const t=c;a({setupDraw:l});const n=e.ref(!1),o=e.ref(),r=e.ref(new Z),s=e.ref(),i=e.ref(),m=e.ref([]),d=e.ref();e.watch(()=>t.color,(f,u)=>{(f.r!==u.r||f.g!==u.g||f.b!==u.b||f.a!==u.a)&&p()}),e.onMounted(async()=>{o.value=await r.value.loadImage(t.imageUrl),l()});function l(){if(!o.value||!d.value)return;const{width:f,height:u}=t.dimensions;if(!(f===0||u===0)){s.value=d.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(o.value,0,0,f,u),i.value=s.value.getImageData(0,0,f,u);for(let h=3;h<i.value.data.length;h+=4)i.value.data[h]!==0&&m.value.push(h);p(),n.value=!0}}function p(){s.value&&i.value&&(C(),s.value.putImageData(i.value,0,0))}function C(){if(t.color)for(let f=0;f<m.value.length;f++)i.value.data[m.value[f]-3]=t.color.r,i.value.data[m.value[f]-2]=t.color.g,i.value.data[m.value[f]-1]=t.color.b,i.value.data[m.value[f]]=t.color.a}return(f,u)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:d,class:"overlay"},f.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),Bo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},xo={class:"image-instances"},So=["innerHTML"],Io=R(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(c,{emit:a}){const t=c,n=a;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);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(),d=e.ref(ge.empty()),l=e.ref(ve.empty()),p=e.ref(),C=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),f=e.ref((b,x)=>({x:b,y:x})),u=e.ref(!1),h=e.ref(),_=e.ref(),w=e.ref(),g=e.computed(()=>{var b;return(b=h.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,x,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(F);C.value=parseInt(x)*2+(L<15?0:L>45?2:1)}}),e.watch(p,(b,x)=>{b?n("hoverOverBuilding",b):n("hoverOutBuilding",x)}),e.onMounted(async()=>{const x=await new He(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);x?(l.value=new ve(x.mapImage),d.value=new ge(x.buildingIds),o.value=new xe(x.backgrounds),m.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude},y()):u.value=!0});function I({width:b,height:x}){s.value.width=b,s.value.height=x,e.nextTick(y)}function B(){r.value={preloaded:!1,ready:!1}}function S(b){const{layerX:x,layerY:F}=b,{x:L,y:Q}=f.value(x,F);return d.value.getBuildingId(l.value,L,Q)}function y(){if(_.value&&(l.value.update(_.value),w.value))for(const b of w.value)b.setupDraw()}function v(b){const{layerX:x,layerY:F}=b;g.value&&(p.value=S(b),p.value!==void 0&&(i.value={x,y:F,width:s.value.width,height:s.value.height}))}function D(b){p.value=S(b),g.value&&p.value&&n("goToBuilding",p.value)}function E(b){return t.colorCallback(b,b===p.value?"hover":"idle")}function A({resolve:b}){f.value=b}return(b,x)=>{const F=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",Bo,[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(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:A},{default:e.withCtx(()=>[e.createElementVNode("div",xo,[e.createVNode(je,{"image-urls":o.value.imageUrls,"active-index":C.value,onResize:I,onPreloaded:x[0]||(x[0]=L=>r.value.preloaded=!0),onReady:x[1]||(x[1]=L=>r.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(Eo,{ref_for:!0,ref_key:"overlays",ref:w,key:L.id,"image-url":L.url,dimensions:s.value,color:E(L.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:_,class:{hover:!!p.value},onClick:D,onMousemove:v}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,So),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(ze,{modelValue:C.value,"onUpdate:modelValue":x[2]||(x[2]=L=>C.value=L),"date-selector":o.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),b.showCards&&p.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":g.value,pos:i.value,onOutside:x[3]||(x[3]=()=>p.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:p.value,canGoToBuilding:b.canGoToBuildingCallback(p.value),goToBuilding:()=>b.canGoToBuildingCallback(p.value)&&n("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(se,{ref_key:"hoverProbe",ref:h},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-088f521e"]]),Ye=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(c,{emit:a}){const t=c,n=a,o=e.computed(()=>t.useSvg?Vo:Io);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=>n("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>n("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[2]=i=>n("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"]))}}),No=["src"],Ao=R(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c,t=e.computed(()=>W(a.cdnFileResolver,a.timeSampleData.filename));return(n,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,No)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-98118455"]]),Do=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,o=>(e.openBlock(),e.createBlock(Ao,{"time-sample-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Lo=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(c){const a=c;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,o=>(e.openBlock(),e.createBlock(Do,{"day-data":o,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Fo=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentCamera.overlayFilename);return e.watch(o,()=>{n("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"])}}}),Mo=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{o.value=t.currentDay.dayOfYear}),e.watch(o,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(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"),d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=l=>o.value=l),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(m,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items"])}}}),To={key:0,class:"py-2"},$o={class:"small"},Ro={class:"small"},Oo=R(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{o.value=t.currentTime.timeInHours}),e.watch(o,()=>{n("onTimeChange",t.dayData.timeSamples.find(m=>m.timeInHours===o.value))});function s(m){const d=m*60,l=Math.floor(d/60),p=d%60;return`${l.toString().padStart(2,"0")}:${p.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(d=>d.timeInHours===o.value)===t.dayData.timeSamples.length-1&&(o.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const d=t.dayData.timeSamples.findIndex(l=>l.timeInHours===o.value);d<t.dayData.timeSamples.length-1?o.value=t.dayData.timeSamples[d+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(m,d)=>{const l=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),C=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[m.dayData.startTime===m.dayData.endTime?(e.openBlock(),e.createElementBlock("div",To,[e.createVNode(l,{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(C,{key:1,class:"pa-1",modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=u=>o.value=u),min:m.dayData.startTime,max:m.dayData.endTime,step:m.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(p,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode(" "),e.createElementVNode("span",$o,e.toDisplayString(s(m.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Ro,e.toDisplayString(s(m.dayData.endTime)),1),e.createTextVNode(" "),e.createVNode(l,{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-99b853f4"]]),Uo=["innerHTML"],Ho=R(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const l in i){const{element:p,state:C}=i[l],{r:f,g:u,b:h,a:_,s:w}=t.colorCallback(l,C)||{r:0,g:0,b:0,a:0,s:0};p.style.fill=`rgba(${f}, ${u}, ${h}, ${_/255})`,p.style.stroke=`rgb(${f}, ${u}, ${h})`,p.style.strokeWidth=w.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{o.value=await Z.loadText(W(t.cdnFileResolver,t.currentCamera.overlayFilename)),d()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(m).observe(r.value)});function m(){e.nextTick(()=>{var p;const l=(p=r.value)==null?void 0:p.firstChild;if(!l.hasAttribute("viewBox")){const C=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",C)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())})}function d(){e.nextTick(()=>{var p;const l=(p=r.value)==null?void 0:p.firstChild;l&&(n("updateSvgContainer",l),m(),l.querySelectorAll("[data-building-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(h=>{h.style.stroke="inherit",h.style.fill="inherit"});const u=f.getAttribute("data-building-id");i[u]={element:f,state:s.value===u?"selected":"idle"},f.addEventListener("mouseover",()=>{i[u].state==="idle"&&(i[u].state="hover"),n("onHoverOver",u)}),f.addEventListener("mouseout",()=>{i[u].state==="hover"&&(i[u].state="idle"),n("onHoverOut",u)}),f.addEventListener("click",()=>{n("onClick",u)})}))})}return(l,p)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:o.value},null,8,Uo))]),_:1}))}}),[["__scopeId","data-v-37109c67"]]),We=c=>{const a={version:"5.0",latitude:c.latitude,longitude:c.longitude,renderVersion:c.renderVersion,buildings:c.buildings.map(o=>({id:o.id,name:o.name})),cameras:[]};let t=[];c.days?t=c.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:c.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))}];const n={cameraName:"Default",cameraPosition:c.cameraPosition,cameraRotation:c.cameraRotation,cameraFov:c.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return a.cameras.push(n),a},Po={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},zo={key:0,class:"pa-1"},jo={class:"pa-1"},Yo={class:"pa-1 flex-grow-1"},Wo={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},Go=["innerHTML"],Qo={style:{"z-index":"7"}},qo=R(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(c,{emit:a}){const t=c,n=a,o=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(),m=e.ref(!1),d=e.ref(),l=e.computed(()=>d.value.isHoverEnabled),p=e.ref({x:0,y:0,width:0,height:0}),C=e.ref(),f=e.ref(),u=e.ref(t.buildingChooserData),h=e.ref(!1);e.onMounted(()=>m.value=!0),e.watch(m,v=>{v&&n("onInitialize")}),e.watch(()=>f.value,()=>{f.value&&new ResizeObserver(([D])=>{h.value=D.contentRect.width<t.mobileBreakpoint}).observe(f.value)});const _=async()=>{try{let v;if(!t.cdnFileResolver)return v;let D;return D=await Z.loadJson(W(t.cdnFileResolver,"/buildingChooser.json")),parseInt(D.version)===5?D:(v=We(D),v)}catch(v){m.value=!1,n("onError",v)}};e.watch([u,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(u.value||(u.value=await _()),t.defaultCamera?o.value=u.value.cameras.find(v=>v.cameraName===t.defaultCamera)||u.value.cameras[0]:o.value=u.value.cameras[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{u.value&&t.cdnFileResolver&&(t.defaultDay?r.value=o.value.sunsimDayOfYear.find(v=>v.dayOfYear===t.defaultDay)||o.value.sunsimDayOfYear[0]:r.value=o.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{u.value&&t.cdnFileResolver&&(t.defaultTime?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 w(v){const D=r.value;o.value=v,e.nextTick(()=>{g(o.value.sunsimDayOfYear.find(E=>E.dayOfYear===D.dayOfYear)||o.value.sunsimDayOfYear[0])})}function g(v){const D=s.value;r.value=v,e.nextTick(()=>{I(r.value.timeSamples.find(E=>E.timeInHours===D.timeInHours)||r.value.timeSamples.find(E=>E.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function I(v){s.value=v}function B(v){n("onHoverOver",v),i.value=v}function S(v){n("onHoverOut",v),i.value=void 0}function y(v){const{layerX:D,layerY:E}=v;let A=v.target,b=!1;for(;A;)if(A===C.value){b=!0;break}else A=A.parentElement;if(b){const x=v.currentTarget;p.value={x:D,y:E,width:x.clientWidth,height:x.clientHeight}}else p.value=void 0;n("onMouseMove",v,p.value)}return(v,D)=>{const E=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(E,{type:"image",class:"w-100 h-100 position-relative",loading:!m.value||!u.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:f,class:e.normalizeClass({mobile:h.value}),onMousemove:y},[e.createElementVNode("div",Po,[u.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",zo,[e.createVNode(Fo,{"building-chooser-data":u.value,"current-camera":o.value,onOnCameraChange:w},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",jo,[o.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Mo,{key:0,"camera-data":o.value,"current-day":r.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Yo,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Oo,{key:0,"day-data":r.value,"current-time":s.value,onOnTimeChange:I},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Wo,[o.value.cameraRotation?(e.openBlock(),e.createBlock(he,{key:0,longitude:o.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.cameras,A=>(e.openBlock(),e.createBlock(Lo,{key:A.overlayFilename,"camera-data":A,"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,Go)):e.createCommentVNode("",!0),e.createVNode(Ho,{"cdn-file-resolver":v.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":o.value,"selected-id":t.selectedId,onOnClick:D[0]||(D[0]=A=>n("onClick",A)),onOnHoverOver:B,onOnHoverOut:S,onUpdateSvgContainer:D[1]||(D[1]=A=>C.value=A)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),v.$slots.popup&&p.value&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":l.value,pos:p.value},{default:e.withCtx(()=>[e.createElementVNode("div",Qo,[e.renderSlot(v.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:l.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(se,{ref_key:"hoverProbe",ref:d},null,512)],64)}}}),[["__scopeId","data-v-65cfcd3f"]]);var ke={};Object.defineProperty(ke,"__esModule",{value:!0});var Zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(c){return typeof c}:function(c){return c&&typeof Symbol=="function"&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c},Jo=typeof window<"u"&&typeof window.document<"u",Xo=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Ko=(typeof self>"u"?"undefined":Zo(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",en=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),tn=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",on=ke.isBrowser=Jo;ke.isWebWorker=Ko,ke.isNode=Xo,ke.isJsDom=en,ke.isDeno=tn;const nn={id:"player-wrapper"},an={id:"player-sizer"},rn={class:"player-control",id:"controls-top-left"},ln={class:"player-control",id:"controls-top-center"},sn={class:"player-control",id:"controls-top-right"},cn={class:"player-control",id:"controls-center-left"},dn={class:"player-control",id:"controls-center-center"},mn={class:"player-control",id:"controls-center-right"},un={class:"player-control",id:"controls-bottom-left"},pn={class:"player-control",id:"controls-bottom-center"},fn={class:"player-control",id:"controls-bottom-right"},hn={id:"main-canvas"},gn=R(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(c,{emit:a}){const t=ot.PlayerV2,n=c,o=a,r=e.ref(),s=e.ref(),i=e.ref(0),m=e.ref(0);return e.watch([()=>n.cdnFileResolver,()=>n.interiorId,()=>n.apartmentId],async()=>{r.value&&await r.value.loadInterior(W(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),s.value,!1)}),e.watch([()=>n.cdnFileResolver,()=>n.interiorId,()=>n.apartmentId],async()=>{r.value&&await r.value.loadInterior(W(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),void 0,!1)},{deep:!0}),e.watch(()=>n.currentCameraId,d=>{r.value&&(s.value=d,r.value.goToCamera(d,!0))}),e.watch(r,d=>{o("playerApiCallback",d);const l=r.value.getCurrentCamera();l&&(s.value=l.id)}),e.onMounted(async()=>{const C={initialized:()=>{r.value=t.Main.getPlayerAPI();const u=r.value.getCurrentCamera();u&&(s.value=u.id),o("newCameraCallback",s.value)},newCamera:u=>{o("newCameraCallback",u.id),o("newFloorCallback",u.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),s.value=u.id},newFOV:u=>{o("newFovCallback",u),m.value=u},newRotation:u=>{const h=u+0;o("newRotationCallback",h),i.value=h}};if(!on)return;const f=await new t.Main(W(n.cdnFileResolver,`/${n.interiorId}/${n.apartmentId}`),"qpc",C,void 0,n.currentCameraId);f&&(f.handleWindowResize(),window.addEventListener("resize",f.handleWindowResize.bind(f)),f.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(n.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(d,l)=>(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",an,[e.renderSlot(d.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",rn,[e.renderSlot(d.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",ln,[e.renderSlot(d.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",sn,[e.renderSlot(d.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",cn,[e.renderSlot(d.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",dn,[e.renderSlot(d.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",mn,[e.renderSlot(d.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",un,[e.renderSlot(d.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",pn,[e.renderSlot(d.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",fn,[e.renderSlot(d.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",hn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(d.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-434c2592"]]),vn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},kn=["stroke"],Cn=["stroke"],yn={class:"floor-level-label"},wn=R(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(c,{emit:a}){const t=c,n=a,o=e.inject(J),r=e.computed(()=>{const l=t.floorLevels;return l.sort(),l}),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 d(){const l=t.level+1;l>=r.value.length?n("level",r.value[0]):n("level",r.value[l])}return(l,p)=>{const C=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(f,{right:"",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(C,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},u,{onClick:d}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",vn,[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,kn),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,Cn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",yn,e.toDisplayString(e.unref(o).getLabel(s.value))+" "+e.toDisplayString(e.unref(o).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),_n={class:"d-none d-md-inline"},bn=R(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(c,{emit:a}){const t=c,n=a,o=e.inject(J);return(r,s)=>{const i=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),d=e.resolveComponent("v-img"),l=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item"),C=e.resolveComponent("v-list"),f=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:u})=>[e.createVNode(m,e.mergeProps({rounded:""},u,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",_n,e.toDisplayString(e.unref(o).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(C,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(u,h)=>(e.openBlock(),e.createBlock(p,{density:"compact",key:`at-menuitem-${h}`,onClick:_=>n("selectInterior",u.archetypeID),active:h===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(d,{width:"100","max-width":"100",height:"66",src:u.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(l,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).get(u.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-3cf3c177"]]),Vn="data:image/png;base64,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",En="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==",Bn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(c){const a=c,t=e.ref(En),n=e.ref({backgroundImage:`url(${Vn})`,backgroundSize:"contain"}),o=e.computed(()=>({transform:`rotate(${-a.rotation+180}deg)`}));return(r,s)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(o.value)},null,8,["src","style"])],4)}}}),xn="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",Sn={class:"d-flex flex-column align-center justify-center clock-face"},In={class:"clock-icon"},Nn={class:"clock-value grey--text text--darken-3"},An=R(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(c){const a=c,t=e.computed(()=>[n(a.hours),":",n(a.minutes)].join(""));function n(o){return("0"+o).slice(-2)}return(o,r)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Sn,[e.createElementVNode("div",In,[e.createVNode(s,{src:e.unref(xn),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Nn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Le=c=>(e.pushScopeId("data-v-f59c4942"),c=c(),e.popScopeId(),c),Dn={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Ln=[Le(()=>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)),Le(()=>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)),Le(()=>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))],Fn=R(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(c,{emit:a}){const t=c,n=a,o=e.inject(J),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const m=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),l=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(l,{location:"top"},{activator:e.withCtx(({props:p})=>[e.createVNode(d,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:i[0]||(i[0]=C=>n("toggle"))},p),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",Dn,Ln)):(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"]]),de=c=>(e.pushScopeId("data-v-ccf327cb"),c=c(),e.popScopeId(),c),Mn={key:0,class:"tutorial"},Tn={key:0,class:"desktop-content"},$n={class:"d-inline-flex"},Rn={class:"box col"},On=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",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)),Un={class:"text mt-3"},Hn={class:"box col"},Pn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",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)),zn={class:"text mt-3"},jn={class:"box col"},Yn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",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)),Wn={class:"text mt-3"},Gn={class:"d-inline-flex space-around"},Qn={class:"box col"},qn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",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)),Zn={class:"text mt-3"},Jn={key:1,class:"d-flex flex-column tablet-mobile-content"},Xn={class:"box horizontal mt-3"},Kn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"101",height:"65",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)),ea={class:"text ml-2"},ta={class:"box horizontal mt-3"},oa=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",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)),na={class:"text ml-2"},aa={class:"box horizontal mt-3"},ra=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",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)),la={class:"text ml-2"},ia={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"},sa=R(e.defineComponent({__name:"VTutorial",props:{project:{}},emits:["closeTutorial"],setup(c,{emit:a}){const t=c,n=a,o=e.inject(J),r=e.ref(!0),s=e.ref(!1),i=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(C=>navigator.userAgent.match(C))),m=e.computed(()=>{const p=localStorage.getItem(`${t.project}-dont-show-tutorial`);return p&&n("closeTutorial"),p});function d(){s.value&&l(),r.value=!1,n("closeTutorial")}function l(){localStorage.setItem(`${t.project}-dont-show-tutorial`,"true")}return(p,C)=>{const f=e.resolveComponent("v-checkbox"),u=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[r.value&&!m.value?(e.openBlock(),e.createElementBlock("div",Mn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("div",$n,[e.createElementVNode("div",Rn,[On,e.createElementVNode("div",Un,e.toDisplayString(e.unref(o).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Hn,[Pn,e.createElementVNode("div",zn,e.toDisplayString(e.unref(o).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",jn,[Yn,e.createElementVNode("div",Wn,e.toDisplayString(e.unref(o).getLabel("useTheMouseWheelToZoom")),1)])]),e.createElementVNode("div",Gn,[e.createElementVNode("div",Qn,[qn,e.createElementVNode("div",Zn,e.toDisplayString(e.unref(o).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),i.value?(e.openBlock(),e.createElementBlock("div",Jn,[e.createElementVNode("div",Xn,[Kn,e.createElementVNode("div",ea,e.toDisplayString(e.unref(o).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",ta,[oa,e.createElementVNode("div",na,e.toDisplayString(e.unref(o).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",aa,[ra,e.createElementVNode("div",la,e.toDisplayString(e.unref(o).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",ia,[e.createVNode(f,{modelValue:s.value,"onUpdate:modelValue":C[0]||(C[0]=h=>s.value=h),label:e.unref(o).getLabel("dontShowAgain")},null,8,["modelValue","label"]),e.createVNode(u,{small:"",outlined:"",class:"mt-5",onClick:C[1]||(C[1]=h=>d())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}}}),[["__scopeId","data-v-ccf327cb"]]),ca=c=>(e.pushScopeId("data-v-bd4f66c3"),c=c(),e.popScopeId(),c),da={class:"player-settings-ui"},ma={id:"settings-ui-form"},ua={class:"form-inputs"},pa={class:"setting-label"},fa={class:"setting-label"},ha=["max","min","step"],ga={class:"setting-label"},va={class:"flex-grow-1 flex-shrink-0"},ka=["onUpdate:modelValue"],Ca={key:3,"d-block":"",class:"mt-3"},ya={class:"d-flex justify-space-between"},wa={class:"setting-label"},_a={class:"mt-5 d-block",style:{width:"300px"}},ba=ca(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),Va={class:"d-block",style:{width:"300px"}},Ea={class:"form-buttons"},Ba=R(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(f(t.initialSettings));e.watch(o,()=>{s()},{deep:!0});const r=e.computed(()=>{let u={};for(const[h,_]of Object.entries(o.value))h==="whitePoint"?u[h]=l(_.value):u[h]=_.value;return u});function s(){n("updateSettings",r.value)}function i(){const u=document.createElement("a");u.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const h=`player-settings-${Date.now()}.json`;u.download=h,u.style.display="none",document.body.appendChild(u),u.click(),document.body.removeChild(u)}function m(){n("saveSettings",r.value)}function d(){o.value=f(),n("updateSettings",r.value)}function l(u){const h=parseInt(u.substr(1,2),16)/255,_=parseInt(u.substr(3,2),16)/255,w=parseInt(u.substr(5,2),16)/255;return[h,_,w]}function p(u){var h=u.toString(16);return h.length==1?"0"+h:h}function C([u,h,_]){return"#"+p(parseInt((u*255).toString()))+p(parseInt((h*255).toString()))+p(parseInt((_*255).toString()))}function f(u={}){const h=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let _={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...u};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:_.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:_.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:_.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:_.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:_.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:_.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:_.temperature},whitePoint:{label:"White Point",type:"color",value:C(_.whitePoint)},lut:{label:"Lut",type:"lut",items:h.map(w=>({text:w,value:`https://cdn.visuado.com/luts/${w}.png`})),value:_.lut}}}return(u,h)=>{const _=e.resolveComponent("v-text-field"),w=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),I=e.resolveComponent("v-btn"),B=e.resolveComponent("v-select"),S=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",da,[e.createElementVNode("form",ma,[e.createElementVNode("div",ua,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(y,v,D)=>(e.openBlock(),e.createElementBlock("div",{key:D,"d-block":""},[y.type==="slider"?(e.openBlock(),e.createBlock(w,{key:0,modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,onChange:s,max:y.max,min:y.min,step:y.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",pa,e.toDisplayString(y.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(_,{modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:y.max,min:y.min,step:y.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),y.type==="boolean"?(e.openBlock(),e.createBlock(g,{key:1,modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",fa,e.toDisplayString(y.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(y.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),y.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:y.max,min:y.min,step:y.step},[e.createElementVNode("div",ga,e.toDisplayString(y.label),1),e.createElementVNode("div",va,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>o.value[v].value=E,type:"color",onChange:s},null,40,ka),[[e.vModelText,o.value[v].value]])]),e.createElementVNode("div",null,[e.createVNode(_,{modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,ha)):e.createCommentVNode("",!0),y.type==="lut"?(e.openBlock(),e.createElementBlock("div",Ca,[e.createElementVNode("div",ya,[e.createElementVNode("div",wa,e.toDisplayString(y.label),1),e.createElementVNode("div",null,[e.createVNode(I,{class:"ml-2","x-small":"",onClick:E=>o.value[v].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",_a,[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,items:y.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[ba,e.createElementVNode("div",Va,[e.createElementVNode("div",null,[e.createVNode(_,{modelValue:o.value[v].value,"onUpdate:modelValue":E=>o.value[v].value=E,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Ea,[e.createVNode(I,{onClick:h[0]||(h[0]=y=>d())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(I,{class:"ml-2",onClick:h[1]||(h[1]=y=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(I,{class:"ml-2",onClick:h[2]||(h[2]=y=>m())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),xa=(c=>(e.pushScopeId("data-v-30593022"),c=c(),e.popScopeId(),c))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Sa={class:"moveable-body",id:"moveableDivHeader"},Ia={class:"moveable-footer"},Na=R(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(c,{emit:a}){const t=a,n=e.ref("big");e.onMounted(()=>{o(document.getElementById("moveableDiv"))});function o(s){const i=document.getElementById(s.id+"Header");if(!i)return;let m=0,d=0,l=0,p=0;i.addEventListener("touchstart",C,{passive:!1}),i.addEventListener("touchend",u,{passive:!1}),i.addEventListener("mousedown",C,{passive:!1}),i.addEventListener("mouseup",u,{passive:!1});function C(h){h=h||window.event,h.preventDefault();let _=h;h.type==="touchstart"&&(_=h.touches[0]),l=_.clientX,p=_.clientY,document.addEventListener("mouseup",u,{passive:!1}),document.addEventListener("touchend",u,{passive:!1}),document.addEventListener("mousemove",f,{passive:!1}),document.addEventListener("touchmove",f,{passive:!1})}function f(h){h=h||window.event,h.preventDefault();let _=h;h.type==="touchmove"&&(_=h.touches[0]),m=l-_.clientX,d=p-_.clientY,l=_.clientX,p=_.clientY,s.style.top=s.offsetTop-d+"px",s.style.left=s.offsetLeft-m+"px"}function u(){document.removeEventListener("mouseup",u,!1),document.removeEventListener("mousemove",f,!1),document.removeEventListener("touchend",u,!1),document.removeEventListener("touchmove",f,!1)}}function r(){n.value==="big"?n.value="small":n.value="big"}return(s,i)=>{const m=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",n.value])},[e.createVNode(m,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[0]=d=>t("close"))}),e.createVNode(m,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(m,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:i[1]||(i[1]=d=>t("transform")),title:"Rotate"}),xa,e.createElementVNode("div",Sa,[e.renderSlot(s.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ia,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),Aa={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Da=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),La=["transform"],Fa=[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)],Ma=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(c){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",Aa,[Da,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+a.rotation})`},Fa,8,La)]))}}),Ta={class:"minimap-wrapper d-flex align-stretch justify-space-between"},$a={class:"minimap-container"},Ra=R(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(c){const a=c,t=e.ref(512),n=e.ref(384),o=e.ref(new ce.Vector3),r=e.ref(new ce.Object3D),s=e.ref({}),i=e.ref(1),m=e.ref(),d=e.computed(()=>a.allCameras),l=e.computed(()=>a.allCameras.find(v=>v.id===a.currentCamera)),p=e.computed(()=>a.rotation),C=e.computed(()=>new ce.Vector3(a.storey.position.x,a.storey.position.y,a.storey.position.z)),f=e.computed(()=>parseFloat(l.value.floor_vertical_position)),u=e.computed(()=>d.value.map(v=>{const D=v.uposition.split(","),E=new ce.Vector3(Number(D[0])-C.value.x,0,Number(D[2])-C.value.z);return{...v,...B(o.value,E)}})),h=e.computed(()=>`background-image: url(${a.backgroundImage});`),_=e.computed(()=>{let v=i.value>1?1:i.value;return v<.8&&(v=.4),`scale: ${v>1?1:v}; transform: rotate(${a.transformAngle}deg);`});e.onMounted(()=>{S(),g(),y();const v=document.getElementById("moveableDiv");v&&(m.value=new ResizeObserver(y).observe(v))}),e.onBeforeUpdate(()=>{S(),g()}),e.onBeforeUnmount(()=>{m.value&&m.value.unobserve(document.getElementById("moveableDiv"))});function w(v){return ce.MathUtils.degToRad(v)}function g(){r.value.rotation.x=180,r.value.rotation.y=a.storey.rotation.y*-1,s.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function I(v){return{top:`${Math.abs(v.top)}%`,left:`${Math.abs(v.left)}%`}}function B(v,D){var E=new ce.Vector3;const A=E.subVectors(v,D);return{relativePosition:A,left:A.x/t.value*100,top:A.z/n.value*100}}function S(){const v=a.storey.position.y-f.value;n.value=2*(v*Math.tan(w(a.storey.fovY/2))),t.value=512/384*n.value;const D=n.value/2,E=t.value/2,A=new ce.Vector3(E*-1,0,D*-1);o.value=A}function y(){const v=document.getElementById("moveableDiv");if(!v)return;const D=v.offsetHeight/384*.8,E=v.offsetWidth/512*.8;v.offsetHeight>v.offsetWidth?i.value=E*.5:i.value=D*.9}return(v,D)=>(e.openBlock(),e.createElementBlock("div",Ta,[e.createElementVNode("div",$a,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(_.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(h.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(s.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id},[l.value.floorLevel===E.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(I(E))},null,4)):e.createCommentVNode("",!0),l.value.id===E.id&&a.rotation!==null?(e.openBlock(),e.createBlock(Ma,{key:1,class:"rotation-marker-component",rotation:p.value,style:e.normalizeStyle({...I(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),Oa=R(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(c){const a=c,t=e.computed(()=>a.rotation+a.transformAngle-90);return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(he,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Ua={class:"ss-wrapper"},Ha={class:"slider"},Pa={class:"minimap-sun-slider"},za={key:0,class:"time-label"},ja=R(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(new Date().getHours()),r=e.ref(!0),s=e.ref(!0),i=e.ref(""),m=e.ref(new Map),d=e.computed(()=>t.minimapJson.storeys[t.level]),l=e.computed(()=>`${Math.floor(o.value).toString().padStart(2,"0")}:00`),p=e.computed(()=>{if(d.value.sunsimFilesTimeStamps[o.value]){const w=d.value.sunsimFilesTimeStamps[o.value].split(" ");return`${w[0]} ${w[1]}`}return""});e.onMounted(async()=>{i.value=await u(d.value.sunsimFiles[o.value]),s.value=!1;const w=await f(t.minimapJson.storeys);m.value=w,r.value=!1,n("setBackgroundImage",C(t.level,o.value))}),e.watch(o,()=>{const w=C(t.level,o.value);n("setBackgroundImage",w)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",C(t.level,o.value))},{immediate:!0});function C(w,g){return m.value.get(`sunsim${w}_${g}`)?m.value.get(`sunsim${w}_${g}`):""}async function f(w){let g=new Map;for(let I=0;I<w.length;I++){const B=w[I].sunsimFiles;for(let S=0;S<B.length;S++){const y=B[S];try{const v=y,D=y.split("."),E=await u(v);g.set(D[0],E)}catch{continue}}}return g}async function u(w){const I=await(await fetch(W(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${w}`))).blob(),B=await _(I);return h(B)}function h(w){return"data:image/jpeg;base64,"+w}async function _(w){return new Promise((g,I)=>{const B=new FileReader;B.onload=()=>{const S=B.result.split(",")[1];g(S)},B.onerror=I,B.readAsDataURL(w)})}return(w,g)=>{const I=e.resolveComponent("v-progress-linear"),B=e.resolveComponent("v-icon"),S=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Ua,[e.createElementVNode("div",Ha,[e.createElementVNode("div",Pa,[r.value?(e.openBlock(),e.createBlock(I,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(S,{key:1,modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=y=>o.value=y),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(B,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",za,e.toDisplayString(p.value)+" "+e.toDisplayString(l.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Ge=R(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(),r=e.ref(0),s=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(s,()=>{o.value=s.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${s.value.defaultSunsimFile}`},{immediate:!0,once:!0});const i=e.computed(()=>{let l=1;return r.value!==0&&(Math.abs(r.value)%180===0?l=1:l=-1),l});function m(l){o.value=l}function d(){r.value=r.value+90}return(l,p)=>(e.openBlock(),e.createBlock(Na,{onClose:p[0]||(p[0]=C=>n("close")),onTransform:d},{body:e.withCtx(()=>[e.createVNode(Oa,{scale:i.value,rotation:s.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Ra,{"transform-angle":r.value,"all-cameras":l.apartmentJson.cameras,"background-image":o.value,rotation:l.rotation,"current-camera":l.currentCamera,storey:s.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(ja,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:m},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),Ya={key:0,class:"text-white disclaimer caption"},Wa=R(e.defineComponent({__name:"VDisclaimer",setup(c){const a=e.inject(J),t=e.ref(!0);return(n,o)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",Ya,[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("allIllustrationsAreIndicativeDeviationsMayOccur"))+" ",1),e.createElementVNode("span",{onClick:o[0]||(o[0]=r=>t.value=!1),class:"link-text text-decoration-underline"},e.toDisplayString(e.unref(a).getLabel("iUnderstand")),1)])):e.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-046402dc"]]),Ga=37,Qa=39,Se=R(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(c,{emit:a}){const t=c,n=a,o=e.ref(0),r=e.computed({get(){return t.active},set(d){o.value=d}}),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(d){switch(d.keyCode){case d.keyCode===Ga:n("previous");break;case d.keyCode===Qa:n("next");break;default:return}}function m(d,l){l(),n("goto",d)}return(d,l)=>{const p=e.resolveComponent("v-btn"),C=e.resolveComponent("v-img"),f=e.resolveComponent("v-card"),u=e.resolveComponent("v-slide-group-item"),h=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0})},[e.createVNode(h,{modelValue:r.value,"onUpdate:modelValue":l[2]||(l[2]=_=>r.value=_),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(p,{class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:l[0]||(l[0]=_=>n("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(p,{class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:l[1]||(l[1]=_=>n("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.thumbnails,_=>(e.openBlock(),e.createBlock(u,{key:_.id},{default:e.withCtx(({toggle:w,selectedClass:g})=>[e.createVNode(f,{class:e.normalizeClass([s.value?"ma-0":"ma-1",g,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:I=>m(_.id,w)},{default:e.withCtx(()=>[e.createVNode(C,{cover:"","aspect-ratio":1,src:_.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),qa={id:"share-btns-wrapper",class:"text-center"},Qe=R(e.defineComponent({__name:"VSocialShare",setup(c){const a=e.inject(J),t=e.ref(!1),n=e.ref(location.href);function o(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function 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,d)=>{const l=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip"),C=e.resolveComponent("v-toolbar-title"),f=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),h=e.resolveComponent("v-card-text"),_=e.resolveComponent("v-card"),w=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(l,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:d[0]||(d[0]=I=>t.value=!t.value)},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(w,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":d[2]||(d[2]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(u,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(l,{size:"x-small",icon:"mdi-close",onClick:d[1]||(d[1]=g=>t.value=!1)}),e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(f)]),_:1}),e.createVNode(h,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",qa,[e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${n.value}`},g),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(p,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("copyLink")),1)]),_:1}),e.createVNode(f)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Za={class:"static-image-wrapper"},Ja=R(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(c){const a=c,t=e.computed(()=>({"background-image":`url("${encodeURI(a.image)}")`}));return(n,o)=>(e.openBlock(),e.createElementBlock("div",Za,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Xa={id:"btn-fullscreen",class:"btn-placeholder mr-2"},qe=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(c,{emit:a}){const t=a;return(n,o)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Xa,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class Ze{constructor(a,t){z(this,"_doc");z(this,"_elemId");z(this,"_state");this._doc=a,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const a=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();a.forEach(n=>{t.addEventListener(n,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const a=this._getElement(),t=a.requestFullscreen||a.webkitRequestFullscreen||a.mozRequestFullscreen||a.msRequestFullscreen;t&&t.apply(a)}_exit(){const a=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;a&&a.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const a=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=a}}const Ka={key:0,class:"player-error"},er={class:"player-and-components-wrapper"},tr={key:3,class:"settings-panel"},or={key:0,class:"compass-wrapper"},nr={key:1,class:"btn-placeholder mr-2"},ar={class:"btn-placeholder mr-2"},rr={key:2,class:"btn-placeholder mr-2"},lr={key:0},ir={class:"d-flex flex-column align-end"},Je=R(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}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(c,{expose:a,emit:t}){const n=c,o=t;a({updateSelectedInterior:Ve,takeSnapshot:X,setCurrentCamera:te});const r=e.ref(!1),s=e.ref(!1),i=e.ref(),m=e.ref(),d=e.ref(),l=e.ref(),p=e.ref(),C=e.ref(0),f=e.ref(),u=e.ref(),h=e.ref(),_=e.ref(0),w=e.ref(0),g=e.ref(0),I=e.ref(!1),B=e.ref(!1),S=e.ref(!1),y=e.ref(new Ze(document,"player-wrapper")),v=e.computed(()=>{if(m.value){const k=m.value.cameras.map(U=>U.floorLevel);let T=[...new Set(k)];return T=T.sort(),T}else return[]}),D=e.computed(()=>{let k=0;if(m.value){const T=m.value.cameras.map(we=>we.floorLevel);let U=[...new Set(T)];U=U.sort();const q=U.findIndex(we=>we===w.value);q!==-1&&(k=q)}return k}),E=e.computed(()=>x.value.findIndex(k=>k.archetypeID===f.value)),A=e.computed(()=>d.value?d.value.cameras.map(k=>({...k,thumbnailUrl:ye(`/${f.value}/${n.apartmentId}/thumbs/200/${k.id}.jpg`),imageUrl:ye(`/${f.value}/${n.apartmentId}/images/1600/${k.id}.jpg`)})):[]),b=e.computed(()=>!A.value||!A.value[C.value]?"":A.value[C.value].imageUrl),x=e.computed(()=>{let k=[];return i.value&&(k=i.value.archetypes),n.validInteriorIds.length?k.filter(T=>n.validInteriorIds.includes(T.archetypeID)):k}),F=e.computed(()=>d.value?x.value.map(k=>({...k,url:ye(`/${k.archetypeID}/${n.apartmentId}/thumbs/200/${A.value[C.value].id}.jpg`)})):[]),L=e.computed(()=>{if(l.value)return l.value.storeys[D.value]}),Q=e.computed(()=>m.value&&m.value.timeInHours),V=e.computed(()=>{if(m.value&&m.value.timeInHours&&n.showTimeOfDay)return xr(m.value.timeInHours)});e.provide(J,n.i18nConfig?new oe(n.i18nConfig):new oe),e.watch([()=>n.cdnFileResolver],async()=>{await N(),H(),await $()}),e.watch(()=>n.defaultViewMode,k=>{k==="virtualTour"&&(I.value=!1),k==="slideShow"&&(I.value=!0,S.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await N(),H(),await $(),y.value.setup(),G()}catch(k){s.value=!0,o("onError",k)}});async function N(){i.value=await j()}async function $(){if(m.value=await ne(f.value,n.apartmentId),m.value&&(u.value=m.value.cameras.find(()=>!0).id),d.value=await re(f.value,n.apartmentId),d.value){let k=n.defaultWaypointIndex!==null?n.defaultWaypointIndex:0;C.value=k,u.value=d.value.cameras[k].id,h.value=d.value.cameras[k].id}n.showMiniMap&&(l.value=await le(f.value,n.apartmentId))}function H(){let k=n.defaultInteriorId;k||(k=i.value.defaultArchetypeID),n.validInteriorIds.length&&!n.validInteriorIds.includes(k)&&(k=n.validInteriorIds[0]),k||(k=i.value.archetypes[0].archetypeID),f.value=k}function G(){const k=document.getElementById("main-canvas");k.addEventListener("touchmove",T,{passive:!1});function T(q){q.preventDefault(),window.scrollBy(0,0)}k.addEventListener("mouseenter",()=>{document.addEventListener("wheel",U,{passive:!1})},{passive:!1}),k.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",U)},{passive:!1});function U(q){q.preventDefault(),window.scrollBy(0,0)}}async function j(){try{return await Be("/config.json")}catch(k){console.error("Error loading config.json - ",W(n.cdnFileResolver,"/config.json"),k);return}}async function ne(k,T){try{return await Be(`/${k}/${T}/apartment.json`)}catch(U){console.error("Error loading apartment.json - ",`/${k}/${T}/apartment.json`,U);return}}async function re(k,T){try{return await Be(`/${k}/${T}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${k}/${T}/thumbs.json`);return}}async function le(k,T){try{return await Be(`/${k}/${T}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${k}/${T}/minimap/minimap.json`);return}}function K(){let k=C.value+1;k>=A.value.length&&(k=0),C.value=k,te(A.value[C.value].id)}function ee(){let k=C.value-1;k<0&&(k=A.value.length-1),C.value=k,te(A.value[C.value].id)}function me(k,T=!0){let U=A.value.findIndex(q=>q.id===k);U!=-1&&(C.value=U,T&&te(k))}function te(k){u.value=k}function Ve(k){f.value=k,o("onInteriorUpdate",k),o("onCameraUpdate",h.value,m.value)}function Ce(k){me(k,!1),h.value=k,o("onCameraUpdate",k,m.value)}function Fe(k){_.value=k}function M(k){w.value=k}function O(k){g.value=k}function Y(k,T){}function Ee(k){p.value=k,p.value&&(n.playerSettings&&p.value.updateSettings(n.playerSettings),n.hasMarkersJson?p.value.loadMarkersJson():n.dynamicMarkers&&p.value.loadDynamicMarkers(n.dynamicMarkers))}function ue(){y.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function ie(){I.value=!I.value}async function X(){const k=180/Math.PI,T=await p.value.takePhoto(),U=p.value.getRotationEuler(),q=p.value.getCurrentCamera(),we=new Kt(T,q),Sr=[U.x*-k,U.y*-k,U.z*k];return o("onSnapshot",we,Sr),we}function ye(k){let T=W(n.cdnFileResolver,k);return n.adminMode&&(T=T+`?v=${Date.now()}`),T}async function Be(k){const T=ye(k);try{return(await ae.get(T)).data}catch(U){throw new Error(U)}}function Er(k){p.value.updateSettings(k)}function Br(k){o("saveSettings",k)}function xr(k){if(k===void 0)return null;const T=Math.floor(k),U=Math.floor((T-k)*60);return{hours:T,minutes:U}}const Me=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),Ke=e.computed(()=>Me.value?"platform-mobile":"platform-desktop");return(k,T)=>{const U=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[Ke.value]])},[s.value?(e.openBlock(),e.createElementBlock("div",Ka,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",er,[!y.value.isActive&&l.value&&h.value&&L.value&&f.value&&B.value?(e.openBlock(),e.createBlock(Ge,{key:0,"cdn-file-resolver":k.cdnFileResolver,"apartment-json":m.value,level:D.value,"minimap-json":l.value,rotation:_.value,"current-camera":h.value,onClose:T[0]||(T[0]=q=>B.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),f.value&&u.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[Ke.value]])},[e.createVNode(gn,{"cdn-file-resolver":k.cdnFileResolver,style:e.normalizeStyle({zIndex:I.value?1:2}),"show-static-image":I.value,"is-full-screen":y.value.isActive,"current-camera-id":u.value,"mouse-sensitivity":k.mouseSensitivity,"interior-id":f.value,"apartment-id":n.apartmentId,onNewCameraCallback:Ce,onNewRotationCallback:Fe,onNewFloorCallback:M,onNewFovCallback:O,onNewSizeCallback:Y,onPlayerApiCallback:Ee},{"slideshow-image":e.withCtx(()=>[I.value?(e.openBlock(),e.createBlock(Ja,{key:0,image:b.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[k.adminMode?e.withDirectives((e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:T[1]||(T[1]=q=>r.value=!r.value)},null,512)),[[e.vShow,S.value]]):e.createCommentVNode("",!0),l.value&&u.value&&L.value?e.withDirectives((e.openBlock(),e.createBlock(U,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:T[2]||(T[2]=q=>B.value=!B.value)},null,512)),[[e.vShow,S.value]]):e.createCommentVNode("",!0),S.value&&k.showFloorLevel&&v.value.length>1?(e.openBlock(),e.createBlock(wn,{key:2,level:w.value,"floor-levels":v.value,onLevel:M},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),S.value&&k.adminMode&&r.value?(e.openBlock(),e.createElementBlock("div",tr,[e.createVNode(Ba,{"initial-settings":k.playerSettings,onUpdateSettings:Er,onSaveSettings:Br},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[S.value?(e.openBlock(),e.createBlock(Wa,{key:0,"return-url":k.websiteUrl},null,8,["return-url"])):e.createCommentVNode("",!0)]),"top-right":e.withCtx(()=>[m.value&&k.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",or,[e.createVNode(Bn,{rotation:_.value},null,8,["rotation"])],512)),[[e.vShow,S.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:T[3]||(T[3]=q=>B.value=!B.value)},[S.value&&m.value&&Q.value&&k.showTimeOfDay?(e.openBlock(),e.createBlock(An,{key:0,hours:V.value.hours,minutes:V.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:l.value&&h.value&&L.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(()=>[I.value?(e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:ee})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(sa,{project:e.unref(W)(n.cdnFileResolver,""),onCloseTutorial:T[4]||(T[4]=q=>S.value=!0)},null,8,["project"]),y.value.isActive&&l.value&&h.value&&L.value&&B.value?(e.openBlock(),e.createBlock(Ge,{key:0,"cdn-file-resolver":k.cdnFileResolver,"apartment-json":m.value,"minimap-json":l.value,rotation:_.value,"current-camera":h.value,level:D.value,onClose:T[5]||(T[5]=q=>B.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(()=>[I.value?(e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:K})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[S.value&&k.showFullScreen?(e.openBlock(),e.createBlock(qe,{key:0,"is-full-screen":y.value.isActive,class:"btn-fullscreen",onToggleFullscreen:ue},null,8,["is-full-screen"])):e.createCommentVNode("",!0),S.value&&k.showSnapshot?(e.openBlock(),e.createElementBlock("div",nr,[e.createVNode(U,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:X})])):e.createCommentVNode("",!0),e.createElementVNode("div",ar,[k.displayViewModeSwitch&&S.value?(e.openBlock(),e.createBlock(Fn,{key:0,"show-static-image":I.value,onToggle:ie},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),S.value&&k.showShare&&!y.value.isActive?(e.openBlock(),e.createElementBlock("div",rr,[e.createVNode(Qe)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[S.value&&k.showCarousel&&!Me.value?(e.openBlock(),e.createElementBlock("div",lr,[S.value?(e.openBlock(),e.createBlock(Se,{key:0,class:e.normalizeClass([y.value.isActive?"full-screen":""]),thumbnails:A.value,active:C.value,onNext:K,onPrevious:ee,onGoto:me},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",ir,[S.value&&k.showInteriorOptions&&F.value?(e.openBlock(),e.createBlock(bn,{key:0,"cdn-file-resolver":k.cdnFileResolver,"available-archetypes":F.value,"selected-index":E.value,onSelectInterior:Ve},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),k.showCarousel&&d.value&&Me.value?(e.openBlock(),e.createBlock(Se,{key:0,class:"waypoint-carousel below-player",thumbnails:A.value,active:C.value,onNext:K,onPrevious:ee,onGoto:me},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-0d33e209"]]),sr={id:"player-wrapper"},cr={id:"player-sizer"},dr={class:"player-control",id:"controls-top-left"},mr={class:"player-control",id:"controls-top-center"},ur={class:"player-control",id:"controls-top-right"},pr={class:"player-control",id:"controls-center-left"},fr={class:"player-control",id:"controls-center-center"},hr={class:"player-control",id:"controls-center-right"},gr={class:"player-control",id:"controls-bottom-left"},vr={class:"player-control",id:"controls-bottom-center"},kr={class:"player-control",id:"controls-bottom-right"},Cr=R(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(c,{emit:a}){return(t,n)=>(e.openBlock(),e.createElementBlock("div",sr,[e.createElementVNode("div",cr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",dr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",ur,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",pr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",fr,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",hr,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",gr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",vr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",kr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),yr={class:"virtual-tour-wrapper"},wr={class:"player-and-components-wrapper"},_r={class:"mss-image"},br={key:1,class:"btn-placeholder"},Xe=R(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(c){const a=c;e.provide(J,a.i18nConfig?new oe(a.i18nConfig):new oe);const t=e.ref(0),n=e.ref(new Ze(document,"player-wrapper")),o=e.computed(()=>a.images.map((l,p)=>({id:`image-${p}`,thumbnailUrl:l}))),r=e.computed(()=>o.value[t.value]);e.onMounted(()=>{n.value.setup()});function s(){n.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let l=t.value+1;l>=o.value.length&&(l=0),t.value=l}function m(){let l=t.value-1;l<0&&(l=o.value.length-1),t.value=l}function d(l,p=!0){let C=o.value.findIndex(f=>f.id===l);C!=-1&&(t.value=C)}return(l,p)=>{const C=e.resolveComponent("v-img"),f=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",yr,[e.createElementVNode("div",wr,[e.createElementVNode("div",null,[e.createVNode(Cr,{"is-full-screen":n.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",_r,[e.createVNode(C,{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(f,{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(f,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[l.showFullScreen?(e.openBlock(),e.createBlock(qe,{key:0,"is-full-screen":n.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),l.showShare?(e.openBlock(),e.createElementBlock("div",br,[e.createVNode(Qe)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[n.value.isActive&&o.value.length>1?(e.openBlock(),e.createBlock(Se,{key:0,class:e.normalizeClass([n.value.isActive?"full-screen":""]),thumbnails:o.value,active:t.value,onNext:i,onPrevious:m,onGoto:d},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),o.value.length>1?(e.openBlock(),e.createBlock(Se,{key:0,thumbnails:o.value,active:t.value,onNext:i,onPrevious:m,onGoto:d},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Vr={install:function(a){a.component("VApartmentChooser",Oe),a.component("VBuildingChooser",Ye),a.component("VVirtualTour",Je),a.component("VManualSlideShow",Xe)}};P.ApartmentChooserV1ToV5=Pe,P.BuildingChooserV1ToV5=We,P.ResourceLoader=Z,P.VApartmentChooser=Oe,P.VApartmentChooserV5=so,P.VBuildingChooser=Ye,P.VBuildingChooserV5=qo,P.VFloatingCard=pe,P.VHoverProbe=se,P.VManualSlideShow=Xe,P.VNorthDirection=he,P.VVirtualTour=Je,P.VZoomBox=fe,P.default=Vr,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P["vue3-player"]={},P.Vue,P.axios,P.PlayerCore,P.THREE))})(this,function(P,e,ne,tt,ot){"use strict";var Dr=Object.defineProperty;var Lr=(P,e,ne)=>e in P?Dr(P,e,{enumerable:!0,configurable:!0,writable:!0,value:ne}):P[e]=ne;var z=(P,e,ne)=>(Lr(P,typeof e!="symbol"?e+"":e,ne),ne);function $e(d){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const t in d)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(d,t);Object.defineProperty(a,t,o.get?o:{enumerable:!0,get:()=>d[t]})}}return a.default=d,Object.freeze(a)}const nt=$e(tt),ce=$e(ot);class Z{static async loadText(a){return new Z().loadText(a)}static async loadJson(a){return new Z().loadJson(a)}static async loadImage(a){return new Z().loadImage(a)}static async loadImageData(a){return new Z().loadImageData(a)}async loadText(a){return(await ne.get(a)).data}async loadJson(a){return(await ne.get(a)).data}async loadImage(a){return new Promise((t,o)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>{t(n)},n.onerror=o,n.src=a})}async loadImageData(a){const t=await this.loadImage(a),o=document.createElement("canvas");try{const n=o.getContext("2d");return o.width=t.width,o.height=t.height,n.drawImage(t,0,0),o.toDataURL("image/png")}finally{o.remove()}}}const at=e.defineComponent({__name:"VHoverProbe",setup(d,{expose:a}){const t=e.ref(),o=e.computed(()=>window.getComputedStyle(t.value).display==="none");return a({isHoverEnabled:o}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),O=(d,a)=>{const t=d.__vccOpts||d;for(const[o,n]of a)t[o]=n;return t},se=O(at,[["__scopeId","data-v-eb9b348d"]]);function j(d,a){return typeof d=="string"?`${d}${a}`:d(a)}const rt=O(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(d,{emit:a}){const t=d,o=a,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),s=e.ref(0),i=e.ref(),p=e.ref(),c=e.ref(),l=e.ref(),u=e.ref(-1),b=e.ref(!1),f=e.ref(),m=e.ref(),g=e.ref({}),w=e.ref("auto"),_=e.ref(new Z),h=e.ref({}),I=e.ref(),B=e.ref(),N=e.ref(),k=e.ref(),v=e.ref(),A=e.computed(()=>N.value.isHoverEnabled),E=e.computed(()=>j(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),D=e.computed(()=>E.value in g.value?g.value[E.value]:null),y=e.computed(()=>u.value<0?!1:t.sceneData.find(R=>R.index===u.value)||!1),x=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:w.value})),M=e.computed(()=>`hover-${b.value?"over":"out"}-${y.value?typeof y.value=="object"&&"unitId"in y.value?y.value.unitId:y.value:""}`);e.watch(E,()=>{g.value[E.value]||_.value.loadImageData(E.value).then(T=>{g.value={...g.value,[E.value]:T}})},{immediate:!0}),e.watch(D,()=>{D.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{oe()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{oe()}),e.watch(y,()=>{oe(),y.value?w.value="pointer":w.value="auto"}),e.watch(M,()=>{b.value?o("hoverOver",{hoverUnit:y.value?y.value.unitId:!1,closeHandler:()=>ue()}):o("hoverOut",{hoverUnit:y.value?y.value.unitId:!1,closeHandler:()=>ue()})}),e.watch(n,()=>{o("pos",n.value)}),e.onMounted(()=>{B.value=()=>{clearTimeout(I.value),X(),I.value=setTimeout(()=>{X()},50)},window.addEventListener("resize",B.value),X()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",B.value);for(const T in g.value)URL.revokeObjectURL(g.value[T])});function L(){i.value=k.value.getContext("2d",{willReadFrequently:!0}),p.value=new Image,p.value.onload=()=>{me(),k.value.addEventListener("mousemove",Me(Y,50))},p.value.src=D.value}function Y(T){const R=$(T.offsetX,T.offsetY);b.value=R>=0,u.value=R,n.value={x:T.offsetX,y:T.offsetY,width:r.value,height:s.value}}function V(T){const R=$(T.offsetX,T.offsetY);R<0||A&&ae(R)}function S(){if(p.value&&p.value.width){k.value.width=p.value.width,k.value.height=p.value.height,i.value.drawImage(p.value,0,0,p.value.width,p.value.height),l.value=i.value.getImageData(0,0,k.value.width,k.value.height),c.value=i.value.getImageData(0,0,k.value.width,k.value.height);const T=l.value.data;h.value={};for(let R=0;R<T.length;R+=4)h.value[T[R]]=[];for(let R=3;R<T.length;R+=4)T[R]===255&&T[R-3]in h.value&&h.value[T[R-3]].push(R-3)}}function $(T,R){f.value=T,m.value=R;const G=k.value.offsetWidth/k.value.width,Ve=k.value.offsetHeight/k.value.height,fe=(T/G).toFixed(),ie=(R/Ve).toFixed(),K=Number(ie)*(k.value.width*4)+Number(fe)*4,Se=l.value.data[K];return l.value.data[K+3]>0?Se:-1}function H(){te().forEach(R=>{if(R.index>=0){const G=Q(R.index);if(G){const Ve=W(R.index);let fe="idle";!y.value&&t.selectedUnitId&&Ve===t.selectedUnitId?fe="selected":y.value&&u.value===R.index&&(fe="hover");const ie=t.colorCallback(R.unitId,fe);if(ie)for(let K=0;K<G.length;K++)c.value.data[G[K]]=ie.r,c.value.data[G[K]+1]=ie.g,c.value.data[G[K]+2]=ie.b,c.value.data[G[K]+3]=ie.a}}})}function Q(T){return l.value?h.value[T]:!1}function W(T){const R=t.sceneData.find(G=>G.index===T);return R&&R.unitId}function te(){if(l.value){const T=Object.keys(h.value).map(G=>parseInt(G));return t.sceneData.filter(G=>T.includes(G.index))}else return[]}function ae(T){const R=W(T);re(R)}function re(T){o("selectUnit",T),T&&t.canGoToUnitCallback(T)&&o("goToUnit",T)}function le(T=0){if(!c.value)return;const R=c.value.data;for(let G=3;G<R.length;G+=4)R[G]=T}function X(){if(!v.value)return!1;r.value=v.value.offsetWidth,s.value=v.value.offsetHeight}function me(){S(),oe()}function oe(){le(),H(),i.value&&c.value&&i.value.putImageData(c.value,0,0)}function ue(){b.value=!1}const pe=e.ref(!1);function Me(T,R){return pe.value=!0,function(...G){pe.value&&(pe.value=!1,T.apply(this,G),setTimeout(()=>pe.value=!0,R))}}return(T,R)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:v,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:k,style:e.normalizeStyle(x.value),onClick:V},null,4),[[e.vShow,!T.viewModel.isRotating]]),e.createVNode(se,{ref_key:"hoverProbe",ref:N},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),lt=["viewBox"],it=["innerHTML","onMouseenter","onMouseleave","onClick"],st=O(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(d,{emit:a}){const t=d,o=a,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),s=e.ref({}),i=e.ref(null),p=e.ref(new Z),c=e.ref(),l=e.ref(),u=e.computed(()=>l.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(n,()=>{o("pos",n.value)}),e.watch(r,(B,N)=>{if(B>=0){const k=f(B);o("hoverOver",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}else{const k=f(N);o("hoverOut",{hoverUnit:k,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let B=1;B<=4;B++){const N=j(t.cdnFileResolver,`/scenedata${B}.svg`),k={markup:"",viewBox:"",svgObjects:[]};p.value.loadJson(N).then(v=>{k.markup=v;const E=new DOMParser().parseFromString(v,"image/svg+xml").getElementsByTagName("svg")[0];k.viewBox=E.getAttribute("viewBox"),k.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(D=>({index:parseInt(D.getAttribute("data-index")),svg:D.innerHTML})),s.value={...s.value,[B]:k}})}c.value.addEventListener("mousemove",I(b,50))});function b(B){n.value={x:B.offsetX,y:B.offsetY,width:c.value.offsetWidth,height:c.value.offsetHeight}}function f(B){var N;return(N=t.sceneData.find(k=>k.index===(typeof B=="string"?parseInt(B):B)))==null?void 0:N.unitId}function m(B){u.value&&(r.value=B)}function g(B){u.value&&(r.value=-1)}function w(B){const N=f(B);o("selectUnit",N),u.value&&N&&t.canGoToUnitCallback(N)?o("goToUnit",N):r.value=B}function _(B){const N=f(B);let k="idle";r.value<0&&t.selectedUnitId&&N===t.selectedUnitId?k="selected":r.value>=0&&r.value===B&&(k="hover");const v=t.colorCallback(N,k);if(v){const{r:A,g:E,b:D,a:y,s:x}=v;return{strokeWidth:x!==void 0?x:2,stroke:`rgb(${A}, ${E}, ${D})`,strokeOpacity:1,fill:`rgb(${A}, ${E}, ${D})`,fillOpacity:y/255,cursor:`${t.canGoToUnitCallback(N)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const h=e.ref(!1);function I(B,N){return h.value=!0,function(...k){h.value&&(h.value=!1,B.apply(this,k),setTimeout(()=>h.value=!0,N))}}return(B,N)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:c},[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:k,svg:v})=>(e.openBlock(),e.createElementBlock("g",{key:k,innerHTML:v,style:e.normalizeStyle(_(k)),onMouseenter:A=>m(k),onMouseleave:A=>g(),onClick:A=>w(k)},null,44,it))),128))],8,lt)):e.createCommentVNode("",!0)],4),[[e.vShow,!B.viewModel.isRotating]]),e.createVNode(se,{ref_key:"hoverProbe",ref:l},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),J=Symbol(),ct={key:0,class:"text-success d-none d-md-flex"},dt={class:"text-success"},mt=O(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(d,{emit:a}){const t=d,o=e.computed(()=>t.selectedUnitId),n=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),s=a,i=e.inject(J);e.onMounted(()=>{window.addEventListener("keydown",p)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",p)});function p(c){c.keyCode===37?t.prevUnitId&&s("prevUnit"):c.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(c,l)=>{const u=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:l[0]||(l[0]=b=>c.viewModel.rotateClockwise())}),e.createVNode(u,{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:l[1]||(l[1]=b=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(u,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!o.value||!c.canGoToUnitCallback(o.value),onClick:l[2]||(l[2]=b=>s("goToUnit",o.value))},{default:e.withCtx(()=>[o.value&&c.canGoToUnitCallback(o.value)?(e.openBlock(),e.createElementBlock("span",ct,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+" ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",dt,e.toDisplayString(o.value?t.unitRenderer(o.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!n.value,onClick:l[3]||(l[3]=b=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:l[4]||(l[4]=b=>c.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ie{constructor(a){z(this,"_numParts");z(this,"_loadedCount");z(this,"_isError");z(this,"_finishedAction");z(this,"_errorAction");z(this,"_loadProgressAction");this._numParts=a,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(a){return this._finishedAction=a,this}onLoadError(a){return this._errorAction=a,this}onLoadProgress(a){return this._loadProgressAction=a,this}partLoaded(){this.isFinished||(this._loadedCount++,this._loadProgressAction(this.percentLoaded),this.isFinished&&this._finishedAction())}errorDetected(){this._isError||(this._isError=!0,this._errorAction())}get isFinished(){return this._loadedCount>=this._numParts}get isError(){return this._isError}get percentLoaded(){return Math.round(this._loadedCount*100/this._numParts)}}class Ae{constructor(a,t,o,n){z(this,"_rotator");z(this,"_direction");z(this,"_frameIndex");z(this,"_sceneCount");this._rotator=a,this._direction=t,this._frameIndex=o,this._sceneCount=n}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const a=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(a)?this._sceneCount-1:this._sceneCount;return new Ae(this._rotator,this._direction,a,t)}}class ut{constructor(a,t){z(this,"_cardinalFrames");z(this,"_totalFrameCount");this._cardinalFrames=a,this._totalFrameCount=t}start(a,t,o){const n=this.startFrameIndexForScene(t);return new Ae(this,a,n,o)}isCardinalFrame(a){return this._cardinalFrames.includes(a)}clampFrameIndex(a){return(this._totalFrameCount+a)%this._totalFrameCount}startFrameIndexForScene(a){return this._cardinalFrames[a]}}const pt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},ft={key:1,class:"frame-container"},ht={key:0,class:"frame-image"},gt=["srcset"],vt=["src"],kt={key:2,id:"image-stack",class:"frame-container"},Ct=["alt"],yt=["srcset"],wt=["src"],Re=64,_e=4,_t=120,bt=O(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(d,{emit:a}){const t=d,o=a,n=f(),r=e.ref(new Ie(n.length).onLoadFinished(()=>o("loaded")).onLoadProgress(_=>o("progress",_)).onLoadError(()=>o("error"))),s=e.ref(new ut(t.cardinalFrames,Re)),i=e.ref(n),p=e.ref(!1),c=e.computed(()=>i.value.find(_=>_.show));e.watch(()=>t.viewModel.currentScene,(_,h)=>{const I=w(h,_),B=g(h,_);l(h,I,B)}),e.onMounted(()=>{b()});function l(_,h,I){t.viewModel.isRotating||(t.viewModel.isRotating=!0,u(s.value.start(h,_%_e,I)))}function u(_){setTimeout(()=>{i.value[_.frameIndex].show=!1;const h=_.nextFrame();i.value[h.frameIndex].show=!0,h.atEnd?b():window.requestAnimationFrame(()=>u(h))},1e3/_t)}function b(){const _=s.value.startFrameIndexForScene(t.viewModel.currentScene%_e);_ in i.value&&(i.value[_].show=!0),t.viewModel.isRotating=!1}function f(){const _=[];for(let h=0;h<Re;h++){const{sourceSet:I,defaultPath:B}=m(h);_.push({index:h,sourceSet:I,defaultPath:B,show:!1})}return _}function m(_){const h=("0000"+(_+1)).slice(-4),I=t.build?`?v=${t.build}`:"",B=[`${j(t.cdnFileResolver,`/480/${h}.jpg${I}`)} 480w`,`${j(t.cdnFileResolver,`/960/${h}.jpg${I}`)} 960w`,`${j(t.cdnFileResolver,`/1280/${h}.jpg${I}`)} 1280w`].join(","),N=j(t.cdnFileResolver,`/480/${h}.jpg${I}`);return{sourceSet:B,defaultPath:N}}function g(_,h){const I=_e/2,B=Math.abs(_-h);return B>I?_e-B:B}function w(_,h){if(_===h)return 0;const B=Math.abs(_-h)<_e/2;return B&&_<h||!B&&_>h?1:-1}return(_,h)=>{const I=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",pt,[e.createVNode(I,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,B=>(e.openBlock(),e.createElementBlock("picture",{key:B.index,alt:B.index,class:e.normalizeClass({"frame-image":!0,show:B.show})},[e.createElementVNode("source",{srcset:B.sourceSet,type:"image/jpeg"},null,8,yt),e.createElementVNode("img",{src:B.defaultPath,alt:"Building image",onLoad:h[2]||(h[2]=N=>r.value.partLoaded()),onError:h[3]||(h[3]=N=>r.value.errorDetected())},null,40,wt)],10,Ct))),128))])):(e.openBlock(),e.createElementBlock("div",ft,[c.value?(e.openBlock(),e.createElementBlock("picture",ht,[e.createElementVNode("source",{srcset:c.value.sourceSet,type:"image/jpeg"},null,8,gt),e.createElementVNode("img",{src:c.value.defaultPath,onLoad:h[0]||(h[0]=B=>p.value=!0),onError:h[1]||(h[1]=B=>r.value.errorDetected())},null,40,vt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),he=O(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(d,{emit:a}){const t=d,o=a,n=e.computed(()=>{let r,s,i,p;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%",p="-8px"):(s="0%",p="8px"),`translate(${r}, ${s}) translate(${i}, ${p})`});return(r,s)=>{const i=e.resolveComponent("v-dialog"),p=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(p,{origin:`top left ${r.pos.x} ${r.pos.y}`},{default:e.withCtx(()=>[r.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${r.pos.x}px`,top:`${r.pos.y}px`,pointerEvents:"none",transform:n.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(i,{key:1,value:!0,width:"auto","onClick:outside":s[0]||(s[0]=c=>o("outside",c))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),ge=O(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(d,{emit:a}){const t=d,o=a,n=e.ref(100),r=e.ref(0),s=e.ref(0),i=e.ref(!1),p=e.ref(!1),c=e.ref(void 0),l=e.ref(!1),u=e.ref(),b=e.computed(()=>`translateX(${r.value}px) translateY(${s.value}px) scale(${f.value})`),f=e.computed(()=>n.value/100),m=e.computed(()=>t.maxScale*100);e.watch([f,r,s],()=>{Y()}),e.watch(()=>t.desktop,()=>{t.desktop?g():_()}),e.watch(()=>t.mobile,()=>{t.mobile?w():h()}),e.onMounted(()=>{t.desktop&&g(),t.mobile&&w()}),e.onBeforeUnmount(()=>{t.desktop&&_(),t.mobile&&h()});function g(){u.value.addEventListener("wheel",I,{capture:!0}),u.value.addEventListener("mousedown",B,{capture:!0}),u.value.addEventListener("mousemove",N,{capture:!0}),window.addEventListener("mouseup",k,{capture:!0}),window.addEventListener("click",v,{capture:!0})}function w(){u.value.addEventListener("touchstart",A,{capture:!0}),u.value.addEventListener("touchmove",E,{capture:!0}),window.addEventListener("touchend",D,{capture:!0}),window.addEventListener("touchcancel",D,{capture:!0})}function _(){u.value.removeEventListener("wheel",I,{capture:!0}),u.value.removeEventListener("mousedown",B,{capture:!0}),u.value.removeEventListener("mousemove",N,{capture:!0}),window.removeEventListener("mouseup",k,{capture:!0}),window.removeEventListener("click",v,{capture:!0})}function h(){u.value.removeEventListener("touchstart",A,{capture:!0}),u.value.removeEventListener("touchmove",E,{capture:!0}),window.removeEventListener("touchend",D,{capture:!0}),window.removeEventListener("touchcancel",D,{capture:!0})}function I(V){const{x:S,y:$}=y(V);L(-V.deltaY/10,S,$),V.preventDefault()}function B(V){i.value=!0,l.value=!1,c.value=V}function N(V){if(i.value){const{x:S,y:$}=y(V),{x:H,y:Q}=y(c.value),W={x:S-H,y:$-Q};x(W.x),M(W.y),l.value=!0,c.value=V}}function k(V){i.value&&l.value&&t.consumeMouseUpWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation())}function v(V){i.value&&(l.value&&t.consumeMouseClickWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation()),i.value=!1)}function A(V){i.value=V.touches.length===1,p.value=V.touches.length===2,c.value=V}function E(V){if(i.value){const{x:S,y:$}=y(V.touches[0]),{x:H,y:Q}=y(c.value.touches[0]),W={x:S-H,y:$-Q};x(W.x),M(W.y)}else if(p.value&&V.touches.length===2){const{x:S,y:$}=y(V.touches[0]),{x:H,y:Q}=y(c.value.touches[0]),{x:W,y:te}=y(V.touches[1]),{x:ae,y:re}=y(c.value.touches[1]),le=Math.hypot(H-ae,Q-re),X=Math.hypot(S-W,$-te),me=(W+S)/2,oe=(te+$)/2;L(X-le,me,oe)}c.value=V}function D(){i.value=!1,p.value=!1}function y(V){const{left:S,top:$}=u.value.getBoundingClientRect();return{x:V.clientX-S,y:V.clientY-$}}function x(V){const S=u.value.clientWidth,$=S*f.value;r.value=Math.max(Math.min(0,r.value+V),-($-S))}function M(V){const S=u.value.clientHeight,$=S*f.value;s.value=Math.max(Math.min(0,s.value+V),-($-S))}function L(V,S,$){const H=u.value.clientWidth,Q=u.value.clientHeight,W=H*f.value,te=Q*f.value;n.value=Math.min(Math.max(100,n.value+V),m.value);const ae=H*f.value,re=Q*f.value,le=ae-W,X=re-te;r.value-=S/H*le,s.value-=$/Q*X,x(0),M(0)}function Y(){o("update",{scale:f.value,x:r.value,y:s.value,resolve:(V,S)=>{const $=u.value.clientWidth,H=u.value.clientHeight,Q=r.value/-f.value,W=s.value/-f.value,te=Q+$/f.value,ae=W+H/f.value,re=V/$*(te-Q)+Q,le=S/H*(ae-W)+W;return{x:re,y:le}}})}return(V,S)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:u,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:b.value}),class:"zoom-box"},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),De=4;function Oe(d){return d<De?d+1:1}function Vt(d){return d>1?d-1:De}class Et{constructor(a){z(this,"_state");this._state={isRotating:!1,currentScene:a}}get isRotating(){return this._state.isRotating}set isRotating(a){this._state.isRotating=a}unlessRotatingDo(a){this.isRotating||a()}get currentScene(){return this._state.currentScene}set currentScene(a){this._state.currentScene=a}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Oe(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Vt(this.currentScene)})}}const Bt={interior:"Interiør",seeASelectionOfTheOptionsInTheProject:"Se et utvalg av tilvalgsmulighetene i prosjektet.",floorPlan:"Planløsning",allIllustrationsAreIndicativeDeviationsMayOccur:{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},readMoreHere:"Les mer her",iUnderstand:{nb:"Jeg forstår",en:"I understand"},share:"Share",shareToFacebook:"Share to Facebook",shareToLinkedin:"Share to Linkedin",shareToTwitter:"Share to Twitter",shareViaEmail:"Share via Email",copyLink:"Copy link",virtualView:"Virtuell Visning",slideShow:"Slide Show",room:"Room",floor:"Floor",seeApartments:"See apartments",seeApartment:"See apartment",clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},dontShowAgain:{en:"Don't Show Again",nb:"Ikke vis igjen"}};class ee{constructor({labels:a,language:t}={labels:null,language:null}){z(this,"_labels");z(this,"_language");this._labels={...Bt,...a||{}},this._language=t||"en"}getLabel(a){return a in this._labels?this.get(this._labels[a]):a}get(a){if(typeof a=="string")return a;if(this._language in a&&a[this._language])return a[this._language];for(const t in a)if(a[t])return a[t];return""}}const xt={key:0},St={class:"interactive-viewer"},Nt={class:"fill-parent"},It={key:0},At={key:1,class:"navigation"},Dt={key:2},Lt=4,Ue=O(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:d=>d},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(d,{emit:a}){const t=[0,16,32,48],o=d,n=a;e.provide(J,o.i18nConfig?new ee(o.i18nConfig):new ee);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),p=e.ref(),c=e.ref(),l=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),b=e.ref(),f=e.ref(),m=e.computed(()=>f.value.isHoverEnabled),g=e.computed(()=>o.useSvg?st:rt),w=e.computed(()=>o.selectedUnitId),_=e.computed(()=>o.nextUnitId),h=e.computed(()=>o.prevUnitId);e.watchEffect(()=>{if(w.value&&c.value){const k=s.value[w.value];k&&(c.value.currentScene=k)}}),e.onMounted(async()=>{const k=o.apartmentChooserData&&o.apartmentChooserData.startScene!==void 0?o.apartmentChooserData.startScene:Lt;p.value=o.apartmentChooserData&&o.apartmentChooserData.scenes!==void 0?o.apartmentChooserData.scenes:t,i.value=o.apartmentChooserData&&o.apartmentChooserData.sceneData!==void 0?o.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],s.value=o.apartmentChooserData&&o.apartmentChooserData.sceneData!==void 0?o.apartmentChooserData.sceneData.map(E=>{const D=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:D}}).reduce((E,D)=>({...E,[D.unitId]:D.scene}),{}):{};const v=(E,D="unitId")=>{let y=k,x=[];for(let M=0;M<De;M++)x.push(y),y=Oe(y);return E.sort((M,L)=>{const Y=x.findIndex(S=>S===s.value[M[D]]),V=x.findIndex(S=>S===s.value[L[D]]);return Y<V?-1:Y>V?1:0}),E},A=E=>{c.value=new Et(E)};n("initialized",{scene:k,scenes:p.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:v,initialize:A})});function I(k){l.value=k}function B(k){b.value=k.hoverUnit,u.value=k.closeHandler,n("hoverOverUnit",k.hoverUnit)}function N(k){b.value=null,u.value=k.closeHandler,n("hoverOutUnit",k.hoverUnit)}return(k,v)=>{const A=e.resolveComponent("v-progress-linear");return c.value?(e.openBlock(),e.createElementBlock("div",xt,[e.createElementVNode("div",St,[e.createElementVNode("div",Nt,[e.createVNode(ge,{desktop:r.isReady&&k.interactiveDesktop,mobile:r.isReady&&k.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(bt,{"cdn-file-resolver":k.cdnFileResolver,"view-model":c.value,"cardinal-frames":p.value,build:k.build,onProgress:v[0]||(v[0]=E=>r.progress=E),onLoaded:v[1]||(v[1]=E=>r.isReady=!0),onError:v[2]||(v[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",It,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),{"cdn-file-resolver":o.cdnFileResolver,"view-model":c.value,"selected-unit-id":w.value,"scene-data":i.value,"color-callback":o.colorCallback,"can-go-to-unit-callback":o.canGoToUnitCallback,"draw-observer":o.drawObserver,onSelectUnit:v[3]||(v[3]=E=>n("selectUnit",E)),onGoToUnit:v[4]||(v[4]=E=>n("goToUnit",E)),onHoverOver:B,onHoverOut:N,onPos:I},{default:e.withCtx(E=>[e.renderSlot(k.$slots,"default",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),b.value&&k.showCards?(e.openBlock(),e.createBlock(he,{key:0,"is-hoverable":m.value,pos:l.value,onOutside:u.value},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default",{unit:b.value,canGoToUnit:k.canGoToUnitCallback(b.value),goToUnit:()=>k.canGoToUnitCallback(b.value)&&n("goToUnit",b.value),pos:l.value,isHoverable:m.value,close:u.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",At,[e.createVNode(mt,{"can-go-to-unit-callback":o.canGoToUnitCallback,"unit-renderer":o.unitRenderer,"selected-unit-id":w.value,"prev-unit-id":h.value,"next-unit-id":_.value,"view-model":c.value,onGoToUnit:v[5]||(v[5]=E=>n("goToUnit",E)),onPrevUnit:v[6]||(v[6]=E=>n("navUnit",h.value)),onNextUnit:v[7]||(v[7]=E=>n("navUnit",_.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",Dt,[e.createVNode(A,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":v[8]||(v[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(se,{ref_key:"hoverProbe",ref:f},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-528c8f5b"]]),Ft=["src"],Mt=O(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d,t=e.computed(()=>j(a.cdnFileResolver,a.timeSampleData.filename));return(o,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Ft)),[[e.vShow,o.timeSampleData===o.currentTime]])}}),[["__scopeId","data-v-189d0505"]]),Tt=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Mt,{"time-sample-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),$t=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(Tt,{"day-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Rt=["src"],Ot=O(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(d,{emit:a}){const t=d,o=e.computed(()=>j(t.cdnFileResolver,t.transitionData.filename));return(n,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:o.value,src:o.value,class:"position-absolute top-left w-100 h-100"},null,8,Rt)),[[e.vShow,n.transitionData===n.currentTransition]])}}),[["__scopeId","data-v-10ab7bee"]]);function He(d){return!("filename"in d)}function Le(d){return"filename"in d}const Ut=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{n.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(He):[]);return e.watch(n,()=>{o("onCameraChange",r.value.find(s=>s.overlayFilename===n.value))}),(s,i)=>{const p=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(p,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Ht=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{o("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.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 p=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(p,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Pt={key:0,class:"py-2"},zt={class:"small"},jt={class:"small"},Yt=O(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{o("onTimeChange",t.dayData.timeSamples.find(p=>p.timeInHours===n.value))});function s(p){const c=p*60,l=Math.floor(c/60),u=c%60;return`${l.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(p,c)=>{const l=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),b=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[p.dayData.startTime===p.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Pt,[e.createVNode(l,{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(n.value)),1)])):(e.openBlock(),e.createBlock(b,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=m=>n.value=m),min:p.dayData.startTime,max:p.dayData.endTime,step:p.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode(" "),e.createElementVNode("span",zt,e.toDisplayString(s(p.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",jt,e.toDisplayString(s(p.dayData.endTime)),1),e.createTextVNode(" "),e.createVNode(l,{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(n.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f0aa5473"]]),Wt=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(d,{expose:a,emit:t}){const o=d,n=t;a({rotateShortestRoute:b});const r=e.ref(!1),s=e.ref(o.currentScene),i=e.ref(o.selectedId);e.watchEffect(()=>{s.value=o.currentScene}),e.watchEffect(()=>{i.value=o.selectedId}),e.watchEffect(()=>{n("onSceneChange",s.value)});const p=e.computed(()=>r.value?!1:o.apartmentChooserData.loopable?!0:s.value!==o.apartmentChooserData.scenes[0]),c=e.computed(()=>r.value?!1:o.apartmentChooserData.loopable?!0:s.value!==o.apartmentChooserData.scenes[o.apartmentChooserData.scenes.length-1]);function l(){const m=s.value;let g=o.apartmentChooserData.scenes.findIndex(_=>_===m)+1;g>=o.apartmentChooserData.scenes.length&&(g=0);const w=o.apartmentChooserData.scenes[g];o.apartmentChooserData.loopable&&m>w,f(m,w)}async function u(){const m=s.value;let g=o.apartmentChooserData.scenes.findIndex(_=>_===m)-1;g<0&&(g=o.apartmentChooserData.scenes.length-1);const w=o.apartmentChooserData.scenes[g];o.apartmentChooserData.loopable&&m<w,f(m,w)}function b(m){const g=s.value;if(o.apartmentChooserData.loopable)if(m<g){let w=g-m,_=g-(o.apartmentChooserData.cameras.length+m);return Math.abs(w)>Math.abs(_)?f(g,m):f(g,o.apartmentChooserData.cameras.length+m)}else{let w=g-m,_=o.apartmentChooserData.cameras.length+g-m;return Math.abs(w)>Math.abs(_)?f(g,m):f(o.apartmentChooserData.cameras.length+g,m)}else return f(g,m)}function f(m,g){return new Promise(w=>{r.value=!0,n("onRotateStart",{from:m,to:g});let _,h=m;_=setInterval(()=>{h<g?(h++,s.value=Math.abs(h%o.apartmentChooserData.cameras.length)):h>g?(h--,s.value=Math.abs(h%o.apartmentChooserData.cameras.length)):(clearInterval(_),n("onRotateFinish",{from:m,to:g}),r.value=!1,w())},50)})}return(m,g)=>{const w=e.resolveComponent("v-btn"),_=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(w,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!p.value,onClick:u},null,8,["disabled"]),m.renderDisplay&&i.value?(e.openBlock(),e.createBlock(_,{key:0,variant:"flat",color:"white",size:"large",onClick:g[0]||(g[0]=h=>n("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(m.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(w,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!c.value,onClick:l},null,8,["disabled"])],64)}}}),Gt=["innerHTML"],Qt=O(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(d,{emit:a}){const t=d,o=a,n=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 l in i){const{element:u,state:b}=i[l],{r:f,g:m,b:g,a:w,s:_}=t.colorCallback(l,b)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${f}, ${m}, ${g}, ${w/255})`,u.style.stroke=`rgb(${f}, ${m}, ${g})`,u.style.strokeWidth=_.toString()}}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await Z.loadText(j(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(p).observe(r.value)});function p(){e.nextTick(()=>{var u;const l=(u=r.value)==null?void 0:u.firstChild;if(l){if(!l.hasAttribute("viewBox")){const b=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",b)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())}})}function c(){e.nextTick(()=>{var u;const l=(u=r.value)==null?void 0:u.firstChild;l&&(o("updateSvgContainer",l),p(),l.querySelectorAll("[data-apartment-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(g=>{g.style.stroke="inherit",g.style.fill="inherit"});const m=f.getAttribute("data-apartment-id");i[m]={element:f,state:s.value===m?"selected":"idle"},f.addEventListener("mouseover",()=>{i[m].state==="idle"&&(i[m].state="hover"),o("onHoverOver",m)}),f.addEventListener("mouseout",()=>{i[m].state==="hover"&&(i[m].state="idle"),o("onHoverOut",m)}),f.addEventListener("click",()=>{o("onClick",m)})}))})}return(l,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:n.value},null,8,Gt))]),_:1}))}}),[["__scopeId","data-v-6a295c78"]]),qt="data:image/png;base64,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",ve=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(d){const a=d,t=e.computed(()=>({transform:`rotate(${90-(a.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(o,n)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(qt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class ke{constructor(a){z(this,"_buildingIds");this._buildingIds=a}static empty(){return new ke([])}getBuildingId(a,t,o){const n=this._getBuildingIndex(a,t,o);if(n!==void 0)return this._buildingIds[n]}_getBuildingIndex(a,t,o){const[n,r,s,i]=a.getPixel(t,o);if(i===255&&n===r&&r===s)return n}}const Zt=180;class Pe{constructor(a){z(this,"_cdnFileResolver");z(this,"_resourceLoader");this._cdnFileResolver=a,this._resourceLoader=new Z}constructFileUrl(a){return this._cdnFileResolver?j(this._cdnFileResolver,`/${a}`):null}loadBuildingMapImage(a){const t=this.constructFileUrl(a.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(a){return a.cameraRotation&&a.cameraRotation.y+270}getBuildingData(a){const t=a?a.buildings:[],o=t.map(r=>r.id),n=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:o,buildingOverlays:n}}getBackgroundImageData(a){return"days"in a?this.processMultipleDays(a.days):[this.processTimeSamples(Zt,a.timeSamples)]}processMultipleDays(a){return a.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(a,t){return{urls:t.map(n=>this.constructFileUrl(n.filename)),referenceDate:this.makeReferenceDate(a)}}makeReferenceDate(a){const t=new Date(0);return t.setUTCDate(a),t}async loadBuildingChooser(a){try{if(a){const t=await this.loadBuildingMapImage(a);if(t){const o=this.getViewLongitude(a),{buildingIds:n,buildingOverlays:r}=this.getBuildingData(a),s=this.getBackgroundImageData(a);return{mapImage:t,viewLongitude:o,buildingIds:n,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class Ce{constructor(a){z(this,"_mapImage");z(this,"_context");this._mapImage=a,this._context=null}static empty(){return new Ce(null)}update(a){this._mapImage&&(this._context=a.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,a.width,a.height))}getPixel(a,t){try{return this._context?this._context.getImageData(a,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const Jt=new Date(0);class Be{constructor(a){z(this,"_imagesByDay");z(this,"_state");this._imagesByDay=a,this._state={selectedIndex:0}}static empty(){return new Be([{referenceDate:Jt,urls:[]}])}selectIndex(a){a<this._imagesByDay.length&&(this._state.selectedIndex=a)}get dates(){return this._imagesByDay.map(a=>a.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function be(d){return("0"+d).slice(-2)}function Xt(){const d=new Date;return[d.getFullYear().toString(),be(d.getMonth()+1),be(d.getDate())," ",be(d.getHours()),be(d.getMinutes()),be(d.getSeconds())].join("")}function Kt(){return"Visuado-Snapshot-"+Xt()}class eo{constructor(a,t){z(this,"data");this.data=a}download(a=null){a=a||Kt();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=a,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}const ze=d=>{const a=d.sceneData.map(i=>({unitId:i.apartmentID,bestScene:i.bestScene})),t="1280",o=[4,1,2,3],n=[];for(let i=1;i<=64;i++){const p=i.toString().padStart(4,"0")+".jpg";n.push(p)}const r=n.map(i=>({filename:`/${t}/${i}`}));for(let i=0;i<d.scenes.length;i++){let p=d.scenes[i],c,l;c=r[p],l={cameraName:`Kamera ${i+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${o[i]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:c.filename}]}]},Le(r[p])&&(r[p]=l)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:d.scenes,loopable:!0,renderVersion:d.renderVersion?d.renderVersion:"Auto Converted",unitData:a,cameras:r}},to={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},oo={class:"pa-1"},no={class:"pa-1"},ao={class:"pa-1"},ro={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},lo={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},io=["innerHTML"],so={style:{"z-index":"7"}},co=O(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(d,{emit:a}){const t=d,o=a,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(null),p=e.ref(4),c=e.ref(),l=e.ref(!1),u=e.ref(!1),b=e.ref(),f=e.ref(),m=e.computed(()=>f.value.isHoverEnabled),g=e.ref({x:0,y:0,width:0,height:0}),w=e.ref(),_=e.ref(),h=e.ref(t.apartmentChooserData),I=e.ref(!1);e.onMounted(()=>{l.value=!0}),e.watch(l,V=>{V&&o("onInitialize")}),e.watch(()=>_.value,()=>{_.value&&new ResizeObserver(([S])=>{I.value=S.contentRect.width<t.mobileBreakpoint}).observe(_.value)});const B=e.computed(()=>h.value?h.value.cameras.filter(He):[]),N=e.computed(()=>h.value?h.value.cameras.filter(Le):[]),k=async()=>{try{let V,S;return S=await Z.loadJson(j(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(S.version)===5?S:(V=ze(S),V)}catch(V){l.value=!1,o("onError",V)}};e.watch([h,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(h.value||(h.value=await k()),t.defaultCamera?n.value=B.value.find(V=>V.cameraName===t.defaultCamera)||B.value[0]:n.value=B.value[0],p.value=h.value.cameras.findIndex(V=>V===n.value),p.value=Math.max(0,p.value))},{immediate:!0}),e.watch([h,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{h.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(V=>V.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([h,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{h.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 v(V){n.value!==V&&b.value.rotateShortestRoute(h.value.cameras.findIndex(S=>S===V))}function A(V){p.value=V,Le(h.value.cameras[p.value])?i.value=h.value.cameras[p.value]:(e.nextTick(()=>{E(h.value.cameras[p.value])}),i.value=null)}function E(V){const S=r.value;n.value=V,p.value=h.value.cameras.findIndex($=>$===n.value),e.nextTick(()=>{D(n.value.sunsimDayOfYear.find($=>$.dayOfYear===S.dayOfYear)||n.value.sunsimDayOfYear[0])})}function D(V){const S=s.value;r.value=V,e.nextTick(()=>{y(r.value.timeSamples.find($=>$.timeInHours===S.timeInHours)||r.value.timeSamples.find($=>$.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function y(V){s.value=V}function x(V){o("onClick",V,()=>{const S=h.value.unitData.find($=>$.unitId===V);S&&b.value.rotateShortestRoute(S.bestScene)})}function M(V){o("onHoverOver",V),c.value=V}function L(V){o("onHoverOut",V),c.value=void 0}function Y(V){const{layerX:S,layerY:$}=V;let H=V.target,Q=!1;for(;H;)if(H===w.value){Q=!0;break}else H=H.parentElement;if(Q){const W=V.currentTarget;g.value={x:S,y:$,width:W.clientWidth,height:W.clientHeight}}else g.value=void 0;o("onMouseMove",V,g.value)}return(V,S)=>{const $=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode($,{type:"image",class:"w-100 h-100 position-relative",loading:!l.value||!h.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:_,class:e.normalizeClass({mobile:I.value}),onMousemove:Y},[e.createElementVNode("div",to,[e.createElementVNode("div",oo,[h.value.cameras.length>1?(e.openBlock(),e.createBlock(Ut,{key:0,"apartment-chooser-data":h.value,"current-camera":n.value,disabled:u.value,onOnCameraChange:v},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",no,[n.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Ht,{key:0,"camera-data":n.value,"current-day":r.value,disabled:u.value,onOnDayChange:D},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",ao,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Yt,{key:0,"day-data":r.value,"current-time":s.value,disabled:u.value,onOnTimeChange:y},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",ro,[h.value.cameras.length>1?(e.openBlock(),e.createBlock(Wt,{key:0,ref_key:"rotator",ref:b,"apartment-chooser-data":h.value,"current-scene":p.value,"selected-id":V.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:x,onOnSceneChange:A,onOnRotateStart:S[0]||(S[0]=H=>u.value=!0),onOnRotateFinish:S[1]||(S[1]=H=>u.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",lo,[n.value.cameraRotation?(e.openBlock(),e.createBlock(ve,{key:0,longitude:n.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ge,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.value,H=>(e.openBlock(),e.createBlock($t,{key:H.overlayFilename,"camera-data":H,"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(N.value,H=>(e.openBlock(),e.createBlock(Ot,{"transition-data":H,"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,io)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Qt,{"cdn-file-resolver":V.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:x,onOnHoverOver:M,onOnHoverOut:L,onUpdateSvgContainer:S[2]||(S[2]=H=>w.value=H)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),V.$slots.popup&&g.value&&c.value?(e.openBlock(),e.createBlock(he,{key:0,"is-hoverable":m.value,pos:g.value},{default:e.withCtx(()=>[e.createElementVNode("div",so,[e.renderSlot(V.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:c.value,hoverable:m.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(se,{ref_key:"hoverProbe",ref:f},null,512)],64)}}}),[["__scopeId","data-v-a6de6506"]]),mo={class:"sunsim-bar-wrapper"},uo={class:"sunsim-date d-flex align-center pl-5 pr-5"},po={key:1,class:"text-center text-body-1"},fo={class:"sunsim-wrapper d-flex align-center px-3"},ho={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},je=O(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.modelValue),r=e.ref();function s(l){return l.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const l=Math.floor(n.value/2).toString().padStart(2,"0"),u=n.value%2===0?"00":"30";return`${l}:${u}`}),p=e.computed(()=>t.dateSelector.dates.map(s)),c=e.computed({get(){return s(t.dateSelector.selectedDate)},set(l){t.dateSelector.selectIndex(p.value.indexOf(l))}});return e.watch(n,l=>{o("update:modelValue",l)}),e.watch(r,l=>{t.dateSelector.selectIndex(p.value.indexOf(l))}),e.watch(()=>t.modelValue,l=>{n.value=Math.floor(l)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(l,u)=>{const b=e.resolveComponent("v-icon"),f=e.resolveComponent("v-select"),m=e.resolveComponent("v-progress-linear"),g=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",mo,[e.createElementVNode("div",uo,[e.createVNode(b,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),l.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(f,{key:0,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=w=>r.value=w),items:p.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",po,e.toDisplayString(c.value),1))]),e.createElementVNode("div",fo,[e.createElementVNode("span",ho,e.toDisplayString(i.value),1),e.createVNode(b,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),l.isLoading?(e.openBlock(),e.createBlock(m,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(g,{key:1,modelValue:n.value,"onUpdate:modelValue":u[1]||(u[1]=w=>n.value=w),min:0,max:47,step:1,"thumb-label":!1,"hide-details":!0,"thumb-color":"white","thumb-size":"25","track-size":"7","track-fill-color":"transparent",class:"sunsim-slider mr-1"},null,8,["modelValue"]))])])}}}),[["__scopeId","data-v-d5a3d3f8"]]),go={key:0},vo=["src"],Ye=O(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(d,{emit:a}){const t=d,o=a,n=e.ref("init"),r=e.ref(new Ie(0)),s=e.ref();e.watch(()=>t.imageUrls,c=>{o("reset"),p(c)}),e.onMounted(()=>{p(t.imageUrls),new ResizeObserver(c=>{window.requestAnimationFrame(()=>{const l=c[0].contentRect.width,u=c[0].contentRect.height;o("resize",{width:l,height:u})})}).observe(s.value)});function i(){n.value="preloaded",o("preloaded")}function p(c){n.value="init",s.value.src=c[0],r.value=new Ie(c.length).onLoadFinished(()=>{n.value="loaded",o("ready")})}return(c,l)=>(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),n.value==="preloaded"||n.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",go,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.imageUrls,(u,b)=>(e.openBlock(),e.createElementBlock("img",{key:b,class:e.normalizeClass({"image-instance":!0,active:b===c.activeIndex}),src:u,onLoad:l[0]||(l[0]=f=>r.value.partLoaded())},null,42,vo))),128))],512)),[[e.vShow,n.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),ko={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Co={class:"image-instances"},yo={key:0},wo={class:"svg-container"},_o=["viewBox"],bo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Vo=["innerHTML"],Eo=O(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(d,{emit:a}){const t=d,o=a;e.provide(J,t.i18nConfig?new ee(t.i18nConfig):new ee);const n=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(),p=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),c=e.ref(!1),l=e.ref(new Z),u=e.ref(),b=e.ref("0 0 0 0"),f=e.ref(),m=e.ref(),g=e.ref(ke.empty()),w=e.ref(Ce.empty()),_=e.ref(),h=e.computed(()=>_.value.isHoverEnabled);e.watch(i,(y,x)=>{y?o("hoverOverBuilding",y):o("hoverOutBuilding",x)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[y,x,M]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(M);p.value=parseInt(x)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const x=await new Pe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(x){w.value=new Ce(x.mapImage),g.value=new ke(x.buildingIds),f.value=new Be(x.backgrounds),m.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude};const M=[];for(let{id:L,url:Y}of x.buildingOverlays)l.value.loadJson(Y.replace(".png",".svg")).then(V=>{const $=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];b.value=$.getAttribute("viewBox"),M.push({id:L,svg:$.innerHTML})});u.value=M}else c.value=!0});function I({width:y,height:x}){r.value.width=y,r.value.height=x}function B(){n.value={preloaded:!1,ready:!1}}function N(y){const x=t.colorCallback(y,y===i.value?"hover":"idle"),M=[];return y===i.value?M.push("hover"):M.push("idle"),x&&t.canGoToBuildingCallback(y)?M.push("clickable"):M.push("restricted"),M.join(" ")}function k(y){const x=t.colorCallback(y,y===i.value?"hover":"idle");if(x){const{r:M,g:L,b:Y,a:V,s:S}=x;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${M}, ${L}, ${Y})`,strokeOpacity:1,fill:`rgb(${M}, ${L}, ${Y})`,fillOpacity:V/255,cursor:`${t.canGoToBuildingCallback(y)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function v(y,x){const{layerX:M,layerY:L}=y;h.value&&(s.value={x:M,y:L,width:r.value.width,height:r.value.height},i.value=x,o("hoverOverBuilding",x))}function A(y,x){const{layerX:M,layerY:L}=y;h.value&&(s.value={x:M,y:L,width:r.value.width,height:r.value.height},i.value=void 0,o("hoverOutBuilding",x))}function E(y,x){const{layerX:M,layerY:L}=y;h.value&&(s.value={x:M,y:L,width:r.value.width,height:r.value.height})}function D(y){i.value=y,h.value&&i.value&&t.canGoToBuildingCallback(i.value)&&o("goToBuilding",i.value)}return(y,x)=>{const M=e.resolveComponent("v-icon");return c.value?(e.openBlock(),e.createElementBlock("div",ko,[e.createVNode(M,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):m.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ge,{desktop:y.interactiveDesktop,mobile:y.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Co,[e.createVNode(Ye,{"image-urls":f.value.imageUrls,"active-index":p.value,onResize:I,onPreloaded:x[0]||(x[0]=L=>n.value.preloaded=!0),onReady:x[1]||(x[1]=L=>n.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),u.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",yo,[e.createElementVNode("div",wo,[(e.openBlock(),e.createElementBlock("svg",{viewBox:b.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({id:L,svg:Y},V)=>(e.openBlock(),e.createElementBlock("g",{key:V,innerHTML:Y,"data-building-id":L,class:e.normalizeClass(N(L)),style:e.normalizeStyle(k(L)),onMouseover:S=>v(S,L),onMouseout:S=>A(S,L),onMousemove:S=>E(S),onClick:S=>D(L)},null,46,bo))),128))],8,_o))])],512)),[[e.vShow,n.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:y.customOverlayContent},null,8,Vo),[[e.vShow,n.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[m.value.viewLongitude?(e.openBlock(),e.createBlock(ve,{key:0,class:"north-indicator",longitude:m.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(je,{modelValue:p.value,"onUpdate:modelValue":x[2]||(x[2]=L=>p.value=L),"date-selector":f.value,"is-loading":!n.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,n.value.preloaded]]),y.showCards&&i.value?(e.openBlock(),e.createBlock(he,{key:0,"is-hoverable":h.value,pos:s.value,onOutside:x[3]||(x[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{building:i.value,canGoToBuilding:y.canGoToBuildingCallback(i.value),goToBuilding:()=>y.canGoToBuildingCallback(i.value)&&o("goToBuilding",i.value),pos:s.value,isHoverable:h.value,close:()=>i.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(se,{ref_key:"hoverProbe",ref:_},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5e1006a9"]]),Bo=O(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(d,{expose:a}){const t=d;a({setupDraw:l});const o=e.ref(!1),n=e.ref(),r=e.ref(new Z),s=e.ref(),i=e.ref(),p=e.ref([]),c=e.ref();e.watch(()=>t.color,(f,m)=>{(f.r!==m.r||f.g!==m.g||f.b!==m.b||f.a!==m.a)&&u()}),e.onMounted(async()=>{n.value=await r.value.loadImage(t.imageUrl),l()});function l(){if(!n.value||!c.value)return;const{width:f,height:m}=t.dimensions;if(!(f===0||m===0)){s.value=c.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(n.value,0,0,f,m),i.value=s.value.getImageData(0,0,f,m);for(let g=3;g<i.value.data.length;g+=4)i.value.data[g]!==0&&p.value.push(g);u(),o.value=!0}}function u(){s.value&&i.value&&(b(),s.value.putImageData(i.value,0,0))}function b(){if(t.color)for(let f=0;f<p.value.length;f++)i.value.data[p.value[f]-3]=t.color.r,i.value.data[p.value[f]-2]=t.color.g,i.value.data[p.value[f]-1]=t.color.b,i.value.data[p.value[f]]=t.color.a}return(f,m)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:c,class:"overlay"},f.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),xo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},So={class:"image-instances"},No=["innerHTML"],Io=O(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(d,{emit:a}){const t=d,o=a;e.provide(J,t.i18nConfig?new ee(t.i18nConfig):new ee);const n=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}),p=e.ref(),c=e.ref(ke.empty()),l=e.ref(Ce.empty()),u=e.ref(),b=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),f=e.ref((y,x)=>({x:y,y:x})),m=e.ref(!1),g=e.ref(),w=e.ref(),_=e.ref(),h=e.computed(()=>{var y;return(y=g.value)==null?void 0:y.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[y,x,M]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(M);b.value=parseInt(x)*2+(L<15?0:L>45?2:1)}}),e.watch(u,(y,x)=>{y?o("hoverOverBuilding",y):o("hoverOutBuilding",x)}),e.onMounted(async()=>{const x=await new Pe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);x?(l.value=new Ce(x.mapImage),c.value=new ke(x.buildingIds),n.value=new Be(x.backgrounds),p.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude},k()):m.value=!0});function I({width:y,height:x}){s.value.width=y,s.value.height=x,e.nextTick(k)}function B(){r.value={preloaded:!1,ready:!1}}function N(y){const{layerX:x,layerY:M}=y,{x:L,y:Y}=f.value(x,M);return c.value.getBuildingId(l.value,L,Y)}function k(){if(w.value&&(l.value.update(w.value),_.value))for(const y of _.value)y.setupDraw()}function v(y){const{layerX:x,layerY:M}=y;h.value&&(u.value=N(y),u.value!==void 0&&(i.value={x,y:M,width:s.value.width,height:s.value.height}))}function A(y){u.value=N(y),h.value&&u.value&&o("goToBuilding",u.value)}function E(y){return t.colorCallback(y,y===u.value?"hover":"idle")}function D({resolve:y}){f.value=y}return(y,x)=>{const M=e.resolveComponent("v-icon");return m.value?(e.openBlock(),e.createElementBlock("div",xo,[e.createVNode(M,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${u.value?"pointer":"auto"};height: ${s.value.height}px; position: relative`),class:"image-container"},[e.createVNode(ge,{desktop:y.interactiveDesktop,mobile:y.interactiveMobile,onUpdate:D},{default:e.withCtx(()=>[e.createElementVNode("div",So,[e.createVNode(Ye,{"image-urls":n.value.imageUrls,"active-index":b.value,onResize:I,onPreloaded:x[0]||(x[0]=L=>r.value.preloaded=!0),onReady:x[1]||(x[1]=L=>r.value.ready=!0),onReset:B},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(Bo,{ref_for:!0,ref_key:"overlays",ref:_,key:L.id,"image-url":L.url,dimensions:s.value,color:E(L.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:w,class:{hover:!!u.value},onClick:A,onMousemove:v}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:y.customOverlayContent},null,8,No),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[p.value.viewLongitude?(e.openBlock(),e.createBlock(ve,{key:0,class:"north-indicator",longitude:p.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(je,{modelValue:b.value,"onUpdate:modelValue":x[2]||(x[2]=L=>b.value=L),"date-selector":n.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),y.showCards&&u.value?(e.openBlock(),e.createBlock(he,{key:0,"is-hoverable":h.value,pos:i.value,onOutside:x[3]||(x[3]=()=>u.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{building:u.value,canGoToBuilding:y.canGoToBuildingCallback(u.value),goToBuilding:()=>y.canGoToBuildingCallback(u.value)&&o("goToBuilding",u.value),pos:i.value,isHoverable:h.value,close:()=>u.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(se,{ref_key:"hoverProbe",ref:g},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-088f521e"]]),We=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(d,{emit:a}){const t=d,o=a,n=e.computed(()=>t.useSvg?Eo:Io);return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{"i18n-config":t.i18nConfig,"show-cards":t.showCards,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"interactive-desktop":t.interactiveDesktop,"interactive-mobile":t.interactiveMobile,"building-chooser-time-of-day":t.buildingChooserTimeOfDay,"can-go-to-building-callback":t.canGoToBuildingCallback,"custom-overlay-content":t.customOverlayContent,"building-chooser-data":t.buildingChooserData,onGoToBuilding:s[0]||(s[0]=i=>o("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>o("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[2]=i=>o("hoverOutBuilding",i))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),i=>({name:i,fn:e.withCtx(p=>[e.renderSlot(r.$slots,i,e.normalizeProps(e.guardReactiveProps(p)))])}))]),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"]))}}),Ao=["src"],Do=O(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d,t=e.computed(()=>j(a.cdnFileResolver,a.timeSampleData.filename));return(o,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Ao)),[[e.vShow,o.timeSampleData===o.currentTime]])}}),[["__scopeId","data-v-98118455"]]),Lo=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Do,{"time-sample-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Fo=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(d){const a=d;return(t,o)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(Lo,{"day-data":n,"cdn-file-resolver":a.cdnFileResolver,"current-time":a.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Mo=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentCamera.overlayFilename);return e.watch(n,()=>{o("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===n.value))}),(r,s)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),To=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{o("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.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 p=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(p,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items"])}}}),$o={key:0,class:"py-2"},Ro={class:"small"},Oo={class:"small"},Uo=O(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{o("onTimeChange",t.dayData.timeSamples.find(p=>p.timeInHours===n.value))});function s(p){const c=p*60,l=Math.floor(c/60),u=c%60;return`${l.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(p,c)=>{const l=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),b=e.resolveComponent("v-slider"),f=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(f,{variant:"solo"},{default:e.withCtx(()=>[p.dayData.startTime===p.dayData.endTime?(e.openBlock(),e.createElementBlock("div",$o,[e.createVNode(l,{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(n.value)),1)])):(e.openBlock(),e.createBlock(b,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=m=>n.value=m),min:p.dayData.startTime,max:p.dayData.endTime,step:p.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode(" "),e.createElementVNode("span",Ro,e.toDisplayString(s(p.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Oo,e.toDisplayString(s(p.dayData.endTime)),1),e.createTextVNode(" "),e.createVNode(l,{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(n.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-99b853f4"]]),Ho=["innerHTML"],Po=O(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const l in i){const{element:u,state:b}=i[l],{r:f,g:m,b:g,a:w,s:_}=t.colorCallback(l,b)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${f}, ${m}, ${g}, ${w/255})`,u.style.stroke=`rgb(${f}, ${m}, ${g})`,u.style.strokeWidth=_.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await Z.loadText(j(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(p).observe(r.value)});function p(){e.nextTick(()=>{var u;const l=(u=r.value)==null?void 0:u.firstChild;if(!l.hasAttribute("viewBox")){const b=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",b)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())})}function c(){e.nextTick(()=>{var u;const l=(u=r.value)==null?void 0:u.firstChild;l&&(o("updateSvgContainer",l),p(),l.querySelectorAll("[data-building-id]").forEach(f=>{f.style.strokeWidth="0",f.style.stroke="rgba(255,255,255,0)",f.style.fill="rgba(255,255,255,0)",f.querySelectorAll("path").forEach(g=>{g.style.stroke="inherit",g.style.fill="inherit"});const m=f.getAttribute("data-building-id");i[m]={element:f,state:s.value===m?"selected":"idle"},f.addEventListener("mouseover",()=>{i[m].state==="idle"&&(i[m].state="hover"),o("onHoverOver",m)}),f.addEventListener("mouseout",()=>{i[m].state==="hover"&&(i[m].state="idle"),o("onHoverOut",m)}),f.addEventListener("click",()=>{o("onClick",m)})}))})}return(l,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:n.value},null,8,Ho))]),_:1}))}}),[["__scopeId","data-v-37109c67"]]),Ge=d=>{const a={version:"5.0",latitude:d.latitude,longitude:d.longitude,renderVersion:d.renderVersion,buildings:d.buildings.map(n=>({id:n.id,name:n.name})),cameras:[]};let t=[];d.days?t=d.days.map(n=>({dayOfYear:n.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:n.timeSamples.map(r=>({timeInHours:r.timeInHours,filename:`/${r.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:d.timeSamples.map(n=>({timeInHours:n.timeInHours,filename:`/${n.filename}`}))}];const o={cameraName:"Default",cameraPosition:d.cameraPosition,cameraRotation:d.cameraRotation,cameraFov:d.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return a.cameras.push(o),a},zo={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},jo={key:0,class:"pa-1"},Yo={class:"pa-1"},Wo={class:"pa-1 flex-grow-1"},Go={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},Qo=["innerHTML"],qo={style:{"z-index":"7"}},Zo=O(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(d,{emit:a}){const t=d,o=a,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(),p=e.ref(!1),c=e.ref(),l=e.computed(()=>c.value.isHoverEnabled),u=e.ref({x:0,y:0,width:0,height:0}),b=e.ref(),f=e.ref(),m=e.ref(t.buildingChooserData),g=e.ref(!1);e.onMounted(()=>p.value=!0),e.watch(p,v=>{v&&o("onInitialize")}),e.watch(()=>f.value,()=>{f.value&&new ResizeObserver(([A])=>{g.value=A.contentRect.width<t.mobileBreakpoint}).observe(f.value)});const w=async()=>{try{let v;if(!t.cdnFileResolver)return v;let A;return A=await Z.loadJson(j(t.cdnFileResolver,"/buildingChooser.json")),parseInt(A.version)===5?A:(v=Ge(A),v)}catch(v){p.value=!1,o("onError",v)}};e.watch([m,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(m.value||(m.value=await w()),t.defaultCamera?n.value=m.value.cameras.find(v=>v.cameraName===t.defaultCamera)||m.value.cameras[0]:n.value=m.value.cameras[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{m.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(v=>v.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([m,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{m.value&&t.cdnFileResolver&&(t.defaultTime?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 _(v){const A=r.value;n.value=v,e.nextTick(()=>{h(n.value.sunsimDayOfYear.find(E=>E.dayOfYear===A.dayOfYear)||n.value.sunsimDayOfYear[0])})}function h(v){const A=s.value;r.value=v,e.nextTick(()=>{I(r.value.timeSamples.find(E=>E.timeInHours===A.timeInHours)||r.value.timeSamples.find(E=>E.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function I(v){s.value=v}function B(v){o("onHoverOver",v),i.value=v}function N(v){o("onHoverOut",v),i.value=void 0}function k(v){const{layerX:A,layerY:E}=v;let D=v.target,y=!1;for(;D;)if(D===b.value){y=!0;break}else D=D.parentElement;if(y){const x=v.currentTarget;u.value={x:A,y:E,width:x.clientWidth,height:x.clientHeight}}else u.value=void 0;o("onMouseMove",v,u.value)}return(v,A)=>{const E=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(E,{type:"image",class:"w-100 h-100 position-relative",loading:!p.value||!m.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:f,class:e.normalizeClass({mobile:g.value}),onMousemove:k},[e.createElementVNode("div",zo,[m.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",jo,[e.createVNode(Mo,{"building-chooser-data":m.value,"current-camera":n.value,onOnCameraChange:_},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Yo,[n.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(To,{key:0,"camera-data":n.value,"current-day":r.value,onOnDayChange:h},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Wo,[r.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Uo,{key:0,"day-data":r.value,"current-time":s.value,onOnTimeChange:I},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Go,[n.value.cameraRotation?(e.openBlock(),e.createBlock(ve,{key:0,longitude:n.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(ge,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value.cameras,D=>(e.openBlock(),e.createBlock(Fo,{key:D.overlayFilename,"camera-data":D,"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,Qo)):e.createCommentVNode("",!0),e.createVNode(Po,{"cdn-file-resolver":v.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:A[0]||(A[0]=D=>o("onClick",D)),onOnHoverOver:B,onOnHoverOut:N,onUpdateSvgContainer:A[1]||(A[1]=D=>b.value=D)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),v.$slots.popup&&u.value&&i.value?(e.openBlock(),e.createBlock(he,{key:0,"is-hoverable":l.value,pos:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",qo,[e.renderSlot(v.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:l.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(se,{ref_key:"hoverProbe",ref:c},null,512)],64)}}}),[["__scopeId","data-v-65cfcd3f"]]);var ye={};Object.defineProperty(ye,"__esModule",{value:!0});var Jo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},Xo=typeof window<"u"&&typeof window.document<"u",Ko=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,en=(typeof self>"u"?"undefined":Jo(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",tn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),on=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",nn=ye.isBrowser=Xo;ye.isWebWorker=en,ye.isNode=Ko,ye.isJsDom=tn,ye.isDeno=on;const an={id:"player-wrapper"},rn={id:"player-sizer"},ln={class:"player-control",id:"controls-top-left"},sn={class:"player-control",id:"controls-top-center"},cn={class:"player-control",id:"controls-top-right"},dn={class:"player-control",id:"controls-center-left"},mn={class:"player-control",id:"controls-center-center"},un={class:"player-control",id:"controls-center-right"},pn={class:"player-control",id:"controls-bottom-left"},fn={class:"player-control",id:"controls-bottom-center"},hn={class:"player-control",id:"controls-bottom-right"},gn={id:"main-canvas"},vn=O(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(d,{emit:a}){const t=nt.PlayerV2,o=d,n=a,r=e.ref(),s=e.ref(),i=e.ref(0),p=e.ref(0);return e.watch([()=>o.cdnFileResolver,()=>o.interiorId,()=>o.apartmentId],async()=>{r.value&&await r.value.loadInterior(j(o.cdnFileResolver,`/${o.interiorId}/${o.apartmentId}`),s.value,!1)}),e.watch([()=>o.cdnFileResolver,()=>o.interiorId,()=>o.apartmentId],async()=>{r.value&&await r.value.loadInterior(j(o.cdnFileResolver,`/${o.interiorId}/${o.apartmentId}`),void 0,!1)},{deep:!0}),e.watch(()=>o.currentCameraId,c=>{r.value&&(s.value=c,r.value.goToCamera(c,!0))}),e.watch(r,c=>{n("playerApiCallback",c);const l=r.value.getCurrentCamera();l&&(s.value=l.id)}),e.onMounted(async()=>{const b={initialized:()=>{r.value=t.Main.getPlayerAPI();const m=r.value.getCurrentCamera();m&&(s.value=m.id),n("newCameraCallback",s.value)},newCamera:m=>{n("newCameraCallback",m.id),n("newFloorCallback",m.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),s.value=m.id},newFOV:m=>{n("newFovCallback",m),p.value=m},newRotation:m=>{const g=m+0;n("newRotationCallback",g),i.value=g}};if(!nn)return;const f=await new t.Main(j(o.cdnFileResolver,`/${o.interiorId}/${o.apartmentId}`),"qpc",b,void 0,o.currentCameraId);f&&(f.handleWindowResize(),window.addEventListener("resize",f.handleWindowResize.bind(f)),f.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(o.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(c,l)=>(e.openBlock(),e.createElementBlock("div",an,[e.createElementVNode("div",rn,[e.renderSlot(c.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",ln,[e.renderSlot(c.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",sn,[e.renderSlot(c.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",cn,[e.renderSlot(c.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",dn,[e.renderSlot(c.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",mn,[e.renderSlot(c.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",un,[e.renderSlot(c.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",pn,[e.renderSlot(c.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",fn,[e.renderSlot(c.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",hn,[e.renderSlot(c.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",gn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(c.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-434c2592"]]),kn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Cn=["stroke"],yn=["stroke"],wn={class:"floor-level-label"},_n=O(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(d,{emit:a}){const t=d,o=a,n=e.inject(J),r=e.computed(()=>{const l=t.floorLevels;return l.sort(),l}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),p=e.computed(()=>s.value==="upper");function c(){const l=t.level+1;l>=r.value.length?o("level",r.value[0]):o("level",r.value[l])}return(l,u)=>{const b=e.resolveComponent("v-btn"),f=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(f,{right:"",attach:""},{activator:e.withCtx(({props:m})=>[e.createVNode(b,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},m,{onClick:c}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",kn,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:p.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Cn),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,yn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",wn,e.toDisplayString(e.unref(n).getLabel(s.value))+" "+e.toDisplayString(e.unref(n).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),bn={class:"d-none d-md-inline"},Vn=O(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(d,{emit:a}){const t=d,o=a,n=e.inject(J);return(r,s)=>{const i=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),c=e.resolveComponent("v-img"),l=e.resolveComponent("v-list-item-title"),u=e.resolveComponent("v-list-item"),b=e.resolveComponent("v-list"),f=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(f,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:m})=>[e.createVNode(p,e.mergeProps({rounded:""},m,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",bn,e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(b,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(m,g)=>(e.openBlock(),e.createBlock(u,{density:"compact",key:`at-menuitem-${g}`,onClick:w=>o("selectInterior",m.archetypeID),active:g===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(c,{width:"100","max-width":"100",height:"66",src:m.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(l,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).get(m.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-3cf3c177"]]),En="data:image/png;base64,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",Bn="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==",xn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(d){const a=d,t=e.ref(Bn),o=e.ref({backgroundImage:`url(${En})`,backgroundSize:"contain"}),n=e.computed(()=>({transform:`rotate(${-a.rotation+180}deg)`}));return(r,s)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(o.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(n.value)},null,8,["src","style"])],4)}}}),Sn="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",Nn={class:"d-flex flex-column align-center justify-center clock-face"},In={class:"clock-icon"},An={class:"clock-value grey--text text--darken-3"},Dn=O(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(d){const a=d,t=e.computed(()=>[o(a.hours),":",o(a.minutes)].join(""));function o(n){return("0"+n).slice(-2)}return(n,r)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("div",In,[e.createVNode(s,{src:e.unref(Sn),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",An,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Fe=d=>(e.pushScopeId("data-v-f59c4942"),d=d(),e.popScopeId(),d),Ln={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Fn=[Fe(()=>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)),Fe(()=>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)),Fe(()=>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))],Mn=O(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(d,{emit:a}){const t=d,o=a,n=e.inject(J),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const p=e.resolveComponent("v-icon"),c=e.resolveComponent("v-btn"),l=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(l,{location:"top"},{activator:e.withCtx(({props:u})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:i[0]||(i[0]=b=>o("toggle"))},u),{default:e.withCtx(()=>[r.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",Ln,Fn)):(e.openBlock(),e.createBlock(p,{key:1},{default:e.withCtx(()=>[e.createTextVNode("mdi-image-multiple")]),_:1}))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(n).getLabel(r.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),de=d=>(e.pushScopeId("data-v-fd167eca"),d=d(),e.popScopeId(),d),Tn={key:0,class:"desktop-content"},$n={class:"d-flex align-center justify-center"},Rn={class:"box col d-flex flex-column align-bottom justify-center"},On=de(()=>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)),Un={class:"text-div text-center text mt-2"},Hn={class:"box col d-flex flex-column align-bottom justify-center"},Pn=de(()=>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)),zn={class:"text-div text-center text mt-2"},jn={class:"box col d-flex flex-column align-bottom justify-center"},Yn=de(()=>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)),Wn={class:"text-div text-center text mt-2"},Gn={class:"box col d-flex flex-column align-bottom justify-center"},Qn=de(()=>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)),qn={class:"text-div text-center text mt-2"},Zn={key:1,class:"d-flex tablet-mobile-content"},Jn={class:"box col my-1"},Xn=de(()=>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)),Kn={class:"text text-col text-center"},ea={class:"box col my-1"},ta=de(()=>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)),oa={class:"text text-col text-center"},na={class:"box col my-1"},aa=de(()=>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)),ra={class:"text text-col text-center"},la={class:"text-h6 text-capitalize"},ia={class:"mt-2"},sa={class:"d-flex justify-center align-center checkbox-container"},ca={class:"text-caption"},da=O(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(d,{emit:a}){const t=a,o=e.inject(J),n=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(c=>navigator.userAgent.match(c)));function i(){t("closeTutorial",n.value)}return(p,c)=>{const l=e.resolveComponent("v-icon"),u=e.resolveComponent("v-card-title"),b=e.resolveComponent("v-btn"),f=e.resolveComponent("v-divider"),m=e.resolveComponent("v-card-text"),g=e.resolveComponent("v-card-actions"),w=e.resolveComponent("v-card"),_=e.resolveComponent("v-expand-transition"),h=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(w,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(u,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(l,{size:"x-small"},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(o).getLabel("disclaimer")),1)]),_:1}),e.createVNode(m,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(o).getLabel("disclaimerTextShort")),1),e.createVNode(b,{variant:"tonal",size:"small",onClick:c[0]||(c[0]=I=>r.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("learnMore"))+" ",1),e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(f,{class:"my-3"}),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tn,[e.createElementVNode("div",$n,[e.createElementVNode("div",Rn,[On,e.createElementVNode("div",Un,e.toDisplayString(e.unref(o).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Hn,[Pn,e.createElementVNode("div",zn,e.toDisplayString(e.unref(o).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",jn,[Yn,e.createElementVNode("div",Wn,e.toDisplayString(e.unref(o).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",Gn,[Qn,e.createElementVNode("div",qn,e.toDisplayString(e.unref(o).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),s.value?(e.openBlock(),e.createElementBlock("div",Zn,[e.createElementVNode("div",Jn,[Xn,e.createElementVNode("div",Kn,e.toDisplayString(e.unref(o).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",ea,[ta,e.createElementVNode("div",oa,e.toDisplayString(e.unref(o).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",na,[aa,e.createElementVNode("div",ra,e.toDisplayString(e.unref(o).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(f,{class:"my-1"})]),_:1}),e.createVNode(_,null,{default:e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(w,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(m,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",la,[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(o).getLabel("disclaimer")),1)]),e.createElementVNode("p",ia,e.toDisplayString(e.unref(o).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(b,{variant:"tonal",size:"small",onClick:c[1]||(c[1]=I=>r.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(o).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",sa,[e.createVNode(h,{density:"compact",modelValue:n.value,"onUpdate:modelValue":c[2]||(c[2]=I=>n.value=I),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",ca,e.toDisplayString(e.unref(o).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(g,null,{default:e.withCtx(()=>[e.createVNode(b,{variant:"tonal",onClick:c[3]||(c[3]=I=>i()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("i-understand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-fd167eca"]]),ma=d=>(e.pushScopeId("data-v-bd4f66c3"),d=d(),e.popScopeId(),d),ua={class:"player-settings-ui"},pa={id:"settings-ui-form"},fa={class:"form-inputs"},ha={class:"setting-label"},ga={class:"setting-label"},va=["max","min","step"],ka={class:"setting-label"},Ca={class:"flex-grow-1 flex-shrink-0"},ya=["onUpdate:modelValue"],wa={key:3,"d-block":"",class:"mt-3"},_a={class:"d-flex justify-space-between"},ba={class:"setting-label"},Va={class:"mt-5 d-block",style:{width:"300px"}},Ea=ma(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),Ba={class:"d-block",style:{width:"300px"}},xa={class:"form-buttons"},Sa=O(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(f(t.initialSettings));e.watch(n,()=>{s()},{deep:!0});const r=e.computed(()=>{let m={};for(const[g,w]of Object.entries(n.value))g==="whitePoint"?m[g]=l(w.value):m[g]=w.value;return m});function s(){o("updateSettings",r.value)}function i(){const m=document.createElement("a");m.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const g=`player-settings-${Date.now()}.json`;m.download=g,m.style.display="none",document.body.appendChild(m),m.click(),document.body.removeChild(m)}function p(){o("saveSettings",r.value)}function c(){n.value=f(),o("updateSettings",r.value)}function l(m){const g=parseInt(m.substr(1,2),16)/255,w=parseInt(m.substr(3,2),16)/255,_=parseInt(m.substr(5,2),16)/255;return[g,w,_]}function u(m){var g=m.toString(16);return g.length==1?"0"+g:g}function b([m,g,w]){return"#"+u(parseInt((m*255).toString()))+u(parseInt((g*255).toString()))+u(parseInt((w*255).toString()))}function f(m={}){const g=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let w={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...m};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:w.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:w.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:w.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:w.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:w.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:w.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:w.temperature},whitePoint:{label:"White Point",type:"color",value:b(w.whitePoint)},lut:{label:"Lut",type:"lut",items:g.map(_=>({text:_,value:`https://cdn.visuado.com/luts/${_}.png`})),value:w.lut}}}return(m,g)=>{const w=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-slider"),h=e.resolveComponent("v-checkbox"),I=e.resolveComponent("v-btn"),B=e.resolveComponent("v-select"),N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("form",pa,[e.createElementVNode("div",fa,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(k,v,A)=>(e.openBlock(),e.createElementBlock("div",{key:A,"d-block":""},[k.type==="slider"?(e.openBlock(),e.createBlock(_,{key:0,modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,onChange:s,max:k.max,min:k.min,step:k.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",ha,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:k.max,min:k.min,step:k.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),k.type==="boolean"?(e.openBlock(),e.createBlock(h,{key:1,modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",ga,e.toDisplayString(k.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(k.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),k.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:k.max,min:k.min,step:k.step},[e.createElementVNode("div",ka,e.toDisplayString(k.label),1),e.createElementVNode("div",Ca,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>n.value[v].value=E,type:"color",onChange:s},null,40,ya),[[e.vModelText,n.value[v].value]])]),e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,va)):e.createCommentVNode("",!0),k.type==="lut"?(e.openBlock(),e.createElementBlock("div",wa,[e.createElementVNode("div",_a,[e.createElementVNode("div",ba,e.toDisplayString(k.label),1),e.createElementVNode("div",null,[e.createVNode(I,{class:"ml-2","x-small":"",onClick:E=>n.value[v].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",Va,[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,items:k.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[Ea,e.createElementVNode("div",Ba,[e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[v].value,"onUpdate:modelValue":E=>n.value[v].value=E,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",xa,[e.createVNode(I,{onClick:g[0]||(g[0]=k=>c())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(I,{class:"ml-2",onClick:g[1]||(g[1]=k=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(I,{class:"ml-2",onClick:g[2]||(g[2]=k=>p())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(N,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),Na=(d=>(e.pushScopeId("data-v-30593022"),d=d(),e.popScopeId(),d))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ia={class:"moveable-body",id:"moveableDivHeader"},Aa={class:"moveable-footer"},Da=O(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(d,{emit:a}){const t=a,o=e.ref("big");e.onMounted(()=>{n(document.getElementById("moveableDiv"))});function n(s){const i=document.getElementById(s.id+"Header");if(!i)return;let p=0,c=0,l=0,u=0;i.addEventListener("touchstart",b,{passive:!1}),i.addEventListener("touchend",m,{passive:!1}),i.addEventListener("mousedown",b,{passive:!1}),i.addEventListener("mouseup",m,{passive:!1});function b(g){g=g||window.event,g.preventDefault();let w=g;g.type==="touchstart"&&(w=g.touches[0]),l=w.clientX,u=w.clientY,document.addEventListener("mouseup",m,{passive:!1}),document.addEventListener("touchend",m,{passive:!1}),document.addEventListener("mousemove",f,{passive:!1}),document.addEventListener("touchmove",f,{passive:!1})}function f(g){g=g||window.event,g.preventDefault();let w=g;g.type==="touchmove"&&(w=g.touches[0]),p=l-w.clientX,c=u-w.clientY,l=w.clientX,u=w.clientY,s.style.top=s.offsetTop-c+"px",s.style.left=s.offsetLeft-p+"px"}function m(){document.removeEventListener("mouseup",m,!1),document.removeEventListener("mousemove",f,!1),document.removeEventListener("touchend",m,!1),document.removeEventListener("touchmove",f,!1)}}function r(){o.value==="big"?o.value="small":o.value="big"}return(s,i)=>{const p=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",o.value])},[e.createVNode(p,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[0]=c=>t("close"))}),e.createVNode(p,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(p,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:i[1]||(i[1]=c=>t("transform")),title:"Rotate"}),Na,e.createElementVNode("div",Ia,[e.renderSlot(s.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Aa,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),La={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Fa=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),Ma=["transform"],Ta=[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)],$a=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(d){return(a,t)=>(e.openBlock(),e.createElementBlock("svg",La,[Fa,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+a.rotation})`},Ta,8,Ma)]))}}),Ra={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Oa={class:"minimap-container"},Ua=O(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(d){const a=d,t=e.ref(512),o=e.ref(384),n=e.ref(new ce.Vector3),r=e.ref(new ce.Object3D),s=e.ref({}),i=e.ref(1),p=e.ref(),c=e.computed(()=>a.allCameras),l=e.computed(()=>a.allCameras.find(v=>v.id===a.currentCamera)),u=e.computed(()=>a.rotation),b=e.computed(()=>new ce.Vector3(a.storey.position.x,a.storey.position.y,a.storey.position.z)),f=e.computed(()=>parseFloat(l.value.floor_vertical_position)),m=e.computed(()=>c.value.map(v=>{const A=v.uposition.split(","),E=new ce.Vector3(Number(A[0])-b.value.x,0,Number(A[2])-b.value.z);return{...v,...B(n.value,E)}})),g=e.computed(()=>`background-image: url(${a.backgroundImage});`),w=e.computed(()=>{let v=i.value>1?1:i.value;return v<.8&&(v=.4),`scale: ${v>1?1:v}; transform: rotate(${a.transformAngle}deg);`});e.onMounted(()=>{N(),h(),k();const v=document.getElementById("moveableDiv");v&&(p.value=new ResizeObserver(k).observe(v))}),e.onBeforeUpdate(()=>{N(),h()}),e.onBeforeUnmount(()=>{p.value&&p.value.unobserve(document.getElementById("moveableDiv"))});function _(v){return ce.MathUtils.degToRad(v)}function h(){r.value.rotation.x=180,r.value.rotation.y=a.storey.rotation.y*-1,s.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function I(v){return{top:`${Math.abs(v.top)}%`,left:`${Math.abs(v.left)}%`}}function B(v,A){var E=new ce.Vector3;const D=E.subVectors(v,A);return{relativePosition:D,left:D.x/t.value*100,top:D.z/o.value*100}}function N(){const v=a.storey.position.y-f.value;o.value=2*(v*Math.tan(_(a.storey.fovY/2))),t.value=512/384*o.value;const A=o.value/2,E=t.value/2,D=new ce.Vector3(E*-1,0,A*-1);n.value=D}function k(){const v=document.getElementById("moveableDiv");if(!v)return;const A=v.offsetHeight/384*.8,E=v.offsetWidth/512*.8;v.offsetHeight>v.offsetWidth?i.value=E*.5:i.value=A*.9}return(v,A)=>(e.openBlock(),e.createElementBlock("div",Ra,[e.createElementVNode("div",Oa,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(w.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(g.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(s.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id},[l.value.floorLevel===E.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(I(E))},null,4)):e.createCommentVNode("",!0),l.value.id===E.id&&a.rotation!==null?(e.openBlock(),e.createBlock($a,{key:1,class:"rotation-marker-component",rotation:u.value,style:e.normalizeStyle({...I(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),Ha=O(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(d){const a=d,t=e.computed(()=>a.rotation+a.transformAngle-90);return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:o.scale})},[e.createVNode(ve,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Pa={class:"ss-wrapper"},za={class:"slider"},ja={class:"minimap-sun-slider"},Ya={key:0,class:"time-label"},Wa=O(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(new Date().getHours()),r=e.ref(!0),s=e.ref(!0),i=e.ref(""),p=e.ref(new Map),c=e.computed(()=>t.minimapJson.storeys[t.level]),l=e.computed(()=>`${Math.floor(n.value).toString().padStart(2,"0")}:00`),u=e.computed(()=>{if(c.value.sunsimFilesTimeStamps[n.value]){const _=c.value.sunsimFilesTimeStamps[n.value].split(" ");return`${_[0]} ${_[1]}`}return""});e.onMounted(async()=>{i.value=await m(c.value.sunsimFiles[n.value]),s.value=!1;const _=await f(t.minimapJson.storeys);p.value=_,r.value=!1,o("setBackgroundImage",b(t.level,n.value))}),e.watch(n,()=>{const _=b(t.level,n.value);o("setBackgroundImage",_)}),e.watch(()=>t.level,()=>{o("setBackgroundImage",b(t.level,n.value))},{immediate:!0});function b(_,h){return p.value.get(`sunsim${_}_${h}`)?p.value.get(`sunsim${_}_${h}`):""}async function f(_){let h=new Map;for(let I=0;I<_.length;I++){const B=_[I].sunsimFiles;for(let N=0;N<B.length;N++){const k=B[N];try{const v=k,A=k.split("."),E=await m(v);h.set(A[0],E)}catch{continue}}}return h}async function m(_){const I=await(await fetch(j(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${_}`))).blob(),B=await w(I);return g(B)}function g(_){return"data:image/jpeg;base64,"+_}async function w(_){return new Promise((h,I)=>{const B=new FileReader;B.onload=()=>{const N=B.result.split(",")[1];h(N)},B.onerror=I,B.readAsDataURL(_)})}return(_,h)=>{const I=e.resolveComponent("v-progress-linear"),B=e.resolveComponent("v-icon"),N=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Pa,[e.createElementVNode("div",za,[e.createElementVNode("div",ja,[r.value?(e.openBlock(),e.createBlock(I,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(N,{key:1,modelValue:n.value,"onUpdate:modelValue":h[0]||(h[0]=k=>n.value=k),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(B,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ya,e.toDisplayString(u.value)+" "+e.toDisplayString(l.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Qe=O(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(),r=e.ref(0),s=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(s,()=>{n.value=s.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${s.value.defaultSunsimFile}`},{immediate:!0,once:!0});const i=e.computed(()=>{let l=1;return r.value!==0&&(Math.abs(r.value)%180===0?l=1:l=-1),l});function p(l){n.value=l}function c(){r.value=r.value+90}return(l,u)=>(e.openBlock(),e.createBlock(Da,{onClose:u[0]||(u[0]=b=>o("close")),onTransform:c},{body:e.withCtx(()=>[e.createVNode(Ha,{scale:i.value,rotation:s.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Ua,{"transform-angle":r.value,"all-cameras":l.apartmentJson.cameras,"background-image":n.value,rotation:l.rotation,"current-camera":l.currentCamera,storey:s.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(Wa,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:p},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),Ga=37,Qa=39,xe=O(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(d,{emit:a}){const t=d,o=a,n=e.ref(0),r=e.computed({get(){return t.active},set(c){n.value=c}}),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(c){switch(c.keyCode){case c.keyCode===Ga:o("previous");break;case c.keyCode===Qa:o("next");break;default:return}}function p(c,l){l(),o("goto",c)}return(c,l)=>{const u=e.resolveComponent("v-btn"),b=e.resolveComponent("v-img"),f=e.resolveComponent("v-card"),m=e.resolveComponent("v-slide-group-item"),g=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0})},[e.createVNode(g,{modelValue:r.value,"onUpdate:modelValue":l[2]||(l[2]=w=>r.value=w),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(u,{class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:l[0]||(l[0]=w=>o("previous"))},null,8,["class"])]),next:e.withCtx(()=>[e.createVNode(u,{class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:l[1]||(l[1]=w=>o("next"))},null,8,["class"])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.thumbnails,w=>(e.openBlock(),e.createBlock(m,{key:w.id},{default:e.withCtx(({toggle:_,selectedClass:h})=>[e.createVNode(f,{class:e.normalizeClass([s.value?"ma-0":"ma-1",h,"single-waypoint"]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:I=>p(w.id,_)},{default:e.withCtx(()=>[e.createVNode(b,{cover:"","aspect-ratio":1,src:w.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])],2)}}}),[["__scopeId","data-v-0345b87c"]]),qa={id:"share-btns-wrapper",class:"text-center"},qe=O(e.defineComponent({__name:"VSocialShare",setup(d){const a=e.inject(J),t=e.ref(!1),o=e.ref(location.href);function n(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function 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(p,c)=>{const l=e.resolveComponent("v-btn"),u=e.resolveComponent("v-tooltip"),b=e.resolveComponent("v-toolbar-title"),f=e.resolveComponent("v-spacer"),m=e.resolveComponent("v-toolbar"),g=e.resolveComponent("v-card-text"),w=e.resolveComponent("v-card"),_=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:c[0]||(c[0]=I=>t.value=!t.value)},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(_,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":c[2]||(c[2]=h=>t.value=h)},{default:e.withCtx(()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createVNode(m,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(l,{size:"x-small",icon:"mdi-close",onClick:c[1]||(c[1]=h=>t.value=!1)}),e.createVNode(b,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).getLabel("share")),1)]),_:1}),e.createVNode(f)]),_:1}),e.createVNode(g,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",qa,[e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},h,{onClick:n}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},h,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},h,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${o.value}`},h),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel("copyLink")),1)]),_:1}),e.createVNode(f)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Za={class:"static-image-wrapper"},Ja=O(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(d){const a=d,t=e.computed(()=>({"background-image":`url("${encodeURI(a.image)}")`}));return(o,n)=>(e.openBlock(),e.createElementBlock("div",Za,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[o.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Xa={id:"btn-fullscreen",class:"btn-placeholder mr-2"},Ze=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(d,{emit:a}){const t=a;return(o,n)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Xa,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:o.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:n[0]||(n[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class Je{constructor(a,t){z(this,"_doc");z(this,"_elemId");z(this,"_state");this._doc=a,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const a=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();a.forEach(o=>{t.addEventListener(o,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const a=this._getElement(),t=a.requestFullscreen||a.webkitRequestFullscreen||a.mozRequestFullscreen||a.msRequestFullscreen;t&&t.apply(a)}_exit(){const a=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;a&&a.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const a=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=a}}const Ka={key:0,class:"player-error"},er={class:"player-and-components-wrapper"},tr={key:3,class:"settings-panel"},or={key:0,class:"compass-wrapper"},nr={key:1,class:"btn-placeholder mr-2"},ar={class:"btn-placeholder mr-2"},rr={key:2,class:"btn-placeholder mr-2"},lr={key:0},ir={class:"d-flex flex-column align-end"},Xe=O(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}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(d,{expose:a,emit:t}){const o=d,n=t;a({updateSelectedInterior:pe,takeSnapshot:Se,setCurrentCamera:ue});const r=e.ref(!1),s=e.ref(!1),i=e.ref(!1),p=e.ref(),c=e.ref(),l=e.ref(),u=e.ref(),b=e.ref(),f=e.ref(0),m=e.ref(),g=e.ref(),w=e.ref(),_=e.ref(0),h=e.ref(0),I=e.ref(0),B=e.ref(!1),N=e.ref(!1),k=e.ref(!1),v=e.ref(new Je(document,"player-wrapper")),A=e.computed(()=>{if(c.value){const C=c.value.cameras.map(U=>U.floorLevel);let F=[...new Set(C)];return F=F.sort(),F}else return[]}),E=e.computed(()=>{let C=0;if(c.value){const F=c.value.cameras.map(we=>we.floorLevel);let U=[...new Set(F)];U=U.sort();const q=U.findIndex(we=>we===h.value);q!==-1&&(C=q)}return C}),D=e.computed(()=>M.value.findIndex(C=>C.archetypeID===m.value)),y=e.computed(()=>l.value?l.value.cameras.map(C=>({...C,thumbnailUrl:Ee(`/${m.value}/${o.apartmentId}/thumbs/200/${C.id}.jpg`),imageUrl:Ee(`/${m.value}/${o.apartmentId}/images/1600/${C.id}.jpg`)})):[]),x=e.computed(()=>!y.value||!y.value[f.value]?"":y.value[f.value].imageUrl),M=e.computed(()=>{let C=[];return p.value&&(C=p.value.archetypes),o.validInteriorIds.length?C.filter(F=>o.validInteriorIds.includes(F.archetypeID)):C}),L=e.computed(()=>l.value?M.value.map(C=>({...C,url:Ee(`/${C.archetypeID}/${o.apartmentId}/thumbs/200/${y.value[f.value].id}.jpg`)})):[]),Y=e.computed(()=>{if(u.value)return u.value.storeys[E.value]}),V=e.computed(()=>c.value&&c.value.timeInHours),S=e.computed(()=>{if(c.value&&c.value.timeInHours&&o.showTimeOfDay)return xr(c.value.timeInHours)});e.provide(J,o.i18nConfig?new ee(o.i18nConfig):new ee),e.watch([()=>o.cdnFileResolver],async()=>{await $(),Q(),await H()}),e.watch(()=>o.defaultViewMode,C=>{C==="virtualTour"&&(B.value=!1),C==="slideShow"&&(B.value=!0,k.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await $(),Q(),await H(),v.value.setup(),W(),Ir.value?(r.value=!1,k.value=!0):r.value=!0}catch(C){i.value=!0,n("onError",C)}});async function $(){p.value=await te()}async function H(){if(c.value=await ae(m.value,o.apartmentId),c.value&&(g.value=c.value.cameras.find(()=>!0).id),l.value=await re(m.value,o.apartmentId),l.value){let C=o.defaultWaypointIndex!==null?o.defaultWaypointIndex:0;f.value=C,g.value=l.value.cameras[C].id,w.value=l.value.cameras[C].id}o.showMiniMap&&(u.value=await le(m.value,o.apartmentId))}function Q(){let C=o.defaultInteriorId;C||(C=p.value.defaultArchetypeID),o.validInteriorIds.length&&!o.validInteriorIds.includes(C)&&(C=o.validInteriorIds[0]),C||(C=p.value.archetypes[0].archetypeID),m.value=C}function W(){const C=document.getElementById("main-canvas");C.addEventListener("touchmove",F,{passive:!1});function F(q){q.preventDefault(),window.scrollBy(0,0)}C.addEventListener("mouseenter",()=>{document.addEventListener("wheel",U,{passive:!1})},{passive:!1}),C.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",U)},{passive:!1});function U(q){q.preventDefault(),window.scrollBy(0,0)}}async function te(){try{return await Ne("/config.json")}catch(C){console.error("Error loading config.json - ",j(o.cdnFileResolver,"/config.json"),C);return}}async function ae(C,F){try{return await Ne(`/${C}/${F}/apartment.json`)}catch(U){console.error("Error loading apartment.json - ",`/${C}/${F}/apartment.json`,U);return}}async function re(C,F){try{return await Ne(`/${C}/${F}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${C}/${F}/thumbs.json`);return}}async function le(C,F){try{return await Ne(`/${C}/${F}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${C}/${F}/minimap/minimap.json`);return}}function X(){let C=f.value+1;C>=y.value.length&&(C=0),f.value=C,ue(y.value[f.value].id)}function me(){let C=f.value-1;C<0&&(C=y.value.length-1),f.value=C,ue(y.value[f.value].id)}function oe(C,F=!0){let U=y.value.findIndex(q=>q.id===C);U!=-1&&(f.value=U,F&&ue(C))}function ue(C){g.value=C}function pe(C){m.value=C,n("onInteriorUpdate",C),n("onCameraUpdate",w.value,c.value)}function Me(C){oe(C,!1),w.value=C,n("onCameraUpdate",C,c.value)}function T(C){_.value=C}function R(C){h.value=C}function G(C){I.value=C}function Ve(C,F){}function fe(C){b.value=C,b.value&&(o.playerSettings&&b.value.updateSettings(o.playerSettings),o.hasMarkersJson?b.value.loadMarkersJson():o.dynamicMarkers&&b.value.loadDynamicMarkers(o.dynamicMarkers))}function ie(){v.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function K(){B.value=!B.value}async function Se(){const C=180/Math.PI,F=await b.value.takePhoto(),U=b.value.getRotationEuler(),q=b.value.getCurrentCamera(),we=new eo(F,q),Ar=[U.x*-C,U.y*-C,U.z*C];return n("onSnapshot",we,Ar),we}function Ee(C){let F=j(o.cdnFileResolver,C);return o.adminMode&&(F=F+`?v=${Date.now()}`),F}async function Ne(C){const F=Ee(C);try{return(await ne.get(F)).data}catch(U){throw new Error(U)}}function Er(C){b.value.updateSettings(C)}function Br(C){n("saveSettings",C)}function xr(C){if(C===void 0)return null;const F=Math.floor(C),U=Math.floor((F-C)*60);return{hours:F,minutes:U}}const Te=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),et=e.computed(()=>Te.value?"platform-mobile":"platform-desktop"),Sr=(C=!1)=>{k.value=!0,r.value=!1,C&&Nr()},Nr=()=>{const C=j(o.cdnFileResolver,"/config.json");localStorage.setItem(`${C}-dont-show-tutorial`,"true")},Ir=e.computed(()=>{const C=j(o.cdnFileResolver,"/config.json");return localStorage.getItem(`${C}-dont-show-tutorial`)});return(C,F)=>{const U=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[et.value]])},[i.value?(e.openBlock(),e.createElementBlock("div",Ka,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",er,[!v.value.isActive&&u.value&&w.value&&Y.value&&m.value&&N.value?(e.openBlock(),e.createBlock(Qe,{key:0,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":c.value,level:E.value,"minimap-json":u.value,rotation:_.value,"current-camera":w.value,onClose:F[0]||(F[0]=q=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),m.value&&g.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[et.value]])},[e.createVNode(vn,{"cdn-file-resolver":C.cdnFileResolver,style:e.normalizeStyle({zIndex:B.value?1:2}),"show-static-image":B.value,"is-full-screen":v.value.isActive,"current-camera-id":g.value,"mouse-sensitivity":C.mouseSensitivity,"interior-id":m.value,"apartment-id":o.apartmentId,onNewCameraCallback:Me,onNewRotationCallback:T,onNewFloorCallback:R,onNewFovCallback:G,onNewSizeCallback:Ve,onPlayerApiCallback:fe},{"slideshow-image":e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(Ja,{key:0,image:x.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[C.adminMode?e.withDirectives((e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:F[1]||(F[1]=q=>s.value=!s.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(U,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:F[2]||(F[2]=q=>r.value=!r.value)},null,512),[[e.vShow,k.value]]),u.value&&g.value&&Y.value?e.withDirectives((e.openBlock(),e.createBlock(U,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:F[3]||(F[3]=q=>N.value=!N.value)},null,512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),k.value&&C.showFloorLevel&&A.value.length>1?(e.openBlock(),e.createBlock(_n,{key:2,level:h.value,"floor-levels":A.value,onLevel:R},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),k.value&&C.adminMode&&s.value?(e.openBlock(),e.createElementBlock("div",tr,[e.createVNode(Sa,{"initial-settings":C.playerSettings,onUpdateSettings:Er,onSaveSettings:Br},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[c.value&&C.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",or,[e.createVNode(xn,{rotation:_.value},null,8,["rotation"])],512)),[[e.vShow,k.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:F[4]||(F[4]=q=>N.value=!N.value)},[k.value&&c.value&&V.value&&C.showTimeOfDay?(e.openBlock(),e.createBlock(Dn,{key:0,hours:S.value.hours,minutes:S.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:u.value&&w.value&&Y.value?"pointer":"default"})},null,8,["hours","minutes","style"])):e.createCommentVNode("",!0)])]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:me})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[r.value?(e.openBlock(),e.createBlock(da,{key:0,onCloseTutorial:F[5]||(F[5]=q=>Sr(q))})):e.createCommentVNode("",!0),v.value.isActive&&u.value&&w.value&&Y.value&&N.value?(e.openBlock(),e.createBlock(Qe,{key:1,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":c.value,"minimap-json":u.value,rotation:_.value,"current-camera":w.value,level:E.value,onClose:F[6]||(F[6]=q=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","minimap-json","rotation","current-camera","level"])):e.createCommentVNode("",!0)]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[B.value?(e.openBlock(),e.createBlock(U,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:X})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[k.value&&C.showFullScreen?(e.openBlock(),e.createBlock(Ze,{key:0,"is-full-screen":v.value.isActive,class:"btn-fullscreen",onToggleFullscreen:ie},null,8,["is-full-screen"])):e.createCommentVNode("",!0),k.value&&C.showSnapshot?(e.openBlock(),e.createElementBlock("div",nr,[e.createVNode(U,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Se})])):e.createCommentVNode("",!0),e.createElementVNode("div",ar,[C.displayViewModeSwitch&&k.value?(e.openBlock(),e.createBlock(Mn,{key:0,"show-static-image":B.value,onToggle:K},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),k.value&&C.showShare&&!v.value.isActive?(e.openBlock(),e.createElementBlock("div",rr,[e.createVNode(qe)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[k.value&&C.showCarousel&&!Te.value?(e.openBlock(),e.createElementBlock("div",lr,[k.value?(e.openBlock(),e.createBlock(xe,{key:0,class:e.normalizeClass([v.value.isActive?"full-screen":""]),thumbnails:y.value,active:f.value,onNext:X,onPrevious:me,onGoto:oe},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",ir,[k.value&&C.showInteriorOptions&&L.value?(e.openBlock(),e.createBlock(Vn,{key:0,"cdn-file-resolver":C.cdnFileResolver,"available-archetypes":L.value,"selected-index":D.value,onSelectInterior:pe},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),C.showCarousel&&l.value&&Te.value?(e.openBlock(),e.createBlock(xe,{key:0,class:"waypoint-carousel below-player",thumbnails:y.value,active:f.value,onNext:X,onPrevious:me,onGoto:oe},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-2955e686"]]),sr={id:"player-wrapper"},cr={id:"player-sizer"},dr={class:"player-control",id:"controls-top-left"},mr={class:"player-control",id:"controls-top-center"},ur={class:"player-control",id:"controls-top-right"},pr={class:"player-control",id:"controls-center-left"},fr={class:"player-control",id:"controls-center-center"},hr={class:"player-control",id:"controls-center-right"},gr={class:"player-control",id:"controls-bottom-left"},vr={class:"player-control",id:"controls-bottom-center"},kr={class:"player-control",id:"controls-bottom-right"},Cr=O(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(d,{emit:a}){return(t,o)=>(e.openBlock(),e.createElementBlock("div",sr,[e.createElementVNode("div",cr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",dr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",ur,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",pr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",fr,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",hr,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",gr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",vr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",kr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),yr={class:"virtual-tour-wrapper"},wr={class:"player-and-components-wrapper"},_r={class:"mss-image"},br={key:1,class:"btn-placeholder"},Ke=O(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(d){const a=d;e.provide(J,a.i18nConfig?new ee(a.i18nConfig):new ee);const t=e.ref(0),o=e.ref(new Je(document,"player-wrapper")),n=e.computed(()=>a.images.map((l,u)=>({id:`image-${u}`,thumbnailUrl:l}))),r=e.computed(()=>n.value[t.value]);e.onMounted(()=>{o.value.setup()});function s(){o.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let l=t.value+1;l>=n.value.length&&(l=0),t.value=l}function p(){let l=t.value-1;l<0&&(l=n.value.length-1),t.value=l}function c(l,u=!0){let b=n.value.findIndex(f=>f.id===l);b!=-1&&(t.value=b)}return(l,u)=>{const b=e.resolveComponent("v-img"),f=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",yr,[e.createElementVNode("div",wr,[e.createElementVNode("div",null,[e.createVNode(Cr,{"is-full-screen":o.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",_r,[e.createVNode(b,{src:r.value.thumbnailUrl},null,8,["src"])])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(f,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:p})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(f,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[l.showFullScreen?(e.openBlock(),e.createBlock(Ze,{key:0,"is-full-screen":o.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),l.showShare?(e.openBlock(),e.createElementBlock("div",br,[e.createVNode(qe)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[o.value.isActive&&n.value.length>1?(e.openBlock(),e.createBlock(xe,{key:0,class:e.normalizeClass([o.value.isActive?"full-screen":""]),thumbnails:n.value,active:t.value,onNext:i,onPrevious:p,onGoto:c},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),n.value.length>1?(e.openBlock(),e.createBlock(xe,{key:0,thumbnails:n.value,active:t.value,onNext:i,onPrevious:p,onGoto:c},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),Vr={install:function(a){a.component("VApartmentChooser",Ue),a.component("VBuildingChooser",We),a.component("VVirtualTour",Xe),a.component("VManualSlideShow",Ke)}};P.ApartmentChooserV1ToV5=ze,P.BuildingChooserV1ToV5=Ge,P.ResourceLoader=Z,P.VApartmentChooser=Ue,P.VApartmentChooserV5=co,P.VBuildingChooser=We,P.VBuildingChooserV5=Zo,P.VFloatingCard=he,P.VHoverProbe=se,P.VManualSlideShow=Ke,P.VNorthDirection=ve,P.VVirtualTour=Xe,P.VZoomBox=ge,P.default=Vr,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|