@qispace/vue3-player 0.1.40 → 0.1.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P["vue3-player"]={},P.Vue,P.axios,P.PlayerCore,P.THREE))})(this,function(P,e,ae,qe,Ze){"use strict";var _r=Object.defineProperty;var br=(P,e,ae)=>e in P?_r(P,e,{enumerable:!0,configurable:!0,writable:!0,value:ae}):P[e]=ae;var j=(P,e,ae)=>(br(P,typeof e!="symbol"?e+"":e,ae),ae);function De(m){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const t in m)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(m,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>m[t]})}}return o.default=m,Object.freeze(o)}const Xe=De(qe),ce=De(Ze);class q{static async loadText(o){return new q().loadText(o)}static async loadJson(o){return new q().loadJson(o)}static async loadImage(o){return new q().loadImage(o)}static async loadImageData(o){return new q().loadImageData(o)}async loadText(o){return(await ae.get(o)).data}async loadJson(o){return(await ae.get(o)).data}async loadImage(o){return new Promise((t,a)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>{t(n)},n.onerror=a,n.src=o})}async loadImageData(o){const t=await this.loadImage(o),a=document.createElement("canvas");try{const n=a.getContext("2d");return a.width=t.width,a.height=t.height,n.drawImage(t,0,0),a.toDataURL("image/png")}finally{a.remove()}}}const Je=e.defineComponent({__name:"VHoverProbe",setup(m,{expose:o}){const t=e.ref(),a=e.computed(()=>window.getComputedStyle(t.value).display==="none");return o({isHoverEnabled:a}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),$=(m,o)=>{const t=m.__vccOpts||m;for(const[a,n]of o)t[a]=n;return t},ie=$(Je,[["__scopeId","data-v-eb9b348d"]]);function z(m,o){return typeof m=="string"?`${m}${o}`:m(o)}const Ke=$(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(m,{emit:o}){const t=m,a=o,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),s=e.ref(0),i=e.ref(),u=e.ref(),c=e.ref(),l=e.ref(),d=e.ref(-1),k=e.ref(!1),p=e.ref(),f=e.ref(),g=e.ref({}),V=e.ref("auto"),C=e.ref(new q),h=e.ref({}),A=e.ref(),v=e.ref(),S=e.ref(),y=e.ref(),_=e.ref(),M=e.computed(()=>S.value.isHoverEnabled),E=e.computed(()=>z(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),R=e.computed(()=>E.value in g.value?g.value[E.value]:null),b=e.computed(()=>d.value<0?!1:t.sceneData.find(T=>T.index===d.value)||!1),x=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:V.value})),B=e.computed(()=>`hover-${k.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(E,()=>{g.value[E.value]||C.value.loadImageData(E.value).then(L=>{g.value={...g.value,[E.value]:L}})},{immediate:!0}),e.watch(R,()=>{R.value&&I()}),e.watch(()=>t.viewModel.currentScene,()=>{se()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{se()}),e.watch(b,()=>{se(),b.value?V.value="pointer":V.value="auto"}),e.watch(B,()=>{k.value?a("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>xe()}):a("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>xe()})}),e.watch(n,()=>{a("pos",n.value)}),e.onMounted(()=>{v.value=()=>{clearTimeout(A.value),te(),A.value=setTimeout(()=>{te()},50)},window.addEventListener("resize",v.value),te()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",v.value);for(const L in g.value)URL.revokeObjectURL(g.value[L])});function I(){i.value=y.value.getContext("2d",{willReadFrequently:!0}),u.value=new Image,u.value.onload=()=>{me(),y.value.addEventListener("mousemove",Se(U,50))},u.value.src=R.value}function U(L){const T=H(L.offsetX,L.offsetY);k.value=T>=0,d.value=T,n.value={x:L.offsetX,y:L.offsetY,width:r.value,height:s.value}}function N(L){const T=H(L.offsetX,L.offsetY);T<0||M&&re(T)}function D(){if(u.value&&u.value.width){y.value.width=u.value.width,y.value.height=u.value.height,i.value.drawImage(u.value,0,0,u.value.width,u.value.height),l.value=i.value.getImageData(0,0,y.value.width,y.value.height),c.value=i.value.getImageData(0,0,y.value.width,y.value.height);const L=l.value.data;h.value={};for(let T=0;T<L.length;T+=4)h.value[L[T]]=[];for(let T=3;T<L.length;T+=4)L[T]===255&&L[T-3]in h.value&&h.value[L[T-3]].push(T-3)}}function H(L,T){p.value=L,f.value=T;const Y=y.value.offsetWidth/y.value.width,Ve=y.value.offsetHeight/y.value.height,ue=(L/Y).toFixed(),le=(T/Ve).toFixed(),X=Number(le)*(y.value.width*4)+Number(ue)*4,ye=l.value.data[X];return l.value.data[X+3]>0?ye:-1}function Q(){ne().forEach(T=>{if(T.index>=0){const Y=G(T.index);if(Y){const Ve=W(T.index);let ue="idle";!b.value&&t.selectedUnitId&&Ve===t.selectedUnitId?ue="selected":b.value&&d.value===T.index&&(ue="hover");const le=t.colorCallback(T.unitId,ue);if(le)for(let X=0;X<Y.length;X++)c.value.data[Y[X]]=le.r,c.value.data[Y[X]+1]=le.g,c.value.data[Y[X]+2]=le.b,c.value.data[Y[X]+3]=le.a}}})}function G(L){return l.value?h.value[L]:!1}function W(L){const T=t.sceneData.find(Y=>Y.index===L);return T&&T.unitId}function ne(){if(l.value){const L=Object.keys(h.value).map(Y=>parseInt(Y));return t.sceneData.filter(Y=>L.includes(Y.index))}else return[]}function re(L){const T=W(L);K(T)}function K(L){a("selectUnit",L),L&&t.canGoToUnitCallback(L)&&a("goToUnit",L)}function ee(L=0){if(!c.value)return;const T=c.value.data;for(let Y=3;Y<T.length;Y+=4)T[Y]=L}function te(){if(!_.value)return!1;r.value=_.value.offsetWidth,s.value=_.value.offsetHeight}function me(){D(),se()}function se(){ee(),Q(),i.value&&c.value&&i.value.putImageData(c.value,0,0)}function xe(){k.value=!1}const Ce=e.ref(!1);function Se(L,T){return Ce.value=!0,function(...Y){Ce.value&&(Ce.value=!1,L.apply(this,Y),setTimeout(()=>Ce.value=!0,T))}}return(L,T)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:_,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:y,style:e.normalizeStyle(x.value),onClick:N},null,4),[[e.vShow,!L.viewModel.isRotating]]),e.createVNode(ie,{ref_key:"hoverProbe",ref:S},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),et=["viewBox"],tt=["innerHTML","onMouseenter","onMouseleave","onClick"],ot=$(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(m,{emit:o}){const t=m,a=o,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),s=e.ref({}),i=e.ref(null),u=e.ref(new q),c=e.ref(),l=e.ref(),d=e.computed(()=>l.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(n,()=>{a("pos",n.value)}),e.watch(r,(v,S)=>{if(v>=0){const y=p(v);a("hoverOver",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}else{const y=p(S);a("hoverOut",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let v=1;v<=4;v++){const S=z(t.cdnFileResolver,`/scenedata${v}.svg`),y={markup:"",viewBox:"",svgObjects:[]};u.value.loadJson(S).then(_=>{y.markup=_;const E=new DOMParser().parseFromString(_,"image/svg+xml").getElementsByTagName("svg")[0];y.viewBox=E.getAttribute("viewBox"),y.svgObjects=Array.from(E.querySelectorAll("*[data-index]")).map(R=>({index:parseInt(R.getAttribute("data-index")),svg:R.innerHTML})),s.value={...s.value,[v]:y}})}c.value.addEventListener("mousemove",A(k,50))});function k(v){n.value={x:v.offsetX,y:v.offsetY,width:c.value.offsetWidth,height:c.value.offsetHeight}}function p(v){var S;return(S=t.sceneData.find(y=>y.index===(typeof v=="string"?parseInt(v):v)))==null?void 0:S.unitId}function f(v){d.value&&(r.value=v)}function g(v){d.value&&(r.value=-1)}function V(v){const S=p(v);a("selectUnit",S),d.value&&S&&t.canGoToUnitCallback(S)?a("goToUnit",S):r.value=v}function C(v){const S=p(v);let y="idle";r.value<0&&t.selectedUnitId&&S===t.selectedUnitId?y="selected":r.value>=0&&r.value===v&&(y="hover");const _=t.colorCallback(S,y);if(_){const{r:M,g:E,b:R,a:b,s:x}=_;return{strokeWidth:x!==void 0?x:2,stroke:`rgb(${M}, ${E}, ${R})`,strokeOpacity:1,fill:`rgb(${M}, ${E}, ${R})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(S)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const h=e.ref(!1);function A(v,S){return h.value=!0,function(...y){h.value&&(h.value=!1,v.apply(this,y),setTimeout(()=>h.value=!0,S))}}return(v,S)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:c},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:y,svg:_})=>(e.openBlock(),e.createElementBlock("g",{key:y,innerHTML:_,style:e.normalizeStyle(C(y)),onMouseenter:M=>f(y),onMouseleave:M=>g(),onClick:M=>V(y)},null,44,tt))),128))],8,et)):e.createCommentVNode("",!0)],4),[[e.vShow,!v.viewModel.isRotating]]),e.createVNode(ie,{ref_key:"hoverProbe",ref:l},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),J=Symbol(),nt={key:0,class:"text-success d-none d-md-flex"},at={class:"text-success"},rt=$(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(m,{emit:o}){const t=m,a=e.computed(()=>t.selectedUnitId),n=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),s=o,i=e.inject(J);e.onMounted(()=>{window.addEventListener("keydown",u)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",u)});function u(c){c.keyCode===37?t.prevUnitId&&s("prevUnit"):c.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(c,l)=>{const d=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:l[0]||(l[0]=k=>c.viewModel.rotateClockwise())}),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!r.value,onClick:l[1]||(l[1]=k=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(d,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!c.canGoToUnitCallback(a.value),onClick:l[2]||(l[2]=k=>s("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&c.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",nt,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",at,e.toDisplayString(a.value?t.unitRenderer(a.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!n.value,onClick:l[3]||(l[3]=k=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:l[4]||(l[4]=k=>c.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ne{constructor(o){j(this,"_numParts");j(this,"_loadedCount");j(this,"_isError");j(this,"_finishedAction");j(this,"_errorAction");j(this,"_loadProgressAction");this._numParts=o,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(o){return this._finishedAction=o,this}onLoadError(o){return this._errorAction=o,this}onLoadProgress(o){return this._loadProgressAction=o,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 Ie{constructor(o,t,a,n){j(this,"_rotator");j(this,"_direction");j(this,"_frameIndex");j(this,"_sceneCount");this._rotator=o,this._direction=t,this._frameIndex=a,this._sceneCount=n}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const o=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(o)?this._sceneCount-1:this._sceneCount;return new Ie(this._rotator,this._direction,o,t)}}class lt{constructor(o,t){j(this,"_cardinalFrames");j(this,"_totalFrameCount");this._cardinalFrames=o,this._totalFrameCount=t}start(o,t,a){const n=this.startFrameIndexForScene(t);return new Ie(this,o,n,a)}isCardinalFrame(o){return this._cardinalFrames.includes(o)}clampFrameIndex(o){return(this._totalFrameCount+o)%this._totalFrameCount}startFrameIndexForScene(o){return this._cardinalFrames[o]}}const it={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},st={key:1,class:"frame-container"},ct={key:0,class:"frame-image"},dt=["srcset"],mt=["src"],ut={key:2,id:"image-stack",class:"frame-container"},pt=["alt"],ft=["srcset"],ht=["src"],Le=64,_e=4,gt=120,vt=$(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(m,{emit:o}){const t=m,a=o,n=p(),r=e.ref(new Ne(n.length).onLoadFinished(()=>a("loaded")).onLoadProgress(C=>a("progress",C)).onLoadError(()=>a("error"))),s=e.ref(new lt(t.cardinalFrames,Le)),i=e.ref(n),u=e.ref(!1),c=e.computed(()=>i.value.find(C=>C.show));e.watch(()=>t.viewModel.currentScene,(C,h)=>{const A=V(h,C),v=g(h,C);l(h,A,v)}),e.onMounted(()=>{k()});function l(C,h,A){t.viewModel.isRotating||(t.viewModel.isRotating=!0,d(s.value.start(h,C%_e,A)))}function d(C){setTimeout(()=>{i.value[C.frameIndex].show=!1;const h=C.nextFrame();i.value[h.frameIndex].show=!0,h.atEnd?k():window.requestAnimationFrame(()=>d(h))},1e3/gt)}function k(){const C=s.value.startFrameIndexForScene(t.viewModel.currentScene%_e);C in i.value&&(i.value[C].show=!0),t.viewModel.isRotating=!1}function p(){const C=[];for(let h=0;h<Le;h++){const{sourceSet:A,defaultPath:v}=f(h);C.push({index:h,sourceSet:A,defaultPath:v,show:!1})}return C}function f(C){const h=("0000"+(C+1)).slice(-4),A=t.build?`?v=${t.build}`:"",v=[`${z(t.cdnFileResolver,`/480/${h}.jpg${A}`)} 480w`,`${z(t.cdnFileResolver,`/960/${h}.jpg${A}`)} 960w`,`${z(t.cdnFileResolver,`/1280/${h}.jpg${A}`)} 1280w`].join(","),S=z(t.cdnFileResolver,`/480/${h}.jpg${A}`);return{sourceSet:v,defaultPath:S}}function g(C,h){const A=_e/2,v=Math.abs(C-h);return v>A?_e-v:v}function V(C,h){if(C===h)return 0;const v=Math.abs(C-h)<_e/2;return v&&C<h||!v&&C>h?1:-1}return(C,h)=>{const A=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",it,[e.createVNode(A,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",ut,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createElementBlock("picture",{key:v.index,alt:v.index,class:e.normalizeClass({"frame-image":!0,show:v.show})},[e.createElementVNode("source",{srcset:v.sourceSet,type:"image/jpeg"},null,8,ft),e.createElementVNode("img",{src:v.defaultPath,alt:"Building image",onLoad:h[2]||(h[2]=S=>r.value.partLoaded()),onError:h[3]||(h[3]=S=>r.value.errorDetected())},null,40,ht)],10,pt))),128))])):(e.openBlock(),e.createElementBlock("div",st,[c.value?(e.openBlock(),e.createElementBlock("picture",ct,[e.createElementVNode("source",{srcset:c.value.sourceSet,type:"image/jpeg"},null,8,dt),e.createElementVNode("img",{src:c.value.defaultPath,onLoad:h[0]||(h[0]=v=>u.value=!0),onError:h[1]||(h[1]=v=>r.value.errorDetected())},null,40,mt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),pe=$(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(m,{emit:o}){const t=m,a=o,n=e.computed(()=>{let r,s,i,u;return t.pos.x<=t.pos.width/2?(r="-100%",i="-8px"):(r="0%",i="8px"),t.pos.y<=t.pos.height/2?(s="-100%",u="-8px"):(s="0%",u="8px"),`translate(${r}, ${s}) translate(${i}, ${u})`});return(r,s)=>{const i=e.resolveComponent("v-dialog"),u=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(u,{origin:`top left ${r.pos.x} ${r.pos.y}`},{default:e.withCtx(()=>[r.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${r.pos.x}px`,top:`${r.pos.y}px`,pointerEvents:"none",transform:n.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(i,{key:1,value:!0,width:"auto","onClick:outside":s[0]||(s[0]=c=>a("outside",c))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),fe=$(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(m,{emit:o}){const t=m,a=o,n=e.ref(100),r=e.ref(0),s=e.ref(0),i=e.ref(!1),u=e.ref(!1),c=e.ref(void 0),l=e.ref(!1),d=e.ref(),k=e.computed(()=>`translateX(${r.value}px) translateY(${s.value}px) scale(${p.value})`),p=e.computed(()=>n.value/100),f=e.computed(()=>t.maxScale*100);e.watch([p,r,s],()=>{U()}),e.watch(()=>t.desktop,()=>{t.desktop?g():C()}),e.watch(()=>t.mobile,()=>{t.mobile?V():h()}),e.onMounted(()=>{t.desktop&&g(),t.mobile&&V()}),e.onBeforeUnmount(()=>{t.desktop&&C(),t.mobile&&h()});function g(){d.value.addEventListener("wheel",A,{capture:!0}),d.value.addEventListener("mousedown",v,{capture:!0}),d.value.addEventListener("mousemove",S,{capture:!0}),window.addEventListener("mouseup",y,{capture:!0}),window.addEventListener("click",_,{capture:!0})}function V(){d.value.addEventListener("touchstart",M,{capture:!0}),d.value.addEventListener("touchmove",E,{capture:!0}),window.addEventListener("touchend",R,{capture:!0}),window.addEventListener("touchcancel",R,{capture:!0})}function C(){d.value.removeEventListener("wheel",A,{capture:!0}),d.value.removeEventListener("mousedown",v,{capture:!0}),d.value.removeEventListener("mousemove",S,{capture:!0}),window.removeEventListener("mouseup",y,{capture:!0}),window.removeEventListener("click",_,{capture:!0})}function h(){d.value.removeEventListener("touchstart",M,{capture:!0}),d.value.removeEventListener("touchmove",E,{capture:!0}),window.removeEventListener("touchend",R,{capture:!0}),window.removeEventListener("touchcancel",R,{capture:!0})}function A(N){const{x:D,y:H}=b(N);I(-N.deltaY/10,D,H),N.preventDefault()}function v(N){i.value=!0,l.value=!1,c.value=N}function S(N){if(i.value){const{x:D,y:H}=b(N),{x:Q,y:G}=b(c.value),W={x:D-Q,y:H-G};x(W.x),B(W.y),l.value=!0,c.value=N}}function y(N){i.value&&l.value&&t.consumeMouseUpWhenMoved&&(N.preventDefault(),N.stopImmediatePropagation())}function _(N){i.value&&(l.value&&t.consumeMouseClickWhenMoved&&(N.preventDefault(),N.stopImmediatePropagation()),i.value=!1)}function M(N){i.value=N.touches.length===1,u.value=N.touches.length===2,c.value=N}function E(N){if(i.value){const{x:D,y:H}=b(N.touches[0]),{x:Q,y:G}=b(c.value.touches[0]),W={x:D-Q,y:H-G};x(W.x),B(W.y)}else if(u.value&&N.touches.length===2){const{x:D,y:H}=b(N.touches[0]),{x:Q,y:G}=b(c.value.touches[0]),{x:W,y:ne}=b(N.touches[1]),{x:re,y:K}=b(c.value.touches[1]),ee=Math.hypot(Q-re,G-K),te=Math.hypot(D-W,H-ne),me=(W+D)/2,se=(ne+H)/2;I(te-ee,me,se)}c.value=N}function R(){i.value=!1,u.value=!1}function b(N){const{left:D,top:H}=d.value.getBoundingClientRect();return{x:N.clientX-D,y:N.clientY-H}}function x(N){const D=d.value.clientWidth,H=D*p.value;r.value=Math.max(Math.min(0,r.value+N),-(H-D))}function B(N){const D=d.value.clientHeight,H=D*p.value;s.value=Math.max(Math.min(0,s.value+N),-(H-D))}function I(N,D,H){const Q=d.value.clientWidth,G=d.value.clientHeight,W=Q*p.value,ne=G*p.value;n.value=Math.min(Math.max(100,n.value+N),f.value);const re=Q*p.value,K=G*p.value,ee=re-W,te=K-ne;r.value-=D/Q*ee,s.value-=H/G*te,x(0),B(0)}function U(){a("update",{scale:p.value,x:r.value,y:s.value,resolve:(N,D)=>{const H=d.value.clientWidth,Q=d.value.clientHeight,G=r.value/-p.value,W=s.value/-p.value,ne=G+H/p.value,re=W+Q/p.value,K=N/H*(ne-G)+G,ee=D/Q*(re-W)+W;return{x:K,y:ee}}})}return(N,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:d,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:k.value}),class:"zoom-box"},[e.renderSlot(N.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Ae=4;function Fe(m){return m<Ae?m+1:1}function kt(m){return m>1?m-1:Ae}class Ct{constructor(o){j(this,"_state");this._state={isRotating:!1,currentScene:o}}get isRotating(){return this._state.isRotating}set isRotating(o){this._state.isRotating=o}unlessRotatingDo(o){this.isRotating||o()}get currentScene(){return this._state.currentScene}set currentScene(o){this._state.currentScene=o}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Fe(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=kt(this.currentScene)})}}const yt={interior:"Interiør",seeASelectionOfTheOptionsInTheProject:"Se et utvalg av tilvalgsmulighetene i prosjektet.",floorPlan:"Planløsning",allIllustrationsAreIndicativeDeviationsMayOccur:{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},readMoreHere:"Les mer her",iUnderstand:{nb:"Jeg forstår",en:"I understand"},share:"Share",shareToFacebook:"Share to Facebook",shareToLinkedin:"Share to Linkedin",shareToTwitter:"Share to Twitter",shareViaEmail:"Share via Email",copyLink:"Copy link",virtualView:"Virtuell Visning",slideShow:"Slide Show",room:"Room",floor:"Floor",seeApartments:"See apartments",seeApartment:"See apartment",clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},dontShowAgain:{en:"Don't Show Again",nb:"Ikke vis igjen"}};class oe{constructor({labels:o,language:t}={labels:null,language:null}){j(this,"_labels");j(this,"_language");this._labels={...yt,...o||{}},this._language=t||"en"}getLabel(o){return o in this._labels?this.get(this._labels[o]):o}get(o){if(typeof o=="string")return o;if(this._language in o&&o[this._language])return o[this._language];for(const t in o)if(o[t])return o[t];return""}}const wt={key:0},_t={class:"interactive-viewer"},bt={class:"fill-parent"},Vt={key:0},Et={key:1,class:"navigation"},Bt={key:2},xt=4,Me=$(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:m=>m},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(m,{emit:o}){const t=[0,16,32,48],a=m,n=o;e.provide(J,a.i18nConfig?new oe(a.i18nConfig):new oe);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),u=e.ref(),c=e.ref(),l=e.ref({x:0,y:0,width:0,height:0}),d=e.ref(),k=e.ref(),p=e.ref(),f=e.computed(()=>p.value.isHoverEnabled),g=e.computed(()=>a.useSvg?ot:Ke),V=e.computed(()=>a.selectedUnitId),C=e.computed(()=>a.nextUnitId),h=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(V.value&&c.value){const y=s.value[V.value];y&&(c.value.currentScene=y)}}),e.onMounted(async()=>{const y=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:xt;u.value=a.apartmentChooserData&&a.apartmentChooserData.scenes!==void 0?a.apartmentChooserData.scenes:t,i.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(E=>({unitId:E.apartmentID,index:E.index})):[],s.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(E=>{const R=E.bestScene===0?4:E.bestScene;return{unitId:E.apartmentID,scene:R}}).reduce((E,R)=>({...E,[R.unitId]:R.scene}),{}):{};const _=(E,R="unitId")=>{let b=y,x=[];for(let B=0;B<Ae;B++)x.push(b),b=Fe(b);return E.sort((B,I)=>{const U=x.findIndex(D=>D===s.value[B[R]]),N=x.findIndex(D=>D===s.value[I[R]]);return U<N?-1:U>N?1:0}),E},M=E=>{c.value=new Ct(E)};n("initialized",{scene:y,scenes:u.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:_,initialize:M})});function A(y){l.value=y}function v(y){k.value=y.hoverUnit,d.value=y.closeHandler,n("hoverOverUnit",y.hoverUnit)}function S(y){k.value=null,d.value=y.closeHandler,n("hoverOutUnit",y.hoverUnit)}return(y,_)=>{const M=e.resolveComponent("v-progress-linear");return c.value?(e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",_t,[e.createElementVNode("div",bt,[e.createVNode(fe,{desktop:r.isReady&&y.interactiveDesktop,mobile:r.isReady&&y.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(vt,{"cdn-file-resolver":y.cdnFileResolver,"view-model":c.value,"cardinal-frames":u.value,build:y.build,onProgress:_[0]||(_[0]=E=>r.progress=E),onLoaded:_[1]||(_[1]=E=>r.isReady=!0),onError:_[2]||(_[2]=E=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Vt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":c.value,"selected-unit-id":V.value,"scene-data":i.value,"color-callback":a.colorCallback,"can-go-to-unit-callback":a.canGoToUnitCallback,"draw-observer":a.drawObserver,onSelectUnit:_[3]||(_[3]=E=>n("selectUnit",E)),onGoToUnit:_[4]||(_[4]=E=>n("goToUnit",E)),onHoverOver:v,onHoverOut:S,onPos:A},{default:e.withCtx(E=>[e.renderSlot(y.$slots,"default",e.normalizeProps(e.guardReactiveProps(E)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),k.value&&y.showCards?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":f.value,pos:l.value,onOutside:d.value},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{unit:k.value,canGoToUnit:y.canGoToUnitCallback(k.value),goToUnit:()=>y.canGoToUnitCallback(k.value)&&n("goToUnit",k.value),pos:l.value,isHoverable:f.value,close:d.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Et,[e.createVNode(rt,{"can-go-to-unit-callback":a.canGoToUnitCallback,"unit-renderer":a.unitRenderer,"selected-unit-id":V.value,"prev-unit-id":h.value,"next-unit-id":C.value,"view-model":c.value,onGoToUnit:_[5]||(_[5]=E=>n("goToUnit",E)),onPrevUnit:_[6]||(_[6]=E=>n("navUnit",h.value)),onNextUnit:_[7]||(_[7]=E=>n("navUnit",C.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):r.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Bt,[e.createVNode(M,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":_[8]||(_[8]=E=>r.progress=E)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(ie,{ref_key:"hoverProbe",ref:p},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-528c8f5b"]]),St=["src"],Nt=$(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m,t=e.computed(()=>z(o.cdnFileResolver,o.timeSampleData.filename));return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,St)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-189d0505"]]),It=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Nt,{"time-sample-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),At=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(It,{"day-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Dt=["src"],Lt=$(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,a=e.computed(()=>z(t.cdnFileResolver,t.transitionData.filename));return(n,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:a.value,src:a.value,class:"position-absolute top-left w-100 h-100"},null,8,Dt)),[[e.vShow,n.transitionData===n.currentTransition]])}}),[["__scopeId","data-v-10ab7bee"]]);function Te(m){return!("filename"in m)}function $e(m){return"filename"in m}const Ft=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{n.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Te):[]);return e.watch(n,()=>{a("onCameraChange",r.value.find(s=>s.overlayFilename===n.value))}),(s,i)=>{const u=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(u,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Mt=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,i)=>{const u=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(u,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Tt={key:0,class:"py-2"},$t={class:"small"},Rt={class:"small"},Ot=$(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{a("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===n.value))});function s(u){const c=u*60,l=c/60,d=c%60;return`${l.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,c)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),p=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(p,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Tt,[e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=f=>n.value=f),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(d,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",$t,e.toDisplayString(s(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Rt,e.toDisplayString(s(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-cb62dcc2"]]),Ut=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(m,{expose:o,emit:t}){const a=m,n=t;o({rotateShortestRoute:k});const r=e.ref(!1),s=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{s.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{n("onSceneChange",s.value)});const u=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[0]),c=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function l(){const f=s.value;let g=a.apartmentChooserData.scenes.findIndex(C=>C===f)+1;g>=a.apartmentChooserData.scenes.length&&(g=0);const V=a.apartmentChooserData.scenes[g];a.apartmentChooserData.loopable&&f>V?p(f,V+a.apartmentChooserData.scenes.length):p(f,V)}async function d(){const f=s.value;let g=a.apartmentChooserData.scenes.findIndex(C=>C===f)-1;g<0&&(g=a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);const V=a.apartmentChooserData.scenes[g];a.apartmentChooserData.loopable&&f<V?p(f+a.apartmentChooserData.scenes.length,V):p(f,V)}function k(f){const g=s.value;if(a.apartmentChooserData.loopable)if(f<g){let V=g-f,C=g-(a.apartmentChooserData.cameras.length+f);return Math.abs(V)>Math.abs(C)?p(g,f):p(g,a.apartmentChooserData.cameras.length+f)}else{let V=g-f,C=a.apartmentChooserData.cameras.length+g-f;return Math.abs(V)>Math.abs(C)?p(g,f):p(a.apartmentChooserData.cameras.length+g,f)}else return p(g,f)}function p(f,g){return new Promise(V=>{r.value=!0,n("onRotateStart",{from:f,to:g});let C,h=f;C=setInterval(()=>{h<g?(h++,s.value=Math.abs(h%a.apartmentChooserData.cameras.length)):h>g?(h--,s.value=Math.abs(h%a.apartmentChooserData.cameras.length)):(clearInterval(C),n("onRotateFinish",{from:f,to:g}),r.value=!1,V())},50)})}return(f,g)=>{const V=e.resolveComponent("v-btn"),C=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(V,{class:"mx-2",icon:"mdi-restore",disabled:!u.value,onClick:d},null,8,["disabled"]),f.renderDisplay&&i.value?(e.openBlock(),e.createBlock(C,{key:0,variant:"flat",color:"white",size:"x-large",onClick:g[0]||(g[0]=h=>n("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(V,{class:"mx-2",icon:"mdi-reload",disabled:!c.value,onClick:l},null,8,["disabled"])],64)}}}),Ht=["innerHTML"],Pt=$(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const l in i){const{element:d,state:k}=i[l],{r:p,g:f,b:g,a:V,s:C}=t.colorCallback(l,k)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${p}, ${f}, ${g}, ${V/255})`,d.style.stroke=`rgb(${p}, ${f}, ${g})`,d.style.strokeWidth=C.toString()}}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await q.loadText(z(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{const l=r.value.firstChild;if(l){if(!l.hasAttribute("viewBox")){const d=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",d)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())}})}function c(){e.nextTick(()=>{const l=r.value.firstChild;l&&(a("updateSvgContainer",l),u(),l.querySelectorAll("[data-apartment-id]").forEach(k=>{k.style.strokeWidth="0",k.style.stroke="rgba(255,255,255,0)",k.style.fill="rgba(255,255,255,0)",k.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=k.getAttribute("data-apartment-id");i[p]={element:k,state:s.value===p?"selected":"idle"},k.addEventListener("mouseover",()=>{i[p].state==="idle"&&(i[p].state="hover"),a("onHoverOver",p)}),k.addEventListener("mouseout",()=>{i[p].state==="hover"&&(i[p].state="idle"),a("onHoverOut",p)}),k.addEventListener("click",()=>{a("onClick",p)})}))})}return(l,d)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:n.value},null,8,Ht))]),_:1}))}}),[["__scopeId","data-v-fdac30c7"]]),jt="data:image/png;base64,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",he=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(m){const o=m,t=e.computed(()=>({transform:`rotate(${90-(o.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(a,n)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(jt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class ge{constructor(o){j(this,"_buildingIds");this._buildingIds=o}static empty(){return new ge([])}getBuildingId(o,t,a){const n=this._getBuildingIndex(o,t,a);if(n!==void 0)return this._buildingIds[n]}_getBuildingIndex(o,t,a){const[n,r,s,i]=o.getPixel(t,a);if(i===255&&n===r&&r===s)return n}}const Yt=180;class Re{constructor(o){j(this,"_cdnFileResolver");j(this,"_resourceLoader");this._cdnFileResolver=o,this._resourceLoader=new q}constructFileUrl(o){return this._cdnFileResolver?z(this._cdnFileResolver,`/${o}`):null}loadBuildingMapImage(o){const t=this.constructFileUrl(o.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(o){return o.cameraRotation&&o.cameraRotation.y+270}getBuildingData(o){const t=o?o.buildings:[],a=t.map(r=>r.id),n=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:a,buildingOverlays:n}}getBackgroundImageData(o){return"days"in o?this.processMultipleDays(o.days):[this.processTimeSamples(Yt,o.timeSamples)]}processMultipleDays(o){return o.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(o,t){return{urls:t.map(n=>this.constructFileUrl(n.filename)),referenceDate:this.makeReferenceDate(o)}}makeReferenceDate(o){const t=new Date(0);return t.setUTCDate(o),t}async loadBuildingChooser(o){try{if(o){const t=await this.loadBuildingMapImage(o);if(t){const a=this.getViewLongitude(o),{buildingIds:n,buildingOverlays:r}=this.getBuildingData(o),s=this.getBackgroundImageData(o);return{mapImage:t,viewLongitude:a,buildingIds:n,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class ve{constructor(o){j(this,"_mapImage");j(this,"_context");this._mapImage=o,this._context=null}static empty(){return new ve(null)}update(o){this._mapImage&&(this._context=o.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,o.width,o.height))}getPixel(o,t){try{return this._context?this._context.getImageData(o,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const zt=new Date(0);class Ee{constructor(o){j(this,"_imagesByDay");j(this,"_state");this._imagesByDay=o,this._state={selectedIndex:0}}static empty(){return new Ee([{referenceDate:zt,urls:[]}])}selectIndex(o){o<this._imagesByDay.length&&(this._state.selectedIndex=o)}get dates(){return this._imagesByDay.map(o=>o.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function be(m){return("0"+m).slice(-2)}function Wt(){const m=new Date;return[m.getFullYear().toString(),be(m.getMonth()+1),be(m.getDate())," ",be(m.getHours()),be(m.getMinutes()),be(m.getSeconds())].join("")}function Gt(){return"Visuado-Snapshot-"+Wt()}class Qt{constructor(o,t){j(this,"data");this.data=o}download(o=null){o=o||Gt();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=o,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}const qt={class:"actions-bar position-absolute top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Zt={class:"pa-2 pr-0",style:{flex:"1"}},Xt={class:"pa-2 pr-0",style:{flex:"1"}},Jt={class:"pa-2",style:{flex:"2"}},Kt={class:"actions-bar position-absolute bottom-right d-flex w-100 justify-center align-center",style:{"z-index":"7"}},eo={class:"position-absolute bottom-right",style:{"z-index":"7",width:"50px",height:"50px"}},to=["innerHTML"],oo={style:{"z-index":"7"}},no=$(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:{}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(null),u=e.ref(),c=e.ref(),l=e.ref(!1),d=e.ref(!1),k=e.ref(),p=e.ref(),f=e.computed(()=>p.value.isHoverEnabled),g=e.ref({x:0,y:0,width:0,height:0}),V=e.ref(),C=e.ref(t.apartmentChooserData);e.onMounted(()=>l.value=!0);const h=e.computed(()=>C.value?C.value.cameras.filter(Te):[]),A=e.computed(()=>C.value?C.value.cameras.filter($e):[]);e.watch([C,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(C.value||(C.value=await q.loadJson(z(t.cdnFileResolver,"/apartmentChooser.json"))),t.defaultCamera?n.value=h.value.find(B=>B.cameraName===t.defaultCamera)||h.value[0]:n.value=h.value[0],u.value=C.value.cameras.findIndex(B=>B===n.value))},{immediate:!0}),e.watch([C,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{C.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(B=>B.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([C,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{C.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(B=>B.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(B=>B.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function v(B){n.value!==B&&k.value.rotateShortestRoute(C.value.cameras.findIndex(I=>I===B))}function S(B){u.value=B,$e(C.value.cameras[u.value])?i.value=C.value.cameras[u.value]:(e.nextTick(()=>{y(C.value.cameras[u.value])}),i.value=null)}function y(B){const I=r.value;n.value=B,u.value=C.value.cameras.findIndex(U=>U===n.value),e.nextTick(()=>{_(n.value.sunsimDayOfYear.find(U=>U.dayOfYear===I.dayOfYear)||n.value.sunsimDayOfYear[0])})}function _(B){const I=s.value;r.value=B,e.nextTick(()=>{M(r.value.timeSamples.find(U=>U.timeInHours===I.timeInHours)||r.value.timeSamples.find(U=>U.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function M(B){s.value=B}function E(B){a("onClick",B,()=>{const I=C.value.unitData.find(U=>U.unitId===B);I&&k.value.rotateShortestRoute(I.bestScene)})}function R(B){a("onHoverOver",B),c.value=B}function b(B){a("onHoverOut",B),c.value=void 0}function x(B){const{layerX:I,layerY:U}=B;let N=B.target,D=!1;for(;N;)if(N===V.value){D=!0;break}else N=N.parentElement;D?g.value={x:I,y:U,width:B.currentTarget.clientWidth,height:B.currentTarget.clientHeight}:g.value=void 0,a("onMouseMove",B,g.value)}return(B,I)=>{const U=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(U,{type:"image",class:"w-100 h-100 position-relative",loading:!l.value||!C.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{onMousemove:x},[e.createElementVNode("div",qt,[e.createElementVNode("div",Zt,[e.createVNode(Ft,{"apartment-chooser-data":C.value,"current-camera":n.value,disabled:d.value,onOnCameraChange:v},null,8,["apartment-chooser-data","current-camera","disabled"])]),e.createElementVNode("div",Xt,[e.createVNode(Mt,{"camera-data":n.value,"current-day":r.value,disabled:d.value,onOnDayChange:_},null,8,["camera-data","current-day","disabled"])]),e.createElementVNode("div",Jt,[e.createVNode(Ot,{"day-data":r.value,"current-time":s.value,disabled:d.value,onOnTimeChange:M},null,8,["day-data","current-time","disabled"])])]),e.createElementVNode("div",Kt,[e.createVNode(Ut,{ref_key:"rotator",ref:k,"apartment-chooser-data":C.value,"current-scene":u.value,"selected-id":B.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:E,onOnSceneChange:S,onOnRotateStart:I[0]||(I[0]=N=>d.value=!0),onOnRotateFinish:I[1]||(I[1]=N=>d.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])]),e.createElementVNode("div",eo,[e.createVNode(he,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,N=>(e.openBlock(),e.createBlock(At,{key:N.overlayFilename,"camera-data":N,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.value},null,8,["camera-data","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,N=>(e.openBlock(),e.createBlock(Lt,{"transition-data":N,"cdn-file-resolver":t.cdnFileResolver,"current-transition":i.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,to)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Pt,{"cdn-file-resolver":B.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:E,onOnHoverOver:R,onOnHoverOut:b,onUpdateSvgContainer:I[2]||(I[2]=N=>V.value=N)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),B.$slots.popup&&g.value&&c.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":f.value,pos:g.value},{default:e.withCtx(()=>[e.createElementVNode("div",oo,[e.renderSlot(B.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:c.value,hoverable:f.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],32)]),_:3})]),_:3},8,["loading"]),e.createVNode(ie,{ref_key:"hoverProbe",ref:p},null,512)],64)}}}),[["__scopeId","data-v-8841908c"]]),ao={class:"sunsim-bar-wrapper"},ro={class:"sunsim-date d-flex align-center pl-5 pr-5"},lo={key:1,class:"text-center text-body-1"},io={class:"sunsim-wrapper d-flex align-center px-3"},so={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Oe=$(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.modelValue),r=e.ref();function s(l){return l.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const l=Math.floor(n.value/2).toString().padStart(2,"0"),d=n.value%2===0?"00":"30";return`${l}:${d}`}),u=e.computed(()=>t.dateSelector.dates.map(s)),c=e.computed({get(){return s(t.dateSelector.selectedDate)},set(l){t.dateSelector.selectIndex(u.value.indexOf(l))}});return e.watch(n,l=>{a("update:modelValue",l)}),e.watch(r,l=>{t.dateSelector.selectIndex(u.value.indexOf(l))}),e.watch(()=>t.modelValue,l=>{n.value=Math.floor(l)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(l,d)=>{const k=e.resolveComponent("v-icon"),p=e.resolveComponent("v-select"),f=e.resolveComponent("v-progress-linear"),g=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",ao,[e.createElementVNode("div",ro,[e.createVNode(k,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),l.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(p,{key:0,modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=V=>r.value=V),items:u.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",lo,e.toDisplayString(c.value),1))]),e.createElementVNode("div",io,[e.createElementVNode("span",so,e.toDisplayString(i.value),1),e.createVNode(k,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),l.isLoading?(e.openBlock(),e.createBlock(f,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(g,{key:1,modelValue:n.value,"onUpdate:modelValue":d[1]||(d[1]=V=>n.value=V),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"]]),co={key:0},mo=["src"],Ue=$(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(m,{emit:o}){const t=m,a=o,n=e.ref("init"),r=e.ref(new Ne(0)),s=e.ref();e.watch(()=>t.imageUrls,c=>{a("reset"),u(c)}),e.onMounted(()=>{u(t.imageUrls),new ResizeObserver(c=>{window.requestAnimationFrame(()=>{const l=c[0].contentRect.width,d=c[0].contentRect.height;a("resize",{width:l,height:d})})}).observe(s.value)});function i(){n.value="preloaded",a("preloaded")}function u(c){n.value="init",s.value.src=c[0],r.value=new Ne(c.length).onLoadFinished(()=>{n.value="loaded",a("ready")})}return(c,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:i},null,544),n.value==="preloaded"||n.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.imageUrls,(d,k)=>(e.openBlock(),e.createElementBlock("img",{key:k,class:e.normalizeClass({"image-instance":!0,active:k===c.activeIndex}),src:d,onLoad:l[0]||(l[0]=p=>r.value.partLoaded())},null,42,mo))),128))],512)),[[e.vShow,n.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),uo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},po={class:"image-instances"},fo={key:0},ho={class:"svg-container"},go=["viewBox"],vo=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],ko=["innerHTML"],Co=$(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(m,{emit:o}){const t=m,a=o;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);const n=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),s=e.ref({x:0,y:0,width:0,height:0}),i=e.ref(),u=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),c=e.ref(!1),l=e.ref(new q),d=e.ref(),k=e.ref("0 0 0 0"),p=e.ref(),f=e.ref(),g=e.ref(ge.empty()),V=e.ref(ve.empty()),C=e.ref(),h=e.computed(()=>C.value.isHoverEnabled);e.watch(i,(b,x)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",x)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,x,B]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),I=parseInt(B);u.value=parseInt(x)*2+(I<15?0:I>45?2:1)}}),e.onMounted(async()=>{const x=await new Re(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(x){V.value=new ve(x.mapImage),g.value=new ge(x.buildingIds),p.value=new Ee(x.backgrounds),f.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude};const B=[];for(let{id:I,url:U}of x.buildingOverlays)l.value.loadJson(U.replace(".png",".svg")).then(N=>{const H=new DOMParser().parseFromString(N,"image/svg+xml").getElementsByTagName("svg")[0];k.value=H.getAttribute("viewBox"),B.push({id:I,svg:H.innerHTML})});d.value=B}else c.value=!0});function A({width:b,height:x}){r.value.width=b,r.value.height=x}function v(){n.value={preloaded:!1,ready:!1}}function S(b){const x=t.colorCallback(b,b===i.value?"hover":"idle"),B=[];return b===i.value?B.push("hover"):B.push("idle"),x&&t.canGoToBuildingCallback(b)?B.push("clickable"):B.push("restricted"),B.join(" ")}function y(b){const x=t.colorCallback(b,b===i.value?"hover":"idle");if(x){const{r:B,g:I,b:U,a:N,s:D}=x;return{strokeWidth:D!==void 0?D:2,stroke:`rgb(${B}, ${I}, ${U})`,strokeOpacity:1,fill:`rgb(${B}, ${I}, ${U})`,fillOpacity:N/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function _(b,x){const{layerX:B,layerY:I}=b;h.value&&(s.value={x:B,y:I,width:r.value.width,height:r.value.height},i.value=x,a("hoverOverBuilding",x))}function M(b,x){const{layerX:B,layerY:I}=b;h.value&&(s.value={x:B,y:I,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",x))}function E(b,x){const{layerX:B,layerY:I}=b;h.value&&(s.value={x:B,y:I,width:r.value.width,height:r.value.height})}function R(b){i.value=b,h.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(b,x)=>{const B=e.resolveComponent("v-icon");return c.value?(e.openBlock(),e.createElementBlock("div",uo,[e.createVNode(B,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):f.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",po,[e.createVNode(Ue,{"image-urls":p.value.imageUrls,"active-index":u.value,onResize:A,onPreloaded:x[0]||(x[0]=I=>n.value.preloaded=!0),onReady:x[1]||(x[1]=I=>n.value.ready=!0),onReset:v},null,8,["image-urls","active-index"]),d.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",fo,[e.createElementVNode("div",ho,[(e.openBlock(),e.createElementBlock("svg",{viewBox:k.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,({id:I,svg:U},N)=>(e.openBlock(),e.createElementBlock("g",{key:N,innerHTML:U,"data-building-id":I,class:e.normalizeClass(S(I)),style:e.normalizeStyle(y(I)),onMouseover:D=>_(D,I),onMouseout:D=>M(D,I),onMousemove:D=>E(D),onClick:D=>R(I)},null,46,vo))),128))],8,go))])],512)),[[e.vShow,n.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,ko),[[e.vShow,n.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[f.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:f.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Oe,{modelValue:u.value,"onUpdate:modelValue":x[2]||(x[2]=I=>u.value=I),"date-selector":p.value,"is-loading":!n.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,n.value.preloaded]]),b.showCards&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":h.value,pos:s.value,onOutside:x[3]||(x[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:i.value,canGoToBuilding:b.canGoToBuildingCallback(i.value),goToBuilding:()=>b.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value),pos:s.value,isHoverable:h.value,close:()=>i.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ie,{ref_key:"hoverProbe",ref:C},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5e1006a9"]]),yo=$(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(m,{expose:o}){const t=m;o({setupDraw:l});const a=e.ref(!1),n=e.ref(),r=e.ref(new q),s=e.ref(),i=e.ref(),u=e.ref([]),c=e.ref();e.watch(()=>t.color,(p,f)=>{(p.r!==f.r||p.g!==f.g||p.b!==f.b||p.a!==f.a)&&d()}),e.onMounted(async()=>{n.value=await r.value.loadImage(t.imageUrl),l()});function l(){if(!n.value||!c.value)return;const{width:p,height:f}=t.dimensions;if(!(p===0||f===0)){s.value=c.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(n.value,0,0,p,f),i.value=s.value.getImageData(0,0,p,f);for(let g=3;g<i.value.data.length;g+=4)i.value.data[g]!==0&&u.value.push(g);d(),a.value=!0}}function d(){s.value&&i.value&&(k(),s.value.putImageData(i.value,0,0))}function k(){if(t.color)for(let p=0;p<u.value.length;p++)i.value.data[u.value[p]-3]=t.color.r,i.value.data[u.value[p]-2]=t.color.g,i.value.data[u.value[p]-1]=t.color.b,i.value.data[u.value[p]]=t.color.a}return(p,f)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:c,class:"overlay"},p.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),wo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},_o={class:"image-instances"},bo=["innerHTML"],Vo=$(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(m,{emit:o}){const t=m,a=o;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);const n=e.ref(),r=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),c=e.ref(ge.empty()),l=e.ref(ve.empty()),d=e.ref(),k=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),p=e.ref((b,x)=>({x:b,y:x})),f=e.ref(!1),g=e.ref(),V=e.ref(),C=e.ref(),h=e.computed(()=>{var b;return(b=g.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,x,B]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),I=parseInt(B);k.value=parseInt(x)*2+(I<15?0:I>45?2:1)}}),e.watch(d,(b,x)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",x)}),e.onMounted(async()=>{const x=await new Re(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);x?(l.value=new ve(x.mapImage),c.value=new ge(x.buildingIds),n.value=new Ee(x.backgrounds),u.value={buildingOverlays:x.buildingOverlays,viewLongitude:x.viewLongitude},y()):f.value=!0});function A({width:b,height:x}){s.value.width=b,s.value.height=x,e.nextTick(y)}function v(){r.value={preloaded:!1,ready:!1}}function S(b){const{layerX:x,layerY:B}=b,{x:I,y:U}=p.value(x,B);return c.value.getBuildingId(l.value,I,U)}function y(){if(V.value&&(l.value.update(V.value),C.value))for(const b of C.value)b.setupDraw()}function _(b){const{layerX:x,layerY:B}=b;h.value&&(d.value=S(b),d.value!==void 0&&(i.value={x,y:B,width:s.value.width,height:s.value.height}))}function M(b){d.value=S(b),h.value&&d.value&&a("goToBuilding",d.value)}function E(b){return t.colorCallback(b,b===d.value?"hover":"idle")}function R({resolve:b}){p.value=b}return(b,x)=>{const B=e.resolveComponent("v-icon");return f.value?(e.openBlock(),e.createElementBlock("div",wo,[e.createVNode(B,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${d.value?"pointer":"auto"};height: ${s.value.height}px; position: relative`),class:"image-container"},[e.createVNode(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:R},{default:e.withCtx(()=>[e.createElementVNode("div",_o,[e.createVNode(Ue,{"image-urls":n.value.imageUrls,"active-index":k.value,onResize:A,onPreloaded:x[0]||(x[0]=I=>r.value.preloaded=!0),onReady:x[1]||(x[1]=I=>r.value.ready=!0),onReset:v},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.buildingOverlays,I=>(e.openBlock(),e.createBlock(yo,{ref_for:!0,ref_key:"overlays",ref:C,key:I.id,"image-url":I.url,dimensions:s.value,color:E(I.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:V,class:{hover:!!d.value},onClick:M,onMousemove:_}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,bo),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Oe,{modelValue:k.value,"onUpdate:modelValue":x[2]||(x[2]=I=>k.value=I),"date-selector":n.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),b.showCards&&d.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":h.value,pos:i.value,onOutside:x[3]||(x[3]=()=>d.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:d.value,canGoToBuilding:b.canGoToBuildingCallback(d.value),goToBuilding:()=>b.canGoToBuildingCallback(d.value)&&a("goToBuilding",d.value),pos:i.value,isHoverable:h.value,close:()=>d.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ie,{ref_key:"hoverProbe",ref:g},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-088f521e"]]),He=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(m,{emit:o}){const t=m,a=o,n=e.computed(()=>t.useSvg?Co:Vo);return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{"i18n-config":t.i18nConfig,"show-cards":t.showCards,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"interactive-desktop":t.interactiveDesktop,"interactive-mobile":t.interactiveMobile,"building-chooser-time-of-day":t.buildingChooserTimeOfDay,"can-go-to-building-callback":t.canGoToBuildingCallback,"custom-overlay-content":t.customOverlayContent,"building-chooser-data":t.buildingChooserData,onGoToBuilding:s[0]||(s[0]=i=>a("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>a("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[2]=i=>a("hoverOutBuilding",i))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),i=>({name:i,fn:e.withCtx(u=>[e.renderSlot(r.$slots,i,e.normalizeProps(e.guardReactiveProps(u)))])}))]),1064,["i18n-config","show-cards","color-callback","cdn-file-resolver","interactive-desktop","interactive-mobile","building-chooser-time-of-day","can-go-to-building-callback","custom-overlay-content","building-chooser-data"]))}}),Eo=["src"],Bo=$(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m,t=e.computed(()=>z(o.cdnFileResolver,o.timeSampleData.filename));return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Eo)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-98118455"]]),xo=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(Bo,{"time-sample-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),So=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(xo,{"day-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),No=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentCamera.overlayFilename);return e.watch(n,()=>{a("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===n.value))}),(r,s)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=u=>n.value=u),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),Io=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,i)=>{const u=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(u,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items"])}}}),Ao={key:0,class:"py-2"},Do={class:"small"},Lo={class:"small"},Fo=$(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{a("onTimeChange",t.dayData.timeSamples.find(u=>u.timeInHours===n.value))});function s(u){const c=u*60,l=c/60,d=c%60;return`${l.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,c)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),p=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(p,{variant:"solo"},{default:e.withCtx(()=>[u.dayData.startTime===u.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Ao,[e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=f=>n.value=f),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(d,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Do,e.toDisplayString(s(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Lo,e.toDisplayString(s(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-2c27d93d"]]),Mo=["innerHTML"],To=$(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const l in i){const{element:d,state:k}=i[l],{r:p,g:f,b:g,a:V,s:C}=t.colorCallback(l,k)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${p}, ${f}, ${g}, ${V/255})`,d.style.stroke=`rgb(${p}, ${f}, ${g})`,d.style.strokeWidth=C.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await q.loadText(z(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{const l=r.value.firstChild;if(!l.hasAttribute("viewBox")){const d=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",d)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())})}function c(){e.nextTick(()=>{const l=r.value.firstChild;l&&(a("updateSvgContainer",l),u(),l.querySelectorAll("[data-building-id]").forEach(k=>{k.style.strokeWidth="0",k.style.stroke="rgba(255,255,255,0)",k.style.fill="rgba(255,255,255,0)",k.querySelectorAll("path").forEach(f=>{f.style.stroke="inherit",f.style.fill="inherit"});const p=k.getAttribute("data-building-id");i[p]={element:k,state:s.value===p?"selected":"idle"},k.addEventListener("mouseover",()=>{i[p].state==="idle"&&(i[p].state="hover"),a("onHoverOver",p)}),k.addEventListener("mouseout",()=>{i[p].state==="hover"&&(i[p].state="idle"),a("onHoverOut",p)}),k.addEventListener("click",()=>{a("onClick",p)})}))})}return(l,d)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:n.value},null,8,Mo))]),_:1}))}}),[["__scopeId","data-v-8037baa3"]]),$o={class:"actions-bar position-absolute top-left d-flex w-100 justify-center align-center",style:{"z-index":"6"}},Ro={class:"pa-2 pr-0",style:{flex:"1"}},Oo={class:"pa-2 pr-0",style:{flex:"1"}},Uo={class:"pa-2",style:{flex:"2"}},Ho={class:"position-absolute bottom-right",style:{"z-index":"6",width:"50px",height:"50px"}},Po=["innerHTML"],jo={style:{"z-index":"7"}},Yo=$(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:{}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(),u=e.ref(!1),c=e.ref(),l=e.computed(()=>c.value.isHoverEnabled),d=e.ref({x:0,y:0,width:0,height:0}),k=e.ref(),p=e.ref(t.buildingChooserData);e.onMounted(()=>u.value=!0),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(p.value||(p.value=await q.loadJson(z(t.cdnFileResolver,"/buildingChooser.json"))),t.defaultCamera?n.value=p.value.cameras.find(v=>v.cameraName===t.defaultCamera)||p.value.cameras[0]:n.value=p.value.cameras[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{p.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(v=>v.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([p,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{p.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(v=>v.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(v=>v.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function f(v){const S=r.value;n.value=v,e.nextTick(()=>{g(n.value.sunsimDayOfYear.find(y=>y.dayOfYear===S.dayOfYear)||n.value.sunsimDayOfYear[0])})}function g(v){const S=s.value;r.value=v,e.nextTick(()=>{V(r.value.timeSamples.find(y=>y.timeInHours===S.timeInHours)||r.value.timeSamples.find(y=>y.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function V(v){s.value=v}function C(v){a("onHoverOver",v),i.value=v}function h(v){a("onHoverOut",v),i.value=void 0}function A(v){const{layerX:S,layerY:y}=v;let _=v.target,M=!1;for(;_;)if(_===k.value){M=!0;break}else _=_.parentElement;M?d.value={x:S,y,width:v.currentTarget.clientWidth,height:v.currentTarget.clientHeight}:d.value=void 0,a("onMouseMove",v,d.value)}return(v,S)=>{const y=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(y,{type:"image",class:"w-100 h-100 position-relative",loading:!u.value||!p.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{class:"w-100 h-100 position-relative",onMousemove:A},[e.createElementVNode("div",$o,[e.createElementVNode("div",Ro,[e.createVNode(No,{"building-chooser-data":p.value,"current-camera":n.value,onOnCameraChange:f},null,8,["building-chooser-data","current-camera"])]),e.createElementVNode("div",Oo,[e.createVNode(Io,{"camera-data":n.value,"current-day":r.value,onOnDayChange:g},null,8,["camera-data","current-day"])]),e.createElementVNode("div",Uo,[e.createVNode(Fo,{"day-data":r.value,"current-time":s.value,onOnTimeChange:V},null,8,["day-data","current-time"])])]),e.createElementVNode("div",Ho,[e.createVNode(he,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value.cameras,_=>(e.openBlock(),e.createBlock(So,{key:_.overlayFilename,"camera-data":_,"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,Po)):e.createCommentVNode("",!0),e.createVNode(To,{"cdn-file-resolver":v.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:S[0]||(S[0]=_=>a("onClick",_)),onOnHoverOver:C,onOnHoverOut:h,onUpdateSvgContainer:S[1]||(S[1]=_=>k.value=_)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),v.$slots.popup&&d.value&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":l.value,pos:d.value},{default:e.withCtx(()=>[e.createElementVNode("div",jo,[e.renderSlot(v.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:l.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],32)]),_:3})]),_:3},8,["loading"]),e.createVNode(ie,{ref_key:"hoverProbe",ref:c},null,512)],64)}}}),[["__scopeId","data-v-b9c6f06a"]]);var ke={};Object.defineProperty(ke,"__esModule",{value:!0});var zo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},Wo=typeof window<"u"&&typeof window.document<"u",Go=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Qo=(typeof self>"u"?"undefined":zo(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",qo=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Zo=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Xo=ke.isBrowser=Wo;ke.isWebWorker=Qo,ke.isNode=Go,ke.isJsDom=qo,ke.isDeno=Zo;const Jo={id:"player-wrapper"},Ko={id:"player-sizer"},en={class:"player-control",id:"controls-top-left"},tn={class:"player-control",id:"controls-top-center"},on={class:"player-control",id:"controls-top-right"},nn={class:"player-control",id:"controls-center-left"},an={class:"player-control",id:"controls-center-center"},rn={class:"player-control",id:"controls-center-right"},ln={class:"player-control",id:"controls-bottom-left"},sn={class:"player-control",id:"controls-bottom-center"},cn={class:"player-control",id:"controls-bottom-right"},dn={id:"main-canvas"},mn=$(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(m,{emit:o}){const t=Xe.PlayerV2,a=m,n=o,r=e.ref(),s=e.ref(),i=e.ref(0),u=e.ref(0);return e.watch([()=>a.cdnFileResolver,()=>a.interiorId,()=>a.apartmentId],async()=>{r.value&&await r.value.loadInterior(z(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),s.value,!1)}),e.watch([()=>a.cdnFileResolver,()=>a.interiorId,()=>a.apartmentId],async()=>{r.value&&await r.value.loadInterior(z(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),void 0,!1)},{deep:!0}),e.watch(()=>a.currentCameraId,c=>{r.value&&(s.value=c,r.value.goToCamera(c,!0))}),e.watch(r,c=>{n("playerApiCallback",c);const l=r.value.getCurrentCamera();l&&(s.value=l.id)}),e.onMounted(async()=>{const k={initialized:()=>{r.value=t.Main.getPlayerAPI();const f=r.value.getCurrentCamera();f&&(s.value=f.id),n("newCameraCallback",s.value)},newCamera:f=>{n("newCameraCallback",f.id),n("newFloorCallback",f.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),s.value=f.id},newFOV:f=>{n("newFovCallback",f),u.value=f},newRotation:f=>{const g=f+0;n("newRotationCallback",g),i.value=g}};if(!Xo)return;const p=await new t.Main(z(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),"qpc",k,void 0,a.currentCameraId);p&&(p.handleWindowResize(),window.addEventListener("resize",p.handleWindowResize.bind(p)),p.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(a.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(c,l)=>(e.openBlock(),e.createElementBlock("div",Jo,[e.createElementVNode("div",Ko,[e.renderSlot(c.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",en,[e.renderSlot(c.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",tn,[e.renderSlot(c.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",on,[e.renderSlot(c.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",nn,[e.renderSlot(c.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",an,[e.renderSlot(c.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",rn,[e.renderSlot(c.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",ln,[e.renderSlot(c.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",sn,[e.renderSlot(c.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",cn,[e.renderSlot(c.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",dn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(c.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-434c2592"]]),un={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},pn=["stroke"],fn=["stroke"],hn={class:"floor-level-label"},gn=$(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.computed(()=>{const l=t.floorLevels;return l.sort(),l}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),u=e.computed(()=>s.value==="upper");function c(){const l=t.level+1;l>=r.value.length?a("level",r.value[0]):a("level",r.value[l])}return(l,d)=>{const k=e.resolveComponent("v-btn"),p=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(p,{right:"",attach:""},{activator:e.withCtx(({props:f})=>[e.createVNode(k,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},f,{onClick:c}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",un,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:u.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,pn),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:i.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,fn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",hn,e.toDisplayString(e.unref(n).getLabel(s.value))+" "+e.toDisplayString(e.unref(n).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),vn={class:"d-none d-md-inline"},kn=$(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J);return(r,s)=>{const i=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),c=e.resolveComponent("v-img"),l=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),k=e.resolveComponent("v-list"),p=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(p,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:f})=>[e.createVNode(u,e.mergeProps({rounded:""},f),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",vn,e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(k,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(f,g)=>(e.openBlock(),e.createBlock(d,{density:"compact",key:`at-menuitem-${g}`,onClick:V=>a("selectInterior",f.archetypeID),active:g===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(c,{width:"100","max-width":"100",height:"66",src:f.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(l,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).get(f.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-f52a4315"]]),Cn="data:image/png;base64,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",yn="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==",wn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(m){const o=m,t=e.ref(yn),a=e.ref({backgroundImage:`url(${Cn})`,backgroundSize:"contain"}),n=e.computed(()=>({transform:`rotate(${-o.rotation+180}deg)`}));return(r,s)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(a.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(n.value)},null,8,["src","style"])],4)}}}),_n="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAMAAADyHTlpAAAAllBMVEUAAAD/rwD/rwD/qgP/qwL/qAL/qwP/qwH/rAL/rAL/qwL/qQD/qwL/qwD/qQD/qwL/pQD/qgH/nwD/pwD/qQL/rAL/qwD/qwT/rAP/qwL/rAL/rAD/rAL/qgD/qwL/qQP/rAP/rAH/qgH/qwL/qwD/qgL/rwD/qgD/qwH/qgD/qgL/rAD/qgD/qgD/qwH/rAP/qgX/qwA+O5E+AAAAMnRSTlMAECBg/3C/v5Dff4+PT1/PMN8QII9vf0CfgO9vnzDvUF+vr3BA3zA/z2+fX59g71AwcDsf6p0AAAFGSURBVHicvdRtT8MgEABgaM9hu1aHXV/cpm6zWt829f//OYEK9qC3NDF6HxYCTw5GuWPsd8GjqTIGOJtIZwDi/ymnKPflOSTub6cAcwdnkHk5AQY2v3Dzl2phga1EFkl5hScLbZc+LbUs/FltK5OpLpsmrS0NpbLLSu3Er1dgIsn0cdabEdlHlICL5IZSRq5gELcn7DCnsfQL24AX5PeNfAlAHSEOaYrFXaNiqwa7kO7V9L1dt9u25kX58cBY7dbZYz/MKdr2o06nrZ6klNX4AYRdf8aHzkL6QtxAG9KculjhS0nJMO0rSVmF5ZyWnn2jFC+36vcgLTzq+3lPRx6XrjjTqQ7iqJxY6+KLydp0ZWhrVHWE0JoqHq1NSHBxF0h+1Mh6LUMM5LC/Kht8h+5nG9zeTtbt37Ti3XT6+d29pkTXTZVEfAEKARRF2iiwhQAAAB10RVh0U29mdHdhcmUAQGx1bmFwYWludC9wbmctY29kZWP1QxkeAAAAAElFTkSuQmCC",bn={class:"d-flex flex-column align-center justify-center clock-face"},Vn={class:"clock-icon"},En={class:"clock-value grey--text text--darken-3"},Bn=$(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(m){const o=m,t=e.computed(()=>[a(o.hours),":",a(o.minutes)].join(""));function a(n){return("0"+n).slice(-2)}return(n,r)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",bn,[e.createElementVNode("div",Vn,[e.createVNode(s,{src:e.unref(_n),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",En,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),xn=e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const u=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(u,{color:"darken-2",elevation:"1",rounded:"",plain:"",onClick:i[0]||(i[0]=c=>a("toggle"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel(r.value)),1)]),_:1})}}}),de=m=>(e.pushScopeId("data-v-b9eb5380"),m=m(),e.popScopeId(),m),Sn={key:0,class:"tutorial"},Nn={key:0,class:"desktop-content"},In={class:"d-inline-flex"},An={class:"box col"},Dn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M72 30H86.9736M86.9736 30L81 36M86.9736 30L81 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M27.9736 30H13M13 30L18.9736 36M13 30L18.9736 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M36 30H64V40C64 47.732 57.732 54 50 54V54C42.268 54 36 47.732 36 40V30Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 25C36 17.268 42.268 11 50 11V11V30H36V25Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 25C64 17.268 57.732 11 50 11V11V30H64V25Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 23V30C53.25 31.7949 51.7949 33.25 50 33.25C48.2051 33.25 46.75 31.7949 46.75 30V23C46.75 21.2051 48.2051 19.75 50 19.75C51.7949 19.75 53.25 21.2051 53.25 23Z",fill:"white",stroke:"black","stroke-width":"1.5"})])],-1)),Ln={class:"text mt-3"},Fn={class:"box col"},Mn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),Tn={class:"text mt-3"},$n={class:"box col"},Rn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M36 33H64V43C64 50.732 57.732 57 50 57V57C42.268 57 36 50.732 36 43V33Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 28C36 20.268 42.268 14 50 14V14V33H36V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 28C64 20.268 57.732 14 50 14V14V33H64V28Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 26V33C53.25 34.7949 51.7949 36.25 50 36.25C48.2051 36.25 46.75 34.7949 46.75 33V26C46.75 24.2051 48.2051 22.75 50 22.75C51.7949 22.75 53.25 24.2051 53.25 26Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M74.5352 20.7593L80.3458 26.5699C80.9316 27.1557 80.9316 28.1055 80.3458 28.6913C79.76 29.277 78.8103 29.277 78.2245 28.6913L72.4138 22.8806L74.5352 20.7593Z",fill:"black",stroke:"black","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("circle",{cx:"66.5",cy:"15.5",r:"9.75",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"66",y:"11",width:"1",height:"9",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"}),e.createElementVNode("rect",{x:"71",y:"15",width:"1",height:"9",transform:"rotate(90 71 15)",fill:"black",stroke:"black","stroke-width":"0.75","stroke-linejoin":"round"})])],-1)),On={class:"text mt-3"},Un={class:"d-inline-flex space-around"},Hn={class:"box col"},Pn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("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)),jn={class:"text mt-3"},Yn={key:1,class:"d-flex flex-column tablet-mobile-content"},zn={class:"box horizontal mt-3"},Wn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"101",height:"65",viewBox:"0 0 101 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M68 28H87.9736M87.9736 28L82 34M87.9736 28L82 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M33.9727 28H13.999M13.999 28L19.9727 34M13.999 28L19.9727 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.0361 33.0479C60.7502 31.9809 59.6536 31.3478 58.5866 31.6337C57.5197 31.9195 56.8865 33.0162 57.1724 34.0831L56.7195 32.3928C56.3979 31.1925 55.1641 30.4802 53.9638 30.8018C52.7635 31.1234 52.0512 32.3572 52.3728 33.5575L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M53.7316 38.6286L52.6963 34.7649M52.6963 34.7649L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233V25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516V39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176V43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779V33.0779V33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.942 36.4286M52.6963 34.7649L52.3728 33.5575C52.0512 32.3572 52.7635 31.1234 53.9638 30.8018V30.8018C55.1641 30.4802 56.3979 31.1925 56.7195 32.3928L57.3018 34.5661M58.2077 37.9469L57.3018 34.5661M57.3018 34.5661L57.1724 34.0831C56.8865 33.0162 57.5197 31.9195 58.5866 31.6337V31.6337C59.6536 31.3478 60.7502 31.9809 61.0361 33.0479L61.942 36.4286M62.3302 37.8775L61.942 36.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),Gn={class:"text ml-2"},Qn={class:"box horizontal mt-3"},qn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9927 29.9814C79.9871 22.2398 66.3311 15.9962 49.491 16.0358C32.651 16.0754 19.0039 22.3833 19.0095 30.1248C19.015 37.8663 32.6711 44.11 49.5111 44.0704C66.3512 44.0308 79.9982 37.7229 79.9927 29.9814Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L68.5361 36.0479C68.2502 34.9809 67.1536 34.3478 66.0866 34.6337C65.0197 34.9195 64.3865 36.0162 64.6724 37.0831L64.2195 35.3928C63.8979 34.1925 62.6641 33.4802 61.4638 33.8018C60.2635 34.1234 59.5512 35.3572 59.8728 36.5575L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M61.2316 41.6286L60.1963 37.7649M60.1963 37.7649L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233V28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516V42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176V46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779V36.0779V36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L69.442 39.4286M60.1963 37.7649L59.8728 36.5575C59.5512 35.3572 60.2635 34.1234 61.4638 33.8018V33.8018C62.6641 33.4802 63.8979 34.1925 64.2195 35.3928L64.8018 37.5661M65.7077 40.9469L64.8018 37.5661M64.8018 37.5661L64.6724 37.0831C64.3865 36.0162 65.0197 34.9195 66.0866 34.6337V34.6337C67.1536 34.3478 68.2502 34.9809 68.5361 36.0479L69.442 39.4286M69.8302 40.8775L69.442 39.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),Zn={class:"text ml-2"},Xn={class:"box horizontal mt-3"},Jn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M31 24.9736L31 10M31 10L25 15.9736M31 10L37 15.9736",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M31 40L31 54.9736M31 54.9736L25 49M31 54.9736L37 49",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L56.0348 26.8433C55.4825 25.8867 54.2593 25.5589 53.3027 26.1112C52.3462 26.6635 52.0184 27.8867 52.5707 28.8433L51.6957 27.3277C51.0744 26.2516 49.6983 25.8828 48.6221 26.5042C47.546 27.1255 47.1773 28.5016 47.7986 29.5777L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852Z",fill:"white"}),e.createElementVNode("path",{d:"M50.4236 34.1244L48.4236 30.6603M48.4236 30.6603L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23V23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728V42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442V35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013V26.4013V26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L57.7848 29.8744M48.4236 30.6603L47.7986 29.5777C47.1773 28.5016 47.546 27.1255 48.6221 26.5042V26.5042C49.6983 25.8828 51.0744 26.2516 51.6957 27.3277L52.8207 29.2763M54.5707 32.3074L52.8207 29.2763M52.8207 29.2763L52.5707 28.8433C52.0184 27.8867 52.3462 26.6635 53.3027 26.1112V26.1112C54.2593 25.5589 55.4825 25.8867 56.0348 26.8433L57.7848 29.8744M58.5348 31.1734L57.7848 29.8744",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),Kn={class:"text ml-2"},ea={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"},ta=$(e.defineComponent({__name:"VTutorial",props:{project:{}},emits:["closeTutorial"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.ref(!0),s=e.ref(!1),i=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(k=>navigator.userAgent.match(k))),u=e.computed(()=>{const d=localStorage.getItem(`${t.project}-dont-show-tutorial`);return d&&a("closeTutorial"),d});function c(){s.value&&l(),r.value=!1,a("closeTutorial")}function l(){localStorage.setItem(`${t.project}-dont-show-tutorial`,"true")}return(d,k)=>{const p=e.resolveComponent("v-checkbox"),f=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[r.value&&!u.value?(e.openBlock(),e.createElementBlock("div",Sn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Nn,[e.createElementVNode("div",In,[e.createElementVNode("div",An,[Dn,e.createElementVNode("div",Ln,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Fn,[Mn,e.createElementVNode("div",Tn,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",$n,[Rn,e.createElementVNode("div",On,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)])]),e.createElementVNode("div",Un,[e.createElementVNode("div",Hn,[Pn,e.createElementVNode("div",jn,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),i.value?(e.openBlock(),e.createElementBlock("div",Yn,[e.createElementVNode("div",zn,[Wn,e.createElementVNode("div",Gn,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",Qn,[qn,e.createElementVNode("div",Zn,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Xn,[Jn,e.createElementVNode("div",Kn,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",ea,[e.createVNode(p,{modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=g=>s.value=g),label:e.unref(n).getLabel("dontShowAgain")},null,8,["modelValue","label"]),e.createVNode(f,{small:"",outlined:"",class:"mt-5",onClick:k[1]||(k[1]=g=>c())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}}}),[["__scopeId","data-v-b9eb5380"]]),oa=m=>(e.pushScopeId("data-v-bd4f66c3"),m=m(),e.popScopeId(),m),na={class:"player-settings-ui"},aa={id:"settings-ui-form"},ra={class:"form-inputs"},la={class:"setting-label"},ia={class:"setting-label"},sa=["max","min","step"],ca={class:"setting-label"},da={class:"flex-grow-1 flex-shrink-0"},ma=["onUpdate:modelValue"],ua={key:3,"d-block":"",class:"mt-3"},pa={class:"d-flex justify-space-between"},fa={class:"setting-label"},ha={class:"mt-5 d-block",style:{width:"300px"}},ga=oa(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),va={class:"d-block",style:{width:"300px"}},ka={class:"form-buttons"},Ca=$(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(p(t.initialSettings));e.watch(n,()=>{s()},{deep:!0});const r=e.computed(()=>{let f={};for(const[g,V]of Object.entries(n.value))g==="whitePoint"?f[g]=l(V.value):f[g]=V.value;return f});function s(){a("updateSettings",r.value)}function i(){const f=document.createElement("a");f.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const g=`player-settings-${Date.now()}.json`;f.download=g,f.style.display="none",document.body.appendChild(f),f.click(),document.body.removeChild(f)}function u(){a("saveSettings",r.value)}function c(){n.value=p(),a("updateSettings",r.value)}function l(f){const g=parseInt(f.substr(1,2),16)/255,V=parseInt(f.substr(3,2),16)/255,C=parseInt(f.substr(5,2),16)/255;return[g,V,C]}function d(f){var g=f.toString(16);return g.length==1?"0"+g:g}function k([f,g,V]){return"#"+d(parseInt((f*255).toString()))+d(parseInt((g*255).toString()))+d(parseInt((V*255).toString()))}function p(f={}){const g=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let V={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:"",...f};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:V.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:V.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:V.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:V.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:V.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:V.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:V.temperature},whitePoint:{label:"White Point",type:"color",value:k(V.whitePoint)},lut:{label:"Lut",type:"lut",items:g.map(C=>({text:C,value:`https://cdn.visuado.com/luts/${C}.png`})),value:V.lut}}}return(f,g)=>{const V=e.resolveComponent("v-text-field"),C=e.resolveComponent("v-slider"),h=e.resolveComponent("v-checkbox"),A=e.resolveComponent("v-btn"),v=e.resolveComponent("v-select"),S=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",na,[e.createElementVNode("form",aa,[e.createElementVNode("div",ra,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(y,_,M)=>(e.openBlock(),e.createElementBlock("div",{key:M,"d-block":""},[y.type==="slider"?(e.openBlock(),e.createBlock(C,{key:0,modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,onChange:s,max:y.max,min:y.min,step:y.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",la,e.toDisplayString(y.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,"hide-details":"",dense:"",outlined:"",type:"number",max:y.max,min:y.min,step:y.step,style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue","max","min","step"])])]),_:2},1032,["modelValue","onUpdate:modelValue","max","min","step"])):e.createCommentVNode("",!0),y.type==="boolean"?(e.openBlock(),e.createBlock(h,{key:1,modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",ia,e.toDisplayString(y.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(y.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),y.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:y.max,min:y.min,step:y.step},[e.createElementVNode("div",ca,e.toDisplayString(y.label),1),e.createElementVNode("div",da,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E=>n.value[_].value=E,type:"color",onChange:s},null,40,ma),[[e.vModelText,n.value[_].value]])]),e.createElementVNode("div",null,[e.createVNode(V,{modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,sa)):e.createCommentVNode("",!0),y.type==="lut"?(e.openBlock(),e.createElementBlock("div",ua,[e.createElementVNode("div",pa,[e.createElementVNode("div",fa,e.toDisplayString(y.label),1),e.createElementVNode("div",null,[e.createVNode(A,{class:"ml-2","x-small":"",onClick:E=>n.value[_].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",ha,[e.createElementVNode("div",null,[e.createVNode(v,{modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,items:y.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[ga,e.createElementVNode("div",va,[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:n.value[_].value,"onUpdate:modelValue":E=>n.value[_].value=E,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",ka,[e.createVNode(A,{onClick:g[0]||(g[0]=y=>c())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(A,{class:"ml-2",onClick:g[1]||(g[1]=y=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(A,{class:"ml-2",onClick:g[2]||(g[2]=y=>u())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),ya=(m=>(e.pushScopeId("data-v-30593022"),m=m(),e.popScopeId(),m))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),wa={class:"moveable-body",id:"moveableDivHeader"},_a={class:"moveable-footer"},ba=$(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(m,{emit:o}){const t=o,a=e.ref("big");e.onMounted(()=>{n(document.getElementById("moveableDiv"))});function n(s){const i=document.getElementById(s.id+"Header");if(!i)return;let u=0,c=0,l=0,d=0;i.addEventListener("touchstart",k,{passive:!1}),i.addEventListener("touchend",f,{passive:!1}),i.addEventListener("mousedown",k,{passive:!1}),i.addEventListener("mouseup",f,{passive:!1});function k(g){g=g||window.event,g.preventDefault();let V=g;g.type==="touchstart"&&(V=g.touches[0]),l=V.clientX,d=V.clientY,document.addEventListener("mouseup",f,{passive:!1}),document.addEventListener("touchend",f,{passive:!1}),document.addEventListener("mousemove",p,{passive:!1}),document.addEventListener("touchmove",p,{passive:!1})}function p(g){g=g||window.event,g.preventDefault();let V=g;g.type==="touchmove"&&(V=g.touches[0]),u=l-V.clientX,c=d-V.clientY,l=V.clientX,d=V.clientY,s.style.top=s.offsetTop-c+"px",s.style.left=s.offsetLeft-u+"px"}function f(){document.removeEventListener("mouseup",f,!1),document.removeEventListener("mousemove",p,!1),document.removeEventListener("touchend",f,!1),document.removeEventListener("touchmove",p,!1)}}function r(){a.value==="big"?a.value="small":a.value="big"}return(s,i)=>{const u=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",a.value])},[e.createVNode(u,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[0]=c=>t("close"))}),e.createVNode(u,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(u,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:i[1]||(i[1]=c=>t("transform")),title:"Rotate"}),ya,e.createElementVNode("div",wa,[e.renderSlot(s.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",_a,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),Va={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Ea=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),Ba=["transform"],xa=[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)],Sa=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(m){return(o,t)=>(e.openBlock(),e.createElementBlock("svg",Va,[Ea,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+o.rotation})`},xa,8,Ba)]))}}),Na={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Ia={class:"minimap-container"},Aa=$(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(m){const o=m,t=e.ref(512),a=e.ref(384),n=e.ref(new ce.Vector3),r=e.ref(new ce.Object3D),s=e.ref({}),i=e.ref(1),u=e.ref(),c=e.computed(()=>o.allCameras),l=e.computed(()=>o.allCameras.find(_=>_.id===o.currentCamera)),d=e.computed(()=>o.rotation),k=e.computed(()=>new ce.Vector3(o.storey.position.x,o.storey.position.y,o.storey.position.z)),p=e.computed(()=>parseFloat(l.value.floor_vertical_position)),f=e.computed(()=>c.value.map(_=>{const M=_.uposition.split(","),E=new ce.Vector3(Number(M[0])-k.value.x,0,Number(M[2])-k.value.z);return{..._,...v(n.value,E)}})),g=e.computed(()=>`background-image: url(${o.backgroundImage});`),V=e.computed(()=>{let _=i.value>1?1:i.value;return _<.8&&(_=.4),`scale: ${_>1?1:_}; transform: rotate(${o.transformAngle}deg);`});e.onMounted(()=>{S(),h(),y();const _=document.getElementById("moveableDiv");_&&(u.value=new ResizeObserver(y).observe(_))}),e.onBeforeUpdate(()=>{S(),h()}),e.onBeforeUnmount(()=>{u.value&&u.value.unobserve(document.getElementById("moveableDiv"))});function C(_){return ce.MathUtils.degToRad(_)}function h(){r.value.rotation.x=180,r.value.rotation.y=o.storey.rotation.y*-1,s.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function A(_){return{top:`${Math.abs(_.top)}%`,left:`${Math.abs(_.left)}%`}}function v(_,M){var E=new ce.Vector3;const R=E.subVectors(_,M);return{relativePosition:R,left:R.x/t.value*100,top:R.z/a.value*100}}function S(){const _=o.storey.position.y-p.value;a.value=2*(_*Math.tan(C(o.storey.fovY/2))),t.value=512/384*a.value;const M=a.value/2,E=t.value/2,R=new ce.Vector3(E*-1,0,M*-1);n.value=R}function y(){const _=document.getElementById("moveableDiv");if(!_)return;const M=_.offsetHeight/384*.8,E=_.offsetWidth/512*.8;_.offsetHeight>_.offsetWidth?i.value=E*.5:i.value=M*.9}return(_,M)=>(e.openBlock(),e.createElementBlock("div",Na,[e.createElementVNode("div",Ia,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(V.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(g.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(s.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id},[l.value.floorLevel===E.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(A(E))},null,4)):e.createCommentVNode("",!0),l.value.id===E.id&&o.rotation!==null?(e.openBlock(),e.createBlock(Sa,{key:1,class:"rotation-marker-component",rotation:d.value,style:e.normalizeStyle({...A(E)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),Da=$(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(m){const o=m,t=e.computed(()=>o.rotation+o.transformAngle-90);return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:a.scale})},[e.createVNode(he,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),La={class:"ss-wrapper"},Fa={class:"slider"},Ma={class:"minimap-sun-slider"},Ta={key:0,class:"time-label"},$a=$(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(new Date().getHours()),r=e.ref(!0),s=e.ref(!0),i=e.ref(""),u=e.ref(new Map),c=e.computed(()=>t.minimapJson.storeys[t.level]),l=e.computed(()=>`${Math.floor(n.value).toString().padStart(2,"0")}:00`),d=e.computed(()=>{if(c.value.sunsimFilesTimeStamps[n.value]){const C=c.value.sunsimFilesTimeStamps[n.value].split(" ");return`${C[0]} ${C[1]}`}return""});e.onMounted(async()=>{i.value=await f(c.value.sunsimFiles[n.value]),s.value=!1;const C=await p(t.minimapJson.storeys);u.value=C,r.value=!1,a("setBackgroundImage",k(t.level,n.value))}),e.watch(n,()=>{const C=k(t.level,n.value);a("setBackgroundImage",C)}),e.watch(()=>t.level,()=>{a("setBackgroundImage",k(t.level,n.value))},{immediate:!0});function k(C,h){return u.value.get(`sunsim${C}_${h}`)?u.value.get(`sunsim${C}_${h}`):""}async function p(C){let h=new Map;for(let A=0;A<C.length;A++){const v=C[A].sunsimFiles;for(let S=0;S<v.length;S++){const y=v[S];try{const _=y,M=y.split("."),E=await f(_);h.set(M[0],E)}catch{continue}}}return h}async function f(C){const A=await(await fetch(z(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${C}`))).blob(),v=await V(A);return g(v)}function g(C){return"data:image/jpeg;base64,"+C}async function V(C){return new Promise((h,A)=>{const v=new FileReader;v.onload=()=>{const S=v.result.split(",")[1];h(S)},v.onerror=A,v.readAsDataURL(C)})}return(C,h)=>{const A=e.resolveComponent("v-progress-linear"),v=e.resolveComponent("v-icon"),S=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",La,[e.createElementVNode("div",Fa,[e.createElementVNode("div",Ma,[r.value?(e.openBlock(),e.createBlock(A,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(S,{key:1,modelValue:n.value,"onUpdate:modelValue":h[0]||(h[0]=y=>n.value=y),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(v,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ta,e.toDisplayString(d.value)+" "+e.toDisplayString(l.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Pe=$(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(0),s=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(s,()=>{n.value=s.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${s.value.defaultSunsimFile}`},{immediate:!0,once:!0});const i=e.computed(()=>{let l=1;return r.value!==0&&(Math.abs(r.value)%180===0?l=1:l=-1),l});function u(l){n.value=l}function c(){r.value=r.value+90}return(l,d)=>(e.openBlock(),e.createBlock(ba,{onClose:d[0]||(d[0]=k=>a("close")),onTransform:c},{body:e.withCtx(()=>[e.createVNode(Da,{scale:i.value,rotation:s.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Aa,{"transform-angle":r.value,"all-cameras":l.apartmentJson.cameras,"background-image":n.value,rotation:l.rotation,"current-camera":l.currentCamera,storey:s.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode($a,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:u},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),Ra={key:0,class:"text-white disclaimer caption"},Oa=$(e.defineComponent({__name:"VDisclaimer",setup(m){const o=e.inject(J),t=e.ref(!0);return(a,n)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",Ra,[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("allIllustrationsAreIndicativeDeviationsMayOccur"))+" ",1),e.createElementVNode("span",{onClick:n[0]||(n[0]=r=>t.value=!1),class:"link-text text-decoration-underline"},e.toDisplayString(e.unref(o).getLabel("iUnderstand")),1)])):e.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-046402dc"]]),Ua={class:"waypoint-carousel"},Ha=37,Pa=39,Be=$(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(0),r=e.computed({get(){return t.active},set(c){n.value=c}}),s=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",i)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",i)});function i(c){switch(c.keyCode){case c.keyCode===Ha:a("previous");break;case c.keyCode===Pa:a("next");break;default:return}}function u(c,l){l(),a("goto",c)}return(c,l)=>{const d=e.resolveComponent("v-icon"),k=e.resolveComponent("v-btn"),p=e.resolveComponent("v-hover"),f=e.resolveComponent("v-img"),g=e.resolveComponent("v-card"),V=e.resolveComponent("v-slide-group-item"),C=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",Ua,[e.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":l[2]||(l[2]=h=>r.value=h),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(({isHovering:h})=>[e.createVNode(k,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:l[0]||(l[0]=A=>a("previous"))},{default:e.withCtx(()=>[e.createVNode(d,{color:h?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-left ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),next:e.withCtx(()=>[e.createVNode(p,null,{default:e.withCtx(({isHovering:h})=>[e.createVNode(k,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:l[1]||(l[1]=A=>a("next"))},{default:e.withCtx(()=>[e.createVNode(d,{color:h?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-right ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.thumbnails,h=>(e.openBlock(),e.createBlock(V,{key:h.id},{default:e.withCtx(({toggle:A,selectedClass:v})=>[e.createVNode(g,{class:e.normalizeClass([s.value?"ma-0":"ma-2",v,"single-waypoint"]),align:"center",justify:"center",height:s.value?50:100,width:s.value?80:160,elevation:"0",style:{overflow:"hidden"},onClick:S=>u(h.id,A)},{default:e.withCtx(()=>[e.createVNode(f,{maxWidth:160,cover:"","aspect-ratio":"1",src:h.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])])}}}),[["__scopeId","data-v-aa105c01"]]),ja={id:"share-btns-wrapper",class:"text-center"},je=$(e.defineComponent({__name:"VSocialShare",setup(m){const o=e.inject(J),t=e.ref(!1),a=e.ref(location.href);function n(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function s(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1}function i(){navigator.clipboard.writeText(location.href)}return(u,c)=>{const l=e.resolveComponent("v-btn"),d=e.resolveComponent("v-tooltip"),k=e.resolveComponent("v-toolbar-title"),p=e.resolveComponent("v-spacer"),f=e.resolveComponent("v-toolbar"),g=e.resolveComponent("v-card-text"),V=e.resolveComponent("v-card"),C=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:c[0]||(c[0]=A=>t.value=!t.value)},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(C,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":c[2]||(c[2]=h=>t.value=h)},{default:e.withCtx(()=>[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(f,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(l,{size:"x-small",icon:"mdi-close",onClick:c[1]||(c[1]=h=>t.value=!1)}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(p)]),_:1}),e.createVNode(g,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",ja,[e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},h,{onClick:n}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},h,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},h,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${a.value}`},h),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},h),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("copyLink")),1)]),_:1}),e.createVNode(p)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Ya={class:"static-image-wrapper"},za=$(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(m){const o=m,t=e.computed(()=>({"background-image":`url("${encodeURI(o.image)}")`}));return(a,n)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Wa={id:"btn-fullscreen",class:"btn-placeholder mr-2"},Ye=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(m,{emit:o}){const t=o;return(a,n)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Wa,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:a.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:n[0]||(n[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class ze{constructor(o,t){j(this,"_doc");j(this,"_elemId");j(this,"_state");this._doc=o,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const o=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();o.forEach(a=>{t.addEventListener(a,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const o=this._getElement(),t=o.requestFullscreen||o.webkitRequestFullscreen||o.mozRequestFullscreen||o.msRequestFullscreen;t&&t.apply(o)}_exit(){const o=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;o&&o.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const o=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=o}}const Ga={class:"virtual-tour-wrapper"},Qa={key:0,class:"player-error"},qa={class:"player-and-components-wrapper"},Za={key:1,class:"v-player"},Xa={key:3,class:"settings-panel"},Ja={key:0,class:"compass-wrapper"},Ka={key:1,class:"btn-placeholder mr-2"},er={key:2,class:"btn-placeholder"},tr={key:0},We=$(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:""})}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(!1),r=e.ref(!1),s=e.ref(),i=e.ref(),u=e.ref(),c=e.ref(),l=e.ref(),d=e.ref(0),k=e.ref(),p=e.ref(),f=e.ref(),g=e.ref(0),V=e.ref(0),C=e.ref(0),h=e.ref(!1),A=e.ref(!1),v=e.ref(!1),S=e.ref(new ze(document,"player-wrapper")),y=e.computed(()=>{if(i.value){const w=i.value.cameras.map(O=>O.floorLevel);let F=[...new Set(w)];return F=F.sort(),F}else return[]}),_=e.computed(()=>{let w=0;if(i.value){const F=i.value.cameras.map(we=>we.floorLevel);let O=[...new Set(F)];O=O.sort();const Z=O.findIndex(we=>we===V.value);Z!==-1&&(w=Z)}return w}),M=e.computed(()=>b.value.findIndex(w=>w.archetypeID===k.value)),E=e.computed(()=>u.value?u.value.cameras.map(w=>({...w,thumbnailUrl:X(`/${k.value}/${t.apartmentId}/thumbs/200/${w.id}.jpg`),imageUrl:X(`/${k.value}/${t.apartmentId}/images/1600/${w.id}.jpg`)})):[]),R=e.computed(()=>!E.value||!E.value[d.value]?"":E.value[d.value].imageUrl),b=e.computed(()=>{let w=[];return s.value&&(w=s.value.archetypes),t.validInteriorIds.length?w.filter(F=>t.validInteriorIds.includes(F.archetypeID)):w}),x=e.computed(()=>u.value?b.value.map(w=>({...w,url:X(`/${w.archetypeID}/${t.apartmentId}/thumbs/200/${E.value[d.value].id}.jpg`)})):[]),B=e.computed(()=>{if(c.value)return c.value.storeys[_.value]}),I=e.computed(()=>i.value&&i.value.timeInHours),U=e.computed(()=>{if(i.value&&i.value.timeInHours&&t.showTimeOfDay)return yr(i.value.timeInHours)});e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe),e.watch([()=>t.cdnFileResolver],async()=>{await N(),H(),await D()}),e.watch(()=>t.defaultViewMode,w=>{w==="virtualTour"&&(h.value=!1),w==="slideShow"&&(h.value=!0,v.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await N(),H(),await D(),S.value.setup(),Q()}catch(w){r.value=!0,a("onError",w)}});async function N(){s.value=await G()}async function D(){if(i.value=await W(k.value,t.apartmentId),i.value&&(p.value=i.value.cameras.find(()=>!0).id),u.value=await ne(k.value,t.apartmentId),u.value){let w=t.defaultWaypointIndex!==null?t.defaultWaypointIndex:0;d.value=w,p.value=u.value.cameras[w].id,f.value=u.value.cameras[w].id}t.showMiniMap&&(c.value=await re(k.value,t.apartmentId))}function H(){let w=t.defaultInteriorId;w||(w=s.value.defaultArchetypeID),t.validInteriorIds.length&&!t.validInteriorIds.includes(w)&&(w=t.validInteriorIds[0]),w||(w=s.value.archetypes[0].archetypeID),k.value=w}function Q(){const w=document.getElementById("main-canvas");w.addEventListener("touchmove",F,{passive:!1});function F(Z){Z.preventDefault(),window.scrollBy(0,0)}w.addEventListener("mouseenter",()=>{document.addEventListener("wheel",O,{passive:!1})},{passive:!1}),w.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",O)},{passive:!1});function O(Z){Z.preventDefault(),window.scrollBy(0,0)}}async function G(){try{return await ye("/config.json")}catch(w){console.error("Error loading config.json - ",z(t.cdnFileResolver,"/config.json"),w);return}}async function W(w,F){try{return await ye(`/${w}/${F}/apartment.json`)}catch(O){console.error("Error loading apartment.json - ",`/${w}/${F}/apartment.json`,O);return}}async function ne(w,F){try{return await ye(`/${w}/${F}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${w}/${F}/thumbs.json`);return}}async function re(w,F){try{return await ye(`/${w}/${F}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${w}/${F}/minimap/minimap.json`);return}}function K(){let w=d.value+1;w>=E.value.length&&(w=0),d.value=w,me(E.value[d.value].id)}function ee(){let w=d.value-1;w<0&&(w=E.value.length-1),d.value=w,me(E.value[d.value].id)}function te(w,F=!0){let O=E.value.findIndex(Z=>Z.id===w);O!=-1&&(d.value=O,F&&me(w))}function me(w){p.value=w}function se(w){k.value=w,a("onInteriorUpdate",w),a("onCameraUpdate",f.value,i.value)}function xe(w){te(w,!1),f.value=w,a("onCameraUpdate",w,i.value)}function Ce(w){g.value=w}function Se(w){V.value=w}function L(w){C.value=w}function T(w,F){}function Y(w){l.value=w,t.playerSettings&&l.value.updateSettings(t.playerSettings)}function Ve(){S.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function ue(){h.value=!h.value}async function le(){const w=180/Math.PI,F=await l.value.takePhoto(),O=l.value.getRotationEuler(),Z=l.value.getCurrentCamera(),we=new Qt(F,Z),wr=[O.x*w,O.y*w,O.z*w];return a("onSnapshot",we,wr),we}function X(w){let F=z(t.cdnFileResolver,w);return t.adminMode&&(F=F+`?v=${Date.now()}`),F}async function ye(w){const F=X(w);try{return(await ae.get(F)).data}catch(O){throw new Error(O)}}function Qe(w){l.value.updateSettings(w)}function Cr(w){a("saveSettings",w)}function yr(w){if(w===void 0)return null;const F=Math.floor(w),O=Math.floor((F-w)*60);return{hours:F,minutes:O}}return(w,F)=>{const O=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ga,[r.value?(e.openBlock(),e.createElementBlock("div",Qa,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",qa,[!S.value.isActive&&c.value&&f.value&&B.value&&k.value&&A.value?(e.openBlock(),e.createBlock(Pe,{key:0,"cdn-file-resolver":w.cdnFileResolver,"apartment-json":i.value,level:_.value,"minimap-json":c.value,rotation:g.value,"current-camera":f.value,onClose:F[0]||(F[0]=Z=>A.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),k.value&&p.value?(e.openBlock(),e.createElementBlock("div",Za,[e.createVNode(mn,{"cdn-file-resolver":w.cdnFileResolver,style:e.normalizeStyle({zIndex:h.value?1:2}),"show-static-image":h.value,"is-full-screen":S.value.isActive,"current-camera-id":p.value,"mouse-sensitivity":w.mouseSensitivity,"interior-id":k.value,"apartment-id":t.apartmentId,onNewCameraCallback:xe,onNewRotationCallback:Ce,onNewFloorCallback:Se,onNewFovCallback:L,onNewSizeCallback:T,onPlayerApiCallback:Y},{"slideshow-image":e.withCtx(()=>[h.value?(e.openBlock(),e.createBlock(za,{key:0,image:R.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[w.adminMode?e.withDirectives((e.openBlock(),e.createBlock(O,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:F[1]||(F[1]=Z=>n.value=!n.value)},null,512)),[[e.vShow,v.value]]):e.createCommentVNode("",!0),c.value&&p.value&&B.value?e.withDirectives((e.openBlock(),e.createBlock(O,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:F[2]||(F[2]=Z=>A.value=!A.value)},null,512)),[[e.vShow,v.value]]):e.createCommentVNode("",!0),v.value&&w.showFloorLevel&&y.value.length>1?(e.openBlock(),e.createBlock(gn,{key:2,level:V.value,"floor-levels":y.value,onLevel:Se},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),v.value&&w.adminMode&&n.value?(e.openBlock(),e.createElementBlock("div",Xa,[e.createVNode(Ca,{"initial-settings":w.playerSettings,onUpdateSettings:Qe,onSaveSettings:Cr},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[v.value?(e.openBlock(),e.createBlock(Oa,{key:0,"return-url":w.websiteUrl},null,8,["return-url"])):e.createCommentVNode("",!0)]),"top-right":e.withCtx(()=>[i.value&&w.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",Ja,[e.createVNode(wn,{rotation:g.value},null,8,["rotation"])],512)),[[e.vShow,v.value]]):e.createCommentVNode("",!0),v.value&&i.value&&I.value&&w.showTimeOfDay?(e.openBlock(),e.createBlock(Bn,{key:1,hours:U.value.hours,minutes:U.value.minutes},null,8,["hours","minutes"])):e.createCommentVNode("",!0)]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[h.value?(e.openBlock(),e.createBlock(O,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:ee})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(ta,{project:e.unref(z)(t.cdnFileResolver,""),onCloseTutorial:F[3]||(F[3]=Z=>v.value=!0)},null,8,["project"]),S.value.isActive&&c.value&&f.value&&B.value&&A.value?(e.openBlock(),e.createBlock(Pe,{key:0,"cdn-file-resolver":w.cdnFileResolver,"apartment-json":i.value,"minimap-json":c.value,rotation:g.value,"current-camera":f.value,level:_.value,onClose:F[4]||(F[4]=Z=>A.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(()=>[h.value?(e.openBlock(),e.createBlock(O,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:K})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[v.value&&w.showFullScreen?(e.openBlock(),e.createBlock(Ye,{key:0,"is-full-screen":S.value.isActive,class:"btn-fullscreen",onToggleFullscreen:Ve},null,8,["is-full-screen"])):e.createCommentVNode("",!0),v.value&&w.showSnapshot?(e.openBlock(),e.createElementBlock("div",Ka,[e.createVNode(O,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:le})])):e.createCommentVNode("",!0),v.value&&w.showShare&&!S.value.isActive?(e.openBlock(),e.createElementBlock("div",er,[e.createVNode(je)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[v.value&&w.showCarousel?(e.openBlock(),e.createElementBlock("div",tr,[w.displayViewModeSwitch?(e.openBlock(),e.createBlock(xn,{key:0,"show-static-image":h.value,onToggle:ue},null,8,["show-static-image"])):e.createCommentVNode("",!0),v.value&&S.value.isActive?(e.openBlock(),e.createBlock(Be,{key:1,class:e.normalizeClass([S.value.isActive?"full-screen":""]),thumbnails:E.value,active:d.value,onNext:K,onPrevious:ee,onGoto:te},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[v.value&&w.showInteriorOptions&&x.value?(e.openBlock(),e.createBlock(kn,{key:0,"cdn-file-resolver":w.cdnFileResolver,"available-archetypes":x.value,"selected-index":M.value,onSelectInterior:se},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),w.showCarousel&&u.value?(e.openBlock(),e.createBlock(Be,{key:0,class:"waypoint-carousel below-player",thumbnails:E.value,active:d.value,onNext:K,onPrevious:ee,onGoto:te},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])}}}),[["__scopeId","data-v-1a002566"]]),or={id:"player-wrapper"},nr={id:"player-sizer"},ar={class:"player-control",id:"controls-top-left"},rr={class:"player-control",id:"controls-top-center"},lr={class:"player-control",id:"controls-top-right"},ir={class:"player-control",id:"controls-center-left"},sr={class:"player-control",id:"controls-center-center"},cr={class:"player-control",id:"controls-center-right"},dr={class:"player-control",id:"controls-bottom-left"},mr={class:"player-control",id:"controls-bottom-center"},ur={class:"player-control",id:"controls-bottom-right"},pr=$(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(m,{emit:o}){return(t,a)=>(e.openBlock(),e.createElementBlock("div",or,[e.createElementVNode("div",nr,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",ar,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",rr,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",lr,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",ir,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",sr,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",cr,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",dr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",ur,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),fr={class:"virtual-tour-wrapper"},hr={class:"player-and-components-wrapper"},gr={class:"mss-image"},vr={key:1,class:"btn-placeholder"},Ge=$(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(m){const o=m;e.provide(J,o.i18nConfig?new oe(o.i18nConfig):new oe);const t=e.ref(0),a=e.ref(new ze(document,"player-wrapper")),n=e.computed(()=>o.images.map((l,d)=>({id:`image-${d}`,thumbnailUrl:l}))),r=e.computed(()=>n.value[t.value]);e.onMounted(()=>{a.value.setup()});function s(){a.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let l=t.value+1;l>=n.value.length&&(l=0),t.value=l}function u(){let l=t.value-1;l<0&&(l=n.value.length-1),t.value=l}function c(l,d=!0){let k=n.value.findIndex(p=>p.id===l);k!=-1&&(t.value=k)}return(l,d)=>{const k=e.resolveComponent("v-img"),p=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",fr,[e.createElementVNode("div",hr,[e.createElementVNode("div",null,[e.createVNode(pr,{"is-full-screen":a.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",gr,[e.createVNode(k,{src:r.value.thumbnailUrl},null,8,["src"])])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(p,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:u})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(p,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[l.showFullScreen?(e.openBlock(),e.createBlock(Ye,{key:0,"is-full-screen":a.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),l.showShare?(e.openBlock(),e.createElementBlock("div",vr,[e.createVNode(je)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[a.value.isActive&&n.value.length>1?(e.openBlock(),e.createBlock(Be,{key:0,class:e.normalizeClass([a.value.isActive?"full-screen":""]),thumbnails:n.value,active:t.value,onNext:i,onPrevious:u,onGoto:c},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),n.value.length>1?(e.openBlock(),e.createBlock(Be,{key:0,thumbnails:n.value,active:t.value,onNext:i,onPrevious:u,onGoto:c},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),kr={install:function(o){o.component("VApartmentChooser",Me),o.component("VBuildingChooser",He),o.component("VVirtualTour",We),o.component("VManualSlideShow",Ge)}};P.ResourceLoader=q,P.VApartmentChooser=Me,P.VApartmentChooserV5=no,P.VBuildingChooser=He,P.VBuildingChooserV5=Yo,P.VFloatingCard=pe,P.VHoverProbe=ie,P.VManualSlideShow=Ge,P.VNorthDirection=he,P.VVirtualTour=We,P.VZoomBox=fe,P.default=kr,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(P,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("axios"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","vue","axios","@qispace/player-core","three"],e):(P=typeof globalThis<"u"?globalThis:P||self,e(P["vue3-player"]={},P.Vue,P.axios,P.PlayerCore,P.THREE))})(this,function(P,e,ae,Ze,Xe){"use strict";var _r=Object.defineProperty;var br=(P,e,ae)=>e in P?_r(P,e,{enumerable:!0,configurable:!0,writable:!0,value:ae}):P[e]=ae;var j=(P,e,ae)=>(br(P,typeof e!="symbol"?e+"":e,ae),ae);function De(m){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const t in m)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(m,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>m[t]})}}return o.default=m,Object.freeze(o)}const Je=De(Ze),ce=De(Xe);class q{static async loadText(o){return new q().loadText(o)}static async loadJson(o){return new q().loadJson(o)}static async loadImage(o){return new q().loadImage(o)}static async loadImageData(o){return new q().loadImageData(o)}async loadText(o){return(await ae.get(o)).data}async loadJson(o){return(await ae.get(o)).data}async loadImage(o){return new Promise((t,a)=>{const n=new Image;n.crossOrigin="anonymous",n.onload=()=>{t(n)},n.onerror=a,n.src=o})}async loadImageData(o){const t=await this.loadImage(o),a=document.createElement("canvas");try{const n=a.getContext("2d");return a.width=t.width,a.height=t.height,n.drawImage(t,0,0),a.toDataURL("image/png")}finally{a.remove()}}}const Ke=e.defineComponent({__name:"VHoverProbe",setup(m,{expose:o}){const t=e.ref(),a=e.computed(()=>window.getComputedStyle(t.value).display==="none");return o({isHoverEnabled:a}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),U=(m,o)=>{const t=m.__vccOpts||m;for(const[a,n]of o)t[a]=n;return t},ie=U(Ke,[["__scopeId","data-v-eb9b348d"]]);function Y(m,o){return typeof m=="string"?`${m}${o}`:m(o)}const et=U(e.defineComponent({__name:"VApartmentChooserRaster",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(m,{emit:o}){const t=m,a=o,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(0),s=e.ref(0),i=e.ref(),p=e.ref(),c=e.ref(),l=e.ref(),d=e.ref(-1),k=e.ref(!1),h=e.ref(),u=e.ref(),v=e.ref({}),E=e.ref("auto"),_=e.ref(new q),f=e.ref({}),N=e.ref(),V=e.ref(),S=e.ref(),g=e.ref(),y=e.ref(),L=e.computed(()=>S.value.isHoverEnabled),w=e.computed(()=>Y(t.cdnFileResolver,`/scenedata${t.viewModel.currentScene}.png`)),R=e.computed(()=>w.value in v.value?v.value[w.value]:null),b=e.computed(()=>d.value<0?!1:t.sceneData.find(O=>O.index===d.value)||!1),B=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:E.value})),F=e.computed(()=>`hover-${k.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(w,()=>{v.value[w.value]||_.value.loadImageData(w.value).then(M=>{v.value={...v.value,[w.value]:M}})},{immediate:!0}),e.watch(R,()=>{R.value&&D()}),e.watch(()=>t.viewModel.currentScene,()=>{se()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{se()}),e.watch(b,()=>{se(),b.value?E.value="pointer":E.value="auto"}),e.watch(F,()=>{k.value?a("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>xe()}):a("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>xe()})}),e.watch(n,()=>{a("pos",n.value)}),e.onMounted(()=>{V.value=()=>{clearTimeout(N.value),te(),N.value=setTimeout(()=>{te()},50)},window.addEventListener("resize",V.value),te()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",V.value);for(const M in v.value)URL.revokeObjectURL(v.value[M])});function D(){i.value=g.value.getContext("2d",{willReadFrequently:!0}),p.value=new Image,p.value.onload=()=>{me(),g.value.addEventListener("mousemove",Se(I,50))},p.value.src=R.value}function I(M){const O=$(M.offsetX,M.offsetY);k.value=O>=0,d.value=O,n.value={x:M.offsetX,y:M.offsetY,width:r.value,height:s.value}}function x(M){const O=$(M.offsetX,M.offsetY);O<0||L&&re(O)}function A(){if(p.value&&p.value.width){g.value.width=p.value.width,g.value.height=p.value.height,i.value.drawImage(p.value,0,0,p.value.width,p.value.height),l.value=i.value.getImageData(0,0,g.value.width,g.value.height),c.value=i.value.getImageData(0,0,g.value.width,g.value.height);const M=l.value.data;f.value={};for(let O=0;O<M.length;O+=4)f.value[M[O]]=[];for(let O=3;O<M.length;O+=4)M[O]===255&&M[O-3]in f.value&&f.value[M[O-3]].push(O-3)}}function $(M,O){h.value=M,u.value=O;const z=g.value.offsetWidth/g.value.width,Ve=g.value.offsetHeight/g.value.height,ue=(M/z).toFixed(),le=(O/Ve).toFixed(),X=Number(le)*(g.value.width*4)+Number(ue)*4,ye=l.value.data[X];return l.value.data[X+3]>0?ye:-1}function G(){ne().forEach(O=>{if(O.index>=0){const z=W(O.index);if(z){const Ve=Q(O.index);let ue="idle";!b.value&&t.selectedUnitId&&Ve===t.selectedUnitId?ue="selected":b.value&&d.value===O.index&&(ue="hover");const le=t.colorCallback(O.unitId,ue);if(le)for(let X=0;X<z.length;X++)c.value.data[z[X]]=le.r,c.value.data[z[X]+1]=le.g,c.value.data[z[X]+2]=le.b,c.value.data[z[X]+3]=le.a}}})}function W(M){return l.value?f.value[M]:!1}function Q(M){const O=t.sceneData.find(z=>z.index===M);return O&&O.unitId}function ne(){if(l.value){const M=Object.keys(f.value).map(z=>parseInt(z));return t.sceneData.filter(z=>M.includes(z.index))}else return[]}function re(M){const O=Q(M);K(O)}function K(M){a("selectUnit",M),M&&t.canGoToUnitCallback(M)&&a("goToUnit",M)}function ee(M=0){if(!c.value)return;const O=c.value.data;for(let z=3;z<O.length;z+=4)O[z]=M}function te(){if(!y.value)return!1;r.value=y.value.offsetWidth,s.value=y.value.offsetHeight}function me(){A(),se()}function se(){ee(),G(),i.value&&c.value&&i.value.putImageData(c.value,0,0)}function xe(){k.value=!1}const Ce=e.ref(!1);function Se(M,O){return Ce.value=!0,function(...z){Ce.value&&(Ce.value=!1,M.apply(this,z),setTimeout(()=>Ce.value=!0,O))}}return(M,O)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:y,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:g,style:e.normalizeStyle(B.value),onClick:x},null,4),[[e.vShow,!M.viewModel.isRotating]]),e.createVNode(ie,{ref_key:"hoverProbe",ref:S},null,512)],512))}}),[["__scopeId","data-v-27d7323f"]]),tt=["viewBox"],ot=["innerHTML","onMouseenter","onMouseleave","onClick"],nt=U(e.defineComponent({__name:"VApartmentChooserSvg",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(m,{emit:o}){const t=m,a=o,n=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(-1),s=e.ref({}),i=e.ref(null),p=e.ref(new q),c=e.ref(),l=e.ref(),d=e.computed(()=>l.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(n,()=>{a("pos",n.value)}),e.watch(r,(V,S)=>{if(V>=0){const g=h(V);a("hoverOver",{hoverUnit:g,closeHandler:()=>{r.value=-1}})}else{const g=h(S);a("hoverOut",{hoverUnit:g,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let V=1;V<=4;V++){const S=Y(t.cdnFileResolver,`/scenedata${V}.svg`),g={markup:"",viewBox:"",svgObjects:[]};p.value.loadJson(S).then(y=>{g.markup=y;const w=new DOMParser().parseFromString(y,"image/svg+xml").getElementsByTagName("svg")[0];g.viewBox=w.getAttribute("viewBox"),g.svgObjects=Array.from(w.querySelectorAll("*[data-index]")).map(R=>({index:parseInt(R.getAttribute("data-index")),svg:R.innerHTML})),s.value={...s.value,[V]:g}})}c.value.addEventListener("mousemove",N(k,50))});function k(V){n.value={x:V.offsetX,y:V.offsetY,width:c.value.offsetWidth,height:c.value.offsetHeight}}function h(V){var S;return(S=t.sceneData.find(g=>g.index===(typeof V=="string"?parseInt(V):V)))==null?void 0:S.unitId}function u(V){d.value&&(r.value=V)}function v(V){d.value&&(r.value=-1)}function E(V){const S=h(V);a("selectUnit",S),d.value&&S&&t.canGoToUnitCallback(S)?a("goToUnit",S):r.value=V}function _(V){const S=h(V);let g="idle";r.value<0&&t.selectedUnitId&&S===t.selectedUnitId?g="selected":r.value>=0&&r.value===V&&(g="hover");const y=t.colorCallback(S,g);if(y){const{r:L,g:w,b:R,a:b,s:B}=y;return{strokeWidth:B!==void 0?B:2,stroke:`rgb(${L}, ${w}, ${R})`,strokeOpacity:1,fill:`rgb(${L}, ${w}, ${R})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(S)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const f=e.ref(!1);function N(V,S){return f.value=!0,function(...g){f.value&&(f.value=!1,V.apply(this,g),setTimeout(()=>f.value=!0,S))}}return(V,S)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:c},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:g,svg:y})=>(e.openBlock(),e.createElementBlock("g",{key:g,innerHTML:y,style:e.normalizeStyle(_(g)),onMouseenter:L=>u(g),onMouseleave:L=>v(),onClick:L=>E(g)},null,44,ot))),128))],8,tt)):e.createCommentVNode("",!0)],4),[[e.vShow,!V.viewModel.isRotating]]),e.createVNode(ie,{ref_key:"hoverProbe",ref:l},null,512)],512))}}),[["__scopeId","data-v-e6c054c7"]]),J=Symbol(),at={key:0,class:"text-success d-none d-md-flex"},rt={class:"text-success"},lt=U(e.defineComponent({__name:"VApartmentChooserNavigation",props:{canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{},selectedUnitId:{},prevUnitId:{},nextUnitId:{},viewModel:{}},emits:["prevUnit","nextUnit","goToUnit"],setup(m,{emit:o}){const t=m,a=e.computed(()=>t.selectedUnitId),n=e.computed(()=>t.nextUnitId),r=e.computed(()=>t.prevUnitId),s=o,i=e.inject(J);e.onMounted(()=>{window.addEventListener("keydown",p)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",p)});function p(c){c.keyCode===37?t.prevUnitId&&s("prevUnit"):c.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(c,l)=>{const d=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:l[0]||(l[0]=k=>c.viewModel.rotateClockwise())}),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!r.value,onClick:l[1]||(l[1]=k=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(d,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!c.canGoToUnitCallback(a.value),onClick:l[2]||(l[2]=k=>s("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&c.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",at,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",rt,e.toDisplayString(a.value?t.unitRenderer(a.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!n.value,onClick:l[3]||(l[3]=k=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:l[4]||(l[4]=k=>c.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class Ne{constructor(o){j(this,"_numParts");j(this,"_loadedCount");j(this,"_isError");j(this,"_finishedAction");j(this,"_errorAction");j(this,"_loadProgressAction");this._numParts=o,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(o){return this._finishedAction=o,this}onLoadError(o){return this._errorAction=o,this}onLoadProgress(o){return this._loadProgressAction=o,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 Ie{constructor(o,t,a,n){j(this,"_rotator");j(this,"_direction");j(this,"_frameIndex");j(this,"_sceneCount");this._rotator=o,this._direction=t,this._frameIndex=a,this._sceneCount=n}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const o=this._rotator.clampFrameIndex(this._frameIndex+this._direction),t=this._rotator.isCardinalFrame(o)?this._sceneCount-1:this._sceneCount;return new Ie(this._rotator,this._direction,o,t)}}class it{constructor(o,t){j(this,"_cardinalFrames");j(this,"_totalFrameCount");this._cardinalFrames=o,this._totalFrameCount=t}start(o,t,a){const n=this.startFrameIndexForScene(t);return new Ie(this,o,n,a)}isCardinalFrame(o){return this._cardinalFrames.includes(o)}clampFrameIndex(o){return(this._totalFrameCount+o)%this._totalFrameCount}startFrameIndexForScene(o){return this._cardinalFrames[o]}}const st={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},ct={key:1,class:"frame-container"},dt={key:0,class:"frame-image"},mt=["srcset"],ut=["src"],pt={key:2,id:"image-stack",class:"frame-container"},ft=["alt"],ht=["srcset"],gt=["src"],Le=64,_e=4,vt=120,kt=U(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(m,{emit:o}){const t=m,a=o,n=h(),r=e.ref(new Ne(n.length).onLoadFinished(()=>a("loaded")).onLoadProgress(_=>a("progress",_)).onLoadError(()=>a("error"))),s=e.ref(new it(t.cardinalFrames,Le)),i=e.ref(n),p=e.ref(!1),c=e.computed(()=>i.value.find(_=>_.show));e.watch(()=>t.viewModel.currentScene,(_,f)=>{const N=E(f,_),V=v(f,_);l(f,N,V)}),e.onMounted(()=>{k()});function l(_,f,N){t.viewModel.isRotating||(t.viewModel.isRotating=!0,d(s.value.start(f,_%_e,N)))}function d(_){setTimeout(()=>{i.value[_.frameIndex].show=!1;const f=_.nextFrame();i.value[f.frameIndex].show=!0,f.atEnd?k():window.requestAnimationFrame(()=>d(f))},1e3/vt)}function k(){const _=s.value.startFrameIndexForScene(t.viewModel.currentScene%_e);_ in i.value&&(i.value[_].show=!0),t.viewModel.isRotating=!1}function h(){const _=[];for(let f=0;f<Le;f++){const{sourceSet:N,defaultPath:V}=u(f);_.push({index:f,sourceSet:N,defaultPath:V,show:!1})}return _}function u(_){const f=("0000"+(_+1)).slice(-4),N=t.build?`?v=${t.build}`:"",V=[`${Y(t.cdnFileResolver,`/480/${f}.jpg${N}`)} 480w`,`${Y(t.cdnFileResolver,`/960/${f}.jpg${N}`)} 960w`,`${Y(t.cdnFileResolver,`/1280/${f}.jpg${N}`)} 1280w`].join(","),S=Y(t.cdnFileResolver,`/480/${f}.jpg${N}`);return{sourceSet:V,defaultPath:S}}function v(_,f){const N=_e/2,V=Math.abs(_-f);return V>N?_e-V:V}function E(_,f){if(_===f)return 0;const V=Math.abs(_-f)<_e/2;return V&&_<f||!V&&_>f?1:-1}return(_,f)=>{const N=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",st,[e.createVNode(N,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",pt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,V=>(e.openBlock(),e.createElementBlock("picture",{key:V.index,alt:V.index,class:e.normalizeClass({"frame-image":!0,show:V.show})},[e.createElementVNode("source",{srcset:V.sourceSet,type:"image/jpeg"},null,8,ht),e.createElementVNode("img",{src:V.defaultPath,alt:"Building image",onLoad:f[2]||(f[2]=S=>r.value.partLoaded()),onError:f[3]||(f[3]=S=>r.value.errorDetected())},null,40,gt)],10,ft))),128))])):(e.openBlock(),e.createElementBlock("div",ct,[c.value?(e.openBlock(),e.createElementBlock("picture",dt,[e.createElementVNode("source",{srcset:c.value.sourceSet,type:"image/jpeg"},null,8,mt),e.createElementVNode("img",{src:c.value.defaultPath,onLoad:f[0]||(f[0]=V=>p.value=!0),onError:f[1]||(f[1]=V=>r.value.errorDetected())},null,40,ut)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-0c291cb9"]]),pe=U(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(m,{emit:o}){const t=m,a=o,n=e.computed(()=>{let r,s,i,p;return t.pos.x<=t.pos.width/2?(r="-100%",i="-8px"):(r="0%",i="8px"),t.pos.y<=t.pos.height/2?(s="-100%",p="-8px"):(s="0%",p="8px"),`translate(${r}, ${s}) translate(${i}, ${p})`});return(r,s)=>{const i=e.resolveComponent("v-dialog"),p=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(p,{origin:`top left ${r.pos.x} ${r.pos.y}`},{default:e.withCtx(()=>[r.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:"floating-card",style:e.normalizeStyle({left:`${r.pos.x}px`,top:`${r.pos.y}px`,pointerEvents:"none",transform:n.value})},[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)],4)):(e.openBlock(),e.createBlock(i,{key:1,value:!0,width:"auto","onClick:outside":s[0]||(s[0]=c=>a("outside",c))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),fe=U(e.defineComponent({__name:"VZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0},position:{default:"absolute"}},emits:["update"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(100),r=e.ref(0),s=e.ref(0),i=e.ref(!1),p=e.ref(!1),c=e.ref(void 0),l=e.ref(!1),d=e.ref(),k=e.computed(()=>`translateX(${r.value}px) translateY(${s.value}px) scale(${h.value})`),h=e.computed(()=>n.value/100),u=e.computed(()=>t.maxScale*100);e.watch([h,r,s],()=>{I()}),e.watch(()=>t.desktop,()=>{t.desktop?v():_()}),e.watch(()=>t.mobile,()=>{t.mobile?E():f()}),e.onMounted(()=>{t.desktop&&v(),t.mobile&&E()}),e.onBeforeUnmount(()=>{t.desktop&&_(),t.mobile&&f()});function v(){d.value.addEventListener("wheel",N,{capture:!0}),d.value.addEventListener("mousedown",V,{capture:!0}),d.value.addEventListener("mousemove",S,{capture:!0}),window.addEventListener("mouseup",g,{capture:!0}),window.addEventListener("click",y,{capture:!0})}function E(){d.value.addEventListener("touchstart",L,{capture:!0}),d.value.addEventListener("touchmove",w,{capture:!0}),window.addEventListener("touchend",R,{capture:!0}),window.addEventListener("touchcancel",R,{capture:!0})}function _(){d.value.removeEventListener("wheel",N,{capture:!0}),d.value.removeEventListener("mousedown",V,{capture:!0}),d.value.removeEventListener("mousemove",S,{capture:!0}),window.removeEventListener("mouseup",g,{capture:!0}),window.removeEventListener("click",y,{capture:!0})}function f(){d.value.removeEventListener("touchstart",L,{capture:!0}),d.value.removeEventListener("touchmove",w,{capture:!0}),window.removeEventListener("touchend",R,{capture:!0}),window.removeEventListener("touchcancel",R,{capture:!0})}function N(x){const{x:A,y:$}=b(x);D(-x.deltaY/10,A,$),x.preventDefault()}function V(x){i.value=!0,l.value=!1,c.value=x}function S(x){if(i.value){const{x:A,y:$}=b(x),{x:G,y:W}=b(c.value),Q={x:A-G,y:$-W};B(Q.x),F(Q.y),l.value=!0,c.value=x}}function g(x){i.value&&l.value&&t.consumeMouseUpWhenMoved&&(x.preventDefault(),x.stopImmediatePropagation())}function y(x){i.value&&(l.value&&t.consumeMouseClickWhenMoved&&(x.preventDefault(),x.stopImmediatePropagation()),i.value=!1)}function L(x){i.value=x.touches.length===1,p.value=x.touches.length===2,c.value=x}function w(x){if(i.value){const{x:A,y:$}=b(x.touches[0]),{x:G,y:W}=b(c.value.touches[0]),Q={x:A-G,y:$-W};B(Q.x),F(Q.y)}else if(p.value&&x.touches.length===2){const{x:A,y:$}=b(x.touches[0]),{x:G,y:W}=b(c.value.touches[0]),{x:Q,y:ne}=b(x.touches[1]),{x:re,y:K}=b(c.value.touches[1]),ee=Math.hypot(G-re,W-K),te=Math.hypot(A-Q,$-ne),me=(Q+A)/2,se=(ne+$)/2;D(te-ee,me,se)}c.value=x}function R(){i.value=!1,p.value=!1}function b(x){const{left:A,top:$}=d.value.getBoundingClientRect();return{x:x.clientX-A,y:x.clientY-$}}function B(x){const A=d.value.clientWidth,$=A*h.value;r.value=Math.max(Math.min(0,r.value+x),-($-A))}function F(x){const A=d.value.clientHeight,$=A*h.value;s.value=Math.max(Math.min(0,s.value+x),-($-A))}function D(x,A,$){const G=d.value.clientWidth,W=d.value.clientHeight,Q=G*h.value,ne=W*h.value;n.value=Math.min(Math.max(100,n.value+x),u.value);const re=G*h.value,K=W*h.value,ee=re-Q,te=K-ne;r.value-=A/G*ee,s.value-=$/W*te,B(0),F(0)}function I(){a("update",{scale:h.value,x:r.value,y:s.value,resolve:(x,A)=>{const $=d.value.clientWidth,G=d.value.clientHeight,W=r.value/-h.value,Q=s.value/-h.value,ne=W+$/h.value,re=Q+G/h.value,K=x/$*(ne-W)+W,ee=A/G*(re-Q)+Q;return{x:K,y:ee}}})}return(x,A)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:d,class:"zoom-box-container",style:e.normalizeStyle({position:t.position})},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:k.value}),class:"zoom-box"},[e.renderSlot(x.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Ae=4;function Fe(m){return m<Ae?m+1:1}function Ct(m){return m>1?m-1:Ae}class yt{constructor(o){j(this,"_state");this._state={isRotating:!1,currentScene:o}}get isRotating(){return this._state.isRotating}set isRotating(o){this._state.isRotating=o}unlessRotatingDo(o){this.isRotating||o()}get currentScene(){return this._state.currentScene}set currentScene(o){this._state.currentScene=o}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Fe(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Ct(this.currentScene)})}}const wt={interior:"Interiør",seeASelectionOfTheOptionsInTheProject:"Se et utvalg av tilvalgsmulighetene i prosjektet.",floorPlan:"Planløsning",allIllustrationsAreIndicativeDeviationsMayOccur:{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},readMoreHere:"Les mer her",iUnderstand:{nb:"Jeg forstår",en:"I understand"},share:"Share",shareToFacebook:"Share to Facebook",shareToLinkedin:"Share to Linkedin",shareToTwitter:"Share to Twitter",shareViaEmail:"Share via Email",copyLink:"Copy link",virtualView:"Virtuell Visning",slideShow:"Slide Show",room:"Room",floor:"Floor",seeApartments:"See apartments",seeApartment:"See apartment",clickAndDragToLookAround:{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},clickOnTheCirclesToMoveAround:{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},useTheMouseWheelToZoom:{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},youCanAlsoUseTheArrowKeysToMoveAround:{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},tapAndDragToLookAround:{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},tapOnTheCirclesToMoveAround:{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},useTwoFingersToZoom:{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},dontShowAgain:{en:"Don't Show Again",nb:"Ikke vis igjen"}};class oe{constructor({labels:o,language:t}={labels:null,language:null}){j(this,"_labels");j(this,"_language");this._labels={...wt,...o||{}},this._language=t||"en"}getLabel(o){return o in this._labels?this.get(this._labels[o]):o}get(o){if(typeof o=="string")return o;if(this._language in o&&o[this._language])return o[this._language];for(const t in o)if(o[t])return o[t];return""}}const _t={key:0},bt={class:"interactive-viewer"},Vt={class:"fill-parent"},Et={key:0},Bt={key:1,class:"navigation"},xt={key:2},St=4,Me=U(e.defineComponent({__name:"VApartmentChooser",props:{i18nConfig:{},showCards:{type:Boolean,default:!0},build:{default:""},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{type:Function,default:m=>m},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(m,{emit:o}){const t=[0,16,32,48],a=m,n=o;e.provide(J,a.i18nConfig?new oe(a.i18nConfig):new oe);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),p=e.ref(),c=e.ref(),l=e.ref({x:0,y:0,width:0,height:0}),d=e.ref(),k=e.ref(),h=e.ref(),u=e.computed(()=>h.value.isHoverEnabled),v=e.computed(()=>a.useSvg?nt:et),E=e.computed(()=>a.selectedUnitId),_=e.computed(()=>a.nextUnitId),f=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(E.value&&c.value){const g=s.value[E.value];g&&(c.value.currentScene=g)}}),e.onMounted(async()=>{const g=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:St;p.value=a.apartmentChooserData&&a.apartmentChooserData.scenes!==void 0?a.apartmentChooserData.scenes:t,i.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(w=>({unitId:w.apartmentID,index:w.index})):[],s.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(w=>{const R=w.bestScene===0?4:w.bestScene;return{unitId:w.apartmentID,scene:R}}).reduce((w,R)=>({...w,[R.unitId]:R.scene}),{}):{};const y=(w,R="unitId")=>{let b=g,B=[];for(let F=0;F<Ae;F++)B.push(b),b=Fe(b);return w.sort((F,D)=>{const I=B.findIndex(A=>A===s.value[F[R]]),x=B.findIndex(A=>A===s.value[D[R]]);return I<x?-1:I>x?1:0}),w},L=w=>{c.value=new yt(w)};n("initialized",{scene:g,scenes:p.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:y,initialize:L})});function N(g){l.value=g}function V(g){k.value=g.hoverUnit,d.value=g.closeHandler,n("hoverOverUnit",g.hoverUnit)}function S(g){k.value=null,d.value=g.closeHandler,n("hoverOutUnit",g.hoverUnit)}return(g,y)=>{const L=e.resolveComponent("v-progress-linear");return c.value?(e.openBlock(),e.createElementBlock("div",_t,[e.createElementVNode("div",bt,[e.createElementVNode("div",Vt,[e.createVNode(fe,{desktop:r.isReady&&g.interactiveDesktop,mobile:r.isReady&&g.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(kt,{"cdn-file-resolver":g.cdnFileResolver,"view-model":c.value,"cardinal-frames":p.value,build:g.build,onProgress:y[0]||(y[0]=w=>r.progress=w),onLoaded:y[1]||(y[1]=w=>r.isReady=!0),onError:y[2]||(y[2]=w=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Et,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":c.value,"selected-unit-id":E.value,"scene-data":i.value,"color-callback":a.colorCallback,"can-go-to-unit-callback":a.canGoToUnitCallback,"draw-observer":a.drawObserver,onSelectUnit:y[3]||(y[3]=w=>n("selectUnit",w)),onGoToUnit:y[4]||(y[4]=w=>n("goToUnit",w)),onHoverOver:V,onHoverOut:S,onPos:N},{default:e.withCtx(w=>[e.renderSlot(g.$slots,"default",e.normalizeProps(e.guardReactiveProps(w)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),k.value&&g.showCards?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":u.value,pos:l.value,onOutside:d.value},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default",{unit:k.value,canGoToUnit:g.canGoToUnitCallback(k.value),goToUnit:()=>g.canGoToUnitCallback(k.value)&&n("goToUnit",k.value),pos:l.value,isHoverable:u.value,close:d.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",Bt,[e.createVNode(lt,{"can-go-to-unit-callback":a.canGoToUnitCallback,"unit-renderer":a.unitRenderer,"selected-unit-id":E.value,"prev-unit-id":f.value,"next-unit-id":_.value,"view-model":c.value,onGoToUnit:y[5]||(y[5]=w=>n("goToUnit",w)),onPrevUnit:y[6]||(y[6]=w=>n("navUnit",f.value)),onNextUnit:y[7]||(y[7]=w=>n("navUnit",_.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):r.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xt,[e.createVNode(L,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":y[8]||(y[8]=w=>r.progress=w)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(ie,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-528c8f5b"]]),Nt=["src"],It=U(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m,t=e.computed(()=>Y(o.cdnFileResolver,o.timeSampleData.filename));return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Nt)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-189d0505"]]),At=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(It,{"time-sample-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),Dt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(At,{"day-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Lt=["src"],Ft=U(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:[String,Function]},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,a=e.computed(()=>Y(t.cdnFileResolver,t.transitionData.filename));return(n,r)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:a.value,src:a.value,class:"position-absolute top-left w-100 h-100"},null,8,Lt)),[[e.vShow,n.transitionData===n.currentTransition]])}}),[["__scopeId","data-v-10ab7bee"]]);function Te(m){return!("filename"in m)}function $e(m){return"filename"in m}const Mt=e.defineComponent({__name:"VApartmentChooserV5UiCamera",props:{apartmentChooserData:{},currentCamera:{},disabled:{type:Boolean}},emits:["onCameraChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentCamera.overlayFilename);e.watch(()=>t.currentCamera.overlayFilename,()=>{n.value=t.currentCamera.overlayFilename});const r=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Te):[]);return e.watch(n,()=>{a("onCameraChange",r.value.find(s=>s.overlayFilename===n.value))}),(s,i)=>{const p=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(p,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),Tt=e.defineComponent({__name:"VApartmentChooserV5UiDay",props:{cameraData:{},currentDay:{},disabled:{type:Boolean}},emits:["onDayChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,i)=>{const p=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(p,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),$t={key:0,class:"py-2"},Rt={class:"small"},Ot={class:"small"},Ut=U(e.defineComponent({__name:"VApartmentChooserV5UiTimeSample",props:{dayData:{},currentTime:{},disabled:{type:Boolean}},emits:["onTimeChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{a("onTimeChange",t.dayData.timeSamples.find(p=>p.timeInHours===n.value))});function s(p){const c=p*60,l=c/60,d=c%60;return`${l.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(p,c)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[p.dayData.startTime===p.dayData.endTime?(e.openBlock(),e.createElementBlock("div",$t,[e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=u=>n.value=u),min:p.dayData.startTime,max:p.dayData.endTime,step:p.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(d,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Rt,e.toDisplayString(s(p.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Ot,e.toDisplayString(s(p.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)]),_:1},8,["modelValue","min","max","step","disabled"]))]),_:1})}}}),[["__scopeId","data-v-cb62dcc2"]]),Ht=e.defineComponent({__name:"VApartmentChooserV5UiRotator",props:{apartmentChooserData:{},currentScene:{},selectedId:{},renderDisplay:{type:Function}},emits:["onRotateStart","onRotateFinish","onSceneChange","onDisplayClick"],setup(m,{expose:o,emit:t}){const a=m,n=t;o({rotateShortestRoute:k});const r=e.ref(!1),s=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{s.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{n("onSceneChange",s.value)});const p=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[0]),c=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function l(){const u=s.value;let v=a.apartmentChooserData.scenes.findIndex(_=>_===u)+1;v>=a.apartmentChooserData.scenes.length&&(v=0);const E=a.apartmentChooserData.scenes[v];a.apartmentChooserData.loopable&&u>E?h(u,E+a.apartmentChooserData.scenes.length):h(u,E)}async function d(){const u=s.value;let v=a.apartmentChooserData.scenes.findIndex(_=>_===u)-1;v<0&&(v=a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);const E=a.apartmentChooserData.scenes[v];a.apartmentChooserData.loopable&&u<E?h(u+a.apartmentChooserData.scenes.length,E):h(u,E)}function k(u){const v=s.value;if(a.apartmentChooserData.loopable)if(u<v){let E=v-u,_=v-(a.apartmentChooserData.cameras.length+u);return Math.abs(E)>Math.abs(_)?h(v,u):h(v,a.apartmentChooserData.cameras.length+u)}else{let E=v-u,_=a.apartmentChooserData.cameras.length+v-u;return Math.abs(E)>Math.abs(_)?h(v,u):h(a.apartmentChooserData.cameras.length+v,u)}else return h(v,u)}function h(u,v){return new Promise(E=>{r.value=!0,n("onRotateStart",{from:u,to:v});let _,f=u;_=setInterval(()=>{f<v?(f++,s.value=Math.abs(f%a.apartmentChooserData.cameras.length)):f>v?(f--,s.value=Math.abs(f%a.apartmentChooserData.cameras.length)):(clearInterval(_),n("onRotateFinish",{from:u,to:v}),r.value=!1,E())},50)})}return(u,v)=>{const E=e.resolveComponent("v-btn"),_=e.resolveComponent("v-chip");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(E,{class:"mx-2",icon:"mdi-restore",size:"small",disabled:!p.value,onClick:d},null,8,["disabled"]),u.renderDisplay&&i.value?(e.openBlock(),e.createBlock(_,{key:0,variant:"flat",color:"white",size:"large",onClick:v[0]||(v[0]=f=>n("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(E,{class:"mx-2",icon:"mdi-reload",size:"small",disabled:!c.value,onClick:l},null,8,["disabled"])],64)}}}),Pt=["innerHTML"],jt=U(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watchEffect(()=>{for(const l in i){const{element:d,state:k}=i[l],{r:h,g:u,b:v,a:E,s:_}=t.colorCallback(l,k)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${h}, ${u}, ${v}, ${E/255})`,d.style.stroke=`rgb(${h}, ${u}, ${v})`,d.style.strokeWidth=_.toString()}}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await q.loadText(Y(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(p).observe(r.value)});function p(){e.nextTick(()=>{const l=r.value.firstChild;if(l){if(!l.hasAttribute("viewBox")){const d=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",d)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())}})}function c(){e.nextTick(()=>{const l=r.value.firstChild;l&&(a("updateSvgContainer",l),p(),l.querySelectorAll("[data-apartment-id]").forEach(k=>{k.style.strokeWidth="0",k.style.stroke="rgba(255,255,255,0)",k.style.fill="rgba(255,255,255,0)",k.querySelectorAll("path").forEach(u=>{u.style.stroke="inherit",u.style.fill="inherit"});const h=k.getAttribute("data-apartment-id");i[h]={element:k,state:s.value===h?"selected":"idle"},k.addEventListener("mouseover",()=>{i[h].state==="idle"&&(i[h].state="hover"),a("onHoverOver",h)}),k.addEventListener("mouseout",()=>{i[h].state==="hover"&&(i[h].state="idle"),a("onHoverOut",h)}),k.addEventListener("click",()=>{a("onClick",h)})}))})}return(l,d)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"5"},innerHTML:n.value},null,8,Pt))]),_:1}))}}),[["__scopeId","data-v-fdac30c7"]]),zt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGwAAABsCAYAAACPZlfNAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA6ySURBVHgB7Z3Nb1TVG8efQstLActbIBAI8wsJBgLxZ+KeaVy5EVgZo4klceOKstCdYdQ/gLLSjQESjEvBjTs7Ju40AQMBIQEvgUAgvLRCWlpax/O9c56b09N7Z87bPTNT+SSHTqftMHO+93nO955Xolf0FH3UwzQajYr4wmVIlPUFvzohyqQoCR739fVdoh6lJwQTwkCI/4vyhihV+bhCfkC0RH79BV+FkBPU5XStYEKkKjXFOSi/xqBOTQEvCPHq1IV0lWBSpEOijFBxeotFQk0BT/VyCg0O0p0ox0QZb3QvF0X5iLqAjkVYo9kujYpyjDofTaYkopwV5YyIuoQ6QHTBelQonYSawo31glFxRog1KsrTxtLhr0bkVBklwsSHgg0/SfHcXmwSUYZjpMllVDJCrJr4cpGWrligIspf8rOWSmkR1mj2QpympS1UHgmVGG2lCCbEOkxNsUozFXNzczQ7O0vT09M0MzOTlpSbN2nT99+nDx+//z7R7t3p45UrV6ZlxYoVtHr1aurv76cSSUQ5LkQ7T4EJ/q5lWjhBgYEgExMTNDU1Rc+fP0/FymPVgwf02u+/p4+n3n6bXmzYkPt7EA3irV+/ntatW5eKGZCKKD+IuvhCiFajgAQVTLzBMWra9SBApMePH6dCIZJagQpfvnw5rRwczJ4bFKIMCDEgbhaBErweyuTkZPo9BIRwW7ZsCSneCVEnQ0K04xSIIII1mvdWP1Cg9goCPRCRgkjSQWWuXbuWBoUwHCVqBb8Uf/O3fLxj504a2LMn+9n8/HwaoRDq2bNnWToFLODDhw/T19+0aRNt3ryZAjAq2/OjIe7ZvAWTYo1TswfdGbRJqCwUVKwKrnykrqGhIa+rHxGI1+JIAog+iIdIxleACwXl/v37tG3bthDCoU2viLoa9hXNS7BQYj169CitHLVdgilApaKgossCEYpoQmHx8F4Qefj+9u3boYRDHY37iuYbYafJQyykpzt37ixIfXz1I6Jio4qHiMsTbo9IsR5RjrpC0zFMjjgLJg3GYXLk3r17aQUwqIQdO3Z0RKg8ioS7cuVKGm3bt28nR6qi7k66GhEnwaR1d3KD+OBJkmRRFSv1ucLCQTRcZACPIaRHtMGITLpYfuuuKXlT7HSfhfbh2rVrmVhIf3v37k2v2G4USwXv8cCBA5lAiLYbN25kRsWBE7IurbASTNrTk+QAbDo+IDvArVu3plco2o2QzMsoAHPyBjoUeK/79+/P0iGLhs/myGlZp8ZYdU1hOIEcJr+o7RVS4K5du0prq56+8w79I0VbJip2w08/URngXhGpnS9Aj3atLlKjsQkxjjDZblXIElUspBOkwLLEevnbb5lYAI9fBo4yBp9h3759WYpU2zhLYEKMmxgjwWTYWrdbulhlpECVmR9/XPTci3PnqCzwWVTj4SFaTY4ZtsU0wsbJEuT1mGKh7coTDBHWcDcGbckTzbFNM/IGbQUTyo+QZSqEc7p79276OIZYAOkwD4j14rvvqEx00fDZHdwjUuNou19qKZjserJKhXyfBWAwYogFpr/5pvBnMz//TGXDovHtyU0xLqePEBhwQtZ5Ie0iDIpXyALYXO4ThBuMIZZuNnTmr18vzXyo4LNWKpXm/yncI7qzLIFYLTskCgWTRsNqRhAaXBYLFjdWN1Ne26VTpvlQwWfmkQCkRQcTMtoqylpF2AhZRBfCXzUZuC+JQZHZ0CnbfKjsFONw6MUBqBN0clvQMspaCWYVXUiFzB5l0LBsisyGTgzzoYLUyO0ZGzALCqMsVzBbZ4jxLDUVxmi3mFZmQyeG+WBQB2pqRB1ZALFyA6Yowqx64juRCkE7s6ETy3ww6C9V78/0kfQ25HYMLxJM3nEbD0qq0RVTLGDSdunEMh8AKRFjfAB1ZHlDjfuyqv5kXoQ5RxfGjWJhajZ0YpoPwNPoAOarWHJIfyJPsCoZ0snoMjUbOrHNB+C2DCkRvfwWjOhPLBBMhmCFDMGoK4gdXcDGbOjENB8AUcaO0TLK1utpUY+wQ2QI7rt45LgT0fWPW694SmzzAVTHaNlldVD9RhfM2GyoVwrn6Fi4tF2LXuPCBYoJHCPDmcmQqvpNJpi8UauSIdwbDbFi3ne5mg2d2fHxqOaDJ7ECnh5uSFW9iVYjzDi6ENI81z122+VqNnRS8xE5yjBzGaCryjItZtqogh0kQ9Sxntjp0Mds6Lwctx6X9ULtDLd0i2/wA6cI45Dm9Vax8DUbi15PGI+Y5kOtr3arcTSq/EAVrEKGcDhj9UhMQrRdOrORLT5nJMsR6dyUaBRhuPnjqwPLcmIRymzo4DVjmg++yNHhYNG3WOEHqWCmM3aAOrYzqCyeK5s8s9EnrlbMPUTpK2hL1d/J+73Y5kOtMxvjITTaha8cYcZDw+qSoJiC5ZmNFcPD6URRlI2//kr9r7++6HfwHP8OCv5GJ6b5UNt8y3asgn+Wqd+YoF4VsebDm5qNdWNjhZHW8vUjmg918YSlta/gHxZsyPSvOMJiukPTtgspb/CTT8iF2ciDm+n/WbCwvoA0C1qnRCbwqvtCbM3Gqg8+oP633iJbYpoPx8y0QDBjHObaeeHSs7Huq6+sU2NM88GCWUZYSulbF/ni0rPhmhpj93y40NWC2fZszCoV7pIaY/d8uNDVgtneKE+fO7egwl1SY+yeD1usBWOzYTkDyBrXno3nn3+emQekxtWWqTGm+XBx2iyY9b4R2AilTFyHUZBCp77+Ovs+72a6FTHMh4vZIKkRC2Y8ouZ4D2GNz0QZ/O2sh4Eo23w43ssuECwx/COfO3Vj5q5fT+dd+KCmRlvKNB9qU2J5L5vgH2vB1CGVsqIsxGRPiPVstO36uELKMh9q57llhKVZMBXMZvdM9aqwXJVhBCp6NlBKQpRMO4pflvlwHe3gww5Ul5iY/CHu0h1HTY3AnEHTisLvwWRwyQM33nN//pn9js1rl2E+eGogxLLoospOpujXnqyQARg1VberC4mN2UAktotGVPzke++RCzAfqz/8kELCEWaZDhN+oEZYnQxRR01DGo8QZiMkoc0HbzAGLFenZhGmCvYHGeIx+6clMVeWmBLSfHjMNqvzA1WwS2QIjAdHmeWkyEJCmo2QhDQfPOMX7ZdlSsyCKRNM7pJZJ0M4ynDVhOimsjEbMQllPtS1CJaTl+rqDqZ6X2KdDFFn/HrsZpYRewmQDSF6PtR0qM6zN2BB5tMF+4UMQVr0WKi2gG4zGzohzAcvfHRYi3Be/WaBYPIYQWMX4bFQbQHdaDZ0fMyHuvDRci1CIjRZEER5wytnyBCPhWoZoc3GcmXPQtue+lb4mA+PZcV1/Yk8waxaWHWhmkuUhTAbA2JkefDTT9O5iWu+/DJ7fvCzz9K5iGvFQKbLxBwVV/Phuaz4lP7Eok2akRYbjUadDNeKoQF98uRJ6oKwpTlytM2sIFezAZEGhodp1aFDLUeVMYi58t1308IbXqLiXbaXden58IiuS3mHpRbtqo2GrkoGQBxcOdjBjbc2MN1KFaPKNmbDVKQifMVj8zFgGK3q3lsO0TWW92SRYDjfsUaG8xV5f3ekRbRl+N5krGdaGRkuwlekIlzFg/kwEUzfe8vBbJzN+0GuYLhRkwcJ1MgQbCCCLc552zmT/aaKrHJZIhVhIx7MB6bQtXtfnntvnSn6QauDBtDgYQTQKMrQ3YKwx1WFSEN7hl3NikCFqEMisUUqop14bD5atWX6NoQOPfNni35YKJhLlOHNofuFUyOfSpQHrtRuEamIIvFamY+nT5/67r3V8ozolvvWy9Xr2KveajnS1atX09QIQ4Jtz/PaM1ypZYiE2VZ/f/xx+vi1b781Ngg2QLxlOcYK7RY3C457HSeivNnq9KOW8xLlH35BFuAN7pbnTuKNI5fnjZl1Y0SZUiSWevKF4/a5tXZHVbWdSCpeAGmxThYgFXL7xcddxF5EERMWi9stdUdSCwqdoYrpzF/ro5PQA6KfUbIURdPFwmfm3h9LjI7zMBJM3nHXyBL1PJKlKFqeWI77btVMZ64Zz60XL4i2rE6W6KKhUQ45raBTwA3iswQQK5F1a4TtYoij5DAPHx+E2zQ0ytiE3/GMkq4A95i3bt3KDAY+m6tYZHm8opVgMmyPkgPI6/oZJZcvX+6pFIn3el30ffJQEp984dhmgeM2k3iB9XIjeVx7jRyAc1JF4zMluz3asFIH7zHvdEGPvbZqLkffO52BiZwrb6qtJ6/zKXd5Z0oGOjM5KGirsO+8uo7Ao71ixmzaLRXnU2ZxSqrcQadKDuADowebnWPgM5O9yTutne8vPffYOu9z1L3vOc5HyOPgbY62ojOTIRwqKdYWE0WntXOfYIC9IXF75OQBGC/BZAcxXI7XaemtDrsGmMeHn5chHv4vRBOKGk0g8JHFEKuzR9sDRTScmn6YPFCFUxdboCK5MhGVSEkQD0M6eIyKNYEvBCxIQMFr5q1xK+G09rooR3zFAt6CAflGjuAEcHIwIjosHE85QMXyqg88h6JPEYeQKAPCIPA+THfF/dK0EBXprd3iQ4gPgTZu3Bg6ijFc4pUGVYIIxkgjAvFqFAAIoHYi88wsjhIVFnKVeJ4Fm5qephcFa9ggClIthMJevCW1kzVXN1hEUMGAtPyYvI9oq1AgIB5HHkDUQDRe8pRF0Nat2ZS2NSKtrZG/j7/nRRz4WvJOdLhoj7rcZ7XD6uBtG+QJfzAjFfpvUaemWAmVQGk74eANi/I/CpQeewSkwOGyxAKlRZjKfyDa6tTsFzReY+dKlL2mlGiDW0po6YC2alRGVeligSgRpiL7IHFG2Qj1bsRBKEydOBXi3sqG6IIxyrHDI9Q7wnVMqK4Ch6SKcrHRvYyLcqzR5hTzGHQswvJoNHv/kS6r1PmoQwSdoWbvuvHK1LLpKsFUhHg4vAd9k85DOA7UuXSTSCpdK5iKTEU44adKTQEr5DE6IEmo2YNel1//6IV2qScEK0KmUHQdVqg5nbyojZmQJaHmLKXb9IpXxOBfKqW3YKRX2kIAAAAASUVORK5CYII=",he=e.defineComponent({__name:"VNorthDirection",props:{longitude:{}},setup(m){const o=m,t=e.computed(()=>({transform:`rotate(${90-(o.longitude||0)}deg)`,transition:" transform 0.5s ease-in"}));return(a,n)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(r,{src:e.unref(zt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}});class ge{constructor(o){j(this,"_buildingIds");this._buildingIds=o}static empty(){return new ge([])}getBuildingId(o,t,a){const n=this._getBuildingIndex(o,t,a);if(n!==void 0)return this._buildingIds[n]}_getBuildingIndex(o,t,a){const[n,r,s,i]=o.getPixel(t,a);if(i===255&&n===r&&r===s)return n}}const Yt=180;class Re{constructor(o){j(this,"_cdnFileResolver");j(this,"_resourceLoader");this._cdnFileResolver=o,this._resourceLoader=new q}constructFileUrl(o){return this._cdnFileResolver?Y(this._cdnFileResolver,`/${o}`):null}loadBuildingMapImage(o){const t=this.constructFileUrl(o.lookupFilename);return t?this._resourceLoader.loadImage(t):null}getViewLongitude(o){return o.cameraRotation&&o.cameraRotation.y+270}getBuildingData(o){const t=o?o.buildings:[],a=t.map(r=>r.id),n=t.map(r=>({id:r.id,url:this.constructFileUrl(r.overlayFilename)}));return{buildingIds:a,buildingOverlays:n}}getBackgroundImageData(o){return"days"in o?this.processMultipleDays(o.days):[this.processTimeSamples(Yt,o.timeSamples)]}processMultipleDays(o){return o.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(o,t){return{urls:t.map(n=>this.constructFileUrl(n.filename)),referenceDate:this.makeReferenceDate(o)}}makeReferenceDate(o){const t=new Date(0);return t.setUTCDate(o),t}async loadBuildingChooser(o){try{if(o){const t=await this.loadBuildingMapImage(o);if(t){const a=this.getViewLongitude(o),{buildingIds:n,buildingOverlays:r}=this.getBuildingData(o),s=this.getBackgroundImageData(o);return{mapImage:t,viewLongitude:a,buildingIds:n,buildingOverlays:r,backgrounds:s}}}return null}catch{return null}}}class ve{constructor(o){j(this,"_mapImage");j(this,"_context");this._mapImage=o,this._context=null}static empty(){return new ve(null)}update(o){this._mapImage&&(this._context=o.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,o.width,o.height))}getPixel(o,t){try{return this._context?this._context.getImageData(o,t,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const Wt=new Date(0);class Ee{constructor(o){j(this,"_imagesByDay");j(this,"_state");this._imagesByDay=o,this._state={selectedIndex:0}}static empty(){return new Ee([{referenceDate:Wt,urls:[]}])}selectIndex(o){o<this._imagesByDay.length&&(this._state.selectedIndex=o)}get dates(){return this._imagesByDay.map(o=>o.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}function be(m){return("0"+m).slice(-2)}function Gt(){const m=new Date;return[m.getFullYear().toString(),be(m.getMonth()+1),be(m.getDate())," ",be(m.getHours()),be(m.getMinutes()),be(m.getSeconds())].join("")}function Qt(){return"Visuado-Snapshot-"+Gt()}class qt{constructor(o,t){j(this,"data");this.data=o}download(o=null){o=o||Qt();const t=document.createElement("a");typeof t.download=="string"?(document.body.appendChild(t),t.download=o,t.href=this.data,t.click(),document.body.removeChild(t)):location.replace(this.data)}}const Zt={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},Xt={class:"pa-1"},Jt={class:"pa-1"},Kt={class:"pa-1"},eo={class:"hover-bar bottom-right d-flex w-100 justify-center align-center pa-2",style:{"z-index":"7"}},to={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"7",width:"56px",height:"56px"}},oo=["innerHTML"],no={style:{"z-index":"7"}},ao=U(e.defineComponent({__name:"VApartmentChooserV5",props:{apartmentChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},renderDisplay:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(null),p=e.ref(),c=e.ref(),l=e.ref(!1),d=e.ref(!1),k=e.ref(),h=e.ref(),u=e.computed(()=>h.value.isHoverEnabled),v=e.ref({x:0,y:0,width:0,height:0}),E=e.ref(),_=e.ref(),f=e.ref(t.apartmentChooserData),N=e.ref(!1);e.onMounted(()=>l.value=!0),e.watch(()=>_.value,()=>{_.value&&new ResizeObserver(([x])=>{N.value=x.contentRect.width<t.mobileBreakpoint}).observe(_.value)});const V=e.computed(()=>f.value?f.value.cameras.filter(Te):[]),S=e.computed(()=>f.value?f.value.cameras.filter($e):[]);e.watch([f,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(f.value||(f.value=await q.loadJson(Y(t.cdnFileResolver,"/apartmentChooser.json"))),t.defaultCamera?n.value=V.value.find(I=>I.cameraName===t.defaultCamera)||V.value[0]:n.value=V.value[0],p.value=f.value.cameras.findIndex(I=>I===n.value))},{immediate:!0}),e.watch([f,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{f.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(I=>I.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([f,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{f.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(I=>I.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(I=>I.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function g(I){n.value!==I&&k.value.rotateShortestRoute(f.value.cameras.findIndex(x=>x===I))}function y(I){p.value=I,$e(f.value.cameras[p.value])?i.value=f.value.cameras[p.value]:(e.nextTick(()=>{L(f.value.cameras[p.value])}),i.value=null)}function L(I){const x=r.value;n.value=I,p.value=f.value.cameras.findIndex(A=>A===n.value),e.nextTick(()=>{w(n.value.sunsimDayOfYear.find(A=>A.dayOfYear===x.dayOfYear)||n.value.sunsimDayOfYear[0])})}function w(I){const x=s.value;r.value=I,e.nextTick(()=>{R(r.value.timeSamples.find(A=>A.timeInHours===x.timeInHours)||r.value.timeSamples.find(A=>A.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function R(I){s.value=I}function b(I){a("onClick",I,()=>{const x=f.value.unitData.find(A=>A.unitId===I);x&&k.value.rotateShortestRoute(x.bestScene)})}function B(I){a("onHoverOver",I),c.value=I}function F(I){a("onHoverOut",I),c.value=void 0}function D(I){const{layerX:x,layerY:A}=I;let $=I.target,G=!1;for(;$;)if($===E.value){G=!0;break}else $=$.parentElement;if(G){const W=I.currentTarget;v.value={x,y:A,width:W.clientWidth,height:W.clientHeight}}else v.value=void 0;a("onMouseMove",I,v.value)}return(I,x)=>{const A=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(A,{type:"image",class:"w-100 h-100 position-relative",loading:!l.value||!f.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:_,class:e.normalizeClass({mobile:N.value}),onMousemove:D},[e.createElementVNode("div",Zt,[e.createElementVNode("div",Xt,[e.createVNode(Mt,{"apartment-chooser-data":f.value,"current-camera":n.value,disabled:d.value,onOnCameraChange:g},null,8,["apartment-chooser-data","current-camera","disabled"])]),e.createElementVNode("div",Jt,[e.createVNode(Tt,{"camera-data":n.value,"current-day":r.value,disabled:d.value,onOnDayChange:w},null,8,["camera-data","current-day","disabled"])]),e.createElementVNode("div",Kt,[e.createVNode(Ut,{"day-data":r.value,"current-time":s.value,disabled:d.value,onOnTimeChange:R},null,8,["day-data","current-time","disabled"])])]),e.createElementVNode("div",eo,[e.createVNode(Ht,{ref_key:"rotator",ref:k,"apartment-chooser-data":f.value,"current-scene":p.value,"selected-id":I.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:b,onOnSceneChange:y,onOnRotateStart:x[0]||(x[0]=$=>d.value=!0),onOnRotateFinish:x[1]||(x[1]=$=>d.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])]),e.createElementVNode("div",to,[e.createVNode(he,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,$=>(e.openBlock(),e.createBlock(Dt,{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(S.value,$=>(e.openBlock(),e.createBlock(Ft,{"transition-data":$,"cdn-file-resolver":t.cdnFileResolver,"current-transition":i.value},null,8,["transition-data","cdn-file-resolver","current-transition"]))),256)),t.customOverlayContent?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"6","pointer-events":"none"},innerHTML:t.customOverlayContent},null,8,oo)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(jt,{"cdn-file-resolver":I.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:b,onOnHoverOver:B,onOnHoverOut:F,onUpdateSvgContainer:x[2]||(x[2]=$=>E.value=$)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),I.$slots.popup&&v.value&&c.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":u.value,pos:v.value},{default:e.withCtx(()=>[e.createElementVNode("div",no,[e.renderSlot(I.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:c.value,hoverable:u.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(ie,{ref_key:"hoverProbe",ref:h},null,512)],64)}}}),[["__scopeId","data-v-2d15b58f"]]),ro={class:"sunsim-bar-wrapper"},lo={class:"sunsim-date d-flex align-center pl-5 pr-5"},io={key:1,class:"text-center text-body-1"},so={class:"sunsim-wrapper d-flex align-center px-3"},co={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Oe=U(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.modelValue),r=e.ref();function s(l){return l.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const l=Math.floor(n.value/2).toString().padStart(2,"0"),d=n.value%2===0?"00":"30";return`${l}:${d}`}),p=e.computed(()=>t.dateSelector.dates.map(s)),c=e.computed({get(){return s(t.dateSelector.selectedDate)},set(l){t.dateSelector.selectIndex(p.value.indexOf(l))}});return e.watch(n,l=>{a("update:modelValue",l)}),e.watch(r,l=>{t.dateSelector.selectIndex(p.value.indexOf(l))}),e.watch(()=>t.modelValue,l=>{n.value=Math.floor(l)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(l,d)=>{const k=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),u=e.resolveComponent("v-progress-linear"),v=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",lo,[e.createVNode(k,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),l.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=E=>r.value=E),items:p.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",io,e.toDisplayString(c.value),1))]),e.createElementVNode("div",so,[e.createElementVNode("span",co,e.toDisplayString(i.value),1),e.createVNode(k,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),l.isLoading?(e.openBlock(),e.createBlock(u,{key:0,style:{left:0,transform:"none"},indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(v,{key:1,modelValue:n.value,"onUpdate:modelValue":d[1]||(d[1]=E=>n.value=E),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"]]),mo={key:0},uo=["src"],Ue=U(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(m,{emit:o}){const t=m,a=o,n=e.ref("init"),r=e.ref(new Ne(0)),s=e.ref();e.watch(()=>t.imageUrls,c=>{a("reset"),p(c)}),e.onMounted(()=>{p(t.imageUrls),new ResizeObserver(c=>{window.requestAnimationFrame(()=>{const l=c[0].contentRect.width,d=c[0].contentRect.height;a("resize",{width:l,height:d})})}).observe(s.value)});function i(){n.value="preloaded",a("preloaded")}function p(c){n.value="init",s.value.src=c[0],r.value=new Ne(c.length).onLoadFinished(()=>{n.value="loaded",a("ready")})}return(c,l)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:i},null,544),n.value==="preloaded"||n.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",mo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.imageUrls,(d,k)=>(e.openBlock(),e.createElementBlock("img",{key:k,class:e.normalizeClass({"image-instance":!0,active:k===c.activeIndex}),src:d,onLoad:l[0]||(l[0]=h=>r.value.partLoaded())},null,42,uo))),128))],512)),[[e.vShow,n.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),po={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},fo={class:"image-instances"},ho={key:0},go={class:"svg-container"},vo=["viewBox"],ko=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Co=["innerHTML"],yo=U(e.defineComponent({__name:"VBuildingChooserSvg",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,a=o;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);const n=e.ref({preloaded:!1,ready:!1}),r=e.ref({width:0,height:0}),s=e.ref({x:0,y:0,width:0,height:0}),i=e.ref(),p=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),c=e.ref(!1),l=e.ref(new q),d=e.ref(),k=e.ref("0 0 0 0"),h=e.ref(),u=e.ref(),v=e.ref(ge.empty()),E=e.ref(ve.empty()),_=e.ref(),f=e.computed(()=>_.value.isHoverEnabled);e.watch(i,(b,B)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",B)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,B,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),D=parseInt(F);p.value=parseInt(B)*2+(D<15?0:D>45?2:1)}}),e.onMounted(async()=>{const B=await new Re(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(B){E.value=new ve(B.mapImage),v.value=new ge(B.buildingIds),h.value=new Ee(B.backgrounds),u.value={buildingOverlays:B.buildingOverlays,viewLongitude:B.viewLongitude};const F=[];for(let{id:D,url:I}of B.buildingOverlays)l.value.loadJson(I.replace(".png",".svg")).then(x=>{const $=new DOMParser().parseFromString(x,"image/svg+xml").getElementsByTagName("svg")[0];k.value=$.getAttribute("viewBox"),F.push({id:D,svg:$.innerHTML})});d.value=F}else c.value=!0});function N({width:b,height:B}){r.value.width=b,r.value.height=B}function V(){n.value={preloaded:!1,ready:!1}}function S(b){const B=t.colorCallback(b,b===i.value?"hover":"idle"),F=[];return b===i.value?F.push("hover"):F.push("idle"),B&&t.canGoToBuildingCallback(b)?F.push("clickable"):F.push("restricted"),F.join(" ")}function g(b){const B=t.colorCallback(b,b===i.value?"hover":"idle");if(B){const{r:F,g:D,b:I,a:x,s:A}=B;return{strokeWidth:A!==void 0?A:2,stroke:`rgb(${F}, ${D}, ${I})`,strokeOpacity:1,fill:`rgb(${F}, ${D}, ${I})`,fillOpacity:x/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function y(b,B){const{layerX:F,layerY:D}=b;f.value&&(s.value={x:F,y:D,width:r.value.width,height:r.value.height},i.value=B,a("hoverOverBuilding",B))}function L(b,B){const{layerX:F,layerY:D}=b;f.value&&(s.value={x:F,y:D,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",B))}function w(b,B){const{layerX:F,layerY:D}=b;f.value&&(s.value={x:F,y:D,width:r.value.width,height:r.value.height})}function R(b){i.value=b,f.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(b,B)=>{const F=e.resolveComponent("v-icon");return c.value?(e.openBlock(),e.createElementBlock("div",po,[e.createVNode(F,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",fo,[e.createVNode(Ue,{"image-urls":h.value.imageUrls,"active-index":p.value,onResize:N,onPreloaded:B[0]||(B[0]=D=>n.value.preloaded=!0),onReady:B[1]||(B[1]=D=>n.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),d.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",ho,[e.createElementVNode("div",go,[(e.openBlock(),e.createElementBlock("svg",{viewBox:k.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,({id:D,svg:I},x)=>(e.openBlock(),e.createElementBlock("g",{key:x,innerHTML:I,"data-building-id":D,class:e.normalizeClass(S(D)),style:e.normalizeStyle(g(D)),onMouseover:A=>y(A,D),onMouseout:A=>L(A,D),onMousemove:A=>w(A),onClick:A=>R(D)},null,46,ko))),128))],8,vo))])],512)),[[e.vShow,n.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,Co),[[e.vShow,n.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Oe,{modelValue:p.value,"onUpdate:modelValue":B[2]||(B[2]=D=>p.value=D),"date-selector":h.value,"is-loading":!n.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,n.value.preloaded]]),b.showCards&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":f.value,pos:s.value,onOutside:B[3]||(B[3]=()=>i.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:i.value,canGoToBuilding:b.canGoToBuildingCallback(i.value),goToBuilding:()=>b.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value),pos:s.value,isHoverable:f.value,close:()=>i.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ie,{ref_key:"hoverProbe",ref:_},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5e1006a9"]]),wo=U(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(m,{expose:o}){const t=m;o({setupDraw:l});const a=e.ref(!1),n=e.ref(),r=e.ref(new q),s=e.ref(),i=e.ref(),p=e.ref([]),c=e.ref();e.watch(()=>t.color,(h,u)=>{(h.r!==u.r||h.g!==u.g||h.b!==u.b||h.a!==u.a)&&d()}),e.onMounted(async()=>{n.value=await r.value.loadImage(t.imageUrl),l()});function l(){if(!n.value||!c.value)return;const{width:h,height:u}=t.dimensions;if(!(h===0||u===0)){s.value=c.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(n.value,0,0,h,u),i.value=s.value.getImageData(0,0,h,u);for(let v=3;v<i.value.data.length;v+=4)i.value.data[v]!==0&&p.value.push(v);d(),a.value=!0}}function d(){s.value&&i.value&&(k(),s.value.putImageData(i.value,0,0))}function k(){if(t.color)for(let h=0;h<p.value.length;h++)i.value.data[p.value[h]-3]=t.color.r,i.value.data[p.value[h]-2]=t.color.g,i.value.data[p.value[h]-1]=t.color.b,i.value.data[p.value[h]]=t.color.a}return(h,u)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:c,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),_o={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},bo={class:"image-instances"},Vo=["innerHTML"],Eo=U(e.defineComponent({__name:"VBuildingChooserRaster",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{},buildingChooserData:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,a=o;e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe);const n=e.ref(),r=e.ref({preloaded:!1,ready:!1}),s=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),p=e.ref(),c=e.ref(ge.empty()),l=e.ref(ve.empty()),d=e.ref(),k=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((b,B)=>({x:b,y:B})),u=e.ref(!1),v=e.ref(),E=e.ref(),_=e.ref(),f=e.computed(()=>{var b;return(b=v.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,B,F]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),D=parseInt(F);k.value=parseInt(B)*2+(D<15?0:D>45?2:1)}}),e.watch(d,(b,B)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",B)}),e.onMounted(async()=>{const B=await new Re(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);B?(l.value=new ve(B.mapImage),c.value=new ge(B.buildingIds),n.value=new Ee(B.backgrounds),p.value={buildingOverlays:B.buildingOverlays,viewLongitude:B.viewLongitude},g()):u.value=!0});function N({width:b,height:B}){s.value.width=b,s.value.height=B,e.nextTick(g)}function V(){r.value={preloaded:!1,ready:!1}}function S(b){const{layerX:B,layerY:F}=b,{x:D,y:I}=h.value(B,F);return c.value.getBuildingId(l.value,D,I)}function g(){if(E.value&&(l.value.update(E.value),_.value))for(const b of _.value)b.setupDraw()}function y(b){const{layerX:B,layerY:F}=b;f.value&&(d.value=S(b),d.value!==void 0&&(i.value={x:B,y:F,width:s.value.width,height:s.value.height}))}function L(b){d.value=S(b),f.value&&d.value&&a("goToBuilding",d.value)}function w(b){return t.colorCallback(b,b===d.value?"hover":"idle")}function R({resolve:b}){h.value=b}return(b,B)=>{const F=e.resolveComponent("v-icon");return u.value?(e.openBlock(),e.createElementBlock("div",_o,[e.createVNode(F,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${d.value?"pointer":"auto"};height: ${s.value.height}px; position: relative`),class:"image-container"},[e.createVNode(fe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:R},{default:e.withCtx(()=>[e.createElementVNode("div",bo,[e.createVNode(Ue,{"image-urls":n.value.imageUrls,"active-index":k.value,onResize:N,onPreloaded:B[0]||(B[0]=D=>r.value.preloaded=!0),onReady:B[1]||(B[1]=D=>r.value.ready=!0),onReset:V},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value.buildingOverlays,D=>(e.openBlock(),e.createBlock(wo,{ref_for:!0,ref_key:"overlays",ref:_,key:D.id,"image-url":D.url,dimensions:s.value,color:w(D.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,r.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(s.value,{ref_key:"canvas",ref:E,class:{hover:!!d.value},onClick:L,onMousemove:y}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,Vo),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[p.value.viewLongitude?(e.openBlock(),e.createBlock(he,{key:0,class:"north-indicator",longitude:p.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Oe,{modelValue:k.value,"onUpdate:modelValue":B[2]||(B[2]=D=>k.value=D),"date-selector":n.value,"is-loading":!r.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,r.value.preloaded]]),b.showCards&&d.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":f.value,pos:i.value,onOutside:B[3]||(B[3]=()=>d.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default",{building:d.value,canGoToBuilding:b.canGoToBuildingCallback(d.value),goToBuilding:()=>b.canGoToBuildingCallback(d.value)&&a("goToBuilding",d.value),pos:i.value,isHoverable:f.value,close:()=>d.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ie,{ref_key:"hoverProbe",ref:v},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-088f521e"]]),He=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(m,{emit:o}){const t=m,a=o,n=e.computed(()=>t.useSvg?yo:Eo);return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{"i18n-config":t.i18nConfig,"show-cards":t.showCards,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"interactive-desktop":t.interactiveDesktop,"interactive-mobile":t.interactiveMobile,"building-chooser-time-of-day":t.buildingChooserTimeOfDay,"can-go-to-building-callback":t.canGoToBuildingCallback,"custom-overlay-content":t.customOverlayContent,"building-chooser-data":t.buildingChooserData,onGoToBuilding:s[0]||(s[0]=i=>a("goToBuilding",i)),onHoverOverBuilding:s[1]||(s[1]=i=>a("hoverOverBuilding",i)),onHoverOutBuilding:s[2]||(s[2]=i=>a("hoverOutBuilding",i))},e.createSlots({_:2},[e.renderList(Object.keys(r.$slots),i=>({name:i,fn:e.withCtx(p=>[e.renderSlot(r.$slots,i,e.normalizeProps(e.guardReactiveProps(p)))])}))]),1064,["i18n-config","show-cards","color-callback","cdn-file-resolver","interactive-desktop","interactive-mobile","building-chooser-time-of-day","can-go-to-building-callback","custom-overlay-content","building-chooser-data"]))}}),Bo=["src"],xo=U(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m,t=e.computed(()=>Y(o.cdnFileResolver,o.timeSampleData.filename));return(a,n)=>e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,Bo)),[[e.vShow,a.timeSampleData===a.currentTime]])}}),[["__scopeId","data-v-98118455"]]),So=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.dayData.timeSamples,n=>(e.openBlock(),e.createBlock(xo,{"time-sample-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","cdn-file-resolver","current-time"]))),256))}}),No=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{type:[String,Function]},currentTime:{}},setup(m){const o=m;return(t,a)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.cameraData.sunsimDayOfYear,n=>(e.openBlock(),e.createBlock(So,{"day-data":n,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","cdn-file-resolver","current-time"]))),256))}}),Io=e.defineComponent({__name:"VBuildingChooserV5UiCamera",props:{buildingChooserData:{},currentCamera:{}},emits:["onCameraChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentCamera.overlayFilename);return e.watch(n,()=>{a("onCameraChange",t.buildingChooserData.cameras.find(r=>r.overlayFilename===n.value))}),(r,s)=>{const i=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(i,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=p=>n.value=p),items:t.buildingChooserData.cameras,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items"])}}}),Ao=e.defineComponent({__name:"VBuildingChooserV5UiDay",props:{cameraData:{},currentDay:{}},emits:["onDayChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentDay.dayOfYear);e.watch(()=>t.currentDay.dayOfYear,()=>{n.value=t.currentDay.dayOfYear}),e.watch(n,()=>{a("onDayChange",t.cameraData.sunsimDayOfYear.find(s=>s.dayOfYear===n.value))});function r(s){const i=new Date(0);return i.setUTCDate(s),i.toLocaleString("en-no",{month:"short",day:"numeric"})}return(s,i)=>{const p=e.resolveComponent("v-list-item"),c=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(c,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=l=>n.value=l),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:l})=>[e.createVNode(p,e.mergeProps(l,{title:r(l.title)}),null,16,["title"])]),selection:e.withCtx(({item:l})=>[e.createTextVNode(e.toDisplayString(r(l.title)),1)]),_:1},8,["modelValue","items"])}}}),Do={key:0,class:"py-2"},Lo={class:"small"},Fo={class:"small"},Mo=U(e.defineComponent({__name:"VBuildingChooserV5UiTimeSample",props:{dayData:{},currentTime:{}},emits:["onTimeChange"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(t.currentTime.timeInHours),r=e.ref();e.watch(()=>t.currentTime.timeInHours,()=>{n.value=t.currentTime.timeInHours}),e.watch(n,()=>{a("onTimeChange",t.dayData.timeSamples.find(p=>p.timeInHours===n.value))});function s(p){const c=p*60,l=c/60,d=c%60;return`${l.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const c=t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value);c<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[c+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(p,c)=>{const l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-btn"),k=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[p.dayData.startTime===p.dayData.endTime?(e.openBlock(),e.createElementBlock("div",Do,[e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"py-2 ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)])):(e.openBlock(),e.createBlock(k,{key:1,class:"pa-1",modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=u=>n.value=u),min:p.dayData.startTime,max:p.dayData.endTime,step:p.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(d,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Lo,e.toDisplayString(s(p.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",Fo,e.toDisplayString(s(p.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(l,{style:{color:"#ffab02","vertical-align":"baseline","font-size":"20px"},class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode(" mdi-white-balance-sunny ")]),_:1}),e.createTextVNode(" "+e.toDisplayString(s(n.value)),1)]),_:1},8,["modelValue","min","max","step"]))]),_:1})}}}),[["__scopeId","data-v-2c27d93d"]]),To=["innerHTML"],$o=U(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type:[String,Function]},colorCallback:{type:Function},currentCamera:{},selectedId:{}},emits:["onClick","onHoverOver","onHoverOut","updateSvgContainer"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(t.selectedId),i=e.reactive({});e.watchEffect(()=>{for(const l in i){const{element:d,state:k}=i[l],{r:h,g:u,b:v,a:E,s:_}=t.colorCallback(l,k)||{r:0,g:0,b:0,a:0,s:0};d.style.fill=`rgba(${h}, ${u}, ${v}, ${E/255})`,d.style.stroke=`rgb(${h}, ${u}, ${v})`,d.style.strokeWidth=_.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await q.loadText(Y(t.cdnFileResolver,t.currentCamera.overlayFilename)),c()}),e.watch(()=>r.value,()=>{r.value&&new ResizeObserver(p).observe(r.value)});function p(){e.nextTick(()=>{const l=r.value.firstChild;if(!l.hasAttribute("viewBox")){const d=`0 0 ${l.getAttribute("width")} ${l.getAttribute("height")}`;l.setAttribute("viewBox",d)}l.setAttribute("width",r.value.offsetWidth.toString()),l.setAttribute("height",r.value.offsetHeight.toString())})}function c(){e.nextTick(()=>{const l=r.value.firstChild;l&&(a("updateSvgContainer",l),p(),l.querySelectorAll("[data-building-id]").forEach(k=>{k.style.strokeWidth="0",k.style.stroke="rgba(255,255,255,0)",k.style.fill="rgba(255,255,255,0)",k.querySelectorAll("path").forEach(u=>{u.style.stroke="inherit",u.style.fill="inherit"});const h=k.getAttribute("data-building-id");i[h]={element:k,state:s.value===h?"selected":"idle"},k.addEventListener("mouseover",()=>{i[h].state==="idle"&&(i[h].state="hover"),a("onHoverOver",h)}),k.addEventListener("mouseout",()=>{i[h].state==="hover"&&(i[h].state="idle"),a("onHoverOut",h)}),k.addEventListener("click",()=>{a("onClick",h)})}))})}return(l,d)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("div",{ref_key:"svgContainer",ref:r,key:l.currentCamera.overlayFilename,class:"w-100 h-100 position-absolute top-left",style:{"z-index":"4"},innerHTML:n.value},null,8,To))]),_:1}))}}),[["__scopeId","data-v-8037baa3"]]),Ro={class:"actions-bar compact top-left d-flex w-100 justify-center align-center",style:{"z-index":"6"}},Oo={class:"pa-1"},Uo={class:"pa-1"},Ho={class:"pa-1"},Po={class:"position-absolute bottom-right-compact pa-2",style:{"z-index":"6",width:"56px",height:"56px"}},jo=["innerHTML"],zo={style:{"z-index":"7"}},Yo=U(e.defineComponent({__name:"VBuildingChooserV5",props:{buildingChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:0,g:0,b:0,a:0,s:0})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{},mobileBreakpoint:{default:600}},emits:["onClick","onHoverOver","onHoverOut","onMouseMove"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(),s=e.ref(),i=e.ref(),p=e.ref(!1),c=e.ref(),l=e.computed(()=>c.value.isHoverEnabled),d=e.ref({x:0,y:0,width:0,height:0}),k=e.ref(),h=e.ref(),u=e.ref(t.buildingChooserData),v=e.ref(!1);e.onMounted(()=>p.value=!0),e.watch(()=>h.value,()=>{h.value&&new ResizeObserver(([y])=>{v.value=y.contentRect.width<t.mobileBreakpoint}).observe(h.value)}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultCamera],async()=>{t.cdnFileResolver&&(u.value||(u.value=await q.loadJson(Y(t.cdnFileResolver,"/buildingChooser.json"))),t.defaultCamera?n.value=u.value.cameras.find(g=>g.cameraName===t.defaultCamera)||u.value.cameras[0]:n.value=u.value.cameras[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultDay],()=>{u.value&&t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(g=>g.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([u,()=>t.cdnFileResolver,()=>t.defaultTime],()=>{u.value&&t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(g=>g.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(g=>g.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function E(g){const y=r.value;n.value=g,e.nextTick(()=>{_(n.value.sunsimDayOfYear.find(L=>L.dayOfYear===y.dayOfYear)||n.value.sunsimDayOfYear[0])})}function _(g){const y=s.value;r.value=g,e.nextTick(()=>{f(r.value.timeSamples.find(L=>L.timeInHours===y.timeInHours)||r.value.timeSamples.find(L=>L.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function f(g){s.value=g}function N(g){a("onHoverOver",g),i.value=g}function V(g){a("onHoverOut",g),i.value=void 0}function S(g){const{layerX:y,layerY:L}=g;let w=g.target,R=!1;for(;w;)if(w===k.value){R=!0;break}else w=w.parentElement;if(R){const b=g.currentTarget;d.value={x:y,y:L,width:b.clientWidth,height:b.clientHeight}}else d.value=void 0;a("onMouseMove",g,d.value)}return(g,y)=>{const L=e.resolveComponent("v-skeleton-loader");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(L,{type:"image",class:"w-100 h-100 position-relative",loading:!p.value||!u.value},{default:e.withCtx(()=>[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"container",ref:h,class:e.normalizeClass({mobile:v.value}),onMousemove:S},[e.createElementVNode("div",Ro,[e.createElementVNode("div",Oo,[e.createVNode(Io,{"building-chooser-data":u.value,"current-camera":n.value,onOnCameraChange:E},null,8,["building-chooser-data","current-camera"])]),e.createElementVNode("div",Uo,[e.createVNode(Ao,{"camera-data":n.value,"current-day":r.value,onOnDayChange:_},null,8,["camera-data","current-day"])]),e.createElementVNode("div",Ho,[e.createVNode(Mo,{"day-data":r.value,"current-time":s.value,onOnTimeChange:f},null,8,["day-data","current-time"])])]),e.createElementVNode("div",Po,[e.createVNode(he,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(fe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value.cameras,w=>(e.openBlock(),e.createBlock(No,{key:w.overlayFilename,"camera-data":w,"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,jo)):e.createCommentVNode("",!0),e.createVNode($o,{"cdn-file-resolver":g.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:y[0]||(y[0]=w=>a("onClick",w)),onOnHoverOver:N,onOnHoverOut:V,onUpdateSvgContainer:y[1]||(y[1]=w=>k.value=w)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),g.$slots.popup&&d.value&&i.value?(e.openBlock(),e.createBlock(pe,{key:0,"is-hoverable":l.value,pos:d.value},{default:e.withCtx(()=>[e.createElementVNode("div",zo,[e.renderSlot(g.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:l.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],34)]),_:3})]),_:3},8,["loading"]),e.createVNode(ie,{ref_key:"hoverProbe",ref:c},null,512)],64)}}}),[["__scopeId","data-v-afdec47a"]]);var ke={};Object.defineProperty(ke,"__esModule",{value:!0});var Wo=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(m){return typeof m}:function(m){return m&&typeof Symbol=="function"&&m.constructor===Symbol&&m!==Symbol.prototype?"symbol":typeof m},Go=typeof window<"u"&&typeof window.document<"u",Qo=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,qo=(typeof self>"u"?"undefined":Wo(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Zo=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Xo=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Jo=ke.isBrowser=Go;ke.isWebWorker=qo,ke.isNode=Qo,ke.isJsDom=Zo,ke.isDeno=Xo;const Ko={id:"player-wrapper"},en={id:"player-sizer"},tn={class:"player-control",id:"controls-top-left"},on={class:"player-control",id:"controls-top-center"},nn={class:"player-control",id:"controls-top-right"},an={class:"player-control",id:"controls-center-left"},rn={class:"player-control",id:"controls-center-center"},ln={class:"player-control",id:"controls-center-right"},sn={class:"player-control",id:"controls-bottom-left"},cn={class:"player-control",id:"controls-bottom-center"},dn={class:"player-control",id:"controls-bottom-right"},mn={id:"main-canvas"},un=U(e.defineComponent({__name:"VPlayer",props:{cdnFileResolver:{},interiorId:{},apartmentId:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(m,{emit:o}){const t=Je.PlayerV2,a=m,n=o,r=e.ref(),s=e.ref(),i=e.ref(0),p=e.ref(0);return e.watch([()=>a.cdnFileResolver,()=>a.interiorId,()=>a.apartmentId],async()=>{r.value&&await r.value.loadInterior(Y(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),s.value,!1)}),e.watch([()=>a.cdnFileResolver,()=>a.interiorId,()=>a.apartmentId],async()=>{r.value&&await r.value.loadInterior(Y(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),void 0,!1)},{deep:!0}),e.watch(()=>a.currentCameraId,c=>{r.value&&(s.value=c,r.value.goToCamera(c,!0))}),e.watch(r,c=>{n("playerApiCallback",c);const l=r.value.getCurrentCamera();l&&(s.value=l.id)}),e.onMounted(async()=>{const k={initialized:()=>{r.value=t.Main.getPlayerAPI();const u=r.value.getCurrentCamera();u&&(s.value=u.id),n("newCameraCallback",s.value)},newCamera:u=>{n("newCameraCallback",u.id),n("newFloorCallback",u.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),s.value=u.id},newFOV:u=>{n("newFovCallback",u),p.value=u},newRotation:u=>{const v=u+0;n("newRotationCallback",v),i.value=v}};if(!Jo)return;const h=await new t.Main(Y(a.cdnFileResolver,`/${a.interiorId}/${a.apartmentId}`),"qpc",k,void 0,a.currentCameraId);h&&(h.handleWindowResize(),window.addEventListener("resize",h.handleWindowResize.bind(h)),h.animate(),r.value=t.Main.getPlayerAPI(),r.value&&r.value.setLookSensitivity(a.mouseSensitivity))}),e.onBeforeUnmount(()=>{r.value&&r.value.destroy()}),(c,l)=>(e.openBlock(),e.createElementBlock("div",Ko,[e.createElementVNode("div",en,[e.renderSlot(c.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",tn,[e.renderSlot(c.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",on,[e.renderSlot(c.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",nn,[e.renderSlot(c.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",an,[e.renderSlot(c.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",rn,[e.renderSlot(c.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",ln,[e.renderSlot(c.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",sn,[e.renderSlot(c.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",cn,[e.renderSlot(c.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",dn,[e.renderSlot(c.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",mn,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(c.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-434c2592"]]),pn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},fn=["stroke"],hn=["stroke"],gn={class:"floor-level-label"},vn=U(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.computed(()=>{const l=t.floorLevels;return l.sort(),l}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),p=e.computed(()=>s.value==="upper");function c(){const l=t.level+1;l>=r.value.length?a("level",r.value[0]):a("level",r.value[l])}return(l,d)=>{const k=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{right:"",attach:""},{activator:e.withCtx(({props:u})=>[e.createVNode(k,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},u,{onClick:c}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",pn,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:p.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,fn),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:i.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,hn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",gn,e.toDisplayString(e.unref(n).getLabel(s.value))+" "+e.toDisplayString(e.unref(n).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),kn={class:"d-none d-md-inline"},Cn=U(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:[String,Function]},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J);return(r,s)=>{const i=e.resolveComponent("v-icon"),p=e.resolveComponent("v-btn"),c=e.resolveComponent("v-img"),l=e.resolveComponent("v-list-item-title"),d=e.resolveComponent("v-list-item"),k=e.resolveComponent("v-list"),h=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(h,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:u})=>[e.createVNode(p,e.mergeProps({rounded:""},u),{default:e.withCtx(()=>[e.createVNode(i,null,{default:e.withCtx(()=>[e.createTextVNode("mdi-palette-outline")]),_:1}),e.createElementVNode("span",kn,e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(k,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(u,v)=>(e.openBlock(),e.createBlock(d,{density:"compact",key:`at-menuitem-${v}`,onClick:E=>a("selectInterior",u.archetypeID),active:v===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(c,{width:"100","max-width":"100",height:"66",src:u.url},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(l,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).get(u.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-f52a4315"]]),yn="data:image/png;base64,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",wn="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==",_n=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(m){const o=m,t=e.ref(wn),a=e.ref({backgroundImage:`url(${yn})`,backgroundSize:"contain"}),n=e.computed(()=>({transform:`rotate(${-o.rotation+180}deg)`}));return(r,s)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(a.value),class:"compass-wrapper"},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(n.value)},null,8,["src","style"])],4)}}}),bn="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",Vn={class:"d-flex flex-column align-center justify-center clock-face"},En={class:"clock-icon"},Bn={class:"clock-value grey--text text--darken-3"},xn=U(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(m){const o=m,t=e.computed(()=>[a(o.hours),":",a(o.minutes)].join(""));function a(n){return("0"+n).slice(-2)}return(n,r)=>{const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",Vn,[e.createElementVNode("div",En,[e.createVNode(s,{src:e.unref(bn),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Bn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-cd73fd81"]]),Sn=e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.computed(()=>{let s="virtualTour";return t.showStaticImage||(s="slideShow"),s});return(s,i)=>{const p=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(p,{color:"darken-2",elevation:"1",rounded:"",plain:"",onClick:i[0]||(i[0]=c=>a("toggle"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel(r.value)),1)]),_:1})}}}),de=m=>(e.pushScopeId("data-v-b9eb5380"),m=m(),e.popScopeId(),m),Nn={key:0,class:"tutorial"},In={key:0,class:"desktop-content"},An={class:"d-inline-flex"},Dn={class:"box col"},Ln=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M72 30H86.9736M86.9736 30L81 36M86.9736 30L81 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M27.9736 30H13M13 30L18.9736 36M13 30L18.9736 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M36 30H64V40C64 47.732 57.732 54 50 54V54C42.268 54 36 47.732 36 40V30Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M36 25C36 17.268 42.268 11 50 11V11V30H36V25Z",fill:"#FF3E3E",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M64 25C64 17.268 57.732 11 50 11V11V30H64V25Z",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M53.25 23V30C53.25 31.7949 51.7949 33.25 50 33.25C48.2051 33.25 46.75 31.7949 46.75 30V23C46.75 21.2051 48.2051 19.75 50 19.75C51.7949 19.75 53.25 21.2051 53.25 23Z",fill:"white",stroke:"black","stroke-width":"1.5"})])],-1)),Fn={class:"text mt-3"},Mn={class:"box col"},Tn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9936 27.0175C79.9881 19.276 66.3321 13.0323 49.492 13.0719C32.652 13.1116 19.0049 19.4194 19.0105 27.1609C19.016 34.9025 32.6721 41.1461 49.5121 41.1065C66.3521 41.0669 79.9992 34.759 79.9936 27.0175Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M61.8032 45.179L56.543 50.3218V28.0361L72.543 43.4647H65.0909L67.9402 50.3218L64.6526 52.0361L61.8032 45.179Z",fill:"white",stroke:"black","stroke-width":"1.5","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.502 28.0361L46.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.502 28.0361L62.502 28.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 24.0361L49.1582 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.502 24.0361L63.502 21.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.502 22.0361L56.502 18.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1582 32.0361L49.1582 35.0361",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"})])],-1)),$n={class:"text mt-3"},Rn={class:"box col"},On=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"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)),Un={class:"text mt-3"},Hn={class:"d-inline-flex space-around"},Pn={class:"box col"},jn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"100",height:"65",viewBox:"0 0 100 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("rect",{x:"65.0967",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"39.5488",y:"29.6777",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-90 39.5488 29.6777)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"60.4512",y:"34.3228",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(90 60.4512 34.3228)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("rect",{x:"34.9033",y:"55.2261",width:"20.9032",height:"20.9032",rx:"2",transform:"rotate(-180 34.9033 55.2261)",fill:"white",stroke:"black","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M77.7025 44.3796C77.9599 44.5798 77.9599 44.9688 77.7025 45.169L74.6621 47.5338C74.3337 47.7892 73.8551 47.5552 73.8551 47.1391L73.8551 42.4095C73.8551 41.9935 74.3337 41.7594 74.6621 42.0149L77.7025 44.3796Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M49.6047 17.0724C49.8049 16.815 50.1939 16.815 50.3941 17.0724L52.7589 20.1128C53.0143 20.4412 52.7803 20.9198 52.3642 20.9198L47.6346 20.9198C47.2185 20.9198 46.9845 20.4412 47.2399 20.1128L49.6047 17.0724Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M50.3953 46.9281C50.1951 47.1855 49.8061 47.1855 49.6059 46.9281L47.2411 43.8877C46.9857 43.5592 47.2197 43.0807 47.6358 43.0807L52.3654 43.0807C52.7815 43.0807 53.0155 43.5592 52.7601 43.8877L50.3953 46.9281Z",fill:"#FF3E3E"}),e.createElementVNode("path",{d:"M22.2975 45.1692C22.0401 44.969 22.0401 44.58 22.2975 44.3798L25.3379 42.0151C25.6663 41.7596 26.1449 41.9937 26.1449 42.4097L26.1449 47.1393C26.1449 47.5554 25.6663 47.7894 25.3379 47.534L22.2975 45.1692Z",fill:"#FF3E3E"})])],-1)),zn={class:"text mt-3"},Yn={key:1,class:"d-flex flex-column tablet-mobile-content"},Wn={class:"box horizontal mt-3"},Gn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"101",height:"65",viewBox:"0 0 101 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M68 28H87.9736M87.9736 28L82 34M87.9736 28L82 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M33.9727 28H13.999M13.999 28L19.9727 34M13.999 28L19.9727 22",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.0361 33.0479C60.7502 31.9809 59.6536 31.3478 58.5866 31.6337C57.5197 31.9195 56.8865 33.0162 57.1724 34.0831L56.7195 32.3928C56.3979 31.1925 55.1641 30.4802 53.9638 30.8018C52.7635 31.1234 52.0512 32.3572 52.3728 33.5575L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M53.7316 38.6286L52.6963 34.7649M52.6963 34.7649L50.6258 27.0375C50.3399 25.9705 49.2432 25.3374 48.1763 25.6233V25.6233C47.1094 25.9091 46.4762 27.0058 46.7621 28.0727L50.3855 41.5957C49.2796 40.7276 47.5926 39.524 46.3279 38.6369C45.3814 37.9729 44.0801 38.2068 43.4137 39.1516V39.1516C42.8107 40.0066 42.9238 41.1741 43.6798 41.8975L51.8691 49.7332C53.3154 51.1171 55.3791 51.6457 57.3126 51.1276L62.5533 49.7234C65.3195 48.9822 67.2473 46.4813 67.2601 43.6176V43.6176C67.2626 43.0532 67.1898 42.4909 67.0438 41.9457L64.9992 34.3153C64.7491 33.3818 63.7895 32.8278 62.8559 33.0779V33.0779V33.0779C61.9223 33.328 61.3683 34.2876 61.6185 35.2212L61.942 36.4286M52.6963 34.7649L52.3728 33.5575C52.0512 32.3572 52.7635 31.1234 53.9638 30.8018V30.8018C55.1641 30.4802 56.3979 31.1925 56.7195 32.3928L57.3018 34.5661M58.2077 37.9469L57.3018 34.5661M57.3018 34.5661L57.1724 34.0831C56.8865 33.0162 57.5197 31.9195 58.5866 31.6337V31.6337C59.6536 31.3478 60.7502 31.9809 61.0361 33.0479L61.942 36.4286M62.3302 37.8775L61.942 36.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),Qn={class:"text ml-2"},qn={class:"box horizontal mt-3"},Zn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M79.9927 29.9814C79.9871 22.2398 66.3311 15.9962 49.491 16.0358C32.651 16.0754 19.0039 22.3833 19.0095 30.1248C19.015 37.8663 32.6711 44.11 49.5111 44.0704C66.3512 44.0308 79.9982 37.7229 79.9927 29.9814Z",fill:"white",stroke:"#B3B3B3","stroke-width":"1.5"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M50.5 31L46.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M66.5 31L62.5 31",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 27L49.1562 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M60.5 27L63.5 24",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M56.5 25L56.5 21",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M52.1562 35L49.1562 38",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round"}),e.createElementVNode("path",{d:"M64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L68.5361 36.0479C68.2502 34.9809 67.1536 34.3478 66.0866 34.6337C65.0197 34.9195 64.3865 36.0162 64.6724 37.0831L64.2195 35.3928C63.8979 34.1925 62.6641 33.4802 61.4638 33.8018C60.2635 34.1234 59.5512 35.3572 59.8728 36.5575L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276Z",fill:"white"}),e.createElementVNode("path",{d:"M61.2316 41.6286L60.1963 37.7649M60.1963 37.7649L58.1258 30.0375C57.8399 28.9705 56.7432 28.3374 55.6763 28.6233V28.6233C54.6094 28.9091 53.9762 30.0058 54.2621 31.0727L57.8855 44.5957C56.7796 43.7276 55.0926 42.524 53.8279 41.6369C52.8814 40.9729 51.5801 41.2068 50.9137 42.1516V42.1516C50.3107 43.0066 50.4238 44.1741 51.1798 44.8975L59.3691 52.7332C60.8154 54.1171 62.8791 54.6457 64.8126 54.1276L70.0533 52.7234C72.8195 51.9822 74.7473 49.4813 74.7601 46.6176V46.6176C74.7626 46.0532 74.6898 45.4909 74.5438 44.9457L72.4992 37.3153C72.2491 36.3818 71.2895 35.8278 70.3559 36.0779V36.0779V36.0779C69.4223 36.328 68.8683 37.2876 69.1185 38.2212L69.442 39.4286M60.1963 37.7649L59.8728 36.5575C59.5512 35.3572 60.2635 34.1234 61.4638 33.8018V33.8018C62.6641 33.4802 63.8979 34.1925 64.2195 35.3928L64.8018 37.5661M65.7077 40.9469L64.8018 37.5661M64.8018 37.5661L64.6724 37.0831C64.3865 36.0162 65.0197 34.9195 66.0866 34.6337V34.6337C67.1536 34.3478 68.2502 34.9809 68.5361 36.0479L69.442 39.4286M69.8302 40.8775L69.442 39.4286",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),Xn={class:"text ml-2"},Jn={class:"box horizontal mt-3"},Kn=de(()=>e.createElementVNode("div",{class:"tutorial-icon d-flex align-items-center justify-center"},[e.createElementVNode("svg",{width:"99",height:"65",viewBox:"0 0 99 65",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{d:"M31 24.9736L31 10M31 10L25 15.9736M31 10L37 15.9736",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M31 40L31 54.9736M31 54.9736L25 49M31 54.9736L37 49",stroke:"#FF3E3E","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"}),e.createElementVNode("path",{d:"M58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L56.0348 26.8433C55.4825 25.8867 54.2593 25.5589 53.3027 26.1112C52.3462 26.6635 52.0184 27.8867 52.5707 28.8433L51.6957 27.3277C51.0744 26.2516 49.6983 25.8828 48.6221 26.5042C47.546 27.1255 47.1773 28.5016 47.7986 29.5777L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852Z",fill:"white"}),e.createElementVNode("path",{d:"M50.4236 34.1244L48.4236 30.6603M48.4236 30.6603L44.4236 23.7321C43.8713 22.7755 42.6481 22.4477 41.6915 23V23C40.7349 23.5523 40.4072 24.7755 40.9595 25.7321L48.4595 38.7224L41.0923 40.5062C40.3398 40.6884 39.7721 41.3073 39.6555 42.0728V42.0728C39.4961 43.1196 40.2199 44.096 41.268 44.2476L49.7609 45.4766L51.251 45.7252C53.7985 46.1503 56.4146 45.6766 58.6512 44.3852L61.8162 42.5579C64.2963 41.126 65.5112 38.2114 64.7823 35.442V35.442C64.6387 34.8961 64.4229 34.3719 64.1407 33.883L60.1909 27.0418C59.7076 26.2048 58.6374 25.918 57.8003 26.4013V26.4013V26.4013C56.9633 26.8845 56.6765 27.9548 57.1598 28.7918L57.7848 29.8744M48.4236 30.6603L47.7986 29.5777C47.1773 28.5016 47.546 27.1255 48.6221 26.5042V26.5042C49.6983 25.8828 51.0744 26.2516 51.6957 27.3277L52.8207 29.2763M54.5707 32.3074L52.8207 29.2763M52.8207 29.2763L52.5707 28.8433C52.0184 27.8867 52.3462 26.6635 53.3027 26.1112V26.1112C54.2593 25.5589 55.4825 25.8867 56.0348 26.8433L57.7848 29.8744M58.5348 31.1734L57.7848 29.8744",stroke:"black","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),ea={class:"text ml-2"},ta={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"},oa=U(e.defineComponent({__name:"VTutorial",props:{project:{}},emits:["closeTutorial"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(J),r=e.ref(!0),s=e.ref(!1),i=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(k=>navigator.userAgent.match(k))),p=e.computed(()=>{const d=localStorage.getItem(`${t.project}-dont-show-tutorial`);return d&&a("closeTutorial"),d});function c(){s.value&&l(),r.value=!1,a("closeTutorial")}function l(){localStorage.setItem(`${t.project}-dont-show-tutorial`,"true")}return(d,k)=>{const h=e.resolveComponent("v-checkbox"),u=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[r.value&&!p.value?(e.openBlock(),e.createElementBlock("div",Nn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",In,[e.createElementVNode("div",An,[e.createElementVNode("div",Dn,[Ln,e.createElementVNode("div",Fn,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",Mn,[Tn,e.createElementVNode("div",$n,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Rn,[On,e.createElementVNode("div",Un,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)])]),e.createElementVNode("div",Hn,[e.createElementVNode("div",Pn,[jn,e.createElementVNode("div",zn,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),i.value?(e.openBlock(),e.createElementBlock("div",Yn,[e.createElementVNode("div",Wn,[Gn,e.createElementVNode("div",Qn,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",qn,[Zn,e.createElementVNode("div",Xn,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Jn,[Kn,e.createElementVNode("div",ea,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",ta,[e.createVNode(h,{modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=v=>s.value=v),label:e.unref(n).getLabel("dontShowAgain")},null,8,["modelValue","label"]),e.createVNode(u,{small:"",outlined:"",class:"mt-5",onClick:k[1]||(k[1]=v=>c())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}}}),[["__scopeId","data-v-b9eb5380"]]),na=m=>(e.pushScopeId("data-v-bd4f66c3"),m=m(),e.popScopeId(),m),aa={class:"player-settings-ui"},ra={id:"settings-ui-form"},la={class:"form-inputs"},ia={class:"setting-label"},sa={class:"setting-label"},ca=["max","min","step"],da={class:"setting-label"},ma={class:"flex-grow-1 flex-shrink-0"},ua=["onUpdate:modelValue"],pa={key:3,"d-block":"",class:"mt-3"},fa={class:"d-flex justify-space-between"},ha={class:"setting-label"},ga={class:"mt-5 d-block",style:{width:"300px"}},va=na(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),ka={class:"d-block",style:{width:"300px"}},Ca={class:"form-buttons"},ya=U(e.defineComponent({__name:"VPlayerSettingsUi",props:{initialSettings:{}},emits:["updateSettings","saveSettings"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(h(t.initialSettings));e.watch(n,()=>{s()},{deep:!0});const r=e.computed(()=>{let u={};for(const[v,E]of Object.entries(n.value))v==="whitePoint"?u[v]=l(E.value):u[v]=E.value;return u});function s(){a("updateSettings",r.value)}function i(){const u=document.createElement("a");u.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const v=`player-settings-${Date.now()}.json`;u.download=v,u.style.display="none",document.body.appendChild(u),u.click(),document.body.removeChild(u)}function p(){a("saveSettings",r.value)}function c(){n.value=h(),a("updateSettings",r.value)}function l(u){const v=parseInt(u.substr(1,2),16)/255,E=parseInt(u.substr(3,2),16)/255,_=parseInt(u.substr(5,2),16)/255;return[v,E,_]}function d(u){var v=u.toString(16);return v.length==1?"0"+v:v}function k([u,v,E]){return"#"+d(parseInt((u*255).toString()))+d(parseInt((v*255).toString()))+d(parseInt((E*255).toString()))}function h(u={}){const v=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let E={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...u};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:E.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:E.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:E.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:E.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:E.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:E.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:E.temperature},whitePoint:{label:"White Point",type:"color",value:k(E.whitePoint)},lut:{label:"Lut",type:"lut",items:v.map(_=>({text:_,value:`https://cdn.visuado.com/luts/${_}.png`})),value:E.lut}}}return(u,v)=>{const E=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-slider"),f=e.resolveComponent("v-checkbox"),N=e.resolveComponent("v-btn"),V=e.resolveComponent("v-select"),S=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",aa,[e.createElementVNode("form",ra,[e.createElementVNode("div",la,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(g,y,L)=>(e.openBlock(),e.createElementBlock("div",{key:L,"d-block":""},[g.type==="slider"?(e.openBlock(),e.createBlock(_,{key:0,modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,onChange:s,max:g.max,min:g.min,step:g.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",ia,e.toDisplayString(g.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,"hide-details":"",dense:"",outlined:"",type:"number",max:g.max,min:g.min,step:g.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),g.type==="boolean"?(e.openBlock(),e.createBlock(f,{key:1,modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",sa,e.toDisplayString(g.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(g.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),g.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:g.max,min:g.min,step:g.step},[e.createElementVNode("div",da,e.toDisplayString(g.label),1),e.createElementVNode("div",ma,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>n.value[y].value=w,type:"color",onChange:s},null,40,ua),[[e.vModelText,n.value[y].value]])]),e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,ca)):e.createCommentVNode("",!0),g.type==="lut"?(e.openBlock(),e.createElementBlock("div",pa,[e.createElementVNode("div",fa,[e.createElementVNode("div",ha,e.toDisplayString(g.label),1),e.createElementVNode("div",null,[e.createVNode(N,{class:"ml-2","x-small":"",onClick:w=>n.value[y].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",ga,[e.createElementVNode("div",null,[e.createVNode(V,{modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,items:g.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:s},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[va,e.createElementVNode("div",ka,[e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[y].value,"onUpdate:modelValue":w=>n.value[y].value=w,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Ca,[e.createVNode(N,{onClick:v[0]||(v[0]=g=>c())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(N,{class:"ml-2",onClick:v[1]||(v[1]=g=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(N,{class:"ml-2",onClick:v[2]||(v[2]=g=>p())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(S,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),wa=(m=>(e.pushScopeId("data-v-30593022"),m=m(),e.popScopeId(),m))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),_a={class:"moveable-body",id:"moveableDivHeader"},ba={class:"moveable-footer"},Va=U(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(m,{emit:o}){const t=o,a=e.ref("big");e.onMounted(()=>{n(document.getElementById("moveableDiv"))});function n(s){const i=document.getElementById(s.id+"Header");if(!i)return;let p=0,c=0,l=0,d=0;i.addEventListener("touchstart",k,{passive:!1}),i.addEventListener("touchend",u,{passive:!1}),i.addEventListener("mousedown",k,{passive:!1}),i.addEventListener("mouseup",u,{passive:!1});function k(v){v=v||window.event,v.preventDefault();let E=v;v.type==="touchstart"&&(E=v.touches[0]),l=E.clientX,d=E.clientY,document.addEventListener("mouseup",u,{passive:!1}),document.addEventListener("touchend",u,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(v){v=v||window.event,v.preventDefault();let E=v;v.type==="touchmove"&&(E=v.touches[0]),p=l-E.clientX,c=d-E.clientY,l=E.clientX,d=E.clientY,s.style.top=s.offsetTop-c+"px",s.style.left=s.offsetLeft-p+"px"}function u(){document.removeEventListener("mouseup",u,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",u,!1),document.removeEventListener("touchmove",h,!1)}}function r(){a.value==="big"?a.value="small":a.value="big"}return(s,i)=>{const p=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",a.value])},[e.createVNode(p,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:i[0]||(i[0]=c=>t("close"))}),e.createVNode(p,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:r,title:"Resize"}),e.createVNode(p,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:i[1]||(i[1]=c=>t("transform")),title:"Rotate"}),wa,e.createElementVNode("div",_a,[e.renderSlot(s.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",ba,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),Ea={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Ba=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),xa=["transform"],Sa=[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)],Na=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(m){return(o,t)=>(e.openBlock(),e.createElementBlock("svg",Ea,[Ba,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+o.rotation})`},Sa,8,xa)]))}}),Ia={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Aa={class:"minimap-container"},Da=U(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},storey:{},currentCamera:{},rotation:{},transformAngle:{}},setup(m){const o=m,t=e.ref(512),a=e.ref(384),n=e.ref(new ce.Vector3),r=e.ref(new ce.Object3D),s=e.ref({}),i=e.ref(1),p=e.ref(),c=e.computed(()=>o.allCameras),l=e.computed(()=>o.allCameras.find(y=>y.id===o.currentCamera)),d=e.computed(()=>o.rotation),k=e.computed(()=>new ce.Vector3(o.storey.position.x,o.storey.position.y,o.storey.position.z)),h=e.computed(()=>parseFloat(l.value.floor_vertical_position)),u=e.computed(()=>c.value.map(y=>{const L=y.uposition.split(","),w=new ce.Vector3(Number(L[0])-k.value.x,0,Number(L[2])-k.value.z);return{...y,...V(n.value,w)}})),v=e.computed(()=>`background-image: url(${o.backgroundImage});`),E=e.computed(()=>{let y=i.value>1?1:i.value;return y<.8&&(y=.4),`scale: ${y>1?1:y}; transform: rotate(${o.transformAngle}deg);`});e.onMounted(()=>{S(),f(),g();const y=document.getElementById("moveableDiv");y&&(p.value=new ResizeObserver(g).observe(y))}),e.onBeforeUpdate(()=>{S(),f()}),e.onBeforeUnmount(()=>{p.value&&p.value.unobserve(document.getElementById("moveableDiv"))});function _(y){return ce.MathUtils.degToRad(y)}function f(){r.value.rotation.x=180,r.value.rotation.y=o.storey.rotation.y*-1,s.value={transform:`rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`}}function N(y){return{top:`${Math.abs(y.top)}%`,left:`${Math.abs(y.left)}%`}}function V(y,L){var w=new ce.Vector3;const R=w.subVectors(y,L);return{relativePosition:R,left:R.x/t.value*100,top:R.z/a.value*100}}function S(){const y=o.storey.position.y-h.value;a.value=2*(y*Math.tan(_(o.storey.fovY/2))),t.value=512/384*a.value;const L=a.value/2,w=t.value/2,R=new ce.Vector3(w*-1,0,L*-1);n.value=R}function g(){const y=document.getElementById("moveableDiv");if(!y)return;const L=y.offsetHeight/384*.8,w=y.offsetWidth/512*.8;y.offsetHeight>y.offsetWidth?i.value=w*.5:i.value=L*.9}return(y,L)=>(e.openBlock(),e.createElementBlock("div",Ia,[e.createElementVNode("div",Aa,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(E.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(v.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(s.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id},[l.value.floorLevel===w.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(N(w))},null,4)):e.createCommentVNode("",!0),l.value.id===w.id&&o.rotation!==null?(e.openBlock(),e.createBlock(Na,{key:1,class:"rotation-marker-component",rotation:d.value,style:e.normalizeStyle({...N(w)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),La=U(e.defineComponent({__name:"VMiniMapCompass",props:{scale:{},rotation:{},transformAngle:{}},setup(m){const o=m,t=e.computed(()=>o.rotation+o.transformAngle-90);return(a,n)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:a.scale})},[e.createVNode(he,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),Fa={class:"ss-wrapper"},Ma={class:"slider"},Ta={class:"minimap-sun-slider"},$a={key:0,class:"time-label"},Ra=U(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},level:{}},emits:["setBackgroundImage"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(new Date().getHours()),r=e.ref(!0),s=e.ref(!0),i=e.ref(""),p=e.ref(new Map),c=e.computed(()=>t.minimapJson.storeys[t.level]),l=e.computed(()=>`${Math.floor(n.value).toString().padStart(2,"0")}:00`),d=e.computed(()=>{if(c.value.sunsimFilesTimeStamps[n.value]){const _=c.value.sunsimFilesTimeStamps[n.value].split(" ");return`${_[0]} ${_[1]}`}return""});e.onMounted(async()=>{i.value=await u(c.value.sunsimFiles[n.value]),s.value=!1;const _=await h(t.minimapJson.storeys);p.value=_,r.value=!1,a("setBackgroundImage",k(t.level,n.value))}),e.watch(n,()=>{const _=k(t.level,n.value);a("setBackgroundImage",_)}),e.watch(()=>t.level,()=>{a("setBackgroundImage",k(t.level,n.value))},{immediate:!0});function k(_,f){return p.value.get(`sunsim${_}_${f}`)?p.value.get(`sunsim${_}_${f}`):""}async function h(_){let f=new Map;for(let N=0;N<_.length;N++){const V=_[N].sunsimFiles;for(let S=0;S<V.length;S++){const g=V[S];try{const y=g,L=g.split("."),w=await u(y);f.set(L[0],w)}catch{continue}}}return f}async function u(_){const N=await(await fetch(Y(t.cdnFileResolver,`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${_}`))).blob(),V=await E(N);return v(V)}function v(_){return"data:image/jpeg;base64,"+_}async function E(_){return new Promise((f,N)=>{const V=new FileReader;V.onload=()=>{const S=V.result.split(",")[1];f(S)},V.onerror=N,V.readAsDataURL(_)})}return(_,f)=>{const N=e.resolveComponent("v-progress-linear"),V=e.resolveComponent("v-icon"),S=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Fa,[e.createElementVNode("div",Ma,[e.createElementVNode("div",Ta,[r.value?(e.openBlock(),e.createBlock(N,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(S,{key:1,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=g=>n.value=g),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(V,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",$a,e.toDisplayString(d.value)+" "+e.toDisplayString(l.value),1))])])}}}),[["__scopeId","data-v-b2f12eb0"]]),Pe=U(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type:[String,Function]},minimapJson:{},apartmentJson:{},currentCamera:{},level:{},rotation:{}},emits:["close"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(),r=e.ref(0),s=e.computed(()=>t.minimapJson.storeys[t.level]);e.watch(s,()=>{n.value=s.value.defaultSunsimFile?`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/sunsim0_13.jpg`:`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${s.value.defaultSunsimFile}`},{immediate:!0,once:!0});const i=e.computed(()=>{let l=1;return r.value!==0&&(Math.abs(r.value)%180===0?l=1:l=-1),l});function p(l){n.value=l}function c(){r.value=r.value+90}return(l,d)=>(e.openBlock(),e.createBlock(Va,{onClose:d[0]||(d[0]=k=>a("close")),onTransform:c},{body:e.withCtx(()=>[e.createVNode(La,{scale:i.value,rotation:s.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(Da,{"transform-angle":r.value,"all-cameras":l.apartmentJson.cameras,"background-image":n.value,rotation:l.rotation,"current-camera":l.currentCamera,storey:s.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(Ra,{"cdn-file-resolver":t.cdnFileResolver,"minimap-json":t.minimapJson,"apartment-json":t.apartmentJson,level:t.level,onSetBackgroundImage:p},null,8,["cdn-file-resolver","minimap-json","apartment-json","level"])]),_:1}))}}),[["__scopeId","data-v-898e645b"]]),Oa={key:0,class:"text-white disclaimer caption"},Ua=U(e.defineComponent({__name:"VDisclaimer",setup(m){const o=e.inject(J),t=e.ref(!0);return(a,n)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",Oa,[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("allIllustrationsAreIndicativeDeviationsMayOccur"))+" ",1),e.createElementVNode("span",{onClick:n[0]||(n[0]=r=>t.value=!1),class:"link-text text-decoration-underline"},e.toDisplayString(e.unref(o).getLabel("iUnderstand")),1)])):e.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-046402dc"]]),Ha={class:"waypoint-carousel"},Pa=37,ja=39,Be=U(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(0),r=e.computed({get(){return t.active},set(c){n.value=c}}),s=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",i)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",i)});function i(c){switch(c.keyCode){case c.keyCode===Pa:a("previous");break;case c.keyCode===ja:a("next");break;default:return}}function p(c,l){l(),a("goto",c)}return(c,l)=>{const d=e.resolveComponent("v-icon"),k=e.resolveComponent("v-btn"),h=e.resolveComponent("v-hover"),u=e.resolveComponent("v-img"),v=e.resolveComponent("v-card"),E=e.resolveComponent("v-slide-group-item"),_=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",Ha,[e.createVNode(_,{modelValue:r.value,"onUpdate:modelValue":l[2]||(l[2]=f=>r.value=f),class:e.normalizeClass({mobileWaypoint:s.value}),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(({isHovering:f})=>[e.createVNode(k,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:l[0]||(l[0]=N=>a("previous"))},{default:e.withCtx(()=>[e.createVNode(d,{color:f?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-left ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),next:e.withCtx(()=>[e.createVNode(h,null,{default:e.withCtx(({isHovering:f})=>[e.createVNode(k,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:l[1]||(l[1]=N=>a("next"))},{default:e.withCtx(()=>[e.createVNode(d,{color:f?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-right ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.thumbnails,f=>(e.openBlock(),e.createBlock(E,{key:f.id},{default:e.withCtx(({toggle:N,selectedClass:V})=>[e.createVNode(v,{class:e.normalizeClass([s.value?"ma-0":"ma-2",V,"single-waypoint"]),align:"center",justify:"center",height:s.value?50:100,width:s.value?80:160,elevation:"0",style:{overflow:"hidden"},onClick:S=>p(f.id,N)},{default:e.withCtx(()=>[e.createVNode(u,{maxWidth:160,cover:"","aspect-ratio":"1",src:f.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue","class"])])}}}),[["__scopeId","data-v-aa105c01"]]),za={id:"share-btns-wrapper",class:"text-center"},je=U(e.defineComponent({__name:"VSocialShare",setup(m){const o=e.inject(J),t=e.ref(!1),a=e.ref(location.href);function n(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function r(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function s(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1}function i(){navigator.clipboard.writeText(location.href)}return(p,c)=>{const l=e.resolveComponent("v-btn"),d=e.resolveComponent("v-tooltip"),k=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),u=e.resolveComponent("v-toolbar"),v=e.resolveComponent("v-card-text"),E=e.resolveComponent("v-card"),_=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(d,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:c[0]||(c[0]=N=>t.value=!t.value)},f),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(_,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":c[2]||(c[2]=f=>t.value=f)},{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(u,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(l,{size:"x-small",icon:"mdi-close",onClick:c[1]||(c[1]=f=>t.value=!1)}),e.createVNode(k,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(v,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",za,[e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},f,{onClick:n}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToFacebook")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},f,{onClick:s}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToLinkedin")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},f,{onClick:r}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareToTwitter")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${a.value}`},f),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("shareViaEmail")),1)]),_:1}),e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(l,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:i},f),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("copyLink")),1)]),_:1}),e.createVNode(h)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-b6e473f1"]]),Ya={class:"static-image-wrapper"},Wa=U(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(m){const o=m,t=e.computed(()=>({"background-image":`url("${encodeURI(o.image)}")`}));return(a,n)=>(e.openBlock(),e.createElementBlock("div",Ya,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Ga={id:"btn-fullscreen",class:"btn-placeholder mr-2"},ze=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(m,{emit:o}){const t=o;return(a,n)=>{const r=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Ga,[e.createVNode(r,{density:"comfortable",elevation:"3",icon:a.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:n[0]||(n[0]=s=>t("toggleFullscreen"))},null,8,["icon"])])}}});class Ye{constructor(o,t){j(this,"_doc");j(this,"_elemId");j(this,"_state");this._doc=o,this._elemId=t,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const o=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],t=this._getElement();o.forEach(a=>{t.addEventListener(a,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const o=this._getElement(),t=o.requestFullscreen||o.webkitRequestFullscreen||o.mozRequestFullscreen||o.msRequestFullscreen;t&&t.apply(o)}_exit(){const o=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;o&&o.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const o=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=o}}const Qa={key:0,class:"player-error"},qa={class:"player-and-components-wrapper"},Za={key:3,class:"settings-panel"},Xa={key:0,class:"compass-wrapper"},Ja={key:1,class:"btn-placeholder mr-2"},Ka={key:2,class:"btn-placeholder"},er={key:0},We=U(e.defineComponent({__name:"VVirtualTour",props:{cdnFileResolver:{},apartmentId:{},defaultInteriorId:{},validInteriorIds:{default:()=>[]},displayViewModeSwitch:{type:Boolean,default:!0},websiteUrl:{},i18nConfig:{},showCarousel:{type:Boolean,default:!0},showTimeOfDay:{type:Boolean,default:!0},showCompass:{type:Boolean,default:!0},showFullScreen:{type:Boolean,default:!0},showSnapshot:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},showInteriorOptions:{type:Boolean,default:!0},showMiniMap:{type:Boolean,default:!0},showFloorLevel:{type:Boolean,default:!0},defaultWaypointIndex:{default:0},defaultViewMode:{default:"virtualTour"},mouseSensitivity:{default:1},isInIframe:{type:Boolean},adminMode:{type:Boolean,default:!1},playerSettings:{default:()=>({temperature:6500,targetLuminance:1,exposureFovScale:.3,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:""})}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate","onError"],setup(m,{emit:o}){const t=m,a=o,n=e.ref(!1),r=e.ref(!1),s=e.ref(),i=e.ref(),p=e.ref(),c=e.ref(),l=e.ref(),d=e.ref(0),k=e.ref(),h=e.ref(),u=e.ref(),v=e.ref(0),E=e.ref(0),_=e.ref(0),f=e.ref(!1),N=e.ref(!1),V=e.ref(!1),S=e.ref(new Ye(document,"player-wrapper")),g=e.computed(()=>{if(i.value){const C=i.value.cameras.map(H=>H.floorLevel);let T=[...new Set(C)];return T=T.sort(),T}else return[]}),y=e.computed(()=>{let C=0;if(i.value){const T=i.value.cameras.map(we=>we.floorLevel);let H=[...new Set(T)];H=H.sort();const Z=H.findIndex(we=>we===E.value);Z!==-1&&(C=Z)}return C}),L=e.computed(()=>b.value.findIndex(C=>C.archetypeID===k.value)),w=e.computed(()=>p.value?p.value.cameras.map(C=>({...C,thumbnailUrl:X(`/${k.value}/${t.apartmentId}/thumbs/200/${C.id}.jpg`),imageUrl:X(`/${k.value}/${t.apartmentId}/images/1600/${C.id}.jpg`)})):[]),R=e.computed(()=>!w.value||!w.value[d.value]?"":w.value[d.value].imageUrl),b=e.computed(()=>{let C=[];return s.value&&(C=s.value.archetypes),t.validInteriorIds.length?C.filter(T=>t.validInteriorIds.includes(T.archetypeID)):C}),B=e.computed(()=>p.value?b.value.map(C=>({...C,url:X(`/${C.archetypeID}/${t.apartmentId}/thumbs/200/${w.value[d.value].id}.jpg`)})):[]),F=e.computed(()=>{if(c.value)return c.value.storeys[y.value]}),D=e.computed(()=>i.value&&i.value.timeInHours),I=e.computed(()=>{if(i.value&&i.value.timeInHours&&t.showTimeOfDay)return Cr(i.value.timeInHours)});e.provide(J,t.i18nConfig?new oe(t.i18nConfig):new oe),e.watch([()=>t.cdnFileResolver],async()=>{await x(),$(),await A()}),e.watch(()=>t.defaultViewMode,C=>{C==="virtualTour"&&(f.value=!1),C==="slideShow"&&(f.value=!0,V.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await x(),$(),await A(),S.value.setup(),G()}catch(C){r.value=!0,a("onError",C)}});async function x(){s.value=await W()}async function A(){if(i.value=await Q(k.value,t.apartmentId),i.value&&(h.value=i.value.cameras.find(()=>!0).id),p.value=await ne(k.value,t.apartmentId),p.value){let C=t.defaultWaypointIndex!==null?t.defaultWaypointIndex:0;d.value=C,h.value=p.value.cameras[C].id,u.value=p.value.cameras[C].id}t.showMiniMap&&(c.value=await re(k.value,t.apartmentId))}function $(){let C=t.defaultInteriorId;C||(C=s.value.defaultArchetypeID),t.validInteriorIds.length&&!t.validInteriorIds.includes(C)&&(C=t.validInteriorIds[0]),C||(C=s.value.archetypes[0].archetypeID),k.value=C}function G(){const C=document.getElementById("main-canvas");C.addEventListener("touchmove",T,{passive:!1});function T(Z){Z.preventDefault(),window.scrollBy(0,0)}C.addEventListener("mouseenter",()=>{document.addEventListener("wheel",H,{passive:!1})},{passive:!1}),C.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",H)},{passive:!1});function H(Z){Z.preventDefault(),window.scrollBy(0,0)}}async function W(){try{return await ye("/config.json")}catch(C){console.error("Error loading config.json - ",Y(t.cdnFileResolver,"/config.json"),C);return}}async function Q(C,T){try{return await ye(`/${C}/${T}/apartment.json`)}catch(H){console.error("Error loading apartment.json - ",`/${C}/${T}/apartment.json`,H);return}}async function ne(C,T){try{return await ye(`/${C}/${T}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${C}/${T}/thumbs.json`);return}}async function re(C,T){try{return await ye(`/${C}/${T}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${C}/${T}/minimap/minimap.json`);return}}function K(){let C=d.value+1;C>=w.value.length&&(C=0),d.value=C,me(w.value[d.value].id)}function ee(){let C=d.value-1;C<0&&(C=w.value.length-1),d.value=C,me(w.value[d.value].id)}function te(C,T=!0){let H=w.value.findIndex(Z=>Z.id===C);H!=-1&&(d.value=H,T&&me(C))}function me(C){h.value=C}function se(C){k.value=C,a("onInteriorUpdate",C),a("onCameraUpdate",u.value,i.value)}function xe(C){te(C,!1),u.value=C,a("onCameraUpdate",C,i.value)}function Ce(C){v.value=C}function Se(C){E.value=C}function M(C){_.value=C}function O(C,T){}function z(C){l.value=C,t.playerSettings&&l.value.updateSettings(t.playerSettings)}function Ve(){S.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function ue(){f.value=!f.value}async function le(){const C=180/Math.PI,T=await l.value.takePhoto(),H=l.value.getRotationEuler(),Z=l.value.getCurrentCamera(),we=new qt(T,Z),wr=[H.x*C,H.y*C,H.z*C];return a("onSnapshot",we,wr),we}function X(C){let T=Y(t.cdnFileResolver,C);return t.adminMode&&(T=T+`?v=${Date.now()}`),T}async function ye(C){const T=X(C);try{return(await ae.get(T)).data}catch(H){throw new Error(H)}}function Qe(C){l.value.updateSettings(C)}function kr(C){a("saveSettings",C)}function Cr(C){if(C===void 0)return null;const T=Math.floor(C),H=Math.floor((T-C)*60);return{hours:T,minutes:H}}const yr=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)),qe=e.computed(()=>yr.value?"platform-mobile":"platform-desktop");return(C,T)=>{const H=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["virtual-tour-wrapper",[qe.value]])},[r.value?(e.openBlock(),e.createElementBlock("div",Qa,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",qa,[!S.value.isActive&&c.value&&u.value&&F.value&&k.value&&N.value?(e.openBlock(),e.createBlock(Pe,{key:0,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":i.value,level:y.value,"minimap-json":c.value,rotation:v.value,"current-camera":u.value,onClose:T[0]||(T[0]=Z=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),k.value&&h.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["v-player",[qe.value]])},[e.createVNode(un,{"cdn-file-resolver":C.cdnFileResolver,style:e.normalizeStyle({zIndex:f.value?1:2}),"show-static-image":f.value,"is-full-screen":S.value.isActive,"current-camera-id":h.value,"mouse-sensitivity":C.mouseSensitivity,"interior-id":k.value,"apartment-id":t.apartmentId,onNewCameraCallback:xe,onNewRotationCallback:Ce,onNewFloorCallback:Se,onNewFovCallback:M,onNewSizeCallback:O,onPlayerApiCallback:z},{"slideshow-image":e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(Wa,{key:0,image:R.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[C.adminMode?e.withDirectives((e.openBlock(),e.createBlock(H,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:T[1]||(T[1]=Z=>n.value=!n.value)},null,512)),[[e.vShow,V.value]]):e.createCommentVNode("",!0),c.value&&h.value&&F.value?e.withDirectives((e.openBlock(),e.createBlock(H,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:T[2]||(T[2]=Z=>N.value=!N.value)},null,512)),[[e.vShow,V.value]]):e.createCommentVNode("",!0),V.value&&C.showFloorLevel&&g.value.length>1?(e.openBlock(),e.createBlock(vn,{key:2,level:E.value,"floor-levels":g.value,onLevel:Se},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),V.value&&C.adminMode&&n.value?(e.openBlock(),e.createElementBlock("div",Za,[e.createVNode(ya,{"initial-settings":C.playerSettings,onUpdateSettings:Qe,onSaveSettings:kr},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[V.value?(e.openBlock(),e.createBlock(Ua,{key:0,"return-url":C.websiteUrl},null,8,["return-url"])):e.createCommentVNode("",!0)]),"top-right":e.withCtx(()=>[i.value&&C.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",Xa,[e.createVNode(_n,{rotation:v.value},null,8,["rotation"])],512)),[[e.vShow,V.value]]):e.createCommentVNode("",!0),V.value&&i.value&&D.value&&C.showTimeOfDay?(e.openBlock(),e.createBlock(xn,{key:1,hours:I.value.hours,minutes:I.value.minutes},null,8,["hours","minutes"])):e.createCommentVNode("",!0)]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(H,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:ee})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(oa,{project:e.unref(Y)(t.cdnFileResolver,""),onCloseTutorial:T[3]||(T[3]=Z=>V.value=!0)},null,8,["project"]),S.value.isActive&&c.value&&u.value&&F.value&&N.value?(e.openBlock(),e.createBlock(Pe,{key:0,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":i.value,"minimap-json":c.value,rotation:v.value,"current-camera":u.value,level:y.value,onClose:T[4]||(T[4]=Z=>N.value=!1)},null,8,["cdn-file-resolver","apartment-json","minimap-json","rotation","current-camera","level"])):e.createCommentVNode("",!0)]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(H,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:K})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[V.value&&C.showFullScreen?(e.openBlock(),e.createBlock(ze,{key:0,"is-full-screen":S.value.isActive,class:"btn-fullscreen",onToggleFullscreen:Ve},null,8,["is-full-screen"])):e.createCommentVNode("",!0),V.value&&C.showSnapshot?(e.openBlock(),e.createElementBlock("div",Ja,[e.createVNode(H,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:le})])):e.createCommentVNode("",!0),V.value&&C.showShare&&!S.value.isActive?(e.openBlock(),e.createElementBlock("div",Ka,[e.createVNode(je)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[V.value&&C.showCarousel?(e.openBlock(),e.createElementBlock("div",er,[C.displayViewModeSwitch?(e.openBlock(),e.createBlock(Sn,{key:0,"show-static-image":f.value,onToggle:ue},null,8,["show-static-image"])):e.createCommentVNode("",!0),V.value&&S.value.isActive?(e.openBlock(),e.createBlock(Be,{key:1,class:e.normalizeClass([S.value.isActive?"full-screen":""]),thumbnails:w.value,active:d.value,onNext:K,onPrevious:ee,onGoto:te},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[V.value&&C.showInteriorOptions&&B.value?(e.openBlock(),e.createBlock(Cn,{key:0,"cdn-file-resolver":C.cdnFileResolver,"available-archetypes":B.value,"selected-index":L.value,onSelectInterior:se},null,8,["cdn-file-resolver","available-archetypes","selected-index"])):e.createCommentVNode("",!0)]),_:1},8,["cdn-file-resolver","style","show-static-image","is-full-screen","current-camera-id","mouse-sensitivity","interior-id","apartment-id"]),C.showCarousel&&p.value?(e.openBlock(),e.createBlock(Be,{key:0,class:"waypoint-carousel below-player",thumbnails:w.value,active:d.value,onNext:K,onPrevious:ee,onGoto:te},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)])],2)}}}),[["__scopeId","data-v-21a9a914"]]),tr={id:"player-wrapper"},or={id:"player-sizer"},nr={class:"player-control",id:"controls-top-left"},ar={class:"player-control",id:"controls-top-center"},rr={class:"player-control",id:"controls-top-right"},lr={class:"player-control",id:"controls-center-left"},ir={class:"player-control",id:"controls-center-center"},sr={class:"player-control",id:"controls-center-right"},cr={class:"player-control",id:"controls-bottom-left"},dr={class:"player-control",id:"controls-bottom-center"},mr={class:"player-control",id:"controls-bottom-right"},ur=U(e.defineComponent({__name:"VManualSlideShowPlayer",props:{isFullScreen:{type:Boolean}},emits:["newSizeCallback"],setup(m,{emit:o}){return(t,a)=>(e.openBlock(),e.createElementBlock("div",tr,[e.createElementVNode("div",or,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",nr,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",ar,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",rr,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",lr,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",ir,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",sr,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",cr,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",dr,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",mr,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])]))}}),[["__scopeId","data-v-5fdd1e05"]]),pr={class:"virtual-tour-wrapper"},fr={class:"player-and-components-wrapper"},hr={class:"mss-image"},gr={key:1,class:"btn-placeholder"},Ge=U(e.defineComponent({__name:"VManualSlideShow",props:{images:{},websiteUrl:{},i18nConfig:{},showFullScreen:{type:Boolean,default:!0},showShare:{type:Boolean,default:!0},defaultWaypointIndex:{default:0}},setup(m){const o=m;e.provide(J,o.i18nConfig?new oe(o.i18nConfig):new oe);const t=e.ref(0),a=e.ref(new Ye(document,"player-wrapper")),n=e.computed(()=>o.images.map((l,d)=>({id:`image-${d}`,thumbnailUrl:l}))),r=e.computed(()=>n.value[t.value]);e.onMounted(()=>{a.value.setup()});function s(){a.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function i(){let l=t.value+1;l>=n.value.length&&(l=0),t.value=l}function p(){let l=t.value-1;l<0&&(l=n.value.length-1),t.value=l}function c(l,d=!0){let k=n.value.findIndex(h=>h.id===l);k!=-1&&(t.value=k)}return(l,d)=>{const k=e.resolveComponent("v-img"),h=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",pr,[e.createElementVNode("div",fr,[e.createElementVNode("div",null,[e.createVNode(ur,{"is-full-screen":a.value.isActive},{"slideshow-image":e.withCtx(()=>[e.createElementVNode("div",hr,[e.createVNode(k,{src:r.value.thumbnailUrl},null,8,["src"])])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:p})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[n.value.length>1?(e.openBlock(),e.createBlock(h,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:i})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[l.showFullScreen?(e.openBlock(),e.createBlock(ze,{key:0,"is-full-screen":a.value.isActive,class:"btn-fullscreen",onToggleFullscreen:s},null,8,["is-full-screen"])):e.createCommentVNode("",!0),l.showShare?(e.openBlock(),e.createElementBlock("div",gr,[e.createVNode(je)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[a.value.isActive&&n.value.length>1?(e.openBlock(),e.createBlock(Be,{key:0,class:e.normalizeClass([a.value.isActive?"full-screen":""]),thumbnails:n.value,active:t.value,onNext:i,onPrevious:p,onGoto:c},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["is-full-screen"]),n.value.length>1?(e.openBlock(),e.createBlock(Be,{key:0,thumbnails:n.value,active:t.value,onNext:i,onPrevious:p,onGoto:c},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])])])}}}),[["__scopeId","data-v-040ac08f"]]),vr={install:function(o){o.component("VApartmentChooser",Me),o.component("VBuildingChooser",He),o.component("VVirtualTour",We),o.component("VManualSlideShow",Ge)}};P.ResourceLoader=q,P.VApartmentChooser=Me,P.VApartmentChooserV5=ao,P.VBuildingChooser=He,P.VBuildingChooserV5=Yo,P.VFloatingCard=pe,P.VHoverProbe=ie,P.VManualSlideShow=Ge,P.VNorthDirection=he,P.VVirtualTour=We,P.VZoomBox=fe,P.default=vr,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});