@qispace/vue3-player 0.1.13 → 0.1.18

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.
Files changed (98) hide show
  1. package/dist/vue-components/config/vite.config.d.ts +1 -1
  2. package/dist/vue-components/config/vite.config.dev.d.ts +1 -1
  3. package/dist/vue-components/config/vite.config.web-components.d.ts +1 -1
  4. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooser.vue.d.ts +8 -7
  5. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserNavigation.vue.d.ts +6 -5
  6. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserRaster.vue.d.ts +7 -6
  7. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserRotator.vue.d.ts +5 -4
  8. package/dist/vue-components/src/components/apartmentChooser/VApartmentChooserSvg.vue.d.ts +6 -5
  9. package/dist/vue-components/src/components/apartmentChooser/index.d.ts +1 -0
  10. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5.vue.d.ts +85 -0
  11. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5Camera.vue.d.ts +50 -0
  12. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5CameraDay.vue.d.ts +50 -0
  13. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5CameraDayTimeSample.vue.d.ts +50 -0
  14. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5Overlay.vue.d.ts +34 -0
  15. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5Transition.vue.d.ts +30 -0
  16. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5UiCamera.vue.d.ts +25 -0
  17. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5UiDay.vue.d.ts +25 -0
  18. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5UiRotator.vue.d.ts +48 -0
  19. package/dist/vue-components/src/components/apartmentChooser/v5/VApartmentChooserV5UiTimeSample.vue.d.ts +25 -0
  20. package/dist/vue-components/src/components/apartmentChooser/v5/types.d.ts +54 -0
  21. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooser.vue.d.ts +17 -17
  22. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooserRaster.vue.d.ts +23 -20
  23. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooserRasterOverlay.vue.d.ts +15 -5
  24. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooserSceneImageStack.vue.d.ts +11 -5
  25. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooserSunSimControl.vue.d.ts +9 -7
  26. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/VBuildingChooserSvg.vue.d.ts +17 -19
  27. package/dist/vue-components/src/components/{buildingPicker → buildingChooser}/index.d.ts +1 -0
  28. package/dist/vue-components/src/components/buildingChooser/types.d.ts +60 -0
  29. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5.vue.d.ts +83 -0
  30. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5Camera.vue.d.ts +50 -0
  31. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5CameraDay.vue.d.ts +50 -0
  32. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5CameraDayTimeSample.vue.d.ts +50 -0
  33. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5Overlay.vue.d.ts +34 -0
  34. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5UiCamera.vue.d.ts +23 -0
  35. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5UiDay.vue.d.ts +23 -0
  36. package/dist/vue-components/src/components/buildingChooser/v5/VBuildingChooserV5UiTimeSample.vue.d.ts +23 -0
  37. package/dist/vue-components/src/components/buildingChooser/v5/types.d.ts +41 -0
  38. package/dist/vue-components/src/components/index.d.ts +3 -1
  39. package/dist/vue-components/src/components/injectionKeys.d.ts +3 -2
  40. package/dist/vue-components/src/components/manualSlideShow/VManualSlideShow.vue.d.ts +47 -0
  41. package/dist/vue-components/src/components/manualSlideShow/VManualSlideShowPlayer.vue.d.ts +35 -0
  42. package/dist/vue-components/src/components/manualSlideShow/index.d.ts +1 -0
  43. package/dist/vue-components/src/components/miniMap/VMiniMap.vue.d.ts +51 -0
  44. package/dist/vue-components/src/components/{virtualTour/minimap/VMinimapCompass.vue.d.ts → miniMap/VMiniMapCompass.vue.d.ts} +4 -4
  45. package/dist/vue-components/src/components/miniMap/VMiniMapMap.vue.d.ts +28 -0
  46. package/dist/vue-components/src/components/{virtualTour/minimap → miniMap}/VRotationMarker.vue.d.ts +2 -2
  47. package/dist/vue-components/src/components/miniMap/VSunSimulationSlider.vue.d.ts +28 -0
  48. package/dist/vue-components/src/components/shared/VDisclaimer.vue.d.ts +2 -0
  49. package/dist/vue-components/src/components/shared/VFloatingCard.vue.d.ts +9 -7
  50. package/dist/vue-components/src/components/{virtualTour → shared}/VFullScreenButton.vue.d.ts +3 -3
  51. package/dist/vue-components/src/components/shared/VHoverProbe.vue.d.ts +3 -3
  52. package/dist/vue-components/src/components/shared/VNorthDirection.vue.d.ts +2 -2
  53. package/dist/vue-components/src/components/{virtualTour → shared}/VSingleImage.vue.d.ts +2 -2
  54. package/dist/vue-components/src/components/shared/VSocialShare.vue.d.ts +2 -0
  55. package/dist/vue-components/src/components/{virtualTour → shared}/VWaypointCarousel.vue.d.ts +13 -7
  56. package/dist/vue-components/src/components/shared/VZoomBox.vue.d.ts +8 -3
  57. package/dist/vue-components/src/components/types.d.ts +1 -0
  58. package/dist/vue-components/src/components/virtualTour/VCompass.vue.d.ts +2 -2
  59. package/dist/vue-components/src/components/virtualTour/VFloorLevel.vue.d.ts +8 -8
  60. package/dist/vue-components/src/components/virtualTour/VInteriorSelector.vue.d.ts +16 -7
  61. package/dist/vue-components/src/components/virtualTour/{minimap/VMiniMap.vue.d.ts → VMiniMap.vue.d.ts} +12 -15
  62. package/dist/vue-components/src/components/virtualTour/{minimap/VMoveable.vue.d.ts → VMoveable.vue.d.ts} +2 -2
  63. package/dist/vue-components/src/components/virtualTour/VPlayer.vue.d.ts +23 -24
  64. package/dist/vue-components/src/components/virtualTour/VPlayerSettingsUi.vue.d.ts +23 -0
  65. package/dist/vue-components/src/components/virtualTour/VTimeOfDay.vue.d.ts +2 -2
  66. package/dist/vue-components/src/components/virtualTour/VTutorial.vue.d.ts +3 -3
  67. package/dist/vue-components/src/components/virtualTour/VViewModeToggle.vue.d.ts +3 -3
  68. package/dist/vue-components/src/components/virtualTour/VVirtualTour.vue.d.ts +28 -35
  69. package/dist/vue-components/src/components/virtualTour/types.d.ts +113 -0
  70. package/dist/vue-components/src/lib/apartmentChooser/RotationStep.d.ts +2 -1
  71. package/dist/vue-components/src/lib/apartmentChooser/SceneRotator.d.ts +2 -1
  72. package/dist/vue-components/src/lib/buildingChooser/BuildingChooserResourceProvider.d.ts +32 -0
  73. package/dist/vue-components/src/lib/buildingChooser/BuildingMap.d.ts +9 -0
  74. package/dist/vue-components/src/lib/buildingChooser/CanvasRaster.d.ts +8 -0
  75. package/dist/vue-components/src/lib/{buildingPicker → buildingChooser}/DayOfYearSelector.d.ts +1 -1
  76. package/dist/vue-components/src/lib/{buildingPicker → buildingChooser}/index.d.ts +1 -1
  77. package/dist/vue-components/src/lib/index.d.ts +2 -1
  78. package/dist/vue-components/src/lib/shared/I18N.d.ts +1 -0
  79. package/dist/vue-components/src/lib/shared/ResourceLoader.d.ts +4 -2
  80. package/dist/vue-components/src/lib/virtualTour/index.d.ts +1 -0
  81. package/dist/vue-components/src/vue-components.d.ts +10 -6
  82. package/dist/vue-components/src/web-components.d.ts +4 -3
  83. package/dist/vue-components/style.css +1 -1
  84. package/dist/vue-components/vue3-player.js +3618 -2411
  85. package/dist/vue-components/vue3-player.umd.cjs +1 -1
  86. package/package.json +1 -1
  87. package/dist/vue-components/src/components/buildingPicker/types.d.ts +0 -2
  88. package/dist/vue-components/src/components/virtualTour/VDisclaimer.vue.d.ts +0 -2
  89. package/dist/vue-components/src/components/virtualTour/VSettingsUI.vue.d.ts +0 -23
  90. package/dist/vue-components/src/components/virtualTour/VSocialShare.vue.d.ts +0 -2
  91. package/dist/vue-components/src/components/virtualTour/minimap/VMiniMapMap.vue.d.ts +0 -25
  92. package/dist/vue-components/src/components/virtualTour/minimap/VSunSimulationSlider.vue.d.ts +0 -23
  93. package/dist/vue-components/src/lib/buildingPicker/BuildingMap.d.ts +0 -7
  94. package/dist/vue-components/src/lib/buildingPicker/BuildingPickerResourceProvider.d.ts +0 -27
  95. package/dist/vue-components/src/lib/buildingPicker/CanvasRaster.d.ts +0 -8
  96. /package/dist/vue-components/src/components/{virtualTour/minimap → miniMap}/index.d.ts +0 -0
  97. /package/dist/vue-components/src/lib/{buildingPicker → buildingChooser}/SampleRaster.d.ts +0 -0
  98. /package/dist/vue-components/src/lib/{virtualTour → shared}/FullscreenModel.d.ts +0 -0
