@qispace/vue3-player 0.3.49 → 0.3.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(q,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(q=typeof globalThis<"u"?globalThis:q||self,e(q["vue3-player"]={},q.Vue,q.axios,q.PlayerCore,q.THREE))})(this,function(q,e,ve,Ot,Ve){"use strict";var Ei=Object.defineProperty;var xi=(q,e,ve)=>e in q?Ei(q,e,{enumerable:!0,configurable:!0,writable:!0,value:ve}):q[e]=ve;var ee=(q,e,ve)=>(xi(q,typeof e!="symbol"?e+"":e,ve),ve);function Rt(i){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return r.default=i,Object.freeze(r)}const Ut=Rt(Ot);class ie{static async loadText(r){return new ie().loadText(r)}static async loadJson(r){return new ie().loadJson(r)}static async loadImage(r){return new ie().loadImage(r)}static async loadImageData(r){return new ie().loadImageData(r)}async loadText(r){try{return(await ve.get(r)).data}catch(t){throw ve.isAxiosError(t)&&t.response?new Error(`Failed to load resource from ${r}: ${t.response.status} ${t.response.statusText}`):t}}async loadJson(r){return(await ve.get(r)).data}async loadImage(r){return new Promise((t,n)=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>{t(a)},a.onerror=n,a.src=r})}async loadImageData(r){const t=await this.loadImage(r),n=document.createElement("canvas");try{const a=n.getContext("2d");return n.width=t.width,n.height=t.height,a.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const Ht=e.defineComponent({__name:"VHoverProbe",setup(i,{expose:r}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return r({isHoverEnabled:n}),(a,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),R=(i,r)=>{const t=i.__vccOpts||i;for(const[n,a]of r)t[n]=a;return t},_e=R(Ht,[["__scopeId","data-v-eb9b348d"]]);function Q(i,r){return typeof i=="string"?`${i}${r}`:i(r)}const zt=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(i,{emit:r}){const t=i,n=r,a=e.ref({x:0,y:0,width:0,height:0}),o=e.ref(0),s=e.ref(0),l=e.ref(),d=e.ref(),m=e.ref(),c=e.ref(),u=e.ref(-1),v=e.ref(!1),C=e.ref(),p=e.ref(),f=e.ref({}),h=e.ref("auto"),y=e.ref(new ie),g=e.ref({}),x=e.ref(),V=e.ref(),F=e.ref(),w=e.ref(),B=e.ref(),U=e.computed(()=>F.value.isHoverEnabled),N=e.computed(()=>Q(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),z=e.computed(()=>N.value in f.value?f.value[N.value]:null),_=e.computed(()=>u.value<0?!1:t.sceneData.find(H=>H.index===u.value)||!1),k=e.computed(()=>({width:o.value+"px",height:s.value+"px",cursor:h.value})),D=e.computed(()=>`hover-${v.value?"over":"out"}-${_.value?typeof _.value=="object"&&"unitId"in _.value?_.value.unitId:_.value:""}`);e.watch(N,()=>{f.value[N.value]||y.value.loadImageData(N.value).then(T=>{f.value={...f.value,[N.value]:T}})},{immediate:!0}),e.watch(z,()=>{z.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{ae()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{ae()}),e.watch(_,()=>{ae(),_.value?h.value="pointer":h.value="auto"}),e.watch(D,()=>{v.value?n("hoverOver",{hoverUnit:_.value?_.value.unitId:!1,closeHandler:()=>le()}):n("hoverOut",{hoverUnit:_.value?_.value.unitId:!1,closeHandler:()=>le()})}),e.watch(a,()=>{n("pos",a.value)}),e.onMounted(()=>{V.value=()=>{clearTimeout(x.value),de(),x.value=setTimeout(()=>{de()},50)},window.addEventListener("resize",V.value),de()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V.value);for(const T in f.value)URL.revokeObjectURL(f.value[T])});function L(){l.value=w.value.getContext("2d",{willReadFrequently:!0}),d.value=new Image,d.value.onload=()=>{Ce(),w.value.addEventListener("mousemove",ce(J,50))},d.value.src=z.value}function J(T){const H=M(T.offsetX,T.offsetY);v.value=H>=0,u.value=H,a.value={x:T.offsetX,y:T.offsetY,width:o.value,height:s.value}}function I(T){const H=M(T.offsetX,T.offsetY);H<0||U&&ne(H)}function S(){if(d.value&&d.value.width){w.value.width=d.value.width,w.value.height=d.value.height,l.value.drawImage(d.value,0,0,d.value.width,d.value.height),c.value=l.value.getImageData(0,0,w.value.width,w.value.height),m.value=l.value.getImageData(0,0,w.value.width,w.value.height);const T=c.value.data;g.value={};for(let H=0;H<T.length;H+=4)g.value[T[H]]=[];for(let H=3;H<T.length;H+=4)T[H]===255&&T[H-3]in g.value&&g.value[T[H-3]].push(H-3)}}function M(T,H){C.value=T,p.value=H;const te=w.value.offsetWidth/w.value.width,we=w.value.offsetHeight/w.value.height,pe=(T/te).toFixed(),he=(H/we).toFixed(),oe=Number(he)*(w.value.width*4)+Number(pe)*4,ke=c.value.data[oe];return c.value.data[oe+3]>0?ke:-1}function $(){W().forEach(H=>{if(H.index>=0){const te=Y(H.index);if(te){const we=G(H.index);let pe="idle";!_.value&&t.selectedUnitId&&we===t.selectedUnitId?pe="selected":_.value&&u.value===H.index&&(pe="hover");const he=t.colorCallback(H.unitId,pe);if(he)for(let oe=0;oe<te.length;oe++)m.value.data[te[oe]]=he.r,m.value.data[te[oe]+1]=he.g,m.value.data[te[oe]+2]=he.b,m.value.data[te[oe]+3]=he.a}}})}function Y(T){return c.value?g.value[T]:!1}function G(T){const H=t.sceneData.find(te=>te.index===T);return H&&H.unitId}function W(){if(c.value){const T=Object.keys(g.value).map(te=>parseInt(te));return t.sceneData.filter(te=>T.includes(te.index))}else return[]}function ne(T){const H=G(T);P(H)}function P(T){n("selectUnit",T),T&&t.canGoToUnitCallback(T)&&n("goToUnit",T)}function se(T=0){if(!m.value)return;const H=m.value.data;for(let te=3;te<H.length;te+=4)H[te]=T}function de(){if(!B.value)return!1;o.value=B.value.offsetWidth,s.value=B.value.offsetHeight}function Ce(){S(),ae()}function ae(){se(),$(),l.value&&m.value&&l.value.putImageData(m.value,0,0)}function le(){v.value=!1}const ue=e.ref(!1);function ce(T,H){return ue.value=!0,function(...te){ue.value&&(ue.value=!1,T.apply(this,te),setTimeout(()=>ue.value=!0,H))}}return(T,H)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:B,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:w,style:e.normalizeStyle(k.value),onClick:I},null,4),[[e.vShow,!T.viewModel.isRotating]]),e.createVNode(_e,{ref_key:"hoverProbe",ref:F},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),Yt=["viewBox"],Pt=["innerHTML","onMouseenter","onMouseleave","onClick"],jt=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(i,{emit:r}){const t=i,n=r,a=e.ref({x:0,y:0,width:0,height:0}),o=e.ref(-1),s=e.ref({}),l=e.ref(null),d=e.ref(new ie),m=e.ref(),c=e.ref(),u=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(l.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(l.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(a,()=>{n("pos",a.value)}),e.watch(o,(V,F)=>{if(V>=0){const w=C(V);n("hoverOver",{hoverUnit:w,closeHandler:()=>{o.value=-1}})}else{const w=C(F);n("hoverOut",{hoverUnit:w,closeHandler:()=>{o.value=-1}})}}),e.onMounted(()=>{for(let V=1;V<=4;V++){const F=Q(t.cdnFileResolver,`/scenedata${V}.svg`),w={markup:"",viewBox:"",svgObjects:[]};d.value.loadJson(F).then(B=>{w.markup=B;const N=new DOMParser().parseFromString(B,"image/svg+xml").getElementsByTagName("svg")[0];w.viewBox=N.getAttribute("viewBox"),w.svgObjects=Array.from(N.querySelectorAll("*[data-index]")).map(z=>({index:parseInt(z.getAttribute("data-index")),svg:z.innerHTML})),s.value={...s.value,[V]:w}})}m.value.addEventListener("mousemove",x(v,50))});function v(V){a.value={x:V.offsetX,y:V.offsetY,width:m.value.offsetWidth,height:m.value.offsetHeight}}function C(V){var F;return(F=t.sceneData.find(w=>w.index===(typeof V=="string"?parseInt(V):V)))==null?void 0:F.unitId}function p(V){u.value&&(o.value=V)}function f(V){u.value&&(o.value=-1)}function h(V){const F=C(V);n("selectUnit",F),u.value&&F&&t.canGoToUnitCallback(F)?n("goToUnit",F):o.value=V}function y(V){const F=C(V);let w="idle";o.value<0&&t.selectedUnitId&&F===t.selectedUnitId?w="selected":o.value>=0&&o.value===V&&(w="hover");const B=t.colorCallback(F,w);if(B){const{r:U,g:N,b:z,a:_,s:k}=B;return{strokeWidth:k!==void 0?k:2,stroke:`rgb(${U}, ${N}, ${z})`,strokeOpacity:1,fill:`rgb(${U}, ${N}, ${z})`,fillOpacity:_/255,cursor:`${t.canGoToUnitCallback(F)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const g=e.ref(!1);function x(V,F){return g.value=!0,function(...w){g.value&&(g.value=!1,V.apply(this,w),setTimeout(()=>g.value=!0,F))}}return(V,F)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:m},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!l.value||!l.value.svgObjects?0:1})},[l.value&&l.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:l.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.svgObjects,({index:w,svg:B})=>(e.openBlock(),e.createElementBlock("g",{key:w,innerHTML:B,style:e.normalizeStyle(y(w)),onMouseenter:U=>p(w),onMouseleave:U=>f(),onClick:U=>h(w)},null,44,Pt))),128))],8,Yt)):e.createCommentVNode("",!0)],4),[[e.vShow,!V.viewModel.isRotating]]),e.createVNode(_e,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),me=Symbol(),Wt={key:0,class:"text-success d-none d-md-flex"},Gt={class:"text-success"},qt=R(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(i,{emit:r}){const t=i,n=e.computed(()=>t.selectedUnitId),a=e.computed(()=>t.nextUnitId),o=e.computed(()=>t.prevUnitId),s=r,l=e.inject(me);e.onMounted(()=>{window.addEventListener("keydown",d)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",d)});function d(m){m.keyCode===37?t.prevUnitId&&s("prevUnit"):m.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(m,c)=>{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:c[0]||(c[0]=v=>m.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:!o.value,onClick:c[1]||(c[1]=v=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(u,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!m.canGoToUnitCallback(n.value),onClick:c[2]||(c[2]=v=>s("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&m.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(e.unref(l).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Gt,e.toDisplayString(n.value?t.unitRenderer(n.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:!a.value,onClick:c[3]||(c[3]=v=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>m.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class qe{constructor(r){ee(this,"_numParts");ee(this,"_loadedCount");ee(this,"_isError");ee(this,"_finishedAction");ee(this,"_errorAction");ee(this,"_loadProgressAction");this._numParts=r,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(r){return this._finishedAction=r,this}onLoadError(r){return this._errorAction=r,this}onLoadProgress(r){return this._loadProgressAction=r,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 Qe{constructor(r,t,n,a){ee(this,"_rotator");ee(this,"_direction");ee(this,"_frameIndex");ee(this,"_sceneCount");this._rotator=r,this._direction=t,this._frameIndex=n,this._sceneCount=a}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const r=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(r)?this._sceneCount-1:this._sceneCount;return new Qe(this._rotator,this._direction,r,t)}}class Qt{constructor(r,t){ee(this,"_cardinalFrames");ee(this,"_totalFrameCount");this._cardinalFrames=r,this._totalFrameCount=t}start(r,t,n){const a=this.startFrameIndexForScene(t);return new Qe(this,r,a,n)}isCardinalFrame(r){return this._cardinalFrames.includes(r)}clampFrameIndex(r){return(this._totalFrameCount+r)%this._totalFrameCount}startFrameIndexForScene(r){return this._cardinalFrames[r]}}const Zt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Jt={key:1,class:"frame-container"},Xt={key:0,class:"frame-image"},Kt=["srcset"],eo=["src"],to={key:2,id:"image-stack",class:"frame-container"},oo=["alt"],no=["srcset"],ao=["src"],rt=64,Me=4,ro=120,lo=R(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(i,{emit:r}){const t=i,n=r,a=C(),o=e.ref(new qe(a.length).onLoadFinished(()=>n("loaded")).onLoadProgress(y=>n("progress",y)).onLoadError(()=>n("error"))),s=e.ref(new Qt(t.cardinalFrames,rt)),l=e.ref(a),d=e.ref(!1),m=e.computed(()=>l.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,g)=>{const x=h(g,y),V=f(g,y);c(g,x,V)}),e.onMounted(()=>{v()});function c(y,g,x){t.viewModel.isRotating||(t.viewModel.isRotating=!0,u(s.value.start(g,y%Me,x)))}function u(y){setTimeout(()=>{l.value[y.frameIndex].show=!1;const g=y.nextFrame();l.value[g.frameIndex].show=!0,g.atEnd?v():window.requestAnimationFrame(()=>u(g))},1e3/ro)}function v(){const y=s.value.startFrameIndexForScene(t.viewModel.currentScene%Me);y in l.value&&(l.value[y].show=!0),t.viewModel.isRotating=!1}function C(){const y=[];for(let g=0;g<rt;g++){const{sourceSet:x,defaultPath:V}=p(g);y.push({index:g,sourceSet:x,defaultPath:V,show:!1})}return y}function p(y){const g=("0000"+(y+1)).slice(-4),x=t.build?`?v=${t.build}`:"",V=[`${Q(t.cdnFileResolver,`/480/${g}.jpg${x}`)} 480w`,`${Q(t.cdnFileResolver,`/960/${g}.jpg${x}`)} 960w`,`${Q(t.cdnFileResolver,`/1280/${g}.jpg${x}`)} 1280w`].join(","),F=Q(t.cdnFileResolver,`/480/${g}.jpg${x}`);return{sourceSet:V,defaultPath:F}}function f(y,g){const x=Me/2,V=Math.abs(y-g);return V>x?Me-V:V}function h(y,g){if(y===g)return 0;const V=Math.abs(y-g)<Me/2;return V&&y<g||!V&&y>g?1:-1}return(y,g)=>{const x=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[o.value.isError?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(x,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):d.value?(e.openBlock(),e.createElementBlock("div",to,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,V=>(e.openBlock(),e.createElementBlock("picture",{key:V.index,alt:V.index,class:e.normalizeClass({"frame-image":!0,show:V.show})},[e.createElementVNode("source",{srcset:V.sourceSet,type:"image/jpeg"},null,8,no),e.createElementVNode("img",{src:V.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=F=>o.value.partLoaded()),onError:g[3]||(g[3]=F=>o.value.errorDetected())},null,40,ao)],10,oo))),128))])):(e.openBlock(),e.createElementBlock("div",Jt,[m.value?(e.openBlock(),e.createElementBlock("picture",Xt,[e.createElementVNode("source",{srcset:m.value.sourceSet,type:"image/jpeg"},null,8,Kt),e.createElementVNode("img",{src:m.value.defaultPath,onLoad:g[0]||(g[0]=V=>d.value=!0),onError:g[1]||(g[1]=V=>o.value.errorDetected())},null,40,eo)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),Be=R(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(i,{emit:r}){const t=i,n=r,a=e.computed(()=>{let o,s,l,d;return t.pos.x<=t.pos.width/2?(o="-100%",l="-8px"):(o="0%",l="8px"),t.pos.y<=t.pos.height/2?(s="-100%",d="-8px"):(s="0%",d="8px"),`translate(${o}, ${s}) translate(${l}, ${d})`});return(o,s)=>{const l=e.resolveComponent("v-dialog"),d=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(d,{origin:`top left ${o.pos.x} ${o.pos.y}`},{default:e.withCtx(()=>[o.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${o.pos.x}px`,top:`${o.pos.y}px`,pointerEvents:"none",transform:a.value})},[e.renderSlot(o.$slots,"default",{isHoverable:o.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(l,{key:1,value:!0,width:"auto","onClick:outside":s[0]||(s[0]=m=>n("outside",m))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",{isHoverable:o.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),Se=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(i,{expose:r,emit:t}){const n=i,a=t;r({adjustZoom:J});const o=e.ref(100),s=e.ref(0),l=e.ref(0),d=e.ref(!1),m=e.ref(!1),c=e.ref(void 0),u=e.ref(!1),v=e.ref(),C=e.computed(()=>`translateX(${s.value}px) translateY(${l.value}px) scale(${p.value})`),p=e.computed(()=>o.value/100),f=e.computed(()=>n.maxScale*100);e.watch([p,s,l],()=>{I()},{immediate:!0}),e.watch(()=>n.desktop,()=>{n.desktop?h():g()}),e.watch(()=>n.mobile,()=>{n.mobile?y():x()}),e.onMounted(()=>{n.desktop&&h(),n.mobile&&y()}),e.onBeforeUnmount(()=>{n.desktop&&g(),n.mobile&&x()});function h(){v.value.addEventListener("wheel",V,{capture:!0}),v.value.addEventListener("mousedown",F,{capture:!0}),v.value.addEventListener("mousemove",w,{capture:!0}),window.addEventListener("mouseup",B,{capture:!0}),window.addEventListener("click",U,{capture:!0})}function y(){v.value.addEventListener("touchstart",N,{capture:!0}),v.value.addEventListener("touchmove",z,{capture:!0}),window.addEventListener("touchend",_,{capture:!0}),window.addEventListener("touchcancel",_,{capture:!0})}function g(){v.value.removeEventListener("wheel",V,{capture:!0}),v.value.removeEventListener("mousedown",F,{capture:!0}),v.value.removeEventListener("mousemove",w,{capture:!0}),window.removeEventListener("mouseup",B,{capture:!0}),window.removeEventListener("click",U,{capture:!0})}function x(){v.value.removeEventListener("touchstart",N,{capture:!0}),v.value.removeEventListener("touchmove",z,{capture:!0}),window.removeEventListener("touchend",_,{capture:!0}),window.removeEventListener("touchcancel",_,{capture:!0})}function V(S){const{x:M,y:$}=k(S);J(-S.deltaY/10,M,$),S.preventDefault()}function F(S){d.value=!0,u.value=!1,c.value=S}function w(S){if(d.value){const{x:M,y:$}=k(S),{x:Y,y:G}=k(c.value),W={x:M-Y,y:$-G};D(W.x),L(W.y),u.value=!0,c.value=S}}function B(S){d.value&&u.value&&n.consumeMouseUpWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation())}function U(S){d.value&&(u.value&&n.consumeMouseClickWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation()),d.value=!1)}function N(S){d.value=S.touches.length===1,m.value=S.touches.length===2,c.value=S}function z(S){if(d.value){const{x:M,y:$}=k(S.touches[0]),{x:Y,y:G}=k(c.value.touches[0]),W={x:M-Y,y:$-G};D(W.x),L(W.y)}else if(m.value&&S.touches.length===2){const{x:M,y:$}=k(S.touches[0]),{x:Y,y:G}=k(c.value.touches[0]),{x:W,y:ne}=k(S.touches[1]),{x:P,y:se}=k(c.value.touches[1]),de=Math.hypot(Y-P,G-se),Ce=Math.hypot(M-W,$-ne),ae=(W+M)/2,le=(ne+$)/2;J(Ce-de,ae,le)}c.value=S}function _(){d.value=!1,m.value=!1}function k(S){const{left:M,top:$}=v.value.getBoundingClientRect();return{x:S.clientX-M,y:S.clientY-$}}function D(S){const M=v.value.clientWidth,$=M*p.value;s.value=Math.max(Math.min(0,s.value+S),-($-M))}function L(S){const M=v.value.clientHeight,$=M*p.value;l.value=Math.max(Math.min(0,l.value+S),-($-M))}function J(S,M,$){const Y=M!==void 0?M:v.value.clientWidth/2,G=$!==void 0?$:v.value.clientHeight/2,W=v.value.clientWidth,ne=v.value.clientHeight,P=W*p.value,se=ne*p.value;o.value=Math.min(Math.max(100,o.value+S),f.value);const de=W*p.value,Ce=ne*p.value,ae=de-P,le=Ce-se;s.value-=Y/W*ae,l.value-=G/ne*le,D(0),L(0)}function I(){a("update",{scale:p.value,x:s.value,y:l.value,current:Math.min(Math.max(100,o.value),f.value),min:100,max:f.value,resolve:(S,M)=>{const $=v.value.clientWidth,Y=v.value.clientHeight,G=s.value/-p.value,W=l.value/-p.value,ne=G+$/p.value,P=W+Y/p.value,se=S/$*(ne-G)+G,de=M/Y*(P-W)+W;return{x:se,y:de}}})}return(S,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:v,class:"zoom-box-container",style:e.normalizeStyle({position:n.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:C.value}),class:"zoom-box"},[e.renderSlot(S.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Ze=4;function lt(i){return i<Ze?i+1:1}function io(i){return i>1?i-1:Ze}class so{constructor(r){ee(this,"_state");this._state={isRotating:!1,currentScene:r}}get isRotating(){return this._state.isRotating}set isRotating(r){this._state.isRotating=r}unlessRotatingDo(r){this.isRotating||r()}get currentScene(){return this._state.currentScene}set currentScene(r){this._state.currentScene=r}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=lt(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=io(this.currentScene)})}}class fe{constructor({labels:r,language:t}={labels:null,language:null}){ee(this,"_labels");ee(this,"_language");r?this._labels={...r||{}}:fetch("https://l10n.visuado.com/all.json").then(n=>n.json()).then(n=>{this._labels=n}),this._language=t||"nb"}getLabel(r){return this._labels&&this._language in this._labels&&r in this._labels[this._language]?this._labels[this._language][r]:r}get(r){return typeof r=="string"?r:typeof r=="object"&&this._language in r&&r[this._language]?r[this._language]:""}}const co={key:0},mo={class:"interactive-viewer"},uo={class:"fill-parent"},po={key:0},fo={key:1,class:"navigation"},ho={key:2},go=4,it=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:i=>i},apartmentChooserData:{},selectedUnitId:{},nextUnitId:{},prevUnitId:{},drawObserver:{default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},emits:["selectUnit","goToUnit","navUnit","hoverOverUnit","hoverOutUnit","initialized"],setup(i,{emit:r}){const t=[0,16,32,48],n=i,a=r;e.provide(me,n.i18nConfig?new fe(n.i18nConfig):new fe);const o=e.reactive({isReady:!1,isError:!1}),s=e.ref(),l=e.ref(),d=e.ref(),m=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),v=e.ref(),C=e.ref(),p=e.computed(()=>C.value.isHoverEnabled),f=e.computed(()=>n.useSvg?jt:zt),h=e.computed(()=>n.selectedUnitId),y=e.computed(()=>n.nextUnitId),g=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(h.value&&m.value){const w=s.value[h.value];w&&(m.value.currentScene=w)}}),e.onMounted(async()=>{const w=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:go;d.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,l.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(N=>({unitId:N.apartmentID,index:N.index})):[],s.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(N=>{const z=N.bestScene===0?4:N.bestScene;return{unitId:N.apartmentID,scene:z}}).reduce((N,z)=>({...N,[z.unitId]:z.scene}),{}):{};const B=(N,z="unitId")=>{let _=w,k=[];for(let D=0;D<Ze;D++)k.push(_),_=lt(_);return N.sort((D,L)=>{const J=k.findIndex(S=>S===s.value[D[z]]),I=k.findIndex(S=>S===s.value[L[z]]);return J<I?-1:J>I?1:0}),N},U=N=>{m.value=new so(N)};a("initialized",{scene:w,scenes:d.value,sceneData:l.value,scenesByApartment:s.value,unitsSceneSort:B,initialize:U})});function x(w){c.value=w}function V(w){v.value=w.hoverUnit,u.value=w.closeHandler,a("hoverOverUnit",w.hoverUnit)}function F(w){v.value=null,u.value=w.closeHandler,a("hoverOutUnit",w.hoverUnit)}return(w,B)=>{const U=e.resolveComponent("v-progress-linear");return m.value?(e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",mo,[e.createElementVNode("div",uo,[e.createVNode(Se,{desktop:o.isReady&&w.interactiveDesktop,mobile:o.isReady&&w.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(lo,{"cdn-file-resolver":w.cdnFileResolver,"view-model":m.value,"cardinal-frames":d.value,build:w.build,onProgress:B[0]||(B[0]=N=>o.progress=N),onLoaded:B[1]||(B[1]=N=>o.isReady=!0),onError:B[2]||(B[2]=N=>o.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),o.isReady?(e.openBlock(),e.createElementBlock("div",po,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{"cdn-file-resolver":n.cdnFileResolver,"view-model":m.value,"selected-unit-id":h.value,"scene-data":l.value,"color-callback":n.colorCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:B[3]||(B[3]=N=>a("selectUnit",N)),onGoToUnit:B[4]||(B[4]=N=>a("goToUnit",N)),onHoverOver:V,onHoverOut:F,onPos:x},{default:e.withCtx(N=>[e.renderSlot(w.$slots,"default",e.normalizeProps(e.guardReactiveProps(N)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),v.value&&w.showCards?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":p.value,pos:c.value,onOutside:u.value},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{unit:v.value,canGoToUnit:w.canGoToUnitCallback(v.value),goToUnit:()=>w.canGoToUnitCallback(v.value)&&a("goToUnit",v.value),pos:c.value,isHoverable:p.value,close:u.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),o.isReady?(e.openBlock(),e.createElementBlock("div",fo,[e.createVNode(qt,{"can-go-to-unit-callback":n.canGoToUnitCallback,"unit-renderer":n.unitRenderer,"selected-unit-id":h.value,"prev-unit-id":g.value,"next-unit-id":y.value,"view-model":m.value,onGoToUnit:B[5]||(B[5]=N=>a("goToUnit",N)),onPrevUnit:B[6]||(B[6]=N=>a("navUnit",g.value)),onNextUnit:B[7]||(B[7]=N=>a("navUnit",y.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):o.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ho,[e.createVNode(U,{indeterminate:!o.progress,modelValue:o.progress,"onUpdate:modelValue":B[8]||(B[8]=N=>o.progress=N)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(_e,{ref_key:"hoverProbe",ref:C},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),yo=["src"],vo=R(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,t=e.computed(()=>Q(r.cdnFileResolver,r.timeSampleData.filename));return(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,yo)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),Co=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.dayData.timeSamples,a=>(e.openBlock(),e.createBlock(vo,{"time-sample-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),ko=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.cameraData.sunsimDayOfYear,a=>(e.openBlock(),e.createBlock(Co,{"day-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":r.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),_o=["src"],wo=R(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:r}){const t=i,n=e.computed(()=>Q(t.cdnFileResolver,t.transitionData.filename));return(a,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:n.value,src:n.value,class:"position-absolute top-left w-100 h-100"},null,8,_o)),[[e.vShow,a.transitionData===a.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function bo(i){if(!i)return!1;const r=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Je(i){return!("filename"in i)}function Xe(i){return"filename"in i}const Vo=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{a.value=t.currentCamera.overlayFilename});const o=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Je):[]);return e.watch(a,()=>{n("onCameraChange",o.value.find(s=>s.overlayFilename===a.value))}),(s,l)=>{const d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=m=>a.value=m),items:o.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Bo=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{a.value=t.currentDay.dayOfYear}),e.watch(a,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===a.value))});function o(s){const l=new Date(0);return l.setUTCDate(s),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,l)=>{const d=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{title:o(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(o(c.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),So={key:0,class:"py-2"},Eo={class:"small"},xo={class:"small"},No=R(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentTime.timeInHours),o=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{a.value=t.currentTime.timeInHours}),e.watch(a,()=>{n("onTimeChange",t.dayData.timeSamples.find(d=>d.timeInHours===a.value))});function s(d){const m=d*60,c=Math.floor(m/60),u=m%60;return`${c.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function l(){o.value?(clearInterval(o.value),o.value=void 0):(t.dayData.timeSamples.findIndex(m=>m.timeInHours===a.value)===t.dayData.timeSamples.length-1&&(a.value=t.dayData.timeSamples[0].timeInHours),o.value=setInterval(()=>{const m=t.dayData.timeSamples.findIndex(c=>c.timeInHours===a.value);m<t.dayData.timeSamples.length-1?a.value=t.dayData.timeSamples[m+1].timeInHours:(clearInterval(o.value),o.value=void 0)},200))}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(C,{variant:"solo"},{default:e.withCtx(()=>[d.dayData.startTime===d.dayData.endTime?(e.openBlock(),e.createElementBlock("div",So,[e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)])):(e.openBlock(),e.createBlock(v,{key:1,class:"pa-1",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value=p),min:d.dayData.startTime,max:d.dayData.endTime,step:d.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:o.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Eo,e.toDisplayString(s(d.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",xo,e.toDisplayString(s(d.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),Io=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(i,{expose:r,emit:t}){const n=i,a=t;r({rotateShortestRoute:v});const o=e.ref(!1),s=e.ref(n.currentScene),l=e.ref(n.selectedId);e.watchEffect(()=>{s.value=n.currentScene}),e.watchEffect(()=>{l.value=n.selectedId}),e.watchEffect(()=>{a("onSceneChange",s.value)});const d=e.computed(()=>o.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[0]),m=e.computed(()=>o.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[n.apartmentChooserData.scenes.length-1]);function c(){const p=s.value;let f=n.apartmentChooserData.scenes.findIndex(y=>y===p)+1;f>=n.apartmentChooserData.scenes.length&&(f=0);const h=n.apartmentChooserData.scenes[f];n.apartmentChooserData.loopable&&p>h,C(p,h)}async function u(){const p=s.value;let f=n.apartmentChooserData.scenes.findIndex(y=>y===p)-1;f<0&&(f=n.apartmentChooserData.scenes.length-1);const h=n.apartmentChooserData.scenes[f];n.apartmentChooserData.loopable&&p<h,C(p,h)}function v(p){const f=s.value;if(n.apartmentChooserData.loopable)if(p<f){let h=f-p,y=f-(n.apartmentChooserData.cameras.length+p);return Math.abs(h)>Math.abs(y)?C(f,p):C(f,n.apartmentChooserData.cameras.length+p)}else{let h=f-p,y=n.apartmentChooserData.cameras.length+f-p;return Math.abs(h)>Math.abs(y)?C(f,p):C(n.apartmentChooserData.cameras.length+f,p)}else return C(f,p)}function C(p,f){return new Promise(h=>{o.value=!0,a("onRotateStart",{from:p,to:f});let y,g=p;y=setInterval(()=>{g<f?(g++,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):g>f?(g--,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):(clearInterval(y),a("onRotateFinish",{from:p,to:f}),o.value=!1,h())},50)})}return(p,f)=>{const h=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(h,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!d.value,onClick:u},null,8,["disabled"]),p.renderDisplay&&l.value?(e.openBlock(),e.createBlock(y,{key:0,variant:"flat",color:"white",size:"large",onClick:f[0]||(f[0]=g=>a("onDisplayClick",l.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.renderDisplay(l.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(h,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!m.value,onClick:c},null,8,["disabled"])],64)}}}),Do=["innerHTML"],Ao=R(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(t.selectedId),l=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const c in l){const{element:u,state:v}=l[c],{r:C,g:p,b:f,a:h,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${C}, ${p}, ${f}, ${h/255})`,u.style.stroke=`rgb(${C}, ${p}, ${f})`,u.style.strokeWidth=y.toString()}}),e.watch(s,()=>{for(const c in l)l[c].state==="selected"&&c!==s.value?l[c].state="idle":l[c].state!=="selected"&&c===s.value&&(l[c].state="selected")}),e.watchEffect(async()=>{a.value=await ie.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),m()}),e.watch(()=>o.value,()=>{o.value&&new ResizeObserver(d).observe(o.value)});function d(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;if(c){if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",o.value.offsetWidth.toString()),c.setAttribute("height",o.value.offsetHeight.toString())}})}function m(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;c&&(n("updateSvgContainer",c),d(),c.querySelectorAll("[data-apartment-id]").forEach(C=>{C.style.strokeWidth="0",C.style.stroke="rgba(255,255,255,0)",C.style.fill="rgba(255,255,255,0)",C.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=C.getAttribute("data-apartment-id");l[p]={element:C,state:s.value===p?"selected":"idle"},C.addEventListener("mouseover",()=>{l[p].state==="idle"&&(l[p].state="hover"),n("onHoverOver",p)}),C.addEventListener("mouseout",()=>{l[p].state==="hover"&&(l[p].state="idle"),n("onHoverOut",p)}),C.addEventListener("click",()=>{n("onClick",p)})}))})}return(c,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:o,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:a.value},null,8,Do))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),Fo="data:image/png;base64,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",Ee=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(i){const r=i,t=e.computed(()=>({transform:`rotate(${90-(r.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(n,a)=>{const o=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(o,{src:e.unref(Fo),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ie{constructor(r){ee(this,"_buildingIds");this._buildingIds=r}static empty(){return new Ie([])}getBuildingId(r,t,n){const a=this._getBuildingIndex(r,t,n);if(a!==void 0)return this._buildingIds[a]}_getBuildingIndex(r,t,n){const[a,o,s,l]=r.getPixel(t,n);if(l===255&&a===o&&o===s)return a}}const To=180;class st{constructor(r){ee(this,"_cdnFileResolver");ee(this,"_resourceLoader");this._cdnFileResolver=r,this._resourceLoader=new ie}constructFileUrl(r){return this._cdnFileResolver?Q(this._cdnFileResolver,`/${r}`):null}loadBuildingMapImage(r){const t=this.constructFileUrl(r.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(r){return r.cameraRotation&&r.cameraRotation.y+270}getBuildingData(r){const t=r?r.buildings:[],n=t.map(o=>o.id),a=t.map(o=>({id:o.id,url:this.constructFileUrl(o.overlayFilename)}));return{buildingIds:n,buildingOverlays:a}}getBackgroundImageData(r){return"days"in r?this.processMultipleDays(r.days):[this.processTimeSamples(To,r.timeSamples)]}processMultipleDays(r){return r.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(r,t){return{urls:t.map(a=>this.constructFileUrl(a.filename)),referenceDate:this.makeReferenceDate(r)}}makeReferenceDate(r){const t=new Date(0);return t.setUTCDate(r),t}async loadBuildingChooser(r){try{if(r){const t=await this.loadBuildingMapImage(r);if(t){const n=this.getViewLongitude(r),{buildingIds:a,buildingOverlays:o}=this.getBuildingData(r),s=this.getBackgroundImageData(r);return{mapImage:t,viewLongitude:n,buildingIds:a,buildingOverlays:o,backgrounds:s}}}return null}catch{return null}}}class De{constructor(r){ee(this,"_mapImage");ee(this,"_context");this._mapImage=r,this._context=null}static empty(){return new De(null)}update(r){this._mapImage&&(this._context=r.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,r.width,r.height))}getPixel(r,t){try{return this._context?this._context.getImageData(r,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const Lo=new Date(0);class Ue{constructor(r){ee(this,"_imagesByDay");ee(this,"_state");this._imagesByDay=r,this._state={selectedIndex:0}}static empty(){return new Ue([{referenceDate:Lo,urls:[]}])}selectIndex(r){r<this._imagesByDay.length&&(this._state.selectedIndex=r)}get dates(){return this._imagesByDay.map(r=>r.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 $e(i){return("0"+i).slice(-2)}function Mo(){const i=new Date;return[i.getFullYear().toString(),$e(i.getMonth()+1),$e(i.getDate())," ",$e(i.getHours()),$e(i.getMinutes()),$e(i.getSeconds())].join("")}function $o(){return"Visuado-Snapshot-"+Mo()}class Oo{constructor(r,t){ee(this,"data");this.data=r}download(r=null){r=r||$o();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=r,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}function ct(i){const r=i.sceneData.map(l=>({unitId:l.apartmentID,bestScene:l.bestScene})),t="1280",n=[4,1,2,3],a=[];for(let l=1;l<=64;l++){const d=l.toString().padStart(4,"0")+".jpg";a.push(d)}const o=a.map(l=>({filename:`/${t}/${l}`}));for(let l=0;l<i.scenes.length;l++){let d=i.scenes[l],m,c;m=o[d],c={cameraName:`Kamera ${l+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${n[l]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:m.filename}]}]},Xe(o[d])&&(o[d]=c)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:i.scenes,loopable:!0,renderVersion:i.renderVersion?i.renderVersion:"Auto Converted",unitData:r,cameras:o}}const Ro={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Uo={class:"pa-1"},Ho={class:"pa-1"},zo={class:"pa-1"},Yo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},Po={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},jo=["innerHTML"],Wo={style:{"z-index":"7"}},Go=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(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(),l=e.ref(null),d=e.ref(4),m=e.ref(),c=e.ref(!1),u=e.ref(!1),v=e.ref(),C=e.ref(),p=e.computed(()=>C.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),h=e.ref(),y=e.ref(),g=e.ref(t.apartmentChooserData),x=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.watch(c,I=>{I&&n("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([S])=>{x.value=S.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const V=e.computed(()=>g.value?g.value.cameras.filter(Je):[]),F=e.computed(()=>g.value?g.value.cameras.filter(Xe):[]),w=async()=>{try{let I,S;return S=await ie.loadJson(Q(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(S.version)===5?S:(I=ct(S),I)}catch(I){c.value=!1,n("onError",I)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await w()),t.defaultCamera?a.value=V.value.find(I=>I.cameraName===t.defaultCamera)||V.value[0]:a.value=V.value[0],d.value=g.value.cameras.findIndex(I=>I===a.value),d.value=Math.max(0,d.value))},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{g.value&&t.cdnFileResolver&&(t.defaultDay?o.value=a.value.sunsimDayOfYear.find(I=>I.dayOfYear===t.defaultDay)||a.value.sunsimDayOfYear[0]:o.value=a.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{g.value&&t.cdnFileResolver&&(t.defaultTime?s.value=o.value.timeSamples.find(I=>I.timeInHours===t.defaultTime)||o.value.timeSamples[0]:s.value=o.value.timeSamples.find(I=>I.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])},{immediate:!0});function B(I){a.value!==I&&v.value.rotateShortestRoute(g.value.cameras.findIndex(S=>S===I))}function U(I){d.value=I,Xe(g.value.cameras[d.value])?l.value=g.value.cameras[d.value]:(e.nextTick(()=>{N(g.value.cameras[d.value])}),l.value=null)}function N(I){const S=o.value;a.value=I,d.value=g.value.cameras.findIndex(M=>M===a.value),e.nextTick(()=>{z(a.value.sunsimDayOfYear.find(M=>M.dayOfYear===S.dayOfYear)||a.value.sunsimDayOfYear[0])})}function z(I){const S=s.value;o.value=I,e.nextTick(()=>{_(o.value.timeSamples.find(M=>M.timeInHours===S.timeInHours)||o.value.timeSamples.find(M=>M.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])})}function _(I){s.value=I}function k(I){n("onClick",I,()=>{const S=g.value.unitData.find(M=>M.unitId===I);S&&v.value.rotateShortestRoute(S.bestScene)})}function D(I){n("onHoverOver",I),m.value=I}function L(I){n("onHoverOut",I),m.value=void 0}function J(I){const{layerX:S,layerY:M}=I;let $=I.target,Y=!1;for(;$;)if($===h.value){Y=!0;break}else $=$.parentElement;if(Y){const G=I.currentTarget;f.value={x:S,y:M,width:G.clientWidth,height:G.clientHeight}}else f.value=void 0;n("onMouseMove",I,f.value)}return(I,S)=>{const M=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(M,{type:"image",class:"w-100 h-100 position-relative",loading:!c.value||!g.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:y,class:e.normalizeClass({mobile:x.value}),onMousemove:J},[e.createElementVNode("div",Ro,[e.createElementVNode("div",Uo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Vo,{key:0,"apartment-chooser-data":g.value,"current-camera":a.value,disabled:u.value,onOnCameraChange:B},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ho,[a.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Bo,{key:0,"camera-data":a.value,"current-day":o.value,disabled:u.value,onOnDayChange:z},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",zo,[o.value.timeSamples.length>1?(e.openBlock(),e.createBlock(No,{key:0,"day-data":o.value,"current-time":s.value,disabled:u.value,onOnTimeChange:_},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Yo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Io,{key:0,ref_key:"rotator",ref:v,"apartment-chooser-data":g.value,"current-scene":d.value,"selected-id":I.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:k,onOnSceneChange:U,onOnRotateStart:S[0]||(S[0]=$=>u.value=!0),onOnRotateFinish:S[1]||(S[1]=$=>u.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Po,[a.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,longitude:a.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(Se,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,$=>(e.openBlock(),e.createBlock(ko,{key:$.overlayFilename,"camera-data":$,"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(F.value,$=>(e.openBlock(),e.createBlock(wo,{"transition-data":$,"cdn-file-resolver":t.cdnFileResolver,"current-transition":l.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,jo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Ao,{"cdn-file-resolver":I.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":a.value,"selected-id":t.selectedId,onOnClick:k,onOnHoverOver:D,onOnHoverOut:L,onUpdateSvgContainer:S[2]||(S[2]=$=>h.value=$)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,l.value===null]])]),_:1}),I.$slots.popup&&f.value&&m.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":p.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",Wo,[e.renderSlot(I.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:m.value,hoverable:p.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:C},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),qo={class:"sunsim-bar-wrapper"},Qo={class:"sunsim-date d-flex align-center pl-5 pr-5"},Zo={key:1,class:"text-center text-body-1"},Jo={class:"sunsim-wrapper d-flex align-center px-3"},Xo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},dt=R(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.modelValue),o=e.ref();function s(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const l=e.computed(()=>{const c=Math.floor(a.value/2).toString().padStart(2,"0"),u=a.value%2===0?"00":"30";return`${c}:${u}`}),d=e.computed(()=>t.dateSelector.dates.map(s)),m=e.computed({get(){return s(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(d.value.indexOf(c))}});return e.watch(a,c=>{n("update:modelValue",c)}),e.watch(o,c=>{t.dateSelector.selectIndex(d.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{a.value=Math.floor(c)}),e.watchEffect(()=>{o.value=s(t.dateSelector.selectedDate)}),(c,u)=>{const v=e.resolveComponent("v-icon"),C=e.resolveComponent("v-select"),p=e.resolveComponent("v-progress-linear"),f=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Qo,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(C,{key:0,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=h=>o.value=h),items:d.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(m.value),1))]),e.createElementVNode("div",Jo,[e.createElementVNode("span",Xo,e.toDisplayString(l.value),1),e.createVNode(v,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),c.isLoading?(e.openBlock(),e.createBlock(p,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(f,{key:1,modelValue:a.value,"onUpdate:modelValue":u[1]||(u[1]=h=>a.value=h),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"]]),Ko={key:0},en=["src"],mt=R(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(i,{emit:r}){const t=i,n=r,a=e.ref("init"),o=e.ref(new qe(0)),s=e.ref();e.watch(()=>t.imageUrls,m=>{n("reset"),d(m)}),e.onMounted(()=>{d(t.imageUrls),new ResizeObserver(m=>{window.requestAnimationFrame(()=>{const c=m[0].contentRect.width,u=m[0].contentRect.height;n("resize",{width:c,height:u})})}).observe(s.value)});function l(){a.value="preloaded",n("preloaded")}function d(m){a.value="init",s.value.src=m[0],o.value=new qe(m.length).onLoadFinished(()=>{a.value="loaded",n("ready")})}return(m,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:l},null,544),a.value==="preloaded"||a.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Ko,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.imageUrls,(u,v)=>(e.openBlock(),e.createElementBlock("img",{key:v,class:e.normalizeClass({"image-instance":!0,active:v===m.activeIndex}),src:u,onLoad:c[0]||(c[0]=C=>o.value.partLoaded())},null,42,en))),128))],512)),[[e.vShow,a.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),tn={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},on={class:"image-instances"},nn={key:0},an={class:"svg-container"},rn=["viewBox"],ln=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],sn=["innerHTML"],cn=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(i,{emit:r}){const t=i,n=r;e.provide(me,t.i18nConfig?new fe(t.i18nConfig):new fe);const a=e.ref({preloaded:!1,ready:!1}),o=e.ref({width:0,height:0}),s=e.ref({x:0,y:0,width:0,height:0}),l=e.ref(),d=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),m=e.ref(!1),c=e.ref(new ie),u=e.ref(),v=e.ref("0 0 0 0"),C=e.ref(),p=e.ref(),f=e.ref(Ie.empty()),h=e.ref(De.empty()),y=e.ref(),g=e.computed(()=>y.value.isHoverEnabled);e.watch(l,(_,k)=>{_?n("hoverOverBuilding",_):n("hoverOutBuilding",k)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[_,k,D]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(D);d.value=parseInt(k)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const k=await new st(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(k){h.value=new De(k.mapImage),f.value=new Ie(k.buildingIds),C.value=new Ue(k.backgrounds),p.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude};const D=[];for(let{id:L,url:J}of k.buildingOverlays)c.value.loadJson(J.replace(".png",".svg")).then(I=>{const M=new DOMParser().parseFromString(I,"image/svg+xml").getElementsByTagName("svg")[0];v.value=M.getAttribute("viewBox"),D.push({id:L,svg:M.innerHTML})});u.value=D}else m.value=!0});function x({width:_,height:k}){o.value.width=_,o.value.height=k}function V(){a.value={preloaded:!1,ready:!1}}function F(_){const k=t.colorCallback(_,_===l.value?"hover":"idle"),D=[];return _===l.value?D.push("hover"):D.push("idle"),k&&t.canGoToBuildingCallback(_)?D.push("clickable"):D.push("restricted"),D.join(" ")}function w(_){const k=t.colorCallback(_,_===l.value?"hover":"idle");if(k){const{r:D,g:L,b:J,a:I,s:S}=k;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${D}, ${L}, ${J})`,strokeOpacity:1,fill:`rgb(${D}, ${L}, ${J})`,fillOpacity:I/255,cursor:`${t.canGoToBuildingCallback(_)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function B(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height},l.value=k,n("hoverOverBuilding",k))}function U(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height},l.value=void 0,n("hoverOutBuilding",k))}function N(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height})}function z(_){l.value=_,g.value&&l.value&&t.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value)}return(_,k)=>{const D=e.resolveComponent("v-icon");return m.value?(e.openBlock(),e.createElementBlock("div",tn,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${o.value.height}px; position: relative`),class:"image-container"},[e.createVNode(Se,{desktop:_.interactiveDesktop,mobile:_.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",on,[e.createVNode(mt,{"image-urls":C.value.imageUrls,"active-index":d.value,onResize:x,onPreloaded:k[0]||(k[0]=L=>a.value.preloaded=!0),onReady:k[1]||(k[1]=L=>a.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),u.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",an,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({id:L,svg:J},I)=>(e.openBlock(),e.createElementBlock("g",{key:I,innerHTML:J,"data-building-id":L,class:e.normalizeClass(F(L)),style:e.normalizeStyle(w(L)),onMouseover:S=>B(S,L),onMouseout:S=>U(S,L),onMousemove:S=>N(S),onClick:S=>z(L)},null,46,ln))),128))],8,rn))])],512)),[[e.vShow,a.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:_.customOverlayContent},null,8,sn),[[e.vShow,a.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[p.value.viewLongitude?(e.openBlock(),e.createBlock(Ee,{key:0,class:"north-indicator",longitude:p.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(dt,{modelValue:d.value,"onUpdate:modelValue":k[2]||(k[2]=L=>d.value=L),"date-selector":C.value,"is-loading":!a.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,a.value.preloaded]]),_.showCards&&l.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":g.value,pos:s.value,onOutside:k[3]||(k[3]=()=>l.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{building:l.value,canGoToBuilding:_.canGoToBuildingCallback(l.value),goToBuilding:()=>_.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value),pos:s.value,isHoverable:g.value,close:()=>l.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(_e,{ref_key:"hoverProbe",ref:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),dn=R(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(i,{expose:r}){const t=i;r({setupDraw:c});const n=e.ref(!1),a=e.ref(),o=e.ref(new ie),s=e.ref(),l=e.ref(),d=e.ref([]),m=e.ref();e.watch(()=>t.color,(C,p)=>{(C.r!==p.r||C.g!==p.g||C.b!==p.b||C.a!==p.a)&&u()}),e.onMounted(async()=>{a.value=await o.value.loadImage(t.imageUrl),c()});function c(){if(!a.value||!m.value)return;const{width:C,height:p}=t.dimensions;if(!(C===0||p===0)){s.value=m.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(a.value,0,0,C,p),l.value=s.value.getImageData(0,0,C,p);for(let f=3;f<l.value.data.length;f+=4)l.value.data[f]!==0&&d.value.push(f);u(),n.value=!0}}function u(){s.value&&l.value&&(v(),s.value.putImageData(l.value,0,0))}function v(){if(t.color)for(let C=0;C<d.value.length;C++)l.value.data[d.value[C]-3]=t.color.r,l.value.data[d.value[C]-2]=t.color.g,l.value.data[d.value[C]-1]=t.color.b,l.value.data[d.value[C]]=t.color.a}return(C,p)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:m,class:"overlay"},C.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),mn={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},un={class:"image-instances"},pn=["innerHTML"],fn=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(i,{emit:r}){const t=i,n=r;e.provide(me,t.i18nConfig?new fe(t.i18nConfig):new fe);const a=e.ref(),o=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),l=e.ref({x:0,y:0,width:0,height:0}),d=e.ref(),m=e.ref(Ie.empty()),c=e.ref(De.empty()),u=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),C=e.ref((_,k)=>({x:_,y:k})),p=e.ref(!1),f=e.ref(),h=e.ref(),y=e.ref(),g=e.computed(()=>{var _;return(_=f.value)==null?void 0:_.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[_,k,D]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(D);v.value=parseInt(k)*2+(L<15?0:L>45?2:1)}}),e.watch(u,(_,k)=>{_?n("hoverOverBuilding",_):n("hoverOutBuilding",k)}),e.onMounted(async()=>{const k=await new st(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);k?(c.value=new De(k.mapImage),m.value=new Ie(k.buildingIds),a.value=new Ue(k.backgrounds),d.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude},w()):p.value=!0});function x({width:_,height:k}){s.value.width=_,s.value.height=k,e.nextTick(w)}function V(){o.value={preloaded:!1,ready:!1}}function F(_){const{layerX:k,layerY:D}=_,{x:L,y:J}=C.value(k,D);return m.value.getBuildingId(c.value,L,J)}function w(){if(h.value&&(c.value.update(h.value),y.value))for(const _ of y.value)_.setupDraw()}function B(_){const{layerX:k,layerY:D}=_;g.value&&(u.value=F(_),u.value!==void 0&&(l.value={x:k,y:D,width:s.value.width,height:s.value.height}))}function U(_){u.value=F(_),g.value&&u.value&&n("goToBuilding",u.value)}function N(_){return t.colorCallback(_,_===u.value?"hover":"idle")}function z({resolve:_}){C.value=_}return(_,k)=>{const D=e.resolveComponent("v-icon");return p.value?(e.openBlock(),e.createElementBlock("div",mn,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):d.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(Se,{desktop:_.interactiveDesktop,mobile:_.interactiveMobile,onUpdate:z},{default:e.withCtx(()=>[e.createElementVNode("div",un,[e.createVNode(mt,{"image-urls":a.value.imageUrls,"active-index":v.value,onResize:x,onPreloaded:k[0]||(k[0]=L=>o.value.preloaded=!0),onReady:k[1]||(k[1]=L=>o.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(dn,{ref_for:!0,ref_key:"overlays",ref:y,key:L.id,"image-url":L.url,dimensions:s.value,color:N(L.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,o.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:h,class:{hover:!!u.value},onClick:U,onMousemove:B}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:_.customOverlayContent},null,8,pn),[[e.vShow,o.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[d.value.viewLongitude?(e.openBlock(),e.createBlock(Ee,{key:0,class:"north-indicator",longitude:d.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(dt,{modelValue:v.value,"onUpdate:modelValue":k[2]||(k[2]=L=>v.value=L),"date-selector":a.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),_.showCards&&u.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":g.value,pos:l.value,onOutside:k[3]||(k[3]=()=>u.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{building:u.value,canGoToBuilding:_.canGoToBuildingCallback(u.value),goToBuilding:()=>_.canGoToBuildingCallback(u.value)&&n("goToBuilding",u.value),pos:l.value,isHoverable:g.value,close:()=>u.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(_e,{ref_key:"hoverProbe",ref:f},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),ut=e.defineComponent({__name:"VBuildingChooser",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:r}){const t=i,n=r,a=e.computed(()=>t.useSvg?cn:fn);return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.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]=l=>n("goToBuilding",l)),onHoverOverBuilding:s[1]||(s[1]=l=>n("hoverOverBuilding",l)),onHoverOutBuilding:s[2]||(s[2]=l=>n("hoverOutBuilding",l))},e.createSlots({_:2},[e.renderList(Object.keys(o.$slots),l=>({name:l,fn:e.withCtx(d=>[e.renderSlot(o.$slots,l,e.normalizeProps(e.guardReactiveProps(d)))])}))]),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"]))}}),hn=["src"],gn=R(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,t=e.computed(()=>Q(r.cdnFileResolver,r.timeSampleData.filename));return(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,hn)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),yn=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.dayData.timeSamples,a=>(e.openBlock(),e.createBlock(gn,{"time-sample-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),vn=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.cameraData.sunsimDayOfYear,a=>(e.openBlock(),e.createBlock(yn,{"day-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":r.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Cn=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentCamera.overlayFilename);return e.watch(a,()=>{n("onCameraChange",t.buildingChooserData.cameras.find(o=>o.overlayFilename===a.value))}),(o,s)=>{const l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=d=>a.value=d),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),kn=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{a.value=t.currentDay.dayOfYear}),e.watch(a,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===a.value))});function o(s){const l=new Date(0);return l.setUTCDate(s),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,l)=>{const d=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{title:o(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(o(c.title)),1)]),_:1},8,["modelValue","items"])}}}),_n={key:0,class:"py-2"},wn={class:"small"},bn={class:"small"},Vn=R(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentTime.timeInHours),o=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{a.value=t.currentTime.timeInHours}),e.watch(a,()=>{n("onTimeChange",t.dayData.timeSamples.find(d=>d.timeInHours===a.value))});function s(d){const m=d*60,c=Math.floor(m/60),u=m%60;return`${c.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function l(){o.value?(clearInterval(o.value),o.value=void 0):(t.dayData.timeSamples.findIndex(m=>m.timeInHours===a.value)===t.dayData.timeSamples.length-1&&(a.value=t.dayData.timeSamples[0].timeInHours),o.value=setInterval(()=>{const m=t.dayData.timeSamples.findIndex(c=>c.timeInHours===a.value);m<t.dayData.timeSamples.length-1?a.value=t.dayData.timeSamples[m+1].timeInHours:(clearInterval(o.value),o.value=void 0)},200))}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(C,{variant:"solo"},{default:e.withCtx(()=>[d.dayData.startTime===d.dayData.endTime?(e.openBlock(),e.createElementBlock("div",_n,[e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)])):(e.openBlock(),e.createBlock(v,{key:1,class:"pa-1",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value=p),min:d.dayData.startTime,max:d.dayData.endTime,step:d.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:o.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",wn,e.toDisplayString(s(d.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",bn,e.toDisplayString(s(d.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),Bn=["innerHTML"],Sn=R(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(t.selectedId),l=e.reactive({});e.watchEffect(()=>{for(const c in l){const{element:u,state:v}=l[c],{r:C,g:p,b:f,a:h,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${C}, ${p}, ${f}, ${h/255})`,u.style.stroke=`rgb(${C}, ${p}, ${f})`,u.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const c in l)l[c].state==="selected"&&c!==s.value?l[c].state="idle":l[c].state!=="selected"&&c===s.value&&(l[c].state="selected")}),e.watchEffect(async()=>{a.value=await ie.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),m()}),e.watch(()=>o.value,()=>{o.value&&new ResizeObserver(d).observe(o.value)});function d(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",o.value.offsetWidth.toString()),c.setAttribute("height",o.value.offsetHeight.toString())})}function m(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;c&&(n("updateSvgContainer",c),d(),c.querySelectorAll("[data-building-id]").forEach(C=>{C.style.strokeWidth="0",C.style.stroke="rgba(255,255,255,0)",C.style.fill="rgba(255,255,255,0)",C.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=C.getAttribute("data-building-id");l[p]={element:C,state:s.value===p?"selected":"idle"},C.addEventListener("mouseover",()=>{l[p].state==="idle"&&(l[p].state="hover"),n("onHoverOver",p)}),C.addEventListener("mouseout",()=>{l[p].state==="hover"&&(l[p].state="idle"),n("onHoverOut",p)}),C.addEventListener("click",()=>{n("onClick",p)})}))})}return(c,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:o,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:a.value},null,8,Bn))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function pt(i){const r={version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,buildings:i.buildings.map(a=>({id:a.id,name:a.name})),cameras:[]};let t=[];i.days?t=i.days.map(a=>({dayOfYear:a.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:a.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:i.timeSamples.map(a=>({timeInHours:a.timeInHours,filename:`/${a.filename}`}))}];const n={cameraName:"Default",cameraPosition:i.cameraPosition,cameraRotation:i.cameraRotation,cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return r.cameras.push(n),r}const En={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},xn={key:0,class:"pa-1"},Nn={class:"pa-1"},In={class:"pa-1 flex-grow-1"},Dn={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},An=["innerHTML"],Fn={style:{"z-index":"7"}},Tn=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(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(),l=e.ref(),d=e.ref(!1),m=e.ref(),c=e.computed(()=>m.value.isHoverEnabled),u=e.ref({x:0,y:0,width:0,height:0}),v=e.ref(),C=e.ref(),p=e.ref(t.buildingChooserData),f=e.ref(!1);e.onMounted(()=>d.value=!0),e.watch(d,B=>{B&&n("onInitialize")}),e.watch(()=>C.value,()=>{C.value&&new ResizeObserver(([U])=>{f.value=U.contentRect.width<t.mobileBreakpoint}).observe(C.value)});const h=async()=>{try{let B;if(!t.cdnFileResolver)return B;let U;return U=await ie.loadJson(Q(t.cdnFileResolver,"/buildingChooser.json")),parseInt(U.version)===5?U:(B=pt(U),B)}catch(B){d.value=!1,n("onError",B)}};e.watch([p,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(p.value||(p.value=await h()),t.defaultCamera?a.value=p.value.cameras.find(B=>B.cameraName===t.defaultCamera)||p.value.cameras[0]:a.value=p.value.cameras[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{p.value&&t.cdnFileResolver&&(t.defaultDay?o.value=a.value.sunsimDayOfYear.find(B=>B.dayOfYear===t.defaultDay)||a.value.sunsimDayOfYear[0]:o.value=a.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{p.value&&t.cdnFileResolver&&(t.defaultTime?s.value=o.value.timeSamples.find(B=>B.timeInHours===t.defaultTime)||o.value.timeSamples[0]:s.value=o.value.timeSamples.find(B=>B.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])},{immediate:!0});function y(B){const U=o.value;a.value=B,e.nextTick(()=>{g(a.value.sunsimDayOfYear.find(N=>N.dayOfYear===U.dayOfYear)||a.value.sunsimDayOfYear[0])})}function g(B){const U=s.value;o.value=B,e.nextTick(()=>{x(o.value.timeSamples.find(N=>N.timeInHours===U.timeInHours)||o.value.timeSamples.find(N=>N.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])})}function x(B){s.value=B}function V(B){n("onHoverOver",B),l.value=B}function F(B){n("onHoverOut",B),l.value=void 0}function w(B){const{layerX:U,layerY:N}=B;let z=B.target,_=!1;for(;z;)if(z===v.value){_=!0;break}else z=z.parentElement;if(_){const k=B.currentTarget;u.value={x:U,y:N,width:k.clientWidth,height:k.clientHeight}}else u.value=void 0;n("onMouseMove",B,u.value)}return(B,U)=>{const N=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(N,{type:"image",class:"w-100 h-100 position-relative",loading:!d.value||!p.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:C,class:e.normalizeClass({mobile:f.value}),onMousemove:w},[e.createElementVNode("div",En,[p.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",xn,[e.createVNode(Cn,{"building-chooser-data":p.value,"current-camera":a.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Nn,[a.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(kn,{key:0,"camera-data":a.value,"current-day":o.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",In,[o.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Vn,{key:0,"day-data":o.value,"current-time":s.value,onOnTimeChange:x},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Dn,[a.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,longitude:a.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(Se,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value.cameras,z=>(e.openBlock(),e.createBlock(vn,{key:z.overlayFilename,"camera-data":z,"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,An)):e.createCommentVNode("",!0),e.createVNode(Sn,{"cdn-file-resolver":B.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":a.value,"selected-id":t.selectedId,onOnClick:U[0]||(U[0]=z=>n("onClick",z)),onOnHoverOver:V,onOnHoverOut:F,onUpdateSvgContainer:U[1]||(U[1]=z=>v.value=z)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),B.$slots.popup&&u.value&&l.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":c.value,pos:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",Fn,[e.renderSlot(B.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:l.value,hoverable:c.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:m},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var Ae={};Object.defineProperty(Ae,"__esModule",{value:!0});var Ln=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},Mn=typeof window<"u"&&typeof window.document<"u",$n=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,On=(typeof self>"u"?"undefined":Ln(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Rn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Un=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Hn=Ae.isBrowser=Mn;Ae.isWebWorker=On,Ae.isNode=$n,Ae.isJsDom=Rn,Ae.isDeno=Un;const zn={id:"player-wrapper"},Yn={id:"player-sizer"},Pn={class:"player-control",id:"controls-top-left"},jn={class:"player-control",id:"controls-top-center"},Wn={class:"player-control",id:"controls-top-right"},Gn={class:"player-control",id:"controls-center-left"},qn={class:"player-control",id:"controls-center-center"},Qn={class:"player-control",id:"controls-center-right"},Zn={class:"player-control",id:"controls-bottom-left"},Jn={class:"player-control",id:"controls-bottom-center"},Xn={class:"player-control",id:"controls-bottom-right"},Kn={id:"main-canvas"},ea=R(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","sunsimCallback","playerApiCallback","newSizeCallback"],setup(i,{emit:r}){const t=Ut.PlayerV2,n=i,{cdnFileResolver:a,interiorId:o,apartmentId:s,currentCameraId:l,showStaticImage:d,mouseSensitivity:m}=e.toRefs(n),c=r,u=e.ref(),v=e.ref(l.value),C=e.ref(0),p=e.ref(0);e.watch(l,()=>{v.value=l.value}),e.watch([o,s],async()=>{u.value&&await u.value.loadInterior(y=>Q(a.value,`/${o.value}/${s.value}${y}`),v.value,!1)}),e.watch(v,()=>{u.value&&u.value.goToCamera(v.value,!0),c("newCameraCallback",v.value)},{immediate:!0}),e.watch([a],async()=>{await h(),e.nextTick(async()=>{await f()})},{immediate:!0,deep:!0}),e.watch(u,()=>{if(u.value){c("playerApiCallback",u.value);const y=u.value.getCurrentCamera();y&&(v.value=y.id,c("sunsimCallback",y.sunsimDayOfYear))}});async function f(){h();const V={initialized:()=>{u.value=t.Main.getPlayerAPI();const w=u.value.getCurrentCamera();w&&(v.value=w.id)},newCamera:w=>{c("newFloorCallback",w.floorLevel),c("sunsimCallback",w.sunsimDayOfYear),u.value&&u.value.resetMarkerBehaviour(0),v.value=w.id},newFOV:w=>{c("newFovCallback",w),p.value=w},newRotation:w=>{const B=w+0;c("newRotationCallback",B),C.value=B}};if(!Hn)return;const F=await new t.Main(w=>Q(a.value,`/${o.value}/${s.value}${w}`),"qpc",V,void 0,v.value);F&&(F.handleWindowResize(),window.addEventListener("resize",F.handleWindowResize.bind(F)),F.animate(),u.value=t.Main.getPlayerAPI(),u.value&&u.value.setLookSensitivity(m.value))}async function h(){u.value&&(await u.value.destroy(),u.value=void 0)}return e.onBeforeUnmount(()=>{h()}),(y,g)=>(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",Yn,[e.renderSlot(y.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Pn,[e.renderSlot(y.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",jn,[e.renderSlot(y.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Wn,[e.renderSlot(y.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Gn,[e.renderSlot(y.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",qn,[e.renderSlot(y.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Qn,[e.renderSlot(y.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Zn,[e.renderSlot(y.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Jn,[e.renderSlot(y.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Xn,[e.renderSlot(y.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Kn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(e.unref(d)?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-4e601038"]]),ta={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},oa=["stroke"],na=["stroke"],aa={class:"floor-level-label"},ra=R(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me),o=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),s=e.computed(()=>o.value.indexOf(t.level)+1<=o.value.length/2?"lower":"upper"),l=e.computed(()=>s.value==="lower"),d=e.computed(()=>s.value==="upper");function m(){const c=t.level+1;c>=o.value.length?n("level",o.value[0]):n("level",o.value[c])}return(c,u)=>{const v=e.resolveComponent("v-btn"),C=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(C,{right:"",attach:""},{activator:e.withCtx(({props:p})=>[e.createVNode(v,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},p,{onClick:m}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",ta,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:d.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,oa),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:l.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,na)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",aa,e.toDisplayString(e.unref(a).getLabel(s.value))+" "+e.toDisplayString(e.unref(a).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),la={class:"d-none d-md-inline"},ia={class:"interior-selector-list"},sa=["onClick"],ca={class:"d-flex align-center justify-left pa-0 ma-0"},da={class:"pa-0 ma-0"},ma={class:"text-caption ma-2 no-wrap"},ua=R(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me);return(o,s)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),m=e.resolveComponent("v-img"),c=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(d,e.mergeProps({rounded:""},u,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",la,e.toDisplayString(e.unref(a).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("div",ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(u,v)=>(e.openBlock(),e.createElementBlock("div",{key:`at-menuitem-${v}`,onClick:C=>n("selectInterior",u.archetypeID),class:e.normalizeClass(["interior-selector-list-item",{active:v===o.selectedIndex}])},[e.createElementVNode("div",ca,[e.createElementVNode("div",da,[e.createVNode(m,{width:"100","max-width":"100",height:"66",src:u.url,class:"pa-0 ma-0"},null,8,["src"])]),e.createElementVNode("div",ma,e.toDisplayString(e.unref(a).get(u.title)),1)])],10,sa))),128))])]),_:1})])}}}),[["__scopeId","data-v-be1645c7"]]),pa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAxQSURBVHgB7Z1JbBTHGsc/x5Z58B6EJzZBWDogYUAowSg3kDKOxDVOjiiH55hTTvAOmFPkiXIyHALikAsQc4g4Yl9BigcJbhF2hMQmAcMiEKsdYUFwIJP6d1dNatrdPbV09/TM9E+qTHs8xNP972+p6qqviHKaig5qYiqVisNeRHuftaUhH51h7XfWyjju6OiYoialKQRjwkCIHax9zFqBHztkB0Qr89cLeGVCzlDGyaxgTKQCeeJ8yl/ToESegONMvBJlkEwJxkXqZ22Awt1bWpTJE/BYM7vQ2IG7Y20/axOV7DLJ2v8oAzTMwipeXDrA2n5qvDWpUmbtNGujzOrK1A5UPIsqsjZdiYHXY2OVZx995LbZkZF5v58ZHKz+/g/22Zi4U/HOIfUb7T1KEXaCsKg7rA1TAlb1x88/05+//kop4JB3Dqm7ylQEYye1g7UJdvgDJez+Zr/9liovX1JKOKyNcotzKAUSFwyug71MUkqp+V8PH9KrH3+klHFYu8PPNVESEwx3HLeqYUoZuMa5iQlqAMNJW1sigrEv/AWlaFWCrp4e6li82D1O2TXKOKxN8GsQO7ELxt3CWWpAqg6xFn3zjfc9mFgQrUE4rJ1NwkXGKhj7gkepAS5Q5l9ffUVdn3ziHsMtvrtxgxoIXOQPFCOxCFbx+lYIGvspBl4y63j37h2Zsvj776uu0cQtvnnzhp49e0YxcYBdm7Nx9dmsBeNfBGIVyIK3b9/SQ5bhTU1N0c2bN+nx48dkyntr1tC/h4bIFNwwd+/epStXrsQlHOLZRByiWQkmibWDLMBFuXbtGj169KhqWS9evCAbFnz+OXX39ZEJ4m/Pzc3FKRyukbVothb2E1mI9erVK7rBYgwuCi4OWMxc2aZNm2j79u1ky3+Ya+xk1qbL5s2byXEcWrBggfuzEO7q1auuu7QA1+osWWA8+MsTDOOYBZf34MGD6s+4OGvXrqWlS/VuwLdM8LlffnGPOz/4wLWssN93f/aZm/rr8Pz5c9fyZaFWr15NawxuBImjbPD4/2SAkWA8XTXKBnHi5XKZZmdn3Z+7urpo5cqVbuvs7KSsAtEQYwWLFi2ijRs3Vq3QgO+YaEXSRFsw3iE0MmsE81u3blXjFNwfXE93dzc1A3CNSIiEteF7w31DPEO+ZKKN6fwDLcH4kAuSDIc08bvAVatWuS6wGfFbG84D52MA5pD06jxb0xUMj0Yc0gQnh5MEcIEbNmzQjlVZY2ZmxnXtwltYxLUSE0w5nVXOEnncckgTWSz4+61btza9WADnsG3btmoM81udBgV2bZXzASUL467wDmniFwvpcrPEK1X8cc3C0npVJvuoWpj2swrErFYXC+CccG6ypRmO0iiNOdYVjFnXAGm6QnSIRYLRymIJ/KLh3F/qj2EW+BSKSCJdIh9GwXMthxSBa4CLgKtAgoGY1cpiyeCcMRqCRAR9Spy7Zj8NWeOHUTOQ61kYFHdIA/SzxDATssF2EQvgXNGvBBANw1mawEAiR49CBeOJhtaMICQZr1+/do8ReFshG9QF54xRGwC3aBDPDkQNEEdZ2ABpukI5yUC21K6sW7fOHcUBiGeI6RpEWlmUYFrWBVcoQABud+AaxdioPMKjSKiVBQqmmxniWZHsCtspboWBayC7Rs3naRAr0GDCLEzrsUnuCoPB+KLcP9Oc9hA462qeYJilSxoPJXHniKwwF6sWuEQxwI1rpJmAoF9W8L8ZZGHG1rVs2TLKqQVZo0hAnjx5Qpr0+98IEqxAiuTWpYaIZXCJmiMgA/43agTjJuiQIkuWLHGzIdxBuXWFAyuDB0JCpvmwc6nfLXb5PtBPGiATglC5WPWxmFSENd4l8YPfJVpNV8tJhIL8Q3Xwl3fUpikni/xXDAjLFpZbV3apaiML9inlZJWPxUFuYc1BQRzIWaIT9unr16+7M2B7enpo+fLllJM6VWPqCnrTDzrIp06dco/x6GDLli3U29vrvuakgiMOXMH4+KES9+/fd9v58+fdTiCsbufOnbn1JQzTaAPLFO928B8KFDEzChY2OTnpukasNgl7IJdbX6IUmGAXhGAD5C0dUuLevXtug3givvk5cuRIW4+A4LroAO9Ux0MNMMFOixj2Pmmwfv16t+3evdu1vkuXLrkuUvNReMuCa3L48GGtf7Nv3756grlPoLvkH1SAKJcvX3bjGF791oW4hpi2cOFCyomVGsEiwR0DC4KZQyg/sDY5+cj5h71791ZH6M+cOePe8P39/VVrGhsbCwwpYSgJBqEgmIxILiBSPlofjnx9IA4Ew7UTN/bFixe1BDNe4wyrQ+Lx9OlTykkPJQvDHTE4OOim9hAJdwQEEwlH3h9LDyXBIAAyQjQgp/SiXwYx0QD6Y4cOHbJZSpoTghBsRucfibR+z549rliIb+Pj49XfIzHBPMVcsFpwzVasWGF6XVyNtDvOEEhYVljWCNq94ywSiXrXANcTNze6QXWErOk4l6M+iVgFCwob1QCi/4UYhuyx3a1L9WbFdVK8VmX8R0kwCIXkwo9IT+U0NScxsBWJJxjKDjC3WPdf5FbUOMT6Z3kSTmhJB7hE8QAzpyFgX5heHMhpPRR0gj6tMJKckyxlcSCPdJQoJ6tUy0HIgv1GOVmlJA7yiaTNwfyJpPyNEuVkjZJcBsI/Wl+inKxRU87IL9gF0kAUVkZN3JxoMJSH7pFBCdqaeoo1gvFtBJUHgjEGhhWYWNSHcnQ5wUAoVGBFoRVRiVWRMmZKyW8EPcAcJUWwkE+UNjBYDto2WCwrLvnfCBJsnDSQSxvkVjYfy2XFx/xvzBOMu8USKSKXNsCjFpsdHVoRC+uaCqqfGDanQ7lwMFyiuHMMShu0NEjILKzraNCbYYJhY05l/4Y7Ry5tYFmMvyWQa2/hqYamdSHZOB30i0DBeEctUOEwRAERw7JzLQdqRgpQKl2T0bBfRE1zQ8BTtjLcRZh8A5CAhE0daAdkV2hQe6tMnocLJFQwEytDxii7xnbMGqenp2tcoUHsitwjut5EUi0rA3LZOdR1b6d4hnMV4QBZoYErLFNAKi8TKRi3su9IA7G9BUA8k0uEtzKi1rHo1uAaGJQhLEbV+wWqdeu1N3SDSxRxzF91utWQC1MDxHIxoKABMsMP631IdW699tZJ+MKi4L6/GH8r4RcL52wgFlDazkNJMN7jLpIm8i4JrShakFiGVe2Kqhvm6G6WY7TXpbwvCRISJCbNXnEb2SASDBGzLMRScoUCk+2osOJB+2rLMQ3EsMtdw8B5yE8nDGMWKLPWl9h2VMBmwzfMI799+3bNhmnNlIwE7S6IXfpE39OAZDd8E/Dtk4pkAPw9SqbLC9izbm14sg6LQotxd0HELa0uE7DZtBS78RwgQ/z7beHEIZzphFXcAOfOnXPXqImbQaxr27VrF5mCWIW68yKxABYuUJDupqUC0yREEGRtJsLhIeHIyEjoyhr8v4rFotZaAAyr4VGR/EgfVgWxLCskjDGxviRDbAWLZePtoK13cXFUd5g4efJkdXUNrElU4ZFX3WDxIVb0q4BJRbJFiXr8Max3Q/eor95oRhRKS2bDwB9moqHDZyWaqBssC6dzcUTVGQiFAiUCiAfrw4wluEpVwfC38T1i3rLYWixgJRiQRMMKzi/IAlk4k8wLa68hkOxOIZLYZkQVTHvA37fI/vyUyMsIrR9fWLlEP7aJiClYHSqvsRb1QxBvsK64weBxydcUE7EKBmxSfhtQZcZf/AXA2oaGhhq1XMoodY8idsEA71zD2hxKkbAygcgOIVqK1gbX97Vup1iFRAQDNruqx4XsKnWyREtK5IlVpgQwLl1UD3xhPqhZpIQ5ceIEHTx4kI4fP17zPmKZQDfxMAQusC8psUBiggm4D4dwZUoIFCtBZgl3iD4ZXCJKA+JYkPD67BJ5G2fHGq+CSMwlBsELuCApcShGEKuGh4dDRzrQH5P7ZzGCWAWrOkYpkapggI+OYI+yAYpROIiGUQ00JB9INJAZQiybscQQxIyyY3H0rXRIXTCBtO3wADUwMdGkYUJlCrhK1iYr2WWCtf2ViP2V06JhFhZExaufD3dZoMZbHSxolLzRda2VqUmSKcFkmHjYvAcdcIhYoHQoiZYlkWQyK5gMd0XY4adAnoAO2W/uUyZvBL3EX39rhrjUFIKFwV0oau475E0MCosxM7yVyZullC+vyUmHvwGblCVYM8UGOgAAAABJRU5ErkJggg==",fa="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==",ha=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(i){const r=i,t=e.ref(fa),n=e.ref({backgroundImage:`url(${pa})`,backgroundSize:"contain"}),a=e.computed(()=>({transform:`rotate(${-r.rotation+180}deg)`}));return(o,s)=>{const l=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value),class:"compass-wrapper"},[e.createVNode(l,{class:"compass-needle",src:t.value,style:e.normalizeStyle(a.value)},null,8,["src","style"])],4)}}}),ga="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",ya={class:"d-flex flex-column align-center justify-center clock-face"},va={class:"clock-icon"},Ca={class:"clock-value grey--text text--darken-3"},ka=R(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(i){const r=i,t=e.computed(()=>[n(r.hours),":",n(r.minutes)].join(""));function n(a){return("0"+a).slice(-2)}return(a,o)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",ya,[e.createElementVNode("div",va,[e.createVNode(s,{src:e.unref(ga),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Ca,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Ke=i=>(e.pushScopeId("data-v-f59c4942"),i=i(),e.popScopeId(),i),_a={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},wa=[Ke(()=>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)),Ke(()=>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)),Ke(()=>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))],ba=R(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me),o=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,l)=>{const d=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),c=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(c,{location:"top"},{activator:e.withCtx(({props:u})=>[e.createVNode(m,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:l[0]||(l[0]=v=>n("toggle"))},u),{default:e.withCtx(()=>[o.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",_a,wa)):(e.openBlock(),e.createBlock(d,{key:1},{default:e.withCtx(()=>[e.createTextVNode("mdi-image-multiple")]),_:1}))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel(o.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),xe=i=>(e.pushScopeId("data-v-a5e7f474"),i=i(),e.popScopeId(),i),Va={key:0,class:"desktop-content"},Ba={class:"d-flex align-center justify-center"},Sa={class:"box col d-flex flex-column align-bottom justify-center"},Ea=xe(()=>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)),xa={class:"text-div text-center text mt-2"},Na={class:"box col d-flex flex-column align-bottom justify-center"},Ia=xe(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),Da={class:"text-div text-center text mt-2"},Aa={class:"box col d-flex flex-column align-bottom justify-center"},Fa=xe(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M36 33H64V43C64 50.732 57.732 57 50 57V57C42.268 57 36 50.732 36 43V33Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 28C36 20.268 42.268 14 50 14V14V33H36V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 28C64 20.268 57.732 14 50 14V14V33H64V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 26V33C53.25 34.7949 51.7949 36.25 50 36.25C48.2051 36.25 46.75 34.7949 46.75 33V26C46.75 24.2051 48.2051 22.75 50 22.75C51.7949 22.75 53.25 24.2051 53.25 26Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M74.5352 20.7593L80.3458 26.5699C80.9316 27.1557 80.9316 28.1055 80.3458 28.6913C79.76 29.277 78.8103 29.277 78.2245 28.6913L72.4138 22.8806L74.5352 20.7593Z",fill:"black",stroke:"black","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("circle",{cx:"66.5",cy:"15.5",r:"9.75",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"66",y:"11",width:"1",height:"9",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"}),e.createElementVNode("rect",{x:"71",y:"15",width:"1",height:"9",transform:"rotate(90 71 15)",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"})])],-1)),Ta={class:"text-div text-center text mt-2"},La={class:"box col d-flex flex-column align-bottom justify-center"},Ma=xe(()=>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)),$a={class:"text-div text-center text mt-2"},Oa={key:1,class:"d-flex tablet-mobile-content"},Ra={class:"box col my-1"},Ua=xe(()=>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)),Ha={class:"text text-col text-center"},za={class:"box col my-1"},Ya=xe(()=>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)),Pa={class:"text text-col text-center"},ja={class:"box col my-1"},Wa=xe(()=>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)),Ga={class:"text text-col text-center"},qa={class:"text-h6 text-capitalize"},Qa={class:"mt-2"},Za={class:"d-flex justify-center align-center checkbox-container"},Ja={class:"text-caption"},Xa=R(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(i,{emit:r}){const t=r,n=e.inject(me),a=e.ref(!1),o=e.ref(!1),s=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(m=>navigator.userAgent.match(m)));function l(){t("closeTutorial",a.value)}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-card-title"),v=e.resolveComponent("v-btn"),C=e.resolveComponent("v-divider"),p=e.resolveComponent("v-card-text"),f=e.resolveComponent("v-card-actions"),h=e.resolveComponent("v-card"),y=e.resolveComponent("v-expand-transition"),g=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(h,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(u,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small"},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),_:1}),e.createVNode(p,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(n).getLabel("disclaimerTextShort")),1),e.createVNode(v,{variant:"tonal",size:"small",onClick:m[0]||(m[0]=x=>o.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("learnMore"))+" ",1),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(C,{class:"my-3"}),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("div",Ba,[e.createElementVNode("div",Sa,[Ea,e.createElementVNode("div",xa,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Na,[Ia,e.createElementVNode("div",Da,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Aa,[Fa,e.createElementVNode("div",Ta,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",La,[Ma,e.createElementVNode("div",$a,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),s.value?(e.openBlock(),e.createElementBlock("div",Oa,[e.createElementVNode("div",Ra,[Ua,e.createElementVNode("div",Ha,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",za,[Ya,e.createElementVNode("div",Pa,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ja,[Wa,e.createElementVNode("div",Ga,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(C,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createBlock(h,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(p,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",qa,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),e.createElementVNode("p",Qa,e.toDisplayString(e.unref(n).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",size:"small",onClick:m[1]||(m[1]=x=>o.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Za,[e.createVNode(g,{density:"compact",modelValue:a.value,"onUpdate:modelValue":m[2]||(m[2]=x=>a.value=x),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ja,e.toDisplayString(e.unref(n).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",onClick:m[3]||(m[3]=x=>l()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Ka=i=>(e.pushScopeId("data-v-bd4f66c3"),i=i(),e.popScopeId(),i),er={class:"player-settings-ui"},tr={id:"settings-ui-form"},or={class:"form-inputs"},nr={class:"setting-label"},ar={class:"setting-label"},rr=["max","min","step"],lr={class:"setting-label"},ir={class:"flex-grow-1 flex-shrink-0"},sr=["onUpdate:modelValue"],cr={key:3,"d-block":"",class:"mt-3"},dr={class:"d-flex justify-space-between"},mr={class:"setting-label"},ur={class:"mt-5 d-block",style:{width:"300px"}},pr=Ka(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),fr={class:"d-block",style:{width:"300px"}},hr={class:"form-buttons"},gr=R(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(C(t.initialSettings));e.watch(a,()=>{s()},{deep:!0});const o=e.computed(()=>{let p={};for(const[f,h]of Object.entries(a.value))f==="whitePoint"?p[f]=c(h.value):p[f]=h.value;return p});function s(){n("updateSettings",o.value)}function l(){const p=document.createElement("a");p.href=URL.createObjectURL(new Blob([JSON.stringify(o.value,null,2)]));const f=`player-settings-${Date.now()}.json`;p.download=f,p.style.display="none",document.body.appendChild(p),p.click(),document.body.removeChild(p)}function d(){n("saveSettings",o.value)}function m(){a.value=C(),n("updateSettings",o.value)}function c(p){const f=parseInt(p.substr(1,2),16)/255,h=parseInt(p.substr(3,2),16)/255,y=parseInt(p.substr(5,2),16)/255;return[f,h,y]}function u(p){var f=p.toString(16);return f.length==1?"0"+f:f}function v([p,f,h]){return"#"+u(parseInt((p*255).toString()))+u(parseInt((f*255).toString()))+u(parseInt((h*255).toString()))}function C(p={}){const f=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let h={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:"",...p};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:h.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:h.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:h.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:h.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:h.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:h.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:h.temperature},whitePoint:{label:"White Point",type:"color",value:v(h.whitePoint)},lut:{label:"Lut",type:"lut",items:f.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:h.lut}}}return(p,f)=>{const h=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),x=e.resolveComponent("v-btn"),V=e.resolveComponent("v-select"),F=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",er,[e.createElementVNode("form",tr,[e.createElementVNode("div",or,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(w,B,U)=>(e.openBlock(),e.createElementBlock("div",{key:U,"d-block":""},[w.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,onChange:s,max:w.max,min:w.min,step:w.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",nr,e.toDisplayString(w.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",outlined:"",type:"number",max:w.max,min:w.min,step:w.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),w.type==="boolean"?(e.openBlock(),e.createBlock(g,{key:1,modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",ar,e.toDisplayString(w.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(w.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),w.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:w.max,min:w.min,step:w.step},[e.createElementVNode("div",lr,e.toDisplayString(w.label),1),e.createElementVNode("div",ir,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N=>a.value[B].value=N,type:"color",onChange:s},null,40,sr),[[e.vModelText,a.value[B].value]])]),e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,rr)):e.createCommentVNode("",!0),w.type==="lut"?(e.openBlock(),e.createElementBlock("div",cr,[e.createElementVNode("div",dr,[e.createElementVNode("div",mr,e.toDisplayString(w.label),1),e.createElementVNode("div",null,[e.createVNode(x,{class:"ml-2","x-small":"",onClick:N=>a.value[B].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",ur,[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,items:w.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[pr,e.createElementVNode("div",fr,[e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",hr,[e.createVNode(x,{onClick:f[0]||(f[0]=w=>m())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(x,{class:"ml-2",onClick:f[1]||(f[1]=w=>l())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(F,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(x,{class:"ml-2",onClick:f[2]||(f[2]=w=>d())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(F,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),yr={class:"top-left"},vr={class:"top-right"},Cr={class:"header-slot anchor elevation-5"},kr={id:"moveableBody",class:"body-slot moveable-body anchor d-flex justify-center align-center position-relative"},_r={class:"moveable-footer elevation-5"},wr=R(e.defineComponent({__name:"VMoveable",props:{size:{}},setup(i,{expose:r}){const t=e.ref(void 0),n=e.ref(void 0);r({bodyWidth:t,bodyHeight:n}),e.onMounted(()=>{o(document.getElementById("moveableDiv")),a(document.querySelector("#moveableDiv"))});const a=s=>{new ResizeObserver(()=>{const d=document.getElementById("moveableBody");d&&(t.value=d.clientWidth,n.value=d.clientHeight)}).observe(s)},o=s=>{const l=document.getElementsByClassName("anchor");for(let f=0;f<l.length;f++){const h=l[f];h.addEventListener("touchstart",v,{passive:!1}),h.addEventListener("touchend",p,{passive:!1}),h.addEventListener("mousedown",v,{passive:!1}),h.addEventListener("mouseup",p,{passive:!1})}let d=0,m=0,c=0,u=0;function v(f){f=f||window.event,f.preventDefault();let h=f;f.type==="touchstart"&&(h=f.touches[0]),c=h.clientX,u=h.clientY,document.addEventListener("mouseup",p,{passive:!1}),document.addEventListener("touchend",p,{passive:!1}),document.addEventListener("mousemove",C,{passive:!1}),document.addEventListener("touchmove",C,{passive:!1})}function C(f){f=f||window.event,f.preventDefault();let h=f;f.type==="touchmove"&&(h=f.touches[0]),d=c-h.clientX,m=u-h.clientY,c=h.clientX,u=h.clientY,s.style.top=s.offsetTop-m+"px",s.style.left=s.offsetLeft-d+"px"}function p(){document.removeEventListener("mouseup",p,!1),document.removeEventListener("mousemove",C,!1),document.removeEventListener("touchend",p,!1),document.removeEventListener("touchmove",C,!1)}};return(s,l)=>(e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass([s.size,"sizer rounded"])},[e.createElementVNode("div",yr,[e.renderSlot(s.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",vr,[e.renderSlot(s.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Cr,[e.renderSlot(s.$slots,"header",{},void 0,!0)]),e.createElementVNode("div",kr,[e.renderSlot(s.$slots,"body",{},void 0,!0)]),e.createElementVNode("div",_r,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2))}}),[["__scopeId","data-v-1a87ee81"]]),br={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Vr=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),Br=["transform"],Sr=[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)],Er=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("svg",br,[Vr,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+r.rotation})`},Sr,8,Br)]))}}),xr={class:"minimap-wrapper"},Nr={class:"minimap-container"},ft=R(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{},containerWidth:{},containerHeight:{},fit:{type:Boolean}},setup(i){const r=i,t=e.ref(512),n=e.ref(384),a=e.ref(512),o=e.ref(384),s=e.ref(new Ve.Vector3),l=e.ref(new Ve.Object3D),d=e.ref({}),m=e.ref(1),c=e.ref(),u=t.value/t.value,v=e.computed(()=>{const _=r.containerWidth/r.containerHeight;let k;return _>u?k=r.containerHeight/n.value:k=r.containerWidth/t.value,k}),C=e.computed(()=>r.allCameras),p=e.computed(()=>r.allCameras.find(_=>_.id===r.currentCamera)),f=e.computed(()=>r.rotation),h=e.computed(()=>new Ve.Vector3(r.storey.position.x,r.storey.position.y,r.storey.position.z)),y=e.computed(()=>parseFloat(p.value.floor_vertical_position)),g=e.computed(()=>C.value.map(_=>{const k=_.uposition.split(","),D=new Ve.Vector3(Number(k[0])-h.value.x,0,Number(k[2])-h.value.z);return{..._,...U(s.value,D)}})),x=e.computed(()=>({backgroundImage:`url(${r.backgroundImage})`,backgroundSize:"contain"})),V=e.computed(()=>({transform:`scale(${r.fit?1:v.value*.75}) rotate(${r.transformAngle}deg)`}));e.onMounted(()=>{N(),w(),z();const _=document.getElementById("moveableDiv");_&&(c.value=new ResizeObserver(z).observe(_))}),e.onBeforeUpdate(()=>{N(),w()}),e.onBeforeUnmount(()=>{c.value&&c.value.unobserve(document.getElementById("moveableDiv"))});function F(_){return Ve.MathUtils.degToRad(_)}function w(){l.value.rotation.x=180,l.value.rotation.y=r.storey.rotation.y*-1,d.value={transform:`rotateZ(${l.value.rotation.y}deg) rotateX(${l.value.rotation.x}deg)`}}function B(_){return{top:`${Math.abs(_.top)}%`,left:`${Math.abs(_.left)}%`}}function U(_,k){var D=new Ve.Vector3;const L=D.subVectors(_,k);return{relativePosition:L,left:L.x/a.value*100,top:L.z/o.value*100}}function N(){const _=r.storey.position.y-y.value;o.value=2*(_*Math.tan(F(r.storey.fovY/2))),a.value=512/384*o.value;const k=o.value/2,D=a.value/2,L=new Ve.Vector3(D*-1,0,k*-1);s.value=L}function z(){const _=document.getElementById("moveableDiv");if(!_)return;const k=_.offsetHeight/384*.8,D=_.offsetWidth/512*.8;_.offsetHeight>_.offsetWidth?m.value=D*.5:m.value=k*.9}return(_,k)=>(e.openBlock(),e.createElementBlock("div",xr,[e.createElementVNode("div",Nr,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(V.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(x.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(d.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,D=>(e.openBlock(),e.createElementBlock("div",{key:D.id},[p.value.floorLevel===D.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(B(D))},null,4)):e.createCommentVNode("",!0),e.renderSlot(_.$slots,"default",{id:D.id,camera:D,active:p.value.id===D.id,style:e.normalizeStyle({...B(D),position:"absolute",zIndex:"3"})},()=>[p.value.id===D.id&&r.rotation!==null?(e.openBlock(),e.createBlock(Er,{key:0,class:"rotation-marker-component-base rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...B(D)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)],!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-5cdee9d5"]]),ht=R(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(i){const r=i,t=e.computed(()=>r.rotation+r.transformAngle-90);return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass elevation-5",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(Ee,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-d047dca8"]]),Ir={class:"ss-wrapper"},Dr={class:"slider"},Ar={class:"minimap-sun-slider"},Fr={class:"d-flex flex-column align-center justify-center"},Tr={key:0,class:"time-label"},gt=R(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(new Date().getHours()),o=e.ref(!0),s=e.ref(!0),l=e.ref(""),d=e.ref(new Map),m=e.computed(()=>t.minimapJson.storeys[t.level]),c=e.computed(()=>`${Math.floor(a.value).toString().padStart(2,"0")}:00`),u=e.computed(()=>{if(m.value.sunsimFilesTimeStamps[a.value]){const y=m.value.sunsimFilesTimeStamps[a.value].split(" ");return`${y[0]} ${y[1]}`}return""});e.onMounted(async()=>{l.value=await p(m.value.sunsimFiles[a.value]),n("setBackgroundImage",l.value),s.value=!1;const y=await C(t.minimapJson.storeys);d.value=y,o.value=!1,n("setBackgroundImage",v(t.level,a.value))}),e.watch(a,()=>{const y=v(t.level,a.value);n("setBackgroundImage",y)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",v(t.level,a.value))},{immediate:!0});function v(y,g){return d.value.get(`sunsim${y}_${g}`)?d.value.get(`sunsim${y}_${g}`):""}async function C(y){let g=new Map;for(let x=0;x<y.length;x++){const V=y[x].sunsimFiles;for(let F=0;F<V.length;F++){const w=V[F];try{const B=w,U=w.split("."),N=await p(B);g.set(U[0],N)}catch{continue}}}return g}async function p(y){const x=await(await fetch(Q(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),V=await h(x);return f(V)}function f(y){return"data:image/jpeg;base64,"+y}async function h(y){return new Promise((g,x)=>{const V=new FileReader;V.onload=()=>{const F=V.result.split(",")[1];g(F)},V.onerror=x,V.readAsDataURL(y)})}return(y,g)=>{const x=e.resolveComponent("v-progress-linear"),V=e.resolveComponent("v-icon"),F=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Ir,[e.createElementVNode("div",Dr,[e.createElementVNode("div",Ar,[o.value?(e.openBlock(),e.createBlock(x,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(F,{key:1,modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0,"thumb-label":"always"},{prepend:e.withCtx(()=>[e.createElementVNode("div",Fr,[e.createVNode(V,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),e.createElementVNode("span",null,e.toDisplayString(u.value),1)])]),"thumb-label":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["modelValue"]))]),o.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tr))])])}}}),[["__scopeId","data-v-52f122f2"]]),Lr=i=>(e.pushScopeId("data-v-578a7915"),i=i(),e.popScopeId(),i),Mr={class:"left"},$r={class:"right"},Or=Lr(()=>e.createElementVNode("div",{class:"d-flex justify-space-between pa-1"},[e.createElementVNode("div",{class:"center"}," ")],-1)),yt=R(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(i,{emit:r}){const t=e.ref(null),n=i,a=r,o=e.ref(),s=e.ref(0),l=e.computed(()=>n.minimapJson.storeys[n.level]),d=e.ref(0);e.watch(()=>n.apartmentJson,()=>{d.value=d.value+1}),e.watch(l,()=>{o.value=l.value.defaultSunsimFile?`/${n.apartmentJson.type}/${n.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${n.apartmentJson.type}/${n.apartmentJson.id}/minimap/${l.value.defaultSunsimFile}`},{immediate:!0,once:!0});const m=e.computed(()=>{let h=1;return s.value!==0&&(Math.abs(s.value)%180===0?h=1:h=-1),C.value==="small"&&(h=.6),h});function c(h){o.value=h}const u=["big","bigger","small"];function v(){const y=(u.indexOf(C.value)+1)%u.length;C.value=u[y]}const C=e.ref("big");function p(){s.value=s.value+90}const f=()=>{a("close")};return(h,y)=>{const g=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(wr,{ref_key:"minimapMoveable",ref:t,size:C.value},{"top-left":e.withCtx(()=>[e.createElementVNode("div",Mr,[e.createVNode(g,{icon:"mdi-window-close",size:"x-small",onClick:f})])]),"top-right":e.withCtx(()=>[e.createElementVNode("div",$r,[e.createVNode(g,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:e.withModifiers(p,["stop"]),title:"Rotate"}),e.createVNode(g,{class:"resize-icon ml-1",icon:"mdi-image-size-select-small",size:"x-small",onClick:v,title:"Resize"})])]),header:e.withCtx(()=>[Or]),body:e.withCtx(()=>[e.createVNode(ht,{scale:m.value,rotation:l.value.rotation.y,"transform-angle":s.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(ft,{"transform-angle":s.value,"all-cameras":h.apartmentJson.cameras,"background-image":o.value,rotation:h.rotation,"current-camera":h.currentCamera,storey:l.value,containerWidth:t.value&&t.value.bodyWidth||512,containerHeight:t.value&&t.value.bodyHeight||384},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey","containerWidth","containerHeight"])])]),footer:e.withCtx(()=>[(e.openBlock(),e.createBlock(gt,{key:d.value,"cdn-file-resolver":n.cdnFileResolver,"minimap-json":n.minimapJson,"apartment-json":n.apartmentJson,level:n.level,onSetBackgroundImage:c},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"]))]),_:1},8,["size"])}}}),[["__scopeId","data-v-578a7915"]]);function He(i){const r=i*60,t=Math.floor(r/60),n=r%60;return`${t.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}const Rr={class:"d-flex align-center"},Ur={class:"d-block mr-1"},Hr={class:"small"},zr={class:"small"},vt=R(e.defineComponent({__name:"VSunsimSlider",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange","toggleSunStudy"],setup(i,{emit:r}){const t=i,{currentDay:n,currentTime:a,disabled:o}=e.toRefs(t),s=r,l=e.ref(a.value.timeInHours);return e.watch(a,()=>{l.value=a.value.timeInHours}),e.watch(l,()=>{s("onTimeChange",n.value.timeSamples.find(d=>d.timeInHours===l.value))},{immediate:!0}),(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-slider"),v=e.resolveComponent("v-field"),C=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("div",Ur,[e.createVNode(v,{class:"ss-slider-field",style:{},variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(n).timeSamples.length>1?(e.openBlock(),e.createBlock(u,{key:0,class:"pa-2 pr-2",modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=p=>l.value=p),min:e.unref(n).startTime,max:e.unref(n).endTime,step:e.unref(n).interval,disabled:!!e.unref(o),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(c,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Hr,e.toDisplayString(e.unref(He)(l.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(c,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",zr,e.toDisplayString(e.unref(He)(l.value)),1)],64))]),_:1})]),e.createElementVNode("div",null,[e.createVNode(C,{size:"small",class:"sun-study-toggle text-capitalize rounded-xl",icon:"mdi-close",onClick:m[1]||(m[1]=p=>s("toggleSunStudy"))})])])}}}),[["__scopeId","data-v-c06c753d"]]),Yr=e.defineComponent({__name:"VSunStudyToggle",props:{displaySunsim:{type:Boolean},showUI:{type:Boolean}},emits:["toggleSunStudy"],setup(i,{emit:r}){const t=r,n=e.inject(me);return(a,o)=>{const s=e.resolveComponent("v-btn");return!a.displaySunsim&&a.showUI?(e.openBlock(),e.createBlock(s,{key:0,size:"small",varient:"tonal",prependIcon:"mdi-white-balance-sunny",class:"sun-study-toggle text-capitalize rounded-xl",onClick:o[0]||(o[0]=l=>t("toggleSunStudy"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("openSunStudy")),1)]),_:1})):e.createCommentVNode("",!0)}}}),Ct=R(e.defineComponent({__name:"VAutoplay",props:{autoplayStatus:{type:Boolean}},emits:["toggleAutoPlay"],setup(i,{emit:r}){const t=r,n=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));return(a,o)=>{const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(l,{size:"x-small",class:e.normalizeClass(["autoplay-btn",{mobile:n.value,"mt-1":n.value,"mx-1":n.value}]),onClick:o[0]||(o[0]=d=>t("toggleAutoPlay"))},{default:e.withCtx(()=>[e.createVNode(s,{icon:a.autoplayStatus?"mdi-pause":"mdi-play",size:"x-large",class:"pa-0 ma-0"},null,8,["icon"])]),_:1},8,["class"])}}}),[["__scopeId","data-v-7fd2b4f3"]]),Pr={key:0,class:"sun-icon-wrapper"},jr=37,Wr=39,ze=R(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{},cameraHasSunStudy:{type:Function,default:i=>!1}},emits:["previous","next","goto"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(0),o=e.computed({get(){return t.active},set(m){a.value=m}}),s=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",l)});function l(m){switch(m.keyCode){case m.keyCode===jr:n("previous");break;case m.keyCode===Wr:n("next");break;default:return}}function d(m,c){c(),n("goto",m)}return(m,c)=>{const u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-img"),C=e.resolveComponent("v-icon"),p=e.resolveComponent("v-card"),f=e.resolveComponent("v-slide-group-item"),h=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["d-flex align-center justify-center",{mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0}])},[e.renderSlot(m.$slots,"before",{},void 0,!0),e.createVNode(h,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=y=>o.value=y),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":!s.value,"center-active":"",mandatory:""},{prev:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:c[0]||(c[0]=y=>n("previous"))},null,8,["class"]))]),next:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:c[1]||(c[1]=y=>n("next"))},null,8,["class"]))]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.thumbnails,y=>(e.openBlock(),e.createBlock(f,{key:y.id},{default:e.withCtx(({toggle:g,selectedClass:x})=>[e.createVNode(p,{class:e.normalizeClass(["position-relative",[s.value?"ma-0":"ma-1",x,"single-waypoint"]]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:V=>d(y.id,g)},{default:e.withCtx(()=>[e.createVNode(v,{cover:"","aspect-ratio":1,src:y.thumbnailUrl},null,8,["src"]),t.cameraHasSunStudy(y.id)?(e.openBlock(),e.createElementBlock("div",Pr,[e.createVNode(C,{class:"sun-icon",icon:"mdi-white-balance-sunny"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class","show-arrows"]),e.renderSlot(m.$slots,"after",{},void 0,!0)],2)}}}),[["__scopeId","data-v-9cc758dc"]]),Gr={id:"share-btns-wrapper",class:"text-center"},kt=R(e.defineComponent({__name:"VSocialShare",setup(i){const r=e.inject(me),t=e.ref(!1),n=e.ref(location.href);function a(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function o(){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 l(){navigator.clipboard.writeText(location.href)}return(d,m)=>{const c=e.resolveComponent("v-btn"),u=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),C=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-card"),y=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:m[0]||(m[0]=x=>t.value=!t.value)},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("share")),1)]),_:1}),e.createVNode(y,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":m[2]||(m[2]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(p,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:m[1]||(m[1]=g=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r).getLabel("share")),1)]),_:1}),e.createVNode(C)]),_:1}),e.createVNode(f,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Gr,[e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{onClick:a}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,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(r).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:l},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("copyLink")),1)]),_:1}),e.createVNode(C)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),qr={class:"static-image-wrapper"},Qr=R(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(i){const r=i,t=e.computed(()=>({"background-image":`url("${encodeURI(r.image)}")`}));return(n,a)=>(e.openBlock(),e.createElementBlock("div",qr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Zr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},_t=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(i,{emit:r}){const t=r;return(n,a)=>{const o=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Zr,[e.createVNode(o,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:a[0]||(a[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class wt{constructor(r,t){ee(this,"_doc");ee(this,"_elemId");ee(this,"_state");this._doc=r,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const r=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();r.forEach(n=>{t.addEventListener(n,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const r=this._getElement(),t=r.requestFullscreen||r.webkitRequestFullscreen||r.mozRequestFullscreen||r.msRequestFullscreen;t&&t.apply(r)}_exit(){const r=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;r&&r.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const r=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=r}}const Jr={key:0,class:"player-error"},Xr={class:"player-and-components-wrapper"},Kr={key:3,class:"settings-panel"},el={key:0,class:"compass-wrapper"},tl={key:1,class:"btn-placeholder mr-2"},ol={class:"btn-placeholder mr-2"},nl={key:2,class:"btn-placeholder mr-2"},al={class:"d-flex flex-column align-end"},rl={key:0,class:"d-flex align-center flex-column sun-study mt-2"},ll={key:2,class:"render-version"},bt=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},version:{},showVersion:{type:Boolean,default:!0},enableAutoplay:{type:Boolean,default:!1}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onSunsimUpdate","onError"],setup(i,{expose:r,emit:t}){const n=i,{cdnFileResolver:a,apartmentId:o,defaultInteriorId:s,validInteriorIds:l,displayViewModeSwitch:d,i18nConfig:m,showCarousel:c,showTimeOfDay:u,showCompass:v,showFullScreen:C,showSnapshot:p,showShare:f,showInteriorOptions:h,showMiniMap:y,showFloorLevel:g,defaultWaypointIndex:x,defaultViewMode:V,mouseSensitivity:F,adminMode:w,playerSettings:B,hasMarkersJson:U,dynamicMarkers:N,version:z,showVersion:_}=e.toRefs(n),k=t;r({updateSelectedInterior:At,takeSnapshot:Lt,setCurrentCamera:je,getCurrentRotation:ii,setCurrentRotation:si,getCurrentFov:ci,setCurrentFov:di,loadDynamicMarkers:Ci,screenToWorld:ki,clearCurrentMarkerLayer:vi});const D=e.ref(!1),L=e.ref(!1),J=e.ref(!1),I=e.ref(),S=e.ref(),M=e.ref(),$=e.ref(),Y=e.ref(),G=e.ref(0),W=e.ref(),ne=e.ref(),P=e.ref(),se=e.ref(0),de=e.ref(0),Ce=e.ref(0),ae=e.ref(!1),le=e.ref(!1),ue=e.ref(),ce=e.ref(!1),T=e.ref(!1),H=e.ref(new wt(document,"player-wrapper")),te=e.ref(),we=e.computed(()=>{if(S.value){const b=S.value.cameras.map(j=>j.floorLevel);let A=[...new Set(b)];return A=A.sort(),A}else return[]}),pe=e.computed(()=>{let b=0;if(S.value){const A=S.value.cameras.map(Le=>Le.floorLevel);let j=[...new Set(A)];j=j.sort();const re=j.findIndex(Le=>Le===de.value);re!==-1&&(b=re)}return b}),he=e.computed(()=>Oe.value.findIndex(b=>b.archetypeID===W.value)),oe=e.computed(()=>M.value?M.value.cameras.map(b=>({...b,thumbnailUrl:We(`/${W.value}/${o.value}/thumbs/200/${b.id}.jpg`),imageUrl:We(`/${W.value}/${o.value}/images/1600/${b.id}.jpg`)})):[]),ke=e.computed(()=>!oe.value||!oe.value[G.value]?"":oe.value[G.value].imageUrl),Oe=e.computed(()=>{let b=[];return I.value&&(b=I.value.archetypes),l.value.length?b.filter(A=>l.value.includes(A.archetypeID)):b}),Ye=e.computed(()=>M.value?Oe.value.map(b=>{var j;const A=(j=oe.value[G.value])==null?void 0:j.id;return{...b,url:We(`/${b.archetypeID}/${o.value}/thumbs/200/${A}.jpg`)}}):[]),E=e.computed(()=>{if($.value&&$.value.storeys&&pe.value in $.value.storeys)return $.value.storeys[pe.value]}),O=e.computed(()=>S.value&&S.value.timeInHours),Z=e.computed(()=>{if(S.value&&S.value.timeInHours&&u.value)return Bi(S.value.timeInHours)});e.provide(me,m.value?new fe(m.value):new fe);const K=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),X=e.computed(()=>K.value?"platform-mobile":"platform-desktop"),ge=e.computed(()=>{const b=Q(a.value,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});e.watch(s,()=>{s.value&&(W.value=s.value)}),e.watch([a,o],async()=>{try{ne.value=void 0,await oi(),ai(),await ni(),H.value.setup(),ri()}catch(b){J.value=!0,k("onError",b)}},{immediate:!0}),e.watch(V,()=>{V.value==="virtualTour"&&(ae.value=!1),V.value==="slideShow"&&(ae.value=!0,T.value=!0)},{immediate:!0}),e.watch(ce,()=>{if(ce.value){T.value=!1;const b=Te(P.value);ue.value=b[0].timeSamples.find(A=>A.timeInHours===b[0].defaultHour)}else T.value=!0,Y.value.unloadSunSim()}),e.onMounted(async()=>{try{ge.value?(D.value=!1,T.value=!0):setTimeout(()=>{D.value=!0},1e3)}catch(b){J.value=!0,k("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",tt)});function Re(b=!1){T.value=!0,D.value=!1,b&&ye()}function ye(){const b=Q(a.value,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")}async function oi(){I.value=await li()}async function ni(){var b;if(S.value=await Nt(W.value,o.value),S.value&&(ne.value=(b=S.value.cameras[0])==null?void 0:b.id),M.value=await It(W.value,o.value),M.value){const A=x.value!==null?x.value:0;G.value=A,ne.value=M.value.cameras[A].id,P.value=M.value.cameras[A].id}y.value&&($.value=await Dt(W.value,o.value))}function ai(){let b=s.value;b||(b=I.value.defaultArchetypeID),l.value.length||!l.value.includes(b)?b=l.value[0]:console.warn("illegal interior id",b,l),b||(b=I.value.archetypes[0].archetypeID),W.value=b}function ri(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",A,{passive:!1});function A(j){j.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",tt,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",tt)},{passive:!1})}function tt(b){b.preventDefault(),window.scrollBy(0,0)}async function li(){try{return await Ge("/config.json")}catch(b){console.error("Error loading config.json - ",Q(a.value,"/config.json"),b);return}}async function Nt(b,A){try{return await Ge(`/${b}/${A}/apartment.json`)}catch(j){console.error("Error loading apartment.json - ",`/${b}/${A}/apartment.json`,j);return}}async function It(b,A){try{return await Ge(`/${b}/${A}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${A}/thumbs.json`);return}}async function Dt(b,A){try{return await Ge(`/${b}/${A}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${A}/minimap/minimap.json`);return}}function ii(){return Y.value.getCameraRotation()}function si(b){return Y.value.setCameraRotation(b)}function ci(){return Y.value.getCameraFov()}function di(b){return Y.value.setCameraFov(b)}function Pe(){let b=G.value+1;b>=oe.value.length&&(b=0),G.value=b,je(oe.value[G.value].id)}function ot(){let b=G.value-1;b<0&&(b=oe.value.length-1),G.value=b,je(oe.value[G.value].id)}function nt(b,A=!0){let j=oe.value.findIndex(re=>re.id===b);j!=-1&&(G.value=j,A&&je(b))}function je(b){ce.value=!1,ne.value=b}function At(b){W.value=b,mi(),k("onInteriorUpdate",b),k("onCameraUpdate",P.value,S.value)}async function mi(){S.value=await Nt(W.value,o.value),M.value=await It(W.value,o.value),y.value&&($.value=await Dt(W.value,o.value))}function ui(b){P.value=b,P.value&&(nt(P.value,!1),k("onCameraUpdate",P.value,S.value))}const Ne=e.computed(()=>b=>{const A=Te(b);return!A||!A[0]||!A[0].timeSamples?!1:A[0].timeSamples.length>1}),Te=b=>{const A=S.value.cameras.find(j=>j.id===b);return A==null?void 0:A.sunsimDayOfYear};function pi(b){k("onSunsimUpdate",b)}function Ft(b){Y.value.loadSunSim(b.timeInHours)}function fi(b){se.value=b}function Tt(b){de.value=b}function hi(b){Ce.value=b}function gi(b,A){}function yi(b){Y.value=b,Y.value&&(B.value&&Y.value.updateSettings(B.value),U.value?Y.value.loadMarkersJson():N.value&&Y.value.loadDynamicMarkers(N.value))}function vi(){Y.value.clearCurrentMarkerLayer()}function Ci(b){Y.value.loadDynamicMarkers(b)}function ki(b){return Y.value.screenToWorld(b)}function _i(){H.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function wi(){ae.value=!ae.value}async function Lt(){const b=180/Math.PI,A=await Y.value.takePhoto(),j=Y.value.getRotationEuler(),re=Y.value.getCurrentCamera(),Le=new Oo(A,re),Si=[j.x*-b,j.y*-b,j.z*b];return k("onSnapshot",Le,Si),Le}function We(b){let A=Q(a.value,b);return A&&w.value&&!A.startsWith("blob:")&&(A=A+`?v=${Date.now()}`),A}async function Ge(b){const A=We(b);try{return(await ve.get(A)).data}catch(j){throw new Error(j)}}function bi(b){Y.value.updateSettings(b)}function Vi(b){k("saveSettings",b)}function Bi(b){if(b===void 0)return null;const A=Math.floor(b),j=Math.floor((A-b)*60);return{hours:A,minutes:j}}const be=e.ref(!1),Mt=e.ref(null),at=e.ref(1);function $t(){if(be.value){clearInterval(Mt.value),be.value=!1,Y.value.toggleAutoRotate();return}be.value=!0,Y.value.toggleAutoRotate(),Mt.value=setInterval(()=>{at.value=1*at.value,Y.value.setAutoRotateSpeed(at.value),Pe()},5e3)}return(b,A)=>{const j=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[X.value]])},[J.value?(e.openBlock(),e.createElementBlock("div",Jr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",Xr,[!H.value.isActive&&$.value&&P.value&&E.value&&W.value&&le.value?(e.openBlock(),e.createBlock(yt,{key:0,"cdn-file-resolver":e.unref(a),"apartment-json":S.value,level:pe.value,"minimap-json":$.value,rotation:se.value,"current-camera":P.value,onClose:A[0]||(A[0]=re=>le.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),W.value&&ne.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[X.value]])},[e.createVNode(ea,{ref_key:"vPlayerInstance",ref:te,"cdn-file-resolver":e.unref(a),style:e.normalizeStyle({zIndex:ae.value?1:2}),"show-static-image":ae.value,"current-camera-id":ne.value,"mouse-sensitivity":e.unref(F),"interior-id":W.value,"apartment-id":e.unref(o),onNewCameraCallback:ui,onNewRotationCallback:fi,onNewFloorCallback:Tt,onNewFovCallback:hi,onNewSizeCallback:gi,onSunsimCallback:pi,onPlayerApiCallback:yi},{"slideshow-image":e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(Qr,{key:0,image:ke.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[e.unref(w)?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:A[1]||(A[1]=re=>L.value=!L.value)})):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(j,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:A[2]||(A[2]=re=>D.value=!D.value)},null,512),[[e.vShow,T.value]]),$.value&&ne.value&&E.value?e.withDirectives((e.openBlock(),e.createBlock(j,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:A[3]||(A[3]=re=>le.value=!le.value)},null,512)),[[e.vShow,T.value]]):e.createCommentVNode("",!0),T.value&&e.unref(g)&&we.value.length>1?(e.openBlock(),e.createBlock(ra,{key:2,level:de.value,"floor-levels":we.value,onLevel:Tt},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),e.unref(w)&&L.value?(e.openBlock(),e.createElementBlock("div",Kr,[e.createVNode(gr,{"initial-settings":e.unref(B),onUpdateSettings:bi,onSaveSettings:Vi},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[S.value&&e.unref(v)?e.withDirectives((e.openBlock(),e.createElementBlock("div",el,[e.createVNode(ha,{rotation:se.value},null,8,["rotation"])],512)),[[e.vShow,T.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:A[4]||(A[4]=re=>le.value=!le.value)},[T.value&&S.value&&O.value&&e.unref(u)?(e.openBlock(),e.createBlock(ka,{key:0,hours:Z.value.hours,minutes:Z.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:$.value&&P.value&&E.value?"pointer":"default"})},null,8,["hours","minutes","style"])):e.createCommentVNode("",!0)])]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:ot})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[D.value?(e.openBlock(),e.createBlock(Xa,{key:0,onCloseTutorial:A[5]||(A[5]=re=>Re(re))})):e.createCommentVNode("",!0),H.value.isActive&&$.value&&P.value&&E.value&&le.value?(e.openBlock(),e.createBlock(yt,{key:1,"cdn-file-resolver":e.unref(a),"apartment-json":S.value,"minimap-json":$.value,rotation:se.value,"current-camera":P.value,level:pe.value,onClose:A[6]||(A[6]=re=>le.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(()=>[ae.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:Pe})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[e.unref(C)?(e.openBlock(),e.createBlock(_t,{key:0,"is-full-screen":H.value.isActive,class:"btn-fullscreen",onToggleFullscreen:_i},null,8,["is-full-screen"])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",tl,[e.createVNode(j,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Lt})])):e.createCommentVNode("",!0),e.createElementVNode("div",ol,[e.unref(d)&&T.value?(e.openBlock(),e.createBlock(ba,{key:0,"show-static-image":ae.value,onToggle:wi},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),T.value&&e.unref(f)&&!H.value.isActive?(e.openBlock(),e.createElementBlock("div",nl,[e.createVNode(kt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["d-flex justify-center",{"mb-2":!K.value}])},[!be.value&&Ne.value(P.value)?(e.openBlock(),e.createBlock(Yr,{key:0,class:"ml-2",displaySunsim:ce.value,showUI:T.value,onToggleSunStudy:A[7]||(A[7]=re=>ce.value=!ce.value)},null,8,["displaySunsim","showUI"])):e.createCommentVNode("",!0)],2),!K.value&&!be.value&&ne.value&&ce.value&&Ne.value(P.value)&&Te(P.value)[0]&&ue.value?(e.openBlock(),e.createBlock(vt,{key:0,class:"sunsim-slider-desktop","current-day":Ne.value(P.value)?Te(P.value)[0]:void 0,"current-time":ue.value,onOnTimeChange:Ft,onToggleSunStudy:A[8]||(A[8]=re=>ce.value=!ce.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0),!K.value&&T.value&&e.unref(c)?(e.openBlock(),e.createBlock(ze,{key:1,class:e.normalizeClass([H.value.isActive?"full-screen":""]),thumbnails:oe.value,active:G.value,cameraHasSunStudy:Ne.value,onNext:Pe,onPrevious:ot,onGoto:nt},{before:e.withCtx(()=>[b.enableAutoplay&&T.value&&!K.value?(e.openBlock(),e.createBlock(Ct,{key:0,autoplayStatus:be.value,onToggleAutoPlay:A[9]||(A[9]=re=>$t())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["class","thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)])]),_:1})]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",al,[T.value&&e.unref(h)&&Ye.value?(e.openBlock(),e.createBlock(ua,{key:0,"cdn-file-resolver":e.unref(a),"available-archetypes":Ye.value,"selected-index":he.value,onSelectInterior:At},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.unref(c)&&M.value&&K.value&&T.value?(e.openBlock(),e.createBlock(ze,{key:0,class:"waypoint-carousel below-player",thumbnails:oe.value,active:G.value,cameraHasSunStudy:Ne.value,onNext:Pe,onPrevious:ot,onGoto:nt},{before:e.withCtx(()=>[b.enableAutoplay&&T.value?(e.openBlock(),e.createBlock(Ct,{key:0,autoplayStatus:be.value,onToggleAutoPlay:A[10]||(A[10]=re=>$t())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)]),_:1}),K.value?(e.openBlock(),e.createElementBlock("div",rl,[!be.value&&ne.value&&ce.value&&Ne.value(P.value)&&Te(P.value)[0]&&ue.value?(e.openBlock(),e.createBlock(vt,{key:0,class:"mt-1","current-day":Ne.value(P.value)?Te(P.value)[0]:void 0,"current-time":ue.value,onOnTimeChange:Ft,onToggleSunStudy:A[11]||(A[11]=re=>ce.value=!ce.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(z)&&e.unref(_)?(e.openBlock(),e.createElementBlock("div",ll," version: "+e.toDisplayString(e.unref(z)),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-8fc80ea7"]]),il={id:"player-wrapper"},sl={id:"player-sizer"},cl={class:"player-control",id:"controls-top-left"},dl={class:"player-control",id:"controls-top-center"},ml={class:"player-control",id:"controls-top-right"},ul={class:"player-control",id:"controls-center-left"},pl={class:"player-control",id:"controls-center-center"},fl={class:"player-control",id:"controls-center-right"},hl={class:"player-control",id:"controls-bottom-left"},gl={class:"player-control",id:"controls-bottom-center"},yl={class:"player-control",id:"controls-bottom-right"},vl=R(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(i,{emit:r}){return(t,n)=>(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",sl,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",cl,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",dl,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",ml,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",ul,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",pl,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",fl,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",hl,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",gl,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",yl,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Cl={class:"virtual-tour-wrapper"},kl={class:"player-and-components-wrapper"},_l={class:"mss-image"},wl={key:1,class:"btn-placeholder"},Vt=R(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(i){const r=i;e.provide(me,r.i18nConfig?new fe(r.i18nConfig):new fe);const t=e.ref(0),n=e.ref(new wt(document,"player-wrapper")),a=e.computed(()=>r.images.map((c,u)=>({id:`image-${u}`,thumbnailUrl:c}))),o=e.computed(()=>a.value[t.value]);e.onMounted(()=>{n.value.setup()});function s(){n.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function l(){let c=t.value+1;c>=a.value.length&&(c=0),t.value=c}function d(){let c=t.value-1;c<0&&(c=a.value.length-1),t.value=c}function m(c,u=!0){let v=a.value.findIndex(C=>C.id===c);v!=-1&&(t.value=v)}return(c,u)=>{const v=e.resolveComponent("v-img"),C=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",kl,[e.createElementVNode("div",null,[e.createVNode(vl,{"is-full-screen":n.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",_l,[e.createVNode(v,{src:o.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(()=>[a.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:d})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[a.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:l})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[c.showFullScreen?(e.openBlock(),e.createBlock(_t,{key:0,"is-full-screen":n.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),c.showShare?(e.openBlock(),e.createElementBlock("div",wl,[e.createVNode(kt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[n.value.isActive&&a.value.length>1?(e.openBlock(),e.createBlock(ze,{key:0,class:e.normalizeClass([n.value.isActive?"full-screen":""]),thumbnails:a.value,active:t.value,onNext:l,onPrevious:d,onGoto:m},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),a.value.length>1?(e.openBlock(),e.createBlock(ze,{key:0,thumbnails:a.value,active:t.value,onNext:l,onPrevious:d,onGoto:m},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),bl=R(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},currentCamera:{},level:{},rotation:{},hideCompass:{type:Boolean},hideSlider:{type:Boolean},compassScale:{}},emits:["apartmentJsonLoaded","minimapJsonLoaded","cameraSet"],setup(i,{emit:r}){const t=i,n=e.toRefs(t),a=r,o=e.ref(),s=e.ref(),l=e.ref(),d=e.ref(0),m=e.ref(),c=e.ref(1),u=e.computed(()=>n.currentCamera.value?n.currentCamera.value:o.value?o.value.cameras[0].id:null),v=e.computed(()=>({transformOrigin:"top left",transform:`scale(${c.value})`}));e.watch(m,()=>{m.value&&new ResizeObserver(([y])=>{const g=y.target.parentElement,x=g.parentElement;c.value=x.clientWidth/512,g.style.height=`${y.contentRect.height*c.value}px`}).observe(m.value)}),e.watch(u,()=>{a("cameraSet",u.value)});const C=e.computed(()=>{const y=Q(n.cdnFileResolver.value,"").replace(`/${o.value.type}/${o.value.id}`,"");return g=>`${y}${g}`}),p=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.storeys[n.level.value||0]});e.watch(n.cdnFileResolver,async()=>{o.value=await(await fetch(Q(n.cdnFileResolver.value,"/apartment.json"))).json(),a("apartmentJsonLoaded",o.value),s.value=await(await fetch(Q(n.cdnFileResolver.value,"/minimap/minimap.json"))).json(),a("minimapJsonLoaded",s.value)},{immediate:!0}),e.watch([p,n.cdnFileResolver],()=>{n.cdnFileResolver.value&&p.value&&(l.value=p.value.defaultSunsimFile?Q(n.cdnFileResolver.value,"/minimap/sunsim0_13.jpg"):Q(n.cdnFileResolver.value,`/minimap/${p.value.defaultSunsimFile}`))},{immediate:!0});function f(h){l.value=h}return(h,y)=>{const g=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createBlock(g,{loading:!o.value||!s.value},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{style:e.normalizeStyle({...v.value,position:"relative"}),ref_key:"fitContainer",ref:m},[h.hideCompass!==!0?(e.openBlock(),e.createBlock(ht,{key:0,scale:h.compassScale||1,rotation:p.value.rotation.y,"transform-angle":d.value},null,8,["scale","rotation","transform-angle"])):e.createCommentVNode("",!0),e.createVNode(ft,{"transform-angle":d.value,"all-cameras":o.value.cameras,"background-image":l.value,rotation:h.rotation||0,"current-camera":u.value,storey:p.value,containerWidth:512,containerHeight:384,fit:""},{default:e.withCtx(({id:x,camera:V,active:F,style:w})=>[e.renderSlot(h.$slots,"default",{id:x,camera:V,active:F,style:e.normalizeStyle(w)},void 0,!0)]),_:3},8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"]),h.hideSlider!==!0?(e.openBlock(),e.createBlock(gt,{key:1,"cdn-file-resolver":C.value,"minimap-json":s.value,"apartment-json":o.value,level:h.level||0,onSetBackgroundImage:f},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])):e.createCommentVNode("",!0)],4)])]),_:3},8,["loading"])}}}),[["__scopeId","data-v-8077dfb5"]]),Vl=["src"],Bl=R(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,{timeSampleData:t,cdnFileResolver:n,currentTime:a}=e.toRefs(r),o=e.ref(),s=e.inject("registerImage"),l=e.inject("completeImage");e.watch(o,()=>{o.value&&(s(o.value),o.value.onload=()=>{l(o.value)},o.value.onerror=()=>{l(o.value)})});const d=e.computed(()=>Q(n.value,t.value.filename));return(m,c)=>(e.openBlock(),e.createElementBlock("img",{ref_key:"image",ref:o,style:e.normalizeStyle({visibility:e.unref(a)&&e.unref(t)===e.unref(a)?"visible":"hidden"}),src:d.value},null,12,Vl))}}),[["__scopeId","data-v-c4a08195"]]),Sl=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(i){const r=i,{dayData:t,cdnFileResolver:n,currentTime:a}=e.toRefs(r);return(o,s)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,(l,d)=>(e.openBlock(),e.createBlock(Bl,{key:d,"time-sample-data":l,"cdn-file-resolver":e.unref(n),"current-time":e.unref(a)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),El=["src"],xl=R(e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(i){const r=i,{cameraData:t,cdnFileResolver:n,currentCamera:a,currentTime:o}=e.toRefs(r),s=e.ref(),l=e.inject("registerImage"),d=e.inject("completeImage");e.watch(s,()=>{s.value&&(l(s.value),s.value.onload=()=>{d(s.value)},s.value.onerror=()=>{d(s.value)})});const m=e.computed(()=>Q(n.value,t.value.defaultFilename));return(c,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(t).sunsimDayOfYear?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).sunsimDayOfYear,(v,C)=>(e.openBlock(),e.createBlock(Sl,{key:C,"day-data":v,"cdn-file-resolver":e.unref(n),"current-day":c.currentDay,"current-time":e.unref(o)},null,8,["day-data","cdn-file-resolver","current-day","current-time"]))),128)):e.createCommentVNode("",!0),e.createElementVNode("img",{ref_key:"image",ref:s,style:e.normalizeStyle({visibility:e.unref(a)===e.unref(t)?"visible":"hidden"}),src:m.value},null,12,El)],64))}}),[["__scopeId","data-v-164572be"]]),Nl=["src"],Il=R(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(i){const r=i,{transitionData:t,cdnFileResolver:n,currentTransition:a}=e.toRefs(r),o=e.ref(),s=e.inject("registerImage"),l=e.inject("completeImage");e.watch(o,()=>{o.value&&(s(o.value),o.value.onload=()=>{l(o.value)},o.value.onerror=()=>{l(o.value)})});const d=e.computed(()=>Q(n.value,t.value.filename));return(m,c)=>(e.openBlock(),e.createElementBlock("img",{ref_key:"image",ref:o,style:e.normalizeStyle({visibility:e.unref(t)===e.unref(a)?"visible":"hidden"}),src:d.value},null,12,Nl))}}),[["__scopeId","data-v-d592c198"]]);function Bt(i){const r=new Date(0);return r.setUTCDate(i),r.toLocaleString("en-no",{month:"short",day:"numeric"})}const Dl={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},Al=R(e.defineComponent({__name:"VStructureChooserUiDayButton",props:{isMobileSized:{type:Boolean},currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,currentCamera:a,currentDay:o,disabled:s}=e.toRefs(t),l=r,d=e.ref(o.value.dayOfYear);return e.watch(o,()=>{d.value=o.value.dayOfYear}),e.watch(d,()=>{l("onDayChange",a.value.sunsimDayOfYear.find(m=>m.dayOfYear===d.value))}),(m,c)=>{const u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-field"),C=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu");return e.unref(a).sunsimDayOfYear&&e.unref(a).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",Dl,[e.createVNode(h,null,{activator:e.withCtx(({props:y})=>[e.createVNode(v,{variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.createVNode(u,e.mergeProps({variant:"text",rounded:"",flat:"",readonly:e.unref(a).sunsimDayOfYear.length===1,"prepend-icon":"mdi-calendar-blank","append-icon":e.unref(a).sunsimDayOfYear.length>1?"mdi-menu-down":void 0,disabled:e.unref(s),size:e.unref(n)?"small":void 0},y),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Bt)(d.value)),1)]),_:2},1040,["readonly","append-icon","disabled","size"])]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a).sunsimDayOfYear,(y,g)=>(e.openBlock(),e.createBlock(p,{key:g,value:g,onClick:x=>d.value=y.dayOfYear},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Bt)(y.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-743f5faf"]]),Fl={class:"still-camera-thumbnails-wrapper d-flex justify-center"},Tl=["onClick"],Ll={key:0,class:"camera-name text-caption text-capitalize"},Ml={key:1,class:"icon-wrapper"},$l=R(e.defineComponent({__name:"VStructureChooserUiCameraThumbnails",props:{isMobileSized:{type:Boolean},stillCameras:{},currentCamera:{},cdnFileResolver:{type:[String,Function]},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,stillCameras:a,currentCamera:o,cdnFileResolver:s,disabled:l}=e.toRefs(t),d=e.ref(o.value),m=r;e.watch(o,()=>{d.value=o.value},{immediate:!0}),e.watch(d,()=>{m("onCameraChange",a.value.find(u=>u===d.value))});function c(u){l.value||(d.value=u)}return(u,v)=>{const C=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-flex":!0,"justify-center":!e.unref(n),"align-end":!e.unref(n),"justify-end":e.unref(n),mobile:e.unref(n),disabled:e.unref(l),enabled:!e.unref(l)})},[e.createElementVNode("div",Fl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(["still-camera-image d-flex flex-column flex-reverse align-center elevation-2",{"active-camera":p===d.value}]),onClick:h=>c(p)},[p.cameraName?(e.openBlock(),e.createElementBlock("div",Ll,e.toDisplayString(p.cameraName),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"camera-thumbnail-image",style:e.normalizeStyle({backgroundImage:`url(${e.unref(Q)(e.unref(s),p.defaultFilename)})`})},null,4),p.sunsimDayOfYear&&p.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",Ml,[e.createVNode(C,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],10,Tl))),128))])],2)}}}),[["__scopeId","data-v-d14ee377"]]),Ol={class:"small"},Rl={class:"small"},Ul=R(e.defineComponent({__name:"VStructureChooserUiTimeSampleSlider",props:{isMobileSized:{type:Boolean},currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,currentDay:a,currentTime:o,disabled:s}=e.toRefs(t),l=r,d=e.ref(o.value.timeInHours);return e.watch(o,()=>{d.value=o.value.timeInHours}),e.watch(d,()=>{l("onTimeChange",a.value.timeSamples.find(m=>m.timeInHours===d.value))}),(m,c)=>{const u=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-inline-block":!0,mobile:e.unref(n)}),style:e.normalizeStyle({flex:e.unref(n)&&e.unref(a).timeSamples.length>1?1:void 0,verticalAlign:"top"})},[e.createVNode(C,{style:e.normalizeStyle(e.unref(a).timeSamples.length>1?{width:e.unref(n)?"100%":"300px",height:e.unref(n)?"28px":"36px"}:{height:e.unref(n)?"28px":"36px",paddingLeft:"12px",paddingRight:"12px",paddingTop:e.unref(n)?"5px":"9px",paddingBottom:e.unref(n)?"5px":"9px"}),variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(a).timeSamples.length>1?(e.openBlock(),e.createBlock(v,{key:0,class:"pa-2 pr-2",modelValue:d.value,"onUpdate:modelValue":c[0]||(c[0]=p=>d.value=p),min:e.unref(a).startTime,max:e.unref(a).endTime,step:e.unref(a).interval,disabled:!!e.unref(s),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Ol,e.toDisplayString(e.unref(He)(d.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(u,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Rl,e.toDisplayString(e.unref(He)(d.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-4d44890b"]]),Hl={class:"d-inline-block",style:{"vertical-align":"top"}},zl=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),Yl=e.defineComponent({__name:"VStructureChooserUiZoomButtons",props:{isMobileSized:{type:Boolean},canZoomIn:{type:Boolean},canZoomOut:{type:Boolean},disabled:{type:Boolean}},emits:["onZoomIn","onZoomOut"],setup(i,{emit:r}){const t=i,{isMobileSized:n,canZoomIn:a,canZoomOut:o,disabled:s}=e.toRefs(t),l=r;return(d,m)=>{const c=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Hl,[e.createVNode(c,{disabled:e.unref(s)||!e.unref(a),size:e.unref(n)?"x-small":"small",flat:"",icon:"mdi-plus",onClick:m[0]||(m[0]=u=>l("onZoomIn")),style:{"border-bottom-left-radius":"0","border-bottom-right-radius":"0"}},null,8,["disabled","size"]),zl,e.createVNode(c,{disabled:e.unref(s)||!e.unref(o),size:e.unref(n)?"x-small":"small",flat:"",icon:"mdi-minus",onClick:m[1]||(m[1]=u=>l("onZoomOut")),style:{"border-top-left-radius":"0","border-top-right-radius":"0"}},null,8,["disabled","size"])])}}}),Pl=["innerHTML"],jl=R(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{},activeStructureIds:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer","onError"],setup(i,{emit:r}){const t=i,{cdnFileResolver:n,colorCallback:a,currentCamera:o,selectedId:s}=e.toRefs(t),l=r,d=e.ref(!0),m=e.ref({}),c=e.ref(),u=e.reactive({}),v=e.computed(()=>Q(n.value,o.value.overlayFilename));e.watchEffect(()=>{for(const f in u){const{element:h,state:y}=u[f],{r:g,g:x,b:V,a:F,s:w}=a.value(f,y)||{r:0,g:0,b:0,a:0,s:0};h.style.fill=`rgba(${g}, ${x}, ${V}, ${F/255})`,h.style.stroke=`rgb(${g}, ${x}, ${V})`,h.style.strokeWidth=w.toString(),h.style.cursor="pointer"}}),e.watch(s,()=>{for(const f in u)u[f].state==="selected"&&f!==s.value?u[f].state="idle":u[f].state!=="selected"&&f===s.value&&(u[f].state="selected")}),e.watchEffect(async()=>{try{d.value=!1,m.value[v.value]||(m.value[v.value]=await ie.loadText(v.value)),p()}catch(f){l("onError",f)}finally{d.value=!0}}),e.watch(()=>c.value,()=>{c.value&&new ResizeObserver(C).observe(c.value)});function C(){e.nextTick(()=>{var h;const f=(h=c.value)==null?void 0:h.firstChild;if(f){if(!f.hasAttribute("viewBox")){const y=`0 0 ${f.getAttribute("width")} ${f.getAttribute("height")}`;f.setAttribute("viewBox",y)}f.setAttribute("width",c.value.offsetWidth.toString()),f.setAttribute("height",c.value.offsetHeight.toString())}})}e.watch(()=>t.activeStructureIds,()=>{p()},{immediate:!0,deep:!0});function p(){e.nextTick(()=>{var h;const f=(h=c.value)==null?void 0:h.firstChild;if(f){l("updateSvgContainer",f),C();let y,g="data-structure-id";y=f.querySelectorAll(`[${g}]`),y.length===0&&(g="data-apartment-id",y=f.querySelectorAll(`[${g}]`),y.length===0&&(g="data-building-id",y=f.querySelectorAll(`[${g}]`))),y.forEach(x=>{x.style.strokeWidth="0",x.style.stroke="rgba(255,255,255,0)",x.style.fill="rgba(255,255,255,0)",x.querySelectorAll("path").forEach(F=>{F.style.stroke="inherit",F.style.fill="inherit"});const V=x.getAttribute(g);u[V]={element:x,state:s.value===V?"selected":"idle"},t.activeStructureIds&&!t.activeStructureIds.includes(V)&&(x.style.display="none"),x.addEventListener("mouseover",()=>{u[V].state==="idle"&&(u[V].state="hover"),l("onHoverOver",V)}),x.addEventListener("mouseout",()=>{u[V].state==="hover"&&(u[V].state="idle"),l("onHoverOut",V)}),x.addEventListener("click",()=>{l("onClick",V)})})}})}return(f,h)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"svgContainer",ref:c,style:e.normalizeStyle([{visibility:d.value?"visible":"hidden"},{"z-index":"5"}]),class:"w-100 h-100 position-absolute top-left structure-chooser-overlay-svg",innerHTML:m.value[v.value]},null,12,Pl)]),_:1}))}}),[["__scopeId","data-v-548075eb"]]);function Wl(i){if(!i)return!1;const r=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Gl(i){return!("filename"in i)&&"defaultFilename"in i}function et(i){return"filename"in i}function ql(i){return i?"version"in i:!1}function Ql(i){if(!i)return!1;const r=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of r)if(!(t in i))return!1;return!0}function Zl(i){if(!i)return!1;const r=["version","latitude","longitude","buildings","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Fe(i){return i.startsWith("/")?i:`/${i}`}function St(i){var r,t,n,a;if(Wl(i))return i;if(Zl(i)){if(!i.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:o,name:s})=>({id:o,name:s,type:"building"})),stillCameraIndices:i.cameras.map((o,s)=>s),stillCameraData:i.buildings.map(({id:o})=>({bestIndex:0,id:o})),loopable:!1,cameras:i.cameras.map(o=>{var l;if(o.sunsimDayOfYear){if(o.sunsimDayOfYear.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(o.sunsimDayOfYear[0].timeSamples){if(o.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const s={...o};return s.sunsimDayOfYear&&s.sunsimDayOfYear.forEach(d=>{d.timeSamples&&d.timeSamples.forEach(m=>{m.filename=Fe(m.filename)})}),{...s,defaultFilename:s.sunsimDayOfYear[0]?Fe(((l=s.sunsimDayOfYear[0].timeSamples.find(d=>d.timeInHours===s.sunsimDayOfYear[0].defaultHour))==null?void 0:l.filename)||s.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(Ql(i)){if(!i.days&&!i.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const o=i.days||[{dayOfYear:180,timeSamples:i.timeSamples}];return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:s,name:l})=>({id:s,name:l,type:"building"})),stillCameraIndices:[0],stillCameraData:i.buildings.map(({id:s})=>({bestIndex:0,id:s})),loopable:!1,cameras:[{cameraName:"",cameraPosition:i.cameraPosition,cameraRotation:Et(i.cameraRotation.normalized||i.cameraRotation),cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:Fe((t=(r=o[0])==null?void 0:r.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:o.map(s=>({dayOfYear:s.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:s.timeSamples.map(({timeInHours:l,filename:d})=>({timeInHours:l,filename:Fe(d)}))}))}]}}else{if(bo(i))return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:{id:i.building.id,name:i.building.name,type:"building"},structures:i.unitData.map(({unitId:o})=>({id:o,name:o,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.unitData.map(({bestScene:o,unitId:s})=>({bestIndex:o,id:s})),loopable:i.loopable,cameras:i.cameras.map(o=>{var s;if(Je(o)){if(o.sunsimDayOfYear){if(o.sunsimDayOfYear.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(o.sunsimDayOfYear[0].timeSamples){if(o.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const l={...o};return l.sunsimDayOfYear&&l.sunsimDayOfYear.forEach(d=>{d.timeSamples&&d.timeSamples.forEach(m=>{m.filename=Fe(m.filename)})}),{...l,defaultFilename:l.sunsimDayOfYear[0]?Fe(((s=l.sunsimDayOfYear[0].timeSamples.find(d=>d.timeInHours===l.sunsimDayOfYear[0].defaultHour))==null?void 0:s.filename)||l.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return o})};if(ql(i)){if(!i.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!i.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const o=[...Array(64).keys()].map(l=>({filename:`/1280/${(l+1).toString().padStart(4,"0")+".jpg"}`})),s=[4,1,2,3];for(let l=0;l<i.scenes.length;l++){let d=i.scenes[l],m,c;m=o[d].filename,c={cameraName:`Camera ${l+1}`,cameraPosition:void 0,cameraRotation:i.sceneCameras&&(n=i.sceneCameras.find(u=>u.scene===l))!=null&&n.cameraRotation?Et((a=i.sceneCameras.find(u=>u.scene===l))==null?void 0:a.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${s[l]}V5Overlay.svg`,defaultFilename:m,sunsimDayOfYear:void 0},et(o[d])&&(o[d]=c)}return{version:"5.0",latitude:0,longitude:0,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.sceneData.map(({apartmentID:l})=>({id:l,name:l,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.sceneData.map(({apartmentID:l,bestScene:d})=>({bestIndex:s.findIndex(m=>m===d)in i.scenes?i.scenes[s.findIndex(m=>m===d)]:null,id:l})).filter(({bestIndex:l})=>l!==null),loopable:!0,cameras:o}}else throw new Error("cannot convert data, no conversion source type found")}}function Et({x:i,y:r,z:t}){return{x:i,y:r,z:t,w:0}}const Jl={key:0,class:"position-absolute w-100 h-100 bg-grey-lighten-2 justify-center align-center d-flex",style:{"z-index":"10"}},Xl=["innerHTML"],Kl={style:{"z-index":"7"}},ei={key:4,class:"render-version"},xt=R(e.defineComponent({__name:"VStructureChooser",props:{structureChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0},showUi:{type:Boolean,default:!0},activeStructureIds:{}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{expose:r,emit:t}){const n=i,{structureChooserData:a,cdnFileResolver:o,colorCallback:s,i18nConfig:l,customOverlayContent:d,selectedId:m,defaultCamera:c,defaultDay:u,defaultTime:v,mobileBreakpoint:C}=e.toRefs(n),p=t,f=e.ref(),h=e.ref(),y=e.ref(),g=e.ref(null),x=e.ref(4),V=e.ref(),F=e.ref(!1),w=e.ref(!1),B=e.ref(),U=e.computed(()=>B.value.isHoverEnabled),N=e.ref({x:0,y:0,width:0,height:0}),z=e.ref(),_=e.ref(),k=e.ref(),D=e.ref(!1),L=e.ref(1),J=e.ref(0),I=e.ref([]),S=e.ref(),M=e.ref({current:100,min:100,max:1e3}),$=e.ref(!1),Y=e.ref();e.provide(me,l.value?new fe(l.value):new fe),e.provide("registerImage",E=>{e.nextTick(()=>{I.value.find(O=>O.image===E)||(I.value=[...I.value,{image:E,loaded:!1}])})}),e.provide("completeImage",E=>{e.nextTick(()=>{const O=I.value.findIndex(Z=>Z.image===E);O>=0&&(I.value[O].loaded=!0,I.value=[...I.value])})}),r({getState:()=>({currentCameraIndex:f.value?P.value.findIndex(E=>E===f.value):null,currentDayIndex:h.value?f.value.sunsimDayOfYear.findIndex(E=>E===h.value):null,currentTimeIndex:y.value?h.value.timeSamples.findIndex(E=>E===y.value):null,currentTransitionIndex:g.value?se.value.findIndex(E=>E===g.value):null,currentScene:x.value}),setState:({currentCameraIndex:E,currentDayIndex:O,currentTimeIndex:Z,currentTransitionIndex:K,currentScene:X})=>{typeof E=="number"&&(f.value=P.value[E]),typeof O=="number"&&(h.value=f.value.sunsimDayOfYear[O]),typeof Z=="number"&&(y.value=h.value.timeSamples[Z]),typeof K=="number"&&(g.value=se.value[K]),typeof X=="number"&&(x.value=X)},resolveCoordinates:(E,O)=>Y.value?Y.value(E,O):{x:0,y:0}}),e.onMounted(()=>{F.value=!0,$.value=!1}),e.watch(_,()=>{_.value&&new ResizeObserver(([])=>{const O=I.value.find(Z=>Z.loaded);O&&(J.value=O.image.width/L.value)}).observe(_.value)}),e.watch(I,()=>{if(J.value===0){const E=I.value.find(O=>O.loaded);E&&(L.value=E.image.naturalWidth/E.image.naturalHeight,J.value=E.image.width/L.value)}});const G=e.computed(()=>I.value.every(E=>E.loaded)),W=e.computed(()=>Math.round(I.value.filter(E=>E.loaded).length/I.value.length*100));e.watch(a,E=>{try{$.value=!1,k.value=St(E)}catch(O){$.value=!0,p("onError",O)}},{immediate:!0}),e.watch(F,E=>{E&&p("onInitialize")});const ne=e.ref();e.watch(()=>n.activeStructureIds,()=>{ne.value=n.activeStructureIds},{immediate:!0,deep:!0}),e.watch(()=>_.value,()=>{_.value&&new ResizeObserver(([O])=>{D.value=O.contentRect.width<C.value}).observe(_.value)});const P=e.computed(()=>k.value?k.value.cameras.filter(Gl):[]),se=e.computed(()=>k.value?k.value.cameras.filter(et):[]);e.watch([k,o],()=>{k.value&&o.value&&(I.value=[])},{immediate:!0}),e.watch([k,o,c],async()=>{o.value&&P.value.length>0&&(c.value?f.value=P.value.find(E=>E.cameraName===c.value)||P.value[0]:f.value=P.value[0],x.value=k.value.cameras.findIndex(E=>E===f.value),x.value=Math.max(0,x.value))},{immediate:!0}),e.watch([k,o,u],()=>{k.value&&o.value&&f.value&&f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>0&&(u.value?h.value=f.value.sunsimDayOfYear.find(E=>E.dayOfYear===u.value)||f.value.sunsimDayOfYear[0]:h.value=f.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([k,o,v],()=>{k.value&&o.value&&h.value&&h.value.timeSamples&&h.value.timeSamples.length>0&&(v.value?y.value=h.value.timeSamples.find(E=>E.timeInHours===v.value)||h.value.timeSamples[0]:y.value=h.value.timeSamples.find(E=>E.timeInHours===h.value.defaultHour)||h.value.timeSamples[0])},{immediate:!0});function de(E){f.value!==E&&oe(k.value.cameras.findIndex(O=>O===E))}function Ce(E){x.value=E,et(k.value.cameras[x.value])?g.value=k.value.cameras[x.value]:(e.nextTick(()=>{ae(k.value.cameras[x.value])}),g.value=null)}function ae(E){const O=h.value;f.value=E,x.value=k.value.cameras.findIndex(Z=>Z===f.value),e.nextTick(()=>{f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>0&&le(f.value.sunsimDayOfYear.find(Z=>Z.dayOfYear===O.dayOfYear)||f.value.sunsimDayOfYear[0])})}function le(E){const O=y.value;h.value=E,e.nextTick(()=>{ue(h.value.timeSamples.find(Z=>Z.timeInHours===O.timeInHours)||h.value.timeSamples.find(Z=>Z.timeInHours===h.value.defaultHour)||h.value.timeSamples[0])})}function ue(E){y.value=E}function ce(E){p("onClick",E,()=>{const O=k.value.stillCameraData.find(Z=>Z.id===E);O&&oe(O.bestIndex)})}function T(E){p("onHoverOver",E),V.value=E}function H(E){p("onHoverOut",E),V.value=void 0}function te(E){const{layerX:O,layerY:Z}=E;let K=E.target,X=!1;for(;K;)if(K===z.value){X=!0;break}else K=K.parentElement;if(X){const ge=E.currentTarget;N.value={x:O,y:Z,width:ge.clientWidth,height:ge.clientHeight}}else N.value=void 0;p("onMouseMove",E,N.value)}function we({min:E,max:O,current:Z,resolve:K}){Y.value=K,M.value={min:E,max:O,current:Z}}function pe(E){S.value.adjustZoom(E?10:-10)}function he(E){return k.value.stillCameraIndices.findIndex(O=>O===E)}async function oe(E){const O=x.value;if(k.value.loopable){const Z=k.value.stillCameraIndices.length,K=he(O),X=he(E);let ge=0,Re=0,ye=K;for(;ye++,ye>=Z&&(ye=0),ye!==X;)ge++;for(ye=K;ye--,ye<0&&(ye+=Z),ye!==X;)Re++;ge===Re?ke(O,E):ge<Re?K<X?ke(O,E):ke(O,E+k.value.cameras.length):K>=X?ke(O,E):ke(O+k.value.cameras.length,E)}else ke(O,E)}function ke(E,O){return new Promise(Z=>{w.value=!0;let K,X=E;K=setInterval(()=>{X<O?(X++,x.value=Math.abs(X%k.value.cameras.length),Ce(x.value)):X>O?(X--,x.value=Math.abs(X%k.value.cameras.length),Ce(x.value)):(clearInterval(K),w.value=!1,Z())},12)})}function Oe(E){$.value=!0,p("onError",E)}const Ye=E=>E*(180/Math.PI);return(E,O)=>{const Z=e.resolveComponent("v-progress-circular"),K=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(K,{type:"image",class:"w-100 h-100 position-relative",loading:!F.value||!k.value},{default:e.withCtx(()=>[G.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Jl,[e.createVNode(Z,{"model-value":W.value,size:128,width:12},null,8,["model-value"])])),e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:_,class:e.normalizeClass({mobile:D.value}),style:{"min-height":"160px"},onMousemove:te},[E.showUi?(e.openBlock(),e.createElementBlock("div",{key:0,class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:D.value&&P.value.length>1?"60px":0})},[f.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:D.value?32:40,height:D.value?32:40}),longitude:Ye(f.value.cameraRotation.y)+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(Yl,{"is-mobile-sized":D.value,"can-zoom-out":M.value.min<M.value.current,"can-zoom-in":M.value.max>M.value.current,disabled:w.value,onOnZoomIn:O[0]||(O[0]=X=>pe(!0)),onOnZoomOut:O[1]||(O[1]=X=>pe(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4)):e.createCommentVNode("",!0),E.showUi&&P.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"actions-bar bottom-center pb-2":!0,"px-0":D.value},"still-cameras-wrapper"]),style:{"z-index":"7"}},[e.createVNode($l,{"is-mobile-sized":D.value,"still-cameras":P.value,"current-camera":f.value,disabled:w.value,"cdn-file-resolver":e.unref(o),onOnCameraChange:de},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(Se,{ref_key:"zoomBox",ref:S,position:"relative",onUpdate:we},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-100 position-relative",style:e.normalizeStyle({height:`${J.value}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(X,ge)=>(e.openBlock(),e.createBlock(xl,{key:`camera${ge}`,"camera-data":X,"cdn-file-resolver":e.unref(o),"current-camera":f.value,"current-day":h.value,"current-time":y.value},null,8,["camera-data","cdn-file-resolver","current-camera","current-day","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(se.value,(X,ge)=>(e.openBlock(),e.createBlock(Il,{key:`transition${ge}`,"transition-data":X,"cdn-file-resolver":e.unref(o),"current-transition":g.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:e.unref(d)},null,8,Xl)):e.createCommentVNode("",!0),f.value.overlayFilename&&!$.value?e.withDirectives((e.openBlock(),e.createBlock(jl,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(s),"current-camera":f.value,"selected-id":e.unref(m),activeStructureIds:ne.value,onOnClick:ce,onOnHoverOver:T,onOnHoverOut:H,onUpdateSvgContainer:O[2]||(O[2]=X=>z.value=X),onOnError:Oe},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id","activeStructureIds"])),[[e.vShow,g.value===null]]):e.createCommentVNode("",!0),e.renderSlot(E.$slots,"default",{},void 0,!0)],4)]),_:3},512),E.showUi&&(h.value&&h.value.timeSamples&&h.value.timeSamples.length>1||f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>1)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":D.value}),style:{"z-index":"7"}},[e.createVNode(Al,{class:"pr-2","is-mobile-sized":D.value,"current-camera":f.value,"current-day":h.value,disabled:w.value,onOnDayChange:le},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(Ul,{"is-mobile-sized":D.value,"current-day":h.value,"current-time":y.value,disabled:w.value,onOnTimeChange:ue},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),E.$slots.popup&&N.value&&V.value?(e.openBlock(),e.createBlock(Be,{key:3,"is-hoverable":U.value,pos:N.value},{default:e.withCtx(()=>[e.createElementVNode("div",Kl,[e.renderSlot(E.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:V.value,hoverable:U.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),E.version&&E.showVersion?(e.openBlock(),e.createElementBlock("div",ei," version: "+e.toDisplayString(E.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:B},null,512)],64)}}}),[["__scopeId","data-v-df80f47c"]]),ti={install:function(r){r.component("VApartmentChooser",it),r.component("VBuildingChooser",ut),r.component("VVirtualTour",bt),r.component("VManualSlideShow",Vt),r.component("VStructureChooser",xt)}};q.ResourceLoader=ie,q.VApartmentChooser=it,q.VApartmentChooserV5=Go,q.VBuildingChooser=ut,q.VBuildingChooserV5=Tn,q.VFloatingCard=Be,q.VHoverProbe=_e,q.VManualSlideShow=Vt,q.VMiniMap=bl,q.VNorthDirection=Ee,q.VStructureChooser=xt,q.VVirtualTour=bt,q.VZoomBox=Se,q.convertApartmentChooserDataLegacyToV5=ct,q.convertBuildingChooserDataLegacyToV5=pt,q.convertStructureChooserDataLegacyToV5=St,q.default=ti,Object.defineProperties(q,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(q,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(q=typeof globalThis<"u"?globalThis:q||self,e(q["vue3-player"]={},q.Vue,q.axios,q.PlayerCore,q.THREE))})(this,function(q,e,ve,Ot,Ve){"use strict";var Ei=Object.defineProperty;var xi=(q,e,ve)=>e in q?Ei(q,e,{enumerable:!0,configurable:!0,writable:!0,value:ve}):q[e]=ve;var ee=(q,e,ve)=>(xi(q,typeof e!="symbol"?e+"":e,ve),ve);function Rt(i){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return r.default=i,Object.freeze(r)}const Ut=Rt(Ot);class ie{static async loadText(r){return new ie().loadText(r)}static async loadJson(r){return new ie().loadJson(r)}static async loadImage(r){return new ie().loadImage(r)}static async loadImageData(r){return new ie().loadImageData(r)}async loadText(r){try{return(await ve.get(r)).data}catch(t){throw ve.isAxiosError(t)&&t.response?new Error(`Failed to load resource from ${r}: ${t.response.status} ${t.response.statusText}`):t}}async loadJson(r){return(await ve.get(r)).data}async loadImage(r){return new Promise((t,n)=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>{t(a)},a.onerror=n,a.src=r})}async loadImageData(r){const t=await this.loadImage(r),n=document.createElement("canvas");try{const a=n.getContext("2d");return n.width=t.width,n.height=t.height,a.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const Ht=e.defineComponent({__name:"VHoverProbe",setup(i,{expose:r}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return r({isHoverEnabled:n}),(a,o)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),R=(i,r)=>{const t=i.__vccOpts||i;for(const[n,a]of r)t[n]=a;return t},_e=R(Ht,[["__scopeId","data-v-eb9b348d"]]);function Q(i,r){return typeof i=="string"?`${i}${r}`:i(r)}const zt=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(i,{emit:r}){const t=i,n=r,a=e.ref({x:0,y:0,width:0,height:0}),o=e.ref(0),s=e.ref(0),l=e.ref(),d=e.ref(),m=e.ref(),c=e.ref(),u=e.ref(-1),v=e.ref(!1),C=e.ref(),p=e.ref(),f=e.ref({}),h=e.ref("auto"),y=e.ref(new ie),g=e.ref({}),x=e.ref(),V=e.ref(),F=e.ref(),w=e.ref(),B=e.ref(),U=e.computed(()=>F.value.isHoverEnabled),N=e.computed(()=>Q(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),z=e.computed(()=>N.value in f.value?f.value[N.value]:null),_=e.computed(()=>u.value<0?!1:t.sceneData.find(H=>H.index===u.value)||!1),k=e.computed(()=>({width:o.value+"px",height:s.value+"px",cursor:h.value})),D=e.computed(()=>`hover-${v.value?"over":"out"}-${_.value?typeof _.value=="object"&&"unitId"in _.value?_.value.unitId:_.value:""}`);e.watch(N,()=>{f.value[N.value]||y.value.loadImageData(N.value).then(T=>{f.value={...f.value,[N.value]:T}})},{immediate:!0}),e.watch(z,()=>{z.value&&L()}),e.watch(()=>t.viewModel.currentScene,()=>{ae()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{ae()}),e.watch(_,()=>{ae(),_.value?h.value="pointer":h.value="auto"}),e.watch(D,()=>{v.value?n("hoverOver",{hoverUnit:_.value?_.value.unitId:!1,closeHandler:()=>le()}):n("hoverOut",{hoverUnit:_.value?_.value.unitId:!1,closeHandler:()=>le()})}),e.watch(a,()=>{n("pos",a.value)}),e.onMounted(()=>{V.value=()=>{clearTimeout(x.value),de(),x.value=setTimeout(()=>{de()},50)},window.addEventListener("resize",V.value),de()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V.value);for(const T in f.value)URL.revokeObjectURL(f.value[T])});function L(){l.value=w.value.getContext("2d",{willReadFrequently:!0}),d.value=new Image,d.value.onload=()=>{Ce(),w.value.addEventListener("mousemove",ce(J,50))},d.value.src=z.value}function J(T){const H=M(T.offsetX,T.offsetY);v.value=H>=0,u.value=H,a.value={x:T.offsetX,y:T.offsetY,width:o.value,height:s.value}}function I(T){const H=M(T.offsetX,T.offsetY);H<0||U&&ne(H)}function S(){if(d.value&&d.value.width){w.value.width=d.value.width,w.value.height=d.value.height,l.value.drawImage(d.value,0,0,d.value.width,d.value.height),c.value=l.value.getImageData(0,0,w.value.width,w.value.height),m.value=l.value.getImageData(0,0,w.value.width,w.value.height);const T=c.value.data;g.value={};for(let H=0;H<T.length;H+=4)g.value[T[H]]=[];for(let H=3;H<T.length;H+=4)T[H]===255&&T[H-3]in g.value&&g.value[T[H-3]].push(H-3)}}function M(T,H){C.value=T,p.value=H;const te=w.value.offsetWidth/w.value.width,we=w.value.offsetHeight/w.value.height,pe=(T/te).toFixed(),he=(H/we).toFixed(),oe=Number(he)*(w.value.width*4)+Number(pe)*4,ke=c.value.data[oe];return c.value.data[oe+3]>0?ke:-1}function $(){W().forEach(H=>{if(H.index>=0){const te=Y(H.index);if(te){const we=G(H.index);let pe="idle";!_.value&&t.selectedUnitId&&we===t.selectedUnitId?pe="selected":_.value&&u.value===H.index&&(pe="hover");const he=t.colorCallback(H.unitId,pe);if(he)for(let oe=0;oe<te.length;oe++)m.value.data[te[oe]]=he.r,m.value.data[te[oe]+1]=he.g,m.value.data[te[oe]+2]=he.b,m.value.data[te[oe]+3]=he.a}}})}function Y(T){return c.value?g.value[T]:!1}function G(T){const H=t.sceneData.find(te=>te.index===T);return H&&H.unitId}function W(){if(c.value){const T=Object.keys(g.value).map(te=>parseInt(te));return t.sceneData.filter(te=>T.includes(te.index))}else return[]}function ne(T){const H=G(T);P(H)}function P(T){n("selectUnit",T),T&&t.canGoToUnitCallback(T)&&n("goToUnit",T)}function se(T=0){if(!m.value)return;const H=m.value.data;for(let te=3;te<H.length;te+=4)H[te]=T}function de(){if(!B.value)return!1;o.value=B.value.offsetWidth,s.value=B.value.offsetHeight}function Ce(){S(),ae()}function ae(){se(),$(),l.value&&m.value&&l.value.putImageData(m.value,0,0)}function le(){v.value=!1}const ue=e.ref(!1);function ce(T,H){return ue.value=!0,function(...te){ue.value&&(ue.value=!1,T.apply(this,te),setTimeout(()=>ue.value=!0,H))}}return(T,H)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:B,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:w,style:e.normalizeStyle(k.value),onClick:I},null,4),[[e.vShow,!T.viewModel.isRotating]]),e.createVNode(_e,{ref_key:"hoverProbe",ref:F},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),Yt=["viewBox"],Pt=["innerHTML","onMouseenter","onMouseleave","onClick"],jt=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(i,{emit:r}){const t=i,n=r,a=e.ref({x:0,y:0,width:0,height:0}),o=e.ref(-1),s=e.ref({}),l=e.ref(null),d=e.ref(new ie),m=e.ref(),c=e.ref(),u=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(l.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(l.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(a,()=>{n("pos",a.value)}),e.watch(o,(V,F)=>{if(V>=0){const w=C(V);n("hoverOver",{hoverUnit:w,closeHandler:()=>{o.value=-1}})}else{const w=C(F);n("hoverOut",{hoverUnit:w,closeHandler:()=>{o.value=-1}})}}),e.onMounted(()=>{for(let V=1;V<=4;V++){const F=Q(t.cdnFileResolver,`/scenedata${V}.svg`),w={markup:"",viewBox:"",svgObjects:[]};d.value.loadJson(F).then(B=>{w.markup=B;const N=new DOMParser().parseFromString(B,"image/svg+xml").getElementsByTagName("svg")[0];w.viewBox=N.getAttribute("viewBox"),w.svgObjects=Array.from(N.querySelectorAll("*[data-index]")).map(z=>({index:parseInt(z.getAttribute("data-index")),svg:z.innerHTML})),s.value={...s.value,[V]:w}})}m.value.addEventListener("mousemove",x(v,50))});function v(V){a.value={x:V.offsetX,y:V.offsetY,width:m.value.offsetWidth,height:m.value.offsetHeight}}function C(V){var F;return(F=t.sceneData.find(w=>w.index===(typeof V=="string"?parseInt(V):V)))==null?void 0:F.unitId}function p(V){u.value&&(o.value=V)}function f(V){u.value&&(o.value=-1)}function h(V){const F=C(V);n("selectUnit",F),u.value&&F&&t.canGoToUnitCallback(F)?n("goToUnit",F):o.value=V}function y(V){const F=C(V);let w="idle";o.value<0&&t.selectedUnitId&&F===t.selectedUnitId?w="selected":o.value>=0&&o.value===V&&(w="hover");const B=t.colorCallback(F,w);if(B){const{r:U,g:N,b:z,a:_,s:k}=B;return{strokeWidth:k!==void 0?k:2,stroke:`rgb(${U}, ${N}, ${z})`,strokeOpacity:1,fill:`rgb(${U}, ${N}, ${z})`,fillOpacity:_/255,cursor:`${t.canGoToUnitCallback(F)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const g=e.ref(!1);function x(V,F){return g.value=!0,function(...w){g.value&&(g.value=!1,V.apply(this,w),setTimeout(()=>g.value=!0,F))}}return(V,F)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:m},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!l.value||!l.value.svgObjects?0:1})},[l.value&&l.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:l.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.svgObjects,({index:w,svg:B})=>(e.openBlock(),e.createElementBlock("g",{key:w,innerHTML:B,style:e.normalizeStyle(y(w)),onMouseenter:U=>p(w),onMouseleave:U=>f(),onClick:U=>h(w)},null,44,Pt))),128))],8,Yt)):e.createCommentVNode("",!0)],4),[[e.vShow,!V.viewModel.isRotating]]),e.createVNode(_e,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),me=Symbol(),Wt={key:0,class:"text-success d-none d-md-flex"},Gt={class:"text-success"},qt=R(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(i,{emit:r}){const t=i,n=e.computed(()=>t.selectedUnitId),a=e.computed(()=>t.nextUnitId),o=e.computed(()=>t.prevUnitId),s=r,l=e.inject(me);e.onMounted(()=>{window.addEventListener("keydown",d)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",d)});function d(m){m.keyCode===37?t.prevUnitId&&s("prevUnit"):m.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(m,c)=>{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:c[0]||(c[0]=v=>m.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:!o.value,onClick:c[1]||(c[1]=v=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(u,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!m.canGoToUnitCallback(n.value),onClick:c[2]||(c[2]=v=>s("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&m.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(e.unref(l).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Gt,e.toDisplayString(n.value?t.unitRenderer(n.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:!a.value,onClick:c[3]||(c[3]=v=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>m.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class qe{constructor(r){ee(this,"_numParts");ee(this,"_loadedCount");ee(this,"_isError");ee(this,"_finishedAction");ee(this,"_errorAction");ee(this,"_loadProgressAction");this._numParts=r,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(r){return this._finishedAction=r,this}onLoadError(r){return this._errorAction=r,this}onLoadProgress(r){return this._loadProgressAction=r,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 Qe{constructor(r,t,n,a){ee(this,"_rotator");ee(this,"_direction");ee(this,"_frameIndex");ee(this,"_sceneCount");this._rotator=r,this._direction=t,this._frameIndex=n,this._sceneCount=a}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const r=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(r)?this._sceneCount-1:this._sceneCount;return new Qe(this._rotator,this._direction,r,t)}}class Qt{constructor(r,t){ee(this,"_cardinalFrames");ee(this,"_totalFrameCount");this._cardinalFrames=r,this._totalFrameCount=t}start(r,t,n){const a=this.startFrameIndexForScene(t);return new Qe(this,r,a,n)}isCardinalFrame(r){return this._cardinalFrames.includes(r)}clampFrameIndex(r){return(this._totalFrameCount+r)%this._totalFrameCount}startFrameIndexForScene(r){return this._cardinalFrames[r]}}const Zt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Jt={key:1,class:"frame-container"},Xt={key:0,class:"frame-image"},Kt=["srcset"],eo=["src"],to={key:2,id:"image-stack",class:"frame-container"},oo=["alt"],no=["srcset"],ao=["src"],rt=64,Me=4,ro=120,lo=R(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(i,{emit:r}){const t=i,n=r,a=C(),o=e.ref(new qe(a.length).onLoadFinished(()=>n("loaded")).onLoadProgress(y=>n("progress",y)).onLoadError(()=>n("error"))),s=e.ref(new Qt(t.cardinalFrames,rt)),l=e.ref(a),d=e.ref(!1),m=e.computed(()=>l.value.find(y=>y.show));e.watch(()=>t.viewModel.currentScene,(y,g)=>{const x=h(g,y),V=f(g,y);c(g,x,V)}),e.onMounted(()=>{v()});function c(y,g,x){t.viewModel.isRotating||(t.viewModel.isRotating=!0,u(s.value.start(g,y%Me,x)))}function u(y){setTimeout(()=>{l.value[y.frameIndex].show=!1;const g=y.nextFrame();l.value[g.frameIndex].show=!0,g.atEnd?v():window.requestAnimationFrame(()=>u(g))},1e3/ro)}function v(){const y=s.value.startFrameIndexForScene(t.viewModel.currentScene%Me);y in l.value&&(l.value[y].show=!0),t.viewModel.isRotating=!1}function C(){const y=[];for(let g=0;g<rt;g++){const{sourceSet:x,defaultPath:V}=p(g);y.push({index:g,sourceSet:x,defaultPath:V,show:!1})}return y}function p(y){const g=("0000"+(y+1)).slice(-4),x=t.build?`?v=${t.build}`:"",V=[`${Q(t.cdnFileResolver,`/480/${g}.jpg${x}`)} 480w`,`${Q(t.cdnFileResolver,`/960/${g}.jpg${x}`)} 960w`,`${Q(t.cdnFileResolver,`/1280/${g}.jpg${x}`)} 1280w`].join(","),F=Q(t.cdnFileResolver,`/480/${g}.jpg${x}`);return{sourceSet:V,defaultPath:F}}function f(y,g){const x=Me/2,V=Math.abs(y-g);return V>x?Me-V:V}function h(y,g){if(y===g)return 0;const V=Math.abs(y-g)<Me/2;return V&&y<g||!V&&y>g?1:-1}return(y,g)=>{const x=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[o.value.isError?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(x,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):d.value?(e.openBlock(),e.createElementBlock("div",to,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,V=>(e.openBlock(),e.createElementBlock("picture",{key:V.index,alt:V.index,class:e.normalizeClass({"frame-image":!0,show:V.show})},[e.createElementVNode("source",{srcset:V.sourceSet,type:"image/jpeg"},null,8,no),e.createElementVNode("img",{src:V.defaultPath,alt:"Building image",onLoad:g[2]||(g[2]=F=>o.value.partLoaded()),onError:g[3]||(g[3]=F=>o.value.errorDetected())},null,40,ao)],10,oo))),128))])):(e.openBlock(),e.createElementBlock("div",Jt,[m.value?(e.openBlock(),e.createElementBlock("picture",Xt,[e.createElementVNode("source",{srcset:m.value.sourceSet,type:"image/jpeg"},null,8,Kt),e.createElementVNode("img",{src:m.value.defaultPath,onLoad:g[0]||(g[0]=V=>d.value=!0),onError:g[1]||(g[1]=V=>o.value.errorDetected())},null,40,eo)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),Be=R(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(i,{emit:r}){const t=i,n=r,a=e.computed(()=>{let o,s,l,d;return t.pos.x<=t.pos.width/2?(o="-100%",l="-8px"):(o="0%",l="8px"),t.pos.y<=t.pos.height/2?(s="-100%",d="-8px"):(s="0%",d="8px"),`translate(${o}, ${s}) translate(${l}, ${d})`});return(o,s)=>{const l=e.resolveComponent("v-dialog"),d=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(d,{origin:`top left ${o.pos.x} ${o.pos.y}`},{default:e.withCtx(()=>[o.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${o.pos.x}px`,top:`${o.pos.y}px`,pointerEvents:"none",transform:a.value})},[e.renderSlot(o.$slots,"default",{isHoverable:o.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(l,{key:1,value:!0,width:"auto","onClick:outside":s[0]||(s[0]=m=>n("outside",m))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",{isHoverable:o.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),Se=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(i,{expose:r,emit:t}){const n=i,a=t;r({adjustZoom:J});const o=e.ref(100),s=e.ref(0),l=e.ref(0),d=e.ref(!1),m=e.ref(!1),c=e.ref(void 0),u=e.ref(!1),v=e.ref(),C=e.computed(()=>`translateX(${s.value}px) translateY(${l.value}px) scale(${p.value})`),p=e.computed(()=>o.value/100),f=e.computed(()=>n.maxScale*100);e.watch([p,s,l],()=>{I()},{immediate:!0}),e.watch(()=>n.desktop,()=>{n.desktop?h():g()}),e.watch(()=>n.mobile,()=>{n.mobile?y():x()}),e.onMounted(()=>{n.desktop&&h(),n.mobile&&y()}),e.onBeforeUnmount(()=>{n.desktop&&g(),n.mobile&&x()});function h(){v.value.addEventListener("wheel",V,{capture:!0}),v.value.addEventListener("mousedown",F,{capture:!0}),v.value.addEventListener("mousemove",w,{capture:!0}),window.addEventListener("mouseup",B,{capture:!0}),window.addEventListener("click",U,{capture:!0})}function y(){v.value.addEventListener("touchstart",N,{capture:!0}),v.value.addEventListener("touchmove",z,{capture:!0}),window.addEventListener("touchend",_,{capture:!0}),window.addEventListener("touchcancel",_,{capture:!0})}function g(){v.value.removeEventListener("wheel",V,{capture:!0}),v.value.removeEventListener("mousedown",F,{capture:!0}),v.value.removeEventListener("mousemove",w,{capture:!0}),window.removeEventListener("mouseup",B,{capture:!0}),window.removeEventListener("click",U,{capture:!0})}function x(){v.value.removeEventListener("touchstart",N,{capture:!0}),v.value.removeEventListener("touchmove",z,{capture:!0}),window.removeEventListener("touchend",_,{capture:!0}),window.removeEventListener("touchcancel",_,{capture:!0})}function V(S){const{x:M,y:$}=k(S);J(-S.deltaY/10,M,$),S.preventDefault()}function F(S){d.value=!0,u.value=!1,c.value=S}function w(S){if(d.value){const{x:M,y:$}=k(S),{x:Y,y:G}=k(c.value),W={x:M-Y,y:$-G};D(W.x),L(W.y),u.value=!0,c.value=S}}function B(S){d.value&&u.value&&n.consumeMouseUpWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation())}function U(S){d.value&&(u.value&&n.consumeMouseClickWhenMoved&&(S.preventDefault(),S.stopImmediatePropagation()),d.value=!1)}function N(S){d.value=S.touches.length===1,m.value=S.touches.length===2,c.value=S}function z(S){if(d.value){const{x:M,y:$}=k(S.touches[0]),{x:Y,y:G}=k(c.value.touches[0]),W={x:M-Y,y:$-G};D(W.x),L(W.y)}else if(m.value&&S.touches.length===2){const{x:M,y:$}=k(S.touches[0]),{x:Y,y:G}=k(c.value.touches[0]),{x:W,y:ne}=k(S.touches[1]),{x:P,y:se}=k(c.value.touches[1]),de=Math.hypot(Y-P,G-se),Ce=Math.hypot(M-W,$-ne),ae=(W+M)/2,le=(ne+$)/2;J(Ce-de,ae,le)}c.value=S}function _(){d.value=!1,m.value=!1}function k(S){const{left:M,top:$}=v.value.getBoundingClientRect();return{x:S.clientX-M,y:S.clientY-$}}function D(S){const M=v.value.clientWidth,$=M*p.value;s.value=Math.max(Math.min(0,s.value+S),-($-M))}function L(S){const M=v.value.clientHeight,$=M*p.value;l.value=Math.max(Math.min(0,l.value+S),-($-M))}function J(S,M,$){const Y=M!==void 0?M:v.value.clientWidth/2,G=$!==void 0?$:v.value.clientHeight/2,W=v.value.clientWidth,ne=v.value.clientHeight,P=W*p.value,se=ne*p.value;o.value=Math.min(Math.max(100,o.value+S),f.value);const de=W*p.value,Ce=ne*p.value,ae=de-P,le=Ce-se;s.value-=Y/W*ae,l.value-=G/ne*le,D(0),L(0)}function I(){a("update",{scale:p.value,x:s.value,y:l.value,current:Math.min(Math.max(100,o.value),f.value),min:100,max:f.value,resolve:(S,M)=>{const $=v.value.clientWidth,Y=v.value.clientHeight,G=s.value/-p.value,W=l.value/-p.value,ne=G+$/p.value,P=W+Y/p.value,se=S/$*(ne-G)+G,de=M/Y*(P-W)+W;return{x:se,y:de}}})}return(S,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:v,class:"zoom-box-container",style:e.normalizeStyle({position:n.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:C.value}),class:"zoom-box"},[e.renderSlot(S.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-3e334a46"]]),Ze=4;function lt(i){return i<Ze?i+1:1}function io(i){return i>1?i-1:Ze}class so{constructor(r){ee(this,"_state");this._state={isRotating:!1,currentScene:r}}get isRotating(){return this._state.isRotating}set isRotating(r){this._state.isRotating=r}unlessRotatingDo(r){this.isRotating||r()}get currentScene(){return this._state.currentScene}set currentScene(r){this._state.currentScene=r}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=lt(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=io(this.currentScene)})}}class fe{constructor({labels:r,language:t}={labels:null,language:null}){ee(this,"_labels");ee(this,"_language");r?this._labels={...r||{}}:fetch("https://l10n.visuado.com/all.json").then(n=>n.json()).then(n=>{this._labels=n}),this._language=t||"nb"}getLabel(r){return this._labels&&this._language in this._labels&&r in this._labels[this._language]?this._labels[this._language][r]:r}get(r){return typeof r=="string"?r:typeof r=="object"&&this._language in r&&r[this._language]?r[this._language]:""}}const co={key:0},mo={class:"interactive-viewer"},uo={class:"fill-parent"},po={key:0},fo={key:1,class:"navigation"},ho={key:2},go=4,it=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:i=>i},apartmentChooserData:{},selectedUnitId:{},nextUnitId:{},prevUnitId:{},drawObserver:{default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},emits:["selectUnit","goToUnit","navUnit","hoverOverUnit","hoverOutUnit","initialized"],setup(i,{emit:r}){const t=[0,16,32,48],n=i,a=r;e.provide(me,n.i18nConfig?new fe(n.i18nConfig):new fe);const o=e.reactive({isReady:!1,isError:!1}),s=e.ref(),l=e.ref(),d=e.ref(),m=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),v=e.ref(),C=e.ref(),p=e.computed(()=>C.value.isHoverEnabled),f=e.computed(()=>n.useSvg?jt:zt),h=e.computed(()=>n.selectedUnitId),y=e.computed(()=>n.nextUnitId),g=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(h.value&&m.value){const w=s.value[h.value];w&&(m.value.currentScene=w)}}),e.onMounted(async()=>{const w=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:go;d.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,l.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(N=>({unitId:N.apartmentID,index:N.index})):[],s.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(N=>{const z=N.bestScene===0?4:N.bestScene;return{unitId:N.apartmentID,scene:z}}).reduce((N,z)=>({...N,[z.unitId]:z.scene}),{}):{};const B=(N,z="unitId")=>{let _=w,k=[];for(let D=0;D<Ze;D++)k.push(_),_=lt(_);return N.sort((D,L)=>{const J=k.findIndex(S=>S===s.value[D[z]]),I=k.findIndex(S=>S===s.value[L[z]]);return J<I?-1:J>I?1:0}),N},U=N=>{m.value=new so(N)};a("initialized",{scene:w,scenes:d.value,sceneData:l.value,scenesByApartment:s.value,unitsSceneSort:B,initialize:U})});function x(w){c.value=w}function V(w){v.value=w.hoverUnit,u.value=w.closeHandler,a("hoverOverUnit",w.hoverUnit)}function F(w){v.value=null,u.value=w.closeHandler,a("hoverOutUnit",w.hoverUnit)}return(w,B)=>{const U=e.resolveComponent("v-progress-linear");return m.value?(e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",mo,[e.createElementVNode("div",uo,[e.createVNode(Se,{desktop:o.isReady&&w.interactiveDesktop,mobile:o.isReady&&w.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(lo,{"cdn-file-resolver":w.cdnFileResolver,"view-model":m.value,"cardinal-frames":d.value,build:w.build,onProgress:B[0]||(B[0]=N=>o.progress=N),onLoaded:B[1]||(B[1]=N=>o.isReady=!0),onError:B[2]||(B[2]=N=>o.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),o.isReady?(e.openBlock(),e.createElementBlock("div",po,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.value),{"cdn-file-resolver":n.cdnFileResolver,"view-model":m.value,"selected-unit-id":h.value,"scene-data":l.value,"color-callback":n.colorCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:B[3]||(B[3]=N=>a("selectUnit",N)),onGoToUnit:B[4]||(B[4]=N=>a("goToUnit",N)),onHoverOver:V,onHoverOut:F,onPos:x},{default:e.withCtx(N=>[e.renderSlot(w.$slots,"default",e.normalizeProps(e.guardReactiveProps(N)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),v.value&&w.showCards?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":p.value,pos:c.value,onOutside:u.value},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{unit:v.value,canGoToUnit:w.canGoToUnitCallback(v.value),goToUnit:()=>w.canGoToUnitCallback(v.value)&&a("goToUnit",v.value),pos:c.value,isHoverable:p.value,close:u.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),o.isReady?(e.openBlock(),e.createElementBlock("div",fo,[e.createVNode(qt,{"can-go-to-unit-callback":n.canGoToUnitCallback,"unit-renderer":n.unitRenderer,"selected-unit-id":h.value,"prev-unit-id":g.value,"next-unit-id":y.value,"view-model":m.value,onGoToUnit:B[5]||(B[5]=N=>a("goToUnit",N)),onPrevUnit:B[6]||(B[6]=N=>a("navUnit",g.value)),onNextUnit:B[7]||(B[7]=N=>a("navUnit",y.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):o.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ho,[e.createVNode(U,{indeterminate:!o.progress,modelValue:o.progress,"onUpdate:modelValue":B[8]||(B[8]=N=>o.progress=N)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(_e,{ref_key:"hoverProbe",ref:C},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-34e2e7a2"]]),yo=["src"],vo=R(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,t=e.computed(()=>Q(r.cdnFileResolver,r.timeSampleData.filename));return(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,yo)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-dbbdc1e0"]]),Co=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.dayData.timeSamples,a=>(e.openBlock(),e.createBlock(vo,{"time-sample-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),ko=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.cameraData.sunsimDayOfYear,a=>(e.openBlock(),e.createBlock(Co,{"day-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":r.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),_o=["src"],wo=R(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:r}){const t=i,n=e.computed(()=>Q(t.cdnFileResolver,t.transitionData.filename));return(a,o)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:n.value,src:n.value,class:"position-absolute top-left w-100 h-100"},null,8,_o)),[[e.vShow,a.transitionData===a.currentTransition]])}}),[["__scopeId","data-v-ecb88391"]]);function bo(i){if(!i)return!1;const r=["version","latitude","longitude","building","scenes","loopable","unitData","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Je(i){return!("filename"in i)}function Xe(i){return"filename"in i}const Vo=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{a.value=t.currentCamera.overlayFilename});const o=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Je):[]);return e.watch(a,()=>{n("onCameraChange",o.value.find(s=>s.overlayFilename===a.value))}),(s,l)=>{const d=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(d,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=m=>a.value=m),items:o.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Bo=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{a.value=t.currentDay.dayOfYear}),e.watch(a,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===a.value))});function o(s){const l=new Date(0);return l.setUTCDate(s),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,l)=>{const d=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{title:o(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(o(c.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),So={key:0,class:"py-2"},Eo={class:"small"},xo={class:"small"},No=R(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentTime.timeInHours),o=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{a.value=t.currentTime.timeInHours}),e.watch(a,()=>{n("onTimeChange",t.dayData.timeSamples.find(d=>d.timeInHours===a.value))});function s(d){const m=d*60,c=Math.floor(m/60),u=m%60;return`${c.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function l(){o.value?(clearInterval(o.value),o.value=void 0):(t.dayData.timeSamples.findIndex(m=>m.timeInHours===a.value)===t.dayData.timeSamples.length-1&&(a.value=t.dayData.timeSamples[0].timeInHours),o.value=setInterval(()=>{const m=t.dayData.timeSamples.findIndex(c=>c.timeInHours===a.value);m<t.dayData.timeSamples.length-1?a.value=t.dayData.timeSamples[m+1].timeInHours:(clearInterval(o.value),o.value=void 0)},200))}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(C,{variant:"solo"},{default:e.withCtx(()=>[d.dayData.startTime===d.dayData.endTime?(e.openBlock(),e.createElementBlock("div",So,[e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)])):(e.openBlock(),e.createBlock(v,{key:1,class:"pa-1",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value=p),min:d.dayData.startTime,max:d.dayData.endTime,step:d.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:o.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Eo,e.toDisplayString(s(d.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",xo,e.toDisplayString(s(d.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-f2649c45"]]),Io=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(i,{expose:r,emit:t}){const n=i,a=t;r({rotateShortestRoute:v});const o=e.ref(!1),s=e.ref(n.currentScene),l=e.ref(n.selectedId);e.watchEffect(()=>{s.value=n.currentScene}),e.watchEffect(()=>{l.value=n.selectedId}),e.watchEffect(()=>{a("onSceneChange",s.value)});const d=e.computed(()=>o.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[0]),m=e.computed(()=>o.value?!1:n.apartmentChooserData.loopable?!0:s.value!==n.apartmentChooserData.scenes[n.apartmentChooserData.scenes.length-1]);function c(){const p=s.value;let f=n.apartmentChooserData.scenes.findIndex(y=>y===p)+1;f>=n.apartmentChooserData.scenes.length&&(f=0);const h=n.apartmentChooserData.scenes[f];n.apartmentChooserData.loopable&&p>h,C(p,h)}async function u(){const p=s.value;let f=n.apartmentChooserData.scenes.findIndex(y=>y===p)-1;f<0&&(f=n.apartmentChooserData.scenes.length-1);const h=n.apartmentChooserData.scenes[f];n.apartmentChooserData.loopable&&p<h,C(p,h)}function v(p){const f=s.value;if(n.apartmentChooserData.loopable)if(p<f){let h=f-p,y=f-(n.apartmentChooserData.cameras.length+p);return Math.abs(h)>Math.abs(y)?C(f,p):C(f,n.apartmentChooserData.cameras.length+p)}else{let h=f-p,y=n.apartmentChooserData.cameras.length+f-p;return Math.abs(h)>Math.abs(y)?C(f,p):C(n.apartmentChooserData.cameras.length+f,p)}else return C(f,p)}function C(p,f){return new Promise(h=>{o.value=!0,a("onRotateStart",{from:p,to:f});let y,g=p;y=setInterval(()=>{g<f?(g++,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):g>f?(g--,s.value=Math.abs(g%n.apartmentChooserData.cameras.length)):(clearInterval(y),a("onRotateFinish",{from:p,to:f}),o.value=!1,h())},50)})}return(p,f)=>{const h=e.resolveComponent("v-btn"),y=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(h,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!d.value,onClick:u},null,8,["disabled"]),p.renderDisplay&&l.value?(e.openBlock(),e.createBlock(y,{key:0,variant:"flat",color:"white",size:"large",onClick:f[0]||(f[0]=g=>a("onDisplayClick",l.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.renderDisplay(l.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(h,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!m.value,onClick:c},null,8,["disabled"])],64)}}}),Do=["innerHTML"],Ao=R(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(t.selectedId),l=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const c in l){const{element:u,state:v}=l[c],{r:C,g:p,b:f,a:h,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${C}, ${p}, ${f}, ${h/255})`,u.style.stroke=`rgb(${C}, ${p}, ${f})`,u.style.strokeWidth=y.toString()}}),e.watch(s,()=>{for(const c in l)l[c].state==="selected"&&c!==s.value?l[c].state="idle":l[c].state!=="selected"&&c===s.value&&(l[c].state="selected")}),e.watchEffect(async()=>{a.value=await ie.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),m()}),e.watch(()=>o.value,()=>{o.value&&new ResizeObserver(d).observe(o.value)});function d(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;if(c){if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",o.value.offsetWidth.toString()),c.setAttribute("height",o.value.offsetHeight.toString())}})}function m(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;c&&(n("updateSvgContainer",c),d(),c.querySelectorAll("[data-apartment-id]").forEach(C=>{C.style.strokeWidth="0",C.style.stroke="rgba(255,255,255,0)",C.style.fill="rgba(255,255,255,0)",C.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=C.getAttribute("data-apartment-id");l[p]={element:C,state:s.value===p?"selected":"idle"},C.addEventListener("mouseover",()=>{l[p].state==="idle"&&(l[p].state="hover"),n("onHoverOver",p)}),C.addEventListener("mouseout",()=>{l[p].state==="hover"&&(l[p].state="idle"),n("onHoverOut",p)}),C.addEventListener("click",()=>{n("onClick",p)})}))})}return(c,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:o,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:a.value},null,8,Do))]),_:1}))}}),[["__scopeId","data-v-09ccd2d0"]]),Fo="data:image/png;base64,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",Ee=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(i){const r=i,t=e.computed(()=>({transform:`rotate(${90-(r.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(n,a)=>{const o=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(o,{src:e.unref(Fo),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class Ie{constructor(r){ee(this,"_buildingIds");this._buildingIds=r}static empty(){return new Ie([])}getBuildingId(r,t,n){const a=this._getBuildingIndex(r,t,n);if(a!==void 0)return this._buildingIds[a]}_getBuildingIndex(r,t,n){const[a,o,s,l]=r.getPixel(t,n);if(l===255&&a===o&&o===s)return a}}const To=180;class st{constructor(r){ee(this,"_cdnFileResolver");ee(this,"_resourceLoader");this._cdnFileResolver=r,this._resourceLoader=new ie}constructFileUrl(r){return this._cdnFileResolver?Q(this._cdnFileResolver,`/${r}`):null}loadBuildingMapImage(r){const t=this.constructFileUrl(r.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(r){return r.cameraRotation&&r.cameraRotation.y+270}getBuildingData(r){const t=r?r.buildings:[],n=t.map(o=>o.id),a=t.map(o=>({id:o.id,url:this.constructFileUrl(o.overlayFilename)}));return{buildingIds:n,buildingOverlays:a}}getBackgroundImageData(r){return"days"in r?this.processMultipleDays(r.days):[this.processTimeSamples(To,r.timeSamples)]}processMultipleDays(r){return r.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(r,t){return{urls:t.map(a=>this.constructFileUrl(a.filename)),referenceDate:this.makeReferenceDate(r)}}makeReferenceDate(r){const t=new Date(0);return t.setUTCDate(r),t}async loadBuildingChooser(r){try{if(r){const t=await this.loadBuildingMapImage(r);if(t){const n=this.getViewLongitude(r),{buildingIds:a,buildingOverlays:o}=this.getBuildingData(r),s=this.getBackgroundImageData(r);return{mapImage:t,viewLongitude:n,buildingIds:a,buildingOverlays:o,backgrounds:s}}}return null}catch{return null}}}class De{constructor(r){ee(this,"_mapImage");ee(this,"_context");this._mapImage=r,this._context=null}static empty(){return new De(null)}update(r){this._mapImage&&(this._context=r.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,r.width,r.height))}getPixel(r,t){try{return this._context?this._context.getImageData(r,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const Lo=new Date(0);class Ue{constructor(r){ee(this,"_imagesByDay");ee(this,"_state");this._imagesByDay=r,this._state={selectedIndex:0}}static empty(){return new Ue([{referenceDate:Lo,urls:[]}])}selectIndex(r){r<this._imagesByDay.length&&(this._state.selectedIndex=r)}get dates(){return this._imagesByDay.map(r=>r.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 $e(i){return("0"+i).slice(-2)}function Mo(){const i=new Date;return[i.getFullYear().toString(),$e(i.getMonth()+1),$e(i.getDate())," ",$e(i.getHours()),$e(i.getMinutes()),$e(i.getSeconds())].join("")}function $o(){return"Visuado-Snapshot-"+Mo()}class Oo{constructor(r,t){ee(this,"data");this.data=r}download(r=null){r=r||$o();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=r,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}function ct(i){const r=i.sceneData.map(l=>({unitId:l.apartmentID,bestScene:l.bestScene})),t="1280",n=[4,1,2,3],a=[];for(let l=1;l<=64;l++){const d=l.toString().padStart(4,"0")+".jpg";a.push(d)}const o=a.map(l=>({filename:`/${t}/${l}`}));for(let l=0;l<i.scenes.length;l++){let d=i.scenes[l],m,c;m=o[d],c={cameraName:`Kamera ${l+1}`,cameraPosition:{x:0,y:0,z:0},cameraRotation:null,cameraFov:0,overlayFilename:`/scenedata${n[l]}V5Overlay.svg`,sunsimDayOfYear:[{dayOfYear:179,startTime:14,endTime:14,interval:1,defaultHour:14,timeSamples:[{timeInHours:14,filename:m.filename}]}]},Xe(o[d])&&(o[d]=c)}return{version:"5.0",latitude:0,longitude:0,building:{id:"",name:""},scenes:i.scenes,loopable:!0,renderVersion:i.renderVersion?i.renderVersion:"Auto Converted",unitData:r,cameras:o}}const Ro={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Uo={class:"pa-1"},Ho={class:"pa-1"},zo={class:"pa-1"},Yo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},Po={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},jo=["innerHTML"],Wo={style:{"z-index":"7"}},Go=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(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(),l=e.ref(null),d=e.ref(4),m=e.ref(),c=e.ref(!1),u=e.ref(!1),v=e.ref(),C=e.ref(),p=e.computed(()=>C.value.isHoverEnabled),f=e.ref({x:0,y:0,width:0,height:0}),h=e.ref(),y=e.ref(),g=e.ref(t.apartmentChooserData),x=e.ref(!1);e.onMounted(()=>{c.value=!0}),e.watch(c,I=>{I&&n("onInitialize")}),e.watch(()=>y.value,()=>{y.value&&new ResizeObserver(([S])=>{x.value=S.contentRect.width<t.mobileBreakpoint}).observe(y.value)});const V=e.computed(()=>g.value?g.value.cameras.filter(Je):[]),F=e.computed(()=>g.value?g.value.cameras.filter(Xe):[]),w=async()=>{try{let I,S;return S=await ie.loadJson(Q(t.cdnFileResolver,"/apartmentChooser.json")),parseInt(S.version)===5?S:(I=ct(S),I)}catch(I){c.value=!1,n("onError",I)}};e.watch([g,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(g.value||(g.value=await w()),t.defaultCamera?a.value=V.value.find(I=>I.cameraName===t.defaultCamera)||V.value[0]:a.value=V.value[0],d.value=g.value.cameras.findIndex(I=>I===a.value),d.value=Math.max(0,d.value))},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{g.value&&t.cdnFileResolver&&(t.defaultDay?o.value=a.value.sunsimDayOfYear.find(I=>I.dayOfYear===t.defaultDay)||a.value.sunsimDayOfYear[0]:o.value=a.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([g,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{g.value&&t.cdnFileResolver&&(t.defaultTime?s.value=o.value.timeSamples.find(I=>I.timeInHours===t.defaultTime)||o.value.timeSamples[0]:s.value=o.value.timeSamples.find(I=>I.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])},{immediate:!0});function B(I){a.value!==I&&v.value.rotateShortestRoute(g.value.cameras.findIndex(S=>S===I))}function U(I){d.value=I,Xe(g.value.cameras[d.value])?l.value=g.value.cameras[d.value]:(e.nextTick(()=>{N(g.value.cameras[d.value])}),l.value=null)}function N(I){const S=o.value;a.value=I,d.value=g.value.cameras.findIndex(M=>M===a.value),e.nextTick(()=>{z(a.value.sunsimDayOfYear.find(M=>M.dayOfYear===S.dayOfYear)||a.value.sunsimDayOfYear[0])})}function z(I){const S=s.value;o.value=I,e.nextTick(()=>{_(o.value.timeSamples.find(M=>M.timeInHours===S.timeInHours)||o.value.timeSamples.find(M=>M.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])})}function _(I){s.value=I}function k(I){n("onClick",I,()=>{const S=g.value.unitData.find(M=>M.unitId===I);S&&v.value.rotateShortestRoute(S.bestScene)})}function D(I){n("onHoverOver",I),m.value=I}function L(I){n("onHoverOut",I),m.value=void 0}function J(I){const{layerX:S,layerY:M}=I;let $=I.target,Y=!1;for(;$;)if($===h.value){Y=!0;break}else $=$.parentElement;if(Y){const G=I.currentTarget;f.value={x:S,y:M,width:G.clientWidth,height:G.clientHeight}}else f.value=void 0;n("onMouseMove",I,f.value)}return(I,S)=>{const M=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(M,{type:"image",class:"w-100 h-100 position-relative",loading:!c.value||!g.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:y,class:e.normalizeClass({mobile:x.value}),onMousemove:J},[e.createElementVNode("div",Ro,[e.createElementVNode("div",Uo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Vo,{key:0,"apartment-chooser-data":g.value,"current-camera":a.value,disabled:u.value,onOnCameraChange:B},null,8,["apartment-chooser-data","current-camera","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ho,[a.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(Bo,{key:0,"camera-data":a.value,"current-day":o.value,disabled:u.value,onOnDayChange:z},null,8,["camera-data","current-day","disabled"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",zo,[o.value.timeSamples.length>1?(e.openBlock(),e.createBlock(No,{key:0,"day-data":o.value,"current-time":s.value,disabled:u.value,onOnTimeChange:_},null,8,["day-data","current-time","disabled"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Yo,[g.value.cameras.length>1?(e.openBlock(),e.createBlock(Io,{key:0,ref_key:"rotator",ref:v,"apartment-chooser-data":g.value,"current-scene":d.value,"selected-id":I.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:k,onOnSceneChange:U,onOnRotateStart:S[0]||(S[0]=$=>u.value=!0),onOnRotateFinish:S[1]||(S[1]=$=>u.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Po,[a.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,longitude:a.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(Se,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,$=>(e.openBlock(),e.createBlock(ko,{key:$.overlayFilename,"camera-data":$,"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(F.value,$=>(e.openBlock(),e.createBlock(wo,{"transition-data":$,"cdn-file-resolver":t.cdnFileResolver,"current-transition":l.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,jo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Ao,{"cdn-file-resolver":I.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":a.value,"selected-id":t.selectedId,onOnClick:k,onOnHoverOver:D,onOnHoverOut:L,onUpdateSvgContainer:S[2]||(S[2]=$=>h.value=$)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,l.value===null]])]),_:1}),I.$slots.popup&&f.value&&m.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":p.value,pos:f.value},{default:e.withCtx(()=>[e.createElementVNode("div",Wo,[e.renderSlot(I.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:m.value,hoverable:p.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:C},null,512)],64)}}}),[["__scopeId","data-v-0310f66a"]]),qo={class:"sunsim-bar-wrapper"},Qo={class:"sunsim-date d-flex align-center pl-5 pr-5"},Zo={key:1,class:"text-center text-body-1"},Jo={class:"sunsim-wrapper d-flex align-center px-3"},Xo={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},dt=R(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.modelValue),o=e.ref();function s(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const l=e.computed(()=>{const c=Math.floor(a.value/2).toString().padStart(2,"0"),u=a.value%2===0?"00":"30";return`${c}:${u}`}),d=e.computed(()=>t.dateSelector.dates.map(s)),m=e.computed({get(){return s(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(d.value.indexOf(c))}});return e.watch(a,c=>{n("update:modelValue",c)}),e.watch(o,c=>{t.dateSelector.selectIndex(d.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{a.value=Math.floor(c)}),e.watchEffect(()=>{o.value=s(t.dateSelector.selectedDate)}),(c,u)=>{const v=e.resolveComponent("v-icon"),C=e.resolveComponent("v-select"),p=e.resolveComponent("v-progress-linear"),f=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",qo,[e.createElementVNode("div",Qo,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(C,{key:0,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=h=>o.value=h),items:d.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(m.value),1))]),e.createElementVNode("div",Jo,[e.createElementVNode("span",Xo,e.toDisplayString(l.value),1),e.createVNode(v,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),c.isLoading?(e.openBlock(),e.createBlock(p,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(f,{key:1,modelValue:a.value,"onUpdate:modelValue":u[1]||(u[1]=h=>a.value=h),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"]]),Ko={key:0},en=["src"],mt=R(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(i,{emit:r}){const t=i,n=r,a=e.ref("init"),o=e.ref(new qe(0)),s=e.ref();e.watch(()=>t.imageUrls,m=>{n("reset"),d(m)}),e.onMounted(()=>{d(t.imageUrls),new ResizeObserver(m=>{window.requestAnimationFrame(()=>{const c=m[0].contentRect.width,u=m[0].contentRect.height;n("resize",{width:c,height:u})})}).observe(s.value)});function l(){a.value="preloaded",n("preloaded")}function d(m){a.value="init",s.value.src=m[0],o.value=new qe(m.length).onLoadFinished(()=>{a.value="loaded",n("ready")})}return(m,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:l},null,544),a.value==="preloaded"||a.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Ko,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.imageUrls,(u,v)=>(e.openBlock(),e.createElementBlock("img",{key:v,class:e.normalizeClass({"image-instance":!0,active:v===m.activeIndex}),src:u,onLoad:c[0]||(c[0]=C=>o.value.partLoaded())},null,42,en))),128))],512)),[[e.vShow,a.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),tn={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},on={class:"image-instances"},nn={key:0},an={class:"svg-container"},rn=["viewBox"],ln=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],sn=["innerHTML"],cn=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(i,{emit:r}){const t=i,n=r;e.provide(me,t.i18nConfig?new fe(t.i18nConfig):new fe);const a=e.ref({preloaded:!1,ready:!1}),o=e.ref({width:0,height:0}),s=e.ref({x:0,y:0,width:0,height:0}),l=e.ref(),d=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),m=e.ref(!1),c=e.ref(new ie),u=e.ref(),v=e.ref("0 0 0 0"),C=e.ref(),p=e.ref(),f=e.ref(Ie.empty()),h=e.ref(De.empty()),y=e.ref(),g=e.computed(()=>y.value.isHoverEnabled);e.watch(l,(_,k)=>{_?n("hoverOverBuilding",_):n("hoverOutBuilding",k)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[_,k,D]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(D);d.value=parseInt(k)*2+(L<15?0:L>45?2:1)}}),e.onMounted(async()=>{const k=await new st(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(k){h.value=new De(k.mapImage),f.value=new Ie(k.buildingIds),C.value=new Ue(k.backgrounds),p.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude};const D=[];for(let{id:L,url:J}of k.buildingOverlays)c.value.loadJson(J.replace(".png",".svg")).then(I=>{const M=new DOMParser().parseFromString(I,"image/svg+xml").getElementsByTagName("svg")[0];v.value=M.getAttribute("viewBox"),D.push({id:L,svg:M.innerHTML})});u.value=D}else m.value=!0});function x({width:_,height:k}){o.value.width=_,o.value.height=k}function V(){a.value={preloaded:!1,ready:!1}}function F(_){const k=t.colorCallback(_,_===l.value?"hover":"idle"),D=[];return _===l.value?D.push("hover"):D.push("idle"),k&&t.canGoToBuildingCallback(_)?D.push("clickable"):D.push("restricted"),D.join(" ")}function w(_){const k=t.colorCallback(_,_===l.value?"hover":"idle");if(k){const{r:D,g:L,b:J,a:I,s:S}=k;return{strokeWidth:S!==void 0?S:2,stroke:`rgb(${D}, ${L}, ${J})`,strokeOpacity:1,fill:`rgb(${D}, ${L}, ${J})`,fillOpacity:I/255,cursor:`${t.canGoToBuildingCallback(_)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function B(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height},l.value=k,n("hoverOverBuilding",k))}function U(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height},l.value=void 0,n("hoverOutBuilding",k))}function N(_,k){const{layerX:D,layerY:L}=_;g.value&&(s.value={x:D,y:L,width:o.value.width,height:o.value.height})}function z(_){l.value=_,g.value&&l.value&&t.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value)}return(_,k)=>{const D=e.resolveComponent("v-icon");return m.value?(e.openBlock(),e.createElementBlock("div",tn,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${o.value.height}px; position: relative`),class:"image-container"},[e.createVNode(Se,{desktop:_.interactiveDesktop,mobile:_.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",on,[e.createVNode(mt,{"image-urls":C.value.imageUrls,"active-index":d.value,onResize:x,onPreloaded:k[0]||(k[0]=L=>a.value.preloaded=!0),onReady:k[1]||(k[1]=L=>a.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),u.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",an,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({id:L,svg:J},I)=>(e.openBlock(),e.createElementBlock("g",{key:I,innerHTML:J,"data-building-id":L,class:e.normalizeClass(F(L)),style:e.normalizeStyle(w(L)),onMouseover:S=>B(S,L),onMouseout:S=>U(S,L),onMousemove:S=>N(S),onClick:S=>z(L)},null,46,ln))),128))],8,rn))])],512)),[[e.vShow,a.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:_.customOverlayContent},null,8,sn),[[e.vShow,a.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[p.value.viewLongitude?(e.openBlock(),e.createBlock(Ee,{key:0,class:"north-indicator",longitude:p.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(dt,{modelValue:d.value,"onUpdate:modelValue":k[2]||(k[2]=L=>d.value=L),"date-selector":C.value,"is-loading":!a.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,a.value.preloaded]]),_.showCards&&l.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":g.value,pos:s.value,onOutside:k[3]||(k[3]=()=>l.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{building:l.value,canGoToBuilding:_.canGoToBuildingCallback(l.value),goToBuilding:()=>_.canGoToBuildingCallback(l.value)&&n("goToBuilding",l.value),pos:s.value,isHoverable:g.value,close:()=>l.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(_e,{ref_key:"hoverProbe",ref:y},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9be2e160"]]),dn=R(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(i,{expose:r}){const t=i;r({setupDraw:c});const n=e.ref(!1),a=e.ref(),o=e.ref(new ie),s=e.ref(),l=e.ref(),d=e.ref([]),m=e.ref();e.watch(()=>t.color,(C,p)=>{(C.r!==p.r||C.g!==p.g||C.b!==p.b||C.a!==p.a)&&u()}),e.onMounted(async()=>{a.value=await o.value.loadImage(t.imageUrl),c()});function c(){if(!a.value||!m.value)return;const{width:C,height:p}=t.dimensions;if(!(C===0||p===0)){s.value=m.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(a.value,0,0,C,p),l.value=s.value.getImageData(0,0,C,p);for(let f=3;f<l.value.data.length;f+=4)l.value.data[f]!==0&&d.value.push(f);u(),n.value=!0}}function u(){s.value&&l.value&&(v(),s.value.putImageData(l.value,0,0))}function v(){if(t.color)for(let C=0;C<d.value.length;C++)l.value.data[d.value[C]-3]=t.color.r,l.value.data[d.value[C]-2]=t.color.g,l.value.data[d.value[C]-1]=t.color.b,l.value.data[d.value[C]]=t.color.a}return(C,p)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:m,class:"overlay"},C.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),mn={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},un={class:"image-instances"},pn=["innerHTML"],fn=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(i,{emit:r}){const t=i,n=r;e.provide(me,t.i18nConfig?new fe(t.i18nConfig):new fe);const a=e.ref(),o=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),l=e.ref({x:0,y:0,width:0,height:0}),d=e.ref(),m=e.ref(Ie.empty()),c=e.ref(De.empty()),u=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),C=e.ref((_,k)=>({x:_,y:k})),p=e.ref(!1),f=e.ref(),h=e.ref(),y=e.ref(),g=e.computed(()=>{var _;return(_=f.value)==null?void 0:_.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[_,k,D]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),L=parseInt(D);v.value=parseInt(k)*2+(L<15?0:L>45?2:1)}}),e.watch(u,(_,k)=>{_?n("hoverOverBuilding",_):n("hoverOutBuilding",k)}),e.onMounted(async()=>{const k=await new st(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);k?(c.value=new De(k.mapImage),m.value=new Ie(k.buildingIds),a.value=new Ue(k.backgrounds),d.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude},w()):p.value=!0});function x({width:_,height:k}){s.value.width=_,s.value.height=k,e.nextTick(w)}function V(){o.value={preloaded:!1,ready:!1}}function F(_){const{layerX:k,layerY:D}=_,{x:L,y:J}=C.value(k,D);return m.value.getBuildingId(c.value,L,J)}function w(){if(h.value&&(c.value.update(h.value),y.value))for(const _ of y.value)_.setupDraw()}function B(_){const{layerX:k,layerY:D}=_;g.value&&(u.value=F(_),u.value!==void 0&&(l.value={x:k,y:D,width:s.value.width,height:s.value.height}))}function U(_){u.value=F(_),g.value&&u.value&&n("goToBuilding",u.value)}function N(_){return t.colorCallback(_,_===u.value?"hover":"idle")}function z({resolve:_}){C.value=_}return(_,k)=>{const D=e.resolveComponent("v-icon");return p.value?(e.openBlock(),e.createElementBlock("div",mn,[e.createVNode(D,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):d.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(Se,{desktop:_.interactiveDesktop,mobile:_.interactiveMobile,onUpdate:z},{default:e.withCtx(()=>[e.createElementVNode("div",un,[e.createVNode(mt,{"image-urls":a.value.imageUrls,"active-index":v.value,onResize:x,onPreloaded:k[0]||(k[0]=L=>o.value.preloaded=!0),onReady:k[1]||(k[1]=L=>o.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value.buildingOverlays,L=>(e.openBlock(),e.createBlock(dn,{ref_for:!0,ref_key:"overlays",ref:y,key:L.id,"image-url":L.url,dimensions:s.value,color:N(L.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,o.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:h,class:{hover:!!u.value},onClick:U,onMousemove:B}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:_.customOverlayContent},null,8,pn),[[e.vShow,o.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[d.value.viewLongitude?(e.openBlock(),e.createBlock(Ee,{key:0,class:"north-indicator",longitude:d.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(dt,{modelValue:v.value,"onUpdate:modelValue":k[2]||(k[2]=L=>v.value=L),"date-selector":a.value,"is-loading":!o.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,o.value.preloaded]]),_.showCards&&u.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":g.value,pos:l.value,onOutside:k[3]||(k[3]=()=>u.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(_.$slots,"default",{building:u.value,canGoToBuilding:_.canGoToBuildingCallback(u.value),goToBuilding:()=>_.canGoToBuildingCallback(u.value)&&n("goToBuilding",u.value),pos:l.value,isHoverable:g.value,close:()=>u.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(_e,{ref_key:"hoverProbe",ref:f},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5402374e"]]),ut=e.defineComponent({__name:"VBuildingChooser",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(i,{emit:r}){const t=i,n=r,a=e.computed(()=>t.useSvg?cn:fn);return(o,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.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]=l=>n("goToBuilding",l)),onHoverOverBuilding:s[1]||(s[1]=l=>n("hoverOverBuilding",l)),onHoverOutBuilding:s[2]||(s[2]=l=>n("hoverOutBuilding",l))},e.createSlots({_:2},[e.renderList(Object.keys(o.$slots),l=>({name:l,fn:e.withCtx(d=>[e.renderSlot(o.$slots,l,e.normalizeProps(e.guardReactiveProps(d)))])}))]),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"]))}}),hn=["src"],gn=R(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,t=e.computed(()=>Q(r.cdnFileResolver,r.timeSampleData.filename));return(n,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,hn)),[[e.vShow,n.timeSampleData===n.currentTime]])}}),[["__scopeId","data-v-9866b8c2"]]),yn=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.dayData.timeSamples,a=>(e.openBlock(),e.createBlock(gn,{"time-sample-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),vn=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i;return(t,n)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.cameraData.sunsimDayOfYear,a=>(e.openBlock(),e.createBlock(yn,{"day-data":a,"cdn-file-resolver":r.cdnFileResolver,"current-time":r.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Cn=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentCamera.overlayFilename);return e.watch(a,()=>{n("onCameraChange",t.buildingChooserData.cameras.find(o=>o.overlayFilename===a.value))}),(o,s)=>{const l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:a.value,"onUpdate:modelValue":s[0]||(s[0]=d=>a.value=d),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),kn=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{a.value=t.currentDay.dayOfYear}),e.watch(a,()=>{n("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===a.value))});function o(s){const l=new Date(0);return l.setUTCDate(s),l.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,l)=>{const d=e.resolveComponent("v-list-item"),m=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(m,{modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=c=>a.value=c),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(d,e.mergeProps(c,{title:o(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(o(c.title)),1)]),_:1},8,["modelValue","items"])}}}),_n={key:0,class:"py-2"},wn={class:"small"},bn={class:"small"},Vn=R(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(t.currentTime.timeInHours),o=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{a.value=t.currentTime.timeInHours}),e.watch(a,()=>{n("onTimeChange",t.dayData.timeSamples.find(d=>d.timeInHours===a.value))});function s(d){const m=d*60,c=Math.floor(m/60),u=m%60;return`${c.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}`}function l(){o.value?(clearInterval(o.value),o.value=void 0):(t.dayData.timeSamples.findIndex(m=>m.timeInHours===a.value)===t.dayData.timeSamples.length-1&&(a.value=t.dayData.timeSamples[0].timeInHours),o.value=setInterval(()=>{const m=t.dayData.timeSamples.findIndex(c=>c.timeInHours===a.value);m<t.dayData.timeSamples.length-1?a.value=t.dayData.timeSamples[m+1].timeInHours:(clearInterval(o.value),o.value=void 0)},200))}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(C,{variant:"solo"},{default:e.withCtx(()=>[d.dayData.startTime===d.dayData.endTime?(e.openBlock(),e.createElementBlock("div",_n,[e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)])):(e.openBlock(),e.createBlock(v,{key:1,class:"pa-1",modelValue:a.value,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value=p),min:d.dayData.startTime,max:d.dayData.endTime,step:d.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{icon:o.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:l},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",wn,e.toDisplayString(s(d.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",bn,e.toDisplayString(s(d.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(c,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(a.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-42a733f4"]]),Bn=["innerHTML"],Sn=R(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(t.selectedId),l=e.reactive({});e.watchEffect(()=>{for(const c in l){const{element:u,state:v}=l[c],{r:C,g:p,b:f,a:h,s:y}=t.colorCallback(c,v)||{r:0,g:0,b:0,a:0,s:0};u.style.fill=`rgba(${C}, ${p}, ${f}, ${h/255})`,u.style.stroke=`rgb(${C}, ${p}, ${f})`,u.style.strokeWidth=y.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const c in l)l[c].state==="selected"&&c!==s.value?l[c].state="idle":l[c].state!=="selected"&&c===s.value&&(l[c].state="selected")}),e.watchEffect(async()=>{a.value=await ie.loadText(Q(t.cdnFileResolver,t.currentCamera.overlayFilename)),m()}),e.watch(()=>o.value,()=>{o.value&&new ResizeObserver(d).observe(o.value)});function d(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;if(!c.hasAttribute("viewBox")){const v=`0 0 ${c.getAttribute("width")} ${c.getAttribute("height")}`;c.setAttribute("viewBox",v)}c.setAttribute("width",o.value.offsetWidth.toString()),c.setAttribute("height",o.value.offsetHeight.toString())})}function m(){e.nextTick(()=>{var u;const c=(u=o.value)==null?void 0:u.firstChild;c&&(n("updateSvgContainer",c),d(),c.querySelectorAll("[data-building-id]").forEach(C=>{C.style.strokeWidth="0",C.style.stroke="rgba(255,255,255,0)",C.style.fill="rgba(255,255,255,0)",C.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=C.getAttribute("data-building-id");l[p]={element:C,state:s.value===p?"selected":"idle"},C.addEventListener("mouseover",()=>{l[p].state==="idle"&&(l[p].state="hover"),n("onHoverOver",p)}),C.addEventListener("mouseout",()=>{l[p].state==="hover"&&(l[p].state="idle"),n("onHoverOut",p)}),C.addEventListener("click",()=>{n("onClick",p)})}))})}return(c,u)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:o,key:c.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:a.value},null,8,Bn))]),_:1}))}}),[["__scopeId","data-v-61c8ae69"]]);function pt(i){const r={version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,buildings:i.buildings.map(a=>({id:a.id,name:a.name})),cameras:[]};let t=[];i.days?t=i.days.map(a=>({dayOfYear:a.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:a.timeSamples.map(o=>({timeInHours:o.timeInHours,filename:`/${o.filename}`}))})):t=[{dayOfYear:180,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:i.timeSamples.map(a=>({timeInHours:a.timeInHours,filename:`/${a.filename}`}))}];const n={cameraName:"Default",cameraPosition:i.cameraPosition,cameraRotation:i.cameraRotation,cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",sunsimDayOfYear:t};return r.cameras.push(n),r}const En={class:"actions-bar compact top-left d-flex w-100 justify-space-around align-center",style:{"z-index":"6"}},xn={key:0,class:"pa-1"},Nn={class:"pa-1"},In={class:"pa-1 flex-grow-1"},Dn={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},An=["innerHTML"],Fn={style:{"z-index":"7"}},Tn=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(i,{emit:r}){const t=i,n=r,a=e.ref(),o=e.ref(),s=e.ref(),l=e.ref(),d=e.ref(!1),m=e.ref(),c=e.computed(()=>m.value.isHoverEnabled),u=e.ref({x:0,y:0,width:0,height:0}),v=e.ref(),C=e.ref(),p=e.ref(t.buildingChooserData),f=e.ref(!1);e.onMounted(()=>d.value=!0),e.watch(d,B=>{B&&n("onInitialize")}),e.watch(()=>C.value,()=>{C.value&&new ResizeObserver(([U])=>{f.value=U.contentRect.width<t.mobileBreakpoint}).observe(C.value)});const h=async()=>{try{let B;if(!t.cdnFileResolver)return B;let U;return U=await ie.loadJson(Q(t.cdnFileResolver,"/buildingChooser.json")),parseInt(U.version)===5?U:(B=pt(U),B)}catch(B){d.value=!1,n("onError",B)}};e.watch([p,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(p.value||(p.value=await h()),t.defaultCamera?a.value=p.value.cameras.find(B=>B.cameraName===t.defaultCamera)||p.value.cameras[0]:a.value=p.value.cameras[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{p.value&&t.cdnFileResolver&&(t.defaultDay?o.value=a.value.sunsimDayOfYear.find(B=>B.dayOfYear===t.defaultDay)||a.value.sunsimDayOfYear[0]:o.value=a.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{p.value&&t.cdnFileResolver&&(t.defaultTime?s.value=o.value.timeSamples.find(B=>B.timeInHours===t.defaultTime)||o.value.timeSamples[0]:s.value=o.value.timeSamples.find(B=>B.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])},{immediate:!0});function y(B){const U=o.value;a.value=B,e.nextTick(()=>{g(a.value.sunsimDayOfYear.find(N=>N.dayOfYear===U.dayOfYear)||a.value.sunsimDayOfYear[0])})}function g(B){const U=s.value;o.value=B,e.nextTick(()=>{x(o.value.timeSamples.find(N=>N.timeInHours===U.timeInHours)||o.value.timeSamples.find(N=>N.timeInHours===o.value.defaultHour)||o.value.timeSamples[0])})}function x(B){s.value=B}function V(B){n("onHoverOver",B),l.value=B}function F(B){n("onHoverOut",B),l.value=void 0}function w(B){const{layerX:U,layerY:N}=B;let z=B.target,_=!1;for(;z;)if(z===v.value){_=!0;break}else z=z.parentElement;if(_){const k=B.currentTarget;u.value={x:U,y:N,width:k.clientWidth,height:k.clientHeight}}else u.value=void 0;n("onMouseMove",B,u.value)}return(B,U)=>{const N=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(N,{type:"image",class:"w-100 h-100 position-relative",loading:!d.value||!p.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:C,class:e.normalizeClass({mobile:f.value}),onMousemove:w},[e.createElementVNode("div",En,[p.value.cameras.length>1?(e.openBlock(),e.createElementBlock("div",xn,[e.createVNode(Cn,{"building-chooser-data":p.value,"current-camera":a.value,onOnCameraChange:y},null,8,["building-chooser-data","current-camera"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Nn,[a.value.sunsimDayOfYear.length>1?(e.openBlock(),e.createBlock(kn,{key:0,"camera-data":a.value,"current-day":o.value,onOnDayChange:g},null,8,["camera-data","current-day"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",In,[o.value.timeSamples.length>1?(e.openBlock(),e.createBlock(Vn,{key:0,"day-data":o.value,"current-time":s.value,onOnTimeChange:x},null,8,["day-data","current-time"])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Dn,[a.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,longitude:a.value.cameraRotation.y+270},null,8,["longitude"])):e.createCommentVNode("",!0)]),e.createVNode(Se,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value.cameras,z=>(e.openBlock(),e.createBlock(vn,{key:z.overlayFilename,"camera-data":z,"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,An)):e.createCommentVNode("",!0),e.createVNode(Sn,{"cdn-file-resolver":B.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":a.value,"selected-id":t.selectedId,onOnClick:U[0]||(U[0]=z=>n("onClick",z)),onOnHoverOver:V,onOnHoverOut:F,onUpdateSvgContainer:U[1]||(U[1]=z=>v.value=z)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),B.$slots.popup&&u.value&&l.value?(e.openBlock(),e.createBlock(Be,{key:0,"is-hoverable":c.value,pos:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",Fn,[e.renderSlot(B.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:l.value,hoverable:c.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:m},null,512)],64)}}}),[["__scopeId","data-v-47df87bc"]]);var Ae={};Object.defineProperty(Ae,"__esModule",{value:!0});var Ln=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},Mn=typeof window<"u"&&typeof window.document<"u",$n=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,On=(typeof self>"u"?"undefined":Ln(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Rn=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Un=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Hn=Ae.isBrowser=Mn;Ae.isWebWorker=On,Ae.isNode=$n,Ae.isJsDom=Rn,Ae.isDeno=Un;const zn={id:"player-wrapper"},Yn={id:"player-sizer"},Pn={class:"player-control",id:"controls-top-left"},jn={class:"player-control",id:"controls-top-center"},Wn={class:"player-control",id:"controls-top-right"},Gn={class:"player-control",id:"controls-center-left"},qn={class:"player-control",id:"controls-center-center"},Qn={class:"player-control",id:"controls-center-right"},Zn={class:"player-control",id:"controls-bottom-left"},Jn={class:"player-control",id:"controls-bottom-center"},Xn={class:"player-control",id:"controls-bottom-right"},Kn={id:"main-canvas"},ea=R(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","sunsimCallback","playerApiCallback","newSizeCallback"],setup(i,{emit:r}){const t=Ut.PlayerV2,n=i,{cdnFileResolver:a,interiorId:o,apartmentId:s,currentCameraId:l,showStaticImage:d,mouseSensitivity:m}=e.toRefs(n),c=r,u=e.ref(),v=e.ref(l.value),C=e.ref(0),p=e.ref(0);e.watch(l,()=>{v.value=l.value}),e.watch([o,s],async()=>{u.value&&await u.value.loadInterior(y=>Q(a.value,`/${o.value}/${s.value}${y}`),v.value,!1)}),e.watch(v,()=>{u.value&&u.value.goToCamera(v.value,!0),c("newCameraCallback",v.value)},{immediate:!0}),e.watch([a],async()=>{await h(),e.nextTick(async()=>{await f()})},{immediate:!0,deep:!0}),e.watch(u,()=>{if(u.value){c("playerApiCallback",u.value);const y=u.value.getCurrentCamera();y&&(v.value=y.id,c("sunsimCallback",y.sunsimDayOfYear))}});async function f(){h();const V={initialized:()=>{u.value=t.Main.getPlayerAPI();const w=u.value.getCurrentCamera();w&&(v.value=w.id)},newCamera:w=>{c("newFloorCallback",w.floorLevel),c("sunsimCallback",w.sunsimDayOfYear),u.value&&u.value.resetMarkerBehaviour(0),v.value=w.id},newFOV:w=>{c("newFovCallback",w),p.value=w},newRotation:w=>{const B=w+0;c("newRotationCallback",B),C.value=B}};if(!Hn)return;const F=await new t.Main(w=>Q(a.value,`/${o.value}/${s.value}${w}`),"qpc",V,void 0,v.value);F&&(F.handleWindowResize(),window.addEventListener("resize",F.handleWindowResize.bind(F)),F.animate(),u.value=t.Main.getPlayerAPI(),u.value&&u.value.setLookSensitivity(m.value))}async function h(){u.value&&(await u.value.destroy(),u.value=void 0)}return e.onBeforeUnmount(()=>{h()}),(y,g)=>(e.openBlock(),e.createElementBlock("div",zn,[e.createElementVNode("div",Yn,[e.renderSlot(y.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Pn,[e.renderSlot(y.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",jn,[e.renderSlot(y.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Wn,[e.renderSlot(y.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Gn,[e.renderSlot(y.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",qn,[e.renderSlot(y.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Qn,[e.renderSlot(y.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Zn,[e.renderSlot(y.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Jn,[e.renderSlot(y.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Xn,[e.renderSlot(y.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Kn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(e.unref(d)?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-4e601038"]]),ta={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},oa=["stroke"],na=["stroke"],aa={class:"floor-level-label"},ra=R(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me),o=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),s=e.computed(()=>o.value.indexOf(t.level)+1<=o.value.length/2?"lower":"upper"),l=e.computed(()=>s.value==="lower"),d=e.computed(()=>s.value==="upper");function m(){const c=t.level+1;c>=o.value.length?n("level",o.value[0]):n("level",o.value[c])}return(c,u)=>{const v=e.resolveComponent("v-btn"),C=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(C,{right:"",attach:""},{activator:e.withCtx(({props:p})=>[e.createVNode(v,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},p,{onClick:m}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",ta,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:d.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,oa),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:l.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,na)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",aa,e.toDisplayString(e.unref(a).getLabel(s.value))+" "+e.toDisplayString(e.unref(a).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),la={class:"d-none d-md-inline"},ia={class:"interior-selector-list"},sa=["onClick"],ca={class:"d-flex align-center justify-left pa-0 ma-0"},da={class:"pa-0 ma-0"},ma={class:"text-caption ma-2 no-wrap"},ua=R(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me);return(o,s)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),m=e.resolveComponent("v-img"),c=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(c,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(d,e.mergeProps({rounded:""},u,{class:"text-capitalize"}),{default:e.withCtx(()=>[e.createVNode(l,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",la,e.toDisplayString(e.unref(a).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("div",ia,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(u,v)=>(e.openBlock(),e.createElementBlock("div",{key:`at-menuitem-${v}`,onClick:C=>n("selectInterior",u.archetypeID),class:e.normalizeClass(["interior-selector-list-item",{active:v===o.selectedIndex}])},[e.createElementVNode("div",ca,[e.createElementVNode("div",da,[e.createVNode(m,{width:"100","max-width":"100",height:"66",src:u.url,class:"pa-0 ma-0"},null,8,["src"])]),e.createElementVNode("div",ma,e.toDisplayString(e.unref(a).get(u.title)),1)])],10,sa))),128))])]),_:1})])}}}),[["__scopeId","data-v-be1645c7"]]),pa="data:image/png;base64,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",fa="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==",ha=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(i){const r=i,t=e.ref(fa),n=e.ref({backgroundImage:`url(${pa})`,backgroundSize:"contain"}),a=e.computed(()=>({transform:`rotate(${-r.rotation+180}deg)`}));return(o,s)=>{const l=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value),class:"compass-wrapper"},[e.createVNode(l,{class:"compass-needle",src:t.value,style:e.normalizeStyle(a.value)},null,8,["src","style"])],4)}}}),ga="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",ya={class:"d-flex flex-column align-center justify-center clock-face"},va={class:"clock-icon"},Ca={class:"clock-value grey--text text--darken-3"},ka=R(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(i){const r=i,t=e.computed(()=>[n(r.hours),":",n(r.minutes)].join(""));function n(a){return("0"+a).slice(-2)}return(a,o)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",ya,[e.createElementVNode("div",va,[e.createVNode(s,{src:e.unref(ga),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Ca,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Ke=i=>(e.pushScopeId("data-v-f59c4942"),i=i(),e.popScopeId(),i),_a={key:0,width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},wa=[Ke(()=>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)),Ke(()=>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)),Ke(()=>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))],ba=R(e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(i,{emit:r}){const t=i,n=r,a=e.inject(me),o=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,l)=>{const d=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),c=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(c,{location:"top"},{activator:e.withCtx(({props:u})=>[e.createVNode(m,e.mergeProps({density:"comfortable",elevation:"1",icon:"",onClick:l[0]||(l[0]=v=>n("toggle"))},u),{default:e.withCtx(()=>[o.value==="virtualTour"?(e.openBlock(),e.createElementBlock("svg",_a,wa)):(e.openBlock(),e.createBlock(d,{key:1},{default:e.withCtx(()=>[e.createTextVNode("mdi-image-multiple")]),_:1}))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(a).getLabel(o.value)),1)]),_:1})}}}),[["__scopeId","data-v-f59c4942"]]),xe=i=>(e.pushScopeId("data-v-a5e7f474"),i=i(),e.popScopeId(),i),Va={key:0,class:"desktop-content"},Ba={class:"d-flex align-center justify-center"},Sa={class:"box col d-flex flex-column align-bottom justify-center"},Ea=xe(()=>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)),xa={class:"text-div text-center text mt-2"},Na={class:"box col d-flex flex-column align-bottom justify-center"},Ia=xe(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),Da={class:"text-div text-center text mt-2"},Aa={class:"box col d-flex flex-column align-bottom justify-center"},Fa=xe(()=>e.createElementVNode("div",{class:"tutorial-icon justify-center"},[e.createElementVNode("svg",{width:"50",height:"32.5",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M36 33H64V43C64 50.732 57.732 57 50 57V57C42.268 57 36 50.732 36 43V33Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 28C36 20.268 42.268 14 50 14V14V33H36V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 28C64 20.268 57.732 14 50 14V14V33H64V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 26V33C53.25 34.7949 51.7949 36.25 50 36.25C48.2051 36.25 46.75 34.7949 46.75 33V26C46.75 24.2051 48.2051 22.75 50 22.75C51.7949 22.75 53.25 24.2051 53.25 26Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M74.5352 20.7593L80.3458 26.5699C80.9316 27.1557 80.9316 28.1055 80.3458 28.6913C79.76 29.277 78.8103 29.277 78.2245 28.6913L72.4138 22.8806L74.5352 20.7593Z",fill:"black",stroke:"black","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("circle",{cx:"66.5",cy:"15.5",r:"9.75",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"66",y:"11",width:"1",height:"9",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"}),e.createElementVNode("rect",{x:"71",y:"15",width:"1",height:"9",transform:"rotate(90 71 15)",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"})])],-1)),Ta={class:"text-div text-center text mt-2"},La={class:"box col d-flex flex-column align-bottom justify-center"},Ma=xe(()=>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)),$a={class:"text-div text-center text mt-2"},Oa={key:1,class:"d-flex tablet-mobile-content"},Ra={class:"box col my-1"},Ua=xe(()=>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)),Ha={class:"text text-col text-center"},za={class:"box col my-1"},Ya=xe(()=>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)),Pa={class:"text text-col text-center"},ja={class:"box col my-1"},Wa=xe(()=>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)),Ga={class:"text text-col text-center"},qa={class:"text-h6 text-capitalize"},Qa={class:"mt-2"},Za={class:"d-flex justify-center align-center checkbox-container"},Ja={class:"text-caption"},Xa=R(e.defineComponent({__name:"VTutorial",emits:["closeTutorial"],setup(i,{emit:r}){const t=r,n=e.inject(me),a=e.ref(!1),o=e.ref(!1),s=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(m=>navigator.userAgent.match(m)));function l(){t("closeTutorial",a.value)}return(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-card-title"),v=e.resolveComponent("v-btn"),C=e.resolveComponent("v-divider"),p=e.resolveComponent("v-card-text"),f=e.resolveComponent("v-card-actions"),h=e.resolveComponent("v-card"),y=e.resolveComponent("v-expand-transition"),g=e.resolveComponent("v-checkbox");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[e.createVNode(h,{class:"mx-auto",elevation:"16"},{default:e.withCtx(()=>[e.createVNode(u,{class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small"},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),_:1}),e.createVNode(p,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(e.unref(n).getLabel("disclaimerTextShort")),1),e.createVNode(v,{variant:"tonal",size:"small",onClick:m[0]||(m[0]=x=>o.value=!0),class:"text-capitalize mt-2"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("learnMore"))+" ",1),e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1}),e.createVNode(C,{class:"my-3"}),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("div",Ba,[e.createElementVNode("div",Sa,[Ea,e.createElementVNode("div",xa,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Na,[Ia,e.createElementVNode("div",Da,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Aa,[Fa,e.createElementVNode("div",Ta,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)]),e.createElementVNode("div",La,[Ma,e.createElementVNode("div",$a,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),s.value?(e.openBlock(),e.createElementBlock("div",Oa,[e.createElementVNode("div",Ra,[Ua,e.createElementVNode("div",Ha,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",za,[Ya,e.createElementVNode("div",Pa,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",ja,[Wa,e.createElementVNode("div",Ga,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createVNode(C,{class:"my-1"})]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createBlock(h,{key:0,class:"position-absolute w-100 bg-white",height:"100%",style:{bottom:"0"}},{default:e.withCtx(()=>[e.createVNode(p,{class:"pb-0"},{default:e.withCtx(()=>[e.createElementVNode("p",qa,[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-outline")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("disclaimer")),1)]),e.createElementVNode("p",Qa,e.toDisplayString(e.unref(n).getLabel("disclaimerText")),1)]),_:1}),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",size:"small",onClick:m[1]||(m[1]=x=>o.value=!1),class:"text-capitalize"},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1}),e.createTextVNode(" "+e.toDisplayString(e.unref(n).getLabel("back")),1)]),_:1})]),_:1})]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createElementVNode("div",Za,[e.createVNode(g,{density:"compact",modelValue:a.value,"onUpdate:modelValue":m[2]||(m[2]=x=>a.value=x),"hide-details":""},{label:e.withCtx(()=>[e.createElementVNode("span",Ja,e.toDisplayString(e.unref(n).getLabel("dontShowAgain")),1)]),_:1},8,["modelValue"])]),e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(v,{variant:"tonal",onClick:m[3]||(m[3]=x=>l()),block:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("iUnderstand")),1)]),_:1})]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-a5e7f474"]]),Ka=i=>(e.pushScopeId("data-v-bd4f66c3"),i=i(),e.popScopeId(),i),er={class:"player-settings-ui"},tr={id:"settings-ui-form"},or={class:"form-inputs"},nr={class:"setting-label"},ar={class:"setting-label"},rr=["max","min","step"],lr={class:"setting-label"},ir={class:"flex-grow-1 flex-shrink-0"},sr=["onUpdate:modelValue"],cr={key:3,"d-block":"",class:"mt-3"},dr={class:"d-flex justify-space-between"},mr={class:"setting-label"},ur={class:"mt-5 d-block",style:{width:"300px"}},pr=Ka(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),fr={class:"d-block",style:{width:"300px"}},hr={class:"form-buttons"},gr=R(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(C(t.initialSettings));e.watch(a,()=>{s()},{deep:!0});const o=e.computed(()=>{let p={};for(const[f,h]of Object.entries(a.value))f==="whitePoint"?p[f]=c(h.value):p[f]=h.value;return p});function s(){n("updateSettings",o.value)}function l(){const p=document.createElement("a");p.href=URL.createObjectURL(new Blob([JSON.stringify(o.value,null,2)]));const f=`player-settings-${Date.now()}.json`;p.download=f,p.style.display="none",document.body.appendChild(p),p.click(),document.body.removeChild(p)}function d(){n("saveSettings",o.value)}function m(){a.value=C(),n("updateSettings",o.value)}function c(p){const f=parseInt(p.substr(1,2),16)/255,h=parseInt(p.substr(3,2),16)/255,y=parseInt(p.substr(5,2),16)/255;return[f,h,y]}function u(p){var f=p.toString(16);return f.length==1?"0"+f:f}function v([p,f,h]){return"#"+u(parseInt((p*255).toString()))+u(parseInt((f*255).toString()))+u(parseInt((h*255).toString()))}function C(p={}){const f=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let h={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:"",...p};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:h.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:h.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:h.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:h.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:h.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:h.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:h.temperature},whitePoint:{label:"White Point",type:"color",value:v(h.whitePoint)},lut:{label:"Lut",type:"lut",items:f.map(y=>({text:y,value:`https://cdn.visuado.com/luts/${y}.png`})),value:h.lut}}}return(p,f)=>{const h=e.resolveComponent("v-text-field"),y=e.resolveComponent("v-slider"),g=e.resolveComponent("v-checkbox"),x=e.resolveComponent("v-btn"),V=e.resolveComponent("v-select"),F=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",er,[e.createElementVNode("form",tr,[e.createElementVNode("div",or,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(w,B,U)=>(e.openBlock(),e.createElementBlock("div",{key:U,"d-block":""},[w.type==="slider"?(e.openBlock(),e.createBlock(y,{key:0,modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,onChange:s,max:w.max,min:w.min,step:w.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",nr,e.toDisplayString(w.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",outlined:"",type:"number",max:w.max,min:w.min,step:w.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),w.type==="boolean"?(e.openBlock(),e.createBlock(g,{key:1,modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",ar,e.toDisplayString(w.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(w.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),w.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:w.max,min:w.min,step:w.step},[e.createElementVNode("div",lr,e.toDisplayString(w.label),1),e.createElementVNode("div",ir,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N=>a.value[B].value=N,type:"color",onChange:s},null,40,sr),[[e.vModelText,a.value[B].value]])]),e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,rr)):e.createCommentVNode("",!0),w.type==="lut"?(e.openBlock(),e.createElementBlock("div",cr,[e.createElementVNode("div",dr,[e.createElementVNode("div",mr,e.toDisplayString(w.label),1),e.createElementVNode("div",null,[e.createVNode(x,{class:"ml-2","x-small":"",onClick:N=>a.value[B].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",ur,[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,items:w.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[pr,e.createElementVNode("div",fr,[e.createElementVNode("div",null,[e.createVNode(h,{modelValue:a.value[B].value,"onUpdate:modelValue":N=>a.value[B].value=N,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",hr,[e.createVNode(x,{onClick:f[0]||(f[0]=w=>m())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(x,{class:"ml-2",onClick:f[1]||(f[1]=w=>l())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(F,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(x,{class:"ml-2",onClick:f[2]||(f[2]=w=>d())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(F,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),yr={class:"top-left"},vr={class:"top-right"},Cr={class:"header-slot anchor elevation-5"},kr={id:"moveableBody",class:"body-slot moveable-body anchor d-flex justify-center align-center position-relative"},_r={class:"moveable-footer elevation-5"},wr=R(e.defineComponent({__name:"VMoveable",props:{size:{}},setup(i,{expose:r}){const t=e.ref(void 0),n=e.ref(void 0);r({bodyWidth:t,bodyHeight:n}),e.onMounted(()=>{o(document.getElementById("moveableDiv")),a(document.querySelector("#moveableDiv"))});const a=s=>{new ResizeObserver(()=>{const d=document.getElementById("moveableBody");d&&(t.value=d.clientWidth,n.value=d.clientHeight)}).observe(s)},o=s=>{const l=document.getElementsByClassName("anchor");for(let f=0;f<l.length;f++){const h=l[f];h.addEventListener("touchstart",v,{passive:!1}),h.addEventListener("touchend",p,{passive:!1}),h.addEventListener("mousedown",v,{passive:!1}),h.addEventListener("mouseup",p,{passive:!1})}let d=0,m=0,c=0,u=0;function v(f){f=f||window.event,f.preventDefault();let h=f;f.type==="touchstart"&&(h=f.touches[0]),c=h.clientX,u=h.clientY,document.addEventListener("mouseup",p,{passive:!1}),document.addEventListener("touchend",p,{passive:!1}),document.addEventListener("mousemove",C,{passive:!1}),document.addEventListener("touchmove",C,{passive:!1})}function C(f){f=f||window.event,f.preventDefault();let h=f;f.type==="touchmove"&&(h=f.touches[0]),d=c-h.clientX,m=u-h.clientY,c=h.clientX,u=h.clientY,s.style.top=s.offsetTop-m+"px",s.style.left=s.offsetLeft-d+"px"}function p(){document.removeEventListener("mouseup",p,!1),document.removeEventListener("mousemove",C,!1),document.removeEventListener("touchend",p,!1),document.removeEventListener("touchmove",C,!1)}};return(s,l)=>(e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass([s.size,"sizer rounded"])},[e.createElementVNode("div",yr,[e.renderSlot(s.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",vr,[e.renderSlot(s.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Cr,[e.renderSlot(s.$slots,"header",{},void 0,!0)]),e.createElementVNode("div",kr,[e.renderSlot(s.$slots,"body",{},void 0,!0)]),e.createElementVNode("div",_r,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2))}}),[["__scopeId","data-v-1a87ee81"]]),br={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Vr=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),Br=["transform"],Sr=[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)],Er=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(i){return(r,t)=>(e.openBlock(),e.createElementBlock("svg",br,[Vr,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+r.rotation})`},Sr,8,Br)]))}}),xr={class:"minimap-wrapper"},Nr={class:"minimap-container"},ft=R(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{},containerWidth:{},containerHeight:{},fit:{type:Boolean}},setup(i){const r=i,t=e.ref(512),n=e.ref(384),a=e.ref(512),o=e.ref(384),s=e.ref(new Ve.Vector3),l=e.ref(new Ve.Object3D),d=e.ref({}),m=e.ref(1),c=e.ref(),u=t.value/t.value,v=e.computed(()=>{const _=r.containerWidth/r.containerHeight;let k;return _>u?k=r.containerHeight/n.value:k=r.containerWidth/t.value,k}),C=e.computed(()=>r.allCameras),p=e.computed(()=>r.allCameras.find(_=>_.id===r.currentCamera)),f=e.computed(()=>r.rotation),h=e.computed(()=>new Ve.Vector3(r.storey.position.x,r.storey.position.y,r.storey.position.z)),y=e.computed(()=>parseFloat(p.value.floor_vertical_position)),g=e.computed(()=>C.value.map(_=>{const k=_.uposition.split(","),D=new Ve.Vector3(Number(k[0])-h.value.x,0,Number(k[2])-h.value.z);return{..._,...U(s.value,D)}})),x=e.computed(()=>({backgroundImage:`url(${r.backgroundImage})`,backgroundSize:"contain"})),V=e.computed(()=>({transform:`scale(${r.fit?1:v.value*.75}) rotate(${r.transformAngle}deg)`}));e.onMounted(()=>{N(),w(),z();const _=document.getElementById("moveableDiv");_&&(c.value=new ResizeObserver(z).observe(_))}),e.onBeforeUpdate(()=>{N(),w()}),e.onBeforeUnmount(()=>{c.value&&c.value.unobserve(document.getElementById("moveableDiv"))});function F(_){return Ve.MathUtils.degToRad(_)}function w(){l.value.rotation.x=180,l.value.rotation.y=r.storey.rotation.y*-1,d.value={transform:`rotateZ(${l.value.rotation.y}deg) rotateX(${l.value.rotation.x}deg)`}}function B(_){return{top:`${Math.abs(_.top)}%`,left:`${Math.abs(_.left)}%`}}function U(_,k){var D=new Ve.Vector3;const L=D.subVectors(_,k);return{relativePosition:L,left:L.x/a.value*100,top:L.z/o.value*100}}function N(){const _=r.storey.position.y-y.value;o.value=2*(_*Math.tan(F(r.storey.fovY/2))),a.value=512/384*o.value;const k=o.value/2,D=a.value/2,L=new Ve.Vector3(D*-1,0,k*-1);s.value=L}function z(){const _=document.getElementById("moveableDiv");if(!_)return;const k=_.offsetHeight/384*.8,D=_.offsetWidth/512*.8;_.offsetHeight>_.offsetWidth?m.value=D*.5:m.value=k*.9}return(_,k)=>(e.openBlock(),e.createElementBlock("div",xr,[e.createElementVNode("div",Nr,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(V.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(x.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(d.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,D=>(e.openBlock(),e.createElementBlock("div",{key:D.id},[p.value.floorLevel===D.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(B(D))},null,4)):e.createCommentVNode("",!0),e.renderSlot(_.$slots,"default",{id:D.id,camera:D,active:p.value.id===D.id,style:e.normalizeStyle({...B(D),position:"absolute",zIndex:"3"})},()=>[p.value.id===D.id&&r.rotation!==null?(e.openBlock(),e.createBlock(Er,{key:0,class:"rotation-marker-component-base rotation-marker-component",rotation:f.value,style:e.normalizeStyle({...B(D)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)],!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-5cdee9d5"]]),ht=R(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(i){const r=i,t=e.computed(()=>r.rotation+r.transformAngle-90);return(n,a)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass elevation-5",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(Ee,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-d047dca8"]]),Ir={class:"ss-wrapper"},Dr={class:"slider"},Ar={class:"minimap-sun-slider"},Fr={class:"d-flex flex-column align-center justify-center"},Tr={key:0,class:"time-label"},gt=R(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(new Date().getHours()),o=e.ref(!0),s=e.ref(!0),l=e.ref(""),d=e.ref(new Map),m=e.computed(()=>t.minimapJson.storeys[t.level]),c=e.computed(()=>`${Math.floor(a.value).toString().padStart(2,"0")}:00`),u=e.computed(()=>{if(m.value.sunsimFilesTimeStamps[a.value]){const y=m.value.sunsimFilesTimeStamps[a.value].split(" ");return`${y[0]} ${y[1]}`}return""});e.onMounted(async()=>{l.value=await p(m.value.sunsimFiles[a.value]),n("setBackgroundImage",l.value),s.value=!1;const y=await C(t.minimapJson.storeys);d.value=y,o.value=!1,n("setBackgroundImage",v(t.level,a.value))}),e.watch(a,()=>{const y=v(t.level,a.value);n("setBackgroundImage",y)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",v(t.level,a.value))},{immediate:!0});function v(y,g){return d.value.get(`sunsim${y}_${g}`)?d.value.get(`sunsim${y}_${g}`):""}async function C(y){let g=new Map;for(let x=0;x<y.length;x++){const V=y[x].sunsimFiles;for(let F=0;F<V.length;F++){const w=V[F];try{const B=w,U=w.split("."),N=await p(B);g.set(U[0],N)}catch{continue}}}return g}async function p(y){const x=await(await fetch(Q(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${y}`))).blob(),V=await h(x);return f(V)}function f(y){return"data:image/jpeg;base64,"+y}async function h(y){return new Promise((g,x)=>{const V=new FileReader;V.onload=()=>{const F=V.result.split(",")[1];g(F)},V.onerror=x,V.readAsDataURL(y)})}return(y,g)=>{const x=e.resolveComponent("v-progress-linear"),V=e.resolveComponent("v-icon"),F=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Ir,[e.createElementVNode("div",Dr,[e.createElementVNode("div",Ar,[o.value?(e.openBlock(),e.createBlock(x,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(F,{key:1,modelValue:a.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0,"thumb-label":"always"},{prepend:e.withCtx(()=>[e.createElementVNode("div",Fr,[e.createVNode(V,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),e.createElementVNode("span",null,e.toDisplayString(u.value),1)])]),"thumb-label":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["modelValue"]))]),o.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Tr))])])}}}),[["__scopeId","data-v-52f122f2"]]),Lr=i=>(e.pushScopeId("data-v-578a7915"),i=i(),e.popScopeId(),i),Mr={class:"left"},$r={class:"right"},Or=Lr(()=>e.createElementVNode("div",{class:"d-flex justify-space-between pa-1"},[e.createElementVNode("div",{class:"center"}," ")],-1)),yt=R(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(i,{emit:r}){const t=e.ref(null),n=i,a=r,o=e.ref(),s=e.ref(0),l=e.computed(()=>n.minimapJson.storeys[n.level]),d=e.ref(0);e.watch(()=>n.apartmentJson,()=>{d.value=d.value+1}),e.watch(l,()=>{o.value=l.value.defaultSunsimFile?`/${n.apartmentJson.type}/${n.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${n.apartmentJson.type}/${n.apartmentJson.id}/minimap/${l.value.defaultSunsimFile}`},{immediate:!0,once:!0});const m=e.computed(()=>{let h=1;return s.value!==0&&(Math.abs(s.value)%180===0?h=1:h=-1),C.value==="small"&&(h=.6),h});function c(h){o.value=h}const u=["big","bigger","small"];function v(){const y=(u.indexOf(C.value)+1)%u.length;C.value=u[y]}const C=e.ref("big");function p(){s.value=s.value+90}const f=()=>{a("close")};return(h,y)=>{const g=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(wr,{ref_key:"minimapMoveable",ref:t,size:C.value},{"top-left":e.withCtx(()=>[e.createElementVNode("div",Mr,[e.createVNode(g,{icon:"mdi-window-close",size:"x-small",onClick:f})])]),"top-right":e.withCtx(()=>[e.createElementVNode("div",$r,[e.createVNode(g,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:e.withModifiers(p,["stop"]),title:"Rotate"}),e.createVNode(g,{class:"resize-icon ml-1",icon:"mdi-image-size-select-small",size:"x-small",onClick:v,title:"Resize"})])]),header:e.withCtx(()=>[Or]),body:e.withCtx(()=>[e.createVNode(ht,{scale:m.value,rotation:l.value.rotation.y,"transform-angle":s.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(ft,{"transform-angle":s.value,"all-cameras":h.apartmentJson.cameras,"background-image":o.value,rotation:h.rotation,"current-camera":h.currentCamera,storey:l.value,containerWidth:t.value&&t.value.bodyWidth||512,containerHeight:t.value&&t.value.bodyHeight||384},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey","containerWidth","containerHeight"])])]),footer:e.withCtx(()=>[(e.openBlock(),e.createBlock(gt,{key:d.value,"cdn-file-resolver":n.cdnFileResolver,"minimap-json":n.minimapJson,"apartment-json":n.apartmentJson,level:n.level,onSetBackgroundImage:c},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"]))]),_:1},8,["size"])}}}),[["__scopeId","data-v-578a7915"]]);function He(i){const r=i*60,t=Math.floor(r/60),n=r%60;return`${t.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}`}const Rr={class:"d-flex align-center"},Ur={class:"d-block mr-1"},Hr={class:"small"},zr={class:"small"},vt=R(e.defineComponent({__name:"VSunsimSlider",props:{currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange","toggleSunStudy"],setup(i,{emit:r}){const t=i,{currentDay:n,currentTime:a,disabled:o}=e.toRefs(t),s=r,l=e.ref(a.value.timeInHours);return e.watch(a,()=>{l.value=a.value.timeInHours}),e.watch(l,()=>{s("onTimeChange",n.value.timeSamples.find(d=>d.timeInHours===l.value))},{immediate:!0}),(d,m)=>{const c=e.resolveComponent("v-icon"),u=e.resolveComponent("v-slider"),v=e.resolveComponent("v-field"),C=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Rr,[e.createElementVNode("div",Ur,[e.createVNode(v,{class:"ss-slider-field",style:{},variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(n).timeSamples.length>1?(e.openBlock(),e.createBlock(u,{key:0,class:"pa-2 pr-2",modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=p=>l.value=p),min:e.unref(n).startTime,max:e.unref(n).endTime,step:e.unref(n).interval,disabled:!!e.unref(o),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(c,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Hr,e.toDisplayString(e.unref(He)(l.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(c,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",zr,e.toDisplayString(e.unref(He)(l.value)),1)],64))]),_:1})]),e.createElementVNode("div",null,[e.createVNode(C,{size:"small",class:"sun-study-toggle text-capitalize rounded-xl",icon:"mdi-close",onClick:m[1]||(m[1]=p=>s("toggleSunStudy"))})])])}}}),[["__scopeId","data-v-c06c753d"]]),Yr=e.defineComponent({__name:"VSunStudyToggle",props:{displaySunsim:{type:Boolean},showUI:{type:Boolean}},emits:["toggleSunStudy"],setup(i,{emit:r}){const t=r,n=e.inject(me);return(a,o)=>{const s=e.resolveComponent("v-btn");return!a.displaySunsim&&a.showUI?(e.openBlock(),e.createBlock(s,{key:0,size:"small",varient:"tonal",prependIcon:"mdi-white-balance-sunny",class:"sun-study-toggle text-capitalize rounded-xl",onClick:o[0]||(o[0]=l=>t("toggleSunStudy"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("openSunStudy")),1)]),_:1})):e.createCommentVNode("",!0)}}}),Ct=R(e.defineComponent({__name:"VAutoplay",props:{autoplayStatus:{type:Boolean}},emits:["toggleAutoPlay"],setup(i,{emit:r}){const t=r,n=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));return(a,o)=>{const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(l,{size:"x-small",class:e.normalizeClass(["autoplay-btn",{mobile:n.value,"mt-1":n.value,"mx-1":n.value}]),onClick:o[0]||(o[0]=d=>t("toggleAutoPlay"))},{default:e.withCtx(()=>[e.createVNode(s,{icon:a.autoplayStatus?"mdi-pause":"mdi-play",size:"x-large",class:"pa-0 ma-0"},null,8,["icon"])]),_:1},8,["class"])}}}),[["__scopeId","data-v-7fd2b4f3"]]),Pr={key:0,class:"sun-icon-wrapper"},jr=37,Wr=39,ze=R(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{},cameraHasSunStudy:{type:Function,default:i=>!1}},emits:["previous","next","goto"],setup(i,{emit:r}){const t=i,n=r,a=e.ref(0),o=e.computed({get(){return t.active},set(m){a.value=m}}),s=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",l)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",l)});function l(m){switch(m.keyCode){case m.keyCode===jr:n("previous");break;case m.keyCode===Wr:n("next");break;default:return}}function d(m,c){c(),n("goto",m)}return(m,c)=>{const u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-img"),C=e.resolveComponent("v-icon"),p=e.resolveComponent("v-card"),f=e.resolveComponent("v-slide-group-item"),h=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["d-flex align-center justify-center",{mobileWaypointWrapper:s.value,desktopWaypointWrapper:!s.value," waypoint-carousel":!0}])},[e.renderSlot(m.$slots,"before",{},void 0,!0),e.createVNode(h,{modelValue:o.value,"onUpdate:modelValue":c[2]||(c[2]=y=>o.value=y),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":!s.value,"center-active":"",mandatory:""},{prev:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-left",varient:"tonal",size:"small",onClick:c[0]||(c[0]=y=>n("previous"))},null,8,["class"]))]),next:e.withCtx(()=>[s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,class:e.normalizeClass(["carousel-button",{mobile:s.value}]),icon:"mdi-chevron-right",varient:"tonal",size:"small",onClick:c[1]||(c[1]=y=>n("next"))},null,8,["class"]))]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.thumbnails,y=>(e.openBlock(),e.createBlock(f,{key:y.id},{default:e.withCtx(({toggle:g,selectedClass:x})=>[e.createVNode(p,{class:e.normalizeClass(["position-relative",[s.value?"ma-0":"ma-1",x,"single-waypoint"]]),align:"center",justify:"center",style:{overflow:"hidden"},onClick:V=>d(y.id,g)},{default:e.withCtx(()=>[e.createVNode(v,{cover:"","aspect-ratio":1,src:y.thumbnailUrl},null,8,["src"]),t.cameraHasSunStudy(y.id)?(e.openBlock(),e.createElementBlock("div",Pr,[e.createVNode(C,{class:"sun-icon",icon:"mdi-white-balance-sunny"})])):e.createCommentVNode("",!0)]),_:2},1032,["class","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class","show-arrows"]),e.renderSlot(m.$slots,"after",{},void 0,!0)],2)}}}),[["__scopeId","data-v-9cc758dc"]]),Gr={id:"share-btns-wrapper",class:"text-center"},kt=R(e.defineComponent({__name:"VSocialShare",setup(i){const r=e.inject(me),t=e.ref(!1),n=e.ref(location.href);function a(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function o(){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 l(){navigator.clipboard.writeText(location.href)}return(d,m)=>{const c=e.resolveComponent("v-btn"),u=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),C=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),f=e.resolveComponent("v-card-text"),h=e.resolveComponent("v-card"),y=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:m[0]||(m[0]=x=>t.value=!t.value)},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("share")),1)]),_:1}),e.createVNode(y,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":m[2]||(m[2]=g=>t.value=g)},{default:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(p,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:m[1]||(m[1]=g=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r).getLabel("share")),1)]),_:1}),e.createVNode(C)]),_:1}),e.createVNode(f,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Gr,[e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},g,{onClick:a}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},g,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},g,{onClick:o}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,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(r).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:g})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:l},g),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(r).getLabel("copyLink")),1)]),_:1}),e.createVNode(C)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),qr={class:"static-image-wrapper"},Qr=R(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(i){const r=i,t=e.computed(()=>({"background-image":`url("${encodeURI(r.image)}")`}));return(n,a)=>(e.openBlock(),e.createElementBlock("div",qr,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Zr={id:"btn-fullscreen",class:"btn-placeholder mr-2"},_t=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(i,{emit:r}){const t=r;return(n,a)=>{const o=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Zr,[e.createVNode(o,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:a[0]||(a[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class wt{constructor(r,t){ee(this,"_doc");ee(this,"_elemId");ee(this,"_state");this._doc=r,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const r=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();r.forEach(n=>{t.addEventListener(n,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const r=this._getElement(),t=r.requestFullscreen||r.webkitRequestFullscreen||r.mozRequestFullscreen||r.msRequestFullscreen;t&&t.apply(r)}_exit(){const r=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;r&&r.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const r=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=r}}const Jr={key:0,class:"player-error"},Xr={class:"player-and-components-wrapper"},Kr={key:3,class:"settings-panel"},el={key:0,class:"compass-wrapper"},tl={key:1,class:"btn-placeholder mr-2"},ol={class:"btn-placeholder mr-2"},nl={key:2,class:"btn-placeholder mr-2"},al={class:"d-flex flex-column align-end"},rl={key:0,class:"d-flex align-center flex-column sun-study mt-2"},ll={key:2,class:"render-version"},bt=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},version:{},showVersion:{type:Boolean,default:!0},enableAutoplay:{type:Boolean,default:!1}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onSunsimUpdate","onError"],setup(i,{expose:r,emit:t}){const n=i,{cdnFileResolver:a,apartmentId:o,defaultInteriorId:s,validInteriorIds:l,displayViewModeSwitch:d,i18nConfig:m,showCarousel:c,showTimeOfDay:u,showCompass:v,showFullScreen:C,showSnapshot:p,showShare:f,showInteriorOptions:h,showMiniMap:y,showFloorLevel:g,defaultWaypointIndex:x,defaultViewMode:V,mouseSensitivity:F,adminMode:w,playerSettings:B,hasMarkersJson:U,dynamicMarkers:N,version:z,showVersion:_}=e.toRefs(n),k=t;r({updateSelectedInterior:At,takeSnapshot:Lt,setCurrentCamera:je,getCurrentRotation:ii,setCurrentRotation:si,getCurrentFov:ci,setCurrentFov:di,loadDynamicMarkers:Ci,screenToWorld:ki,clearCurrentMarkerLayer:vi});const D=e.ref(!1),L=e.ref(!1),J=e.ref(!1),I=e.ref(),S=e.ref(),M=e.ref(),$=e.ref(),Y=e.ref(),G=e.ref(0),W=e.ref(),ne=e.ref(),P=e.ref(),se=e.ref(0),de=e.ref(0),Ce=e.ref(0),ae=e.ref(!1),le=e.ref(!1),ue=e.ref(),ce=e.ref(!1),T=e.ref(!1),H=e.ref(new wt(document,"player-wrapper")),te=e.ref(),we=e.computed(()=>{if(S.value){const b=S.value.cameras.map(j=>j.floorLevel);let A=[...new Set(b)];return A=A.sort(),A}else return[]}),pe=e.computed(()=>{let b=0;if(S.value){const A=S.value.cameras.map(Le=>Le.floorLevel);let j=[...new Set(A)];j=j.sort();const re=j.findIndex(Le=>Le===de.value);re!==-1&&(b=re)}return b}),he=e.computed(()=>Oe.value.findIndex(b=>b.archetypeID===W.value)),oe=e.computed(()=>M.value?M.value.cameras.map(b=>({...b,thumbnailUrl:We(`/${W.value}/${o.value}/thumbs/200/${b.id}.jpg`),imageUrl:We(`/${W.value}/${o.value}/images/1600/${b.id}.jpg`)})):[]),ke=e.computed(()=>!oe.value||!oe.value[G.value]?"":oe.value[G.value].imageUrl),Oe=e.computed(()=>{let b=[];return I.value&&(b=I.value.archetypes),l.value.length?b.filter(A=>l.value.includes(A.archetypeID)):b}),Ye=e.computed(()=>M.value?Oe.value.map(b=>{var j;const A=(j=oe.value[G.value])==null?void 0:j.id;return{...b,url:We(`/${b.archetypeID}/${o.value}/thumbs/200/${A}.jpg`)}}):[]),E=e.computed(()=>{if($.value&&$.value.storeys&&pe.value in $.value.storeys)return $.value.storeys[pe.value]}),O=e.computed(()=>S.value&&S.value.timeInHours),Z=e.computed(()=>{if(S.value&&S.value.timeInHours&&u.value)return Bi(S.value.timeInHours)});e.provide(me,m.value?new fe(m.value):new fe);const K=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),X=e.computed(()=>K.value?"platform-mobile":"platform-desktop"),ge=e.computed(()=>{const b=Q(a.value,"/config.json");return localStorage.getItem(`${b}-dont-show-tutorial`)});e.watch(s,()=>{s.value&&(W.value=s.value)}),e.watch([a,o],async()=>{try{ne.value=void 0,await oi(),ai(),await ni(),H.value.setup(),ri()}catch(b){J.value=!0,k("onError",b)}},{immediate:!0}),e.watch(V,()=>{V.value==="virtualTour"&&(ae.value=!1),V.value==="slideShow"&&(ae.value=!0,T.value=!0)},{immediate:!0}),e.watch(ce,()=>{if(ce.value){T.value=!1;const b=Te(P.value);ue.value=b[0].timeSamples.find(A=>A.timeInHours===b[0].defaultHour)}else T.value=!0,Y.value.unloadSunSim()}),e.onMounted(async()=>{try{ge.value?(D.value=!1,T.value=!0):setTimeout(()=>{D.value=!0},1e3)}catch(b){J.value=!0,k("onError",b)}}),e.onBeforeUnmount(()=>{document.removeEventListener("wheel",tt)});function Re(b=!1){T.value=!0,D.value=!1,b&&ye()}function ye(){const b=Q(a.value,"/config.json");localStorage.setItem(`${b}-dont-show-tutorial`,"true")}async function oi(){I.value=await li()}async function ni(){var b;if(S.value=await Nt(W.value,o.value),S.value&&(ne.value=(b=S.value.cameras[0])==null?void 0:b.id),M.value=await It(W.value,o.value),M.value){const A=x.value!==null?x.value:0;G.value=A,ne.value=M.value.cameras[A].id,P.value=M.value.cameras[A].id}y.value&&($.value=await Dt(W.value,o.value))}function ai(){let b=s.value;b||(b=I.value.defaultArchetypeID),l.value.length||!l.value.includes(b)?b=l.value[0]:console.warn("illegal interior id",b,l),b||(b=I.value.archetypes[0].archetypeID),W.value=b}function ri(){const b=document.getElementById("main-canvas");b.addEventListener("touchmove",A,{passive:!1});function A(j){j.preventDefault(),window.scrollBy(0,0)}b.addEventListener("mouseenter",()=>{document.addEventListener("wheel",tt,{passive:!1})},{passive:!1}),b.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",tt)},{passive:!1})}function tt(b){b.preventDefault(),window.scrollBy(0,0)}async function li(){try{return await Ge("/config.json")}catch(b){console.error("Error loading config.json - ",Q(a.value,"/config.json"),b);return}}async function Nt(b,A){try{return await Ge(`/${b}/${A}/apartment.json`)}catch(j){console.error("Error loading apartment.json - ",`/${b}/${A}/apartment.json`,j);return}}async function It(b,A){try{return await Ge(`/${b}/${A}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${b}/${A}/thumbs.json`);return}}async function Dt(b,A){try{return await Ge(`/${b}/${A}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${b}/${A}/minimap/minimap.json`);return}}function ii(){return Y.value.getCameraRotation()}function si(b){return Y.value.setCameraRotation(b)}function ci(){return Y.value.getCameraFov()}function di(b){return Y.value.setCameraFov(b)}function Pe(){let b=G.value+1;b>=oe.value.length&&(b=0),G.value=b,je(oe.value[G.value].id)}function ot(){let b=G.value-1;b<0&&(b=oe.value.length-1),G.value=b,je(oe.value[G.value].id)}function nt(b,A=!0){let j=oe.value.findIndex(re=>re.id===b);j!=-1&&(G.value=j,A&&je(b))}function je(b){ce.value=!1,ne.value=b}function At(b){W.value=b,mi(),k("onInteriorUpdate",b),k("onCameraUpdate",P.value,S.value)}async function mi(){S.value=await Nt(W.value,o.value),M.value=await It(W.value,o.value),y.value&&($.value=await Dt(W.value,o.value))}function ui(b){P.value=b,P.value&&(nt(P.value,!1),k("onCameraUpdate",P.value,S.value))}const Ne=e.computed(()=>b=>{const A=Te(b);return!A||!A[0]||!A[0].timeSamples?!1:A[0].timeSamples.length>1}),Te=b=>{const A=S.value.cameras.find(j=>j.id===b);return A==null?void 0:A.sunsimDayOfYear};function pi(b){k("onSunsimUpdate",b)}function Ft(b){Y.value.loadSunSim(b.timeInHours)}function fi(b){se.value=b}function Tt(b){de.value=b}function hi(b){Ce.value=b}function gi(b,A){}function yi(b){Y.value=b,Y.value&&(B.value&&Y.value.updateSettings(B.value),U.value?Y.value.loadMarkersJson():N.value&&Y.value.loadDynamicMarkers(N.value))}function vi(){Y.value.clearCurrentMarkerLayer()}function Ci(b){Y.value.loadDynamicMarkers(b)}function ki(b){return Y.value.screenToWorld(b)}function _i(){H.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function wi(){ae.value=!ae.value}async function Lt(){const b=180/Math.PI,A=await Y.value.takePhoto(),j=Y.value.getRotationEuler(),re=Y.value.getCurrentCamera(),Le=new Oo(A,re),Si=[j.x*-b,j.y*-b,j.z*b];return k("onSnapshot",Le,Si),Le}function We(b){let A=Q(a.value,b);return A&&w.value&&!A.startsWith("blob:")&&(A=A+`?v=${Date.now()}`),A}async function Ge(b){const A=We(b);try{return(await ve.get(A)).data}catch(j){throw new Error(j)}}function bi(b){Y.value.updateSettings(b)}function Vi(b){k("saveSettings",b)}function Bi(b){if(b===void 0)return null;const A=Math.floor(b),j=Math.floor((A-b)*60);return{hours:A,minutes:j}}const be=e.ref(!1),Mt=e.ref(null),at=e.ref(1);function $t(){if(be.value){clearInterval(Mt.value),be.value=!1,Y.value.toggleAutoRotate();return}be.value=!0,Y.value.toggleAutoRotate(),Mt.value=setInterval(()=>{at.value=1*at.value,Y.value.setAutoRotateSpeed(at.value),Pe()},5e3)}return(b,A)=>{const j=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[X.value]])},[J.value?(e.openBlock(),e.createElementBlock("div",Jr,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",Xr,[!H.value.isActive&&$.value&&P.value&&E.value&&W.value&&le.value?(e.openBlock(),e.createBlock(yt,{key:0,"cdn-file-resolver":e.unref(a),"apartment-json":S.value,level:pe.value,"minimap-json":$.value,rotation:se.value,"current-camera":P.value,onClose:A[0]||(A[0]=re=>le.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),W.value&&ne.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[X.value]])},[e.createVNode(ea,{ref_key:"vPlayerInstance",ref:te,"cdn-file-resolver":e.unref(a),style:e.normalizeStyle({zIndex:ae.value?1:2}),"show-static-image":ae.value,"current-camera-id":ne.value,"mouse-sensitivity":e.unref(F),"interior-id":W.value,"apartment-id":e.unref(o),onNewCameraCallback:ui,onNewRotationCallback:fi,onNewFloorCallback:Tt,onNewFovCallback:hi,onNewSizeCallback:gi,onSunsimCallback:pi,onPlayerApiCallback:yi},{"slideshow-image":e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(Qr,{key:0,image:ke.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[e.unref(w)?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:A[1]||(A[1]=re=>L.value=!L.value)})):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(j,{density:"comfortable",icon:"mdi-alert-outline",elevation:"3",class:"mr-2",onClick:A[2]||(A[2]=re=>D.value=!D.value)},null,512),[[e.vShow,T.value]]),$.value&&ne.value&&E.value?e.withDirectives((e.openBlock(),e.createBlock(j,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:A[3]||(A[3]=re=>le.value=!le.value)},null,512)),[[e.vShow,T.value]]):e.createCommentVNode("",!0),T.value&&e.unref(g)&&we.value.length>1?(e.openBlock(),e.createBlock(ra,{key:2,level:de.value,"floor-levels":we.value,onLevel:Tt},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),e.unref(w)&&L.value?(e.openBlock(),e.createElementBlock("div",Kr,[e.createVNode(gr,{"initial-settings":e.unref(B),onUpdateSettings:bi,onSaveSettings:Vi},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[S.value&&e.unref(v)?e.withDirectives((e.openBlock(),e.createElementBlock("div",el,[e.createVNode(ha,{rotation:se.value},null,8,["rotation"])],512)),[[e.vShow,T.value]]):e.createCommentVNode("",!0),e.createElementVNode("div",{onClick:A[4]||(A[4]=re=>le.value=!le.value)},[T.value&&S.value&&O.value&&e.unref(u)?(e.openBlock(),e.createBlock(ka,{key:0,hours:Z.value.hours,minutes:Z.value.minutes,class:"time-of-day",style:e.normalizeStyle({cursor:$.value&&P.value&&E.value?"pointer":"default"})},null,8,["hours","minutes","style"])):e.createCommentVNode("",!0)])]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[ae.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:ot})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[D.value?(e.openBlock(),e.createBlock(Xa,{key:0,onCloseTutorial:A[5]||(A[5]=re=>Re(re))})):e.createCommentVNode("",!0),H.value.isActive&&$.value&&P.value&&E.value&&le.value?(e.openBlock(),e.createBlock(yt,{key:1,"cdn-file-resolver":e.unref(a),"apartment-json":S.value,"minimap-json":$.value,rotation:se.value,"current-camera":P.value,level:pe.value,onClose:A[6]||(A[6]=re=>le.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(()=>[ae.value?(e.openBlock(),e.createBlock(j,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:Pe})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[e.unref(C)?(e.openBlock(),e.createBlock(_t,{key:0,"is-full-screen":H.value.isActive,class:"btn-fullscreen",onToggleFullscreen:_i},null,8,["is-full-screen"])):e.createCommentVNode("",!0),e.unref(p)?(e.openBlock(),e.createElementBlock("div",tl,[e.createVNode(j,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:Lt})])):e.createCommentVNode("",!0),e.createElementVNode("div",ol,[e.unref(d)&&T.value?(e.openBlock(),e.createBlock(ba,{key:0,"show-static-image":ae.value,onToggle:wi},null,8,["show-static-image"])):e.createCommentVNode("",!0)]),T.value&&e.unref(f)&&!H.value.isActive?(e.openBlock(),e.createElementBlock("div",nl,[e.createVNode(kt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass(["d-flex justify-center",{"mb-2":!K.value}])},[!be.value&&Ne.value(P.value)?(e.openBlock(),e.createBlock(Yr,{key:0,class:"ml-2",displaySunsim:ce.value,showUI:T.value,onToggleSunStudy:A[7]||(A[7]=re=>ce.value=!ce.value)},null,8,["displaySunsim","showUI"])):e.createCommentVNode("",!0)],2),!K.value&&!be.value&&ne.value&&ce.value&&Ne.value(P.value)&&Te(P.value)[0]&&ue.value?(e.openBlock(),e.createBlock(vt,{key:0,class:"sunsim-slider-desktop","current-day":Ne.value(P.value)?Te(P.value)[0]:void 0,"current-time":ue.value,onOnTimeChange:Ft,onToggleSunStudy:A[8]||(A[8]=re=>ce.value=!ce.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0),!K.value&&T.value&&e.unref(c)?(e.openBlock(),e.createBlock(ze,{key:1,class:e.normalizeClass([H.value.isActive?"full-screen":""]),thumbnails:oe.value,active:G.value,cameraHasSunStudy:Ne.value,onNext:Pe,onPrevious:ot,onGoto:nt},{before:e.withCtx(()=>[b.enableAutoplay&&T.value&&!K.value?(e.openBlock(),e.createBlock(Ct,{key:0,autoplayStatus:be.value,onToggleAutoPlay:A[9]||(A[9]=re=>$t())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["class","thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)])]),_:1})]),"bottom-right":e.withCtx(()=>[e.createElementVNode("div",al,[T.value&&e.unref(h)&&Ye.value?(e.openBlock(),e.createBlock(ua,{key:0,"cdn-file-resolver":e.unref(a),"available-archetypes":Ye.value,"selected-index":he.value,onSelectInterior:At},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)])]),_:1},8,["cdn-file-resolver","style","show-static-image","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.unref(c)&&M.value&&K.value&&T.value?(e.openBlock(),e.createBlock(ze,{key:0,class:"waypoint-carousel below-player",thumbnails:oe.value,active:G.value,cameraHasSunStudy:Ne.value,onNext:Pe,onPrevious:ot,onGoto:nt},{before:e.withCtx(()=>[b.enableAutoplay&&T.value?(e.openBlock(),e.createBlock(Ct,{key:0,autoplayStatus:be.value,onToggleAutoPlay:A[10]||(A[10]=re=>$t())},null,8,["autoplayStatus"])):e.createCommentVNode("",!0)]),_:1},8,["thumbnails","active","cameraHasSunStudy"])):e.createCommentVNode("",!0)]),_:1}),K.value?(e.openBlock(),e.createElementBlock("div",rl,[!be.value&&ne.value&&ce.value&&Ne.value(P.value)&&Te(P.value)[0]&&ue.value?(e.openBlock(),e.createBlock(vt,{key:0,class:"mt-1","current-day":Ne.value(P.value)?Te(P.value)[0]:void 0,"current-time":ue.value,onOnTimeChange:Ft,onToggleSunStudy:A[11]||(A[11]=re=>ce.value=!ce.value)},null,8,["current-day","current-time"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(z)&&e.unref(_)?(e.openBlock(),e.createElementBlock("div",ll," version: "+e.toDisplayString(e.unref(z)),1)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-8fc80ea7"]]),il={id:"player-wrapper"},sl={id:"player-sizer"},cl={class:"player-control",id:"controls-top-left"},dl={class:"player-control",id:"controls-top-center"},ml={class:"player-control",id:"controls-top-right"},ul={class:"player-control",id:"controls-center-left"},pl={class:"player-control",id:"controls-center-center"},fl={class:"player-control",id:"controls-center-right"},hl={class:"player-control",id:"controls-bottom-left"},gl={class:"player-control",id:"controls-bottom-center"},yl={class:"player-control",id:"controls-bottom-right"},vl=R(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(i,{emit:r}){return(t,n)=>(e.openBlock(),e.createElementBlock("div",il,[e.createElementVNode("div",sl,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",cl,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",dl,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",ml,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",ul,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",pl,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",fl,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",hl,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",gl,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",yl,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),Cl={class:"virtual-tour-wrapper"},kl={class:"player-and-components-wrapper"},_l={class:"mss-image"},wl={key:1,class:"btn-placeholder"},Vt=R(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(i){const r=i;e.provide(me,r.i18nConfig?new fe(r.i18nConfig):new fe);const t=e.ref(0),n=e.ref(new wt(document,"player-wrapper")),a=e.computed(()=>r.images.map((c,u)=>({id:`image-${u}`,thumbnailUrl:c}))),o=e.computed(()=>a.value[t.value]);e.onMounted(()=>{n.value.setup()});function s(){n.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function l(){let c=t.value+1;c>=a.value.length&&(c=0),t.value=c}function d(){let c=t.value-1;c<0&&(c=a.value.length-1),t.value=c}function m(c,u=!0){let v=a.value.findIndex(C=>C.id===c);v!=-1&&(t.value=v)}return(c,u)=>{const v=e.resolveComponent("v-img"),C=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Cl,[e.createElementVNode("div",kl,[e.createElementVNode("div",null,[e.createVNode(vl,{"is-full-screen":n.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",_l,[e.createVNode(v,{src:o.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(()=>[a.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:d})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[a.value.length>1?(e.openBlock(),e.createBlock(C,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:l})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[c.showFullScreen?(e.openBlock(),e.createBlock(_t,{key:0,"is-full-screen":n.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),c.showShare?(e.openBlock(),e.createElementBlock("div",wl,[e.createVNode(kt)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[n.value.isActive&&a.value.length>1?(e.openBlock(),e.createBlock(ze,{key:0,class:e.normalizeClass([n.value.isActive?"full-screen":""]),thumbnails:a.value,active:t.value,onNext:l,onPrevious:d,onGoto:m},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),a.value.length>1?(e.openBlock(),e.createBlock(ze,{key:0,thumbnails:a.value,active:t.value,onNext:l,onPrevious:d,onGoto:m},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),bl=R(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},currentCamera:{},level:{},rotation:{},hideCompass:{type:Boolean},hideSlider:{type:Boolean},compassScale:{}},emits:["apartmentJsonLoaded","minimapJsonLoaded","cameraSet"],setup(i,{emit:r}){const t=i,n=e.toRefs(t),a=r,o=e.ref(),s=e.ref(),l=e.ref(),d=e.ref(0),m=e.ref(),c=e.ref(1),u=e.computed(()=>n.currentCamera.value?n.currentCamera.value:o.value?o.value.cameras[0].id:null),v=e.computed(()=>({transformOrigin:"top left",transform:`scale(${c.value})`}));e.watch(m,()=>{m.value&&new ResizeObserver(([y])=>{const g=y.target.parentElement,x=g.parentElement;c.value=x.clientWidth/512,g.style.height=`${y.contentRect.height*c.value}px`}).observe(m.value)}),e.watch(u,()=>{a("cameraSet",u.value)});const C=e.computed(()=>{const y=Q(n.cdnFileResolver.value,"").replace(`/${o.value.type}/${o.value.id}`,"");return g=>`${y}${g}`}),p=e.computed(()=>{var h;return(h=s.value)==null?void 0:h.storeys[n.level.value||0]});e.watch(n.cdnFileResolver,async()=>{o.value=await(await fetch(Q(n.cdnFileResolver.value,"/apartment.json"))).json(),a("apartmentJsonLoaded",o.value),s.value=await(await fetch(Q(n.cdnFileResolver.value,"/minimap/minimap.json"))).json(),a("minimapJsonLoaded",s.value)},{immediate:!0}),e.watch([p,n.cdnFileResolver],()=>{n.cdnFileResolver.value&&p.value&&(l.value=p.value.defaultSunsimFile?Q(n.cdnFileResolver.value,"/minimap/sunsim0_13.jpg"):Q(n.cdnFileResolver.value,`/minimap/${p.value.defaultSunsimFile}`))},{immediate:!0});function f(h){l.value=h}return(h,y)=>{const g=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createBlock(g,{loading:!o.value||!s.value},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("div",{style:e.normalizeStyle({...v.value,position:"relative"}),ref_key:"fitContainer",ref:m},[h.hideCompass!==!0?(e.openBlock(),e.createBlock(ht,{key:0,scale:h.compassScale||1,rotation:p.value.rotation.y,"transform-angle":d.value},null,8,["scale","rotation","transform-angle"])):e.createCommentVNode("",!0),e.createVNode(ft,{"transform-angle":d.value,"all-cameras":o.value.cameras,"background-image":l.value,rotation:h.rotation||0,"current-camera":u.value,storey:p.value,containerWidth:512,containerHeight:384,fit:""},{default:e.withCtx(({id:x,camera:V,active:F,style:w})=>[e.renderSlot(h.$slots,"default",{id:x,camera:V,active:F,style:e.normalizeStyle(w)},void 0,!0)]),_:3},8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"]),h.hideSlider!==!0?(e.openBlock(),e.createBlock(gt,{key:1,"cdn-file-resolver":C.value,"minimap-json":s.value,"apartment-json":o.value,level:h.level||0,onSetBackgroundImage:f},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])):e.createCommentVNode("",!0)],4)])]),_:3},8,["loading"])}}}),[["__scopeId","data-v-8077dfb5"]]),Vl=["src"],Bl=R(e.defineComponent({__name:"VStructureChooserCameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(i){const r=i,{timeSampleData:t,cdnFileResolver:n,currentTime:a}=e.toRefs(r),o=e.ref(),s=e.inject("registerImage"),l=e.inject("completeImage");e.watch(o,()=>{o.value&&(s(o.value),o.value.onload=()=>{l(o.value)},o.value.onerror=()=>{l(o.value)})});const d=e.computed(()=>Q(n.value,t.value.filename));return(m,c)=>(e.openBlock(),e.createElementBlock("img",{ref_key:"image",ref:o,style:e.normalizeStyle({visibility:e.unref(a)&&e.unref(t)===e.unref(a)?"visible":"hidden"}),src:d.value},null,12,Vl))}}),[["__scopeId","data-v-c4a08195"]]),Sl=e.defineComponent({__name:"VStructureChooserCameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentDay:{},currentTime:{}},setup(i){const r=i,{dayData:t,cdnFileResolver:n,currentTime:a}=e.toRefs(r);return(o,s)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).timeSamples,(l,d)=>(e.openBlock(),e.createBlock(Bl,{key:d,"time-sample-data":l,"cdn-file-resolver":e.unref(n),"current-time":e.unref(a)},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),128))}}),El=["src"],xl=R(e.defineComponent({__name:"VStructureChooserCamera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentCamera:{},currentDay:{},currentTime:{}},setup(i){const r=i,{cameraData:t,cdnFileResolver:n,currentCamera:a,currentTime:o}=e.toRefs(r),s=e.ref(),l=e.inject("registerImage"),d=e.inject("completeImage");e.watch(s,()=>{s.value&&(l(s.value),s.value.onload=()=>{d(s.value)},s.value.onerror=()=>{d(s.value)})});const m=e.computed(()=>Q(n.value,t.value.defaultFilename));return(c,u)=>e.unref(t).sunsimDayOfYear?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).sunsimDayOfYear,(v,C)=>(e.openBlock(),e.createBlock(Sl,{key:C,"day-data":v,"cdn-file-resolver":e.unref(n),"current-day":c.currentDay,"current-time":e.unref(o)},null,8,["day-data","cdn-file-resolver","current-day","current-time"]))),128)):(e.openBlock(),e.createElementBlock("img",{key:1,ref_key:"image",ref:s,style:e.normalizeStyle({visibility:e.unref(a)===e.unref(t)?"visible":"hidden"}),src:m.value},null,12,El))}}),[["__scopeId","data-v-da694d37"]]),Nl=["src"],Il=R(e.defineComponent({__name:"VStructureChooserTransition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},setup(i){const r=i,{transitionData:t,cdnFileResolver:n,currentTransition:a}=e.toRefs(r),o=e.ref(),s=e.inject("registerImage"),l=e.inject("completeImage");e.watch(o,()=>{o.value&&(s(o.value),o.value.onload=()=>{l(o.value)},o.value.onerror=()=>{l(o.value)})});const d=e.computed(()=>Q(n.value,t.value.filename));return(m,c)=>(e.openBlock(),e.createElementBlock("img",{ref_key:"image",ref:o,style:e.normalizeStyle({visibility:e.unref(t)===e.unref(a)?"visible":"hidden"}),src:d.value},null,12,Nl))}}),[["__scopeId","data-v-d592c198"]]);function Bt(i){const r=new Date(0);return r.setUTCDate(i),r.toLocaleString("en-no",{month:"short",day:"numeric"})}const Dl={key:0,class:"d-inline-block",style:{"vertical-align":"top"}},Al=R(e.defineComponent({__name:"VStructureChooserUiDayButton",props:{isMobileSized:{type:Boolean},currentCamera:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,currentCamera:a,currentDay:o,disabled:s}=e.toRefs(t),l=r,d=e.ref(o.value.dayOfYear);return e.watch(o,()=>{d.value=o.value.dayOfYear}),e.watch(d,()=>{l("onDayChange",a.value.sunsimDayOfYear.find(m=>m.dayOfYear===d.value))}),(m,c)=>{const u=e.resolveComponent("v-btn"),v=e.resolveComponent("v-field"),C=e.resolveComponent("v-list-item-title"),p=e.resolveComponent("v-list-item"),f=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu");return e.unref(a).sunsimDayOfYear&&e.unref(a).sunsimDayOfYear.length>0?(e.openBlock(),e.createElementBlock("div",Dl,[e.createVNode(h,null,{activator:e.withCtx(({props:y})=>[e.createVNode(v,{variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.createVNode(u,e.mergeProps({variant:"text",rounded:"",flat:"",readonly:e.unref(a).sunsimDayOfYear.length===1,"prepend-icon":"mdi-calendar-blank","append-icon":e.unref(a).sunsimDayOfYear.length>1?"mdi-menu-down":void 0,disabled:e.unref(s),size:e.unref(n)?"small":void 0},y),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Bt)(d.value)),1)]),_:2},1040,["readonly","append-icon","disabled","size"])]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(f,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a).sunsimDayOfYear,(y,g)=>(e.openBlock(),e.createBlock(p,{key:g,value:g,onClick:x=>d.value=y.dayOfYear},{default:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Bt)(y.dayOfYear)),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1})]),_:1})])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-743f5faf"]]),Fl={class:"still-camera-thumbnails-wrapper d-flex justify-center"},Tl=["onClick"],Ll={key:0,class:"camera-name text-caption text-capitalize"},Ml={key:1,class:"icon-wrapper"},$l=R(e.defineComponent({__name:"VStructureChooserUiCameraThumbnails",props:{isMobileSized:{type:Boolean},stillCameras:{},currentCamera:{},cdnFileResolver:{type:[String,Function]},disabled:{type:Boolean}},emits:["onCameraChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,stillCameras:a,currentCamera:o,cdnFileResolver:s,disabled:l}=e.toRefs(t),d=e.ref(o.value),m=r;e.watch(o,()=>{d.value=o.value},{immediate:!0}),e.watch(d,()=>{m("onCameraChange",a.value.find(u=>u===d.value))});function c(u){l.value||(d.value=u)}return(u,v)=>{const C=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-flex":!0,"justify-center":!e.unref(n),"align-end":!e.unref(n),"justify-end":e.unref(n),mobile:e.unref(n),disabled:e.unref(l),enabled:!e.unref(l)})},[e.createElementVNode("div",Fl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:e.normalizeClass(["still-camera-image d-flex flex-column flex-reverse align-center elevation-2",{"active-camera":p===d.value}]),onClick:h=>c(p)},[p.cameraName?(e.openBlock(),e.createElementBlock("div",Ll,e.toDisplayString(p.cameraName),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"camera-thumbnail-image",style:e.normalizeStyle({backgroundImage:`url(${e.unref(Q)(e.unref(s),p.defaultFilename)})`})},null,4),p.sunsimDayOfYear&&p.sunsimDayOfYear.length>1?(e.openBlock(),e.createElementBlock("div",Ml,[e.createVNode(C,{size:"x-small",color:"warning",style:{opacity:"0.6"}},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1})])):e.createCommentVNode("",!0)],10,Tl))),128))])],2)}}}),[["__scopeId","data-v-d14ee377"]]),Ol={class:"small"},Rl={class:"small"},Ul=R(e.defineComponent({__name:"VStructureChooserUiTimeSampleSlider",props:{isMobileSized:{type:Boolean},currentDay:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(i,{emit:r}){const t=i,{isMobileSized:n,currentDay:a,currentTime:o,disabled:s}=e.toRefs(t),l=r,d=e.ref(o.value.timeInHours);return e.watch(o,()=>{d.value=o.value.timeInHours}),e.watch(d,()=>{l("onTimeChange",a.value.timeSamples.find(m=>m.timeInHours===d.value))}),(m,c)=>{const u=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),C=e.resolveComponent("v-field");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"d-inline-block":!0,mobile:e.unref(n)}),style:e.normalizeStyle({flex:e.unref(n)&&e.unref(a).timeSamples.length>1?1:void 0,verticalAlign:"top"})},[e.createVNode(C,{style:e.normalizeStyle(e.unref(a).timeSamples.length>1?{width:e.unref(n)?"100%":"300px",height:e.unref(n)?"28px":"36px"}:{height:e.unref(n)?"28px":"36px",paddingLeft:"12px",paddingRight:"12px",paddingTop:e.unref(n)?"5px":"9px",paddingBottom:e.unref(n)?"5px":"9px"}),variant:"solo-filled",rounded:"",flat:""},{default:e.withCtx(()=>[e.unref(a).timeSamples.length>1?(e.openBlock(),e.createBlock(v,{key:0,class:"pa-2 pr-2",modelValue:d.value,"onUpdate:modelValue":c[0]||(c[0]=p=>d.value=p),min:e.unref(a).startTime,max:e.unref(a).endTime,step:e.unref(a).interval,disabled:!!e.unref(s),density:"compact","thumb-size":"16","thumb-color":"white","hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(u,{style:{"vertical-align":"baseline","font-size":"20px"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Ol,e.toDisplayString(e.unref(He)(d.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(u,{style:{"vertical-align":"baseline","font-size":"20px","margin-top":"-1px",opacity:"0.6"},class:"mr-2 icon",color:"warning"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createElementVNode("span",Rl,e.toDisplayString(e.unref(He)(d.value)),1)],64))]),_:1},8,["style"])],6)}}}),[["__scopeId","data-v-4d44890b"]]),Hl={class:"d-inline-block",style:{"vertical-align":"top"}},zl=e.createElementVNode("hr",{style:{"border-top":"1px solid #999"}},null,-1),Yl=e.defineComponent({__name:"VStructureChooserUiZoomButtons",props:{isMobileSized:{type:Boolean},canZoomIn:{type:Boolean},canZoomOut:{type:Boolean},disabled:{type:Boolean}},emits:["onZoomIn","onZoomOut"],setup(i,{emit:r}){const t=i,{isMobileSized:n,canZoomIn:a,canZoomOut:o,disabled:s}=e.toRefs(t),l=r;return(d,m)=>{const c=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Hl,[e.createVNode(c,{disabled:e.unref(s)||!e.unref(a),size:e.unref(n)?"x-small":"small",flat:"",icon:"mdi-plus",onClick:m[0]||(m[0]=u=>l("onZoomIn")),style:{"border-bottom-left-radius":"0","border-bottom-right-radius":"0"}},null,8,["disabled","size"]),zl,e.createVNode(c,{disabled:e.unref(s)||!e.unref(o),size:e.unref(n)?"x-small":"small",flat:"",icon:"mdi-minus",onClick:m[1]||(m[1]=u=>l("onZoomOut")),style:{"border-top-left-radius":"0","border-top-right-radius":"0"}},null,8,["disabled","size"])])}}}),Pl=["innerHTML"],jl=R(e.defineComponent({__name:"VStructureChooserOverlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{},activeStructureIds:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer","onError"],setup(i,{emit:r}){const t=i,{cdnFileResolver:n,colorCallback:a,currentCamera:o,selectedId:s}=e.toRefs(t),l=r,d=e.ref(!0),m=e.ref({}),c=e.ref(),u=e.reactive({}),v=e.computed(()=>Q(n.value,o.value.overlayFilename));e.watchEffect(()=>{for(const f in u){const{element:h,state:y}=u[f],{r:g,g:x,b:V,a:F,s:w}=a.value(f,y)||{r:0,g:0,b:0,a:0,s:0};h.style.fill=`rgba(${g}, ${x}, ${V}, ${F/255})`,h.style.stroke=`rgb(${g}, ${x}, ${V})`,h.style.strokeWidth=w.toString(),h.style.cursor="pointer"}}),e.watch(s,()=>{for(const f in u)u[f].state==="selected"&&f!==s.value?u[f].state="idle":u[f].state!=="selected"&&f===s.value&&(u[f].state="selected")}),e.watchEffect(async()=>{try{d.value=!1,m.value[v.value]||(m.value[v.value]=await ie.loadText(v.value)),p()}catch(f){l("onError",f)}finally{d.value=!0}}),e.watch(()=>c.value,()=>{c.value&&new ResizeObserver(C).observe(c.value)});function C(){e.nextTick(()=>{var h;const f=(h=c.value)==null?void 0:h.firstChild;if(f){if(!f.hasAttribute("viewBox")){const y=`0 0 ${f.getAttribute("width")} ${f.getAttribute("height")}`;f.setAttribute("viewBox",y)}f.setAttribute("width",c.value.offsetWidth.toString()),f.setAttribute("height",c.value.offsetHeight.toString())}})}e.watch(()=>t.activeStructureIds,()=>{p()},{immediate:!0,deep:!0});function p(){e.nextTick(()=>{var h;const f=(h=c.value)==null?void 0:h.firstChild;if(f){l("updateSvgContainer",f),C();let y,g="data-structure-id";y=f.querySelectorAll(`[${g}]`),y.length===0&&(g="data-apartment-id",y=f.querySelectorAll(`[${g}]`),y.length===0&&(g="data-building-id",y=f.querySelectorAll(`[${g}]`))),y.forEach(x=>{x.style.strokeWidth="0",x.style.stroke="rgba(255,255,255,0)",x.style.fill="rgba(255,255,255,0)",x.querySelectorAll("path").forEach(F=>{F.style.stroke="inherit",F.style.fill="inherit"});const V=x.getAttribute(g);u[V]={element:x,state:s.value===V?"selected":"idle"},t.activeStructureIds&&!t.activeStructureIds.includes(V)&&(x.style.display="none"),x.addEventListener("mouseover",()=>{u[V].state==="idle"&&(u[V].state="hover"),l("onHoverOver",V)}),x.addEventListener("mouseout",()=>{u[V].state==="hover"&&(u[V].state="idle"),l("onHoverOut",V)}),x.addEventListener("click",()=>{l("onClick",V)})})}})}return(f,h)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"svgContainer",ref:c,style:e.normalizeStyle([{visibility:d.value?"visible":"hidden"},{"z-index":"5"}]),class:"w-100 h-100 position-absolute top-left structure-chooser-overlay-svg",innerHTML:m.value[v.value]},null,12,Pl)]),_:1}))}}),[["__scopeId","data-v-548075eb"]]);function Wl(i){if(!i)return!1;const r=["version","latitude","longitude","structures","stillCameraIndices","stillCameraData","loopable","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Gl(i){return!("filename"in i)&&"defaultFilename"in i}function et(i){return"filename"in i}function ql(i){return i?"version"in i:!1}function Ql(i){if(!i)return!1;const r=["version","buildings","cameraPosition","cameraRotation","cameraFov","lookupFilename"];for(const t of r)if(!(t in i))return!1;return!0}function Zl(i){if(!i)return!1;const r=["version","latitude","longitude","buildings","cameras"];for(const t of r)if(!(t in i))return!1;return!0}function Fe(i){return i.startsWith("/")?i:`/${i}`}function St(i){var r,t,n,a;if(Wl(i))return i;if(Zl(i)){if(!i.buildings)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'buildings' is missing");return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:o,name:s})=>({id:o,name:s,type:"building"})),stillCameraIndices:i.cameras.map((o,s)=>s),stillCameraData:i.buildings.map(({id:o})=>({bestIndex:0,id:o})),loopable:!1,cameras:i.cameras.map(o=>{var l;if(o.sunsimDayOfYear){if(o.sunsimDayOfYear.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(o.sunsimDayOfYear[0].timeSamples){if(o.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const s={...o};return s.sunsimDayOfYear&&s.sunsimDayOfYear.forEach(d=>{d.timeSamples&&d.timeSamples.forEach(m=>{m.filename=Fe(m.filename)})}),{...s,defaultFilename:s.sunsimDayOfYear[0]?Fe(((l=s.sunsimDayOfYear[0].timeSamples.find(d=>d.timeInHours===s.sunsimDayOfYear[0].defaultHour))==null?void 0:l.filename)||s.sunsimDayOfYear[0].timeSamples[0].filename):void 0}})}}else if(Ql(i)){if(!i.days&&!i.timeSamples)throw new Error("cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty");const o=i.days||[{dayOfYear:180,timeSamples:i.timeSamples}];return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.buildings.map(({id:s,name:l})=>({id:s,name:l,type:"building"})),stillCameraIndices:[0],stillCameraData:i.buildings.map(({id:s})=>({bestIndex:0,id:s})),loopable:!1,cameras:[{cameraName:"",cameraPosition:i.cameraPosition,cameraRotation:Et(i.cameraRotation.normalized||i.cameraRotation),cameraFov:i.cameraFov,overlayFilename:"/BuildingChooserV5.svg",defaultFilename:Fe((t=(r=o[0])==null?void 0:r.timeSamples[0])==null?void 0:t.filename),sunsimDayOfYear:o.map(s=>({dayOfYear:s.dayOfYear,startTime:0,endTime:23.5,interval:.5,defaultHour:14,timeSamples:s.timeSamples.map(({timeInHours:l,filename:d})=>({timeInHours:l,filename:Fe(d)}))}))}]}}else{if(bo(i))return{version:"5.0",latitude:i.latitude,longitude:i.longitude,renderVersion:i.renderVersion,parentStructure:{id:i.building.id,name:i.building.name,type:"building"},structures:i.unitData.map(({unitId:o})=>({id:o,name:o,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.unitData.map(({bestScene:o,unitId:s})=>({bestIndex:o,id:s})),loopable:i.loopable,cameras:i.cameras.map(o=>{var s;if(Je(o)){if(o.sunsimDayOfYear){if(o.sunsimDayOfYear.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty");if(o.sunsimDayOfYear[0].timeSamples){if(o.sunsimDayOfYear[0].timeSamples.length===0)throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear[0].timeSamples' is missing")}else throw new Error("cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing");const l={...o};return l.sunsimDayOfYear&&l.sunsimDayOfYear.forEach(d=>{d.timeSamples&&d.timeSamples.forEach(m=>{m.filename=Fe(m.filename)})}),{...l,defaultFilename:l.sunsimDayOfYear[0]?Fe(((s=l.sunsimDayOfYear[0].timeSamples.find(d=>d.timeInHours===l.sunsimDayOfYear[0].defaultHour))==null?void 0:s.filename)||l.sunsimDayOfYear[0].timeSamples[0].filename):void 0}}else return o})};if(ql(i)){if(!i.sceneData)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'sceneData' is missing");if(!i.scenes)throw new Error("cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing");const o=[...Array(64).keys()].map(l=>({filename:`/1280/${(l+1).toString().padStart(4,"0")+".jpg"}`})),s=[4,1,2,3];for(let l=0;l<i.scenes.length;l++){let d=i.scenes[l],m,c;m=o[d].filename,c={cameraName:`Camera ${l+1}`,cameraPosition:void 0,cameraRotation:i.sceneCameras&&(n=i.sceneCameras.find(u=>u.scene===l))!=null&&n.cameraRotation?Et((a=i.sceneCameras.find(u=>u.scene===l))==null?void 0:a.cameraRotation):void 0,cameraFov:0,overlayFilename:`/scenedata${s[l]}V5Overlay.svg`,defaultFilename:m,sunsimDayOfYear:void 0},et(o[d])&&(o[d]=c)}return{version:"5.0",latitude:0,longitude:0,renderVersion:i.renderVersion,parentStructure:void 0,structures:i.sceneData.map(({apartmentID:l})=>({id:l,name:l,type:"unit"})),stillCameraIndices:i.scenes,stillCameraData:i.sceneData.map(({apartmentID:l,bestScene:d})=>({bestIndex:s.findIndex(m=>m===d)in i.scenes?i.scenes[s.findIndex(m=>m===d)]:null,id:l})).filter(({bestIndex:l})=>l!==null),loopable:!0,cameras:o}}else throw new Error("cannot convert data, no conversion source type found")}}function Et({x:i,y:r,z:t}){return{x:i,y:r,z:t,w:0}}const Jl={key:0,class:"position-absolute w-100 h-100 bg-grey-lighten-2 justify-center align-center d-flex",style:{"z-index":"10"}},Xl=["innerHTML"],Kl={style:{"z-index":"7"}},ei={key:4,class:"render-version"},xt=R(e.defineComponent({__name:"VStructureChooser",props:{structureChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},mobileBreakpoint:{default:600},version:{},showVersion:{type:Boolean,default:!0},showUi:{type:Boolean,default:!0},activeStructureIds:{}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove","onInitialize","onError"],setup(i,{expose:r,emit:t}){const n=i,{structureChooserData:a,cdnFileResolver:o,colorCallback:s,i18nConfig:l,customOverlayContent:d,selectedId:m,defaultCamera:c,defaultDay:u,defaultTime:v,mobileBreakpoint:C}=e.toRefs(n),p=t,f=e.ref(),h=e.ref(),y=e.ref(),g=e.ref(null),x=e.ref(4),V=e.ref(),F=e.ref(!1),w=e.ref(!1),B=e.ref(),U=e.computed(()=>B.value.isHoverEnabled),N=e.ref({x:0,y:0,width:0,height:0}),z=e.ref(),_=e.ref(),k=e.ref(),D=e.ref(!1),L=e.ref(1),J=e.ref(0),I=e.ref([]),S=e.ref(),M=e.ref({current:100,min:100,max:1e3}),$=e.ref(!1),Y=e.ref();e.provide(me,l.value?new fe(l.value):new fe),e.provide("registerImage",E=>{e.nextTick(()=>{I.value.find(O=>O.image===E)||(I.value=[...I.value,{image:E,loaded:!1}])})}),e.provide("completeImage",E=>{e.nextTick(()=>{const O=I.value.findIndex(Z=>Z.image===E);O>=0&&(I.value[O].loaded=!0,I.value=[...I.value])})}),r({getState:()=>({currentCameraIndex:f.value?P.value.findIndex(E=>E===f.value):null,currentDayIndex:h.value?f.value.sunsimDayOfYear.findIndex(E=>E===h.value):null,currentTimeIndex:y.value?h.value.timeSamples.findIndex(E=>E===y.value):null,currentTransitionIndex:g.value?se.value.findIndex(E=>E===g.value):null,currentScene:x.value}),setState:({currentCameraIndex:E,currentDayIndex:O,currentTimeIndex:Z,currentTransitionIndex:K,currentScene:X})=>{typeof E=="number"&&(f.value=P.value[E]),typeof O=="number"&&(h.value=f.value.sunsimDayOfYear[O]),typeof Z=="number"&&(y.value=h.value.timeSamples[Z]),typeof K=="number"&&(g.value=se.value[K]),typeof X=="number"&&(x.value=X)},resolveCoordinates:(E,O)=>Y.value?Y.value(E,O):{x:0,y:0}}),e.onMounted(()=>{F.value=!0,$.value=!1}),e.watch(_,()=>{_.value&&new ResizeObserver(([])=>{const O=I.value.find(Z=>Z.loaded);O&&(J.value=O.image.width/L.value)}).observe(_.value)}),e.watch(I,()=>{if(J.value===0){const E=I.value.find(O=>O.loaded);E&&(L.value=E.image.naturalWidth/E.image.naturalHeight,J.value=E.image.width/L.value)}});const G=e.computed(()=>I.value.every(E=>E.loaded)),W=e.computed(()=>Math.round(I.value.filter(E=>E.loaded).length/I.value.length*100));e.watch(a,E=>{try{$.value=!1,k.value=St(E)}catch(O){$.value=!0,p("onError",O)}},{immediate:!0}),e.watch(F,E=>{E&&p("onInitialize")});const ne=e.ref();e.watch(()=>n.activeStructureIds,()=>{ne.value=n.activeStructureIds},{immediate:!0,deep:!0}),e.watch(()=>_.value,()=>{_.value&&new ResizeObserver(([O])=>{D.value=O.contentRect.width<C.value}).observe(_.value)});const P=e.computed(()=>k.value?k.value.cameras.filter(Gl):[]),se=e.computed(()=>k.value?k.value.cameras.filter(et):[]);e.watch([k,o],()=>{k.value&&o.value&&(I.value=[])},{immediate:!0}),e.watch([k,o,c],async()=>{o.value&&P.value.length>0&&(c.value?f.value=P.value.find(E=>E.cameraName===c.value)||P.value[0]:f.value=P.value[0],x.value=k.value.cameras.findIndex(E=>E===f.value),x.value=Math.max(0,x.value))},{immediate:!0}),e.watch([k,o,u],()=>{k.value&&o.value&&f.value&&f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>0&&(u.value?h.value=f.value.sunsimDayOfYear.find(E=>E.dayOfYear===u.value)||f.value.sunsimDayOfYear[0]:h.value=f.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([k,o,v],()=>{k.value&&o.value&&h.value&&h.value.timeSamples&&h.value.timeSamples.length>0&&(v.value?y.value=h.value.timeSamples.find(E=>E.timeInHours===v.value)||h.value.timeSamples[0]:y.value=h.value.timeSamples.find(E=>E.timeInHours===h.value.defaultHour)||h.value.timeSamples[0])},{immediate:!0});function de(E){f.value!==E&&oe(k.value.cameras.findIndex(O=>O===E))}function Ce(E){x.value=E,et(k.value.cameras[x.value])?g.value=k.value.cameras[x.value]:(e.nextTick(()=>{ae(k.value.cameras[x.value])}),g.value=null)}function ae(E){const O=h.value;f.value=E,x.value=k.value.cameras.findIndex(Z=>Z===f.value),e.nextTick(()=>{f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>0&&le(f.value.sunsimDayOfYear.find(Z=>Z.dayOfYear===O.dayOfYear)||f.value.sunsimDayOfYear[0])})}function le(E){const O=y.value;h.value=E,e.nextTick(()=>{ue(h.value.timeSamples.find(Z=>Z.timeInHours===O.timeInHours)||h.value.timeSamples.find(Z=>Z.timeInHours===h.value.defaultHour)||h.value.timeSamples[0])})}function ue(E){y.value=E}function ce(E){p("onClick",E,()=>{const O=k.value.stillCameraData.find(Z=>Z.id===E);O&&oe(O.bestIndex)})}function T(E){p("onHoverOver",E),V.value=E}function H(E){p("onHoverOut",E),V.value=void 0}function te(E){const{layerX:O,layerY:Z}=E;let K=E.target,X=!1;for(;K;)if(K===z.value){X=!0;break}else K=K.parentElement;if(X){const ge=E.currentTarget;N.value={x:O,y:Z,width:ge.clientWidth,height:ge.clientHeight}}else N.value=void 0;p("onMouseMove",E,N.value)}function we({min:E,max:O,current:Z,resolve:K}){Y.value=K,M.value={min:E,max:O,current:Z}}function pe(E){S.value.adjustZoom(E?10:-10)}function he(E){return k.value.stillCameraIndices.findIndex(O=>O===E)}async function oe(E){const O=x.value;if(k.value.loopable){const Z=k.value.stillCameraIndices.length,K=he(O),X=he(E);let ge=0,Re=0,ye=K;for(;ye++,ye>=Z&&(ye=0),ye!==X;)ge++;for(ye=K;ye--,ye<0&&(ye+=Z),ye!==X;)Re++;ge===Re?ke(O,E):ge<Re?K<X?ke(O,E):ke(O,E+k.value.cameras.length):K>=X?ke(O,E):ke(O+k.value.cameras.length,E)}else ke(O,E)}function ke(E,O){return new Promise(Z=>{w.value=!0;let K,X=E;K=setInterval(()=>{X<O?(X++,x.value=Math.abs(X%k.value.cameras.length),Ce(x.value)):X>O?(X--,x.value=Math.abs(X%k.value.cameras.length),Ce(x.value)):(clearInterval(K),w.value=!1,Z())},12)})}function Oe(E){$.value=!0,p("onError",E)}const Ye=E=>E*(180/Math.PI);return(E,O)=>{const Z=e.resolveComponent("v-progress-circular"),K=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(K,{type:"image",class:"w-100 h-100 position-relative",loading:!F.value||!k.value},{default:e.withCtx(()=>[G.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Jl,[e.createVNode(Z,{"model-value":W.value,size:128,width:12},null,8,["model-value"])])),e.createVNode(e.Transition,{class:"w-100 h-100"},{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:_,class:e.normalizeClass({mobile:D.value}),style:{"min-height":"160px"},onMousemove:te},[E.showUi?(e.openBlock(),e.createElementBlock("div",{key:0,class:"persistent actions-bar top-right pa-2",style:e.normalizeStyle({zIndex:7,top:D.value&&P.value.length>1?"60px":0})},[f.value.cameraRotation?(e.openBlock(),e.createBlock(Ee,{key:0,class:"mb-2",style:e.normalizeStyle({zIndex:7,width:D.value?32:40,height:D.value?32:40}),longitude:Ye(f.value.cameraRotation.y)+270},null,8,["style","longitude"])):e.createCommentVNode("",!0),e.createVNode(Yl,{"is-mobile-sized":D.value,"can-zoom-out":M.value.min<M.value.current,"can-zoom-in":M.value.max>M.value.current,disabled:w.value,onOnZoomIn:O[0]||(O[0]=X=>pe(!0)),onOnZoomOut:O[1]||(O[1]=X=>pe(!1))},null,8,["is-mobile-sized","can-zoom-out","can-zoom-in","disabled"])],4)):e.createCommentVNode("",!0),E.showUi&&P.value.length>1?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass([{"actions-bar bottom-center pb-2":!0,"px-0":D.value},"still-cameras-wrapper"]),style:{"z-index":"7"}},[e.createVNode($l,{"is-mobile-sized":D.value,"still-cameras":P.value,"current-camera":f.value,disabled:w.value,"cdn-file-resolver":e.unref(o),onOnCameraChange:de},null,8,["is-mobile-sized","still-cameras","current-camera","disabled","cdn-file-resolver"])],2)):e.createCommentVNode("",!0),e.createVNode(Se,{ref_key:"zoomBox",ref:S,position:"relative",onUpdate:we},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-100 position-relative",style:e.normalizeStyle({height:`${J.value}px`})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(X,ge)=>(e.openBlock(),e.createBlock(xl,{key:`camera${ge}`,"camera-data":X,"cdn-file-resolver":e.unref(o),"current-camera":f.value,"current-day":h.value,"current-time":y.value},null,8,["camera-data","cdn-file-resolver","current-camera","current-day","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(se.value,(X,ge)=>(e.openBlock(),e.createBlock(Il,{key:`transition${ge}`,"transition-data":X,"cdn-file-resolver":e.unref(o),"current-transition":g.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),128)),e.unref(d)?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:e.unref(d)},null,8,Xl)):e.createCommentVNode("",!0),f.value.overlayFilename&&!$.value?e.withDirectives((e.openBlock(),e.createBlock(jl,{key:1,"cdn-file-resolver":e.unref(o),"color-callback":e.unref(s),"current-camera":f.value,"selected-id":e.unref(m),activeStructureIds:ne.value,onOnClick:ce,onOnHoverOver:T,onOnHoverOut:H,onUpdateSvgContainer:O[2]||(O[2]=X=>z.value=X),onOnError:Oe},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id","activeStructureIds"])),[[e.vShow,g.value===null]]):e.createCommentVNode("",!0),e.renderSlot(E.$slots,"default",{},void 0,!0)],4)]),_:3},512),E.showUi&&(h.value&&h.value.timeSamples&&h.value.timeSamples.length>1||f.value.sunsimDayOfYear&&f.value.sunsimDayOfYear.length>1)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass({"actions-bar top-left pa-2 d-flex":!0,"px-0":D.value}),style:{"z-index":"7"}},[e.createVNode(Al,{class:"pr-2","is-mobile-sized":D.value,"current-camera":f.value,"current-day":h.value,disabled:w.value,onOnDayChange:le},null,8,["is-mobile-sized","current-camera","current-day","disabled"]),e.createVNode(Ul,{"is-mobile-sized":D.value,"current-day":h.value,"current-time":y.value,disabled:w.value,onOnTimeChange:ue},null,8,["is-mobile-sized","current-day","current-time","disabled"])],2)):e.createCommentVNode("",!0),E.$slots.popup&&N.value&&V.value?(e.openBlock(),e.createBlock(Be,{key:3,"is-hoverable":U.value,pos:N.value},{default:e.withCtx(()=>[e.createElementVNode("div",Kl,[e.renderSlot(E.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:V.value,hoverable:U.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),E.version&&E.showVersion?(e.openBlock(),e.createElementBlock("div",ei," version: "+e.toDisplayString(E.version),1)):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(_e,{ref_key:"hoverProbe",ref:B},null,512)],64)}}}),[["__scopeId","data-v-df80f47c"]]),ti={install:function(r){r.component("VApartmentChooser",it),r.component("VBuildingChooser",ut),r.component("VVirtualTour",bt),r.component("VManualSlideShow",Vt),r.component("VStructureChooser",xt)}};q.ResourceLoader=ie,q.VApartmentChooser=it,q.VApartmentChooserV5=Go,q.VBuildingChooser=ut,q.VBuildingChooserV5=Tn,q.VFloatingCard=Be,q.VHoverProbe=_e,q.VManualSlideShow=Vt,q.VMiniMap=bl,q.VNorthDirection=Ee,q.VStructureChooser=xt,q.VVirtualTour=bt,q.VZoomBox=Se,q.convertApartmentChooserDataLegacyToV5=ct,q.convertBuildingChooserDataLegacyToV5=pt,q.convertStructureChooserDataLegacyToV5=St,q.default=ti,Object.defineProperties(q,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});