@@ -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,ne,ze,We){"use strict";var ya=Object.defineProperty;var _a=(P,e,ne)=>e in P?ya(P,e,{enumerable:!0,configurable:!0,writable:!0,value:ne}):P[e]=ne;var j=(P,e,ne)=>(_a(P,typeof e!="symbol"?e+"":e,ne),ne);function Se(m){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(m){for(const t in m)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(m,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:()=>m[t]})}}return o.default=m,Object.freeze(o)}const Ge=Se(ze),re=Se(We);class X{static async loadJson(o){return new X().loadJson(o)}static async loadImage(o){return new X().loadImage(o)}static async loadImageData(o){return new X().loadImageData(o)}async loadJson(o){return(await ne.get(o)).data}async loadImage(o){return new Promise((t,n)=>{const l=new Image;l.crossOrigin="anonymous",l.onload=()=>{t(l)},l.onerror=n,l.src=o})}async loadImageData(o){const t=await this.loadImage(o),n=document.createElement("canvas");try{const l=n.getContext("2d");return n.width=t.width,n.height=t.height,l.drawImage(t,0,0),n.toDataURL("image/png")}finally{n.remove()}}}const Qe=e.defineComponent({__name:"VHoverProbe",setup(m,{expose:o}){const t=e.ref(),n=e.computed(()=>window.getComputedStyle(t.value).display==="none");return o({isHoverEnabled:n}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"hoverCheck",ref:t,class:"hover-check"},null,512))}}),H=(m,o)=>{const t=m.__vccOpts||m;for(const[n,l]of o)t[n]=l;return t},ce=H(Qe,[["__scopeId","data-v-eb9b348d"]]),qe=H(e.defineComponent({__name:"VApartmentChooserRaster",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(m,{emit:o}){const t=m,n=o,l=e.ref({x:0,y:0,width:0,height:0}),a=e.ref(0),i=e.ref(0),r=e.ref(),g=e.ref(),p=e.ref(),c=e.ref(),u=e.ref(-1),v=e.ref(!1),E=e.ref(),_=e.ref(),k=e.ref({}),B=e.ref("auto"),A=e.ref(new X),f=e.ref({}),b=e.ref(),C=e.ref(),L=e.ref(),s=e.ref(),h=e.ref(),x=e.computed(()=>L.value.isHoverEnabled),y=e.computed(()=>t.cdnFileResolver(`/scenedata${t.viewModel.currentScene}.png`)),M=e.computed(()=>y.value in k.value?k.value[y.value]:null),D=e.computed(()=>u.value<0?!1:t.sceneData.find(F=>F.index===u.value)||!1),Q=e.computed(()=>({width:a.value+"px",height:i.value+"px",cursor:B.value})),w=e.computed(()=>`hover-${v.value?"over":"out"}-${D.value?typeof D.value=="object"&&"unitId"in D.value?D.value.unitId:D.value:""}`);e.watch(y,()=>{k.value[y.value]||A.value.loadImageData(y.value).then(S=>{k.value={...k.value,[y.value]:S}})},{immediate:!0}),e.watch(M,()=>{M.value&&N()}),e.watch(()=>t.viewModel.currentScene,()=>{le()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{le()}),e.watch(D,()=>{le(),D.value?B.value="pointer":B.value="auto"}),e.watch(w,()=>{v.value?n("hoverOver",{hoverUnit:D.value?D.value.unitId:!1,closeHandler:()=>Ee()}):n("hoverOut",{hoverUnit:D.value?D.value.unitId:!1,closeHandler:()=>Ee()})}),e.watch(l,()=>{n("pos",l.value)}),e.onMounted(()=>{C.value=()=>{clearTimeout(b.value),te(),b.value=setTimeout(()=>{te()},50)},window.addEventListener("resize",C.value),te()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",C.value);for(const S in k.value)URL.revokeObjectURL(k.value[S])});function N(){r.value=s.value.getContext("2d",{willReadFrequently:!0}),g.value=new Image,g.value.onload=()=>{we(),s.value.addEventListener("mousemove",ve(T,50))},g.value.src=M.value}function T(S){const F=O(S.offsetX,S.offsetY);v.value=F>=0,u.value=F,l.value={x:S.offsetX,y:S.offsetY,width:a.value,height:i.value}}function V(S){const F=O(S.offsetX,S.offsetY);F<0||x&&K(F)}function U(){if(g.value&&g.value.width){s.value.width=g.value.width,s.value.height=g.value.height,r.value.drawImage(g.value,0,0,g.value.width,g.value.height),c.value=r.value.getImageData(0,0,s.value.width,s.value.height),p.value=r.value.getImageData(0,0,s.value.width,s.value.height);const S=c.value.data;f.value={};for(let F=0;F<S.length;F+=4)f.value[S[F]]=[];for(let F=3;F<S.length;F+=4)S[F]===255&&S[F-3]in f.value&&f.value[S[F-3]].push(F-3)}}function O(S,F){E.value=S,_.value=F;const Y=s.value.offsetWidth/s.value.width,Ce=s.value.offsetHeight/s.value.height,se=(S/Y).toFixed(),oe=(F/Ce).toFixed(),q=Number(oe)*(s.value.width*4)+Number(se)*4,xe=c.value.data[q];return c.value.data[q+3]>0?xe:-1}function $(){Z().forEach(F=>{if(F.index>=0){const Y=z(F.index);if(Y){const Ce=G(F.index);let se="idle";!D.value&&t.selectedUnitId&&Ce===t.selectedUnitId?se="selected":D.value&&u.value===F.index&&(se="hover");const oe=t.colorCallback(F.unitId,se);if(oe)for(let q=0;q<Y.length;q++)p.value.data[Y[q]]=oe.r,p.value.data[Y[q]+1]=oe.g,p.value.data[Y[q]+2]=oe.b,p.value.data[Y[q]+3]=oe.a}}})}function z(S){return c.value?f.value[S]:!1}function G(S){const F=t.sceneData.find(Y=>Y.index===S);return F&&F.unitId}function Z(){if(c.value){const S=Object.keys(f.value).map(Y=>parseInt(Y));return t.sceneData.filter(Y=>S.includes(Y.index))}else return[]}function K(S){const F=G(S);J(F)}function J(S){n("selectUnit",S),S&&this.canGoToUnitCallback(S)&&n("goToUnit",S)}function ee(S=0){if(!p.value)return;const F=p.value.data;for(let Y=3;Y<F.length;Y+=4)F[Y]=S}function te(){if(!h.value)return!1;a.value=h.value.offsetWidth,i.value=h.value.offsetHeight}function we(){U(),le()}function le(){ee(),$(),r.value&&p.value&&r.value.putImageData(p.value,0,0)}function Ee(){v.value=!1}const pe=e.ref(!1);function ve(S,F){return pe.value=!0,function(...Y){pe.value&&(pe.value=!1,S.apply(this,Y),setTimeout(()=>pe.value=!0,F))}}return(S,F)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:h,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:s,style:e.normalizeStyle(Q.value),onClick:V},null,4),[[e.vShow,!S.viewModel.isRotating]]),e.createVNode(ce,{ref_key:"hoverProbe",ref:L},null,512)],512))}}),[["__scopeId","data-v-392566da"]]),Ze=["viewBox"],Xe=["innerHTML","onMouseenter","onMouseleave","onClick"],Ke=H(e.defineComponent({__name:"VApartmentChooserSvg",props:{cdnFileResolver:{},viewModel:{},selectedUnitId:{},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{default:()=>[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{}},emits:["selectUnit","goToUnit","hoverOver","hoverOut","pos"],setup(m,{emit:o}){const t=m,n=o,l=e.ref({x:0,y:0,width:0,height:0}),a=e.ref(-1),i=e.ref({}),r=e.ref(null),g=e.ref(new X),p=e.ref(),c=e.ref(),u=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in i.value&&(r.value=i.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(i,()=>{t.viewModel.currentScene in i.value&&(r.value=i.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(l,()=>{n("pos",l.value)}),e.watch(a,(C,L)=>{if(C>=0){const s=E(C);n("hoverOver",{hoverUnit:s,closeHandler:()=>{a.value=-1}})}else{const s=E(L);n("hoverOut",{hoverUnit:s,closeHandler:()=>{a.value=-1}})}}),e.onMounted(()=>{for(let C=1;C<=4;C++){const L=t.cdnFileResolver(`/scenedata${C}.svg`),s={markup:"",viewBox:"",svgObjects:[]};g.value.loadJson(L).then(h=>{s.markup=h;const y=new DOMParser().parseFromString(h,"image/svg+xml").getElementsByTagName("svg")[0];s.viewBox=y.getAttribute("viewBox"),s.svgObjects=Array.from(y.querySelectorAll("*[data-index]")).map(M=>({index:parseInt(M.getAttribute("data-index")),svg:M.innerHTML})),i.value={...i.value,[C]:s}})}p.value.addEventListener("mousemove",b(v,50))});function v(C){l.value={x:C.offsetX,y:C.offsetY,width:p.value.offsetWidth,height:p.value.offsetHeight}}function E(C){var L;return(L=t.sceneData.find(s=>s.index===(typeof C=="string"?parseInt(C):C)))==null?void 0:L.unitId}function _(C){u.value&&(a.value=C)}function k(C){u.value&&(a.value=-1)}function B(C){const L=E(C);n("selectUnit",L),u.value&&L&&t.canGoToUnitCallback(L)?n("goToUnit",L):a.value=C}function A(C){const L=E(C);let s="idle";a.value<0&&t.selectedUnitId&&L===t.selectedUnitId?s="selected":a.value>=0&&a.value===C&&(s="hover");const h=t.colorCallback(L,s);if(h){const{r:x,g:y,b:M,a:D,s:Q}=h;return{strokeWidth:Q!==void 0?Q:2,stroke:`rgb(${x}, ${y}, ${M})`,strokeOpacity:1,fill:`rgb(${x}, ${y}, ${M})`,fillOpacity:D/255,cursor:`${t.canGoToUnitCallback(L)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const f=e.ref(!1);function b(C,L){return f.value=!0,function(...s){f.value&&(f.value=!1,C.apply(this,s),setTimeout(()=>f.value=!0,L))}}return(C,L)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:p},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!r.value||!r.value.svgObjects?0:1})},[r.value&&r.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:r.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.svgObjects,({index:s,svg:h})=>(e.openBlock(),e.createElementBlock("g",{key:s,innerHTML:h,style:e.normalizeStyle(A(s)),onMouseenter:x=>_(s),onMouseleave:x=>k(),onClick:x=>B(s)},null,44,Xe))),128))],8,Ze)):e.createCommentVNode("",!0)],4),[[e.vShow,!C.viewModel.isRotating]]),e.createVNode(ce,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-7f524ad6"]]),he=Symbol(),Je={key:0,class:"text-success d-none d-md-flex"},et={class:"text-success"},tt=H(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,n=e.computed(()=>t.selectedUnitId),l=e.computed(()=>t.nextUnitId),a=e.computed(()=>t.prevUnitId),i=o,r=e.inject(he);e.onMounted(()=>{window.addEventListener("keydown",g)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",g)});function g(p){p.keyCode===37?t.prevUnitId&&i("prevUnit"):p.keyCode===39&&t.nextUnitId&&i("nextUnit")}return(p,c)=>{const u=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:c[0]||(c[0]=v=>p.viewModel.rotateClockwise())}),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!a.value,onClick:c[1]||(c[1]=v=>i("prevUnit"))},null,8,["disabled"]),e.createVNode(u,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.value||!p.canGoToUnitCallback(n.value),onClick:c[2]||(c[2]=v=>i("goToUnit",n.value))},{default:e.withCtx(()=>[n.value&&p.canGoToUnitCallback(n.value)?(e.openBlock(),e.createElementBlock("span",Je,e.toDisplayString(e.unref(r).getLabel("see-apartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",et,e.toDisplayString(n.value?t.unitRenderer(n.value):"-"),1)]),_:1},8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!l.value,onClick:c[3]||(c[3]=v=>i("nextUnit"))},null,8,["disabled"]),e.createVNode(u,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>p.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-2c22490f"]]);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 Le{constructor(o,t,n,l){j(this,"_rotator");j(this,"_direction");j(this,"_frameIndex");j(this,"_sceneCount");this._rotator=o,this._direction=t,this._frameIndex=n,this._sceneCount=l}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 Le(this._rotator,this._direction,o,t)}}class ot{constructor(o,t){j(this,"_cardinalFrames");j(this,"_totalFrameCount");this._cardinalFrames=o,this._totalFrameCount=t}start(o,t,n){const l=this.startFrameIndexForScene(t);return new Le(this,o,l,n)}isCardinalFrame(o){return this._cardinalFrames.includes(o)}clampFrameIndex(o){return(this._totalFrameCount+o)%this._totalFrameCount}startFrameIndexForScene(o){return this._cardinalFrames[o]}}const nt={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},at={key:1,class:"frame-container"},lt={key:0,class:"frame-image"},rt=["srcset"],it=["src"],st={key:2,id:"image-stack",class:"frame-container"},ct=["alt"],dt=["srcset"],mt=["src"],Me=64,ge=4,ut=120,pt=H(e.defineComponent({__name:"VApartmentChooserRotator",props:{viewModel:{},build:{default:""},cdnFileResolver:{},cardinalFrames:{}},emits:["loaded","error","progress"],setup(m,{emit:o}){const t=m,n=o,l=E(),a=e.ref(new Ne(l.length).onLoadFinished(()=>n("loaded")).onLoadProgress(A=>n("progress",A)).onLoadError(()=>n("error"))),i=e.ref(new ot(t.cardinalFrames,Me)),r=e.ref(l),g=e.ref(!1),p=e.computed(()=>r.value.find(A=>A.show));e.watch(()=>t.viewModel.currentScene,(A,f)=>{const b=B(f,A),C=k(f,A);c(f,b,C)}),e.onMounted(()=>{v()});function c(A,f,b){t.viewModel.isRotating||(t.viewModel.isRotating=!0,u(i.value.start(f,A%ge,b)))}function u(A){setTimeout(()=>{r.value[A.frameIndex].show=!1;const f=A.nextFrame();r.value[f.frameIndex].show=!0,f.atEnd?v():window.requestAnimationFrame(()=>u(f))},1e3/ut)}function v(){const A=i.value.startFrameIndexForScene(t.viewModel.currentScene%ge);A in r.value&&(r.value[A].show=!0),t.viewModel.isRotating=!1}function E(){const A=[];for(let f=0;f<Me;f++){const{sourceSet:b,defaultPath:C}=_(f);A.push({index:f,sourceSet:b,defaultPath:C,show:!1})}return A}function _(A){const f=("0000"+(A+1)).slice(-4),b=t.build?`?v=${t.build}`:"",C=[`${t.cdnFileResolver(`/480/${f}.jpg${b}`)} 480w`,`${t.cdnFileResolver(`/960/${f}.jpg${b}`)} 960w`,`${t.cdnFileResolver(`/1280/${f}.jpg${b}`)} 1280w`].join(","),L=t.cdnFileResolver(`/480/${f}.jpg${b}`);return{sourceSet:C,defaultPath:L}}function k(A,f){const b=ge/2,C=Math.abs(A-f);return C>b?ge-C:C}function B(A,f){if(A===f)return 0;const C=Math.abs(A-f)<ge/2;return C&&A<f||!C&&A>f?1:-1}return(A,f)=>{const b=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[a.value.isError?(e.openBlock(),e.createElementBlock("div",nt,[e.createVNode(b,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):g.value?(e.openBlock(),e.createElementBlock("div",st,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,C=>(e.openBlock(),e.createElementBlock("picture",{key:C.index,alt:C.index,class:e.normalizeClass({"frame-image":!0,show:C.show})},[e.createElementVNode("source",{srcset:C.sourceSet,type:"image/jpeg"},null,8,dt),e.createElementVNode("img",{src:C.defaultPath,alt:"Building image",onLoad:f[2]||(f[2]=L=>a.value.partLoaded()),onError:f[3]||(f[3]=L=>a.value.errorDetected())},null,40,mt)],10,ct))),128))])):(e.openBlock(),e.createElementBlock("div",at,[p.value?(e.openBlock(),e.createElementBlock("picture",lt,[e.createElementVNode("source",{srcset:p.value.sourceSet,type:"image/jpeg"},null,8,rt),e.createElementVNode("img",{src:p.value.defaultPath,onLoad:f[0]||(f[0]=C=>g.value=!0),onError:f[1]||(f[1]=C=>a.value.errorDetected())},null,40,it)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-66e34700"]]),ye=H(e.defineComponent({__name:"VFloatingCard",props:{pos:{},isHoverable:{type:Boolean}},emits:["outside"],setup(m,{emit:o}){const t=m,n=o,l=e.computed(()=>{const a=t.pos.x<=t.pos.width/2?"left":"right";return`${t.pos.y<=t.pos.height/2?"top":"bottom"}-${a}`});return(a,i)=>{const r=e.resolveComponent("v-dialog"),g=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(g,{origin:l.value.replace("-"," ")+" "+a.pos.x+" "+a.pos.y},{default:e.withCtx(()=>[a.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["floating-card",l.value]),style:e.normalizeStyle({left:`${a.pos.x}px`,top:`${a.pos.y}px`,pointerEvents:"none"})},[e.renderSlot(a.$slots,"default",{isHoverable:a.isHoverable},void 0,!0)],6)):(e.openBlock(),e.createBlock(r,{key:1,value:!0,width:"auto","onClick:outside":i[0]||(i[0]=p=>n("outside",p))},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{isHoverable:a.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-0695e74f"]]),_e=H(e.defineComponent({__name:"VZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0}},emits:["update"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(100),a=e.ref(0),i=e.ref(0),r=e.ref(!1),g=e.ref(!1),p=e.ref(void 0),c=e.ref(!1),u=e.ref(),v=e.computed(()=>`translateX(${a.value}px) translateY(${i.value}px) scale(${E.value})`),E=e.computed(()=>l.value/100),_=e.computed(()=>t.maxScale*100);e.watch([E,a,i],()=>{T()}),e.watch(()=>t.desktop,()=>{t.desktop?k():A()}),e.watch(()=>t.mobile,()=>{t.mobile?B():f()}),e.onMounted(()=>{t.desktop&&k(),t.mobile&&B()}),e.onBeforeUnmount(()=>{t.desktop&&A(),t.mobile&&f()});function k(){u.value.addEventListener("wheel",b,{capture:!0}),u.value.addEventListener("mousedown",C,{capture:!0}),u.value.addEventListener("mousemove",L,{capture:!0}),window.addEventListener("mouseup",s,{capture:!0}),window.addEventListener("click",h,{capture:!0})}function B(){u.value.addEventListener("touchstart",x,{capture:!0}),u.value.addEventListener("touchmove",y,{capture:!0}),window.addEventListener("touchend",M,{capture:!0}),window.addEventListener("touchcancel",M,{capture:!0})}function A(){u.value.removeEventListener("wheel",b,{capture:!0}),u.value.removeEventListener("mousedown",C,{capture:!0}),u.value.removeEventListener("mousemove",L,{capture:!0}),window.removeEventListener("mouseup",s,{capture:!0}),window.removeEventListener("click",h,{capture:!0})}function f(){u.value.removeEventListener("touchstart",x,{capture:!0}),u.value.removeEventListener("touchmove",y,{capture:!0}),window.removeEventListener("touchend",M,{capture:!0}),window.removeEventListener("touchcancel",M,{capture:!0})}function b(V){const{x:U,y:O}=D(V);N(-V.deltaY/10,U,O),V.preventDefault()}function C(V){r.value=!0,c.value=!1,p.value=V}function L(V){if(r.value){const{x:U,y:O}=D(V),{x:$,y:z}=D(p.value),G={x:U-$,y:O-z};Q(G.x),w(G.y),c.value=!0,p.value=V}}function s(V){r.value&&c.value&&t.consumeMouseUpWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation())}function h(V){r.value&&(c.value&&t.consumeMouseClickWhenMoved&&(V.preventDefault(),V.stopImmediatePropagation()),r.value=!1)}function x(V){r.value=V.touches.length===1,g.value=V.touches.length===2,p.value=V}function y(V){if(r.value){const{x:U,y:O}=D(V.touches[0]),{x:$,y:z}=D(p.value.touches[0]),G={x:U-$,y:O-z};Q(G.x),w(G.y)}else if(g.value&&V.touches.length===2){const{x:U,y:O}=D(V.touches[0]),{x:$,y:z}=D(p.value.touches[0]),{x:G,y:Z}=D(V.touches[1]),{x:K,y:J}=D(p.value.touches[1]),ee=Math.hypot($-K,z-J),te=Math.hypot(U-G,O-Z),we=(G+U)/2,le=(Z+O)/2;N(te-ee,we,le)}p.value=V}function M(){r.value=!1,g.value=!1}function D(V){const{left:U,top:O}=u.value.getBoundingClientRect();return{x:V.clientX-U,y:V.clientY-O}}function Q(V){const U=u.value.clientWidth,O=U*E.value;a.value=Math.max(Math.min(0,a.value+V),-(O-U))}function w(V){const U=u.value.clientHeight,O=U*E.value;i.value=Math.max(Math.min(0,i.value+V),-(O-U))}function N(V,U,O){const $=u.value.clientWidth,z=u.value.clientHeight,G=$*E.value,Z=z*E.value;l.value=Math.min(Math.max(100,l.value+V),_.value);const K=$*E.value,J=z*E.value,ee=K-G,te=J-Z;a.value-=U/$*ee,i.value-=O/z*te,Q(0),w(0)}function T(){n("update",{scale:E.value,x:a.value,y:i.value,resolve:(V,U)=>{const O=u.value.clientWidth,$=u.value.clientHeight,z=a.value/-E.value,G=i.value/-E.value,Z=z+O/E.value,K=G+$/E.value,J=V/O*(Z-z)+z,ee=U/$*(K-G)+G;return{x:J,y:ee}}})}return(V,U)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"box",ref:u,class:"zoom-box-container"},[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:v.value}),class:"zoom-box"},[e.renderSlot(V.$slots,"default",{},void 0,!0)],4)],512))}}),[["__scopeId","data-v-52f62ef2"]]),Ae=4;function Fe(m){return m<Ae?m+1:1}function ft(m){return m>1?m-1:Ae}class ht{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=ft(this.currentScene)})}}const gt={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 ae{constructor({labels:o,language:t}={labels:null,language:null}){j(this,"_labels");j(this,"_language");this._labels={...gt,...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 kt={key:0},wt={class:"interactive-viewer"},vt={class:"fill-parent"},Ct={key:0},yt={key:1,class:"navigation"},_t={key:2},bt=4,De=H(e.defineComponent({__name:"VApartmentChooser",props:{i18nConfig:{},showCards:{type:Boolean,default:!0},build:{default:""},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},canGoToUnitCallback:{type:Function,default:()=>!0},unitRenderer:{type:Function,default: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],n=m,l=o;e.provide(he,n.i18nConfig?new ae(n.i18nConfig):new ae);const a=e.reactive({isReady:!1,isError:!1}),i=e.ref(),r=e.ref(),g=e.ref(),p=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),u=e.ref(),v=e.ref(),E=e.ref(),_=e.computed(()=>E.value.isHoverEnabled),k=e.computed(()=>n.useSvg?Ke:qe),B=e.computed(()=>n.selectedUnitId),A=e.computed(()=>n.nextUnitId),f=e.computed(()=>n.prevUnitId);e.watchEffect(()=>{if(B.value&&p.value){const s=i.value[B.value];s&&(p.value.currentScene=s)}}),e.onMounted(async()=>{const s=n.apartmentChooserData&&n.apartmentChooserData.startScene!==void 0?n.apartmentChooserData.startScene:bt;g.value=n.apartmentChooserData&&n.apartmentChooserData.scenes!==void 0?n.apartmentChooserData.scenes:t,r.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(y=>({unitId:y.apartmentID,index:y.index})):[],i.value=n.apartmentChooserData&&n.apartmentChooserData.sceneData!==void 0?n.apartmentChooserData.sceneData.map(y=>{const M=y.bestScene===0?4:y.bestScene;return{unitId:y.apartmentID,scene:M}}).reduce((y,M)=>({...y,[M.unitId]:M.scene}),{}):{};const h=(y,M="unitId")=>{let D=s,Q=[];for(let w=0;w<Ae;w++)Q.push(D),D=Fe(D);return y.sort((w,N)=>{const T=Q.findIndex(U=>U===i.value[w[M]]),V=Q.findIndex(U=>U===i.value[N[M]]);return T<V?-1:T>V?1:0}),y},x=y=>{p.value=new ht(y)};l("initialized",{scene:s,scenes:g.value,sceneData:r.value,scenesByApartment:i.value,unitsSceneSort:h,initialize:x})});function b(s){c.value=s}function C(s){v.value=s.hoverUnit,u.value=s.closeHandler,l("hoverOverUnit",s.hoverUnit)}function L(s){v.value=null,u.value=s.closeHandler,l("hoverOutUnit",s.hoverUnit)}return(s,h)=>{const x=e.resolveComponent("v-progress-linear");return p.value?(e.openBlock(),e.createElementBlock("div",kt,[e.createElementVNode("div",wt,[e.createElementVNode("div",vt,[e.createVNode(_e,{desktop:a.isReady&&s.interactiveDesktop,mobile:a.isReady&&s.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(pt,{"cdn-file-resolver":s.cdnFileResolver,"view-model":p.value,"cardinal-frames":g.value,build:s.build,onProgress:h[0]||(h[0]=y=>a.progress=y),onLoaded:h[1]||(h[1]=y=>a.isReady=!0),onError:h[2]||(h[2]=y=>a.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),a.isReady?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(k.value),{"cdn-file-resolver":s.cdnFileResolver,"view-model":p.value,"selected-unit-id":B.value,"scene-data":r.value,"color-callback":s.colorCallback,"can-go-to-unit-callback":s.canGoToUnitCallback,"draw-observer":s.drawObserver,onSelectUnit:h[3]||(h[3]=y=>l("selectUnit",y)),onGoToUnit:h[4]||(h[4]=y=>l("goToUnit",y)),onHoverOver:C,onHoverOut:L,onPos:b},{default:e.withCtx(y=>[e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(y)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),v.value&&s.showCards?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":_.value,pos:c.value,onOutside:u.value},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default",{unit:v.value,canGoToUnit:s.canGoToUnitCallback(v.value),goToUnit:()=>s.canGoToUnitCallback(v.value)&&l("goToUnit",v.value),pos:c.value,isHoverable:_.value,close:u.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),a.isReady?(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(tt,{"can-go-to-unit-callback":s.canGoToUnitCallback,"unit-renderer":s.unitRenderer,"selected-unit-id":B.value,"prev-unit-id":f.value,"next-unit-id":A.value,"view-model":p.value,onGoToUnit:h[5]||(h[5]=y=>l("goToUnit",y)),onPrevUnit:h[6]||(h[6]=y=>l("navUnit",f.value)),onNextUnit:h[7]||(h[7]=y=>l("navUnit",A.value))},null,8,["can-go-to-unit-callback","unit-renderer","selected-unit-id","prev-unit-id","next-unit-id","view-model"])])):a.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(x,{indeterminate:!a.progress,modelValue:a.progress,"onUpdate:modelValue":h[8]||(h[8]=y=>a.progress=y)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(ce,{ref_key:"hoverProbe",ref:E},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-b0fb223d"]]),Vt="data:image/png;base64,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",be=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(n,l)=>{const a=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(a,{src:e.unref(Vt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}}),Et={class:"sunsim-bar-wrapper"},Bt={class:"sunsim-date d-flex align-center pl-5 pr-5"},Nt={key:1,class:"text-center text-body-1"},Lt={class:"sunsim-wrapper d-flex align-center px-3"},At={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Ue=H(e.defineComponent({__name:"VBuildingChooserSunSimControl",props:{modelValue:{},dateSelector:{},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(t.modelValue),a=e.ref(null);function i(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const r=e.computed(()=>{const c=Math.floor(l.value/2).toString().padStart(2,"0"),u=l.value%2===0?"00":"30";return`${c}:${u}`}),g=e.computed(()=>t.dateSelector.dates.map(i)),p=e.computed({get(){return i(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(g.value.indexOf(c))}});return e.watch(l,c=>{n("update:modelValue",c)}),e.watch(a,c=>{t.dateSelector.selectIndex(g.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{l.value=Math.floor(c)}),e.watchEffect(()=>{a.value=i(t.dateSelector.selectedDate)}),(c,u)=>{const v=e.resolveComponent("v-icon"),E=e.resolveComponent("v-select"),_=e.resolveComponent("v-progress-linear"),k=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Et,[e.createElementVNode("div",Bt,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(E,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=B=>a.value=B),items:g.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Nt,e.toDisplayString(p.value),1))]),e.createElementVNode("div",Lt,[e.createElementVNode("span",At,e.toDisplayString(r.value),1),e.createVNode(v,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),c.isLoading?(e.openBlock(),e.createBlock(_,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(k,{key:1,modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=B=>l.value=B),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-0d8001a3"]]),xt={key:0},It=["src"],Te=H(e.defineComponent({__name:"VBuildingChooserSceneImageStack",props:{imageUrls:{},activeIndex:{}},emits:["resize","ready","preloaded","reset"],setup(m,{emit:o}){const t=m,n=o,l=e.ref("init"),a=e.ref(new Ne(0)),i=e.ref();e.watch(()=>t.imageUrls,p=>{n("reset"),g(p)}),e.onMounted(()=>{g(t.imageUrls),new ResizeObserver(p=>{window.requestAnimationFrame(()=>{const c=p[0].contentRect.width,u=p[0].contentRect.height;n("resize",{width:c,height:u})})}).observe(i.value)});function r(){l.value="preloaded",n("preloaded")}function g(p){l.value="init",i.value.src=p[0],a.value=new Ne(p.length).onLoadFinished(()=>{l.value="loaded",n("ready")})}return(p,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:i,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:r},null,544),l.value==="preloaded"||l.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.imageUrls,(u,v)=>(e.openBlock(),e.createElementBlock("img",{key:v,class:e.normalizeClass({"image-instance":!0,active:v===p.activeIndex}),src:u,onLoad:c[0]||(c[0]=E=>a.value.partLoaded())},null,42,It))),128)),e.createTextVNode(" Here ")],512)),[[e.vShow,l.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-1dc6128e"]]),St="buildingChooser.json",Mt=180;class Re{constructor(o){j(this,"_cdnFileResolver");j(this,"_resourceLoader");this._cdnFileResolver=o,this._resourceLoader=new X}constructFileUrl(o){return this._cdnFileResolver?this._cdnFileResolver(`/${o}`):null}loadConfigFile(){const o=this.constructFileUrl(St);return o?this._resourceLoader.loadJson(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:[],n=t.map(a=>a.id),l=t.map(a=>({id:a.id,url:this.constructFileUrl(a.overlayFilename)}));return{buildingIds:n,buildingOverlays:l}}getBackgroundImageData(o){return"days"in o?this.processMultipleDays(o.days):[this.processTimeSamples(Mt,o.timeSamples)]}processMultipleDays(o){return o.map(t=>this.processTimeSamples(t.dayOfYear,t.timeSamples))}processTimeSamples(o,t){return{urls:t.map(l=>this.constructFileUrl(l.filename)),referenceDate:this.makeReferenceDate(o)}}makeReferenceDate(o){const t=new Date(0);return t.setUTCDate(o),t}async loadBuildingChooser(){try{const o=await this.loadConfigFile();if(o){const t=await this.loadBuildingMapImage(o);if(t){const n=this.getViewLongitude(o),{buildingIds:l,buildingOverlays:a}=this.getBuildingData(o),i=this.getBackgroundImageData(o);return{mapImage:t,viewLongitude:n,buildingIds:l,buildingOverlays:a,backgrounds:i}}}return null}catch{return null}}}class de{constructor(o){j(this,"_buildingIds");this._buildingIds=o}static empty(){return new de([])}getBuildingId(o,t,n){const l=this._getBuildingIndex(o,t,n);if(l!==void 0)return this._buildingIds[l]}_getBuildingIndex(o,t,n){const[l,a,i,r]=o.getPixel(t,n);if(r===255&&l===a&&a===i)return l}}class me{constructor(o){j(this,"_mapImage");j(this,"_context");this._mapImage=o,this._context=null}static empty(){return new me(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 Ft=new Date(0);class Ve{constructor(o){j(this,"_imagesByDay");j(this,"_state");this._imagesByDay=o,this._state={selectedIndex:0}}static empty(){return new Ve([{referenceDate:Ft,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}}const Dt={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Ut={class:"image-instances"},Tt={key:0},Rt={class:"svg-container"},Ot=["viewBox"],$t=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Ht=["innerHTML"],jt=H(e.defineComponent({__name:"VBuildingChooserSvg",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:m=>m},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,n=o;e.provide(he,t.i18nConfig?new ae(t.i18nConfig):new ae);const l=e.ref({preloaded:!1,ready:!1}),a=e.ref({width:0,height:0}),i=e.ref({x:0,y:0,width:0,height:0}),r=e.ref(),g=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),p=e.ref(!1),c=e.ref(new X),u=e.ref(),v=e.ref("0 0 0 0"),E=e.ref({}),_=e.ref(),k=e.ref(de.empty()),B=e.ref(me.empty()),A=e.ref(),f=e.computed(()=>{var w;return(w=A.value)==null?void 0:w.isHoverEnabled}),b=e.computed(()=>s(r.value));e.watch(r,(w,N)=>{w?n("hoverOverBuilding",s(w)):n("hoverOutBuilding",s(N))}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[w,N,T]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),V=parseInt(T);g.value=parseInt(N)*2+(V<15?0:V>45?2:1)}}),e.onMounted(async()=>{const N=await new Re(t.cdnFileResolver).loadBuildingChooser();if(N){B.value=new me(N.mapImage),k.value=new de(N.buildingIds),E.value=new Ve(N.backgrounds),_.value={buildingOverlays:N.buildingOverlays,sceneLongitude:N.viewLongitude};const T=[];for(let{id:V,url:U}of N.buildingOverlays)c.value.loadJson(U.replace(".png",".svg")).then(O=>{const z=new DOMParser().parseFromString(O,"image/svg+xml").getElementsByTagName("svg")[0];v.value=z.getAttribute("viewBox"),T.push({id:V,svg:z.innerHTML})});u.value=T}else p.value=!0});function C({width:w,height:N}){a.value.width=w,a.value.height=N}function L(){l.value={preloaded:!1,ready:!1}}function s(w){return t.buildingCallback?t.buildingCallback(w):w}function h(w){const N=s(w),T=t.colorCallback(N,w===r.value?"hover":"idle"),V=[];return w===r.value?V.push("hover"):V.push("idle"),T&&t.canGoToBuildingCallback(N)?V.push("clickable"):V.push("restricted"),V.join(" ")}function x(w){const N=s(w),T=t.colorCallback(N,w===r.value?"hover":"idle");if(T){const{r:V,g:U,b:O,a:$,s:z}=T;return{strokeWidth:z!==void 0?z:2,stroke:`rgb(${V}, ${U}, ${O})`,strokeOpacity:1,fill:`rgb(${V}, ${U}, ${O})`,fillOpacity:$/255,cursor:`${t.canGoToBuildingCallback(N)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function y(w,N){f.value&&(i.value={x:w.layerX,y:w.layerY,width:a.value.width,height:a.value.height},r.value=N,n("hoverOverBuilding",s(N)))}function M(w,N){f.value&&(i.value={x:w.layerX,y:w.layerY,width:a.value.width,height:a.value.height},r.value=void 0,n("hoverOutBuilding",s(N)))}function D(w,N){f.value&&(i.value={x:w.layerX,y:w.layerY,width:a.value.width,height:a.value.height})}function Q(w){r.value=w,f.value&&b.value&&t.canGoToBuildingCallback(b.value)&&n("goToBuilding",b.value)}return(w,N)=>{const T=e.resolveComponent("v-icon");return p.value?(e.openBlock(),e.createElementBlock("div",Dt,[e.createVNode(T,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):_.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${a.value.height}px; position: relative`),class:"image-container"},[e.createVNode(_e,{desktop:w.interactiveDesktop,mobile:w.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Ut,[e.createVNode(Te,{"image-urls":E.value.imageUrls,"active-index":g.value,onResize:C,onPreloaded:N[0]||(N[0]=V=>l.value.preloaded=!0),onReady:N[1]||(N[1]=V=>l.value.ready=!0),onReset:L},null,8,["image-urls","active-index"]),u.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",Tt,[e.createElementVNode("div",Rt,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,({id:V,svg:U},O)=>(e.openBlock(),e.createElementBlock("g",{key:O,innerHTML:U,"data-building-id":V,class:e.normalizeClass(h(V)),style:e.normalizeStyle(x(V)),onMouseover:$=>y($,V),onMouseout:$=>M($,V),onMousemove:$=>D($),onClick:$=>Q(V)},null,46,$t))),128))],8,Ot))])],512)),[[e.vShow,l.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:w.customOverlayContent},null,8,Ht),[[e.vShow,l.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[_.value.sceneLongitude?(e.openBlock(),e.createBlock(be,{key:0,class:"north-indicator",longitude:_.value.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Ue,{modelValue:g.value,"onUpdate:modelValue":N[2]||(N[2]=V=>g.value=V),"date-selector":E.value,"is-loading":!l.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,l.value.preloaded]]),w.showCards&&b.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":f.value,pos:i.value,onOutside:N[3]||(N[3]=()=>r.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{building:b.value,canGoToBuilding:w.canGoToBuildingCallback(b.value),goToBuilding:()=>w.canGoToBuildingCallback(b.value)&&n("goToBuilding",b.value),pos:i.value,isHoverable:f.value,close:()=>r.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ce,{ref_key:"hoverProbe",ref:A},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-a0325460"]]),Pt=H(e.defineComponent({__name:"VBuildingChooserRasterOverlay",props:{imageUrl:{},dimensions:{},color:{default:()=>({r:108,g:0,b:108,a:144,s:2})}},setup(m){const o=m,t=e.ref(!1),n=e.ref(void 0),l=e.ref(new X),a=e.ref(void 0),i=e.ref(void 0),r=e.ref([]),g=e.ref();e.watch(()=>o.color,(v,E)=>{(v.r!==E.r||v.g!==E.g||v.b!==E.b||v.a!==E.a)&&c()}),e.onMounted(async()=>{n.value=await l.value.loadImage(o.imageUrl),p()});function p(){if(!n.value||!g.value)return;const{width:v,height:E}=o.dimensions;if(!(v===0||E===0)){a.value=g.value.getContext("2d",{willReadFrequently:!0}),a.value.drawImage(n.value,0,0,v,E),i.value=a.value.getImageData(0,0,v,E);for(let _=3;_<i.value.data.length;_+=4)i.value.data[_]!==0&&r.value.push(_);c(),t.value=!0}}function c(){a.value&&i.value&&(u(),a.value.putImageData(i.value,0,0))}function u(){if(o.color)for(let v=0;v<r.value.length;v++)i.value.data[r.value[v]-3]=o.color.r,i.value.data[r.value[v]-2]=o.color.g,i.value.data[r.value[v]-1]=o.color.b,i.value.data[r.value[v]]=o.color.a}return(v,E)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:g,class:"overlay"},v.dimensions),null,16))}}),[["__scopeId","data-v-7f7df838"]]),Yt={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},zt={class:"image-instances"},Wt=["innerHTML"],Gt=H(e.defineComponent({__name:"VBuildingChooserRaster",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:m=>m},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{},cdnFileResolver:{},i18nConfig:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,n=o;e.provide(he,t.i18nConfig?new ae(t.i18nConfig):new ae);const l=e.ref({}),a=e.ref({preloaded:!1,ready:!1}),i=e.ref({width:0,height:0}),r=e.ref({x:0,y:0,width:0,height:0}),g=e.ref(void 0),p=e.ref(de.empty()),c=e.ref(me.empty()),u=e.ref(void 0),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),E=e.ref((w,N)=>({x:w,y:N})),_=e.ref(!1),k=e.ref(),B=e.ref(),A=e.ref(),f=e.computed(()=>{var w;return(w=k.value)==null?void 0:w.isHoverEnabled}),b=e.computed(()=>s(u.value));e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[w,N,T]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),V=parseInt(T);v.value=parseInt(N)*2+(V<15?0:V>45?2:1)}}),e.watch(u,(w,N)=>{w?n("hoverOverBuilding",s(w)):n("hoverOutBuilding",s(N))}),e.onMounted(async()=>{const N=await new Re(t.cdnFileResolver).loadBuildingChooser();N?(c.value=new me(N.mapImage),p.value=new de(N.buildingIds),l.value=new Ve(N.backgrounds),g.value={buildingOverlays:N.buildingOverlays,sceneLongitude:N.viewLongitude},x()):_.value=!0});function C({width:w,height:N}){i.value.width=w,i.value.height=N,e.nextTick(x)}function L(){a.value={preloaded:!1,ready:!1}}function s(w){return t.buildingCallback?t.buildingCallback(w):w}function h(w){const{x:N,y:T}=E.value(w.layerX,w.layerY);return p.value.getBuildingId(c.value,N,T)}function x(){if(B.value&&(c.value.update(B.value),A.value))for(const w of A.value)w.setupDraw()}function y(w){f.value&&(u.value=h(w),u.value!==void 0&&(r.value={x:w.layerX,y:w.layerY,width:i.value.width,height:i.value.height}))}function M(w){u.value=h(w),f.value&&b.value&&n("goToBuilding",b.value)}function D(w){return t.colorCallback(s(w),w===u.value?"hover":"idle")}function Q({resolve:w}){E.value=w}return(w,N)=>{const T=e.resolveComponent("v-icon");return _.value?(e.openBlock(),e.createElementBlock("div",Yt,[e.createVNode(T,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):g.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${u.value?"pointer":"auto"};height: ${i.value.height}px; position: relative`),class:"image-container"},[e.createVNode(_e,{desktop:w.interactiveDesktop,mobile:w.interactiveMobile,onUpdate:Q},{default:e.withCtx(()=>[e.createElementVNode("div",zt,[e.createVNode(Te,{"image-urls":l.value.imageUrls,"active-index":v.value,onResize:C,onPreloaded:N[0]||(N[0]=V=>a.value.preloaded=!0),onReady:N[1]||(N[1]=V=>a.value.ready=!0),onReset:L},null,8,["image-urls","active-index"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value.buildingOverlays,V=>(e.openBlock(),e.createBlock(Pt,{ref_for:!0,ref_key:"overlays",ref:A,key:V.id,"image-url":V.url,dimensions:i.value,color:D(V.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,a.value.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(i.value,{ref_key:"canvas",ref:B,class:{hover:!!u.value},onClick:M,onMousemove:y}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:w.customOverlayContent},null,8,Wt),[[e.vShow,a.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[g.value.sceneLongitude?(e.openBlock(),e.createBlock(be,{key:0,class:"north-indicator",longitude:g.value.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Ue,{modelValue:v.value,"onUpdate:modelValue":N[2]||(N[2]=V=>v.value=V),"date-selector":l.value,"is-loading":!a.value.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,a.value.preloaded]]),w.showCards&&b.value?(e.openBlock(),e.createBlock(ye,{key:0,"is-hoverable":f.value,pos:r.value,onOutside:N[3]||(N[3]=()=>u.value=void 0)},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default",{building:b.value,canGoToBuilding:w.canGoToBuildingCallback(b.value),goToBuilding:()=>w.canGoToBuildingCallback(b.value)&&n("goToBuilding",b.value),pos:r.value,isHoverable:f.value,close:()=>u.value=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(ce,{ref_key:"hoverProbe",ref:k},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-dab168c1"]]),Oe=e.defineComponent({__name:"VBuildingChooser",props:{showCards:{type:Boolean,default:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:m=>m},cdnFileResolver:{},i18n:{},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,n=o,l=e.computed(()=>t.useSvg?jt:Gt);return(a,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{"show-cards":a.showCards,"color-callback":a.colorCallback,"building-callback":a.buildingCallback,"cdn-file-resolver":a.cdnFileResolver,i18n:a.i18n,"interactive-desktop":a.interactiveDesktop,"interactive-mobile":a.interactiveMobile,"building-chooser-time-of-day":a.buildingChooserTimeOfDay,"can-go-to-building-callback":a.canGoToBuildingCallback,"custom-overlay-content":a.customOverlayContent,onGoToBuilding:i[0]||(i[0]=r=>n("goToBuilding",r)),onHoverOverBuilding:i[1]||(i[1]=r=>n("hoverOverBuilding",r)),onHoverOutBuilding:i[2]||(i[2]=r=>n("hoverOutBuilding",r))},e.createSlots({_:2},[e.renderList(Object.keys(a.$slots),r=>({name:r,fn:e.withCtx(g=>[e.renderSlot(a.$slots,r,e.normalizeProps(e.guardReactiveProps(g)))])}))]),1064,["show-cards","color-callback","building-callback","cdn-file-resolver","i18n","interactive-desktop","interactive-mobile","building-chooser-time-of-day","can-go-to-building-callback","custom-overlay-content"]))}});var ue={};Object.defineProperty(ue,"__esModule",{value:!0});var Qt=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},qt=typeof window<"u"&&typeof window.document<"u",Zt=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Xt=(typeof self>"u"?"undefined":Qt(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",Kt=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Jt=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",eo=ue.isBrowser=qt;ue.isWebWorker=Xt,ue.isNode=Zt,ue.isJsDom=Kt,ue.isDeno=Jt;const to={id:"player-wrapper"},oo={id:"player-sizer"},no={class:"player-control",id:"controls-top-left"},ao={class:"player-control",id:"controls-top-center"},lo={class:"player-control",id:"controls-top-right"},ro={class:"player-control",id:"controls-center-left"},io={class:"player-control",id:"controls-center-center"},so={class:"player-control",id:"controls-center-right"},co={class:"player-control",id:"controls-bottom-left"},mo={class:"player-control",id:"controls-bottom-center"},uo={class:"player-control",id:"controls-bottom-right"},po={id:"main-canvas"},fo=H(e.defineComponent({__name:"VPlayer",props:{fileLoader:{},rootUrl:{},currentCameraId:{},showStaticImage:{type:Boolean},isFullScreen:{type:Boolean},mouseSensitivity:{default:1},isInIframe:{type:Boolean,default:!1}},emits:["newCameraCallback","newRotationCallback","newFloorCallback","newFovCallback","playerApiCallback","newSizeCallback"],setup(m,{emit:o}){const t=Ge.PlayerV2,n=m,l=o,a=e.ref(void 0),i=e.ref(void 0),r=e.ref(0),g=e.ref(0);e.watch(()=>n.rootUrl,async c=>{a.value&&await a.value.loadInterior(c,i.value,!1)}),e.watch(()=>n.fileLoader,async()=>{a.value&&await a.value.loadInterior(n.rootUrl,void 0,!1)},{deep:!0}),e.watch(()=>n.currentCameraId,c=>{a.value&&(i.value=c,a.value.goToCamera(c,!0))}),e.watch(a,c=>{l("playerApiCallback",c);const u=a.value.getCurrentCamera();u&&(i.value=u.id)}),e.onMounted(async()=>{window.addEventListener("resize",p);const E={initialized:()=>{a.value=t.Main.getPlayerAPI();const k=a.value.getCurrentCamera();k&&(i.value=k.id),l("newCameraCallback",i.value)},newCamera:k=>{l("newCameraCallback",k.id),l("newFloorCallback",k.floorLevel),a.value&&a.value.resetMarkerBehaviour(0),i.value=k.id},newFOV:k=>{l("newFovCallback",k),g.value=k},newRotation:k=>{const B=k+0;l("newRotationCallback",B),r.value=B}};if(!eo)return;const _=await new t.Main(n.rootUrl,"qpc",E,void 0,n.currentCameraId,n.fileLoader);_&&(_.handleWindowResize(),window.addEventListener("resize",_.handleWindowResize.bind(_)),_.animate(),a.value=t.Main.getPlayerAPI(),a.value&&a.value.setLookSensitivity(n.mouseSensitivity))}),e.onBeforeUnmount(()=>{a.value&&a.value.destroy()});function p(){}return(c,u)=>(e.openBlock(),e.createElementBlock("div",to,[e.createElementVNode("div",oo,[e.renderSlot(c.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",no,[e.renderSlot(c.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",ao,[e.renderSlot(c.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",lo,[e.renderSlot(c.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",ro,[e.renderSlot(c.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",io,[e.renderSlot(c.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",so,[e.renderSlot(c.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",co,[e.renderSlot(c.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",mo,[e.renderSlot(c.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",uo,[e.renderSlot(c.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",po,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(c.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-54e6a7ef"]]),ho={class:"waypoint-carousel"},go=37,ko=39,$e=H(e.defineComponent({__name:"VWaypointCarousel",props:{thumbnails:{},active:{}},emits:["previous","next","goto"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(0),a=e.computed({get(){return t.active},set(p){l.value=p}}),i=e.computed(()=>/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent));e.onMounted(()=>{window.addEventListener("keydown",r)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",r)});function r(p){switch(p.keyCode){case p.keyCode===go:n("previous");break;case p.keyCode===ko:n("next");break;default:return}}function g(p,c){c(),n("goto",p)}return(p,c)=>{const u=e.resolveComponent("v-icon"),v=e.resolveComponent("v-btn"),E=e.resolveComponent("v-hover"),_=e.resolveComponent("v-img"),k=e.resolveComponent("v-card"),B=e.resolveComponent("v-slide-group-item"),A=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",ho,[e.createVNode(A,{modelValue:a.value,"onUpdate:modelValue":c[2]||(c[2]=f=>a.value=f),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(({isHovering:f})=>[e.createVNode(v,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:i.value}]),onClick:c[0]||(c[0]=b=>n("previous"))},{default:e.withCtx(()=>[e.createVNode(u,{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(E,null,{default:e.withCtx(({isHovering:f})=>[e.createVNode(v,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:i.value}]),onClick:c[1]||(c[1]=b=>n("next"))},{default:e.withCtx(()=>[e.createVNode(u,{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(p.thumbnails,f=>(e.openBlock(),e.createBlock(B,{key:f.id},{default:e.withCtx(({toggle:b,selectedClass:C})=>[e.createVNode(k,{class:e.normalizeClass(["ma-2",C]),align:"center",justify:"center",height:i.value?50:100,width:i.value?80:160,elevation:"0",style:{overflow:"hidden"},onClick:L=>g(f.id,b)},{default:e.withCtx(()=>[e.createVNode(_,{"max-height":"100","max-width":"160",cover:"",src:f.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-ad2125d1"]]),wo={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},vo=["stroke"],Co=["stroke"],yo={class:"floor-level-label"},_o=H(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(m,{emit:o}){const t=m,n=o,l=e.inject("i18n"),a=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),i=e.computed(()=>a.value.indexOf(t.level)+1<=a.value.length/2?"Lower":"Upper"),r=e.computed(()=>i.value==="Lower"),g=e.computed(()=>i.value==="Upper");function p(){const c=t.level+1;c>=a.value.length?n("level",a.value[0]):n("level",a.value[c])}return(c,u)=>{const v=e.resolveComponent("v-btn"),E=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(E,{right:"",attach:""},{activator:e.withCtx(({props:_})=>[e.createVNode(v,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},_,{onClick:p}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",wo,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:g.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,vo),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:r.value?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Co)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",yo,e.toDisplayString(e.unref(l).getLabel(i.value))+" "+e.toDisplayString(e.unref(l).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-82187b23"]]),bo={id:"share-btns-wrapper",class:"text-center"},Vo=H(e.defineComponent({__name:"VSocialShare",setup(m){const o=e.inject("i18n"),t=e.ref(!1),n=e.ref(location.href);function l(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1}function a(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twitter-share-dialog","width=626,height=436"),!1}function i(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1}function r(){navigator.clipboard.writeText(location.href)}return(g,p)=>{const c=e.resolveComponent("v-btn"),u=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),E=e.resolveComponent("v-spacer"),_=e.resolveComponent("v-toolbar"),k=e.resolveComponent("v-card-text"),B=e.resolveComponent("v-card"),A=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(u,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:p[0]||(p[0]=b=>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(A,{id:"share-box",width:"400",modelValue:t.value,"onUpdate:modelValue":p[2]||(p[2]=f=>t.value=f)},{default:e.withCtx(()=>[e.createVNode(B,null,{default:e.withCtx(()=>[e.createVNode(_,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:p[1]||(p[1]=f=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(E)]),_:1}),e.createVNode(k,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",bo,[e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},f,{onClick:l}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share-to-facebook")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},f,{onClick:i}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share-to-linkedin")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},f,{onClick:a}),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share-to-twitter")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${n.value}`},f),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("share-via-email")),1)]),_:1}),e.createVNode(u,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:r},f),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(o).getLabel("copy-link")),1)]),_:1}),e.createVNode(E)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-66122fea"]]),Eo=H(e.defineComponent({__name:"VInteriorSelector",props:{availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(m,{emit:o}){const t=o,n=e.inject("i18n"),l=e.inject("localMode"),a=e.inject("fileLoader");function i(r){let g=r;return l&&(g=`${a.getURL(r)}`),g}return(r,g)=>{const p=e.resolveComponent("v-btn"),c=e.resolveComponent("v-img"),u=e.resolveComponent("v-list-item-title"),v=e.resolveComponent("v-list-item"),E=e.resolveComponent("v-list"),_=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(_,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:k})=>[e.createVNode(p,e.mergeProps({"prepend-icon":"mdi-palette-outline",rounded:""},k),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(E,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.availableArchetypes,(k,B)=>(e.openBlock(),e.createBlock(v,{density:"compact",key:`at-menuitem-${B}`,onClick:A=>t("selectInterior",k.archetypeID),active:B===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(c,{width:"100","max-width":"100",height:"66",src:i(k.url)},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(u,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).get(k.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-cc96ef5c"]]),Bo="data:image/png;base64,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",No="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==",Lo=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(m){const o=m,t=e.ref(No),n=e.ref({backgroundImage:`url(${Bo})`,backgroundSize:"contain"}),l=e.computed(()=>({transform:`rotate(${-o.rotation+180}deg)`}));return(a,i)=>{const r=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(n.value)},[e.createVNode(r,{class:"compass-needle",src:t.value,style:e.normalizeStyle(l.value)},null,8,["src","style"])],4)}}}),Ao={class:"static-image-wrapper"},xo=H(e.defineComponent({__name:"VSingleImage",props:{image:{},aspectRatio:{default:"wide"}},setup(m){const o=m,t=e.computed(()=>({"background-image":`url("${encodeURI(o.image)}")`}));return(n,l)=>(e.openBlock(),e.createElementBlock("div",Ao,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-3e99d275"]]),Io="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",So={class:"d-flex flex-column align-center justify-center clock-face"},Mo={class:"clock-icon"},Fo={class:"clock-value grey--text text--darken-3"},Do=H(e.defineComponent({__name:"VTimeOfDay",props:{hours:{default:0},minutes:{default:0}},setup(m){const o=m,t=e.computed(()=>[n(o.hours),":",n(o.minutes)].join(""));function n(l){return("0"+l).slice(-2)}return(l,a)=>{const i=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",So,[e.createElementVNode("div",Mo,[e.createVNode(i,{src:e.unref(Io),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",Fo,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-9a5f102b"]]),Uo={id:"btn-fullscreen",class:"btn-placeholder mr-2"},To=e.defineComponent({__name:"VFullScreenButton",props:{isFullScreen:{type:Boolean}},emits:["toggleFullscreen"],setup(m,{emit:o}){const t=o;return(n,l)=>{const a=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Uo,[e.createVNode(a,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:l[0]||(l[0]=i=>t("toggleFullscreen"))},null,8,["icon"])])}}}),Ro=e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(m,{emit:o}){const t=m,n=o,l=e.inject("i18n"),a=e.computed(()=>{let i="virtual-tour";return t.showStaticImage||(i="slide-show"),i});return(i,r)=>{const g=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(g,{color:"darken-2",elevation:"1",rounded:"",plain:"",onClick:r[0]||(r[0]=p=>n("toggle"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).getLabel(a.value)),1)]),_:1})}}}),Oo={key:0,class:"text-white disclaimer caption"},$o=H(e.defineComponent({__name:"VDisclaimer",setup(m){const o=e.inject("i18n"),t=e.ref(!0);return(n,l)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",Oo,[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("all-illustrations-are-indicative-deviations-may-occur"))+" ",1),e.createElementVNode("span",{onClick:l[0]||(l[0]=a=>t.value=!1),class:"link-text text-decoration-underline"},e.toDisplayString(e.unref(o).getLabel("i-understand")),1)])):e.createCommentVNode("",!0)]),_:1}))}}),[["__scopeId","data-v-28008b18"]]),ie=m=>(e.pushScopeId("data-v-53c0bb27"),m=m(),e.popScopeId(),m),Ho={key:0,class:"tutorial"},jo={key:0,class:"desktop-content"},Po={class:"d-inline-flex"},Yo={class:"box col"},zo=ie(()=>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)),Wo={class:"text mt-3"},Go={class:"box col"},Qo=ie(()=>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)),qo={class:"text mt-3"},Zo={class:"box col"},Xo=ie(()=>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)),Ko={class:"text mt-3"},Jo={class:"d-inline-flex space-around"},en={class:"box col"},tn=ie(()=>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)),on={class:"text mt-3"},nn={key:1,class:"d-flex flex-column tablet-mobile-content"},an={class:"box horizontal mt-3"},ln=ie(()=>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)),rn={class:"text ml-2"},sn={class:"box horizontal mt-3"},cn=ie(()=>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)),dn={class:"text ml-2"},mn={class:"box horizontal mt-3"},un=ie(()=>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)),pn={class:"text ml-2"},fn={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"},hn=H(e.defineComponent({__name:"VTutorial",props:{project:{}},emits:["closeTutorial"],setup(m,{emit:o}){const t=m,n=o,l=e.inject("i18n"),a=e.ref(!0),i=e.ref(!1),r=e.computed(()=>[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(v=>navigator.userAgent.match(v))),g=e.computed(()=>{const u=localStorage.getItem(`${t.project}-dont-show-tutorial`);return u&&n("closeTutorial"),u});function p(){i.value&&c(),a.value=!1,n("closeTutorial")}function c(){localStorage.setItem(`${t.project}-dont-show-tutorial`,"true")}return(u,v)=>{const E=e.resolveComponent("v-checkbox"),_=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[a.value&&!g.value?(e.openBlock(),e.createElementBlock("div",Ho,[r.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("div",Po,[e.createElementVNode("div",Yo,[zo,e.createElementVNode("div",Wo,e.toDisplayString(e.unref(l).getLabel("click-and-drag-to-look-around")),1)]),e.createElementVNode("div",Go,[Qo,e.createElementVNode("div",qo,e.toDisplayString(e.unref(l).getLabel("click-on-the-circles-to-move-around")),1)]),e.createElementVNode("div",Zo,[Xo,e.createElementVNode("div",Ko,e.toDisplayString(e.unref(l).getLabel("use-the-mouse-wheel-to-zoom")),1)])]),e.createElementVNode("div",Jo,[e.createElementVNode("div",en,[tn,e.createElementVNode("div",on,e.toDisplayString(e.unref(l).getLabel("you-can-also-use-the-arrow-keys-to-move-around")),1)])])])),r.value?(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",an,[ln,e.createElementVNode("div",rn,e.toDisplayString(e.unref(l).getLabel("tap-and-drag-to-look-around")),1)]),e.createElementVNode("div",sn,[cn,e.createElementVNode("div",dn,e.toDisplayString(e.unref(l).getLabel("tap-on-the-circles-to-move-around")),1)]),e.createElementVNode("div",mn,[un,e.createElementVNode("div",pn,e.toDisplayString(e.unref(l).getLabel("use-two-fingers-to-zoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",fn,[e.createVNode(E,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=k=>i.value=k),label:e.unref(l).getLabel("dont-show-again")},null,8,["modelValue","label"]),e.createVNode(_,{small:"",outlined:"",class:"mt-5",onClick:v[1]||(v[1]=k=>p())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}}}),[["__scopeId","data-v-53c0bb27"]]),gn=m=>(e.pushScopeId("data-v-a28b3f8d"),m=m(),e.popScopeId(),m),kn={class:"player-settings-ui"},wn={id:"settings-ui-form"},vn={class:"form-inputs"},Cn={class:"setting-label"},yn={class:"setting-label"},_n=["max","min","step"],bn={class:"setting-label"},Vn={class:"flex-grow-1 flex-shrink-0"},En=["onUpdate:modelValue"],Bn={key:3,"d-block":"",class:"mt-3"},Nn={class:"d-flex justify-space-between"},Ln={class:"setting-label"},An={class:"mt-5 d-block",style:{width:"300px"}},xn=gn(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),In={class:"d-block",style:{width:"300px"}},Sn={class:"form-buttons"},Mn=H(e.defineComponent({__name:"VSettingsUI",props:{projectSlug:{},initialSettings:{}},emits:["updateSettings","saveSettings"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(E(t.initialSettings));e.watch(l,()=>{i()},{deep:!0});const a=e.computed(()=>{let _={};for(const[k,B]of Object.entries(l.value))k==="whitePoint"?_[k]=c(B.value):_[k]=B.value;return _});function i(){n("updateSettings",a.value)}function r(){const _=document.createElement("a");_.href=URL.createObjectURL(new Blob([JSON.stringify(a.value,null,2)]));const k=`player-settings-${t.projectSlug}-${Date.now()}.json`;_.download=k,_.style.display="none",document.body.appendChild(_),_.click(),document.body.removeChild(_)}function g(){n("saveSettings",a.value)}function p(){l.value=E(),n("updateSettings",a.value)}function c(_){const k=parseInt(_.substr(1,2),16)/255,B=parseInt(_.substr(3,2),16)/255,A=parseInt(_.substr(5,2),16)/255;return[k,B,A]}function u(_){var k=_.toString(16);return k.length==1?"0"+k:k}function v([_,k,B]){return"#"+u(parseInt((_*255).toString()))+u(parseInt((k*255).toString()))+u(parseInt((B*255).toString()))}function E(_={}){const k=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let B={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:"",..._};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:B.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:B.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:B.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:B.UNREAL_BLOOM_ENABLED},UNREAL_BLOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:B.UNREAL_BLOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:B.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:B.temperature},whitePoint:{label:"White Point",type:"color",min:null,max:null,step:null,value:v(B.whitePoint)},lut:{label:"Lut",type:"lut",items:k.map(A=>({text:A,value:`https://cdn.visuado.com/luts/${A}.png`})),value:B.lut}}}return(_,k)=>{const B=e.resolveComponent("v-text-field"),A=e.resolveComponent("v-slider"),f=e.resolveComponent("v-checkbox"),b=e.resolveComponent("v-btn"),C=e.resolveComponent("v-select"),L=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("form",wn,[e.createElementVNode("div",vn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(s,h,x)=>(e.openBlock(),e.createElementBlock("div",{key:x,"d-block":""},[s.type==="slider"?(e.openBlock(),e.createBlock(A,{key:0,modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,onChange:i,max:s.max,min:s.min,step:s.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",Cn,e.toDisplayString(s.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,"hide-details":"",dense:"",outlined:"",type:"number",max:s.max,min:s.min,step:s.step,style:{width:"90px"},onChange:i},null,8,["modelValue","onUpdate:modelValue","max","min","step"])])]),_:2},1032,["modelValue","onUpdate:modelValue","max","min","step"])):e.createCommentVNode("",!0),s.type==="boolean"?(e.openBlock(),e.createBlock(f,{key:1,modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,onChange:i},{prepend:e.withCtx(()=>[e.createElementVNode("div",yn,e.toDisplayString(s.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(s.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0),s.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:s.max,min:s.min,step:s.step},[e.createElementVNode("div",bn,e.toDisplayString(s.label),1),e.createElementVNode("div",Vn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y=>l.value[h].value=y,type:"color",onChange:i},null,40,En),[[e.vModelText,l.value[h].value]])]),e.createElementVNode("div",null,[e.createVNode(B,{modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:i},null,8,["modelValue","onUpdate:modelValue"])])],8,_n)):e.createCommentVNode("",!0),s.type==="lut"?(e.openBlock(),e.createElementBlock("div",Bn,[e.createElementVNode("div",Nn,[e.createElementVNode("div",Ln,e.toDisplayString(s.label),1),e.createElementVNode("div",null,[e.createVNode(b,{class:"ml-2","x-small":"",onClick:y=>l.value[h].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",An,[e.createElementVNode("div",null,[e.createVNode(C,{modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,items:s.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:i},null,8,["modelValue","onUpdate:modelValue","items"])])]),e.createElementVNode("div",null,[xn,e.createElementVNode("div",In,[e.createElementVNode("div",null,[e.createVNode(B,{modelValue:l.value[h].value,"onUpdate:modelValue":y=>l.value[h].value=y,"hide-details":"",dense:"",type:"url",onChange:i},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",Sn,[e.createVNode(b,{onClick:k[0]||(k[0]=s=>p())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(b,{class:"ml-2",onClick:k[1]||(k[1]=s=>r())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(L,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(b,{class:"ml-2",onClick:k[2]||(k[2]=s=>g())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(L,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-a28b3f8d"]]),Fn={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Dn=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),Un=["transform"],Tn=[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)],Rn=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(m){return(o,t)=>(e.openBlock(),e.createElementBlock("svg",Fn,[Dn,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+o.rotation})`},Tn,8,Un)]))}}),On={class:"minimap-wrapper d-flex align-stretch justify-space-between"},$n={class:"minimap-container"},Hn=H(e.defineComponent({__name:"VMiniMapMap",props:{backgroundImage:{},allCameras:{},minimapCamera:{},currentCamera:{},rotation:{},transformAngle:{}},setup(m){const o=m,t=e.ref(512),n=e.ref(384),l=e.ref(new re.Vector3),a=e.ref(new re.Object3D),i=e.ref({}),r=e.ref(1),g=e.ref(),p=e.computed(()=>o.allCameras),c=e.computed(()=>o.allCameras.find(h=>h.id===o.currentCamera)),u=e.computed(()=>o.rotation),v=e.computed(()=>new re.Vector3(o.minimapCamera.position.x,o.minimapCamera.position.y,o.minimapCamera.position.z)),E=e.computed(()=>parseFloat(c.value.floor_vertical_position)),_=e.computed(()=>p.value.map(h=>{const x=h.uposition.split(","),y=new re.Vector3(x[0]-v.value.x,0,x[2]-v.value.z);return{...h,...C(l.value,y)}})),k=e.computed(()=>`background-image: url(${o.backgroundImage});`),B=e.computed(()=>{let h=r.value>1?1:r.value;return h<.8&&(h=.4),`scale: ${h>1?1:h}; transform: rotate(${o.transformAngle}deg);`});e.onMounted(()=>{L(),f(),s();const h=document.getElementById("moveableDiv");h&&(g.value=new ResizeObserver(s).observe(h))}),e.onBeforeUpdate(()=>{L(),f()}),e.onBeforeUnmount(()=>{g.value&&g.value.unobserve(document.getElementById("moveableDiv"))});function A(h){return re.MathUtils.degToRad(h)}function f(){a.value.rotation.x=180,a.value.rotation.y=o.minimapCamera.rotation.y*-1,i.value={transform:`rotateZ(${a.value.rotation.y}deg) rotateX(${a.value.rotation.x}deg)`}}function b(h){return{top:`${Math.abs(h.top)}%`,left:`${Math.abs(h.left)}%`}}function C(h,x){var y=new re.Vector3;const M=y.subVectors(h,x);return{relativePosition:M,left:M.x/t.value*100,top:M.z/n.value*100}}function L(){const h=o.minimapCamera.position.y-E.value;n.value=2*(h*Math.tan(A(o.minimapCamera.fovY/2))),t.value=512/384*n.value;const x=n.value/2,y=t.value/2,M=new re.Vector3(y*-1,0,x*-1);l.value=M}function s(){const h=document.getElementById("moveableDiv");if(!h)return;const x=h.offsetHeight/384*.8,y=h.offsetWidth/512*.8;h.offsetHeight>h.offsetWidth?r.value=y*.5:r.value=x*.9}return(h,x)=>(e.openBlock(),e.createElementBlock("div",On,[e.createElementVNode("div",$n,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(B.value)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(k.value)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(i.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,y=>(e.openBlock(),e.createElementBlock("div",{key:y.id},[c.value.floorLevel===y.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(b(y))},null,4)):e.createCommentVNode("",!0),c.value.id===y.id?(e.openBlock(),e.createBlock(Rn,{key:1,class:"rotation-marker-component",rotation:u.value,style:e.normalizeStyle({...b(y)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-503cace2"]]),jn=(m=>(e.pushScopeId("data-v-06db6e63"),m=m(),e.popScopeId(),m))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Pn={class:"moveable-body",id:"moveableDivHeader"},Yn={class:"moveable-footer"},zn=H(e.defineComponent({__name:"VMoveable",emits:["close","transform"],setup(m,{emit:o}){const t=o,n=e.ref("big");e.onMounted(()=>{l(document.getElementById("moveableDiv"))});function l(i){const r=document.getElementById(i.id+"Header");if(!r)return;let g=0,p=0,c=0,u=0;r.addEventListener("touchstart",v,{passive:!1}),r.addEventListener("touchend",_,{passive:!1}),r.addEventListener("mousedown",v,{passive:!1}),r.addEventListener("mouseup",_,{passive:!1});function v(k){k=k||window.event,k.preventDefault();let B=k;k.type==="touchstart"&&(B=k.touches[0]),c=B.clientX,u=B.clientY,document.addEventListener("mouseup",_,{passive:!1}),document.addEventListener("touchend",_,{passive:!1}),document.addEventListener("mousemove",E,{passive:!1}),document.addEventListener("touchmove",E,{passive:!1})}function E(k){k=k||window.event,k.preventDefault();let B=k;k.type==="touchmove"&&(B=k.touches[0]),g=c-B.clientX,p=u-B.clientY,c=B.clientX,u=B.clientY,i.style.top=i.offsetTop-p+"px",i.style.left=i.offsetLeft-g+"px"}function _(){document.removeEventListener("mouseup",_,!1),document.removeEventListener("mousemove",E,!1),document.removeEventListener("touchend",_,!1),document.removeEventListener("touchmove",E,!1)}}function a(){n.value==="big"?n.value="small":n.value="big"}return(i,r)=>{const g=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",{id:"moveableDiv",class:e.normalizeClass(["big d-flex justify-space-between flex-column align-center sizer",n.value])},[e.createVNode(g,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:r[0]||(r[0]=p=>t("close"))}),e.createVNode(g,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:a,title:"Resize"}),e.createVNode(g,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:r[1]||(r[1]=p=>t("transform")),title:"Rotate"}),jn,e.createElementVNode("div",Pn,[e.renderSlot(i.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Yn,[e.renderSlot(i.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-06db6e63"]]),Wn=H(e.defineComponent({__name:"VMinimapCompass",props:{scale:{},minimapCamera:{},transformAngle:{}},setup(m){const o=m,t=e.computed(()=>o.minimapCamera.rotation?o.minimapCamera.rotation.y+o.transformAngle-90:0);return(n,l)=>(e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(be,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-cdeea259"]]),Gn={class:"ss-wrapper"},Qn={class:"slider"},qn={class:"minimap-sun-slider"},Zn={key:0,class:"time-label"},Xn=H(e.defineComponent({__name:"VSunSimulationSlider",props:{minimapJSON:{},level:{},root:{}},emits:["setBackgroundImage"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(new Date().getHours()),a=e.ref(!0),i=e.ref(!0),r=e.ref(""),g=e.ref(new Map),p=e.inject("localMode"),c=e.inject("fileLoader"),u=e.computed(()=>t.minimapJSON[t.level]),v=e.computed(()=>`${Math.floor(l.value).toString().padStart(2,"0")}:00`),E=e.computed(()=>{if(u.value.sunsimFilesTimeStamps[l.value]){const b=u.value.sunsimFilesTimeStamps[l.value].split(" ");return`${b[0]} ${b[1]}`}return""});e.onMounted(async()=>{r.value=await B(u.value.sunsimFiles[l.value]),i.value=!1;const b=await k(t.minimapJSON);g.value=b,a.value=!1,n("setBackgroundImage",_(t.level,l.value))}),e.watch(l,()=>{const b=_(t.level,l.value);n("setBackgroundImage",b)}),e.watch(()=>t.level,()=>{n("setBackgroundImage",_(t.level,l.value))},{immediate:!0});function _(b,C){return g.value.get(`sunsim${b}_${C}`)?g.value.get(`sunsim${b}_${C}`):""}async function k(b){let C=new Map;for(let L=0;L<b.length;L++){const s=b[L].sunsimFiles;for(let h=0;h<s.length;h++){const x=s[h];try{const y=x,M=x.split("."),D=await B(t.root+y);C.set(M[0],D)}catch{continue}}}return C}async function B(b){let C=b;p&&(C=`${c.getURL(b)}`);const s=await(await fetch(C)).blob(),h=await f(s);return A(h)}function A(b){return"data:image/jpeg;base64,"+b}async function f(b){return new Promise((C,L)=>{const s=new FileReader;s.onload=()=>{const h=s.result.split(",")[1];C(h)},s.onerror=L,s.readAsDataURL(b)})}return(b,C)=>{const L=e.resolveComponent("v-progress-linear"),s=e.resolveComponent("v-icon"),h=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Gn,[e.createElementVNode("div",Qn,[e.createElementVNode("div",qn,[a.value?(e.openBlock(),e.createBlock(L,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(h,{key:1,modelValue:l.value,"onUpdate:modelValue":C[0]||(C[0]=x=>l.value=x),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(s,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),a.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Zn,e.toDisplayString(E.value)+" "+e.toDisplayString(v.value),1))])])}}}),[["__scopeId","data-v-daf8e1d9"]]),He=H(e.defineComponent({__name:"VMiniMap",props:{minimapJSON:{},rootUrl:{},backgroundImage:{},allCameras:{},minimapCamera:{},currentCamera:{},level:{},rotation:{}},emits:["setBackgroundImage","close"],setup(m,{emit:o}){const t=o,n=e.ref(0),l=e.computed(()=>{let r=1;return n.value!==0&&(Math.abs(n.value)%180===0?r=1:r=-1),r});function a(r){t("setBackgroundImage",r)}function i(){n.value=n.value+90}return(r,g)=>(e.openBlock(),e.createBlock(zn,{onClose:g[0]||(g[0]=p=>t("close")),onTransform:i},{body:e.withCtx(()=>[e.createVNode(Wn,{scale:l.value,minimapCamera:r.minimapCamera,transformAngle:n.value},null,8,["scale","minimapCamera","transformAngle"]),e.createElementVNode("div",null,[e.createVNode(Hn,{transformAngle:n.value,allCameras:r.allCameras,backgroundImage:r.backgroundImage,rotation:r.rotation,currentCamera:r.currentCamera,minimapCamera:r.minimapCamera},null,8,["transformAngle","allCameras","backgroundImage","rotation","currentCamera","minimapCamera"])])]),footer:e.withCtx(()=>[e.createVNode(Xn,{minimapJSON:r.minimapJSON,root:`${r.rootUrl}/minimap/`,level:r.level,onSetBackgroundImage:a},null,8,["minimapJSON","root","level"])]),_:1}))}}),[["__scopeId","data-v-b903220b"]]);class Kn{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(n=>{t.addEventListener(n,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}}function ke(m){return("0"+m).slice(-2)}function Jn(){const m=new Date;return[m.getFullYear().toString(),ke(m.getMonth()+1),ke(m.getDate())," ",ke(m.getHours()),ke(m.getMinutes()),ke(m.getSeconds())].join("")}function ea(){return"Visuado-Snapshot-"+Jn()}class ta{constructor(o,t){j(this,"data");this.data=o}download(o=null){o=o||ea();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 oa={class:"virtual-tour-wrapper"},na={key:0,class:"player-error"},aa={class:"player-and-components-wrapper"},la={key:1,class:"v-player"},ra={key:3,class:"settings-panel"},ia={key:0,class:"compass-wrapper"},sa={key:1,class:"btn-placeholder mr-2"},ca={key:2,class:"btn-placeholder"},da={key:0},je=H(e.defineComponent({__name:"VVirtualTour",props:{fileLoader:{},cdnRoot:{},projectSlug:{},apartmentId:{},defaultInteriorId:{},validInteriorIds:{default:()=>[]},viewModes:{default:()=>["virtualTour","slideShow"]},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,default:!1},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]})}},emits:["onSnapshot","saveSettings","onInteriorUpdate","onCameraUpdate"],setup(m,{emit:o}){const t=m,n=o,l=e.ref(!1),a=e.ref(!1),i=e.ref(),r=e.ref(),g=e.ref(),p=e.ref(),c=e.ref(),u=e.ref(0),v=e.ref(),E=e.ref(),_=e.ref(),k=e.ref(0),B=e.ref(0),A=e.ref(0),f=e.ref(!1),b=e.ref(!1),C=e.ref(),L=e.ref(!1),s=e.ref(new Kn(document,"player-wrapper")),h=e.computed(()=>!!t.fileLoader),x=e.computed(()=>{let d=`${t.cdnRoot}/${t.projectSlug}`;return t.fileLoader&&(d=""),va(d)}),y=e.computed(()=>`${x.value}/${M.value}/${t.apartmentId}`),M=e.computed(()=>v.value),D=e.computed(()=>r.value?r.value.cameras:[]),Q=e.computed(()=>{if(r.value){const d=r.value.cameras.map(R=>R.floorLevel);let I=[...new Set(d)];return I=I.sort(),I}else return[]}),w=e.computed(()=>{let d=0;if(r.value){const I=r.value.cameras.map(fe=>fe.floorLevel);let R=[...new Set(I)];R=R.sort();const W=R.findIndex(fe=>fe===B.value);W!==-1&&(d=W)}return d}),N=e.computed(()=>U.value.findIndex(d=>d.archetypeID===v.value)),T=e.computed(()=>g.value?g.value.cameras.map(d=>({...d,thumbnailUrl:Ie(`${x.value}/${M.value}/${t.apartmentId}/thumbs/200/${d.id}.jpg`),imageUrl:Ie(`${x.value}/${M.value}/${t.apartmentId}/images/1600/${d.id}.jpg`)})):[]),V=e.computed(()=>!T.value||!T.value[u.value]?"":T.value[u.value].imageUrl),U=e.computed(()=>{let d=[];return i.value&&(d=i.value.archetypes),t.validInteriorIds.length?d.filter(I=>t.validInteriorIds.includes(I.archetypeID)):d}),O=e.computed(()=>g.value?U.value.map(d=>({...d,url:`${x.value}/${d.archetypeID}/${t.apartmentId}/thumbs/200/${T.value[u.value].id}.jpg`})):[]),$=e.computed(()=>{if(p.value)return p.value.storeys[w.value]}),z=e.computed(()=>r.value&&r.value.timeInHours),G=e.computed(()=>{if(r.value&&r.value.timeInHours&&t.showTimeOfDay)return wa(r.value.timeInHours)}),Z=e.computed(()=>C.value?C.value:`${x.value}/${M.value}/${t.apartmentId}/minimap/sunsim0_13.jpg`);e.provide(he,t.i18nConfig?new ae(t.i18nConfig):new ae),e.provide("localMode",h.value),e.provide("fileLoader",t.fileLoader),e.watch([()=>t.projectSlug,()=>t.cdnRoot],async()=>{await K(),ee(),await J()}),e.watch(()=>t.defaultViewMode,d=>{d==="virtualTour"&&(f.value=!1),d==="slideShow"&&(f.value=!0,L.value=!0)},{immediate:!0}),e.watch(p,d=>{if(d.storeys[w.value]){const I=d.storeys[w.value].defaultSunsimFile;C.value=`${x.value}/${M.value}/${t.apartmentId}/minimap/${I}`}}),e.onMounted(async()=>{try{await K(),ee(),await J(),s.value.setup(),te()}catch{a.value=!0}});async function K(){i.value=await we(x.value)}async function J(){if(r.value=await le(x.value,M.value,t.apartmentId),r.value&&(E.value=r.value.cameras.find(()=>!0).id),g.value=await Ee(x.value,M.value,t.apartmentId),g.value){let d=t.defaultWaypointIndex!==null?t.defaultWaypointIndex:0;u.value=d,E.value=g.value.cameras[d].id,_.value=g.value.cameras[d].id}t.showMiniMap&&(p.value=await pe(x.value,M.value,t.apartmentId))}function ee(){let d=t.defaultInteriorId;d||(d=i.value.defaultArchetypeID),t.validInteriorIds.length&&!t.validInteriorIds.includes(d)&&(d=t.validInteriorIds[0]),d||(d=i.value.archetypes[0].archetypeID),v.value=d}function te(){const d=document.getElementById("main-canvas");d.addEventListener("touchmove",I,{passive:!1});function I(W){W.preventDefault(),window.scrollBy(0,0)}d.addEventListener("mouseenter",()=>{document.addEventListener("wheel",R,{passive:!1})},{passive:!1}),d.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",R)},{passive:!1});function R(W){W.preventDefault(),window.scrollBy(0,0)}}async function we(d){try{return await Be(`${d}/config.json`)}catch(I){console.error("Error loading config.json - ",`${d}/config.json`,I);return}}async function le(d,I,R){try{return await Be(`${d}/${I}/${R}/apartment.json`)}catch(W){console.error("Error loading apartment.json - ",`${d}/${I}/${R}/apartment.json`,W);return}}async function Ee(d,I,R){try{return await Be(`${d}/${I}/${R}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`${d}/${I}/${R}/thumbs.json`);return}}async function pe(d,I,R){try{return await Be(`${d}/${I}/${R}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`${d}/${I}/${R}/minimap/minimap.json`);return}}function ve(){let d=u.value+1;d>=T.value.length&&(d=0),u.value=d,Y(T.value[u.value].id)}function S(){let d=u.value-1;d<0&&(d=T.value.length-1),u.value=d,Y(T.value[u.value].id)}function F(d,I=!0){let R=T.value.findIndex(W=>W.id===d);R!=-1&&(u.value=R,I&&Y(d))}function Y(d){E.value=d}function Ce(d){v.value=d,n("onInteriorUpdate",d),n("onCameraUpdate",_.value,r.value)}function se(d){F(d,!1),_.value=d,n("onCameraUpdate",d,r.value)}function oe(d){k.value=d}function q(d){B.value=d}function xe(d){A.value=d}function Pe(d,I){}function ua(d){c.value=d,t.playerSettings&&c.value.updateSettings(t.playerSettings)}function pa(){s.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function fa(){f.value=!f.value}function Ye(d){C.value=d}async function ha(){const d=180/Math.PI,I=await c.value.takePhoto(),R=c.value.getRotationEuler(),W=c.value.getCurrentCamera(),fe=new ta(I,W),Ca=[R.x*d,R.y*d,R.z*d];return n("onSnapshot",fe,Ca),fe}function Ie(d){let I=d;return h.value?I=`${t.fileLoader.getURL(d)}`:t.adminMode&&(I=I+`?v=${Date.now()}`),I}async function Be(d){const I=Ie(d);try{return(await ne.get(I)).data}catch(R){throw new Error(R)}}function ga(d){c.value.updateSettings(d)}function ka(d){n("saveSettings",d)}function wa(d){if(d===void 0)return null;const I=Math.floor(d),R=Math.floor((I-d)*60);return{hours:I,minutes:R}}function va(d){return d.replace(/\/$/,"")}return(d,I)=>{const R=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",oa,[a.value?(e.openBlock(),e.createElementBlock("div",na,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",aa,[!s.value.isActive&&p.value&&_.value&&$.value&&b.value?(e.openBlock(),e.createBlock(He,{key:0,allCameras:D.value,rootUrl:y.value,level:w.value,backgroundImage:Z.value,minimapJSON:p.value.storeys,rotation:k.value,currentCamera:_.value,minimapCamera:$.value,onClose:I[0]||(I[0]=W=>b.value=!1),onSetBackgroundImage:Ye},null,8,["allCameras","rootUrl","level","backgroundImage","minimapJSON","rotation","currentCamera","minimapCamera"])):e.createCommentVNode("",!0),M.value&&E.value?(e.openBlock(),e.createElementBlock("div",la,[e.createVNode(fo,{ref:"player","file-loader":d.fileLoader,style:e.normalizeStyle({zIndex:f.value?1:2}),showStaticImage:f.value,isFullScreen:s.value.isActive,rootUrl:y.value,currentCameraId:E.value,"mouse-sensitivity":d.mouseSensitivity,"is-in-iframe":d.isInIframe,onNewCameraCallback:se,onNewRotationCallback:oe,onNewFloorCallback:q,onNewFovCallback:xe,onNewSizeCallback:Pe,onPlayerApiCallback:ua},{"slideshow-image":e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(xo,{key:0,image:V.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[d.adminMode?e.withDirectives((e.openBlock(),e.createBlock(R,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:I[1]||(I[1]=W=>l.value=!l.value)},null,512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),p.value&&E.value&&$.value?e.withDirectives((e.openBlock(),e.createBlock(R,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:I[2]||(I[2]=W=>b.value=!b.value)},null,512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),L.value&&d.showFloorLevel&&Q.value.length>1?(e.openBlock(),e.createBlock(_o,{key:2,level:B.value,"floor-levels":Q.value,onLevel:q},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),L.value&&d.adminMode&&l.value?(e.openBlock(),e.createElementBlock("div",ra,[e.createVNode(Mn,{"project-slug":d.projectSlug,initialSettings:d.playerSettings,onUpdateSettings:ga,onSaveSettings:ka},null,8,["project-slug","initialSettings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[L.value?(e.openBlock(),e.createBlock($o,{key:0,"return-url":d.websiteUrl},null,8,["return-url"])):e.createCommentVNode("",!0)]),"top-right":e.withCtx(()=>[r.value&&d.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",ia,[e.createVNode(Lo,{rotation:k.value},null,8,["rotation"])],512)),[[e.vShow,L.value]]):e.createCommentVNode("",!0),L.value&&r.value&&z.value&&d.showTimeOfDay?(e.openBlock(),e.createBlock(Do,{key:1,hours:G.value.hours,minutes:G.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(R,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:S})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(hn,{project:x.value,onCloseTutorial:I[3]||(I[3]=W=>L.value=!0)},null,8,["project"]),s.value.isActive&&p.value&&_.value&&$.value&&b.value?(e.openBlock(),e.createBlock(He,{key:0,allCameras:D.value,rootUrl:y.value,minimapJSON:p.value.storeys,backgroundImage:Z.value,rotation:k.value,currentCamera:_.value,minimapCamera:$.value,level:w.value,onClose:I[4]||(I[4]=W=>b.value=!1),onSetBackgroundImage:Ye},null,8,["allCameras","rootUrl","minimapJSON","backgroundImage","rotation","currentCamera","minimapCamera","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(R,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:ve})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[L.value&&d.showFullScreen?(e.openBlock(),e.createBlock(To,{key:0,isFullScreen:s.value.isActive,class:"btn-fullscreen",onToggleFullscreen:pa},null,8,["isFullScreen"])):e.createCommentVNode("",!0),L.value&&d.showSnapshot?(e.openBlock(),e.createElementBlock("div",sa,[e.createVNode(R,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:ha})])):e.createCommentVNode("",!0),L.value&&d.showShare&&!s.value.isActive?(e.openBlock(),e.createElementBlock("div",ca,[e.createVNode(Vo)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[L.value&&d.showCarousel?(e.openBlock(),e.createElementBlock("div",da,[d.displayViewModeSwitch?(e.openBlock(),e.createBlock(Ro,{key:0,"show-static-image":f.value,onToggle:fa},null,8,["show-static-image"])):e.createCommentVNode("",!0),L.value&&s.value.isActive?(e.openBlock(),e.createBlock($e,{key:1,class:e.normalizeClass([s.value.isActive?"full-screen":""]),thumbnails:T.value,active:u.value,onNext:ve,onPrevious:S,onGoto:F},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[L.value&&d.showInteriorOptions&&O.value?(e.openBlock(),e.createBlock(Eo,{key:0,availableArchetypes:O.value,selectedIndex:N.value,onSelectInterior:Ce},null,8,["availableArchetypes","selectedIndex"])):e.createCommentVNode("",!0)]),_:1},8,["file-loader","style","showStaticImage","isFullScreen","rootUrl","currentCameraId","mouse-sensitivity","is-in-iframe"]),d.showCarousel&&g.value?(e.openBlock(),e.createBlock($e,{key:0,class:"waypoint-carousel below-player",thumbnails:T.value,active:u.value,onNext:ve,onPrevious:S,onGoto:F},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])}}}),[["__scopeId","data-v-31936b2f"]]),ma={install:function(o){o.component("VApartmentChooser",De),o.component("VBuildingChooser",Oe),o.component("VVirtualTour",je)}};P.ResourceLoader=X,P.VApartmentChooser=De,P.VBuildingChooser=Oe,P.VFloatingCard=ye,P.VHoverProbe=ce,P.VNorthDirection=be,P.VVirtualTour=je,P.VZoomBox=_e,P.default=ma,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,oe,Ye,ze){"use strict";var tr=Object.defineProperty;var or=(P,e,oe)=>e in P?tr(P,e,{enumerable:!0,configurable:!0,writable:!0,value:oe}):P[e]=oe;var H=(P,e,oe)=>(or(P,typeof e!="symbol"?e+"":e,oe),oe);function Se(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 We=Se(Ye),se=Se(ze);class Z{static async loadText(o){return new Z().loadText(o)}static async loadJson(o){return new Z().loadJson(o)}static async loadImage(o){return new Z().loadImage(o)}static async loadImageData(o){return new Z().loadImageData(o)}async loadText(o){return(await oe.get(o)).data}async loadJson(o){return(await oe.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 Ge=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))}}),T=(m,o)=>{const t=m.__vccOpts||m;for(const[a,n]of o)t[a]=n;return t},re=T(Ge,[["__scopeId","data-v-eb9b348d"]]),Qe=T(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(),l=e.ref(),c=e.ref(),d=e.ref(-1),v=e.ref(!1),h=e.ref(),p=e.ref(),g=e.ref({}),E=e.ref("auto"),_=e.ref(new Z),f=e.ref({}),x=e.ref(),w=e.ref(),I=e.ref(),y=e.ref(),V=e.ref(),R=e.computed(()=>I.value.isHoverEnabled),B=e.computed(()=>t.cdnFileResolver(`/scenedata${t.viewModel.currentScene}.png`)),O=e.computed(()=>B.value in g.value?g.value[B.value]:null),b=e.computed(()=>d.value<0?!1:t.sceneData.find(M=>M.index===d.value)||!1),k=e.computed(()=>({width:r.value+"px",height:s.value+"px",cursor:E.value})),S=e.computed(()=>`hover-${v.value?"over":"out"}-${b.value?typeof b.value=="object"&&"unitId"in b.value?b.value.unitId:b.value:""}`);e.watch(B,()=>{g.value[B.value]||_.value.loadImageData(B.value).then(A=>{g.value={...g.value,[B.value]:A}})},{immediate:!0}),e.watch(O,()=>{O.value&&N()}),e.watch(()=>t.viewModel.currentScene,()=>{ie()},{immediate:!0}),e.watch([()=>t.viewModel.isRotating,()=>t.drawObserver,()=>t.selectedUnitId],()=>{ie()}),e.watch(b,()=>{ie(),b.value?E.value="pointer":E.value="auto"}),e.watch(S,()=>{v.value?a("hoverOver",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>Ee()}):a("hoverOut",{hoverUnit:b.value?b.value.unitId:!1,closeHandler:()=>Ee()})}),e.watch(n,()=>{a("pos",n.value)}),e.onMounted(()=>{w.value=()=>{clearTimeout(x.value),ee(),x.value=setTimeout(()=>{ee()},50)},window.addEventListener("resize",w.value),ee()}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",w.value);for(const A in g.value)URL.revokeObjectURL(g.value[A])});function N(){i.value=y.value.getContext("2d",{willReadFrequently:!0}),u.value=new Image,u.value.onload=()=>{de(),y.value.addEventListener("mousemove",Be(j,50))},u.value.src=O.value}function j(A){const M=U(A.offsetX,A.offsetY);v.value=M>=0,d.value=M,n.value={x:A.offsetX,y:A.offsetY,width:r.value,height:s.value}}function D(A){const M=U(A.offsetX,A.offsetY);M<0||R&&ne(M)}function F(){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),c.value=i.value.getImageData(0,0,y.value.width,y.value.height),l.value=i.value.getImageData(0,0,y.value.width,y.value.height);const A=c.value.data;f.value={};for(let M=0;M<A.length;M+=4)f.value[A[M]]=[];for(let M=3;M<A.length;M+=4)A[M]===255&&A[M-3]in f.value&&f.value[A[M-3]].push(M-3)}}function U(A,M){h.value=A,p.value=M;const Y=y.value.offsetWidth/y.value.width,be=y.value.offsetHeight/y.value.height,me=(A/Y).toFixed(),ae=(M/be).toFixed(),q=Number(ae)*(y.value.width*4)+Number(me)*4,Ce=c.value.data[q];return c.value.data[q+3]>0?Ce:-1}function G(){te().forEach(M=>{if(M.index>=0){const Y=W(M.index);if(Y){const be=z(M.index);let me="idle";!b.value&&t.selectedUnitId&&be===t.selectedUnitId?me="selected":b.value&&d.value===M.index&&(me="hover");const ae=t.colorCallback(M.unitId,me);if(ae)for(let q=0;q<Y.length;q++)l.value.data[Y[q]]=ae.r,l.value.data[Y[q]+1]=ae.g,l.value.data[Y[q]+2]=ae.b,l.value.data[Y[q]+3]=ae.a}}})}function W(A){return c.value?f.value[A]:!1}function z(A){const M=t.sceneData.find(Y=>Y.index===A);return M&&M.unitId}function te(){if(c.value){const A=Object.keys(f.value).map(Y=>parseInt(Y));return t.sceneData.filter(Y=>A.includes(Y.index))}else return[]}function ne(A){const M=z(A);J(M)}function J(A){a("selectUnit",A),A&&t.canGoToUnitCallback(A)&&a("goToUnit",A)}function K(A=0){if(!l.value)return;const M=l.value.data;for(let Y=3;Y<M.length;Y+=4)M[Y]=A}function ee(){if(!V.value)return!1;r.value=V.value.offsetWidth,s.value=V.value.offsetHeight}function de(){F(),ie()}function ie(){K(),G(),i.value&&l.value&&i.value.putImageData(l.value,0,0)}function Ee(){v.value=!1}const ke=e.ref(!1);function Be(A,M){return ke.value=!0,function(...Y){ke.value&&(ke.value=!1,A.apply(this,Y),setTimeout(()=>ke.value=!0,M))}}return(A,M)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:V,id:"canvas"},[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref_key:"canvas",ref:y,style:e.normalizeStyle(k.value),onClick:D},null,4),[[e.vShow,!A.viewModel.isRotating]]),e.createVNode(re,{ref_key:"hoverProbe",ref:I},null,512)],512))}}),[["__scopeId","data-v-40a7140d"]]),qe=["viewBox"],Ze=["innerHTML","onMouseenter","onMouseleave","onClick"],Xe=T(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 Z),l=e.ref(),c=e.ref(),d=e.computed(()=>c.value.isHoverEnabled);e.watch(()=>t.viewModel.currentScene,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(s,()=>{t.viewModel.currentScene in s.value&&(i.value=s.value[t.viewModel.currentScene])},{immediate:!0}),e.watch(n,()=>{a("pos",n.value)}),e.watch(r,(w,I)=>{if(w>=0){const y=h(w);a("hoverOver",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}else{const y=h(I);a("hoverOut",{hoverUnit:y,closeHandler:()=>{r.value=-1}})}}),e.onMounted(()=>{for(let w=1;w<=4;w++){const I=t.cdnFileResolver(`/scenedata${w}.svg`),y={markup:"",viewBox:"",svgObjects:[]};u.value.loadJson(I).then(V=>{y.markup=V;const B=new DOMParser().parseFromString(V,"image/svg+xml").getElementsByTagName("svg")[0];y.viewBox=B.getAttribute("viewBox"),y.svgObjects=Array.from(B.querySelectorAll("*[data-index]")).map(O=>({index:parseInt(O.getAttribute("data-index")),svg:O.innerHTML})),s.value={...s.value,[w]:y}})}l.value.addEventListener("mousemove",x(v,50))});function v(w){n.value={x:w.offsetX,y:w.offsetY,width:l.value.offsetWidth,height:l.value.offsetHeight}}function h(w){var I;return(I=t.sceneData.find(y=>y.index===(typeof w=="string"?parseInt(w):w)))==null?void 0:I.unitId}function p(w){d.value&&(r.value=w)}function g(w){d.value&&(r.value=-1)}function E(w){const I=h(w);a("selectUnit",I),d.value&&I&&t.canGoToUnitCallback(I)?a("goToUnit",I):r.value=w}function _(w){const I=h(w);let y="idle";r.value<0&&t.selectedUnitId&&I===t.selectedUnitId?y="selected":r.value>=0&&r.value===w&&(y="hover");const V=t.colorCallback(I,y);if(V){const{r:R,g:B,b:O,a:b,s:k}=V;return{strokeWidth:k!==void 0?k:2,stroke:`rgb(${R}, ${B}, ${O})`,strokeOpacity:1,fill:`rgb(${R}, ${B}, ${O})`,fillOpacity:b/255,cursor:`${t.canGoToUnitCallback(I)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}const f=e.ref(!1);function x(w,I){return f.value=!0,function(...y){f.value&&(f.value=!1,w.apply(this,y),setTimeout(()=>f.value=!0,I))}}return(w,I)=>(e.openBlock(),e.createElementBlock("div",{id:"container",ref_key:"container",ref:l},[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.value||!i.value.svgObjects?0:1})},[i.value&&i.value.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.value.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value.svgObjects,({index:y,svg:V})=>(e.openBlock(),e.createElementBlock("g",{key:y,innerHTML:V,style:e.normalizeStyle(_(y)),onMouseenter:R=>p(y),onMouseleave:R=>g(),onClick:R=>E(y)},null,44,Ze))),128))],8,qe)):e.createCommentVNode("",!0)],4),[[e.vShow,!w.viewModel.isRotating]]),e.createVNode(re,{ref_key:"hoverProbe",ref:c},null,512)],512))}}),[["__scopeId","data-v-7f524ad6"]]),X=Symbol(),Je={key:0,class:"text-success d-none d-md-flex"},Ke={class:"text-success"},et=T(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(X);e.onMounted(()=>{window.addEventListener("keydown",u)}),e.onBeforeUnmount(()=>{window.removeEventListener("keydown",u)});function u(l){l.keyCode===37?t.prevUnitId&&s("prevUnit"):l.keyCode===39&&t.nextUnitId&&s("nextUnit")}return(l,c)=>{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:c[0]||(c[0]=v=>l.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:c[1]||(c[1]=v=>s("prevUnit"))},null,8,["disabled"]),e.createVNode(d,{color:"darken-2",elevation:"1",rounded:"",plain:"",disabled:!a.value||!l.canGoToUnitCallback(a.value),onClick:c[2]||(c[2]=v=>s("goToUnit",a.value))},{default:e.withCtx(()=>[a.value&&l.canGoToUnitCallback(a.value)?(e.openBlock(),e.createElementBlock("span",Je,e.toDisplayString(e.unref(i).getLabel("seeApartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ke,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:c[3]||(c[3]=v=>s("nextUnit"))},null,8,["disabled"]),e.createVNode(d,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:c[4]||(c[4]=v=>l.viewModel.rotateCounterClockwise())})])}}}),[["__scopeId","data-v-44ed308e"]]);class xe{constructor(o){H(this,"_numParts");H(this,"_loadedCount");H(this,"_isError");H(this,"_finishedAction");H(this,"_errorAction");H(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){H(this,"_rotator");H(this,"_direction");H(this,"_frameIndex");H(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 tt{constructor(o,t){H(this,"_cardinalFrames");H(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 ot={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},nt={key:1,class:"frame-container"},at={key:0,class:"frame-image"},rt=["srcset"],lt=["src"],it={key:2,id:"image-stack",class:"frame-container"},st=["alt"],ct=["srcset"],dt=["src"],De=64,we=4,mt=120,ut=T(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 xe(n.length).onLoadFinished(()=>a("loaded")).onLoadProgress(_=>a("progress",_)).onLoadError(()=>a("error"))),s=e.ref(new tt(t.cardinalFrames,De)),i=e.ref(n),u=e.ref(!1),l=e.computed(()=>i.value.find(_=>_.show));e.watch(()=>t.viewModel.currentScene,(_,f)=>{const x=E(f,_),w=g(f,_);c(f,x,w)}),e.onMounted(()=>{v()});function c(_,f,x){t.viewModel.isRotating||(t.viewModel.isRotating=!0,d(s.value.start(f,_%we,x)))}function d(_){setTimeout(()=>{i.value[_.frameIndex].show=!1;const f=_.nextFrame();i.value[f.frameIndex].show=!0,f.atEnd?v():window.requestAnimationFrame(()=>d(f))},1e3/mt)}function v(){const _=s.value.startFrameIndexForScene(t.viewModel.currentScene%we);_ in i.value&&(i.value[_].show=!0),t.viewModel.isRotating=!1}function h(){const _=[];for(let f=0;f<De;f++){const{sourceSet:x,defaultPath:w}=p(f);_.push({index:f,sourceSet:x,defaultPath:w,show:!1})}return _}function p(_){const f=("0000"+(_+1)).slice(-4),x=t.build?`?v=${t.build}`:"",w=[`${t.cdnFileResolver(`/480/${f}.jpg${x}`)} 480w`,`${t.cdnFileResolver(`/960/${f}.jpg${x}`)} 960w`,`${t.cdnFileResolver(`/1280/${f}.jpg${x}`)} 1280w`].join(","),I=t.cdnFileResolver(`/480/${f}.jpg${x}`);return{sourceSet:w,defaultPath:I}}function g(_,f){const x=we/2,w=Math.abs(_-f);return w>x?we-w:w}function E(_,f){if(_===f)return 0;const w=Math.abs(_-f)<we/2;return w&&_<f||!w&&_>f?1:-1}return(_,f)=>{const x=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[r.value.isError?(e.openBlock(),e.createElementBlock("div",ot,[e.createVNode(x,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):u.value?(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,w=>(e.openBlock(),e.createElementBlock("picture",{key:w.index,alt:w.index,class:e.normalizeClass({"frame-image":!0,show:w.show})},[e.createElementVNode("source",{srcset:w.sourceSet,type:"image/jpeg"},null,8,ct),e.createElementVNode("img",{src:w.defaultPath,alt:"Building image",onLoad:f[2]||(f[2]=I=>r.value.partLoaded()),onError:f[3]||(f[3]=I=>r.value.errorDetected())},null,40,dt)],10,st))),128))])):(e.openBlock(),e.createElementBlock("div",nt,[l.value?(e.openBlock(),e.createElementBlock("picture",at,[e.createElementVNode("source",{srcset:l.value.sourceSet,type:"image/jpeg"},null,8,rt),e.createElementVNode("img",{src:l.value.defaultPath,onLoad:f[0]||(f[0]=w=>u.value=!0),onError:f[1]||(f[1]=w=>r.value.errorDetected())},null,40,lt)])):e.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-66e34700"]]),ue=T(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]=l=>a("outside",l))},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default",{isHoverable:r.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}}}),[["__scopeId","data-v-7d5e6067"]]),pe=T(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),l=e.ref(void 0),c=e.ref(!1),d=e.ref(),v=e.computed(()=>`translateX(${r.value}px) translateY(${s.value}px) scale(${h.value})`),h=e.computed(()=>n.value/100),p=e.computed(()=>t.maxScale*100);e.watch([h,r,s],()=>{j()}),e.watch(()=>t.desktop,()=>{t.desktop?g():_()}),e.watch(()=>t.mobile,()=>{t.mobile?E():f()}),e.onMounted(()=>{t.desktop&&g(),t.mobile&&E()}),e.onBeforeUnmount(()=>{t.desktop&&_(),t.mobile&&f()});function g(){d.value.addEventListener("wheel",x,{capture:!0}),d.value.addEventListener("mousedown",w,{capture:!0}),d.value.addEventListener("mousemove",I,{capture:!0}),window.addEventListener("mouseup",y,{capture:!0}),window.addEventListener("click",V,{capture:!0})}function E(){d.value.addEventListener("touchstart",R,{capture:!0}),d.value.addEventListener("touchmove",B,{capture:!0}),window.addEventListener("touchend",O,{capture:!0}),window.addEventListener("touchcancel",O,{capture:!0})}function _(){d.value.removeEventListener("wheel",x,{capture:!0}),d.value.removeEventListener("mousedown",w,{capture:!0}),d.value.removeEventListener("mousemove",I,{capture:!0}),window.removeEventListener("mouseup",y,{capture:!0}),window.removeEventListener("click",V,{capture:!0})}function f(){d.value.removeEventListener("touchstart",R,{capture:!0}),d.value.removeEventListener("touchmove",B,{capture:!0}),window.removeEventListener("touchend",O,{capture:!0}),window.removeEventListener("touchcancel",O,{capture:!0})}function x(D){const{x:F,y:U}=b(D);N(-D.deltaY/10,F,U),D.preventDefault()}function w(D){i.value=!0,c.value=!1,l.value=D}function I(D){if(i.value){const{x:F,y:U}=b(D),{x:G,y:W}=b(l.value),z={x:F-G,y:U-W};k(z.x),S(z.y),c.value=!0,l.value=D}}function y(D){i.value&&c.value&&t.consumeMouseUpWhenMoved&&(D.preventDefault(),D.stopImmediatePropagation())}function V(D){i.value&&(c.value&&t.consumeMouseClickWhenMoved&&(D.preventDefault(),D.stopImmediatePropagation()),i.value=!1)}function R(D){i.value=D.touches.length===1,u.value=D.touches.length===2,l.value=D}function B(D){if(i.value){const{x:F,y:U}=b(D.touches[0]),{x:G,y:W}=b(l.value.touches[0]),z={x:F-G,y:U-W};k(z.x),S(z.y)}else if(u.value&&D.touches.length===2){const{x:F,y:U}=b(D.touches[0]),{x:G,y:W}=b(l.value.touches[0]),{x:z,y:te}=b(D.touches[1]),{x:ne,y:J}=b(l.value.touches[1]),K=Math.hypot(G-ne,W-J),ee=Math.hypot(F-z,U-te),de=(z+F)/2,ie=(te+U)/2;N(ee-K,de,ie)}l.value=D}function O(){i.value=!1,u.value=!1}function b(D){const{left:F,top:U}=d.value.getBoundingClientRect();return{x:D.clientX-F,y:D.clientY-U}}function k(D){const F=d.value.clientWidth,U=F*h.value;r.value=Math.max(Math.min(0,r.value+D),-(U-F))}function S(D){const F=d.value.clientHeight,U=F*h.value;s.value=Math.max(Math.min(0,s.value+D),-(U-F))}function N(D,F,U){const G=d.value.clientWidth,W=d.value.clientHeight,z=G*h.value,te=W*h.value;n.value=Math.min(Math.max(100,n.value+D),p.value);const ne=G*h.value,J=W*h.value,K=ne-z,ee=J-te;r.value-=F/G*K,s.value-=U/W*ee,k(0),S(0)}function j(){a("update",{scale:h.value,x:r.value,y:s.value,resolve:(D,F)=>{const U=d.value.clientWidth,G=d.value.clientHeight,W=r.value/-h.value,z=s.value/-h.value,te=W+U/h.value,ne=z+G/h.value,J=D/U*(te-W)+W,K=F/G*(ne-z)+z;return{x:J,y:K}}})}return(D,F)=>(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:v.value}),class:"zoom-box"},[e.renderSlot(D.$slots,"default",{},void 0,!0)],4)],4))}}),[["__scopeId","data-v-e5638bde"]]),Ne=4;function Ae(m){return m<Ne?m+1:1}function pt(m){return m>1?m-1:Ne}class ft{constructor(o){H(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=Ae(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=pt(this.currentScene)})}}const ht={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 le{constructor({labels:o,language:t}={labels:null,language:null}){H(this,"_labels");H(this,"_language");this._labels={...ht,...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 gt={key:0},vt={class:"interactive-viewer"},kt={class:"fill-parent"},Ct={key:0},yt={key:1,class:"navigation"},wt={key:2},_t=4,Le=T(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(X,a.i18nConfig?new le(a.i18nConfig):new le);const r=e.reactive({isReady:!1,isError:!1}),s=e.ref(),i=e.ref(),u=e.ref(),l=e.ref(),c=e.ref({x:0,y:0,width:0,height:0}),d=e.ref(),v=e.ref(),h=e.ref(),p=e.computed(()=>h.value.isHoverEnabled),g=e.computed(()=>a.useSvg?Xe:Qe),E=e.computed(()=>a.selectedUnitId),_=e.computed(()=>a.nextUnitId),f=e.computed(()=>a.prevUnitId);e.watchEffect(()=>{if(E.value&&l.value){const y=s.value[E.value];y&&(l.value.currentScene=y)}}),e.onMounted(async()=>{const y=a.apartmentChooserData&&a.apartmentChooserData.startScene!==void 0?a.apartmentChooserData.startScene:_t;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(B=>({unitId:B.apartmentID,index:B.index})):[],s.value=a.apartmentChooserData&&a.apartmentChooserData.sceneData!==void 0?a.apartmentChooserData.sceneData.map(B=>{const O=B.bestScene===0?4:B.bestScene;return{unitId:B.apartmentID,scene:O}}).reduce((B,O)=>({...B,[O.unitId]:O.scene}),{}):{};const V=(B,O="unitId")=>{let b=y,k=[];for(let S=0;S<Ne;S++)k.push(b),b=Ae(b);return B.sort((S,N)=>{const j=k.findIndex(F=>F===s.value[S[O]]),D=k.findIndex(F=>F===s.value[N[O]]);return j<D?-1:j>D?1:0}),B},R=B=>{l.value=new ft(B)};n("initialized",{scene:y,scenes:u.value,sceneData:i.value,scenesByApartment:s.value,unitsSceneSort:V,initialize:R})});function x(y){c.value=y}function w(y){v.value=y.hoverUnit,d.value=y.closeHandler,n("hoverOverUnit",y.hoverUnit)}function I(y){v.value=null,d.value=y.closeHandler,n("hoverOutUnit",y.hoverUnit)}return(y,V)=>{const R=e.resolveComponent("v-progress-linear");return l.value?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("div",vt,[e.createElementVNode("div",kt,[e.createVNode(pe,{desktop:r.isReady&&y.interactiveDesktop,mobile:r.isReady&&y.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(ut,{"cdn-file-resolver":y.cdnFileResolver,"view-model":l.value,"cardinal-frames":u.value,build:y.build,onProgress:V[0]||(V[0]=B=>r.progress=B),onLoaded:V[1]||(V[1]=B=>r.isReady=!0),onError:V[2]||(V[2]=B=>r.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),r.isReady?(e.openBlock(),e.createElementBlock("div",Ct,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),{"cdn-file-resolver":a.cdnFileResolver,"view-model":l.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:V[3]||(V[3]=B=>n("selectUnit",B)),onGoToUnit:V[4]||(V[4]=B=>n("goToUnit",B)),onHoverOver:w,onHoverOut:I,onPos:x},{default:e.withCtx(B=>[e.renderSlot(y.$slots,"default",e.normalizeProps(e.guardReactiveProps(B)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","can-go-to-unit-callback","draw-observer"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),v.value&&y.showCards?(e.openBlock(),e.createBlock(ue,{key:0,"is-hoverable":p.value,pos:c.value,onOutside:d.value},{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{unit:v.value,canGoToUnit:y.canGoToUnitCallback(v.value),goToUnit:()=>y.canGoToUnitCallback(v.value)&&n("goToUnit",v.value),pos:c.value,isHoverable:p.value,close:d.value},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),r.isReady?(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(et,{"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":l.value,onGoToUnit:V[5]||(V[5]=B=>n("goToUnit",B)),onPrevUnit:V[6]||(V[6]=B=>n("navUnit",f.value)),onNextUnit:V[7]||(V[7]=B=>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",wt,[e.createVNode(R,{indeterminate:!r.progress,modelValue:r.progress,"onUpdate:modelValue":V[8]||(V[8]=B=>r.progress=B)},null,8,["indeterminate","modelValue"])]))])]),e.createVNode(re,{ref_key:"hoverProbe",ref:h},null,512)])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-74aaa446"]]),bt=["src"],Vt=T(e.defineComponent({__name:"VApartmentChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},currentTime:{}},setup(m){const o=m,t=e.computed(()=>o.cdnFileResolver(o.timeSampleData.filename));return(a,n)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,bt)),[[e.vShow,a.timeSampleData===a.currentTime]])]),_:1}))}}),[["__scopeId","data-v-39bb43ae"]]),Et=e.defineComponent({__name:"VApartmentChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},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(Vt,{"time-sample-data":n,"color-callback":o.colorCallback,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","color-callback","cdn-file-resolver","current-time"]))),256))}}),Bt=e.defineComponent({__name:"VApartmentChooserV5Camera",props:{cameraData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},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(Et,{"day-data":n,"color-callback":o.colorCallback,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","color-callback","cdn-file-resolver","current-time"]))),256))}}),xt=["src"],It=T(e.defineComponent({__name:"VApartmentChooserV5Transition",props:{transitionData:{},cdnFileResolver:{type:Function},currentTransition:{}},emits:["goToBuilding","hoverOverBuilding","hoverOutBuilding"],setup(m,{emit:o}){const t=m,a=e.computed(()=>t.cdnFileResolver(t.transitionData.filename));return(n,r)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:a.value,src:a.value,class:"position-absolute top-left w-100 h-100"},null,8,xt)),[[e.vShow,n.transitionData===n.currentTransition]])]),_:1}))}}),[["__scopeId","data-v-0e85828b"]]);function Fe(m){return!("filename"in m)}function Me(m){return"filename"in m}const Nt=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(Fe):[]);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]=l=>n.value=l),items:r.value,disabled:!!t.disabled,"item-title":"cameraName","item-value":"overlayFilename",variant:"solo",density:"compact","hide-details":""},null,8,["modelValue","items","disabled"])}}}),St=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"),l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),items:t.cameraData.sunsimDayOfYear,disabled:!!t.disabled,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(u,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items","disabled"])}}}),Dt={class:"small"},At={class:"small"},Lt=T(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 l=u*60,c=l/60,d=l%60;return`${c.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const l=t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value);l<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[l+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,l)=>{const c=e.resolveComponent("v-btn"),d=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[e.createVNode(v,{class:"pa-1",modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=p=>n.value=p),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,disabled:!!t.disabled,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(c,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",Dt,e.toDisplayString(s(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",At,e.toDisplayString(s(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(d,{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-2cba6708"]]),Ft=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:v});const r=e.ref(!1),s=e.ref(a.currentScene),i=e.ref(a.selectedId);e.watchEffect(()=>{s.value=a.currentScene}),e.watchEffect(()=>{i.value=a.selectedId}),e.watchEffect(()=>{n("onSceneChange",s.value)});const u=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[0]),l=e.computed(()=>r.value?!1:a.apartmentChooserData.loopable?!0:s.value!==a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);function c(){const p=s.value;let g=a.apartmentChooserData.scenes.findIndex(_=>_===p)+1;g>=a.apartmentChooserData.scenes.length&&(g=0);const E=a.apartmentChooserData.scenes[g];a.apartmentChooserData.loopable&&p>E?h(p,E+a.apartmentChooserData.scenes.length):h(p,E)}async function d(){const p=s.value;let g=a.apartmentChooserData.scenes.findIndex(_=>_===p)-1;g<0&&(g=a.apartmentChooserData.scenes[a.apartmentChooserData.scenes.length-1]);const E=a.apartmentChooserData.scenes[g];a.apartmentChooserData.loopable&&p<E?h(p+a.apartmentChooserData.scenes.length,E):h(p,E)}function v(p){const g=s.value;if(a.apartmentChooserData.loopable)if(p<g){let E=g-p,_=g-(a.apartmentChooserData.cameras.length+p);return Math.abs(E)>Math.abs(_)?h(g,p):h(g,a.apartmentChooserData.cameras.length+p)}else{let E=g-p,_=a.apartmentChooserData.cameras.length+g-p;return Math.abs(E)>Math.abs(_)?h(g,p):h(a.apartmentChooserData.cameras.length+g,p)}else return h(g,p)}function h(p,g){return new Promise(E=>{r.value=!0,n("onRotateStart",{from:p,to:g});let _,f=p;_=setInterval(()=>{f<g?(f++,s.value=Math.abs(f%a.apartmentChooserData.cameras.length)):f>g?(f--,s.value=Math.abs(f%a.apartmentChooserData.cameras.length)):(clearInterval(_),n("onRotateFinish",{from:p,to:g}),r.value=!1,E())},50)})}return(p,g)=>{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",disabled:!u.value,onClick:d},null,8,["disabled"]),p.renderDisplay&&i.value?(e.openBlock(),e.createBlock(_,{key:0,variant:"flat",color:"white",size:"x-large",onClick:g[0]||(g[0]=f=>n("onDisplayClick",i.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.renderDisplay(i.value)),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(E,{class:"mx-2",icon:"mdi-reload",disabled:!l.value,onClick:c},null,8,["disabled"])],64)}}}),Mt=["innerHTML"],Tt=T(e.defineComponent({__name:"VApartmentChooserV5Overlay",props:{cdnFileResolver:{type: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:c,state:d}=i[l],{r:v,g:h,b:p,a:g,s:E}=t.colorCallback(l,d)||{r:0,g:0,b:0,a:0,s:0};c.style.fill=`rgba(${v}, ${h}, ${p}, ${g/255})`,c.style.stroke=`rgb(${v}, ${h}, ${p})`,c.style.strokeWidth=E.toString()}}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await Z.loadText(t.cdnFileResolver(t.currentCamera.overlayFilename)),u()}),e.onMounted(()=>{new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{const l=r.value.firstChild;if(l){if(a("updateSvgContainer",l),!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()),l.querySelectorAll("[data-apartment-id]").forEach(d=>{d.querySelectorAll("path").forEach(h=>{h.style.removeProperty("stroke"),h.style.removeProperty("fill")});const v=d.getAttribute("data-apartment-id");i[v]={element:d,state:s.value===v?"selected":"idle"},d.addEventListener("mouseover",()=>{i[v].state==="idle"&&(i[v].state="hover"),a("onHoverOver",v)}),d.addEventListener("mouseout",()=>{i[v].state==="hover"&&(i[v].state="idle"),a("onHoverOut",v)}),d.addEventListener("click",()=>{a("onClick",v)})})}})}return(l,c)=>(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,Mt))]),_:1}))}}),[["__scopeId","data-v-52eac3e5"]]),Rt="data:image/png;base64,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",fe=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(Rt),style:e.normalizeStyle(t.value)},null,8,["src","style"])}}}),Ot={class:"actions-bar position-absolute top-left d-flex w-100 justify-center align-center",style:{"z-index":"7"}},$t={class:"pa-2 pr-0",style:{flex:"1"}},Ut={class:"pa-2 pr-0",style:{flex:"1"}},Ht={class:"pa-2",style:{flex:"2"}},Pt={class:"actions-bar position-absolute bottom-right d-flex w-100 justify-center align-center",style:{"z-index":"7"}},jt={class:"position-absolute bottom-right",style:{"z-index":"7",width:"50px",height:"50px"}},Yt=["innerHTML"],zt={style:{"z-index":"7"}},Wt=T(e.defineComponent({__name:"VApartmentChooserV5",props:{apartmentChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},i18nConfig:{},customOverlayContent:{},defaultCamera:{},selectedId:{},defaultDay:{},defaultTime:{},renderDisplay:{}},emits:["onClick","onHoverOver","onHoverOut"],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(t.apartmentChooserData.scenes[0]),l=e.ref(),c=e.ref(!1),d=e.ref(!1),v=e.ref(),h=e.ref(),p=e.computed(()=>h.value.isHoverEnabled),g=e.ref({x:0,y:0,width:0,height:0}),E=e.ref();e.onMounted(()=>c.value=!0);const _=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Fe):[]),f=e.computed(()=>t.apartmentChooserData?t.apartmentChooserData.cameras.filter(Me):[]);e.watch([()=>t.cdnFileResolver,()=>t.defaultCamera,()=>t.apartmentChooserData],()=>{t.cdnFileResolver&&(t.defaultCamera?n.value=_.value.find(k=>k.cameraName===t.defaultCamera)||_.value[0]:n.value=_.value[0],u.value=t.apartmentChooserData.cameras.findIndex(k=>k===n.value))},{immediate:!0}),e.watch([()=>t.cdnFileResolver,()=>t.defaultDay,()=>t.apartmentChooserData],()=>{t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(k=>k.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])},{immediate:!0}),e.watch([()=>t.cdnFileResolver,()=>t.defaultTime,()=>t.apartmentChooserData],()=>{t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(k=>k.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(k=>k.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])},{immediate:!0});function x(k){n.value!==k&&v.value.rotateShortestRoute(t.apartmentChooserData.cameras.findIndex(S=>S===k))}function w(k){u.value=k,Me(t.apartmentChooserData.cameras[u.value])?i.value=t.apartmentChooserData.cameras[u.value]:(e.nextTick(()=>{I(t.apartmentChooserData.cameras[u.value])}),i.value=null)}function I(k){const S=r.value;n.value=k,u.value=t.apartmentChooserData.cameras.findIndex(N=>N===n.value),e.nextTick(()=>{y(n.value.sunsimDayOfYear.find(N=>N.dayOfYear===S.dayOfYear)||n.value.sunsimDayOfYear[0])})}function y(k){const S=s.value;r.value=k,e.nextTick(()=>{V(r.value.timeSamples.find(N=>N.timeInHours===S.timeInHours)||r.value.timeSamples.find(N=>N.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])})}function V(k){s.value=k}function R(k){a("onClick",k,()=>{const S=t.apartmentChooserData.unitData.find(N=>N.unitId===k);S&&v.value.rotateShortestRoute(S.bestScene)})}function B(k){a("onHoverOver",k),l.value=k}function O(k){a("onHoverOut",k),l.value=void 0}function b(k){const{layerX:S,layerY:N}=k;let j=k.target,D=!1;for(;j;)if(j===E.value){D=!0;break}else j=j.parentElement;D?g.value={x:S,y:N,width:k.currentTarget.clientWidth,height:k.currentTarget.clientHeight}:g.value=void 0}return(k,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-relative",onMousemove:b},[e.createElementVNode("div",Ot,[e.createElementVNode("div",$t,[e.createVNode(Nt,{"apartment-chooser-data":t.apartmentChooserData,"current-camera":n.value,disabled:d.value,onOnCameraChange:x},null,8,["apartment-chooser-data","current-camera","disabled"])]),e.createElementVNode("div",Ut,[e.createVNode(St,{"camera-data":n.value,"current-day":r.value,disabled:d.value,onOnDayChange:y},null,8,["camera-data","current-day","disabled"])]),e.createElementVNode("div",Ht,[e.createVNode(Lt,{"day-data":r.value,"current-time":s.value,disabled:d.value,onOnTimeChange:V},null,8,["day-data","current-time","disabled"])])]),e.createElementVNode("div",Pt,[e.createVNode(Ft,{ref_key:"rotator",ref:v,"apartment-chooser-data":k.apartmentChooserData,"current-scene":u.value,"selected-id":k.selectedId,"render-display":t.renderDisplay,onOnDisplayClick:R,onOnSceneChange:w,onOnRotateStart:S[0]||(S[0]=N=>d.value=!0),onOnRotateFinish:S[1]||(S[1]=N=>d.value=!1)},null,8,["apartment-chooser-data","current-scene","selected-id","render-display"])]),e.createElementVNode("div",jt,[e.createVNode(fe,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(pe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,N=>(e.openBlock(),e.createBlock(Bt,{key:N.overlayFilename,"camera-data":N,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.value},null,8,["camera-data","color-callback","cdn-file-resolver","current-time"]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,N=>(e.openBlock(),e.createBlock(It,{"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,Yt)):e.createCommentVNode("",!0),e.withDirectives(e.createVNode(Tt,{"cdn-file-resolver":k.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:R,onOnHoverOver:B,onOnHoverOut:O,onUpdateSvgContainer:S[2]||(S[2]=N=>E.value=N)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"]),[[e.vShow,i.value===null]])]),_:1}),k.$slots.popup&&g.value&&l.value?(e.openBlock(),e.createBlock(ue,{key:0,"is-hoverable":p.value,pos:g.value},{default:e.withCtx(()=>[e.createElementVNode("div",zt,[e.renderSlot(k.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:l.value,hoverable:p.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],32)):e.createCommentVNode("",!0)]),_:3}),e.createVNode(re,{ref_key:"hoverProbe",ref:h},null,512)],64))}}),[["__scopeId","data-v-47bfeda9"]]),Gt={class:"sunsim-bar-wrapper"},Qt={class:"sunsim-date d-flex align-center pl-5 pr-5"},qt={key:1,class:"text-center text-body-1"},Zt={class:"sunsim-wrapper d-flex align-center px-3"},Xt={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"},Te=T(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(c){return c.toLocaleString("en-no",{month:"short",day:"numeric"})}const i=e.computed(()=>{const c=Math.floor(n.value/2).toString().padStart(2,"0"),d=n.value%2===0?"00":"30";return`${c}:${d}`}),u=e.computed(()=>t.dateSelector.dates.map(s)),l=e.computed({get(){return s(t.dateSelector.selectedDate)},set(c){t.dateSelector.selectIndex(u.value.indexOf(c))}});return e.watch(n,c=>{a("update:modelValue",c)}),e.watch(r,c=>{t.dateSelector.selectIndex(u.value.indexOf(c))}),e.watch(()=>t.modelValue,c=>{n.value=Math.floor(c)}),e.watchEffect(()=>{r.value=s(t.dateSelector.selectedDate)}),(c,d)=>{const v=e.resolveComponent("v-icon"),h=e.resolveComponent("v-select"),p=e.resolveComponent("v-progress-linear"),g=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Gt,[e.createElementVNode("div",Qt,[e.createVNode(v,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),c.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(h,{key:0,modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=E=>r.value=E),items:u.value,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",qt,e.toDisplayString(l.value),1))]),e.createElementVNode("div",Zt,[e.createElementVNode("span",Xt,e.toDisplayString(i.value),1),e.createVNode(v,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),c.isLoading?(e.openBlock(),e.createBlock(p,{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]=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"]]),Jt={key:0},Kt=["src"],Re=T(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 xe(0)),s=e.ref();e.watch(()=>t.imageUrls,l=>{a("reset"),u(l)}),e.onMounted(()=>{u(t.imageUrls),new ResizeObserver(l=>{window.requestAnimationFrame(()=>{const c=l[0].contentRect.width,d=l[0].contentRect.height;a("resize",{width:c,height:d})})}).observe(s.value)});function i(){n.value="preloaded",a("preloaded")}function u(l){n.value="init",s.value.src=l[0],r.value=new xe(l.length).onLoadFinished(()=>{n.value="loaded",a("ready")})}return(l,c)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref_key:"baseImage",ref:s,class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:i},null,544),n.value==="preloaded"||n.value==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",Jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.imageUrls,(d,v)=>(e.openBlock(),e.createElementBlock("img",{key:v,class:e.normalizeClass({"image-instance":!0,active:v===l.activeIndex}),src:d,onLoad:c[0]||(c[0]=h=>r.value.partLoaded())},null,42,Kt))),128))],512)),[[e.vShow,n.value==="loaded"]]):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-8d357c5f"]]),eo=180;class Oe{constructor(o){H(this,"_cdnFileResolver");H(this,"_resourceLoader");this._cdnFileResolver=o,this._resourceLoader=new Z}constructFileUrl(o){return this._cdnFileResolver?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(eo,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 he{constructor(o){H(this,"_buildingIds");this._buildingIds=o}static empty(){return new he([])}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}}class ge{constructor(o){H(this,"_mapImage");H(this,"_context");this._mapImage=o,this._context=null}static empty(){return new ge(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 to=new Date(0);class Ve{constructor(o){H(this,"_imagesByDay");H(this,"_state");this._imagesByDay=o,this._state={selectedIndex:0}}static empty(){return new Ve([{referenceDate:to,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}}const oo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},no={class:"image-instances"},ao={key:0},ro={class:"svg-container"},lo=["viewBox"],io=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],so=["innerHTML"],co=T(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(X,t.i18nConfig?new le(t.i18nConfig):new le);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)),l=e.ref(!1),c=e.ref(new Z),d=e.ref(),v=e.ref("0 0 0 0"),h=e.ref(),p=e.ref(),g=e.ref(he.empty()),E=e.ref(ge.empty()),_=e.ref(),f=e.computed(()=>_.value.isHoverEnabled);e.watch(i,(b,k)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",k)}),e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,k,S]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),N=parseInt(S);u.value=parseInt(k)*2+(N<15?0:N>45?2:1)}}),e.onMounted(async()=>{const k=await new Oe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);if(k){E.value=new ge(k.mapImage),g.value=new he(k.buildingIds),h.value=new Ve(k.backgrounds),p.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude};const S=[];for(let{id:N,url:j}of k.buildingOverlays)c.value.loadJson(j.replace(".png",".svg")).then(D=>{const U=new DOMParser().parseFromString(D,"image/svg+xml").getElementsByTagName("svg")[0];v.value=U.getAttribute("viewBox"),S.push({id:N,svg:U.innerHTML})});d.value=S}else l.value=!0});function x({width:b,height:k}){r.value.width=b,r.value.height=k}function w(){n.value={preloaded:!1,ready:!1}}function I(b){const k=t.colorCallback(b,b===i.value?"hover":"idle"),S=[];return b===i.value?S.push("hover"):S.push("idle"),k&&t.canGoToBuildingCallback(b)?S.push("clickable"):S.push("restricted"),S.join(" ")}function y(b){const k=t.colorCallback(b,b===i.value?"hover":"idle");if(k){const{r:S,g:N,b:j,a:D,s:F}=k;return{strokeWidth:F!==void 0?F:2,stroke:`rgb(${S}, ${N}, ${j})`,strokeOpacity:1,fill:`rgb(${S}, ${N}, ${j})`,fillOpacity:D/255,cursor:`${t.canGoToBuildingCallback(b)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}function V(b,k){const{layerX:S,layerY:N}=b;f.value&&(s.value={x:S,y:N,width:r.value.width,height:r.value.height},i.value=k,a("hoverOverBuilding",k))}function R(b,k){const{layerX:S,layerY:N}=b;f.value&&(s.value={x:S,y:N,width:r.value.width,height:r.value.height},i.value=void 0,a("hoverOutBuilding",k))}function B(b,k){const{layerX:S,layerY:N}=b;f.value&&(s.value={x:S,y:N,width:r.value.width,height:r.value.height})}function O(b){i.value=b,f.value&&i.value&&t.canGoToBuildingCallback(i.value)&&a("goToBuilding",i.value)}return(b,k)=>{const S=e.resolveComponent("v-icon");return l.value?(e.openBlock(),e.createElementBlock("div",oo,[e.createVNode(S,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):p.value?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${r.value.height}px; position: relative`),class:"image-container"},[e.createVNode(pe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",no,[e.createVNode(Re,{"image-urls":h.value.imageUrls,"active-index":u.value,onResize:x,onPreloaded:k[0]||(k[0]=N=>n.value.preloaded=!0),onReady:k[1]||(k[1]=N=>n.value.ready=!0),onReset:w},null,8,["image-urls","active-index"]),d.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",ao,[e.createElementVNode("div",ro,[(e.openBlock(),e.createElementBlock("svg",{viewBox:v.value},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,({id:N,svg:j},D)=>(e.openBlock(),e.createElementBlock("g",{key:D,innerHTML:j,"data-building-id":N,class:e.normalizeClass(I(N)),style:e.normalizeStyle(y(N)),onMouseover:F=>V(F,N),onMouseout:F=>R(F,N),onMousemove:F=>B(F),onClick:F=>O(N)},null,46,io))),128))],8,lo))])],512)),[[e.vShow,n.value.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,so),[[e.vShow,n.value.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[p.value.viewLongitude?(e.openBlock(),e.createBlock(fe,{key:0,class:"north-indicator",longitude:p.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Te,{modelValue:u.value,"onUpdate:modelValue":k[2]||(k[2]=N=>u.value=N),"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(ue,{key:0,"is-hoverable":f.value,pos:s.value,onOutside:k[3]||(k[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(re,{ref_key:"hoverProbe",ref:_},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-5e1006a9"]]),mo=T(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:c});const a=e.ref(!1),n=e.ref(),r=e.ref(new Z),s=e.ref(),i=e.ref(),u=e.ref([]),l=e.ref();e.watch(()=>t.color,(h,p)=>{(h.r!==p.r||h.g!==p.g||h.b!==p.b||h.a!==p.a)&&d()}),e.onMounted(async()=>{n.value=await r.value.loadImage(t.imageUrl),c()});function c(){if(!n.value||!l.value)return;const{width:h,height:p}=t.dimensions;if(!(h===0||p===0)){s.value=l.value.getContext("2d",{willReadFrequently:!0}),s.value.drawImage(n.value,0,0,h,p),i.value=s.value.getImageData(0,0,h,p);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&&(v(),s.value.putImageData(i.value,0,0))}function v(){if(t.color)for(let h=0;h<u.value.length;h++)i.value.data[u.value[h]-3]=t.color.r,i.value.data[u.value[h]-2]=t.color.g,i.value.data[u.value[h]-1]=t.color.b,i.value.data[u.value[h]]=t.color.a}return(h,p)=>(e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref_key:"canvas",ref:l,class:"overlay"},h.dimensions),null,16))}}),[["__scopeId","data-v-9e4cdd0e"]]),uo={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},po={class:"image-instances"},fo=["innerHTML"],ho=T(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(X,t.i18nConfig?new le(t.i18nConfig):new le);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(),l=e.ref(he.empty()),c=e.ref(ge.empty()),d=e.ref(),v=e.ref(new Date().getHours()*2+(new Date().getMinutes()<30?0:1)),h=e.ref((b,k)=>({x:b,y:k})),p=e.ref(!1),g=e.ref(),E=e.ref(),_=e.ref(),f=e.computed(()=>{var b;return(b=g.value)==null?void 0:b.isHoverEnabled});e.watchEffect(()=>{if(t.buildingChooserTimeOfDay){const[b,k,S]=/^(\d\d):(\d\d)$/.exec(t.buildingChooserTimeOfDay),N=parseInt(S);v.value=parseInt(k)*2+(N<15?0:N>45?2:1)}}),e.watch(d,(b,k)=>{b?a("hoverOverBuilding",b):a("hoverOutBuilding",k)}),e.onMounted(async()=>{const k=await new Oe(t.cdnFileResolver).loadBuildingChooser(t.buildingChooserData);k?(c.value=new ge(k.mapImage),l.value=new he(k.buildingIds),n.value=new Ve(k.backgrounds),u.value={buildingOverlays:k.buildingOverlays,viewLongitude:k.viewLongitude},y()):p.value=!0});function x({width:b,height:k}){s.value.width=b,s.value.height=k,e.nextTick(y)}function w(){r.value={preloaded:!1,ready:!1}}function I(b){const{layerX:k,layerY:S}=b,{x:N,y:j}=h.value(k,S);return l.value.getBuildingId(c.value,N,j)}function y(){if(E.value&&(c.value.update(E.value),_.value))for(const b of _.value)b.setupDraw()}function V(b){const{layerX:k,layerY:S}=b;f.value&&(d.value=I(b),d.value!==void 0&&(i.value={x:k,y:S,width:s.value.width,height:s.value.height}))}function R(b){d.value=I(b),f.value&&d.value&&a("goToBuilding",d.value)}function B(b){return t.colorCallback(b,b===d.value?"hover":"idle")}function O({resolve:b}){h.value=b}return(b,k)=>{const S=e.resolveComponent("v-icon");return p.value?(e.openBlock(),e.createElementBlock("div",uo,[e.createVNode(S,{"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(pe,{desktop:b.interactiveDesktop,mobile:b.interactiveMobile,onUpdate:O},{default:e.withCtx(()=>[e.createElementVNode("div",po,[e.createVNode(Re,{"image-urls":n.value.imageUrls,"active-index":v.value,onResize:x,onPreloaded:k[0]||(k[0]=N=>r.value.preloaded=!0),onReady:k[1]||(k[1]=N=>r.value.ready=!0),onReset:w},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,N=>(e.openBlock(),e.createBlock(mo,{ref_for:!0,ref_key:"overlays",ref:_,key:N.id,"image-url":N.url,dimensions:s.value,color:B(N.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:R,onMousemove:V}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:b.customOverlayContent},null,8,fo),[[e.vShow,r.value.preloaded]])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[u.value.viewLongitude?(e.openBlock(),e.createBlock(fe,{key:0,class:"north-indicator",longitude:u.value.viewLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(Te,{modelValue:v.value,"onUpdate:modelValue":k[2]||(k[2]=N=>v.value=N),"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(ue,{key:0,"is-hoverable":f.value,pos:i.value,onOutside:k[3]||(k[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(re,{ref_key:"hoverProbe",ref:g},null,512)],4)):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-088f521e"]]),$e=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:ho);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"]))}}),go=["src"],vo=T(e.defineComponent({__name:"VBuildingChooserV5CameraDayTimeSample",props:{timeSampleData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},currentTime:{}},setup(m){const o=m,t=e.computed(()=>o.cdnFileResolver(o.timeSampleData.filename));return(a,n)=>(e.openBlock(),e.createBlock(e.Transition,null,{default:e.withCtx(()=>[e.withDirectives((e.openBlock(),e.createElementBlock("img",{key:t.value,src:t.value,width:"100%"},null,8,go)),[[e.vShow,a.timeSampleData===a.currentTime]])]),_:1}))}}),[["__scopeId","data-v-04647713"]]),ko=e.defineComponent({__name:"VBuildingChooserV5CameraDay",props:{dayData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},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(vo,{"time-sample-data":n,"color-callback":o.colorCallback,"cdn-file-resolver":o.cdnFileResolver,"current-time":t.currentTime},null,8,["time-sample-data","color-callback","cdn-file-resolver","current-time"]))),256))}}),Co=e.defineComponent({__name:"VBuildingChooserV5Camera",props:{cameraData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},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(ko,{"day-data":n,"color-callback":o.colorCallback,"cdn-file-resolver":o.cdnFileResolver,"current-time":o.currentTime},null,8,["day-data","color-callback","cdn-file-resolver","current-time"]))),256))}}),yo=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"])}}}),wo=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"),l=e.resolveComponent("v-select");return e.openBlock(),e.createBlock(l,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=c=>n.value=c),items:t.cameraData.sunsimDayOfYear,"item-title":"dayOfYear","item-value":"dayOfYear",variant:"solo",density:"compact","hide-details":""},{item:e.withCtx(({props:c})=>[e.createVNode(u,e.mergeProps(c,{title:r(c.title)}),null,16,["title"])]),selection:e.withCtx(({item:c})=>[e.createTextVNode(e.toDisplayString(r(c.title)),1)]),_:1},8,["modelValue","items"])}}}),_o={class:"small"},bo={class:"small"},Vo=T(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 l=u*60,c=l/60,d=l%60;return`${c.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`}function i(){r.value?(clearInterval(r.value),r.value=void 0):(t.dayData.timeSamples.findIndex(l=>l.timeInHours===n.value)===t.dayData.timeSamples.length-1&&(n.value=t.dayData.timeSamples[0].timeInHours),r.value=setInterval(()=>{const l=t.dayData.timeSamples.findIndex(c=>c.timeInHours===n.value);l<t.dayData.timeSamples.length-1?n.value=t.dayData.timeSamples[l+1].timeInHours:(clearInterval(r.value),r.value=void 0)},200))}return(u,l)=>{const c=e.resolveComponent("v-btn"),d=e.resolveComponent("v-icon"),v=e.resolveComponent("v-slider"),h=e.resolveComponent("v-field");return e.openBlock(),e.createBlock(h,{variant:"solo"},{default:e.withCtx(()=>[e.createVNode(v,{class:"pa-1",modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=p=>n.value=p),min:u.dayData.startTime,max:u.dayData.endTime,step:u.dayData.interval,"hide-details":""},{prepend:e.withCtx(()=>[e.createVNode(c,{icon:r.value?"mdi-stop":"mdi-play",size:"x-small",variant:"flat",onClick:i},null,8,["icon"]),e.createTextVNode("   "),e.createElementVNode("span",_o,e.toDisplayString(s(u.dayData.startTime)),1)]),append:e.withCtx(()=>[e.createElementVNode("span",bo,e.toDisplayString(s(u.dayData.endTime)),1),e.createTextVNode("   "),e.createVNode(d,{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-f274aa67"]]),Eo=["innerHTML"],Bo=T(e.defineComponent({__name:"VBuildingChooserV5Overlay",props:{cdnFileResolver:{type: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:c,state:d}=i[l],{r:v,g:h,b:p,a:g,s:E}=t.colorCallback(l,d)||{r:0,g:0,b:0,a:0,s:0};c.style.fill=`rgba(${v}, ${h}, ${p}, ${g/255})`,c.style.stroke=`rgb(${v}, ${h}, ${p})`,c.style.strokeWidth=E.toString()}}),e.watch(()=>t.selectedId,()=>{s.value=t.selectedId}),e.watch(s,()=>{for(const l in i)i[l].state==="selected"&&l!==s.value?i[l].state="idle":i[l].state!=="selected"&&l===s.value&&(i[l].state="selected")}),e.watchEffect(async()=>{n.value=await Z.loadText(t.cdnFileResolver(t.currentCamera.overlayFilename)),u()}),e.onMounted(()=>{new ResizeObserver(u).observe(r.value)});function u(){e.nextTick(()=>{const l=r.value.firstChild;if(l){if(a("updateSvgContainer",l),!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()),l.querySelectorAll("[data-building-id]").forEach(d=>{d.querySelectorAll("path").forEach(h=>{h.style.removeProperty("stroke"),h.style.removeProperty("fill")});const v=d.getAttribute("data-building-id");i[v]={element:d,state:s.value===v?"selected":"idle"},d.addEventListener("mouseover",()=>{i[v].state==="idle"&&(i[v].state="hover"),a("onHoverOver",v)}),d.addEventListener("mouseout",()=>{i[v].state==="hover"&&(i[v].state="idle"),a("onHoverOut",v)}),d.addEventListener("click",()=>{a("onClick",v)})})}})}return(l,c)=>(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,Eo))]),_:1}))}}),[["__scopeId","data-v-129bf5cd"]]),xo={class:"actions-bar position-absolute top-left d-flex w-100 justify-center align-center",style:{"z-index":"6"}},Io={class:"pa-2 pr-0",style:{flex:"1"}},No={class:"pa-2 pr-0",style:{flex:"1"}},So={class:"pa-2",style:{flex:"2"}},Do={class:"position-absolute bottom-right",style:{"z-index":"6",width:"50px",height:"50px"}},Ao=["innerHTML"],Lo={style:{"z-index":"7"}},Fo=T(e.defineComponent({__name:"VBuildingChooserV5",props:{buildingChooserData:{},cdnFileResolver:{},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},i18nConfig:{},customOverlayContent:{},selectedId:{},defaultCamera:{},defaultDay:{},defaultTime:{}},emits:["onClick","onHoverOver","onHoverOut"],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),l=e.ref(),c=e.computed(()=>l.value.isHoverEnabled),d=e.ref({x:0,y:0,width:0,height:0}),v=e.ref();e.onMounted(()=>u.value=!0),e.watchEffect(()=>{t.cdnFileResolver&&(t.defaultCamera?n.value=t.buildingChooserData.cameras.find(x=>x.cameraName===t.defaultCamera)||t.buildingChooserData.cameras[0]:n.value=t.buildingChooserData.cameras[0])}),e.watchEffect(()=>{t.cdnFileResolver&&(t.defaultDay?r.value=n.value.sunsimDayOfYear.find(x=>x.dayOfYear===t.defaultDay)||n.value.sunsimDayOfYear[0]:r.value=n.value.sunsimDayOfYear[0])}),e.watchEffect(()=>{t.cdnFileResolver&&(t.defaultTime?s.value=r.value.timeSamples.find(x=>x.timeInHours===t.defaultTime)||r.value.timeSamples[0]:s.value=r.value.timeSamples.find(x=>x.timeInHours===r.value.defaultHour)||r.value.timeSamples[0])});function h(x){n.value=x,r.value=n.value.sunsimDayOfYear[0],s.value=r.value.timeSamples.find(w=>w.timeInHours===r.value.defaultHour)||r.value.timeSamples[0]}function p(x){r.value=x,s.value=r.value.timeSamples.find(w=>w.timeInHours===r.value.defaultHour)||r.value.timeSamples[0]}function g(x){s.value=x}function E(x){a("onHoverOver",x),i.value=x}function _(x){a("onHoverOut",x),i.value=void 0}function f(x){const{layerX:w,layerY:I}=x;let y=x.target,V=!1;for(;y;)if(y===v.value){V=!0;break}else y=y.parentElement;V?d.value={x:w,y:I,width:x.currentTarget.clientWidth,height:x.currentTarget.clientHeight}:d.value=void 0}return(x,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.Transition,null,{default:e.withCtx(()=>[u.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"w-100 h-100 position-relative",onMousemove:f},[e.createElementVNode("div",xo,[e.createElementVNode("div",Io,[e.createVNode(yo,{"building-chooser-data":t.buildingChooserData,"current-camera":n.value,onOnCameraChange:h},null,8,["building-chooser-data","current-camera"])]),e.createElementVNode("div",No,[e.createVNode(wo,{"camera-data":n.value,"current-day":r.value,onOnDayChange:p},null,8,["camera-data","current-day"])]),e.createElementVNode("div",So,[e.createVNode(Vo,{"day-data":r.value,"current-time":s.value,onOnTimeChange:g},null,8,["day-data","current-time"])])]),e.createElementVNode("div",Do,[e.createVNode(fe,{longitude:n.value.cameraRotation.y+270},null,8,["longitude"])]),e.createVNode(pe,{position:"relative"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.buildingChooserData.cameras,I=>(e.openBlock(),e.createBlock(Co,{key:I.overlayFilename,"camera-data":I,"color-callback":t.colorCallback,"cdn-file-resolver":t.cdnFileResolver,"current-time":s.value},null,8,["camera-data","color-callback","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,Ao)):e.createCommentVNode("",!0),e.createVNode(Bo,{"cdn-file-resolver":x.cdnFileResolver,"color-callback":t.colorCallback,"current-camera":n.value,"selected-id":t.selectedId,onOnClick:w[0]||(w[0]=I=>a("onClick",I)),onOnHoverOver:E,onOnHoverOut:_,onUpdateSvgContainer:w[1]||(w[1]=I=>v.value=I)},null,8,["cdn-file-resolver","color-callback","current-camera","selected-id"])]),_:1}),x.$slots.popup&&d.value&&i.value?(e.openBlock(),e.createBlock(ue,{key:0,"is-hoverable":c.value,pos:d.value},{default:e.withCtx(()=>[e.createElementVNode("div",Lo,[e.renderSlot(x.$slots,"popup",e.normalizeProps(e.guardReactiveProps({hoverId:i.value,hoverable:c.value})),void 0,!0)])]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0)],32)):e.createCommentVNode("",!0)]),_:3}),e.createVNode(re,{ref_key:"hoverProbe",ref:l},null,512)],64))}}),[["__scopeId","data-v-9a6576e0"]]);var ve={};Object.defineProperty(ve,"__esModule",{value:!0});var Mo=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},To=typeof window<"u"&&typeof window.document<"u",Ro=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Oo=(typeof self>"u"?"undefined":Mo(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",$o=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Uo=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Ho=ve.isBrowser=To;ve.isWebWorker=Oo,ve.isNode=Ro,ve.isJsDom=$o,ve.isDeno=Uo;const Po={id:"player-wrapper"},jo={id:"player-sizer"},Yo={class:"player-control",id:"controls-top-left"},zo={class:"player-control",id:"controls-top-center"},Wo={class:"player-control",id:"controls-top-right"},Go={class:"player-control",id:"controls-center-left"},Qo={class:"player-control",id:"controls-center-center"},qo={class:"player-control",id:"controls-center-right"},Zo={class:"player-control",id:"controls-bottom-left"},Xo={class:"player-control",id:"controls-bottom-center"},Jo={class:"player-control",id:"controls-bottom-right"},Ko={id:"main-canvas"},en=T(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=We.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(a.cdnFileResolver(`/${a.interiorId}/${a.apartmentId}`),s.value,!1)}),e.watch([()=>a.cdnFileResolver,()=>a.interiorId,()=>a.apartmentId],async()=>{r.value&&await r.value.loadInterior(a.cdnFileResolver(`/${a.interiorId}/${a.apartmentId}`),void 0,!1)},{deep:!0}),e.watch(()=>a.currentCameraId,l=>{r.value&&(s.value=l,r.value.goToCamera(l,!0))}),e.watch(r,l=>{n("playerApiCallback",l);const c=r.value.getCurrentCamera();c&&(s.value=c.id)}),e.onMounted(async()=>{const v={initialized:()=>{r.value=t.Main.getPlayerAPI();const p=r.value.getCurrentCamera();p&&(s.value=p.id),n("newCameraCallback",s.value)},newCamera:p=>{n("newCameraCallback",p.id),n("newFloorCallback",p.floorLevel),r.value&&r.value.resetMarkerBehaviour(0),s.value=p.id},newFOV:p=>{n("newFovCallback",p),u.value=p},newRotation:p=>{const g=p+0;n("newRotationCallback",g),i.value=g}};if(!Ho)return;const h=await new t.Main(a.cdnFileResolver(`/${a.interiorId}/${a.apartmentId}`),"qpc",v,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()}),(l,c)=>(e.openBlock(),e.createElementBlock("div",Po,[e.createElementVNode("div",jo,[e.renderSlot(l.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Yo,[e.renderSlot(l.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",zo,[e.renderSlot(l.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Wo,[e.renderSlot(l.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Go,[e.renderSlot(l.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Qo,[e.renderSlot(l.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",qo,[e.renderSlot(l.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Zo,[e.renderSlot(l.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Xo,[e.renderSlot(l.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Jo,[e.renderSlot(l.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",Ko,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(l.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])]))}}),[["__scopeId","data-v-a5211919"]]),tn={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},on=["stroke"],nn=["stroke"],an={class:"floor-level-label"},rn=T(e.defineComponent({__name:"VFloorLevel",props:{level:{default:0},floorLevels:{default:()=>[]}},emits:["level"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(X),r=e.computed(()=>{const c=t.floorLevels;return c.sort(),c}),s=e.computed(()=>r.value.indexOf(t.level)+1<=r.value.length/2?"lower":"upper"),i=e.computed(()=>s.value==="lower"),u=e.computed(()=>s.value==="upper");function l(){const c=t.level+1;c>=r.value.length?a("level",r.value[0]):a("level",r.value[c])}return(c,d)=>{const v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(h,{right:"",attach:""},{activator:e.withCtx(({props:p})=>[e.createVNode(v,e.mergeProps({style:{cursor:"pointer"},density:"comfortable",elevation:"1",icon:""},p,{onClick:l}),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",tn,[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,on),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,nn)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",an,e.toDisplayString(e.unref(n).getLabel(s.value))+" "+e.toDisplayString(e.unref(n).getLabel("floor")),1)]),_:1})}}}),[["__scopeId","data-v-5ce91d8e"]]),ln=T(e.defineComponent({__name:"VInteriorSelector",props:{cdnFileResolver:{type:Function},availableArchetypes:{},selectedIndex:{}},emits:["selectInterior"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(X);return(r,s)=>{const i=e.resolveComponent("v-btn"),u=e.resolveComponent("v-img"),l=e.resolveComponent("v-list-item-title"),c=e.resolveComponent("v-list-item"),d=e.resolveComponent("v-list"),v=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(v,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:h})=>[e.createVNode(i,e.mergeProps({"prepend-icon":"mdi-palette-outline",rounded:""},h),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(d,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.availableArchetypes,(h,p)=>(e.openBlock(),e.createBlock(c,{density:"compact",key:`at-menuitem-${p}`,onClick:g=>a("selectInterior",h.archetypeID),active:p===r.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(u,{width:"100","max-width":"100",height:"66",src:h.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(h.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}}}),[["__scopeId","data-v-89fbc381"]]),sn="data:image/png;base64,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",cn="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==",dn=e.defineComponent({__name:"VCompass",props:{rotation:{}},setup(m){const o=m,t=e.ref(cn),a=e.ref({backgroundImage:`url(${sn})`,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)},[e.createVNode(i,{class:"compass-needle",src:t.value,style:e.normalizeStyle(n.value)},null,8,["src","style"])],4)}}}),mn="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",un={class:"d-flex flex-column align-center justify-center clock-face"},pn={class:"clock-icon"},fn={class:"clock-value grey--text text--darken-3"},hn=T(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",un,[e.createElementVNode("div",pn,[e.createVNode(s,{src:e.unref(mn),"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",fn,e.toDisplayString(t.value),1)])}}}),[["__scopeId","data-v-9a5f102b"]]),gn=e.defineComponent({__name:"VViewModeToggle",props:{showStaticImage:{type:Boolean}},emits:["toggle"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(X),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]=l=>a("toggle"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).getLabel(r.value)),1)]),_:1})}}}),ce=m=>(e.pushScopeId("data-v-b9eb5380"),m=m(),e.popScopeId(),m),vn={key:0,class:"tutorial"},kn={key:0,class:"desktop-content"},Cn={class:"d-inline-flex"},yn={class:"box col"},wn=ce(()=>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)),_n={class:"text mt-3"},bn={class:"box col"},Vn=ce(()=>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)),En={class:"text mt-3"},Bn={class:"box col"},xn=ce(()=>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)),In={class:"text mt-3"},Nn={class:"d-inline-flex space-around"},Sn={class:"box col"},Dn=ce(()=>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)),An={class:"text mt-3"},Ln={key:1,class:"d-flex flex-column tablet-mobile-content"},Fn={class:"box horizontal mt-3"},Mn=ce(()=>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)),Tn={class:"text ml-2"},Rn={class:"box horizontal mt-3"},On=ce(()=>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)),$n={class:"text ml-2"},Un={class:"box horizontal mt-3"},Hn=ce(()=>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)),Pn={class:"text ml-2"},jn={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"},Yn=T(e.defineComponent({__name:"VTutorial",props:{project:{}},emits:["closeTutorial"],setup(m,{emit:o}){const t=m,a=o,n=e.inject(X),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(v=>navigator.userAgent.match(v))),u=e.computed(()=>{const d=localStorage.getItem(`${t.project}-dont-show-tutorial`);return d&&a("closeTutorial"),d});function l(){s.value&&c(),r.value=!1,a("closeTutorial")}function c(){localStorage.setItem(`${t.project}-dont-show-tutorial`,"true")}return(d,v)=>{const h=e.resolveComponent("v-checkbox"),p=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",vn,[i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",Cn,[e.createElementVNode("div",yn,[wn,e.createElementVNode("div",_n,e.toDisplayString(e.unref(n).getLabel("clickAndDragToLookAround")),1)]),e.createElementVNode("div",bn,[Vn,e.createElementVNode("div",En,e.toDisplayString(e.unref(n).getLabel("clickOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Bn,[xn,e.createElementVNode("div",In,e.toDisplayString(e.unref(n).getLabel("useTheMouseWheelToZoom")),1)])]),e.createElementVNode("div",Nn,[e.createElementVNode("div",Sn,[Dn,e.createElementVNode("div",An,e.toDisplayString(e.unref(n).getLabel("youCanAlsoUseTheArrowKeysToMoveAround")),1)])])])),i.value?(e.openBlock(),e.createElementBlock("div",Ln,[e.createElementVNode("div",Fn,[Mn,e.createElementVNode("div",Tn,e.toDisplayString(e.unref(n).getLabel("tapAndDragToLookAround")),1)]),e.createElementVNode("div",Rn,[On,e.createElementVNode("div",$n,e.toDisplayString(e.unref(n).getLabel("tapOnTheCirclesToMoveAround")),1)]),e.createElementVNode("div",Un,[Hn,e.createElementVNode("div",Pn,e.toDisplayString(e.unref(n).getLabel("useTwoFingersToZoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",jn,[e.createVNode(h,{modelValue:s.value,"onUpdate:modelValue":v[0]||(v[0]=g=>s.value=g),label:e.unref(n).getLabel("dontShowAgain")},null,8,["modelValue","label"]),e.createVNode(p,{small:"",outlined:"",class:"mt-5",onClick:v[1]||(v[1]=g=>l())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}}}),[["__scopeId","data-v-b9eb5380"]]),zn=m=>(e.pushScopeId("data-v-bd4f66c3"),m=m(),e.popScopeId(),m),Wn={class:"player-settings-ui"},Gn={id:"settings-ui-form"},Qn={class:"form-inputs"},qn={class:"setting-label"},Zn={class:"setting-label"},Xn=["max","min","step"],Jn={class:"setting-label"},Kn={class:"flex-grow-1 flex-shrink-0"},ea=["onUpdate:modelValue"],ta={key:3,"d-block":"",class:"mt-3"},oa={class:"d-flex justify-space-between"},na={class:"setting-label"},aa={class:"mt-5 d-block",style:{width:"300px"}},ra=zn(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),la={class:"d-block",style:{width:"300px"}},ia={class:"form-buttons"},sa=T(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 p={};for(const[g,E]of Object.entries(n.value))g==="whitePoint"?p[g]=c(E.value):p[g]=E.value;return p});function s(){a("updateSettings",r.value)}function i(){const p=document.createElement("a");p.href=URL.createObjectURL(new Blob([JSON.stringify(r.value,null,2)]));const g=`player-settings-${Date.now()}.json`;p.download=g,p.style.display="none",document.body.appendChild(p),p.click(),document.body.removeChild(p)}function u(){a("saveSettings",r.value)}function l(){n.value=h(),a("updateSettings",r.value)}function c(p){const g=parseInt(p.substr(1,2),16)/255,E=parseInt(p.substr(3,2),16)/255,_=parseInt(p.substr(5,2),16)/255;return[g,E,_]}function d(p){var g=p.toString(16);return g.length==1?"0"+g:g}function v([p,g,E]){return"#"+d(parseInt((p*255).toString()))+d(parseInt((g*255).toString()))+d(parseInt((E*255).toString()))}function h(p={}){const g=["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:"",...p};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:v(E.whitePoint)},lut:{label:"Lut",type:"lut",items:g.map(_=>({text:_,value:`https://cdn.visuado.com/luts/${_}.png`})),value:E.lut}}}return(p,g)=>{const E=e.resolveComponent("v-text-field"),_=e.resolveComponent("v-slider"),f=e.resolveComponent("v-checkbox"),x=e.resolveComponent("v-btn"),w=e.resolveComponent("v-select"),I=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",Wn,[e.createElementVNode("form",Gn,[e.createElementVNode("div",Qn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(y,V,R)=>(e.openBlock(),e.createElementBlock("div",{key:R,"d-block":""},[y.type==="slider"?(e.openBlock(),e.createBlock(_,{key:0,modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,onChange:s,max:y.max,min:y.min,step:y.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",qn,e.toDisplayString(y.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,"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(f,{key:1,modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,onChange:s},{prepend:e.withCtx(()=>[e.createElementVNode("div",Zn,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",Jn,e.toDisplayString(y.label),1),e.createElementVNode("div",Kn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B=>n.value[V].value=B,type:"color",onChange:s},null,40,ea),[[e.vModelText,n.value[V].value]])]),e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:s},null,8,["modelValue","onUpdate:modelValue"])])],8,Xn)):e.createCommentVNode("",!0),y.type==="lut"?(e.openBlock(),e.createElementBlock("div",ta,[e.createElementVNode("div",oa,[e.createElementVNode("div",na,e.toDisplayString(y.label),1),e.createElementVNode("div",null,[e.createVNode(x,{class:"ml-2","x-small":"",onClick:B=>n.value[V].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",aa,[e.createElementVNode("div",null,[e.createVNode(w,{modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,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,[ra,e.createElementVNode("div",la,[e.createElementVNode("div",null,[e.createVNode(E,{modelValue:n.value[V].value,"onUpdate:modelValue":B=>n.value[V].value=B,"hide-details":"",dense:"",type:"url",onChange:s},null,8,["modelValue","onUpdate:modelValue"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",ia,[e.createVNode(x,{onClick:g[0]||(g[0]=y=>l())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(x,{class:"ml-2",onClick:g[1]||(g[1]=y=>i())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(I,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(x,{class:"ml-2",onClick:g[2]||(g[2]=y=>u())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(I,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}}}),[["__scopeId","data-v-bd4f66c3"]]),ca=(m=>(e.pushScopeId("data-v-30593022"),m=m(),e.popScopeId(),m))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),da={class:"moveable-body",id:"moveableDivHeader"},ma={class:"moveable-footer"},ua=T(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,l=0,c=0,d=0;i.addEventListener("touchstart",v,{passive:!1}),i.addEventListener("touchend",p,{passive:!1}),i.addEventListener("mousedown",v,{passive:!1}),i.addEventListener("mouseup",p,{passive:!1});function v(g){g=g||window.event,g.preventDefault();let E=g;g.type==="touchstart"&&(E=g.touches[0]),c=E.clientX,d=E.clientY,document.addEventListener("mouseup",p,{passive:!1}),document.addEventListener("touchend",p,{passive:!1}),document.addEventListener("mousemove",h,{passive:!1}),document.addEventListener("touchmove",h,{passive:!1})}function h(g){g=g||window.event,g.preventDefault();let E=g;g.type==="touchmove"&&(E=g.touches[0]),u=c-E.clientX,l=d-E.clientY,c=E.clientX,d=E.clientY,s.style.top=s.offsetTop-l+"px",s.style.left=s.offsetLeft-u+"px"}function p(){document.removeEventListener("mouseup",p,!1),document.removeEventListener("mousemove",h,!1),document.removeEventListener("touchend",p,!1),document.removeEventListener("touchmove",h,!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]=l=>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]=l=>t("transform")),title:"Rotate"}),ca,e.createElementVNode("div",da,[e.renderSlot(s.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",ma,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])],2)}}}),[["__scopeId","data-v-30593022"]]),pa={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},fa=e.createStaticVNode('<defs><radialGradient id="Gradient" cx="0" cy="0" r="0.9" fx="0" fy="0"><stop offset="0%" class="stop1"></stop><stop offset="60%" class="stop2"></stop><stop offset="90%" class="stop3"></stop></radialGradient><linearGradient id="LineGradient" gradientTransform="rotate(90)"><stop offset="0%" class="stop1"></stop><stop offset="75%" class="stop2"></stop><stop offset="100%" class="stop3"></stop></linearGradient></defs>',1),ha=["transform"],ga=[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)],va=e.defineComponent({__name:"VRotationMarker",props:{rotation:{}},setup(m){return(o,t)=>(e.openBlock(),e.createElementBlock("svg",pa,[fa,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+o.rotation})`},ga,8,ha)]))}}),ka={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Ca={class:"minimap-container"},ya=T(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 se.Vector3),r=e.ref(new se.Object3D),s=e.ref({}),i=e.ref(1),u=e.ref(),l=e.computed(()=>o.allCameras),c=e.computed(()=>o.allCameras.find(V=>V.id===o.currentCamera)),d=e.computed(()=>o.rotation),v=e.computed(()=>new se.Vector3(o.storey.position.x,o.storey.position.y,o.storey.position.z)),h=e.computed(()=>parseFloat(c.value.floor_vertical_position)),p=e.computed(()=>l.value.map(V=>{const R=V.uposition.split(","),B=new se.Vector3(Number(R[0])-v.value.x,0,Number(R[2])-v.value.z);return{...V,...w(n.value,B)}})),g=e.computed(()=>`background-image: url(${o.backgroundImage});`),E=e.computed(()=>{let V=i.value>1?1:i.value;return V<.8&&(V=.4),`scale: ${V>1?1:V}; transform: rotate(${o.transformAngle}deg);`});e.onMounted(()=>{I(),f(),y();const V=document.getElementById("moveableDiv");V&&(u.value=new ResizeObserver(y).observe(V))}),e.onBeforeUpdate(()=>{I(),f()}),e.onBeforeUnmount(()=>{u.value&&u.value.unobserve(document.getElementById("moveableDiv"))});function _(V){return se.MathUtils.degToRad(V)}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 x(V){return{top:`${Math.abs(V.top)}%`,left:`${Math.abs(V.left)}%`}}function w(V,R){var B=new se.Vector3;const O=B.subVectors(V,R);return{relativePosition:O,left:O.x/t.value*100,top:O.z/a.value*100}}function I(){const V=o.storey.position.y-h.value;a.value=2*(V*Math.tan(_(o.storey.fovY/2))),t.value=512/384*a.value;const R=a.value/2,B=t.value/2,O=new se.Vector3(B*-1,0,R*-1);n.value=O}function y(){const V=document.getElementById("moveableDiv");if(!V)return;const R=V.offsetHeight/384*.8,B=V.offsetWidth/512*.8;V.offsetHeight>V.offsetWidth?i.value=B*.5:i.value=R*.9}return(V,R)=>(e.openBlock(),e.createElementBlock("div",ka,[e.createElementVNode("div",Ca,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(E.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(p.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.id},[c.value.floorLevel===B.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(x(B))},null,4)):e.createCommentVNode("",!0),c.value.id===B.id&&o.rotation!==null?(e.openBlock(),e.createBlock(va,{key:1,class:"rotation-marker-component",rotation:d.value,style:e.normalizeStyle({...x(B)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])]))}}),[["__scopeId","data-v-1a6129d7"]]),wa=T(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(fe,{class:"north-indicator",longitude:t.value},null,8,["longitude"])],4))}}),[["__scopeId","data-v-552c1d19"]]),_a={class:"ss-wrapper"},ba={class:"slider"},Va={class:"minimap-sun-slider"},Ea={key:0,class:"time-label"},Ba=T(e.defineComponent({__name:"VSunSimulationSlider",props:{cdnFileResolver:{type: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),l=e.computed(()=>t.minimapJson.storeys[t.level]),c=e.computed(()=>`${Math.floor(n.value).toString().padStart(2,"0")}:00`),d=e.computed(()=>{if(l.value.sunsimFilesTimeStamps[n.value]){const _=l.value.sunsimFilesTimeStamps[n.value].split(" ");return`${_[0]} ${_[1]}`}return""});e.onMounted(async()=>{i.value=await p(l.value.sunsimFiles[n.value]),s.value=!1;const _=await h(t.minimapJson.storeys);u.value=_,r.value=!1,a("setBackgroundImage",v(t.level,n.value))}),e.watch(n,()=>{const _=v(t.level,n.value);a("setBackgroundImage",_)}),e.watch(()=>t.level,()=>{a("setBackgroundImage",v(t.level,n.value))},{immediate:!0});function v(_,f){return u.value.get(`sunsim${_}_${f}`)?u.value.get(`sunsim${_}_${f}`):""}async function h(_){let f=new Map;for(let x=0;x<_.length;x++){const w=_[x].sunsimFiles;for(let I=0;I<w.length;I++){const y=w[I];try{const V=y,R=y.split("."),B=await p(V);f.set(R[0],B)}catch{continue}}}return f}async function p(_){const x=await(await fetch(t.cdnFileResolver(`/${t.apartmentJson.type}/${t.apartmentJson.id}/minimap/${_}`))).blob(),w=await E(x);return g(w)}function g(_){return"data:image/jpeg;base64,"+_}async function E(_){return new Promise((f,x)=>{const w=new FileReader;w.onload=()=>{const I=w.result.split(",")[1];f(I)},w.onerror=x,w.readAsDataURL(_)})}return(_,f)=>{const x=e.resolveComponent("v-progress-linear"),w=e.resolveComponent("v-icon"),I=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",_a,[e.createElementVNode("div",ba,[e.createElementVNode("div",Va,[r.value?(e.openBlock(),e.createBlock(x,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(I,{key:1,modelValue:n.value,"onUpdate:modelValue":f[0]||(f[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(w,{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",Ea,e.toDisplayString(d.value)+" "+e.toDisplayString(c.value),1))])])}}}),[["__scopeId","data-v-837c5778"]]),Ue=T(e.defineComponent({__name:"VMiniMap",props:{cdnFileResolver:{type: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 c=1;return r.value!==0&&(Math.abs(r.value)%180===0?c=1:c=-1),c});function u(c){n.value=c}function l(){r.value=r.value+90}return(c,d)=>(e.openBlock(),e.createBlock(ua,{onClose:d[0]||(d[0]=v=>a("close")),onTransform:l},{body:e.withCtx(()=>[e.createVNode(wa,{scale:i.value,rotation:s.value.rotation.y,"transform-angle":r.value},null,8,["scale","rotation","transform-angle"]),e.createElementVNode("div",null,[e.createVNode(ya,{"transform-angle":r.value,"all-cameras":c.apartmentJson.cameras,"background-image":n.value,rotation:c.rotation,"current-camera":c.currentCamera,storey:s.value},null,8,["transform-angle","all-cameras","background-image","rotation","current-camera","storey"])])]),footer:e.withCtx(()=>[e.createVNode(Ba,{"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"]]),xa={key:0,class:"text-white disclaimer caption"},Ia=T(e.defineComponent({__name:"VDisclaimer",setup(m){const o=e.inject(X),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",xa,[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"]]),Na={class:"waypoint-carousel"},Sa=37,Da=39,He=T(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(l){n.value=l}}),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(l){switch(l.keyCode){case l.keyCode===Sa:a("previous");break;case l.keyCode===Da:a("next");break;default:return}}function u(l,c){c(),a("goto",l)}return(l,c)=>{const d=e.resolveComponent("v-icon"),v=e.resolveComponent("v-btn"),h=e.resolveComponent("v-hover"),p=e.resolveComponent("v-img"),g=e.resolveComponent("v-card"),E=e.resolveComponent("v-slide-group-item"),_=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",Na,[e.createVNode(_,{modelValue:r.value,"onUpdate:modelValue":c[2]||(c[2]=f=>r.value=f),"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(v,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:c[0]||(c[0]=x=>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(v,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:s.value}]),onClick:c[1]||(c[1]=x=>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(l.thumbnails,f=>(e.openBlock(),e.createBlock(E,{key:f.id},{default:e.withCtx(({toggle:x,selectedClass:w})=>[e.createVNode(g,{class:e.normalizeClass(["ma-2",w]),align:"center",justify:"center",height:s.value?50:100,width:s.value?80:160,elevation:"0",style:{overflow:"hidden"},onClick:I=>u(f.id,x)},{default:e.withCtx(()=>[e.createVNode(p,{"max-height":"100","max-width":"160",cover:"",src:f.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue"])])}}}),[["__scopeId","data-v-45edaf7a"]]),Aa={id:"share-btns-wrapper",class:"text-center"},La=T(e.defineComponent({__name:"VSocialShare",setup(m){const o=e.inject(X),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,l)=>{const c=e.resolveComponent("v-btn"),d=e.resolveComponent("v-tooltip"),v=e.resolveComponent("v-toolbar-title"),h=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),g=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(c,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:l[0]||(l[0]=x=>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":l[2]||(l[2]=f=>t.value=f)},{default:e.withCtx(()=>[e.createVNode(E,null,{default:e.withCtx(()=>[e.createVNode(p,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(c,{size:"x-small",icon:"mdi-close",onClick:l[1]||(l[1]=f=>t.value=!1)}),e.createVNode(v,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o).getLabel("share")),1)]),_:1}),e.createVNode(h)]),_:1}),e.createVNode(g,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Aa,[e.createVNode(d,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(c,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(c,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(c,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(c,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(c,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"]]),Fa={class:"static-image-wrapper"},Ma=T(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",Fa,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[a.aspectRatio]]),style:e.normalizeStyle(t.value)},null,6)]))}}),[["__scopeId","data-v-31489804"]]),Ta={id:"btn-fullscreen",class:"btn-placeholder mr-2"},Ra=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",Ta,[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 Oa{constructor(o,t){H(this,"_doc");H(this,"_elemId");H(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}}function _e(m){return("0"+m).slice(-2)}function $a(){const m=new Date;return[m.getFullYear().toString(),_e(m.getMonth()+1),_e(m.getDate())," ",_e(m.getHours()),_e(m.getMinutes()),_e(m.getSeconds())].join("")}function Ua(){return"Visuado-Snapshot-"+$a()}class Ha{constructor(o,t){H(this,"data");this.data=o}download(o=null){o=o||Ua();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 Pa={class:"virtual-tour-wrapper"},ja={key:0,class:"player-error"},Ya={class:"player-and-components-wrapper"},za={key:1,class:"v-player"},Wa={key:3,class:"settings-panel"},Ga={key:0,class:"compass-wrapper"},Qa={key:1,class:"btn-placeholder mr-2"},qa={key:2,class:"btn-placeholder"},Za={key:0},Pe=T(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"],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(),l=e.ref(),c=e.ref(),d=e.ref(0),v=e.ref(),h=e.ref(),p=e.ref(),g=e.ref(0),E=e.ref(0),_=e.ref(0),f=e.ref(!1),x=e.ref(!1),w=e.ref(!1),I=e.ref(new Oa(document,"player-wrapper")),y=e.computed(()=>{if(i.value){const C=i.value.cameras.map($=>$.floorLevel);let L=[...new Set(C)];return L=L.sort(),L}else return[]}),V=e.computed(()=>{let C=0;if(i.value){const L=i.value.cameras.map(ye=>ye.floorLevel);let $=[...new Set(L)];$=$.sort();const Q=$.findIndex(ye=>ye===E.value);Q!==-1&&(C=Q)}return C}),R=e.computed(()=>b.value.findIndex(C=>C.archetypeID===v.value)),B=e.computed(()=>u.value?u.value.cameras.map(C=>({...C,thumbnailUrl:q(`/${v.value}/${t.apartmentId}/thumbs/200/${C.id}.jpg`),imageUrl:q(`/${v.value}/${t.apartmentId}/images/1600/${C.id}.jpg`)})):[]),O=e.computed(()=>!B.value||!B.value[d.value]?"":B.value[d.value].imageUrl),b=e.computed(()=>{let C=[];return s.value&&(C=s.value.archetypes),t.validInteriorIds.length?C.filter(L=>t.validInteriorIds.includes(L.archetypeID)):C}),k=e.computed(()=>u.value?b.value.map(C=>({...C,url:q(`/${C.archetypeID}/${t.apartmentId}/thumbs/200/${B.value[d.value].id}.jpg`)})):[]),S=e.computed(()=>{if(l.value)return l.value.storeys[V.value]}),N=e.computed(()=>i.value&&i.value.timeInHours),j=e.computed(()=>{if(i.value&&i.value.timeInHours&&t.showTimeOfDay)return Ka(i.value.timeInHours)});e.provide(X,t.i18nConfig?new le(t.i18nConfig):new le),e.watch([()=>t.cdnFileResolver],async()=>{await D(),U(),await F()}),e.watch(()=>t.defaultViewMode,C=>{C==="virtualTour"&&(f.value=!1),C==="slideShow"&&(f.value=!0,w.value=!0)},{immediate:!0}),e.onMounted(async()=>{try{await D(),U(),await F(),I.value.setup(),G()}catch{r.value=!0}});async function D(){s.value=await W()}async function F(){if(i.value=await z(v.value,t.apartmentId),i.value&&(h.value=i.value.cameras.find(()=>!0).id),u.value=await te(v.value,t.apartmentId),u.value){let C=t.defaultWaypointIndex!==null?t.defaultWaypointIndex:0;d.value=C,h.value=u.value.cameras[C].id,p.value=u.value.cameras[C].id}t.showMiniMap&&(l.value=await ne(v.value,t.apartmentId))}function U(){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),v.value=C}function G(){const C=document.getElementById("main-canvas");C.addEventListener("touchmove",L,{passive:!1});function L(Q){Q.preventDefault(),window.scrollBy(0,0)}C.addEventListener("mouseenter",()=>{document.addEventListener("wheel",$,{passive:!1})},{passive:!1}),C.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",$)},{passive:!1});function $(Q){Q.preventDefault(),window.scrollBy(0,0)}}async function W(){try{return await Ce("/config.json")}catch(C){console.error("Error loading config.json - ",t.cdnFileResolver("/config.json"),C);return}}async function z(C,L){try{return await Ce(`/${C}/${L}/apartment.json`)}catch($){console.error("Error loading apartment.json - ",`/${C}/${L}/apartment.json`,$);return}}async function te(C,L){try{return await Ce(`/${C}/${L}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`/${C}/${L}/thumbs.json`);return}}async function ne(C,L){try{return await Ce(`/${C}/${L}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`/${C}/${L}/minimap/minimap.json`);return}}function J(){let C=d.value+1;C>=B.value.length&&(C=0),d.value=C,de(B.value[d.value].id)}function K(){let C=d.value-1;C<0&&(C=B.value.length-1),d.value=C,de(B.value[d.value].id)}function ee(C,L=!0){let $=B.value.findIndex(Q=>Q.id===C);$!=-1&&(d.value=$,L&&de(C))}function de(C){h.value=C}function ie(C){v.value=C,a("onInteriorUpdate",C),a("onCameraUpdate",p.value,i.value)}function Ee(C){ee(C,!1),p.value=C,a("onCameraUpdate",C,i.value)}function ke(C){g.value=C}function Be(C){E.value=C}function A(C){_.value=C}function M(C,L){}function Y(C){c.value=C,t.playerSettings&&c.value.updateSettings(t.playerSettings)}function be(){I.value.toggle(),window.scrollTo({top:150,behavior:"smooth"})}function me(){f.value=!f.value}async function ae(){const C=180/Math.PI,L=await c.value.takePhoto(),$=c.value.getRotationEuler(),Q=c.value.getCurrentCamera(),ye=new Ha(L,Q),er=[$.x*C,$.y*C,$.z*C];return a("onSnapshot",ye,er),ye}function q(C){let L=t.cdnFileResolver(C);return t.adminMode&&(L=L+`?v=${Date.now()}`),L}async function Ce(C){const L=q(C);try{return(await oe.get(L)).data}catch($){throw new Error($)}}function je(C){c.value.updateSettings(C)}function Ja(C){a("saveSettings",C)}function Ka(C){if(C===void 0)return null;const L=Math.floor(C),$=Math.floor((L-C)*60);return{hours:L,minutes:$}}return(C,L)=>{const $=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Pa,[r.value?(e.openBlock(),e.createElementBlock("div",ja,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",Ya,[!I.value.isActive&&l.value&&p.value&&S.value&&v.value&&x.value?(e.openBlock(),e.createBlock(Ue,{key:0,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":i.value,level:V.value,"minimap-json":l.value,rotation:g.value,"current-camera":p.value,onClose:L[0]||(L[0]=Q=>x.value=!1)},null,8,["cdn-file-resolver","apartment-json","level","minimap-json","rotation","current-camera"])):e.createCommentVNode("",!0),v.value&&h.value?(e.openBlock(),e.createElementBlock("div",za,[e.createVNode(en,{"cdn-file-resolver":C.cdnFileResolver,style:e.normalizeStyle({zIndex:f.value?1:2}),"show-static-image":f.value,"is-full-screen":I.value.isActive,"current-camera-id":h.value,"mouse-sensitivity":C.mouseSensitivity,"interior-id":v.value,"apartment-id":t.apartmentId,onNewCameraCallback:Ee,onNewRotationCallback:ke,onNewFloorCallback:Be,onNewFovCallback:A,onNewSizeCallback:M,onPlayerApiCallback:Y},{"slideshow-image":e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(Ma,{key:0,image:O.value},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[C.adminMode?e.withDirectives((e.openBlock(),e.createBlock($,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:L[1]||(L[1]=Q=>n.value=!n.value)},null,512)),[[e.vShow,w.value]]):e.createCommentVNode("",!0),l.value&&h.value&&S.value?e.withDirectives((e.openBlock(),e.createBlock($,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:L[2]||(L[2]=Q=>x.value=!x.value)},null,512)),[[e.vShow,w.value]]):e.createCommentVNode("",!0),w.value&&C.showFloorLevel&&y.value.length>1?(e.openBlock(),e.createBlock(rn,{key:2,level:E.value,"floor-levels":y.value,onLevel:Be},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),w.value&&C.adminMode&&n.value?(e.openBlock(),e.createElementBlock("div",Wa,[e.createVNode(sa,{"initial-settings":C.playerSettings,onUpdateSettings:je,onSaveSettings:Ja},null,8,["initial-settings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[w.value?(e.openBlock(),e.createBlock(Ia,{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",Ga,[e.createVNode(dn,{rotation:g.value},null,8,["rotation"])],512)),[[e.vShow,w.value]]):e.createCommentVNode("",!0),w.value&&i.value&&N.value&&C.showTimeOfDay?(e.openBlock(),e.createBlock(hn,{key:1,hours:j.value.hours,minutes:j.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($,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:K})):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(Yn,{project:t.cdnFileResolver(""),onCloseTutorial:L[3]||(L[3]=Q=>w.value=!0)},null,8,["project"]),I.value.isActive&&l.value&&p.value&&S.value&&x.value?(e.openBlock(),e.createBlock(Ue,{key:0,"cdn-file-resolver":C.cdnFileResolver,"apartment-json":i.value,"minimap-json":l.value,rotation:g.value,"current-camera":p.value,level:V.value,onClose:L[4]||(L[4]=Q=>x.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($,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:J})):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[w.value&&C.showFullScreen?(e.openBlock(),e.createBlock(Ra,{key:0,"is-full-screen":I.value.isActive,class:"btn-fullscreen",onToggleFullscreen:be},null,8,["is-full-screen"])):e.createCommentVNode("",!0),w.value&&C.showSnapshot?(e.openBlock(),e.createElementBlock("div",Qa,[e.createVNode($,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:ae})])):e.createCommentVNode("",!0),w.value&&C.showShare&&!I.value.isActive?(e.openBlock(),e.createElementBlock("div",qa,[e.createVNode(La)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[w.value&&C.showCarousel?(e.openBlock(),e.createElementBlock("div",Za,[C.displayViewModeSwitch?(e.openBlock(),e.createBlock(gn,{key:0,"show-static-image":f.value,onToggle:me},null,8,["show-static-image"])):e.createCommentVNode("",!0),w.value&&I.value.isActive?(e.openBlock(),e.createBlock(He,{key:1,class:e.normalizeClass([I.value.isActive?"full-screen":""]),thumbnails:B.value,active:d.value,onNext:J,onPrevious:K,onGoto:ee},null,8,["class","thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[w.value&&C.showInteriorOptions&&k.value?(e.openBlock(),e.createBlock(ln,{key:0,"cdn-file-resolver":C.cdnFileResolver,"available-archetypes":k.value,"selected-index":R.value,onSelectInterior:ie},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&&u.value?(e.openBlock(),e.createBlock(He,{key:0,class:"waypoint-carousel below-player",thumbnails:B.value,active:d.value,onNext:J,onPrevious:K,onGoto:ee},null,8,["thumbnails","active"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])}}}),[["__scopeId","data-v-9e2869af"]]),Xa={install:function(o){o.component("VApartmentChooser",Le),o.component("VBuildingChooser",$e),o.component("VVirtualTour",Pe)}};P.ResourceLoader=Z,P.VApartmentChooser=Le,P.VApartmentChooserV5=Wt,P.VBuildingChooser=$e,P.VBuildingChooserV5=Fo,P.VFloatingCard=ue,P.VHoverProbe=re,P.VNorthDirection=fe,P.VVirtualTour=Pe,P.VZoomBox=pe,P.default=Xa,Object.defineProperties(P,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});