@qispace/vue3-player 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,3 @@
1
- (function(c,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("axios"),require("vue")):typeof define=="function"&&define.amd?define(["exports","axios","vue"],x):(c=typeof globalThis<"u"?globalThis:c||self,x(c.Vue3Player={},c.axios,c.Vue))})(this,function(c,x,e){"use strict";var P=document.createElement("style");P.textContent=`@media (hover: hover){.hover-check[data-v-e4729353]{display:none}}#canvas[data-v-3bbbc77b]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}#canvas-mask[data-v-3bbbc77b]{position:absolute;top:0;max-width:100%;z-index:4;-webkit-user-select:none;user-select:none}@media only screen and (min-width: 1280px){#canvas[data-v-3bbbc77b]{border-radius:10px}}#container[data-v-82a61864]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}.svg-container[data-v-82a61864]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-82a61864],svg[data-v-82a61864]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-82a61864] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}@media only screen and (min-width: 1280px){#canvas[data-v-82a61864]{border-radius:10px}}.v-btn[data-v-129ef905]{background-color:#fff}.frame-container[data-v-e6481f8e]{position:relative;max-width:100%;top:0;left:0;bottom:185px;padding-top:56%;z-index:1;overflow:hidden}.frame-image[data-v-e6481f8e]{position:absolute;top:0;width:100%;height:100%}.frame-image img[data-v-e6481f8e]{min-width:100%;max-width:100%;z-index:0}#image-stack picture[data-v-e6481f8e]{visibility:hidden}#image-stack picture.show[data-v-e6481f8e]{visibility:visible}.fill-parent[data-v-e6481f8e]{position:absolute;top:0;bottom:0;left:0;right:0}.floating-card[data-v-b74de171]{position:absolute;left:0;top:0;z-index:10;display:flex}.is-not-hoverable[data-v-b74de171]{position:relative;width:100%}.top-left[data-v-b74de171]{transform-origin:top left;transform:translate(8px) translateY(8px) scale(.9)}.top-right[data-v-b74de171]{transform-origin:top right;transform:translate(-100%) translate(-8px) translateY(8px) scale(.9)}.bottom-left[data-v-b74de171]{transform-origin:bottom left;transform:translateY(-100%) translate(8px) translateY(-8px) scale(.9)}.bottom-right[data-v-b74de171]{transform-origin:bottom right;transform:translateY(-100%) translate(-100%) translate(-8px) translateY(-8px) scale(.9)}.v-dialog__content[data-v-b74de171]{align-items:flex-start}.zoom-box-container[data-v-83bfd28a]{position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.zoom-box[data-v-83bfd28a]{width:100%;height:100%;-webkit-user-select:none;user-select:none;touch-action:none}.interactive-viewer[data-v-3a1121f3]{padding-top:56.65%;position:relative}.fill-parent[data-v-3a1121f3]{position:absolute;top:0;bottom:0;left:0;right:0}.navigation[data-v-3a1121f3]{position:absolute;width:100%;bottom:32px;z-index:99;padding:0 20px;display:flex;justify-content:center}@media only screen and (max-width: 600px){.navigation[data-v-3a1121f3]{bottom:12px}}.sunsim-time-label[data-v-1fba3edd]{color:#000;vertical-align:top}.sunsim-date[data-v-1fba3edd]{background:#fff;border-radius:30px;min-height:36px;min-width:170px;display:flex;align-content:center;white-space:nowrap}.day-selector[data-v-1fba3edd]{margin-top:0}.day-selector[data-v-1fba3edd] .v-field__outline{display:none}.day-selector[data-v-1fba3edd] .v-field__input{padding-top:2px}.day-selector[data-v-1fba3edd] .v-field__append-inner{padding-top:5px!important}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:before{border-style:none}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:after{border-style:none}.sunsim-slider[data-v-1fba3edd] .v-slider-track__background{background:linear-gradient(270deg,#8183c2,#ffb9b9 20.01%,#b2dfff 40.1%,#b2dfff 59.85%,#ffba96 79.96%,#8183c2)!important}.sunsim-bar-wrapper{display:flex;position:absolute;width:60%;min-width:400px;top:12px;left:0;z-index:3;touch-action:none;pointer-events:none}.sunsim-wrapper{width:100%;background:#fff;border-radius:30px;padding:5px;min-height:16px;z-index:3}.sunsim-bar-wrapper .sunsim-date{margin-right:12px;margin-left:12px}.sunsim-wrapper,.sunsim-date{touch-action:auto;pointer-events:all}.sunsim-wrapper .mdi-white-balance-sunny{color:#ffab02;vertical-align:baseline;font-size:20px}@media only screen and (max-width: 980px) and (min-width: 500px){.sunsim-bar-wrapper{top:101%;width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){.sunsim-bar-wrapper{top:calc(100% + 8px);width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{box-shadow:0 0 7px 1px #aaa}}@media only screen and (max-width: 500px){.sunsim-bar-wrapper{height:calc(100% + 84px);top:0;width:100%;flex-direction:column;justify-content:space-between;margin:-42px 0 0;padding:0;left:0;z-index:0;min-width:100%}.sunsim-bar-wrapper .sunsim-date{margin-right:0;margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{width:100%;border-radius:0;left:0;margin-left:0!important;box-shadow:0 0 7px 1px #aaa}}.image-instance[data-v-fad48118]{position:absolute;width:100%;opacity:0}.image-instance.active[data-v-fad48118]{opacity:1}.north-indicator[data-v-0a2cec1f]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-0a2cec1f]{position:relative}.image-instances[data-v-0a2cec1f]{position:relative;width:100%;height:100%}canvas[data-v-0a2cec1f]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-0a2cec1f]{position:absolute;top:0;bottom:0;left:0;right:0}.svg-container[data-v-0a2cec1f]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-0a2cec1f],svg[data-v-0a2cec1f]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-0a2cec1f] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}svg g.restricted[data-v-0a2cec1f] path{cursor:default!important}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-0a2cec1f]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-0a2cec1f]{margin-top:44px;margin-bottom:44px}}.overlay[data-v-9a90fa2f]{z-index:1!important;opacity:1;transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.north-indicator[data-v-08f2ea1e]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-08f2ea1e]{position:relative}.image-instances[data-v-08f2ea1e]{position:relative;width:100%;height:100%}canvas[data-v-08f2ea1e]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-08f2ea1e]{position:absolute;top:0;bottom:0;left:0;right:0}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-08f2ea1e]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-08f2ea1e]{margin-top:44px;margin-bottom:44px}}.v-card[data-v-f4e6ce2e]{transition:box-shadow .3s ease-in-out;border:2px solid transparent}[data-v-f4e6ce2e] .v-slide-group__content{justify-content:center}[data-v-f4e6ce2e] .v-slide-group__next--disabled,[data-v-f4e6ce2e] .v-slide-group__prev--disabled{pointer-events:all!important}.carousel-button[data-v-f4e6ce2e]{height:108px!important;min-width:54px!important;padding:0!important;z-index:2;background-color:#fff!important;border:2px solid #d2d2d2;color:#d2d2d2!important}.carousel-button.mobile[data-v-f4e6ce2e]{height:58px!important;min-width:38px!important}.carousel-button[data-v-f4e6ce2e]:hover{border:2px solid #999!important;color:#999!important}.carousel-button[data-v-f4e6ce2e]:hover:before,.carousel-button[data-v-f4e6ce2e]:hover:after{background-color:#fff!important}.align-baseline[data-v-f4e6ce2e]{align-items:baseline}.active-apt[data-v-f4e6ce2e]{border:4px solid #4caf50!important}.v-image[data-v-f4e6ce2e]{border-radius:0!important}#share-btns-wrapper button[data-v-3560cd03]{margin:0 8px}.v-btn[data-v-3560cd03]{background-color:#fff;pointer-events:all}.disclaimer[data-v-6e4f02d6]{padding:4px 10px;text-align:center;background-color:#00000040;border-radius:5px;line-height:20px}.disclaimer span[data-v-6e4f02d6]{cursor:pointer;color:#fff;text-decoration:underline;pointer-events:all}#player-wrapper[data-v-1dab1ac3]{position:relative;overflow:hidden}#player-sizer[data-v-1dab1ac3]{display:flex;justify-content:center;align-items:center;overflow:hidden}.player-control[data-v-1dab1ac3]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-1dab1ac3]{top:10px;left:10px}#controls-top-center[data-v-1dab1ac3]{top:10px;left:50%;transform:translate(-50%);z-index:4}#controls-top-right[data-v-1dab1ac3]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-1dab1ac3]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-1dab1ac3]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-1dab1ac3]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-1dab1ac3]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-1dab1ac3]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-1dab1ac3]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}.img-div[data-v-b418cf51]{position:absolute;display:block;height:100%;width:100%;background-size:cover;background-position:center center;z-index:2;left:0;top:0}.static-image-wrapper[data-v-b418cf51]{background:#fff}.compass-wrapper[data-v-e2117d1e]{width:50px}.player-and-components-wrapper[data-v-e2117d1e]{position:relative}.static-image[data-v-e2117d1e]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-e2117d1e]{background:#fff}.waypoint-carousel.full-screen[data-v-e2117d1e]{scale:.5}div#controls-bottom-center>div[data-v-e2117d1e]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-e2117d1e]{min-height:400px;display:flex;align-items:center;justify-content:space-around;background:#ededed}@media only screen and (max-width: 600px){#btn-fullscreen[data-v-e2117d1e]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-e2117d1e]{display:none}}
2
- `,document.head.appendChild(P);class y{async loadJson(n){return(await x.get(n)).data}async loadImage(n){return new Promise((i,r)=>{const o=new Image;o.crossOrigin="anonymous",o.onload=()=>{i(o)},o.onerror=r,o.src=n})}async loadImageData(n){const i=await this.loadImage(n),r=document.createElement("canvas");try{const o=r.getContext("2d");return r.width=i.width,r.height=i.height,o.drawImage(i,0,0),r.toDataURL("image/png")}finally{r.remove()}}}const g=(t,n)=>{const i=t.__vccOpts||t;for(const[r,o]of n)i[r]=o;return i},ee={name:"QiHoverProbe",computed:{isHoverEnabled(){return window.getComputedStyle(this.$refs.hoverCheck).display==="none"}}},te={ref:"hoverCheck",class:"hover-check"};function ne(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("div",te,null,512)}const w=g(ee,[["render",ne],["__scopeId","data-v-e4729353"]]),L={methods:{throttle(t,n){let i=!0;return function(...r){i&&(i=!1,t.apply(this,r),setTimeout(()=>i=!0,n))}}}},ie={name:"QiApartmentChooserRaster",components:{QiHoverProbe:w},mixins:[L],props:{cdnFileResolver:{type:Function,required:!0},viewModel:{type:Object,required:!0},selectedUnitId:{type:String,default:null},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{type:Array,default:[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null}},emits:["select-unit","go-to-unit","hover-over","hover-out"],data(){return{pos:{x:0,y:0,width:0,height:0},canvas:null,canvasBg:null,canvasWidth:0,canvasHeight:0,context:null,contextBg:null,image:null,imageData:null,originalImageData:null,hoverApartmentIndex:-1,showApartmentCard:!1,cursorX:null,cursorY:null,rasterImages:{},vueCanvasCursor:"auto",timeout:null,windowListener:void 0,resourceLoader:new y,apartmentIndexRasterMap:{}}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},rasterUrl(){return this.cdnFileResolver(`/scenedata${this.viewModel.currentScene}.png`)},rasterImage(){return this.rasterUrl in this.rasterImages?this.rasterImages[this.rasterUrl]:null},hoverApartment(){if(this.hoverApartmentIndex<0)return!1;const t=this.sceneData.find(n=>n.index===this.hoverApartmentIndex);return t?this.unitCallback?this.unitCallback(t.apartmentId):t.apartmentId:!1},canvasStyle(){return{width:this.canvasWidth+"px",height:this.canvasHeight+"px",cursor:this.vueCanvasCursor}},hoverBehaviourIdentifier(){return`hover-${this.showApartmentCard?"over":"out"}-${this.hoverApartment?typeof this.hoverApartment=="object"&&"unitId"in this.hoverApartment?this.hoverApartment.unitId:this.hoverApartment:""}`}},watch:{rasterUrl:{handler(){this.rasterImages[this.rasterUrl]||this.resourceLoader.loadImageData(this.rasterUrl).then(t=>{this.rasterImages={...this.rasterImages,[this.rasterUrl]:t}})},immediate:!0},rasterImage(){this.rasterImage&&this.init()},"viewModel.currentScene":{handler(){this.draw()},immediate:!0},"viewModel.isRotating"(){this.draw()},drawObserver(){this.draw()},selectedUnitId(){this.draw()},hoverApartment(){this.draw(),this.hoverApartment?this.vueCanvasCursor="pointer":this.vueCanvasCursor="auto"},hoverBehaviourIdentifier(){this.$emit(this.showApartmentCard?"hover-over":"hover-out",{hoverApartment:this.hoverApartment,closeHandler:()=>this.closeDialog()})},pos(){this.$emit("pos",this.pos)}},mounted(){this.windowListener=()=>{clearTimeout(this.timeout),this.updateCanvasSize(),this.timeout=setTimeout(()=>{this.updateCanvasSize()},50)},window.addEventListener("resize",this.windowListener),this.updateCanvasSize()},beforeUnmount(){window.removeEventListener("resize",this.windowListener);for(const t in this.rasterImages)URL.revokeObjectURL(this.rasterImages[t])},methods:{init(){this.canvas=this.$refs.canvasMask,this.context=this.canvas.getContext("2d",{willReadFrequently:!0}),this.image=new Image,this.image.onload=()=>{this.setupDraw(),this.canvas.addEventListener("mousemove",this.throttle(this.handleMouseMove,50))},this.image.src=this.rasterImage},handleMouseMove(t){const n=this.getApartmentIndexByCursorPosition(t.offsetX,t.offsetY);this.showApartmentCard=n>=0,this.hoverApartmentIndex=n,this.pos={x:t.offsetX,y:t.offsetY,width:this.canvasWidth,height:this.canvasHeight}},clickCanvas(t){const n=this.getApartmentIndexByCursorPosition(t.offsetX,t.offsetY);n<0||this.isHoverable&&this.goToApartmentByIndex(n)},setImageData(){if(this.image&&this.image.width){this.canvas.width=this.image.width,this.canvas.height=this.image.height,this.context.drawImage(this.image,0,0,this.image.width,this.image.height),this.originalImageData=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),this.imageData=this.context.getImageData(0,0,this.canvas.width,this.canvas.height);const t=this.originalImageData.data;this.apartmentIndexRasterMap={};for(let n=0;n<t.length;n+=4)this.apartmentIndexRasterMap[t[n]]=[];for(let n=3;n<t.length;n+=4)t[n]===255&&t[n-3]in this.apartmentIndexRasterMap&&this.apartmentIndexRasterMap[t[n-3]].push(n-3)}},getApartmentIndexByCursorPosition(t,n){this.cursorX=t,this.cursorY=n;const i=this.canvas.offsetWidth/this.canvas.width,r=this.canvas.offsetHeight/this.canvas.height,o=(t/i).toFixed(),s=(n/r).toFixed()*(this.canvas.width*4)+o*4,l=this.originalImageData.data[s];return this.originalImageData.data[s+3]>0?l:-1},getApartmentIndexById(t){const n=this.sceneData.find(i=>i.apartmentId===t);return n?n.index:-1},highlightApartments(){this.getApartmentsInRaster().forEach(n=>{if(n.index>=0){const i=this.getApartmentPixelsByIndex(n.index),r=this.getApartmentIdByIndex(n.index);let o="idle";!this.hoverApartment&&this.selectedUnitId&&r===this.selectedUnitId?o="selected":this.hoverApartment&&this.hoverApartmentIndex===n.index&&(o="hover");const a=this.unitCallback?this.unitCallback(r):r;if(a){const s=this.colorCallback(a,o);if(s)for(let l=0;l<i.length;l++)this.imageData.data[i[l]]=s.r,this.imageData.data[i[l]+1]=s.g,this.imageData.data[i[l]+2]=s.b,this.imageData.data[i[l]+3]=s.a}}})},getApartmentPixelsByIndex(t){return this.originalImageData?this.apartmentIndexRasterMap[t]:!1},getApartmentIdByIndex(t){const n=this.sceneData.find(i=>i.index===t);return n&&n.apartmentId},getApartmentsInRaster(){if(this.originalImageData){const t=Object.keys(this.apartmentIndexRasterMap).map(i=>parseInt(i));return this.sceneData.filter(i=>t.includes(i.index))}else return[]},goToApartmentByIndex(t){const n=this.getApartmentIdByIndex(t);this.goToApartmentById(n)},goToApartmentById(t){const n=this.unitCallback?this.unitCallback(t):t;this.$emit("select-unit",n),n&&this.canGoToUnitCallback(n)&&this.$emit("go-to-unit",n)},setAlpha(t=0){if(!this.imageData)return;const n=this.imageData.data;for(let i=3;i<n.length;i+=4)n[i]=t},updateCanvasSize(){if(!this.$el)return!1;this.canvasWidth=this.$el.offsetWidth,this.canvasHeight=this.$el.offsetHeight},setupDraw(){this.setImageData(),this.draw()},draw(){this.setAlpha(),this.highlightApartments(),this.context&&this.imageData&&this.context.putImageData(this.imageData,0,0)},closeDialog(){this.showApartmentCard=!1}}},oe={id:"canvas"};function ae(t,n,i,r,o,a){const s=e.resolveComponent("qi-hover-probe");return e.openBlock(),e.createElementBlock("div",oe,[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref:"canvasMask",style:e.normalizeStyle(a.canvasStyle),onClick:n[0]||(n[0]=(...l)=>a.clickCanvas&&a.clickCanvas(...l))},null,4),[[e.vShow,!i.viewModel.isRotating]]),e.createVNode(s,{ref:"hoverProbe"},null,512)])}const A=g(ie,[["render",ae],["__scopeId","data-v-3bbbc77b"]]),re={name:"QiApartmentChooserSvg",components:{QiHoverProbe:w},mixins:[L],props:{cdnFileResolver:{type:Function,required:!0},viewModel:{type:Object,required:!0},selectedUnitId:{type:String,default:null},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{type:Array,default:[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null}},emits:["select-unit","go-to-unit","hover-over","hover-out"],data(){return{pos:{x:0,y:0,width:0,height:0},hoverApartmentIndex:-1,svgImages:{},currentSvgImage:null,resourceLoader:new y}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled}},watch:{"viewModel.currentScene":{handler(){this.viewModel.currentScene in this.svgImages&&(this.currentSvgImage=this.svgImages[this.viewModel.currentScene])},immediate:!0},svgImages:{handler(){this.viewModel.currentScene in this.svgImages&&(this.currentSvgImage=this.svgImages[this.viewModel.currentScene])},immediate:!0},pos(){this.$emit("pos",this.pos)},hoverApartmentIndex(t,n){if(t>=0){const i=this.getApartmentByIndex(t);this.$emit("hover-over",{hoverApartment:i,closeHandler:()=>{this.hoverApartmentIndex=-1}})}else{const i=this.getApartmentByIndex(n);this.$emit("hover-out",{hoverApartment:i,closeHandler:()=>{this.hoverApartmentIndex=-1}})}}},mounted(){for(let t=1;t<=4;t++){const n=this.cdnFileResolver(`/scenedata${t}.svg`),i={};this.resourceLoader.loadJson(n).then(r=>{i.markup=r;const a=new DOMParser().parseFromString(r,"image/svg+xml").getElementsByTagName("svg")[0];i.viewBox=a.getAttribute("viewBox"),i.svgObjects=Array.from(a.querySelectorAll("*[data-index]")).map(s=>({index:parseInt(s.getAttribute("data-index")),svg:s.innerHTML})),this.svgImages={...this.svgImages,[t]:i}})}this.$refs.container.addEventListener("mousemove",this.throttle(this.handleMouseMove,50))},methods:{handleMouseMove(t){this.pos={x:t.offsetX,y:t.offsetY,width:this.$el.offsetWidth,height:this.$el.offsetHeight}},getApartmentIdByIndex(t){var n;return(n=this.sceneData.find(i=>i.index===parseInt(t)))==null?void 0:n.apartmentId},getApartmentByIndex(t){const n=this.getApartmentIdByIndex(t);return this.unitCallback?this.unitCallback(n):n},mouseEnter(t){this.isHoverable&&(this.hoverApartmentIndex=t)},mouseLeave(){this.isHoverable&&(this.hoverApartmentIndex=-1)},click(t){const n=this.getApartmentByIndex(t);this.$emit("select-unit",n),this.isHoverable&&n&&this.canGoToUnitCallback(n)?this.$emit("go-to-unit",n):this.hoverApartmentIndex=t},getGClass(t){const n=this.getApartmentIdByIndex(t),i=this.getApartmentByIndex(t);let r="idle";this.hoverApartmentIndex<0&&this.selectedUnitId&&n===this.selectedUnitId?r="selected":this.hoverApartmentIndex>=0&&this.hoverApartmentIndex===t&&(r="hover");const o=this.colorCallback(i,r);if(o){const{r:a,g:s,b:l,a:d,s:u}=o;return{strokeWidth:u!==void 0?u:2,stroke:`rgb(${a}, ${s}, ${l})`,strokeOpacity:1,fill:`rgb(${a}, ${s}, ${l})`,fillOpacity:d/255,cursor:`${this.canGoToUnitCallback(i)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}}},se={id:"container",ref:"container"},le=["viewBox"],de=["innerHTML","onMouseenter","onMouseleave","onClick"];function ce(t,n,i,r,o,a){const s=e.resolveComponent("qi-hover-probe");return e.openBlock(),e.createElementBlock("div",se,[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!o.currentSvgImage||!o.currentSvgImage.svgObjects?0:1})},[o.currentSvgImage&&o.currentSvgImage.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:o.currentSvgImage.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.currentSvgImage.svgObjects,({index:l,svg:d})=>(e.openBlock(),e.createElementBlock("g",{key:l,innerHTML:d,style:e.normalizeStyle(a.getGClass(l)),onMouseenter:u=>a.mouseEnter(l),onMouseleave:u=>a.mouseLeave(l),onClick:u=>a.click(l)},null,44,de))),128))],8,le)):e.createCommentVNode("",!0)],4),[[e.vShow,!i.viewModel.isRotating]]),e.createVNode(s,{ref:"hoverProbe"},null,512)],512)}const E=g(re,[["render",ce],["__scopeId","data-v-82a61864"]]),he={name:"QiApartmentChooserNavigation",inject:["i18n"],props:{canGoToUnitCallback:{type:Function,default:()=>!0},selectedUnit:{type:Object,default:null},prevUnit:{type:Object,default:null},nextUnit:{type:Object,default:null},viewModel:{type:Object,required:!0}},mounted(){window.addEventListener("keydown",this.keyNavigate)},beforeUnmount(){window.removeEventListener("keydown",this.keyNavigate)},methods:{keyNavigate(t){t.keyCode===37?this.prevUnit&&this.$emit("prev-unit"):t.keyCode===39&&this.nextUnit&&this.$emit("next-unit")}}},me={key:0,class:"d-none d-md-flex"};function ue(t,n,i,r,o,a){const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:n[0]||(n[0]=l=>i.viewModel.rotateClockwise())}),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!i.prevUnit,onClick:n[1]||(n[1]=l=>t.$emit("prev-unit"))},null,8,["disabled"]),e.createVNode(s,{color:"success darken-2",elevation:"1",rounded:"",plain:"",disabled:!i.selectedUnit||!i.canGoToUnitCallback(i.selectedUnit),onClick:n[2]||(n[2]=l=>t.$emit("go-to-unit",i.selectedUnit))},{default:e.withCtx(()=>[i.selectedUnit&&i.canGoToUnitCallback(i.selectedUnit)?(e.openBlock(),e.createElementBlock("span",me,e.toDisplayString(a.i18n.getLabel("see-apartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(i.selectedUnit&&"title"in i.selectedUnit?i.selectedUnit.title:"-"),1)]),_:1},8,["disabled"]),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!i.nextUnit,onClick:n[3]||(n[3]=l=>t.$emit("next-unit"))},null,8,["disabled"]),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:n[4]||(n[4]=l=>i.viewModel.rotateCounterClockwise())})])}const U=g(he,[["render",ue],["__scopeId","data-v-129ef905"]]);class V{constructor(n){this._numParts=n,this._loadedCount=0,this._isError=!1,this._finishedAction=()=>{},this._errorAction=()=>{},this._loadProgressAction=()=>{}}onLoadFinished(n){return this._finishedAction=n,this}onLoadError(n){return this._errorAction=n,this}onLoadProgress(n){return this._loadProgressAction=n,this}partLoaded(){this.isFinished||(this._loadedCount++,this._loadProgressAction(this.percentLoaded),this.isFinished&&this._finishedAction())}errorDetected(){this._isError||(this._isError=!0,this._errorAction())}get isFinished(){return this._loadedCount>=this._numParts}get isError(){return this._isError}get percentLoaded(){return Math.round(this._loadedCount*100/this._numParts)}}class ${constructor(n,i,r,o){this._rotator=n,this._direction=i,this._frameIndex=r,this._sceneCount=o}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const n=this._rotator.clampFrameIndex(this._frameIndex+this._direction),i=this._rotator.isCardinalFrame(n)?this._sceneCount-1:this._sceneCount;return new $(this._rotator,this._direction,n,i)}}class Q{constructor(n,i){this._cardinalFrames=n,this._totalFrameCount=i}start(n,i,r){const o=this.startFrameIndexForScene(i);return new $(this,n,o,r)}isCardinalFrame(n){return this._cardinalFrames.includes(n)}clampFrameIndex(n){return(this._totalFrameCount+n)%this._totalFrameCount}startFrameIndexForScene(n){return this._cardinalFrames[n]}}const G=64,B=4,pe=120,ge={name:"QiApartmentChooserRotator",props:{viewModel:{type:Object,required:!0},build:{type:String,default:""},cdnFileResolver:{type:Function,required:!0},cardinalFrames:{type:Array,required:!0}},emits:["loaded","error","progress"],data(){const t=this.createFrames();return{loadTracker:new V(t.length).onLoadFinished(()=>this.$emit("loaded")).onLoadProgress(n=>this.$emit("progress",n)).onLoadError(()=>this.$emit("error")),sceneRotator:new Q(this.cardinalFrames,G),images:t,isPreloaded:!1}},computed:{activeFrame(){return this.images.find(t=>t.show)}},watch:{"viewModel.currentScene"(t,n){const i=this.getDirection(n,t),r=this.getSceneCountBetween(n,t);this.rotateInDirection(n,i,r)}},created(){this.rotateComplete()},methods:{rotateInDirection(t,n,i){this.viewModel.isRotating||(this.viewModel.isRotating=!0,this.rotationStep(this.sceneRotator.start(n,t%B,i)))},rotationStep(t){setTimeout(()=>{this.images[t.frameIndex].show=!1;const n=t.nextFrame();this.images[n.frameIndex].show=!0,n.atEnd?this.rotateComplete():window.requestAnimationFrame(()=>this.rotationStep(n))},1e3/pe)},rotateComplete(){const t=this.sceneRotator.startFrameIndexForScene(this.viewModel.currentScene%B);t in this.images&&(this.images[t].show=!0),this.viewModel.isRotating=!1},createFrames(){const t=[];for(let n=0;n<G;n++){const{sourceSet:i,defaultPath:r}=this.frameImageSource(n);t.push({index:n,sourceSet:i,defaultPath:r,show:!1})}return t},frameImageSource(t){const n=("0000"+(t+1)).slice(-4),i=this.build?`?v=${this.build}`:"",r=[`${this.cdnFileResolver(`/480/${n}.jpg${i}`)} 480w`,`${this.cdnFileResolver(`/960/${n}.jpg${i}`)} 960w`,`${this.cdnFileResolver(`/1280/${n}.jpg${i}`)} 1280w`].join(","),o=this.cdnFileResolver(`/480/${n}.jpg${i}`);return{sourceSet:r,defaultPath:o}},getSceneCountBetween(t,n){const i=B/2,r=Math.abs(t-n);return r>i?B-r:r},getDirection(t,n){if(t===n)return 0;const r=Math.abs(t-n)<B/2;return r&&t<n||!r&&t>n?1:-1}}},fe={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},be={key:1,class:"frame-container"},ve={class:"frame-image"},ye=["srcset","type"],we=["src"],ke={key:2,id:"image-stack",class:"frame-container"},Ce=["alt"],_e=["srcset"],xe=["src"];function Be(t,n,i,r,o,a){const s=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[o.loadTracker.isError?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):o.isPreloaded?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.images,l=>(e.openBlock(),e.createElementBlock("picture",{key:l.index,alt:l.index,class:e.normalizeClass({"frame-image":!0,show:l.show})},[e.createElementVNode("source",{srcset:l.sourceSet,type:"image/jpeg"},null,8,_e),e.createElementVNode("img",{src:l.defaultPath,alt:"Building image",onLoad:n[2]||(n[2]=d=>o.loadTracker.partLoaded()),onError:n[3]||(n[3]=d=>o.loadTracker.errorDetected())},null,40,xe)],10,Ce))),128))])):(e.openBlock(),e.createElementBlock("div",be,[e.createElementVNode("picture",ve,[e.createElementVNode("source",{srcset:a.activeFrame.sourceSet,type:a.activeFrame.type},null,8,ye),e.createElementVNode("img",{src:a.activeFrame.defaultPath,onLoad:n[0]||(n[0]=l=>o.isPreloaded=!0),onError:n[1]||(n[1]=l=>o.loadTracker.errorDetected())},null,40,we)])]))])}const O=g(ge,[["render",Be],["__scopeId","data-v-e6481f8e"]]),Ie={name:"FloatingCard",props:{pos:{type:Object,required:!0},isHoverable:Boolean},computed:{q(){const t=this.pos.x<=this.pos.width/2?"left":"right";return`${this.pos.y<=this.pos.height/2?"top":"bottom"}-${t}`}}};function Se(t,n,i,r,o,a){const s=e.resolveComponent("v-dialog"),l=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(l,{origin:a.q.replace("-"," ")+" "+i.pos.x+" "+i.pos.y},{default:e.withCtx(()=>[i.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["floating-card",a.q]),style:e.normalizeStyle({left:`${i.pos.x}px`,top:`${i.pos.y}px`,pointerEvents:"none"})},[e.renderSlot(t.$slots,"default",{isHoverable:i.isHoverable},void 0,!0)],6)):(e.openBlock(),e.createBlock(s,{key:1,value:!0,width:"auto","onClick:outside":n[0]||(n[0]=d=>t.$emit("outside",d))},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{isHoverable:i.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}const I=g(Ie,[["render",Se],["__scopeId","data-v-b74de171"]]),De={name:"QiZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{type:Number,default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0}},data(){return{zoom:100,originX:0,originY:0,moving:!1,scaling:!1,lastEvent:void 0,moved:!1}},computed:{transform(){return`translateX(${this.originX}px) translateY(${this.originY}px) scale(${this.scale})`},scale(){return this.zoom/100},actualMaxScale(){return this.maxScale*100}},watch:{scale(){this.emitUpdate()},originX(){this.emitUpdate()},originY(){this.emitUpdate()},desktop(){this.desktop?this.addDesktopHandlers():this.removeDesktopHandlers()},mobile(){this.mobile?this.addMobileHandlers():this.removeMobileHandlers()}},mounted(){this.desktop&&this.addDesktopHandlers(),this.mobile&&this.addMobileHandlers()},beforeUnmount(){this.desktop&&this.removeDesktopHandlers(),this.mobile&&this.removeMobileHandlers()},methods:{addDesktopHandlers(){this.$refs.box.addEventListener("wheel",this.wheelHandler,{capture:!0}),this.$refs.box.addEventListener("mousedown",this.mouseDownHandler,{capture:!0}),this.$refs.box.addEventListener("mousemove",this.mouseMoveHandler,{capture:!0}),window.addEventListener("mouseup",this.mouseUpHandler,{capture:!0}),window.addEventListener("click",this.mouseClickHandler,{capture:!0})},addMobileHandlers(){this.$refs.box.addEventListener("touchstart",this.touchStartHandler,{capture:!0}),this.$refs.box.addEventListener("touchmove",this.touchMoveHandler,{capture:!0}),window.addEventListener("touchend",this.touchEndHandler,{capture:!0}),window.addEventListener("touchcancel",this.touchEndHandler,{capture:!0})},removeDesktopHandlers(){this.$refs.box.removeEventListener("wheel",this.wheelHandler,{capture:!0}),this.$refs.box.removeEventListener("mousedown",this.mouseDownHandler,{capture:!0}),this.$refs.box.removeEventListener("mousemove",this.mouseMoveHandler,{capture:!0}),window.removeEventListener("mouseup",this.mouseUpHandler,{capture:!0}),window.removeEventListener("click",this.mouseClickHandler,{capture:!0})},removeMobileHandlers(){this.$refs.box.removeEventListener("touchstart",this.touchStartHandler,{capture:!0}),this.$refs.box.removeEventListener("touchmove",this.touchMoveHandler,{capture:!0}),window.removeEventListener("touchend",this.touchEndHandler,{capture:!0}),window.removeEventListener("touchcancel",this.touchEndHandler,{capture:!0})},wheelHandler(t){const{x:n,y:i}=this.getOffsetCoordinates(t);this.adjustZoom(-t.deltaY/10,n,i),t.preventDefault()},mouseDownHandler(t){this.moving=!0,this.moved=!1,this.lastEvent=t},mouseMoveHandler(t){if(this.moving){const{x:n,y:i}=this.getOffsetCoordinates(t),{x:r,y:o}=this.getOffsetCoordinates(this.lastEvent),a={x:n-r,y:i-o};this.adjustTranslateX(a.x),this.adjustTranslateY(a.y),this.moved=!0,this.lastEvent=t}},mouseUpHandler(t){this.moving&&this.moved&&this.consumeMouseUpWhenMoved&&(t.preventDefault(),t.stopImmediatePropagation())},mouseClickHandler(t){this.moving&&(this.moved&&this.consumeMouseClickWhenMoved&&(t.preventDefault(),t.stopImmediatePropagation()),this.moving=!1)},touchStartHandler(t){this.moving=t.touches.length===1,this.scaling=t.touches.length===2,this.lastEvent=t},touchMoveHandler(t){if(this.moving){const{x:n,y:i}=this.getOffsetCoordinates(t.touches[0]),{x:r,y:o}=this.getOffsetCoordinates(this.lastEvent.touches[0]),a={x:n-r,y:i-o};this.adjustTranslateX(a.x),this.adjustTranslateY(a.y)}else if(this.scaling&&t.touches.length===2){const{x:n,y:i}=this.getOffsetCoordinates(t.touches[0]),{x:r,y:o}=this.getOffsetCoordinates(this.lastEvent.touches[0]),{x:a,y:s}=this.getOffsetCoordinates(t.touches[1]),{x:l,y:d}=this.getOffsetCoordinates(this.lastEvent.touches[1]),u=Math.hypot(r-l,o-d),f=Math.hypot(n-a,i-s),b=(a+n)/2,m=(s+i)/2;this.adjustZoom(f-u,b,m)}this.lastEvent=t},touchEndHandler(){this.moving=!1,this.scaling=!1},getOffsetCoordinates(t){const{left:n,top:i}=this.$refs.box.getBoundingClientRect();return{x:t.clientX-n,y:t.clientY-i}},adjustTranslateX(t){const n=this.$refs.box.clientWidth,i=n*this.scale;this.originX=Math.max(Math.min(0,this.originX+t),-(i-n))},adjustTranslateY(t){const n=this.$refs.box.clientHeight,i=n*this.scale;this.originY=Math.max(Math.min(0,this.originY+t),-(i-n))},adjustZoom(t,n,i){const r=this.$refs.box.clientWidth,o=this.$refs.box.clientHeight,a=r*this.scale,s=o*this.scale;this.zoom=Math.min(Math.max(100,this.zoom+t),this.actualMaxScale);const l=r*this.scale,d=o*this.scale,u=l-a,f=d-s;this.originX-=n/r*u,this.originY-=i/o*f,this.adjustTranslateX(0),this.adjustTranslateY(0)},emitUpdate(){this.$emit("update",{scale:this.scale,x:this.originX,y:this.originY,resolve:(t,n)=>{const i=this.$refs.box.clientWidth,r=this.$refs.box.clientHeight,o=this.originX/-this.scale,a=this.originY/-this.scale,s=o+i/this.scale,l=a+r/this.scale,d=t/i*(s-o)+o,u=n/r*(l-a)+a;return{x:d,y:u}}})}}},Ae={ref:"box",class:"zoom-box-container"};function Ee(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("div",Ae,[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:a.transform}),class:"zoom-box"},[e.renderSlot(t.$slots,"default",{},void 0,!0)],4)],512)}const S=g(De,[["render",Ee],["__scopeId","data-v-83bfd28a"]]),z=4;function X(t){return t<z?t+1:1}function Ve(t){return t>1?t-1:z}class W{constructor(n){this._state={isRotating:!1,currentScene:n}}get isRotating(){return this._state.isRotating}set isRotating(n){this._state.isRotating=n}get navigator(){return this._navigator}get sceneModel(){return this._sceneModel}unlessRotatingDo(n){this.isRotating||n()}get currentScene(){return this._state.currentScene}set currentScene(n){this._state.currentScene=n}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=X(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Ve(this.currentScene)})}}const Me={interior:"Interiør","see-a-selection-of-the-options-in-the-project":"Se et utvalg av tilvalgsmulighetene i prosjektet.","floor-plan":"Planløsning","all-illustrations-are-indicative-deviations-may-occur":{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},"read-more-here":"Les mer her","i-understand":{nb:"Jeg forstår",en:"I understand"},share:"Share","share-to-facebook":"Share to Facebook","share-to-linkedin":"Share to Linkedin","share-to-twitter":"Share to Twitter","share-via-email":"Share via Email","copy-link":"Copy link","virtual-view":"Virtuell Visning","slide-show":"Slide Show",room:"Room",floor:"Floor","see-apartments":"See apartments","see-apartment":"See apartment","click-and-drag-to-look-around":{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},"click-on-the-cricles-to-move-around":{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},"use-the-mouse-wheel-to-zoom":{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},"you-can-also-use-the-arrow-keys-to-move-around":{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},"tap-and-drag-to-look-around":{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},"tap-on-the-circles-to-move-around":{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},"use-two-fingers-to-zoom":{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},"dont-show-again":{en:"Don't Show Again",nb:"Ikke vis igjen"}};class v{constructor(n,i){this._labels={...Me,...n||{}},this._language=i||"en"}getLabel(n){return n in this._labels?this.get(this._labels[n]):n}get(n){if(typeof n=="string")return n;if(this._language in n&&n[this._language])return n[this._language];for(const i in n)if(n[i])return n[i];return""}}const Ne=4,Re=[0,16,32,48],Fe={name:"QiApartmentChooser",components:{QiApartmentChooserRaster:A,QiApartmentChooserSvg:E,QiApartmentChooserNavigation:U,QiApartmentChooserRotator:O,QiFloatingCard:I,QiHoverProbe:w,QiZoomBox:S},provide(){return{i18n:this.i18n?new v(this.i18n.labels,this.i18n.language):new v}},emits:["select-unit","go-to-unit","nav-unit","hover-over-unit","hover-out-unit","initialized"],props:{i18n:{type:Object,default:void 0},showCards:{type:Boolean,default:!0},build:{type:String,default:""},buildingSceneDataResolver:{type:Function,default:null},buildingScenesByApartmentResolver:{type:Function,default:null},cdnFileResolver:{type:Function,required:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},selectedUnitId:{type:String,default:null},nextUnit:{type:Object,default:null},prevUnit:{type:Object,default:null},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},data(){return{loadState:{isReady:!1,isError:!1,progress:void 0},scenesByApartment:null,sceneData:null,scenes:null,viewModel:void 0,resourceLoader:new y,pos:{x:0,y:0,width:0,height:0},closeHandler:void 0,hoverApartment:void 0}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},selectedUnit(){return this.unitCallback?this.unitCallback(this.selectedUnitId):this.selectedUnitId},overlayComponent(){return this.useSvg?E:A}},watch:{selectedUnitId:{handler(){if(this.selectedUnitId&&this.viewModel){const t=this.scenesByApartment[this.selectedUnitId];t&&(this.viewModel.currentScene=t)}},immediate:!0}},async mounted(){let t=null;try{t=await this.resourceLoader.loadJson(this.cdnFileResolver("/apartmentChooser.json"))}catch{console.info("apartmentChooser.json not found")}const n=t&&t.startScene!==void 0?t.startScene:Ne;this.scenes=t&&t.scenes!==void 0?t.scenes:Re,this.sceneData=t&&t.sceneData!==void 0?t.sceneData.map(o=>({apartmentId:o.apartmentID,index:o.index})):this.buildingSceneDataResolver?await this.buildingSceneDataResolver():[],this.scenesByApartment=t&&t.sceneData!==void 0?t.sceneData.map(o=>{const a=o.bestScene===0?4:o.bestScene;return{unitId:o.apartmentID,scene:a}}).reduce((o,a)=>({...o,[a.unitId]:a.scene}),{}):this.buildingScenesByApartmentResolver?await this.buildingScenesByApartmentResolver():[];const i=(o,a="unitId")=>{let s=n,l=[];for(let d=0;d<z;d++)l.push(s),s=X(s);return o.sort((d,u)=>{const f=l.findIndex(m=>m===this.scenesByApartment[d[a]]),b=l.findIndex(m=>m===this.scenesByApartment[u[a]]);return f<b?-1:f>b?1:0}),o},r=o=>{this.viewModel=new W(o)};this.$emit("initialized",{scene:n,scenes:this.scenes,sceneData:this.sceneData,scenesByApartment:this.scenesByApartment,unitsSceneSort:i,initialize:r})},methods:{onPos(t){this.pos=t},hoverOver({hoverApartment:t,closeHandler:n}){this.hoverApartment=t,this.closeHandler=n,this.$emit("hover-over-unit",t)},hoverOut({hoverApartment:t,closeHandler:n}){this.hoverApartment=null,this.closeHandler=n,this.$emit("hover-out-unit",t)}}},Te={key:0},He={class:"interactive-viewer"},Le={class:"fill-parent"},Ue={key:0},$e={key:1,class:"navigation"},Oe={key:2};function ze(t,n,i,r,o,a){const s=e.resolveComponent("qi-apartment-chooser-rotator"),l=e.resolveComponent("qi-zoom-box"),d=e.resolveComponent("qi-floating-card"),u=e.resolveComponent("qi-apartment-chooser-navigation"),f=e.resolveComponent("v-progress-linear"),b=e.resolveComponent("qi-hover-probe");return o.viewModel?(e.openBlock(),e.createElementBlock("div",Te,[e.createElementVNode("div",He,[e.createElementVNode("div",Le,[e.createVNode(l,{desktop:o.loadState.isReady&&i.interactiveDesktop,mobile:o.loadState.isReady&&i.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(s,{"cdn-file-resolver":i.cdnFileResolver,"view-model":o.viewModel,"cardinal-frames":o.scenes,build:i.build,onProgress:n[0]||(n[0]=m=>o.loadState.progress=m),onLoaded:n[1]||(n[1]=m=>o.loadState.isReady=!0),onError:n[2]||(n[2]=m=>o.loadState.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),o.loadState.isReady?(e.openBlock(),e.createElementBlock("div",Ue,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.overlayComponent),{"cdn-file-resolver":i.cdnFileResolver,"view-model":o.viewModel,"selected-unit-id":i.selectedUnitId,"scene-data":o.sceneData,"color-callback":i.colorCallback,"unit-callback":i.unitCallback,"can-go-to-unit-callback":i.canGoToUnitCallback,"draw-observer":i.drawObserver,onSelectUnit:n[3]||(n[3]=m=>t.$emit("select-unit",m)),onGoToUnit:n[4]||(n[4]=m=>t.$emit("go-to-unit",m)),onHoverOver:a.hoverOver,onHoverOut:a.hoverOut,onPos:a.onPos},{default:e.withCtx(m=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(m)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","unit-callback","can-go-to-unit-callback","draw-observer","onHoverOver","onHoverOut","onPos"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),o.hoverApartment&&i.showCards?(e.openBlock(),e.createBlock(d,{key:0,"is-hoverable":a.isHoverable,pos:o.pos,onOutside:o.closeHandler},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{unit:o.hoverApartment,canGoToUnit:i.canGoToUnitCallback(o.hoverApartment),goToUnit:()=>i.canGoToUnitCallback(o.hoverApartment)&&t.$emit("go-to-unit",o.hoverApartment),pos:o.pos,isHoverable:a.isHoverable,close:o.closeHandler},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),o.loadState.isReady?(e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(u,{"can-go-to-unit-callback":i.canGoToUnitCallback,"selected-unit":a.selectedUnit,"prev-unit":i.prevUnit,"next-unit":i.nextUnit,"view-model":o.viewModel,onGoToUnit:n[5]||(n[5]=m=>t.$emit("go-to-unit",m)),onPrevUnit:n[6]||(n[6]=m=>t.$emit("nav-unit",i.prevUnit)),onNextUnit:n[7]||(n[7]=m=>t.$emit("nav-unit",i.nextUnit))},null,8,["can-go-to-unit-callback","selected-unit","prev-unit","next-unit","view-model"])])):o.loadState.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(f,{indeterminate:!o.loadState.progress,value:o.loadState.progress},null,8,["indeterminate","value"])]))])]),e.createVNode(b,{ref:"hoverProbe"},null,512)])):e.createCommentVNode("",!0)}const K=g(Fe,[["render",ze],["__scopeId","data-v-3a1121f3"]]),qe="data:image/png;base64,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",je={name:"QiNorthDirection",props:{longitude:{type:Number,default:()=>0}},data(){return{compassNeedle:qe}},computed:{needleRotation(){return{transform:`rotate(${90-this.longitude}deg)`,transition:" transform 0.5s ease-in"}}}};function Ye(t,n,i,r,o,a){const s=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(s,{src:o.compassNeedle,style:e.normalizeStyle(a.needleRotation)},null,8,["src","style"])}const M=g(je,[["render",Ye]]);function q(t){return t.toLocaleString("en-no",{month:"short",day:"numeric"})}const Pe=e.defineComponent({setup(){},name:"QiBuildingChooserSunSimControl",props:{modelValue:{type:Number,required:!0},dateSelector:{type:Object,required:!0},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{currentValue:this.modelValue,currentDate:null}},computed:{currentValueString(){const t=Math.floor(this.currentValue/2).toString().padStart(2,"0"),n=this.currentValue%2===0?"00":"30";return`${t}:${n}`},dates(){return this.dateSelector.dates.map(q)},selectedDate:{get(){return q(this.dateSelector.selectedDate)},set(t){this.dateSelector.selectIndex(this.dates.indexOf(t))}}},watch:{currentValue(t){this.$emit("update:modelValue",t)},modelValue(t){this.currentValue=Math.floor(t)},dates:{handler(t){this.currentDate=q(this.dateSelector.selectedDate)},immediate:!0},currentDate(t){this.dateSelector.selectIndex(this.dates.indexOf(t))}},methods:{}}),Qe={class:"sunsim-bar-wrapper"},Ge={class:"sunsim-date d-flex align-center pl-5 pr-5"},Xe={key:1,class:"text-center text-body-1"},We={class:"sunsim-wrapper d-flex align-center px-3"},Ke={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"};function Ze(t,n,i,r,o,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-select"),d=e.resolveComponent("v-progress-linear"),u=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",Qe,[e.createElementVNode("div",Ge,[e.createVNode(s,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),t.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(l,{key:0,modelValue:t.currentDate,"onUpdate:modelValue":n[0]||(n[0]=f=>t.currentDate=f),items:t.dates,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",Xe,e.toDisplayString(t.selectedDate),1))]),e.createElementVNode("div",We,[e.createElementVNode("span",Ke,e.toDisplayString(t.currentValueString),1),e.createVNode(s,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),t.isLoading?(e.openBlock(),e.createBlock(d,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(u,{key:1,modelValue:t.currentValue,"onUpdate:modelValue":n[1]||(n[1]=f=>t.currentValue=f),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"]))])])}const N=g(Pe,[["render",Ze],["__scopeId","data-v-1fba3edd"]]),Je=e.defineComponent({setup(){},name:"QiBuildingChooserSceneImageStack",props:{imageUrls:{type:Array,required:!0},activeIndex:{type:Number,required:!0}},emits:["resize","ready","preloaded","reset"],data(){return{state:"init",activeStates:["preloaded","loaded"],loadTracker:new V(0)}},watch:{imageUrls(t){this.$emit("reset"),this.loadImages(t)}},mounted(){this.loadImages(this.imageUrls),new ResizeObserver(t=>{window.requestAnimationFrame(()=>{const n=t[0].contentRect.width,i=t[0].contentRect.height;this.$emit("resize",{width:n,height:i})})}).observe(this.$refs.baseImage)},methods:{onPreloaded(){this.state="preloaded",this.$emit("preloaded")},loadImages(t){this.state="init",this.$refs.baseImage.src=t[0],this.loadTracker=new V(t.length).onLoadFinished(()=>{this.state="loaded",this.$emit("ready")})}}}),et={key:0},tt=["src"];function nt(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref:"baseImage",class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:n[0]||(n[0]=(...s)=>t.onPreloaded&&t.onPreloaded(...s))},null,544),t.state==="preloaded"||t.state==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.imageUrls,(s,l)=>(e.openBlock(),e.createElementBlock("img",{key:l,class:e.normalizeClass({"image-instance":!0,active:l===t.activeIndex}),src:s,onLoad:n[1]||(n[1]=d=>t.loadTracker.partLoaded())},null,42,tt))),128)),e.createTextVNode(" Here ")],512)),[[e.vShow,t.state==="loaded"]]):e.createCommentVNode("",!0)])}const R=g(Je,[["render",nt],["__scopeId","data-v-fad48118"]]),it="buildingChooser.json",ot=180;class j{constructor(n){this._cdnFileResolver=n,this._resourceLoader=new y}constructFileUrl(n){return this._cdnFileResolver?this._cdnFileResolver(`/${n}`):null}loadConfigFile(){const n=this.constructFileUrl(it);return n?this._resourceLoader.loadJson(n):null}loadBuildingMapImage(n){const i=this.constructFileUrl(n.lookupFilename);return i?this._resourceLoader.loadImage(i):null}getViewLongitude(n){return n.cameraRotation&&n.cameraRotation.y+270}getBuildingData(n){const i=n?n.buildings:[],r=i.map(a=>a.id),o=i.map(a=>({id:a.id,url:this.constructFileUrl(a.overlayFilename)}));return{buildingIds:r,buildingOverlays:o}}getBackgroundImageData(n){return"days"in n?this.processMultipleDays(n.days):[this.processTimeSamples(ot,n.timeSamples)]}processMultipleDays(n){return n.map(i=>this.processTimeSamples(i.dayOfYear,i.timeSamples))}processTimeSamples(n,i){return{urls:i.map(o=>this.constructFileUrl(o.filename)),referenceDate:this.makeReferenceDate(n)}}makeReferenceDate(n){const i=new Date(0);return i.setUTCDate(n),i}async loadBuildingChooser(){try{const n=await this.loadConfigFile();if(n){const i=await this.loadBuildingMapImage(n);if(i){const r=this.getViewLongitude(n),{buildingIds:o,buildingOverlays:a}=this.getBuildingData(n),s=this.getBackgroundImageData(n);return{mapImage:i,viewLongitude:r,buildingIds:o,buildingOverlays:a,backgrounds:s}}}return null}catch{return null}}}class C{static empty(){return new C([])}constructor(n){this._buildingIds=n}getBuildingId(n,i,r){const o=this._getBuildingIndex(n,i,r);if(o!==void 0)return this._buildingIds[o]}_getBuildingIndex(n,i,r){const[o,a,s,l]=n.getPixel(i,r);if(l===255&&o===a&&a===s)return o}}class _{static empty(){return new _(null)}constructor(n){this._mapImage=n,this._context=null}update(n){this._mapImage&&(this._context=n.getContext("2d",{willReadFrequently:!0}),this._context.drawImage(this._mapImage,0,0,n.width,n.height))}getPixel(n,i){try{return this._context?this._context.getImageData(n,i,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const at=new Date(0);class D{static empty(){return new D([{referenceDate:at,urls:[]}])}constructor(n){this._imagesByDay=n,this._state={selectedIndex:0}}selectIndex(n){n<this._imagesByDay.length&&(this._state.selectedIndex=n)}get dates(){return this._imagesByDay.map(n=>n.referenceDate)}get hasMultipleDates(){return this._imagesByDay.length>1}get selectedIndex(){return this._state.selectedIndex}get selectedDate(){return this._imagesByDay[this.selectedIndex].referenceDate}get imageUrls(){return this._imagesByDay[this.selectedIndex].urls}}const rt=e.defineComponent({setup(){e.ref({})},name:"QiBuildingChooserSvg",components:{QiBuildingChooserSunSimControl:N,QiBuildingChooserSceneImageStack:R,QiNorthDirection:M,QiFloatingCard:I,QiHoverProbe:w,QiZoomBox:S},emits:["go-to-building","hover-over-building","hover-out-building"],provide(){return{i18n:this.i18n?new v(this.i18n.labels,this.i18n.language):new v}},props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{type:String,default:null},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{type:String,default:""}},data(){return{sceneState:{preloaded:!1,ready:!1},canvasDimensions:{width:0,height:0},pos:{x:0,y:0,width:0,height:0},pickerData:void 0,hoverBuildingId:void 0,halfHourMark:new Date().getHours()*2+(new Date().getMinutes()<30?0:1),error:!1,resourceLoader:new y,svgObjects:void 0,svgViewBox:"0 0 0 0"}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},hoverBuilding(){return this.getBuildingData(this.hoverBuildingId)}},watch:{buildingChooserTimeOfDay:{handler(){if(this.buildingChooserTimeOfDay){const[t,n,i]=/^(\d\d):(\d\d)$/.exec(this.buildingChooserTimeOfDay),r=parseInt(i);this.halfHourMark=parseInt(n)*2+(r<15?0:r>45?2:1)}},immediate:!0},hoverBuildingId(t,n){t?this.$emit("hover-over-building",this.getBuildingData(t)):this.$emit("hover-out-building",this.getBuildingData(n))}},async mounted(){const n=await new j(this.cdnFileResolver).loadBuildingChooser();if(n){this.canvasRaster=new _(n.mapImage),this.buildingMap=new C(n.buildingIds),this.daysOfYear=new D(n.backgrounds),this.pickerData={buildingOverlays:n.buildingOverlays,sceneLongitude:n.viewLongitude};const i=[];for(let{id:r,url:o}of n.buildingOverlays)this.resourceLoader.loadJson(o.replace(".png",".svg")).then(a=>{const l=new DOMParser().parseFromString(a,"image/svg+xml").getElementsByTagName("svg")[0];this.svgViewBox=l.getAttribute("viewBox"),i.push({id:r,svg:l.innerHTML})});this.svgObjects=i}else this.error=!0},methods:{resizeScene({width:t,height:n}){this.canvasDimensions.width=t,this.canvasDimensions.height=n},sceneReset(){this.sceneState={preloaded:!1,ready:!1}},getBuildingData(t){return this.buildingCallback?this.buildingCallback(t):t},getColor(t){return this.colorCallback(this.getBuildingData(t),t===this.hoverBuildingId?"hover":"idle")},getGClass(t){const n=this.getBuildingData(t),i=this.colorCallback(n,t===this.hoverBuildingId?"hover":"idle"),r=[];return t===this.hoverBuildingId?r.push("hover"):r.push("idle"),i&&this.canGoToBuildingCallback(n)?r.push("clickable"):r.push("restricted"),r.join(" ")},getGStyle(t){const n=this.getBuildingData(t),i=this.colorCallback(n,t===this.hoverBuildingId?"hover":"idle");if(i){const{r,g:o,b:a,a:s,s:l}=i;return{strokeWidth:l!==void 0?l:2,stroke:`rgb(${r}, ${o}, ${a})`,strokeOpacity:1,fill:`rgb(${r}, ${o}, ${a})`,fillOpacity:s/255,cursor:`${this.canGoToBuildingCallback(n)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}},onBuildingMouseOver(t,n){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height},this.hoverBuildingId=n,this.$emit("hover-over-building",this.getBuildingData(n)))},onBuildingMouseOut(t,n){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height},this.hoverBuildingId=void 0,this.$emit("hover-out-building",this.getBuildingData(n)))},onBuildingMouseMove(t){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height})},onBuildingClick(t){this.hoverBuildingId=t,this.isHoverable&&this.hoverBuilding&&this.canGoToBuildingCallback(this.hoverBuilding)&&this.$emit("go-to-building",this.hoverBuilding)}}}),st={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},lt={class:"image-instances"},dt={key:0},ct={class:"svg-container"},ht=["viewBox"],mt=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],ut=["innerHTML"];function pt(t,n,i,r,o,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("qi-building-chooser-scene-image-stack"),d=e.resolveComponent("qi-zoom-box"),u=e.resolveComponent("qi-north-direction"),f=e.resolveComponent("qi-building-chooser-sun-sim-control"),b=e.resolveComponent("qi-floating-card"),m=e.resolveComponent("qi-hover-probe");return t.error?(e.openBlock(),e.createElementBlock("div",st,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):t.pickerData?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${t.canvasDimensions.height}px; position: relative`),class:"image-container"},[e.createVNode(d,{desktop:t.interactiveDesktop,mobile:t.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",lt,[e.createVNode(l,{"image-urls":t.daysOfYear.imageUrls,"active-index":t.halfHourMark,onResize:t.resizeScene,onPreloaded:n[0]||(n[0]=p=>t.sceneState.preloaded=!0),onReady:n[1]||(n[1]=p=>t.sceneState.ready=!0),onReset:t.sceneReset},null,8,["image-urls","active-index","onResize","onReset"]),t.svgObjects?e.withDirectives((e.openBlock(),e.createElementBlock("div",dt,[e.createElementVNode("div",ct,[(e.openBlock(),e.createElementBlock("svg",{viewBox:t.svgViewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.svgObjects,({id:p,svg:h},H)=>(e.openBlock(),e.createElementBlock("g",{key:H,innerHTML:h,"data-building-id":p,class:e.normalizeClass(t.getGClass(p)),style:e.normalizeStyle(t.getGStyle(p)),onMouseover:k=>t.onBuildingMouseOver(k,p),onMouseout:k=>t.onBuildingMouseOut(k,p),onMousemove:k=>t.onBuildingMouseMove(k,p),onClick:k=>t.onBuildingClick(p)},null,46,mt))),128))],8,ht))])],512)),[[e.vShow,t.sceneState.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:t.customOverlayContent},null,8,ut),[[e.vShow,t.sceneState.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[t.pickerData.sceneLongitude?(e.openBlock(),e.createBlock(u,{key:0,class:"north-indicator",longitude:t.pickerData.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(f,{modelValue:t.halfHourMark,"onUpdate:modelValue":n[2]||(n[2]=p=>t.halfHourMark=p),"date-selector":t.daysOfYear,"is-loading":!t.sceneState.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,t.sceneState.preloaded]]),t.showCards&&t.hoverBuilding?(e.openBlock(),e.createBlock(b,{key:0,"is-hoverable":t.isHoverable,pos:t.pos,onOutside:n[3]||(n[3]=()=>t.hoverBuildingId=void 0)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{building:t.hoverBuilding,canGoToBuilding:t.canGoToBuildingCallback(t.hoverBuilding),goToBuilding:()=>t.canGoToBuildingCallback(t.hoverBuilding)&&t.$emit("go-to-building",t.hoverBuilding),pos:t.pos,isHoverable:t.isHoverable,close:()=>t.hoverBuildingId=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(m,{ref:"hoverProbe"},null,512)],4)):e.createCommentVNode("",!0)}const F=g(rt,[["render",pt],["__scopeId","data-v-0a2cec1f"]]),gt={name:"QiBuildingChooserRasterOverlay",props:{imageUrl:{type:String,required:!0},dimensions:{type:Object,required:!0},color:{type:Object,default:()=>({r:108,g:0,b:108,a:144,s:2})}},data(){return{isLoaded:!1,overlayImage:void 0,resourceLoader:new y,context:void 0,imageData:void 0,imageDataIndices:[]}},watch:{color(t,n){(t.r!==n.r||t.g!==n.g||t.b!==n.b||t.a!==n.a)&&this.draw()}},async mounted(){this.overlayImage=await this.resourceLoader.loadImage(this.imageUrl),this.setupDraw()},methods:{setupDraw(){if(!this.overlayImage||!this.$refs.canvas)return;const{width:t,height:n}=this.dimensions;if(!(t===0||n===0)){this.context=this.$refs.canvas.getContext("2d",{willReadFrequently:!0}),this.context.drawImage(this.overlayImage,0,0,t,n),this.imageData=this.context.getImageData(0,0,t,n);for(let i=3;i<this.imageData.data.length;i+=4)this.imageData.data[i]!==0&&this.imageDataIndices.push(i);this.draw(),this.isLoaded=!0}},draw(){this.context&&this.imageData&&(this.applyColor(),this.context.putImageData(this.imageData,0,0))},applyColor(){if(this.color)for(let t=0;t<this.imageDataIndices.length;t++)this.imageData.data[this.imageDataIndices[t]-3]=this.color.r,this.imageData.data[this.imageDataIndices[t]-2]=this.color.g,this.imageData.data[this.imageDataIndices[t]-1]=this.color.b,this.imageData.data[this.imageDataIndices[t]]=this.color.a}}};function ft(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref:"canvas",class:"overlay"},i.dimensions),null,16)}const Y=g(gt,[["render",ft],["__scopeId","data-v-9a90fa2f"]]),bt=e.defineComponent({setup(){e.ref({})},name:"QiBuildingChooserRaster",components:{QiBuildingChooserRasterOverlay:Y,QiBuildingChooserSunSimControl:N,QiBuildingChooserSceneImageStack:R,QiNorthDirection:M,QiFloatingCard:I,QiHoverProbe:w,QiZoomBox:S},emits:["go-to-building","hover-over-building","hover-out-building"],provide(){return{i18n:this.i18n?new v(this.i18n.labels,this.i18n.language):new v}},props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{type:String,default:null},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{type:String,default:""}},data(){return{sceneState:{preloaded:!1,ready:!1},canvasDimensions:{width:0,height:0},pos:{x:0,y:0,width:0,height:0},pickerData:void 0,buildingMap:C.empty(),canvasRaster:_.empty(),selectedBuildingId:void 0,halfHourMark:new Date().getHours()*2+(new Date().getMinutes()<30?0:1),viewResolver:(t,n)=>({x:t,y:n}),error:!1}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},selectedBuilding(){return this.getBuildingData(this.selectedBuildingId)}},watch:{buildingChooserTimeOfDay:{handler(){if(this.buildingChooserTimeOfDay){const[t,n,i]=/^(\d\d):(\d\d)$/.exec(this.buildingChooserTimeOfDay),r=parseInt(i);this.halfHourMark=parseInt(n)*2+(r<15?0:r>45?2:1)}},immediate:!0},selectedBuildingId(t,n){t?this.$emit("hover-over-building",this.getBuildingData(t)):this.$emit("hover-out-building",this.getBuildingData(n))}},async mounted(){const n=await new j(this.cdnFileResolver).loadBuildingChooser();n?(this.canvasRaster=new _(n.mapImage),this.buildingMap=new C(n.buildingIds),this.daysOfYear=new D(n.backgrounds),this.pickerData={buildingOverlays:n.buildingOverlays,sceneLongitude:n.viewLongitude},this.resizeImages()):this.error=!0},methods:{resizeScene({width:t,height:n}){this.canvasDimensions.width=t,this.canvasDimensions.height=n,this.$nextTick(this.resizeImages)},sceneReset(){this.sceneState={preloaded:!1,ready:!1}},getBuildingData(t){return this.buildingCallback?this.buildingCallback(t):t},getBuildingId(t){const{x:n,y:i}=this.viewResolver(t.layerX,t.layerY);return this.buildingMap.getBuildingId(this.canvasRaster,n,i)},resizeImages(){if(this.$refs.canvas&&(this.canvasRaster.update(this.$refs.canvas),this.$refs.overlays))for(const t of this.$refs.overlays)t.setupDraw()},onMove(t){this.isHoverable&&(this.selectedBuildingId=this.getBuildingId(t),this.selectedBuildingId!==void 0&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height}))},onClick(t){this.selectedBuildingId=this.getBuildingId(t),this.isHoverable&&this.selectedBuilding&&this.$emit("go-to-building",this.selectedBuilding)},getColor(t){return this.colorCallback(this.getBuildingData(t),t===this.selectedBuildingId?"hover":"idle")},updateView({resolve:t}){this.viewResolver=t}}}),vt={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},yt={class:"image-instances"},wt=["innerHTML"];function kt(t,n,i,r,o,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("qi-building-chooser-scene-image-stack"),d=e.resolveComponent("qi-building-chooser-raster-overlay"),u=e.resolveComponent("qi-zoom-box"),f=e.resolveComponent("qi-north-direction"),b=e.resolveComponent("qi-building-chooser-sun-sim-control"),m=e.resolveComponent("qi-floating-card"),p=e.resolveComponent("qi-hover-probe");return t.error?(e.openBlock(),e.createElementBlock("div",vt,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):t.pickerData?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${t.selectedBuildingId?"pointer":"auto"};height: ${t.canvasDimensions.height}px; position: relative`),class:"image-container"},[e.createVNode(u,{desktop:t.interactiveDesktop,mobile:t.interactiveMobile,onUpdate:t.updateView},{default:e.withCtx(()=>[e.createElementVNode("div",yt,[e.createVNode(l,{"image-urls":t.daysOfYear.imageUrls,"active-index":t.halfHourMark,onResize:t.resizeScene,onPreloaded:n[0]||(n[0]=h=>t.sceneState.preloaded=!0),onReady:n[1]||(n[1]=h=>t.sceneState.ready=!0),onReset:t.sceneReset},null,8,["image-urls","active-index","onResize","onReset"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pickerData.buildingOverlays,h=>(e.openBlock(),e.createBlock(d,{ref_for:!0,ref:"overlays",key:h.id,"image-url":h.url,dimensions:t.canvasDimensions,color:t.getColor(h.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,t.sceneState.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(t.canvasDimensions,{ref:"canvas",class:{hover:!!t.selectedBuildingId},onClick:n[2]||(n[2]=(...h)=>t.onClick&&t.onClick(...h)),onMousemove:n[3]||(n[3]=(...h)=>t.onMove&&t.onMove(...h))}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:t.customOverlayContent},null,8,wt),[[e.vShow,t.sceneState.preloaded]])]),_:1},8,["desktop","mobile","onUpdate"]),e.withDirectives(e.createElementVNode("div",null,[t.pickerData.sceneLongitude?(e.openBlock(),e.createBlock(f,{key:0,class:"north-indicator",longitude:t.pickerData.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(b,{modelValue:t.halfHourMark,"onUpdate:modelValue":n[4]||(n[4]=h=>t.halfHourMark=h),"date-selector":t.daysOfYear,"is-loading":!t.sceneState.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,t.sceneState.preloaded]]),t.showCards&&t.selectedBuilding?(e.openBlock(),e.createBlock(m,{key:0,"is-hoverable":t.isHoverable,pos:t.pos,onOutside:n[5]||(n[5]=()=>t.selectedBuildingId=void 0)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{building:t.selectedBuilding,canGoToBuilding:t.canGoToBuildingCallback(t.selectedBuilding),goToBuilding:()=>t.canGoToBuildingCallback(t.selectedBuilding)&&t.$emit("go-to-building",t.selectedBuilding),pos:t.pos,isHoverable:t.isHoverable,close:()=>t.selectedBuildingId=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(p,{ref:"hoverProbe"},null,512)],4)):e.createCommentVNode("",!0)}const T=g(bt,[["render",kt],["__scopeId","data-v-08f2ea1e"]]),Ct={name:"QiBuildingChooser",components:{QiBuildingChooserSvg:F,QiBuildingChooserRaster:T},emits:["go-to-building","hover-over-building","hover-out-building"],props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{type:String,default:null},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{type:String,default:""}},computed:{component(){return this.useSvg?F:T}}};function _t(t,n,i,r,o,a){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{"show-cards":i.showCards,"color-callback":i.colorCallback,"building-callback":i.buildingCallback,"cdn-file-resolver":i.cdnFileResolver,i18n:i.i18n,"interactive-desktop":i.interactiveDesktop,"interactive-mobile":i.interactiveMobile,"building-chooser-time-of-day":i.buildingChooserTimeOfDay,"can-go-to-building-callback":i.canGoToBuildingCallback,"custom-overlay-content":i.customOverlayContent,onGoToBuilding:n[0]||(n[0]=s=>t.$emit("go-to-building",s)),onHoverOverBuilding:n[1]||(n[1]=s=>t.$emit("hover-over-building",s)),onHoverOutBuilding:n[2]||(n[2]=s=>t.$emit("hover-out-building",s))},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),s=>({name:s,fn:e.withCtx(l=>[e.renderSlot(t.$slots,s,e.normalizeProps(e.guardReactiveProps(l)))])}))]),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"])}const Z=g(Ct,[["render",_t]]),xt=37,Bt=39,It={name:"WaypointCarousel",props:{thumbnails:{type:Array,required:!0},active:{type:Number,required:!0}},data(){return{activeThumb:0}},computed:{activeIndex:{get(){return this.active},set(t){this.activeThumb=t}},isMobile(){return/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)}},mounted(){window.addEventListener("keydown",this.keyNavigate)},beforeUnmount(){window.removeEventListener("keydown",this.keyNavigate)},methods:{keyNavigate(t){switch(t.keyCode){case t.keyCode===xt:this.$emit("previous");case t.keyCode===Bt:this.$emit("next");default:return}},goToCamera(t,n){n(),this.$emit("goto",t)}}},St={class:"waypoint-carousel"};function Dt(t,n,i,r,o,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-btn"),d=e.resolveComponent("v-hover"),u=e.resolveComponent("v-img"),f=e.resolveComponent("v-card"),b=e.resolveComponent("v-slide-group-item"),m=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",St,[e.createVNode(m,{modelValue:a.activeIndex,"onUpdate:modelValue":n[2]||(n[2]=p=>a.activeIndex=p),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(({hover:p})=>[e.createVNode(l,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:a.isMobile}]),onClick:n[0]||(n[0]=h=>t.$emit("previous"))},{default:e.withCtx(()=>[e.createVNode(s,{color:p?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-left ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),next:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(({hover:p})=>[e.createVNode(l,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:a.isMobile}]),onClick:n[1]||(n[1]=h=>t.$emit("next"))},{default:e.withCtx(()=>[e.createVNode(s,{color:p?"#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(i.thumbnails,p=>(e.openBlock(),e.createBlock(b,{key:p.id},{default:e.withCtx(({toggle:h,selectedClass:H})=>[e.createVNode(f,{class:e.normalizeClass(["ma-2",H]),align:"center",justify:"center",height:a.isMobile?50:100,width:a.isMobile?80:160,elevation:"0",style:{overflow:"hidden"},onClick:k=>a.goToCamera(p.id,h)},{default:e.withCtx(()=>[e.createVNode(u,{"max-height":"100","max-width":"160",src:p.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue"])])}const At=g(It,[["render",Dt],["__scopeId","data-v-f4e6ce2e"]]),Et={name:"QiVirtualTourSocialShare",inject:["i18n"],data(){return{showSocialShare:!1,currentURL:location.href}},methods:{shareToFacebook(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1},shareToTwitter(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twiter-share-dialog","width=626,height=436"),!1},shareToLinkedin(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1},copyLink(){navigator.clipboard.writeText(location.href)}}},Vt={id:"share-btns-wrapper",class:"text-center"};function Mt(t,n,i,r,o,a){const s=e.resolveComponent("v-btn"),l=e.resolveComponent("v-tooltip"),d=e.resolveComponent("v-toolbar-title"),u=e.resolveComponent("v-spacer"),f=e.resolveComponent("v-toolbar"),b=e.resolveComponent("v-card-text"),m=e.resolveComponent("v-card"),p=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(l,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({on:h})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:n[0]||(n[0]=H=>o.showSocialShare=!o.showSocialShare)},e.toHandlers({...h})),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share")),1)]),_:1}),e.createVNode(p,{id:"share-box",width:"400",modelValue:o.showSocialShare,"onUpdate:modelValue":n[2]||(n[2]=h=>o.showSocialShare=h)},{default:e.withCtx(()=>[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(f,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small",icon:"mdi-close",onClick:n[1]||(n[1]=h=>o.showSocialShare=!1)}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.i18n.getLabel("share")),1)]),_:1}),e.createVNode(u)]),_:1}),e.createVNode(b,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Vt,[e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},h,{onClick:a.shareToFacebook}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-facebook")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},h,{onClick:a.shareToLinkedin}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-linkedin")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},h,{onClick:a.shareToTwitter}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-twitter")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${o.currentURL}`},h),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-via-email")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:h})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:a.copyLink},h),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("copy-link")),1)]),_:1}),e.createVNode(u)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Nt=g(Et,[["render",Mt],["__scopeId","data-v-3560cd03"]]);class Rt{constructor(n,i){this._doc=n,this._elemId=i,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const n=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],i=this._getElement();n.forEach(r=>{i.addEventListener(r,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const n=this._getElement(),i=n.requestFullscreen||n.webkitRequestFullscreen||n.mozRequestFullscreen||n.msRequestFullscreen;i&&i.apply(n)}_exit(){const n=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;n&&n.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const n=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=n}}const Ft={props:{isFullScreen:{type:Boolean,required:!0}},emits:["toggle-fullscreen"]},Tt={id:"btn-fullscreen",class:"btn-placeholder mr-2"};function Ht(t,n,i,r,o,a){const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Tt,[e.createVNode(s,{density:"comfortable",elevation:"3",icon:i.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:n[0]||(n[0]=l=>t.$emit("toggle-fullscreen"))},null,8,["icon"])])}const Lt=g(Ft,[["render",Ht]]),Ut={name:"Disclaimer",inject:["i18n"],data(){return{isVisible:!0}}},$t={key:0,class:"text-white disclaimer caption"};function Ot(t,n,i,r,o,a){return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[o.isVisible?(e.openBlock(),e.createElementBlock("div",$t,[e.createTextVNode(e.toDisplayString(a.i18n.getLabel("all-illustrations-are-indicative-deviations-may-occur"))+" ",1),e.createElementVNode("span",{onClick:n[0]||(n[0]=s=>o.isVisible=!1),class:"link-text text-decoration-underline"},e.toDisplayString(a.i18n.getLabel("i-understand")),1)])):e.createCommentVNode("",!0)]),_:1})}const zt=g(Ut,[["render",Ot],["__scopeId","data-v-6e4f02d6"]]),qt={name:"ManualSlideShowImage",props:{isFullScreen:{type:Boolean,required:!0}},data(){return{}},watch:{},mounted(){window.addEventListener("resize",this.setPlayerSize),this.setPlayerSize()},methods:{findClosestAncestor(t,n){let i=t,r=t;for(;(i=i.parentNode)&&i.className.indexOf(n)<0;);return r=i,r},setPlayerSize(){let t=1.7777777777777777,n=document.querySelector("#player-sizer");if(!n)return;let i=n.offsetWidth,r=i*(1/t);(window.innerWidth<=600||i<=600)&&(r=window.innerHeight*.75,i=r*(1/t)),n.style.height=r+"px",n.style.width=i+"px",this.$emit("new-size-callback",i,r)}}},jt={id:"player-wrapper"},Yt={id:"player-sizer"},Pt={class:"player-control",id:"controls-top-left"},Qt={class:"player-control",id:"controls-top-center"},Gt={class:"player-control",id:"controls-top-right"},Xt={class:"player-control",id:"controls-center-left"},Wt={class:"player-control",id:"controls-center-center"},Kt={class:"player-control",id:"controls-center-right"},Zt={class:"player-control",id:"controls-bottom-left"},Jt={class:"player-control",id:"controls-bottom-center"},en={class:"player-control",id:"controls-bottom-right"};function tn(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("div",Yt,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Pt,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",Qt,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Gt,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Xt,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",Wt,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",Kt,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",Zt,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Jt,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",en,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])])}const nn=g(qt,[["render",tn],["__scopeId","data-v-1dab1ac3"]]),on={name:"StaticImage",props:{image:{type:String,required:!0},aspectRatio:{type:String,default:()=>"wide"}},computed:{style(){return{"background-image":`url("${encodeURI(this.image)}")`}}}},an={class:"static-image-wrapper"};function rn(t,n,i,r,o,a){return e.openBlock(),e.createElementBlock("div",an,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[i.aspectRatio]]),style:e.normalizeStyle(a.style)},null,6)])}const sn={name:"ManualSlideShow",components:{WaypointCarousel:At,SingleImage:g(on,[["render",rn],["__scopeId","data-v-b418cf51"]]),SocialShare:Nt,FullScreenButton:Lt,Disclaimer:zt,ManualSlideShowPlayer:nn},provide(){return{i18n:this.i18n?new v(this.i18n.labels,this.i18n.language):new v}},props:{images:{type:Array,required:!0},websiteUrl:{type:String,default:()=>{}},i18n:{type:Object,default:void 0},showFullScreen:{type:Boolean,default:()=>!0},showShare:{type:Boolean,default:()=>!0},defaultWaypointIndex:{type:Number,default:()=>0}},data(){return{loading:!0,error:!1,currentIndex:0,currentImageId:void 0,fullScreen:new Rt(document,"player-wrapper")}},computed:{imagesWithThumbnails(){return this.images.map(t=>({...t,thumbnailUrl:t.url}))},currentImage(){return this.images[this.currentIndex].url}},mounted(){this.fullScreen.setup()},methods:{toggleFullscreen(){this.fullScreen.toggle(),window.scrollTo({top:150,behavior:"smooth"})},nextImage(){let t=this.currentIndex+1;t>=this.images.length&&(t=0),this.currentIndex=t},previousImage(){let t=this.currentIndex-1;t<0&&(t=this.images.length-1),this.currentIndex=t},goToImage(t,n=!0){let i=this.images.findIndex(r=>r.id===t);i!=-1&&(this.currentIndex=i)}}},ln={class:"virtual-tour-v2-wrapper"},dn={class:"player-and-components-wrapper"},cn={key:1,class:"btn-placeholder"};function hn(t,n,i,r,o,a){const s=e.resolveComponent("single-image"),l=e.resolveComponent("disclaimer"),d=e.resolveComponent("v-icon"),u=e.resolveComponent("v-btn"),f=e.resolveComponent("full-screen-button"),b=e.resolveComponent("social-share"),m=e.resolveComponent("waypoint-carousel"),p=e.resolveComponent("manual-slide-show-player");return e.openBlock(),e.createElementBlock("div",ln,[e.createElementVNode("div",dn,[e.createElementVNode("div",null,[e.createVNode(p,{isFullScreen:o.fullScreen.isActive},{"slideshow-image":e.withCtx(()=>[e.createVNode(s,{image:a.currentImage},null,8,["image"])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[e.createVNode(l,{"return-url":i.websiteUrl},null,8,["return-url"])]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[e.createVNode(u,{elevation:"1",rounded:"",plain:"",icon:"",onClick:a.previousImage},{default:e.withCtx(()=>[e.createVNode(d,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1})]),_:1},8,["onClick"])]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[e.createVNode(u,{elevation:"1",rounded:"",plain:"",icon:"",onClick:a.nextImage},{default:e.withCtx(()=>[e.createVNode(d,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1},8,["onClick"])]),_:1})]),"bottom-left":e.withCtx(()=>[i.showFullScreen?(e.openBlock(),e.createBlock(f,{key:0,isFullScreen:o.fullScreen.isActive,class:"btn-fullscreen",onToggleFullscreen:a.toggleFullscreen},null,8,["isFullScreen","onToggleFullscreen"])):e.createCommentVNode("",!0),i.showShare?(e.openBlock(),e.createElementBlock("div",cn,[e.createVNode(b)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[o.fullScreen.isActive?(e.openBlock(),e.createBlock(m,{key:0,class:e.normalizeClass([o.fullScreen.isActive?"full-screen":""]),thumbnails:a.imagesWithThumbnails,active:o.currentIndex,onNext:a.nextImage,onPrevious:a.previousImage,onGoto:a.goToImage},null,8,["class","thumbnails","active","onNext","onPrevious","onGoto"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["isFullScreen"]),e.createVNode(m,{thumbnails:a.imagesWithThumbnails,active:o.currentIndex,onNext:a.nextImage,onPrevious:a.previousImage,onGoto:a.goToImage},null,8,["thumbnails","active","onNext","onPrevious","onGoto"])])])])}const J=g(sn,[["render",hn],["__scopeId","data-v-e2117d1e"]]),mn=Object.freeze(Object.defineProperty({__proto__:null,ManualSlideShow:J,QiApartmentChooser:K,QiApartmentChooserNavigation:U,QiApartmentChooserRaster:A,QiApartmentChooserRotator:O,QiApartmentChooserSvg:E,QiBuildingChooser:Z,QiBuildingChooserRaster:T,QiBuildingChooserRasterOverlay:Y,QiBuildingChooserSceneImageStack:R,QiBuildingChooserSunSimControl:N,QiBuildingChooserSvg:F,QiFloatingCard:I,QiHoverProbe:w,QiNorthDirection:M,QiZoomBox:S},Symbol.toStringTag,{value:"Module"}));class un{constructor(n){this._data=n}getPixel(n,i){const r=this._data[n][i];if(r!==" "){const o=Number.parseInt(r);return[o,o,o,255]}else return[0,0,0,0]}}const pn=function(n){Object.entries(mn).forEach(([i,r])=>{n.component(i,r)})};c.BatchLoadTracker=V,c.BuildingMap=C,c.BuildingPickerResourceProvider=j,c.BuildingViewerModel=W,c.CanvasRaster=_,c.DayOfYearSelector=D,c.I18N=v,c.ManualSlideShow=J,c.QiApartmentChooser=K,c.QiApartmentChooserNavigation=U,c.QiApartmentChooserRaster=A,c.QiApartmentChooserRotator=O,c.QiApartmentChooserSvg=E,c.QiBuildingChooser=Z,c.QiBuildingChooserRaster=T,c.QiBuildingChooserRasterOverlay=Y,c.QiBuildingChooserSceneImageStack=R,c.QiBuildingChooserSunSimControl=N,c.QiBuildingChooserSvg=F,c.QiFloatingCard=I,c.QiHoverProbe=w,c.QiNorthDirection=M,c.QiZoomBox=S,c.ResourceLoader=y,c.SampleRaster=un,c.SceneRotator=Q,c.default=pn,c.throttle=L,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode("@media (hover: hover){.hover-check[data-v-e4729353]{display:none}}#canvas[data-v-3bbbc77b]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}#canvas-mask[data-v-3bbbc77b]{position:absolute;top:0;max-width:100%;z-index:4;-webkit-user-select:none;user-select:none}@media only screen and (min-width: 1280px){#canvas[data-v-3bbbc77b]{border-radius:10px}}#container[data-v-82a61864]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}.svg-container[data-v-82a61864]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-82a61864],svg[data-v-82a61864]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-82a61864] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}@media only screen and (min-width: 1280px){#canvas[data-v-82a61864]{border-radius:10px}}.v-btn[data-v-129ef905]{background-color:#fff}.frame-container[data-v-e6481f8e]{position:relative;max-width:100%;top:0;left:0;bottom:185px;padding-top:56%;z-index:1;overflow:hidden}.frame-image[data-v-e6481f8e]{position:absolute;top:0;width:100%;height:100%}.frame-image img[data-v-e6481f8e]{min-width:100%;max-width:100%;z-index:0}#image-stack picture[data-v-e6481f8e]{visibility:hidden}#image-stack picture.show[data-v-e6481f8e]{visibility:visible}.fill-parent[data-v-e6481f8e]{position:absolute;top:0;bottom:0;left:0;right:0}.floating-card[data-v-b74de171]{position:absolute;left:0;top:0;z-index:10;display:flex}.is-not-hoverable[data-v-b74de171]{position:relative;width:100%}.top-left[data-v-b74de171]{transform-origin:top left;transform:translate(8px) translateY(8px) scale(.9)}.top-right[data-v-b74de171]{transform-origin:top right;transform:translate(-100%) translate(-8px) translateY(8px) scale(.9)}.bottom-left[data-v-b74de171]{transform-origin:bottom left;transform:translateY(-100%) translate(8px) translateY(-8px) scale(.9)}.bottom-right[data-v-b74de171]{transform-origin:bottom right;transform:translateY(-100%) translate(-100%) translate(-8px) translateY(-8px) scale(.9)}.v-dialog__content[data-v-b74de171]{align-items:flex-start}.zoom-box-container[data-v-83bfd28a]{position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.zoom-box[data-v-83bfd28a]{width:100%;height:100%;-webkit-user-select:none;user-select:none;touch-action:none}.interactive-viewer[data-v-3a1121f3]{padding-top:56.65%;position:relative}.fill-parent[data-v-3a1121f3]{position:absolute;top:0;bottom:0;left:0;right:0}.navigation[data-v-3a1121f3]{position:absolute;width:100%;bottom:32px;z-index:99;padding:0 20px;display:flex;justify-content:center}@media only screen and (max-width: 600px){.navigation[data-v-3a1121f3]{bottom:12px}}.sunsim-time-label[data-v-1fba3edd]{color:#000;vertical-align:top}.sunsim-date[data-v-1fba3edd]{background:#fff;border-radius:30px;min-height:36px;min-width:170px;display:flex;align-content:center;white-space:nowrap}.day-selector[data-v-1fba3edd]{margin-top:0}.day-selector[data-v-1fba3edd] .v-field__outline{display:none}.day-selector[data-v-1fba3edd] .v-field__input{padding-top:2px}.day-selector[data-v-1fba3edd] .v-field__append-inner{padding-top:5px!important}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:before{border-style:none}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:after{border-style:none}.sunsim-slider[data-v-1fba3edd] .v-slider-track__background{background:linear-gradient(270deg,#8183c2,#ffb9b9 20.01%,#b2dfff 40.1%,#b2dfff 59.85%,#ffba96 79.96%,#8183c2)!important}.sunsim-bar-wrapper{display:flex;position:absolute;width:60%;min-width:400px;top:12px;left:0;z-index:3;touch-action:none;pointer-events:none}.sunsim-wrapper{width:100%;background:#fff;border-radius:30px;padding:5px;min-height:16px;z-index:3}.sunsim-bar-wrapper .sunsim-date{margin-right:12px;margin-left:12px}.sunsim-wrapper,.sunsim-date{touch-action:auto;pointer-events:all}.sunsim-wrapper .mdi-white-balance-sunny{color:#ffab02;vertical-align:baseline;font-size:20px}@media only screen and (max-width: 980px) and (min-width: 500px){.sunsim-bar-wrapper{top:101%;width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){.sunsim-bar-wrapper{top:calc(100% + 8px);width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{box-shadow:0 0 7px 1px #aaa}}@media only screen and (max-width: 500px){.sunsim-bar-wrapper{height:calc(100% + 84px);top:0;width:100%;flex-direction:column;justify-content:space-between;margin:-42px 0 0;padding:0;left:0;z-index:0;min-width:100%}.sunsim-bar-wrapper .sunsim-date{margin-right:0;margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{width:100%;border-radius:0;left:0;margin-left:0!important;box-shadow:0 0 7px 1px #aaa}}.image-instance[data-v-fad48118]{position:absolute;width:100%;opacity:0}.image-instance.active[data-v-fad48118]{opacity:1}.north-indicator[data-v-0a2cec1f]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-0a2cec1f]{position:relative}.image-instances[data-v-0a2cec1f]{position:relative;width:100%;height:100%}canvas[data-v-0a2cec1f]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-0a2cec1f]{position:absolute;top:0;bottom:0;left:0;right:0}.svg-container[data-v-0a2cec1f]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-0a2cec1f],svg[data-v-0a2cec1f]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-0a2cec1f] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}svg g.restricted[data-v-0a2cec1f] path{cursor:default!important}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-0a2cec1f]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-0a2cec1f]{margin-top:44px;margin-bottom:44px}}.overlay[data-v-9a90fa2f]{z-index:1!important;opacity:1;transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.north-indicator[data-v-08f2ea1e]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-08f2ea1e]{position:relative}.image-instances[data-v-08f2ea1e]{position:relative;width:100%;height:100%}canvas[data-v-08f2ea1e]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-08f2ea1e]{position:absolute;top:0;bottom:0;left:0;right:0}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-08f2ea1e]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-08f2ea1e]{margin-top:44px;margin-bottom:44px}}.v-card[data-v-f4e6ce2e]{transition:box-shadow .3s ease-in-out;border:2px solid transparent}[data-v-f4e6ce2e] .v-slide-group__content{justify-content:center}[data-v-f4e6ce2e] .v-slide-group__next--disabled,[data-v-f4e6ce2e] .v-slide-group__prev--disabled{pointer-events:all!important}.carousel-button[data-v-f4e6ce2e]{height:108px!important;min-width:54px!important;padding:0!important;z-index:2;background-color:#fff!important;border:2px solid #d2d2d2;color:#d2d2d2!important}.carousel-button.mobile[data-v-f4e6ce2e]{height:58px!important;min-width:38px!important}.carousel-button[data-v-f4e6ce2e]:hover{border:2px solid #999!important;color:#999!important}.carousel-button[data-v-f4e6ce2e]:hover:before,.carousel-button[data-v-f4e6ce2e]:hover:after{background-color:#fff!important}.align-baseline[data-v-f4e6ce2e]{align-items:baseline}.active-apt[data-v-f4e6ce2e]{border:4px solid #4caf50!important}.v-image[data-v-f4e6ce2e]{border-radius:0!important}#share-btns-wrapper button[data-v-3560cd03]{margin:0 8px}.v-btn[data-v-3560cd03]{background-color:#fff;pointer-events:all}.disclaimer[data-v-6e4f02d6]{padding:4px 10px;text-align:center;background-color:#00000040;border-radius:5px;line-height:20px}.disclaimer span[data-v-6e4f02d6]{cursor:pointer;color:#fff;text-decoration:underline;pointer-events:all}#player-wrapper[data-v-1dab1ac3]{position:relative;overflow:hidden}#player-sizer[data-v-1dab1ac3]{display:flex;justify-content:center;align-items:center;overflow:hidden}.player-control[data-v-1dab1ac3]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-1dab1ac3]{top:10px;left:10px}#controls-top-center[data-v-1dab1ac3]{top:10px;left:50%;transform:translate(-50%);z-index:4}#controls-top-right[data-v-1dab1ac3]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-1dab1ac3]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-1dab1ac3]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-1dab1ac3]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-1dab1ac3]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-1dab1ac3]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-1dab1ac3]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}.img-div[data-v-b418cf51]{position:absolute;display:block;height:100%;width:100%;background-size:cover;background-position:center center;z-index:2;left:0;top:0}.static-image-wrapper[data-v-b418cf51]{background:#fff}.compass-wrapper[data-v-e2117d1e]{width:50px}.player-and-components-wrapper[data-v-e2117d1e]{position:relative}.static-image[data-v-e2117d1e]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-e2117d1e]{background:#fff}.waypoint-carousel.full-screen[data-v-e2117d1e]{scale:.5}div#controls-bottom-center>div[data-v-e2117d1e]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-e2117d1e]{min-height:400px;display:flex;align-items:center;justify-content:space-around;background:#ededed}@media only screen and (max-width: 600px){#btn-fullscreen[data-v-e2117d1e]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-e2117d1e]{display:none}}#player-wrapper[data-v-ab9c084f]{position:relative;overflow:hidden}#player-sizer[data-v-ab9c084f]{display:flex;justify-content:center;align-items:center;overflow:hidden}div#main-canvas[data-v-ab9c084f]{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.player-control[data-v-ab9c084f]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-ab9c084f]{top:10px;left:10px}#controls-top-center[data-v-ab9c084f]{top:10px;left:50%;transform:translate(-50%);z-index:4;flex-direction:column}#controls-top-right[data-v-ab9c084f]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-ab9c084f]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-ab9c084f]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-ab9c084f]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-ab9c084f]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-ab9c084f]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-ab9c084f]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}.btn-placeholder[data-v-56a279a7]{width:36px;height:36px}.v-btn[data-v-56a279a7]{background-color:#fff;pointer-events:all;cursor:auto}.floor-level-label[data-v-56a279a7]{text-transform:capitalize}.v-image[data-v-fe12068f]{background-color:#aaa}.interior-selector-list[data-v-fe12068f]{box-shadow:none!important;padding:10px;background:transparent!important}.interior-selector-list-item[data-v-fe12068f]{padding:0;padding-inline-start:0!important;background-color:#fff;border:2px solid #fff;transition:transform .2s cubic-bezier(.17,.67,.83,.67);margin-top:10px}.interior-selector-list-item[data-v-fe12068f]:hover{transform:translate(-5px);border:2px solid #4caf50}.interior-selector-list-item .v-list-item-title[data-v-fe12068f]{word-break:break-word}.compass-needle{transition:transform .5s;transition-timing-function:ease-out}.clock-face[data-v-e440b0c9]{margin-left:10px;height:50px;width:50px;background-color:#fff;border-radius:50%}.clock-value[data-v-e440b0c9]{font-size:11px}.clock-icon[data-v-e440b0c9]{width:18px}.tutorial[data-v-d87b088a]{color:#000;padding:10px;text-align:center;background-color:#fff;border-radius:5px;line-height:20px}.tutorial-icon[data-v-d87b088a]{border:1.5px solid #e0e0e0;border-radius:5px;width:140px;height:75px}.text[data-v-d87b088a]{font-size:.8em;line-height:1}.box.col[data-v-d87b088a]{max-width:180px!important}.tablet-mobile-content[data-v-d87b088a]{min-width:240px}.box.horizontal[data-v-d87b088a]{display:flex;align-items:center}.tablet-mobile-content .tutorial-icon[data-v-d87b088a]{width:100px;height:65px}.tablet-mobile-content .text[data-v-d87b088a]{text-align:left}.tutorial-buttons .v-messages{display:none!important}.settings-panel[data-v-c04f3195]{min-width:500px;height:500px;overflow-y:scroll}form#settings-ui-form[data-v-c04f3195]{background:#fff9;border-radius:5px;padding:10px}#settings-ui-form .form-inputs[data-v-c04f3195]{height:60vh;overflow-y:scroll;padding-bottom:50px;scrollbar-color:#0c0e4a transparent;scrollbar-width:thin;padding-right:20px}.stop1{stop-color:#fff}.stop2{stop-color:#fff;stop-opacity:0}.stop3{stop-color:transparent}.minimap-container[data-v-341837d7]{position:relative}.web-minimap[data-v-341837d7]{position:relative;width:512px;height:385px;overflow:hidden;transition:transform .5s ease-in}@media (max-width: 650px){.web-minimap[data-v-341837d7]{scale:.7}}@media (max-width: 480px){.web-minimap[data-v-341837d7]{scale:.5}}.minimap-background-image[data-v-341837d7]{position:absolute;width:100%;height:100%}.single-camera-marker[data-v-341837d7]{position:absolute;width:7px;height:7px;background:#fff;border-radius:50%;z-index:2;transform:translate(-50%,-50%);border:0px}.rotation-marker-component[data-v-341837d7]{z-index:3;position:absolute;width:80px;height:80px;transform:translate(-50%,-50%)}.center-pivot[data-v-341837d7]{position:absolute;width:100%;height:100%}#moveableDiv[data-v-243baf73]{position:fixed;z-index:15;background-color:#fff;border:1px solid #d3d3d3}#moveableDivheader[data-v-243baf73]{cursor:move;z-index:10}.big[data-v-243baf73]{width:512px;height:440px;top:50%;left:50%;transform:translate(-50%,-50%)}.small[data-v-243baf73]{width:250px;height:300px;bottom:10px;right:10px;transform:translate(0)}.sizer[data-v-243baf73]{overflow:hidden;min-width:250px;min-height:300px;max-width:700px;max-height:531px}.resize-icon[data-v-243baf73]{position:absolute;top:5px;right:5px;z-index:11}.rotate-icon[data-v-243baf73]{position:absolute;top:5px;right:45px;z-index:12}.close-icon[data-v-243baf73]{position:absolute;top:5px;left:5px;z-index:11}.moveable-body[data-v-243baf73]{z-index:1}.moveable-footer[data-v-243baf73]{width:100%;height:50px;margin-bottom:10px;background:#fff;z-index:2}.filler-div[data-v-243baf73]{display:none}@media only screen and (max-width: 600px){.sizer[data-v-243baf73]{overflow:hidden;max-width:90%;max-height:80vh}}.minimap-compass[data-v-01730a31]{width:50px}.ss-wrapper[data-v-86183299]{display:flex;flex-direction:row;justify-content:space-between;margin:0 10px;position:relative;z-index:100}.sun-icon[data-v-86183299]{width:10%}.slider[data-v-86183299]{display:flex;flex-direction:column;flex:1 1 auto;padding:3px 0}i.v-icon.notranslate.mdi.mdi-white-balance-sunny.theme--light[data-v-86183299]{font-size:40px;color:#ffab02;padding:5px}.time-label[data-v-86183299]{padding:0;display:inline-block;margin-top:-10px;margin-left:50px}.minimap-compass[data-v-b88a7da2]{position:absolute;right:5px;top:50px;z-index:11}.compass-wrapper[data-v-f2969973]{width:50px}.player-and-components-wrapper[data-v-f2969973]{position:relative}.static-image[data-v-f2969973]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-f2969973]{background:#fff}.waypoint-carousel.full-screen[data-v-f2969973]{scale:.5}div#controls-bottom-center>div[data-v-f2969973]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-f2969973]{min-height:400px;display:flex;align-items:center;justify-content:space-around;background:#ededed}@media only screen and (max-width: 600px){#btn-fullscreen[data-v-f2969973]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-f2969973]{display:none}}.settings-panel[data-v-f2969973]{position:absolute;top:0;left:0;z-index:10;width:500px;transform:scale(.8);transform-origin:left}")),document.head.appendChild(t)}}catch(a){console.error("vite-plugin-css-injected-by-js",a)}})();
2
+ (function(u,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("axios"),require("vue"),require("@qispace/player-core"),require("three")):typeof define=="function"&&define.amd?define(["exports","axios","vue","@qispace/player-core","three"],x):(u=typeof globalThis<"u"?globalThis:u||self,x(u.Vue3Player={},u.axios,u.Vue,u.playerCore,u.THREE))})(this,function(u,x,e,H,be){"use strict";var K=document.createElement("style");K.textContent=`@media (hover: hover){.hover-check[data-v-e4729353]{display:none}}#canvas[data-v-3bbbc77b]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}#canvas-mask[data-v-3bbbc77b]{position:absolute;top:0;max-width:100%;z-index:4;-webkit-user-select:none;user-select:none}@media only screen and (min-width: 1280px){#canvas[data-v-3bbbc77b]{border-radius:10px}}#container[data-v-82a61864]{position:absolute;top:0;width:100%;-webkit-user-select:none;user-select:none;touch-action:none;padding-top:56.25%}.svg-container[data-v-82a61864]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-82a61864],svg[data-v-82a61864]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-82a61864] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}@media only screen and (min-width: 1280px){#canvas[data-v-82a61864]{border-radius:10px}}.v-btn[data-v-129ef905]{background-color:#fff}.frame-container[data-v-e6481f8e]{position:relative;max-width:100%;top:0;left:0;bottom:185px;padding-top:56%;z-index:1;overflow:hidden}.frame-image[data-v-e6481f8e]{position:absolute;top:0;width:100%;height:100%}.frame-image img[data-v-e6481f8e]{min-width:100%;max-width:100%;z-index:0}#image-stack picture[data-v-e6481f8e]{visibility:hidden}#image-stack picture.show[data-v-e6481f8e]{visibility:visible}.fill-parent[data-v-e6481f8e]{position:absolute;top:0;bottom:0;left:0;right:0}.floating-card[data-v-b74de171]{position:absolute;left:0;top:0;z-index:10;display:flex}.is-not-hoverable[data-v-b74de171]{position:relative;width:100%}.top-left[data-v-b74de171]{transform-origin:top left;transform:translate(8px) translateY(8px) scale(.9)}.top-right[data-v-b74de171]{transform-origin:top right;transform:translate(-100%) translate(-8px) translateY(8px) scale(.9)}.bottom-left[data-v-b74de171]{transform-origin:bottom left;transform:translateY(-100%) translate(8px) translateY(-8px) scale(.9)}.bottom-right[data-v-b74de171]{transform-origin:bottom right;transform:translateY(-100%) translate(-100%) translate(-8px) translateY(-8px) scale(.9)}.v-dialog__content[data-v-b74de171]{align-items:flex-start}.zoom-box-container[data-v-83bfd28a]{position:absolute;width:100%;height:100%;left:0;top:0;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:none}.zoom-box[data-v-83bfd28a]{width:100%;height:100%;-webkit-user-select:none;user-select:none;touch-action:none}.interactive-viewer[data-v-3a1121f3]{padding-top:56.65%;position:relative}.fill-parent[data-v-3a1121f3]{position:absolute;top:0;bottom:0;left:0;right:0}.navigation[data-v-3a1121f3]{position:absolute;width:100%;bottom:32px;z-index:99;padding:0 20px;display:flex;justify-content:center}@media only screen and (max-width: 600px){.navigation[data-v-3a1121f3]{bottom:12px}}.sunsim-time-label[data-v-1fba3edd]{color:#000;vertical-align:top}.sunsim-date[data-v-1fba3edd]{background:#fff;border-radius:30px;min-height:36px;min-width:170px;display:flex;align-content:center;white-space:nowrap}.day-selector[data-v-1fba3edd]{margin-top:0}.day-selector[data-v-1fba3edd] .v-field__outline{display:none}.day-selector[data-v-1fba3edd] .v-field__input{padding-top:2px}.day-selector[data-v-1fba3edd] .v-field__append-inner{padding-top:5px!important}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:before{border-style:none}.day-selector.v-text-field[data-v-1fba3edd] .v-input__control>.v-input__slot:after{border-style:none}.sunsim-slider[data-v-1fba3edd] .v-slider-track__background{background:linear-gradient(270deg,#8183c2,#ffb9b9 20.01%,#b2dfff 40.1%,#b2dfff 59.85%,#ffba96 79.96%,#8183c2)!important}.sunsim-bar-wrapper{display:flex;position:absolute;width:60%;min-width:400px;top:12px;left:0;z-index:3;touch-action:none;pointer-events:none}.sunsim-wrapper{width:100%;background:#fff;border-radius:30px;padding:5px;min-height:16px;z-index:3}.sunsim-bar-wrapper .sunsim-date{margin-right:12px;margin-left:12px}.sunsim-wrapper,.sunsim-date{touch-action:auto;pointer-events:all}.sunsim-wrapper .mdi-white-balance-sunny{color:#ffab02;vertical-align:baseline;font-size:20px}@media only screen and (max-width: 980px) and (min-width: 500px){.sunsim-bar-wrapper{top:101%;width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){.sunsim-bar-wrapper{top:calc(100% + 8px);width:100%}.sunsim-bar-wrapper .sunsim-date{margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{box-shadow:0 0 7px 1px #aaa}}@media only screen and (max-width: 500px){.sunsim-bar-wrapper{height:calc(100% + 84px);top:0;width:100%;flex-direction:column;justify-content:space-between;margin:-42px 0 0;padding:0;left:0;z-index:0;min-width:100%}.sunsim-bar-wrapper .sunsim-date{margin-right:0;margin-left:0}.sunsim-bar-wrapper .sunsim-date,.sunsim-bar-wrapper .sunsim-wrapper{width:100%;border-radius:0;left:0;margin-left:0!important;box-shadow:0 0 7px 1px #aaa}}.image-instance[data-v-fad48118]{position:absolute;width:100%;opacity:0}.image-instance.active[data-v-fad48118]{opacity:1}.north-indicator[data-v-0a2cec1f]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-0a2cec1f]{position:relative}.image-instances[data-v-0a2cec1f]{position:relative;width:100%;height:100%}canvas[data-v-0a2cec1f]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-0a2cec1f]{position:absolute;top:0;bottom:0;left:0;right:0}.svg-container[data-v-0a2cec1f]{transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.svg-container[data-v-0a2cec1f],svg[data-v-0a2cec1f]{position:absolute;left:0;top:0;width:100%;height:100%;z-index:10000}svg g[data-v-0a2cec1f] path{cursor:pointer;stroke-width:inherit!important;stroke-opacity:inherit!important;stroke:inherit!important;fill:inherit!important;fill-opacity:inherit!important;transition-property:fill-opacity,fill;transition-duration:.25s;transition-timing-function:ease-in-out}svg g.restricted[data-v-0a2cec1f] path{cursor:default!important}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-0a2cec1f]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-0a2cec1f]{margin-top:44px;margin-bottom:44px}}.overlay[data-v-9a90fa2f]{z-index:1!important;opacity:1;transition-property:opacity;transition-duration:.25s;transition-timing-function:ease-in-out}.north-indicator[data-v-08f2ea1e]{position:absolute;right:0;top:0;height:42px;width:42px;margin-top:12px;margin-right:8px}.image-container[data-v-08f2ea1e]{position:relative}.image-instances[data-v-08f2ea1e]{position:relative;width:100%;height:100%}canvas[data-v-08f2ea1e]{position:absolute;left:0;top:0;z-index:2;opacity:0}.fill-parent[data-v-08f2ea1e]{position:absolute;top:0;bottom:0;left:0;right:0}@media only screen and (max-width: 980px) and (min-width: 500px) and (orientation: landscape){div.image-container[data-v-08f2ea1e]{margin-top:44px}}@media only screen and (max-width: 500px){div.image-container[data-v-08f2ea1e]{margin-top:44px;margin-bottom:44px}}.v-card[data-v-f4e6ce2e]{transition:box-shadow .3s ease-in-out;border:2px solid transparent}[data-v-f4e6ce2e] .v-slide-group__content{justify-content:center}[data-v-f4e6ce2e] .v-slide-group__next--disabled,[data-v-f4e6ce2e] .v-slide-group__prev--disabled{pointer-events:all!important}.carousel-button[data-v-f4e6ce2e]{height:108px!important;min-width:54px!important;padding:0!important;z-index:2;background-color:#fff!important;border:2px solid #d2d2d2;color:#d2d2d2!important}.carousel-button.mobile[data-v-f4e6ce2e]{height:58px!important;min-width:38px!important}.carousel-button[data-v-f4e6ce2e]:hover{border:2px solid #999!important;color:#999!important}.carousel-button[data-v-f4e6ce2e]:hover:before,.carousel-button[data-v-f4e6ce2e]:hover:after{background-color:#fff!important}.align-baseline[data-v-f4e6ce2e]{align-items:baseline}.active-apt[data-v-f4e6ce2e]{border:4px solid #4caf50!important}.v-image[data-v-f4e6ce2e]{border-radius:0!important}#share-btns-wrapper button[data-v-3560cd03]{margin:0 8px}.v-btn[data-v-3560cd03]{background-color:#fff;pointer-events:all}.disclaimer[data-v-6e4f02d6]{padding:4px 10px;text-align:center;background-color:#00000040;border-radius:5px;line-height:20px}.disclaimer span[data-v-6e4f02d6]{cursor:pointer;color:#fff;text-decoration:underline;pointer-events:all}#player-wrapper[data-v-1dab1ac3]{position:relative;overflow:hidden}#player-sizer[data-v-1dab1ac3]{display:flex;justify-content:center;align-items:center;overflow:hidden}.player-control[data-v-1dab1ac3]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-1dab1ac3]{top:10px;left:10px}#controls-top-center[data-v-1dab1ac3]{top:10px;left:50%;transform:translate(-50%);z-index:4}#controls-top-right[data-v-1dab1ac3]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-1dab1ac3]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-1dab1ac3]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-1dab1ac3]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-1dab1ac3]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-1dab1ac3]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-1dab1ac3]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}.img-div[data-v-b418cf51]{position:absolute;display:block;height:100%;width:100%;background-size:cover;background-position:center center;z-index:2;left:0;top:0}.static-image-wrapper[data-v-b418cf51]{background:#fff}.compass-wrapper[data-v-e2117d1e]{width:50px}.player-and-components-wrapper[data-v-e2117d1e]{position:relative}.static-image[data-v-e2117d1e]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-e2117d1e]{background:#fff}.waypoint-carousel.full-screen[data-v-e2117d1e]{scale:.5}div#controls-bottom-center>div[data-v-e2117d1e]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-e2117d1e]{min-height:400px;display:flex;align-items:center;justify-content:space-around;background:#ededed}@media only screen and (max-width: 600px){#btn-fullscreen[data-v-e2117d1e]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-e2117d1e]{display:none}}#player-wrapper[data-v-ab9c084f]{position:relative;overflow:hidden}#player-sizer[data-v-ab9c084f]{display:flex;justify-content:center;align-items:center;overflow:hidden}div#main-canvas[data-v-ab9c084f]{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.player-control[data-v-ab9c084f]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-ab9c084f]{top:10px;left:10px}#controls-top-center[data-v-ab9c084f]{top:10px;left:50%;transform:translate(-50%);z-index:4;flex-direction:column}#controls-top-right[data-v-ab9c084f]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-ab9c084f]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-ab9c084f]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-ab9c084f]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-ab9c084f]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-ab9c084f]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-ab9c084f]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}.btn-placeholder[data-v-56a279a7]{width:36px;height:36px}.v-btn[data-v-56a279a7]{background-color:#fff;pointer-events:all;cursor:auto}.floor-level-label[data-v-56a279a7]{text-transform:capitalize}.v-image[data-v-fe12068f]{background-color:#aaa}.interior-selector-list[data-v-fe12068f]{box-shadow:none!important;padding:10px;background:transparent!important}.interior-selector-list-item[data-v-fe12068f]{padding:0;padding-inline-start:0!important;background-color:#fff;border:2px solid #fff;transition:transform .2s cubic-bezier(.17,.67,.83,.67);margin-top:10px}.interior-selector-list-item[data-v-fe12068f]:hover{transform:translate(-5px);border:2px solid #4caf50}.interior-selector-list-item .v-list-item-title[data-v-fe12068f]{word-break:break-word}.compass-needle{transition:transform .5s;transition-timing-function:ease-out}.clock-face[data-v-e440b0c9]{margin-left:10px;height:50px;width:50px;background-color:#fff;border-radius:50%}.clock-value[data-v-e440b0c9]{font-size:11px}.clock-icon[data-v-e440b0c9]{width:18px}.tutorial[data-v-d87b088a]{color:#000;padding:10px;text-align:center;background-color:#fff;border-radius:5px;line-height:20px}.tutorial-icon[data-v-d87b088a]{border:1.5px solid #e0e0e0;border-radius:5px;width:140px;height:75px}.text[data-v-d87b088a]{font-size:.8em;line-height:1}.box.col[data-v-d87b088a]{max-width:180px!important}.tablet-mobile-content[data-v-d87b088a]{min-width:240px}.box.horizontal[data-v-d87b088a]{display:flex;align-items:center}.tablet-mobile-content .tutorial-icon[data-v-d87b088a]{width:100px;height:65px}.tablet-mobile-content .text[data-v-d87b088a]{text-align:left}.tutorial-buttons .v-messages{display:none!important}.settings-panel[data-v-c04f3195]{min-width:500px;height:500px;overflow-y:scroll}form#settings-ui-form[data-v-c04f3195]{background:#fff9;border-radius:5px;padding:10px}#settings-ui-form .form-inputs[data-v-c04f3195]{height:60vh;overflow-y:scroll;padding-bottom:50px;scrollbar-color:#0c0e4a transparent;scrollbar-width:thin;padding-right:20px}.stop1{stop-color:#fff}.stop2{stop-color:#fff;stop-opacity:0}.stop3{stop-color:transparent}.minimap-container[data-v-341837d7]{position:relative}.web-minimap[data-v-341837d7]{position:relative;width:512px;height:385px;overflow:hidden;transition:transform .5s ease-in}@media (max-width: 650px){.web-minimap[data-v-341837d7]{scale:.7}}@media (max-width: 480px){.web-minimap[data-v-341837d7]{scale:.5}}.minimap-background-image[data-v-341837d7]{position:absolute;width:100%;height:100%}.single-camera-marker[data-v-341837d7]{position:absolute;width:7px;height:7px;background:#fff;border-radius:50%;z-index:2;transform:translate(-50%,-50%);border:0px}.rotation-marker-component[data-v-341837d7]{z-index:3;position:absolute;width:80px;height:80px;transform:translate(-50%,-50%)}.center-pivot[data-v-341837d7]{position:absolute;width:100%;height:100%}#moveableDiv[data-v-243baf73]{position:fixed;z-index:15;background-color:#fff;border:1px solid #d3d3d3}#moveableDivheader[data-v-243baf73]{cursor:move;z-index:10}.big[data-v-243baf73]{width:512px;height:440px;top:50%;left:50%;transform:translate(-50%,-50%)}.small[data-v-243baf73]{width:250px;height:300px;bottom:10px;right:10px;transform:translate(0)}.sizer[data-v-243baf73]{overflow:hidden;min-width:250px;min-height:300px;max-width:700px;max-height:531px}.resize-icon[data-v-243baf73]{position:absolute;top:5px;right:5px;z-index:11}.rotate-icon[data-v-243baf73]{position:absolute;top:5px;right:45px;z-index:12}.close-icon[data-v-243baf73]{position:absolute;top:5px;left:5px;z-index:11}.moveable-body[data-v-243baf73]{z-index:1}.moveable-footer[data-v-243baf73]{width:100%;height:50px;margin-bottom:10px;background:#fff;z-index:2}.filler-div[data-v-243baf73]{display:none}@media only screen and (max-width: 600px){.sizer[data-v-243baf73]{overflow:hidden;max-width:90%;max-height:80vh}}.minimap-compass[data-v-01730a31]{width:50px}.ss-wrapper[data-v-86183299]{display:flex;flex-direction:row;justify-content:space-between;margin:0 10px;position:relative;z-index:100}.sun-icon[data-v-86183299]{width:10%}.slider[data-v-86183299]{display:flex;flex-direction:column;flex:1 1 auto;padding:3px 0}i.v-icon.notranslate.mdi.mdi-white-balance-sunny.theme--light[data-v-86183299]{font-size:40px;color:#ffab02;padding:5px}.time-label[data-v-86183299]{padding:0;display:inline-block;margin-top:-10px;margin-left:50px}.minimap-compass[data-v-b88a7da2]{position:absolute;right:5px;top:50px;z-index:11}.compass-wrapper[data-v-f2969973]{width:50px}.player-and-components-wrapper[data-v-f2969973]{position:relative}.static-image[data-v-f2969973]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-f2969973]{background:#fff}.waypoint-carousel.full-screen[data-v-f2969973]{scale:.5}div#controls-bottom-center>div[data-v-f2969973]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-f2969973]{min-height:400px;display:flex;align-items:center;justify-content:space-around;background:#ededed}@media only screen and (max-width: 600px){#btn-fullscreen[data-v-f2969973]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-f2969973]{display:none}}.settings-panel[data-v-f2969973]{position:absolute;top:0;left:0;z-index:10;width:500px;transform:scale(.8);transform-origin:left}
3
+ `,document.head.appendChild(K);function we(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const C=we(be);class v{async loadJson(o){return(await x.get(o)).data}async loadImage(o){return new Promise((n,r)=>{const i=new Image;i.crossOrigin="anonymous",i.onload=()=>{n(i)},i.onerror=r,i.src=o})}async loadImageData(o){const n=await this.loadImage(o),r=document.createElement("canvas");try{const i=r.getContext("2d");return r.width=n.width,r.height=n.height,i.drawImage(n,0,0),r.toDataURL("image/png")}finally{r.remove()}}}const g=(t,o)=>{const n=t.__vccOpts||t;for(const[r,i]of o)n[r]=i;return n},ke={name:"QiHoverProbe",computed:{isHoverEnabled(){return window.getComputedStyle(this.$refs.hoverCheck).display==="none"}}},ye={ref:"hoverCheck",class:"hover-check"};function Ce(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",ye,null,512)}const S=g(ke,[["render",Ce],["__scopeId","data-v-e4729353"]]),P={methods:{throttle(t,o){let n=!0;return function(...r){n&&(n=!1,t.apply(this,r),setTimeout(()=>n=!0,o))}}}},ve={name:"QiApartmentChooserRaster",components:{QiHoverProbe:S},mixins:[P],props:{cdnFileResolver:{type:Function,required:!0},viewModel:{type:Object,required:!0},selectedUnitId:{type:String,default:null},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{type:Array,default:[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null}},emits:["select-unit","go-to-unit","hover-over","hover-out"],data(){return{pos:{x:0,y:0,width:0,height:0},canvas:null,canvasBg:null,canvasWidth:0,canvasHeight:0,context:null,contextBg:null,image:null,imageData:null,originalImageData:null,hoverApartmentIndex:-1,showApartmentCard:!1,cursorX:null,cursorY:null,rasterImages:{},vueCanvasCursor:"auto",timeout:null,windowListener:void 0,resourceLoader:new v,apartmentIndexRasterMap:{}}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},rasterUrl(){return this.cdnFileResolver(`/scenedata${this.viewModel.currentScene}.png`)},rasterImage(){return this.rasterUrl in this.rasterImages?this.rasterImages[this.rasterUrl]:null},hoverApartment(){if(this.hoverApartmentIndex<0)return!1;const t=this.sceneData.find(o=>o.index===this.hoverApartmentIndex);return t?this.unitCallback?this.unitCallback(t.apartmentId):t.apartmentId:!1},canvasStyle(){return{width:this.canvasWidth+"px",height:this.canvasHeight+"px",cursor:this.vueCanvasCursor}},hoverBehaviourIdentifier(){return`hover-${this.showApartmentCard?"over":"out"}-${this.hoverApartment?typeof this.hoverApartment=="object"&&"unitId"in this.hoverApartment?this.hoverApartment.unitId:this.hoverApartment:""}`}},watch:{rasterUrl:{handler(){this.rasterImages[this.rasterUrl]||this.resourceLoader.loadImageData(this.rasterUrl).then(t=>{this.rasterImages={...this.rasterImages,[this.rasterUrl]:t}})},immediate:!0},rasterImage(){this.rasterImage&&this.init()},"viewModel.currentScene":{handler(){this.draw()},immediate:!0},"viewModel.isRotating"(){this.draw()},drawObserver(){this.draw()},selectedUnitId(){this.draw()},hoverApartment(){this.draw(),this.hoverApartment?this.vueCanvasCursor="pointer":this.vueCanvasCursor="auto"},hoverBehaviourIdentifier(){this.$emit(this.showApartmentCard?"hover-over":"hover-out",{hoverApartment:this.hoverApartment,closeHandler:()=>this.closeDialog()})},pos(){this.$emit("pos",this.pos)}},mounted(){this.windowListener=()=>{clearTimeout(this.timeout),this.updateCanvasSize(),this.timeout=setTimeout(()=>{this.updateCanvasSize()},50)},window.addEventListener("resize",this.windowListener),this.updateCanvasSize()},beforeUnmount(){window.removeEventListener("resize",this.windowListener);for(const t in this.rasterImages)URL.revokeObjectURL(this.rasterImages[t])},methods:{init(){this.canvas=this.$refs.canvasMask,this.context=this.canvas.getContext("2d",{willReadFrequently:!0}),this.image=new Image,this.image.onload=()=>{this.setupDraw(),this.canvas.addEventListener("mousemove",this.throttle(this.handleMouseMove,50))},this.image.src=this.rasterImage},handleMouseMove(t){const o=this.getApartmentIndexByCursorPosition(t.offsetX,t.offsetY);this.showApartmentCard=o>=0,this.hoverApartmentIndex=o,this.pos={x:t.offsetX,y:t.offsetY,width:this.canvasWidth,height:this.canvasHeight}},clickCanvas(t){const o=this.getApartmentIndexByCursorPosition(t.offsetX,t.offsetY);o<0||this.isHoverable&&this.goToApartmentByIndex(o)},setImageData(){if(this.image&&this.image.width){this.canvas.width=this.image.width,this.canvas.height=this.image.height,this.context.drawImage(this.image,0,0,this.image.width,this.image.height),this.originalImageData=this.context.getImageData(0,0,this.canvas.width,this.canvas.height),this.imageData=this.context.getImageData(0,0,this.canvas.width,this.canvas.height);const t=this.originalImageData.data;this.apartmentIndexRasterMap={};for(let o=0;o<t.length;o+=4)this.apartmentIndexRasterMap[t[o]]=[];for(let o=3;o<t.length;o+=4)t[o]===255&&t[o-3]in this.apartmentIndexRasterMap&&this.apartmentIndexRasterMap[t[o-3]].push(o-3)}},getApartmentIndexByCursorPosition(t,o){this.cursorX=t,this.cursorY=o;const n=this.canvas.offsetWidth/this.canvas.width,r=this.canvas.offsetHeight/this.canvas.height,i=(t/n).toFixed(),s=(o/r).toFixed()*(this.canvas.width*4)+i*4,l=this.originalImageData.data[s];return this.originalImageData.data[s+3]>0?l:-1},getApartmentIndexById(t){const o=this.sceneData.find(n=>n.apartmentId===t);return o?o.index:-1},highlightApartments(){this.getApartmentsInRaster().forEach(o=>{if(o.index>=0){const n=this.getApartmentPixelsByIndex(o.index),r=this.getApartmentIdByIndex(o.index);let i="idle";!this.hoverApartment&&this.selectedUnitId&&r===this.selectedUnitId?i="selected":this.hoverApartment&&this.hoverApartmentIndex===o.index&&(i="hover");const a=this.unitCallback?this.unitCallback(r):r;if(a){const s=this.colorCallback(a,i);if(s)for(let l=0;l<n.length;l++)this.imageData.data[n[l]]=s.r,this.imageData.data[n[l]+1]=s.g,this.imageData.data[n[l]+2]=s.b,this.imageData.data[n[l]+3]=s.a}}})},getApartmentPixelsByIndex(t){return this.originalImageData?this.apartmentIndexRasterMap[t]:!1},getApartmentIdByIndex(t){const o=this.sceneData.find(n=>n.index===t);return o&&o.apartmentId},getApartmentsInRaster(){if(this.originalImageData){const t=Object.keys(this.apartmentIndexRasterMap).map(n=>parseInt(n));return this.sceneData.filter(n=>t.includes(n.index))}else return[]},goToApartmentByIndex(t){const o=this.getApartmentIdByIndex(t);this.goToApartmentById(o)},goToApartmentById(t){const o=this.unitCallback?this.unitCallback(t):t;this.$emit("select-unit",o),o&&this.canGoToUnitCallback(o)&&this.$emit("go-to-unit",o)},setAlpha(t=0){if(!this.imageData)return;const o=this.imageData.data;for(let n=3;n<o.length;n+=4)o[n]=t},updateCanvasSize(){if(!this.$el)return!1;this.canvasWidth=this.$el.offsetWidth,this.canvasHeight=this.$el.offsetHeight},setupDraw(){this.setImageData(),this.draw()},draw(){this.setAlpha(),this.highlightApartments(),this.context&&this.imageData&&this.context.putImageData(this.imageData,0,0)},closeDialog(){this.showApartmentCard=!1}}},Se={id:"canvas"};function Ie(t,o,n,r,i,a){const s=e.resolveComponent("qi-hover-probe");return e.openBlock(),e.createElementBlock("div",Se,[e.withDirectives(e.createElementVNode("canvas",{id:"canvas-mask",ref:"canvasMask",style:e.normalizeStyle(a.canvasStyle),onClick:o[0]||(o[0]=(...l)=>a.clickCanvas&&a.clickCanvas(...l))},null,4),[[e.vShow,!n.viewModel.isRotating]]),e.createVNode(s,{ref:"hoverProbe"},null,512)])}const F=g(ve,[["render",Ie],["__scopeId","data-v-3bbbc77b"]]),xe={name:"QiApartmentChooserSvg",components:{QiHoverProbe:S},mixins:[P],props:{cdnFileResolver:{type:Function,required:!0},viewModel:{type:Object,required:!0},selectedUnitId:{type:String,default:null},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},sceneData:{type:Array,default:[]},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null}},emits:["select-unit","go-to-unit","hover-over","hover-out"],data(){return{pos:{x:0,y:0,width:0,height:0},hoverApartmentIndex:-1,svgImages:{},currentSvgImage:null,resourceLoader:new v}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled}},watch:{"viewModel.currentScene":{handler(){this.viewModel.currentScene in this.svgImages&&(this.currentSvgImage=this.svgImages[this.viewModel.currentScene])},immediate:!0},svgImages:{handler(){this.viewModel.currentScene in this.svgImages&&(this.currentSvgImage=this.svgImages[this.viewModel.currentScene])},immediate:!0},pos(){this.$emit("pos",this.pos)},hoverApartmentIndex(t,o){if(t>=0){const n=this.getApartmentByIndex(t);this.$emit("hover-over",{hoverApartment:n,closeHandler:()=>{this.hoverApartmentIndex=-1}})}else{const n=this.getApartmentByIndex(o);this.$emit("hover-out",{hoverApartment:n,closeHandler:()=>{this.hoverApartmentIndex=-1}})}}},mounted(){for(let t=1;t<=4;t++){const o=this.cdnFileResolver(`/scenedata${t}.svg`),n={};this.resourceLoader.loadJson(o).then(r=>{n.markup=r;const a=new DOMParser().parseFromString(r,"image/svg+xml").getElementsByTagName("svg")[0];n.viewBox=a.getAttribute("viewBox"),n.svgObjects=Array.from(a.querySelectorAll("*[data-index]")).map(s=>({index:parseInt(s.getAttribute("data-index")),svg:s.innerHTML})),this.svgImages={...this.svgImages,[t]:n}})}this.$refs.container.addEventListener("mousemove",this.throttle(this.handleMouseMove,50))},methods:{handleMouseMove(t){this.pos={x:t.offsetX,y:t.offsetY,width:this.$el.offsetWidth,height:this.$el.offsetHeight}},getApartmentIdByIndex(t){var o;return(o=this.sceneData.find(n=>n.index===parseInt(t)))==null?void 0:o.apartmentId},getApartmentByIndex(t){const o=this.getApartmentIdByIndex(t);return this.unitCallback?this.unitCallback(o):o},mouseEnter(t){this.isHoverable&&(this.hoverApartmentIndex=t)},mouseLeave(){this.isHoverable&&(this.hoverApartmentIndex=-1)},click(t){const o=this.getApartmentByIndex(t);this.$emit("select-unit",o),this.isHoverable&&o&&this.canGoToUnitCallback(o)?this.$emit("go-to-unit",o):this.hoverApartmentIndex=t},getGClass(t){const o=this.getApartmentIdByIndex(t),n=this.getApartmentByIndex(t);let r="idle";this.hoverApartmentIndex<0&&this.selectedUnitId&&o===this.selectedUnitId?r="selected":this.hoverApartmentIndex>=0&&this.hoverApartmentIndex===t&&(r="hover");const i=this.colorCallback(n,r);if(i){const{r:a,g:s,b:l,a:d,s:m}=i;return{strokeWidth:m!==void 0?m:2,stroke:`rgb(${a}, ${s}, ${l})`,strokeOpacity:1,fill:`rgb(${a}, ${s}, ${l})`,fillOpacity:d/255,cursor:`${this.canGoToUnitCallback(n)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}}}},_e={id:"container",ref:"container"},Ee=["viewBox"],Be=["innerHTML","onMouseenter","onMouseleave","onClick"];function Ve(t,o,n,r,i,a){const s=e.resolveComponent("qi-hover-probe");return e.openBlock(),e.createElementBlock("div",_e,[e.withDirectives(e.createElementVNode("div",{class:"svg-container",style:e.normalizeStyle({opacity:!i.currentSvgImage||!i.currentSvgImage.svgObjects?0:1})},[i.currentSvgImage&&i.currentSvgImage.svgObjects?(e.openBlock(),e.createElementBlock("svg",{key:0,viewBox:i.currentSvgImage.viewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.currentSvgImage.svgObjects,({index:l,svg:d})=>(e.openBlock(),e.createElementBlock("g",{key:l,innerHTML:d,style:e.normalizeStyle(a.getGClass(l)),onMouseenter:m=>a.mouseEnter(l),onMouseleave:m=>a.mouseLeave(l),onClick:m=>a.click(l)},null,44,Be))),128))],8,Ee)):e.createCommentVNode("",!0)],4),[[e.vShow,!n.viewModel.isRotating]]),e.createVNode(s,{ref:"hoverProbe"},null,512)],512)}const O=g(xe,[["render",Ve],["__scopeId","data-v-82a61864"]]),Ne={name:"QiApartmentChooserNavigation",inject:["i18n"],props:{canGoToUnitCallback:{type:Function,default:()=>!0},selectedUnit:{type:Object,default:null},prevUnit:{type:Object,default:null},nextUnit:{type:Object,default:null},viewModel:{type:Object,required:!0}},mounted(){window.addEventListener("keydown",this.keyNavigate)},beforeUnmount(){window.removeEventListener("keydown",this.keyNavigate)},methods:{keyNavigate(t){t.keyCode===37?this.prevUnit&&this.$emit("prev-unit"):t.keyCode===39&&this.nextUnit&&this.$emit("next-unit")}}},Ae={key:0,class:"d-none d-md-flex"};function Le(t,o,n,r,i,a){const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(s,{elevation:"1",icon:"mdi-rotate-right",class:"black darken-1",onClick:o[0]||(o[0]=l=>n.viewModel.rotateClockwise())}),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-chevron-left",class:"mr-sm-4 ml-sm-8 mr-3 ml-3 black darken-1",disabled:!n.prevUnit,onClick:o[1]||(o[1]=l=>t.$emit("prev-unit"))},null,8,["disabled"]),e.createVNode(s,{color:"success darken-2",elevation:"1",rounded:"",plain:"",disabled:!n.selectedUnit||!n.canGoToUnitCallback(n.selectedUnit),onClick:o[2]||(o[2]=l=>t.$emit("go-to-unit",n.selectedUnit))},{default:e.withCtx(()=>[n.selectedUnit&&n.canGoToUnitCallback(n.selectedUnit)?(e.openBlock(),e.createElementBlock("span",Ae,e.toDisplayString(a.i18n.getLabel("see-apartment"))+"  ",1)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(n.selectedUnit&&"title"in n.selectedUnit?n.selectedUnit.title:"-"),1)]),_:1},8,["disabled"]),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-chevron-right",class:"mr-sm-8 ml-sm-4 mr-3 ml-3 black darken-1",disabled:!n.nextUnit,onClick:o[3]||(o[3]=l=>t.$emit("next-unit"))},null,8,["disabled"]),e.createVNode(s,{elevation:"1",plain:"",icon:"mdi-rotate-left",class:"black darken-1",onClick:o[4]||(o[4]=l=>n.viewModel.rotateCounterClockwise())})])}const q=g(Ne,[["render",Le],["__scopeId","data-v-129ef905"]]);class T{constructor(o){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 Q{constructor(o,n,r,i){this._rotator=o,this._direction=n,this._frameIndex=r,this._sceneCount=i}get atEnd(){return this._sceneCount===0}get frameIndex(){return this._frameIndex}nextFrame(){const o=this._rotator.clampFrameIndex(this._frameIndex+this._direction),n=this._rotator.isCardinalFrame(o)?this._sceneCount-1:this._sceneCount;return new Q(this._rotator,this._direction,o,n)}}class ee{constructor(o,n){this._cardinalFrames=o,this._totalFrameCount=n}start(o,n,r){const i=this.startFrameIndexForScene(n);return new Q(this,o,i,r)}isCardinalFrame(o){return this._cardinalFrames.includes(o)}clampFrameIndex(o){return(this._totalFrameCount+o)%this._totalFrameCount}startFrameIndexForScene(o){return this._cardinalFrames[o]}}const te=64,V=4,Me=120,De={name:"QiApartmentChooserRotator",props:{viewModel:{type:Object,required:!0},build:{type:String,default:""},cdnFileResolver:{type:Function,required:!0},cardinalFrames:{type:Array,required:!0}},emits:["loaded","error","progress"],data(){const t=this.createFrames();return{loadTracker:new T(t.length).onLoadFinished(()=>this.$emit("loaded")).onLoadProgress(o=>this.$emit("progress",o)).onLoadError(()=>this.$emit("error")),sceneRotator:new ee(this.cardinalFrames,te),images:t,isPreloaded:!1}},computed:{activeFrame(){return this.images.find(t=>t.show)}},watch:{"viewModel.currentScene"(t,o){const n=this.getDirection(o,t),r=this.getSceneCountBetween(o,t);this.rotateInDirection(o,n,r)}},created(){this.rotateComplete()},methods:{rotateInDirection(t,o,n){this.viewModel.isRotating||(this.viewModel.isRotating=!0,this.rotationStep(this.sceneRotator.start(o,t%V,n)))},rotationStep(t){setTimeout(()=>{this.images[t.frameIndex].show=!1;const o=t.nextFrame();this.images[o.frameIndex].show=!0,o.atEnd?this.rotateComplete():window.requestAnimationFrame(()=>this.rotationStep(o))},1e3/Me)},rotateComplete(){const t=this.sceneRotator.startFrameIndexForScene(this.viewModel.currentScene%V);t in this.images&&(this.images[t].show=!0),this.viewModel.isRotating=!1},createFrames(){const t=[];for(let o=0;o<te;o++){const{sourceSet:n,defaultPath:r}=this.frameImageSource(o);t.push({index:o,sourceSet:n,defaultPath:r,show:!1})}return t},frameImageSource(t){const o=("0000"+(t+1)).slice(-4),n=this.build?`?v=${this.build}`:"",r=[`${this.cdnFileResolver(`/480/${o}.jpg${n}`)} 480w`,`${this.cdnFileResolver(`/960/${o}.jpg${n}`)} 960w`,`${this.cdnFileResolver(`/1280/${o}.jpg${n}`)} 1280w`].join(","),i=this.cdnFileResolver(`/480/${o}.jpg${n}`);return{sourceSet:r,defaultPath:i}},getSceneCountBetween(t,o){const n=V/2,r=Math.abs(t-o);return r>n?V-r:r},getDirection(t,o){if(t===o)return 0;const r=Math.abs(t-o)<V/2;return r&&t<o||!r&&t>o?1:-1}}},Fe={key:0,class:"fill-parent d-flex justify-center align-center blue-grey lighten-5"},Oe={key:1,class:"frame-container"},Te={class:"frame-image"},Re=["srcset","type"],Ue=["src"],$e={key:2,id:"image-stack",class:"frame-container"},je=["alt"],ze=["srcset"],He=["src"];function Pe(t,o,n,r,i,a){const s=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",null,[i.loadTracker.isError?(e.openBlock(),e.createElementBlock("div",Fe,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):i.isPreloaded?(e.openBlock(),e.createElementBlock("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.images,l=>(e.openBlock(),e.createElementBlock("picture",{key:l.index,alt:l.index,class:e.normalizeClass({"frame-image":!0,show:l.show})},[e.createElementVNode("source",{srcset:l.sourceSet,type:"image/jpeg"},null,8,ze),e.createElementVNode("img",{src:l.defaultPath,alt:"Building image",onLoad:o[2]||(o[2]=d=>i.loadTracker.partLoaded()),onError:o[3]||(o[3]=d=>i.loadTracker.errorDetected())},null,40,He)],10,je))),128))])):(e.openBlock(),e.createElementBlock("div",Oe,[e.createElementVNode("picture",Te,[e.createElementVNode("source",{srcset:a.activeFrame.sourceSet,type:a.activeFrame.type},null,8,Re),e.createElementVNode("img",{src:a.activeFrame.defaultPath,onLoad:o[0]||(o[0]=l=>i.isPreloaded=!0),onError:o[1]||(o[1]=l=>i.loadTracker.errorDetected())},null,40,Ue)])]))])}const Y=g(De,[["render",Pe],["__scopeId","data-v-e6481f8e"]]),qe={name:"FloatingCard",props:{pos:{type:Object,required:!0},isHoverable:Boolean},computed:{q(){const t=this.pos.x<=this.pos.width/2?"left":"right";return`${this.pos.y<=this.pos.height/2?"top":"bottom"}-${t}`}}};function Qe(t,o,n,r,i,a){const s=e.resolveComponent("v-dialog"),l=e.resolveComponent("v-fade-transition");return e.openBlock(),e.createBlock(l,{origin:a.q.replace("-"," ")+" "+n.pos.x+" "+n.pos.y},{default:e.withCtx(()=>[n.isHoverable?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["floating-card",a.q]),style:e.normalizeStyle({left:`${n.pos.x}px`,top:`${n.pos.y}px`,pointerEvents:"none"})},[e.renderSlot(t.$slots,"default",{isHoverable:n.isHoverable},void 0,!0)],6)):(e.openBlock(),e.createBlock(s,{key:1,value:!0,width:"auto","onClick:outside":o[0]||(o[0]=d=>t.$emit("outside",d))},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{isHoverable:n.isHoverable},void 0,!0)]),_:3}))]),_:3},8,["origin"])}const N=g(qe,[["render",Qe],["__scopeId","data-v-b74de171"]]),Ye={name:"QiZoomBox",props:{desktop:{type:Boolean,default:!0},mobile:{type:Boolean,default:!0},maxScale:{type:Number,default:10},consumeMouseClickWhenMoved:{type:Boolean,default:!0},consumeMouseUpWhenMoved:{type:Boolean,default:!0}},data(){return{zoom:100,originX:0,originY:0,moving:!1,scaling:!1,lastEvent:void 0,moved:!1}},computed:{transform(){return`translateX(${this.originX}px) translateY(${this.originY}px) scale(${this.scale})`},scale(){return this.zoom/100},actualMaxScale(){return this.maxScale*100}},watch:{scale(){this.emitUpdate()},originX(){this.emitUpdate()},originY(){this.emitUpdate()},desktop(){this.desktop?this.addDesktopHandlers():this.removeDesktopHandlers()},mobile(){this.mobile?this.addMobileHandlers():this.removeMobileHandlers()}},mounted(){this.desktop&&this.addDesktopHandlers(),this.mobile&&this.addMobileHandlers()},beforeUnmount(){this.desktop&&this.removeDesktopHandlers(),this.mobile&&this.removeMobileHandlers()},methods:{addDesktopHandlers(){this.$refs.box.addEventListener("wheel",this.wheelHandler,{capture:!0}),this.$refs.box.addEventListener("mousedown",this.mouseDownHandler,{capture:!0}),this.$refs.box.addEventListener("mousemove",this.mouseMoveHandler,{capture:!0}),window.addEventListener("mouseup",this.mouseUpHandler,{capture:!0}),window.addEventListener("click",this.mouseClickHandler,{capture:!0})},addMobileHandlers(){this.$refs.box.addEventListener("touchstart",this.touchStartHandler,{capture:!0}),this.$refs.box.addEventListener("touchmove",this.touchMoveHandler,{capture:!0}),window.addEventListener("touchend",this.touchEndHandler,{capture:!0}),window.addEventListener("touchcancel",this.touchEndHandler,{capture:!0})},removeDesktopHandlers(){this.$refs.box.removeEventListener("wheel",this.wheelHandler,{capture:!0}),this.$refs.box.removeEventListener("mousedown",this.mouseDownHandler,{capture:!0}),this.$refs.box.removeEventListener("mousemove",this.mouseMoveHandler,{capture:!0}),window.removeEventListener("mouseup",this.mouseUpHandler,{capture:!0}),window.removeEventListener("click",this.mouseClickHandler,{capture:!0})},removeMobileHandlers(){this.$refs.box.removeEventListener("touchstart",this.touchStartHandler,{capture:!0}),this.$refs.box.removeEventListener("touchmove",this.touchMoveHandler,{capture:!0}),window.removeEventListener("touchend",this.touchEndHandler,{capture:!0}),window.removeEventListener("touchcancel",this.touchEndHandler,{capture:!0})},wheelHandler(t){const{x:o,y:n}=this.getOffsetCoordinates(t);this.adjustZoom(-t.deltaY/10,o,n),t.preventDefault()},mouseDownHandler(t){this.moving=!0,this.moved=!1,this.lastEvent=t},mouseMoveHandler(t){if(this.moving){const{x:o,y:n}=this.getOffsetCoordinates(t),{x:r,y:i}=this.getOffsetCoordinates(this.lastEvent),a={x:o-r,y:n-i};this.adjustTranslateX(a.x),this.adjustTranslateY(a.y),this.moved=!0,this.lastEvent=t}},mouseUpHandler(t){this.moving&&this.moved&&this.consumeMouseUpWhenMoved&&(t.preventDefault(),t.stopImmediatePropagation())},mouseClickHandler(t){this.moving&&(this.moved&&this.consumeMouseClickWhenMoved&&(t.preventDefault(),t.stopImmediatePropagation()),this.moving=!1)},touchStartHandler(t){this.moving=t.touches.length===1,this.scaling=t.touches.length===2,this.lastEvent=t},touchMoveHandler(t){if(this.moving){const{x:o,y:n}=this.getOffsetCoordinates(t.touches[0]),{x:r,y:i}=this.getOffsetCoordinates(this.lastEvent.touches[0]),a={x:o-r,y:n-i};this.adjustTranslateX(a.x),this.adjustTranslateY(a.y)}else if(this.scaling&&t.touches.length===2){const{x:o,y:n}=this.getOffsetCoordinates(t.touches[0]),{x:r,y:i}=this.getOffsetCoordinates(this.lastEvent.touches[0]),{x:a,y:s}=this.getOffsetCoordinates(t.touches[1]),{x:l,y:d}=this.getOffsetCoordinates(this.lastEvent.touches[1]),m=Math.hypot(r-l,i-d),p=Math.hypot(o-a,n-s),b=(a+o)/2,c=(s+n)/2;this.adjustZoom(p-m,b,c)}this.lastEvent=t},touchEndHandler(){this.moving=!1,this.scaling=!1},getOffsetCoordinates(t){const{left:o,top:n}=this.$refs.box.getBoundingClientRect();return{x:t.clientX-o,y:t.clientY-n}},adjustTranslateX(t){const o=this.$refs.box.clientWidth,n=o*this.scale;this.originX=Math.max(Math.min(0,this.originX+t),-(n-o))},adjustTranslateY(t){const o=this.$refs.box.clientHeight,n=o*this.scale;this.originY=Math.max(Math.min(0,this.originY+t),-(n-o))},adjustZoom(t,o,n){const r=this.$refs.box.clientWidth,i=this.$refs.box.clientHeight,a=r*this.scale,s=i*this.scale;this.zoom=Math.min(Math.max(100,this.zoom+t),this.actualMaxScale);const l=r*this.scale,d=i*this.scale,m=l-a,p=d-s;this.originX-=o/r*m,this.originY-=n/i*p,this.adjustTranslateX(0),this.adjustTranslateY(0)},emitUpdate(){this.$emit("update",{scale:this.scale,x:this.originX,y:this.originY,resolve:(t,o)=>{const n=this.$refs.box.clientWidth,r=this.$refs.box.clientHeight,i=this.originX/-this.scale,a=this.originY/-this.scale,s=i+n/this.scale,l=a+r/this.scale,d=t/n*(s-i)+i,m=o/r*(l-a)+a;return{x:d,y:m}}})}}},We={ref:"box",class:"zoom-box-container"};function Je(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",We,[e.createElementVNode("div",{style:e.normalizeStyle({"transform-origin":"top left",transform:a.transform}),class:"zoom-box"},[e.renderSlot(t.$slots,"default",{},void 0,!0)],4)],512)}const A=g(Ye,[["render",Je],["__scopeId","data-v-83bfd28a"]]),W=4;function oe(t){return t<W?t+1:1}function Ge(t){return t>1?t-1:W}class ne{constructor(o){this._state={isRotating:!1,currentScene:o}}get isRotating(){return this._state.isRotating}set isRotating(o){this._state.isRotating=o}get navigator(){return this._navigator}get sceneModel(){return this._sceneModel}unlessRotatingDo(o){this.isRotating||o()}get currentScene(){return this._state.currentScene}set currentScene(o){this._state.currentScene=o}rotateCounterClockwise(){this.unlessRotatingDo(()=>{this.currentScene=oe(this.currentScene)})}rotateClockwise(){this.unlessRotatingDo(()=>{this.currentScene=Ge(this.currentScene)})}}const Xe={interior:"Interiør","see-a-selection-of-the-options-in-the-project":"Se et utvalg av tilvalgsmulighetene i prosjektet.","floor-plan":"Planløsning","all-illustrations-are-indicative-deviations-may-occur":{nb:"Alle illustrasjoner er veiledende. Avvik kan forekomme.",en:"All illustrations are indicative. Discrepancies may exist."},"read-more-here":"Les mer her","i-understand":{nb:"Jeg forstår",en:"I understand"},share:"Share","share-to-facebook":"Share to Facebook","share-to-linkedin":"Share to Linkedin","share-to-twitter":"Share to Twitter","share-via-email":"Share via Email","copy-link":"Copy link","virtual-view":"Virtuell Visning","slide-show":"Slide Show",room:"Room",floor:"Floor","see-apartments":"See apartments","see-apartment":"See apartment","click-and-drag-to-look-around":{en:"Click and drag to look around",nb:"Klikk og dra for å se deg rundt"},"click-on-the-cricles-to-move-around":{en:"Click on the circles to move around",nb:"Klikk på sirkelene for å gå rundt"},"use-the-mouse-wheel-to-zoom":{en:"Use the mouse wheel to zoom",nb:"Bruk mushjulet for å zoome"},"you-can-also-use-the-arrow-keys-to-move-around":{en:"You can also use the arrow keys to move around",nb:"Du kan også bruke pilene på tastaturet for å gå rundt"},"tap-and-drag-to-look-around":{en:"Tap and drag to look around",nb:"Trykk og dra for å se deg rundt"},"tap-on-the-circles-to-move-around":{en:"Tap on the circles to move around",nb:"Trykk på sirkelene for å gå rundt"},"use-two-fingers-to-zoom":{en:"Use two fingers to zoom",nb:"Bruk to fingre for å zoome"},"dont-show-again":{en:"Don't Show Again",nb:"Ikke vis igjen"}};class k{constructor(o,n){this._labels={...Xe,...o||{}},this._language=n||"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 n in o)if(o[n])return o[n];return""}}const Ze=4,Ke=[0,16,32,48],et={name:"QiApartmentChooser",components:{QiApartmentChooserRaster:F,QiApartmentChooserSvg:O,QiApartmentChooserNavigation:q,QiApartmentChooserRotator:Y,QiFloatingCard:N,QiHoverProbe:S,QiZoomBox:A},provide(){return{i18n:this.i18n?new k(this.i18n.labels,this.i18n.language):new k}},emits:["select-unit","go-to-unit","nav-unit","hover-over-unit","hover-out-unit","initialized"],props:{i18n:{type:Object,default:void 0},showCards:{type:Boolean,default:!0},build:{type:String,default:""},buildingSceneDataResolver:{type:Function,default:null},buildingScenesByApartmentResolver:{type:Function,default:null},cdnFileResolver:{type:Function,required:!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},unitCallback:{type:Function,default:t=>t},canGoToUnitCallback:{type:Function,default:()=>!0},selectedUnitId:{type:String,default:null},nextUnit:{type:Object,default:null},prevUnit:{type:Object,default:null},drawObserver:{type:[Object,Array,String,Number,Boolean],default:null},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1}},data(){return{loadState:{isReady:!1,isError:!1,progress:void 0},scenesByApartment:null,sceneData:null,scenes:null,viewModel:void 0,resourceLoader:new v,pos:{x:0,y:0,width:0,height:0},closeHandler:void 0,hoverApartment:void 0}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},selectedUnit(){return this.unitCallback?this.unitCallback(this.selectedUnitId):this.selectedUnitId},overlayComponent(){return this.useSvg?O:F}},watch:{selectedUnitId:{handler(){if(this.selectedUnitId&&this.viewModel){const t=this.scenesByApartment[this.selectedUnitId];t&&(this.viewModel.currentScene=t)}},immediate:!0}},async mounted(){let t=null;try{t=await this.resourceLoader.loadJson(this.cdnFileResolver("/apartmentChooser.json"))}catch{console.info("apartmentChooser.json not found")}const o=t&&t.startScene!==void 0?t.startScene:Ze;this.scenes=t&&t.scenes!==void 0?t.scenes:Ke,this.sceneData=t&&t.sceneData!==void 0?t.sceneData.map(i=>({apartmentId:i.apartmentID,index:i.index})):this.buildingSceneDataResolver?await this.buildingSceneDataResolver():[],this.scenesByApartment=t&&t.sceneData!==void 0?t.sceneData.map(i=>{const a=i.bestScene===0?4:i.bestScene;return{unitId:i.apartmentID,scene:a}}).reduce((i,a)=>({...i,[a.unitId]:a.scene}),{}):this.buildingScenesByApartmentResolver?await this.buildingScenesByApartmentResolver():[];const n=(i,a="unitId")=>{let s=o,l=[];for(let d=0;d<W;d++)l.push(s),s=oe(s);return i.sort((d,m)=>{const p=l.findIndex(c=>c===this.scenesByApartment[d[a]]),b=l.findIndex(c=>c===this.scenesByApartment[m[a]]);return p<b?-1:p>b?1:0}),i},r=i=>{this.viewModel=new ne(i)};this.$emit("initialized",{scene:o,scenes:this.scenes,sceneData:this.sceneData,scenesByApartment:this.scenesByApartment,unitsSceneSort:n,initialize:r})},methods:{onPos(t){this.pos=t},hoverOver({hoverApartment:t,closeHandler:o}){this.hoverApartment=t,this.closeHandler=o,this.$emit("hover-over-unit",t)},hoverOut({hoverApartment:t,closeHandler:o}){this.hoverApartment=null,this.closeHandler=o,this.$emit("hover-out-unit",t)}}},tt={key:0},ot={class:"interactive-viewer"},nt={class:"fill-parent"},it={key:0},at={key:1,class:"navigation"},rt={key:2};function st(t,o,n,r,i,a){const s=e.resolveComponent("qi-apartment-chooser-rotator"),l=e.resolveComponent("qi-zoom-box"),d=e.resolveComponent("qi-floating-card"),m=e.resolveComponent("qi-apartment-chooser-navigation"),p=e.resolveComponent("v-progress-linear"),b=e.resolveComponent("qi-hover-probe");return i.viewModel?(e.openBlock(),e.createElementBlock("div",tt,[e.createElementVNode("div",ot,[e.createElementVNode("div",nt,[e.createVNode(l,{desktop:i.loadState.isReady&&n.interactiveDesktop,mobile:i.loadState.isReady&&n.interactiveMobile},{default:e.withCtx(()=>[e.createVNode(s,{"cdn-file-resolver":n.cdnFileResolver,"view-model":i.viewModel,"cardinal-frames":i.scenes,build:n.build,onProgress:o[0]||(o[0]=c=>i.loadState.progress=c),onLoaded:o[1]||(o[1]=c=>i.loadState.isReady=!0),onError:o[2]||(o[2]=c=>i.loadState.isError=!0)},null,8,["cdn-file-resolver","view-model","cardinal-frames","build"]),i.loadState.isReady?(e.openBlock(),e.createElementBlock("div",it,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.overlayComponent),{"cdn-file-resolver":n.cdnFileResolver,"view-model":i.viewModel,"selected-unit-id":n.selectedUnitId,"scene-data":i.sceneData,"color-callback":n.colorCallback,"unit-callback":n.unitCallback,"can-go-to-unit-callback":n.canGoToUnitCallback,"draw-observer":n.drawObserver,onSelectUnit:o[3]||(o[3]=c=>t.$emit("select-unit",c)),onGoToUnit:o[4]||(o[4]=c=>t.$emit("go-to-unit",c)),onHoverOver:a.hoverOver,onHoverOut:a.hoverOut,onPos:a.onPos},{default:e.withCtx(c=>[e.renderSlot(t.$slots,"default",e.normalizeProps(e.guardReactiveProps(c)),void 0,!0)]),_:3},40,["cdn-file-resolver","view-model","selected-unit-id","scene-data","color-callback","unit-callback","can-go-to-unit-callback","draw-observer","onHoverOver","onHoverOut","onPos"]))])):e.createCommentVNode("",!0)]),_:3},8,["desktop","mobile"]),i.hoverApartment&&n.showCards?(e.openBlock(),e.createBlock(d,{key:0,"is-hoverable":a.isHoverable,pos:i.pos,onOutside:i.closeHandler},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{unit:i.hoverApartment,canGoToUnit:n.canGoToUnitCallback(i.hoverApartment),goToUnit:()=>n.canGoToUnitCallback(i.hoverApartment)&&t.$emit("go-to-unit",i.hoverApartment),pos:i.pos,isHoverable:a.isHoverable,close:i.closeHandler},void 0,!0)]),_:3},8,["is-hoverable","pos","onOutside"])):e.createCommentVNode("",!0),i.loadState.isReady?(e.openBlock(),e.createElementBlock("div",at,[e.createVNode(m,{"can-go-to-unit-callback":n.canGoToUnitCallback,"selected-unit":a.selectedUnit,"prev-unit":n.prevUnit,"next-unit":n.nextUnit,"view-model":i.viewModel,onGoToUnit:o[5]||(o[5]=c=>t.$emit("go-to-unit",c)),onPrevUnit:o[6]||(o[6]=c=>t.$emit("nav-unit",n.prevUnit)),onNextUnit:o[7]||(o[7]=c=>t.$emit("nav-unit",n.nextUnit))},null,8,["can-go-to-unit-callback","selected-unit","prev-unit","next-unit","view-model"])])):i.loadState.isError?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",rt,[e.createVNode(p,{indeterminate:!i.loadState.progress,value:i.loadState.progress},null,8,["indeterminate","value"])]))])]),e.createVNode(b,{ref:"hoverProbe"},null,512)])):e.createCommentVNode("",!0)}const ie=g(et,[["render",st],["__scopeId","data-v-3a1121f3"]]),lt="data:image/png;base64,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",dt={name:"QiNorthDirection",props:{longitude:{type:Number,default:()=>0}},data(){return{compassNeedle:lt}},computed:{needleRotation(){return{transform:`rotate(${90-this.longitude}deg)`,transition:" transform 0.5s ease-in"}}}};function ct(t,o,n,r,i,a){const s=e.resolveComponent("v-img");return e.openBlock(),e.createBlock(s,{src:i.compassNeedle,style:e.normalizeStyle(a.needleRotation)},null,8,["src","style"])}const L=g(dt,[["render",ct]]);function J(t){return t.toLocaleString("en-no",{month:"short",day:"numeric"})}const mt=e.defineComponent({setup(){},name:"QiBuildingChooserSunSimControl",props:{modelValue:{type:Number,required:!0},dateSelector:{type:Object,required:!0},isLoading:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{currentValue:this.modelValue,currentDate:null}},computed:{currentValueString(){const t=Math.floor(this.currentValue/2).toString().padStart(2,"0"),o=this.currentValue%2===0?"00":"30";return`${t}:${o}`},dates(){return this.dateSelector.dates.map(J)},selectedDate:{get(){return J(this.dateSelector.selectedDate)},set(t){this.dateSelector.selectIndex(this.dates.indexOf(t))}}},watch:{currentValue(t){this.$emit("update:modelValue",t)},modelValue(t){this.currentValue=Math.floor(t)},dates:{handler(t){this.currentDate=J(this.dateSelector.selectedDate)},immediate:!0},currentDate(t){this.dateSelector.selectIndex(this.dates.indexOf(t))}},methods:{}}),ht={class:"sunsim-bar-wrapper"},pt={class:"sunsim-date d-flex align-center pl-5 pr-5"},ut={key:1,class:"text-center text-body-1"},gt={class:"sunsim-wrapper d-flex align-center px-3"},ft={class:"sunsim-time-label text-body-1 font-weight-normal ml-2"};function bt(t,o,n,r,i,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-select"),d=e.resolveComponent("v-progress-linear"),m=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",ht,[e.createElementVNode("div",pt,[e.createVNode(s,{color:"black",class:"mr-2",icon:"mdi-calendar-blank-outline"}),t.dateSelector.hasMultipleDates?(e.openBlock(),e.createBlock(l,{key:0,modelValue:t.currentDate,"onUpdate:modelValue":o[0]||(o[0]=p=>t.currentDate=p),items:t.dates,density:"compact",variant:"underlined","hide-details":"",class:"day-selector"},null,8,["modelValue","items"])):(e.openBlock(),e.createElementBlock("span",ut,e.toDisplayString(t.selectedDate),1))]),e.createElementVNode("div",gt,[e.createElementVNode("span",ft,e.toDisplayString(t.currentValueString),1),e.createVNode(s,{medium:"",class:"ml-2 mr-2 icon"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1}),t.isLoading?(e.openBlock(),e.createBlock(d,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(m,{key:1,modelValue:t.currentValue,"onUpdate:modelValue":o[1]||(o[1]=p=>t.currentValue=p),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"]))])])}const R=g(mt,[["render",bt],["__scopeId","data-v-1fba3edd"]]),wt=e.defineComponent({setup(){},name:"QiBuildingChooserSceneImageStack",props:{imageUrls:{type:Array,required:!0},activeIndex:{type:Number,required:!0}},emits:["resize","ready","preloaded","reset"],data(){return{state:"init",activeStates:["preloaded","loaded"],loadTracker:new T(0)}},watch:{imageUrls(t){this.$emit("reset"),this.loadImages(t)}},mounted(){this.loadImages(this.imageUrls),new ResizeObserver(t=>{window.requestAnimationFrame(()=>{const o=t[0].contentRect.width,n=t[0].contentRect.height;this.$emit("resize",{width:o,height:n})})}).observe(this.$refs.baseImage)},methods:{onPreloaded(){this.state="preloaded",this.$emit("preloaded")},loadImages(t){this.state="init",this.$refs.baseImage.src=t[0],this.loadTracker=new T(t.length).onLoadFinished(()=>{this.state="loaded",this.$emit("ready")})}}}),kt={key:0},yt=["src"];function Ct(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("img",{ref:"baseImage",class:"image-instance zero",style:{opacity:1,borderRadius:50},onLoad:o[0]||(o[0]=(...s)=>t.onPreloaded&&t.onPreloaded(...s))},null,544),t.state==="preloaded"||t.state==="loaded"?e.withDirectives((e.openBlock(),e.createElementBlock("div",kt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.imageUrls,(s,l)=>(e.openBlock(),e.createElementBlock("img",{key:l,class:e.normalizeClass({"image-instance":!0,active:l===t.activeIndex}),src:s,onLoad:o[1]||(o[1]=d=>t.loadTracker.partLoaded())},null,42,yt))),128)),e.createTextVNode(" Here ")],512)),[[e.vShow,t.state==="loaded"]]):e.createCommentVNode("",!0)])}const U=g(wt,[["render",Ct],["__scopeId","data-v-fad48118"]]),vt="buildingChooser.json",St=180;class G{constructor(o){this._cdnFileResolver=o,this._resourceLoader=new v}constructFileUrl(o){return this._cdnFileResolver?this._cdnFileResolver(`/${o}`):null}loadConfigFile(){const o=this.constructFileUrl(vt);return o?this._resourceLoader.loadJson(o):null}loadBuildingMapImage(o){const n=this.constructFileUrl(o.lookupFilename);return n?this._resourceLoader.loadImage(n):null}getViewLongitude(o){return o.cameraRotation&&o.cameraRotation.y+270}getBuildingData(o){const n=o?o.buildings:[],r=n.map(a=>a.id),i=n.map(a=>({id:a.id,url:this.constructFileUrl(a.overlayFilename)}));return{buildingIds:r,buildingOverlays:i}}getBackgroundImageData(o){return"days"in o?this.processMultipleDays(o.days):[this.processTimeSamples(St,o.timeSamples)]}processMultipleDays(o){return o.map(n=>this.processTimeSamples(n.dayOfYear,n.timeSamples))}processTimeSamples(o,n){return{urls:n.map(i=>this.constructFileUrl(i.filename)),referenceDate:this.makeReferenceDate(o)}}makeReferenceDate(o){const n=new Date(0);return n.setUTCDate(o),n}async loadBuildingChooser(){try{const o=await this.loadConfigFile();if(o){const n=await this.loadBuildingMapImage(o);if(n){const r=this.getViewLongitude(o),{buildingIds:i,buildingOverlays:a}=this.getBuildingData(o),s=this.getBackgroundImageData(o);return{mapImage:n,viewLongitude:r,buildingIds:i,buildingOverlays:a,backgrounds:s}}}return null}catch{return null}}}class _{static empty(){return new _([])}constructor(o){this._buildingIds=o}getBuildingId(o,n,r){const i=this._getBuildingIndex(o,n,r);if(i!==void 0)return this._buildingIds[i]}_getBuildingIndex(o,n,r){const[i,a,s,l]=o.getPixel(n,r);if(l===255&&i===a&&a===s)return i}}class E{static empty(){return new E(null)}constructor(o){this._mapImage=o,this._context=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,n){try{return this._context?this._context.getImageData(o,n,1,1).data:[0,0,0,0]}catch{return[0,0,0,0]}}}const It=new Date(0);class M{static empty(){return new M([{referenceDate:It,urls:[]}])}constructor(o){this._imagesByDay=o,this._state={selectedIndex:0}}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 xt=e.defineComponent({setup(){e.ref({})},name:"QiBuildingChooserSvg",components:{QiBuildingChooserSunSimControl:R,QiBuildingChooserSceneImageStack:U,QiNorthDirection:L,QiFloatingCard:N,QiHoverProbe:S,QiZoomBox:A},emits:["go-to-building","hover-over-building","hover-out-building"],provide(){return{i18n:this.i18n?new k(this.i18n.labels,this.i18n.language):new k}},props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{type:String,default:null},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{type:String,default:""}},data(){return{sceneState:{preloaded:!1,ready:!1},canvasDimensions:{width:0,height:0},pos:{x:0,y:0,width:0,height:0},pickerData:void 0,hoverBuildingId:void 0,halfHourMark:new Date().getHours()*2+(new Date().getMinutes()<30?0:1),error:!1,resourceLoader:new v,svgObjects:void 0,svgViewBox:"0 0 0 0"}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},hoverBuilding(){return this.getBuildingData(this.hoverBuildingId)}},watch:{buildingChooserTimeOfDay:{handler(){if(this.buildingChooserTimeOfDay){const[t,o,n]=/^(\d\d):(\d\d)$/.exec(this.buildingChooserTimeOfDay),r=parseInt(n);this.halfHourMark=parseInt(o)*2+(r<15?0:r>45?2:1)}},immediate:!0},hoverBuildingId(t,o){t?this.$emit("hover-over-building",this.getBuildingData(t)):this.$emit("hover-out-building",this.getBuildingData(o))}},async mounted(){const o=await new G(this.cdnFileResolver).loadBuildingChooser();if(o){this.canvasRaster=new E(o.mapImage),this.buildingMap=new _(o.buildingIds),this.daysOfYear=new M(o.backgrounds),this.pickerData={buildingOverlays:o.buildingOverlays,sceneLongitude:o.viewLongitude};const n=[];for(let{id:r,url:i}of o.buildingOverlays)this.resourceLoader.loadJson(i.replace(".png",".svg")).then(a=>{const l=new DOMParser().parseFromString(a,"image/svg+xml").getElementsByTagName("svg")[0];this.svgViewBox=l.getAttribute("viewBox"),n.push({id:r,svg:l.innerHTML})});this.svgObjects=n}else this.error=!0},methods:{resizeScene({width:t,height:o}){this.canvasDimensions.width=t,this.canvasDimensions.height=o},sceneReset(){this.sceneState={preloaded:!1,ready:!1}},getBuildingData(t){return this.buildingCallback?this.buildingCallback(t):t},getColor(t){return this.colorCallback(this.getBuildingData(t),t===this.hoverBuildingId?"hover":"idle")},getGClass(t){const o=this.getBuildingData(t),n=this.colorCallback(o,t===this.hoverBuildingId?"hover":"idle"),r=[];return t===this.hoverBuildingId?r.push("hover"):r.push("idle"),n&&this.canGoToBuildingCallback(o)?r.push("clickable"):r.push("restricted"),r.join(" ")},getGStyle(t){const o=this.getBuildingData(t),n=this.colorCallback(o,t===this.hoverBuildingId?"hover":"idle");if(n){const{r,g:i,b:a,a:s,s:l}=n;return{strokeWidth:l!==void 0?l:2,stroke:`rgb(${r}, ${i}, ${a})`,strokeOpacity:1,fill:`rgb(${r}, ${i}, ${a})`,fillOpacity:s/255,cursor:`${this.canGoToBuildingCallback(o)?"cursor":"default"} !important`}}else return{strokeWidth:0,stroke:"white",strokeOpacity:0,fill:"white",fillOpacity:0,cursor:"default !important"}},onBuildingMouseOver(t,o){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height},this.hoverBuildingId=o,this.$emit("hover-over-building",this.getBuildingData(o)))},onBuildingMouseOut(t,o){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height},this.hoverBuildingId=void 0,this.$emit("hover-out-building",this.getBuildingData(o)))},onBuildingMouseMove(t){this.isHoverable&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height})},onBuildingClick(t){this.hoverBuildingId=t,this.isHoverable&&this.hoverBuilding&&this.canGoToBuildingCallback(this.hoverBuilding)&&this.$emit("go-to-building",this.hoverBuilding)}}}),_t={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Et={class:"image-instances"},Bt={key:0},Vt={class:"svg-container"},Nt=["viewBox"],At=["innerHTML","data-building-id","onMouseover","onMouseout","onMousemove","onClick"],Lt=["innerHTML"];function Mt(t,o,n,r,i,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("qi-building-chooser-scene-image-stack"),d=e.resolveComponent("qi-zoom-box"),m=e.resolveComponent("qi-north-direction"),p=e.resolveComponent("qi-building-chooser-sun-sim-control"),b=e.resolveComponent("qi-floating-card"),c=e.resolveComponent("qi-hover-probe");return t.error?(e.openBlock(),e.createElementBlock("div",_t,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):t.pickerData?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`height: ${t.canvasDimensions.height}px; position: relative`),class:"image-container"},[e.createVNode(d,{desktop:t.interactiveDesktop,mobile:t.interactiveMobile},{default:e.withCtx(()=>[e.createElementVNode("div",Et,[e.createVNode(l,{"image-urls":t.daysOfYear.imageUrls,"active-index":t.halfHourMark,onResize:t.resizeScene,onPreloaded:o[0]||(o[0]=h=>t.sceneState.preloaded=!0),onReady:o[1]||(o[1]=h=>t.sceneState.ready=!0),onReset:t.sceneReset},null,8,["image-urls","active-index","onResize","onReset"]),t.svgObjects?e.withDirectives((e.openBlock(),e.createElementBlock("div",Bt,[e.createElementVNode("div",Vt,[(e.openBlock(),e.createElementBlock("svg",{viewBox:t.svgViewBox},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.svgObjects,({id:h,svg:f},w)=>(e.openBlock(),e.createElementBlock("g",{key:w,innerHTML:f,"data-building-id":h,class:e.normalizeClass(t.getGClass(h)),style:e.normalizeStyle(t.getGStyle(h)),onMouseover:y=>t.onBuildingMouseOver(y,h),onMouseout:y=>t.onBuildingMouseOut(y,h),onMousemove:y=>t.onBuildingMouseMove(y,h),onClick:y=>t.onBuildingClick(h)},null,46,At))),128))],8,Nt))])],512)),[[e.vShow,t.sceneState.preloaded]]):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:t.customOverlayContent},null,8,Lt),[[e.vShow,t.sceneState.preloaded]])])]),_:1},8,["desktop","mobile"]),e.withDirectives(e.createElementVNode("div",null,[t.pickerData.sceneLongitude?(e.openBlock(),e.createBlock(m,{key:0,class:"north-indicator",longitude:t.pickerData.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(p,{modelValue:t.halfHourMark,"onUpdate:modelValue":o[2]||(o[2]=h=>t.halfHourMark=h),"date-selector":t.daysOfYear,"is-loading":!t.sceneState.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,t.sceneState.preloaded]]),t.showCards&&t.hoverBuilding?(e.openBlock(),e.createBlock(b,{key:0,"is-hoverable":t.isHoverable,pos:t.pos,onOutside:o[3]||(o[3]=()=>t.hoverBuildingId=void 0)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{building:t.hoverBuilding,canGoToBuilding:t.canGoToBuildingCallback(t.hoverBuilding),goToBuilding:()=>t.canGoToBuildingCallback(t.hoverBuilding)&&t.$emit("go-to-building",t.hoverBuilding),pos:t.pos,isHoverable:t.isHoverable,close:()=>t.hoverBuildingId=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(c,{ref:"hoverProbe"},null,512)],4)):e.createCommentVNode("",!0)}const $=g(xt,[["render",Mt],["__scopeId","data-v-0a2cec1f"]]),Dt={name:"QiBuildingChooserRasterOverlay",props:{imageUrl:{type:String,required:!0},dimensions:{type:Object,required:!0},color:{type:Object,default:()=>({r:108,g:0,b:108,a:144,s:2})}},data(){return{isLoaded:!1,overlayImage:void 0,resourceLoader:new v,context:void 0,imageData:void 0,imageDataIndices:[]}},watch:{color(t,o){(t.r!==o.r||t.g!==o.g||t.b!==o.b||t.a!==o.a)&&this.draw()}},async mounted(){this.overlayImage=await this.resourceLoader.loadImage(this.imageUrl),this.setupDraw()},methods:{setupDraw(){if(!this.overlayImage||!this.$refs.canvas)return;const{width:t,height:o}=this.dimensions;if(!(t===0||o===0)){this.context=this.$refs.canvas.getContext("2d",{willReadFrequently:!0}),this.context.drawImage(this.overlayImage,0,0,t,o),this.imageData=this.context.getImageData(0,0,t,o);for(let n=3;n<this.imageData.data.length;n+=4)this.imageData.data[n]!==0&&this.imageDataIndices.push(n);this.draw(),this.isLoaded=!0}},draw(){this.context&&this.imageData&&(this.applyColor(),this.context.putImageData(this.imageData,0,0))},applyColor(){if(this.color)for(let t=0;t<this.imageDataIndices.length;t++)this.imageData.data[this.imageDataIndices[t]-3]=this.color.r,this.imageData.data[this.imageDataIndices[t]-2]=this.color.g,this.imageData.data[this.imageDataIndices[t]-1]=this.color.b,this.imageData.data[this.imageDataIndices[t]]=this.color.a}}};function Ft(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("canvas",e.mergeProps({ref:"canvas",class:"overlay"},n.dimensions),null,16)}const X=g(Dt,[["render",Ft],["__scopeId","data-v-9a90fa2f"]]),Ot=e.defineComponent({setup(){e.ref({})},name:"QiBuildingChooserRaster",components:{QiBuildingChooserRasterOverlay:X,QiBuildingChooserSunSimControl:R,QiBuildingChooserSceneImageStack:U,QiNorthDirection:L,QiFloatingCard:N,QiHoverProbe:S,QiZoomBox:A},emits:["go-to-building","hover-over-building","hover-out-building"],provide(){return{i18n:this.i18n?new k(this.i18n.labels,this.i18n.language):new k}},props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},canGoToBuildingCallback:{type:Function,default:()=>!0},buildingChooserTimeOfDay:{type:String,default:null},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},customOverlayContent:{type:String,default:""}},data(){return{sceneState:{preloaded:!1,ready:!1},canvasDimensions:{width:0,height:0},pos:{x:0,y:0,width:0,height:0},pickerData:void 0,buildingMap:_.empty(),canvasRaster:E.empty(),selectedBuildingId:void 0,halfHourMark:new Date().getHours()*2+(new Date().getMinutes()<30?0:1),viewResolver:(t,o)=>({x:t,y:o}),error:!1}},computed:{isHoverable(){return this.$refs.hoverProbe.isHoverEnabled},selectedBuilding(){return this.getBuildingData(this.selectedBuildingId)}},watch:{buildingChooserTimeOfDay:{handler(){if(this.buildingChooserTimeOfDay){const[t,o,n]=/^(\d\d):(\d\d)$/.exec(this.buildingChooserTimeOfDay),r=parseInt(n);this.halfHourMark=parseInt(o)*2+(r<15?0:r>45?2:1)}},immediate:!0},selectedBuildingId(t,o){t?this.$emit("hover-over-building",this.getBuildingData(t)):this.$emit("hover-out-building",this.getBuildingData(o))}},async mounted(){const o=await new G(this.cdnFileResolver).loadBuildingChooser();o?(this.canvasRaster=new E(o.mapImage),this.buildingMap=new _(o.buildingIds),this.daysOfYear=new M(o.backgrounds),this.pickerData={buildingOverlays:o.buildingOverlays,sceneLongitude:o.viewLongitude},this.resizeImages()):this.error=!0},methods:{resizeScene({width:t,height:o}){this.canvasDimensions.width=t,this.canvasDimensions.height=o,this.$nextTick(this.resizeImages)},sceneReset(){this.sceneState={preloaded:!1,ready:!1}},getBuildingData(t){return this.buildingCallback?this.buildingCallback(t):t},getBuildingId(t){const{x:o,y:n}=this.viewResolver(t.layerX,t.layerY);return this.buildingMap.getBuildingId(this.canvasRaster,o,n)},resizeImages(){if(this.$refs.canvas&&(this.canvasRaster.update(this.$refs.canvas),this.$refs.overlays))for(const t of this.$refs.overlays)t.setupDraw()},onMove(t){this.isHoverable&&(this.selectedBuildingId=this.getBuildingId(t),this.selectedBuildingId!==void 0&&(this.pos={x:t.layerX,y:t.layerY,width:this.canvasDimensions.width,height:this.canvasDimensions.height}))},onClick(t){this.selectedBuildingId=this.getBuildingId(t),this.isHoverable&&this.selectedBuilding&&this.$emit("go-to-building",this.selectedBuilding)},getColor(t){return this.colorCallback(this.getBuildingData(t),t===this.selectedBuildingId?"hover":"idle")},updateView({resolve:t}){this.viewResolver=t}}}),Tt={key:0,style:{height:"50vh"},class:"d-flex justify-center align-center blue-grey lighten-5"},Rt={class:"image-instances"},Ut=["innerHTML"];function $t(t,o,n,r,i,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("qi-building-chooser-scene-image-stack"),d=e.resolveComponent("qi-building-chooser-raster-overlay"),m=e.resolveComponent("qi-zoom-box"),p=e.resolveComponent("qi-north-direction"),b=e.resolveComponent("qi-building-chooser-sun-sim-control"),c=e.resolveComponent("qi-floating-card"),h=e.resolveComponent("qi-hover-probe");return t.error?(e.openBlock(),e.createElementBlock("div",Tt,[e.createVNode(s,{"x-large":""},{default:e.withCtx(()=>[e.createTextVNode("mdi-alert-circle-outline")]),_:1})])):t.pickerData?(e.openBlock(),e.createElementBlock("div",{key:1,style:e.normalizeStyle(`cursor: ${t.selectedBuildingId?"pointer":"auto"};height: ${t.canvasDimensions.height}px; position: relative`),class:"image-container"},[e.createVNode(m,{desktop:t.interactiveDesktop,mobile:t.interactiveMobile,onUpdate:t.updateView},{default:e.withCtx(()=>[e.createElementVNode("div",Rt,[e.createVNode(l,{"image-urls":t.daysOfYear.imageUrls,"active-index":t.halfHourMark,onResize:t.resizeScene,onPreloaded:o[0]||(o[0]=f=>t.sceneState.preloaded=!0),onReady:o[1]||(o[1]=f=>t.sceneState.ready=!0),onReset:t.sceneReset},null,8,["image-urls","active-index","onResize","onReset"]),e.withDirectives(e.createElementVNode("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pickerData.buildingOverlays,f=>(e.openBlock(),e.createBlock(d,{ref_for:!0,ref:"overlays",key:f.id,"image-url":f.url,dimensions:t.canvasDimensions,color:t.getColor(f.id)},null,8,["image-url","dimensions","color"]))),128))],512),[[e.vShow,t.sceneState.preloaded]])]),e.createElementVNode("canvas",e.mergeProps(t.canvasDimensions,{ref:"canvas",class:{hover:!!t.selectedBuildingId},onClick:o[2]||(o[2]=(...f)=>t.onClick&&t.onClick(...f)),onMousemove:o[3]||(o[3]=(...f)=>t.onMove&&t.onMove(...f))}),null,16),e.withDirectives(e.createElementVNode("div",{class:"custom-overlay-layer",innerHTML:t.customOverlayContent},null,8,Ut),[[e.vShow,t.sceneState.preloaded]])]),_:1},8,["desktop","mobile","onUpdate"]),e.withDirectives(e.createElementVNode("div",null,[t.pickerData.sceneLongitude?(e.openBlock(),e.createBlock(p,{key:0,class:"north-indicator",longitude:t.pickerData.sceneLongitude},null,8,["longitude"])):e.createCommentVNode("",!0),e.createVNode(b,{modelValue:t.halfHourMark,"onUpdate:modelValue":o[4]||(o[4]=f=>t.halfHourMark=f),"date-selector":t.daysOfYear,"is-loading":!t.sceneState.ready},null,8,["modelValue","date-selector","is-loading"])],512),[[e.vShow,t.sceneState.preloaded]]),t.showCards&&t.selectedBuilding?(e.openBlock(),e.createBlock(c,{key:0,"is-hoverable":t.isHoverable,pos:t.pos,onOutside:o[5]||(o[5]=()=>t.selectedBuildingId=void 0)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default",{building:t.selectedBuilding,canGoToBuilding:t.canGoToBuildingCallback(t.selectedBuilding),goToBuilding:()=>t.canGoToBuildingCallback(t.selectedBuilding)&&t.$emit("go-to-building",t.selectedBuilding),pos:t.pos,isHoverable:t.isHoverable,close:()=>t.selectedBuildingId=void 0},void 0,!0)]),_:3},8,["is-hoverable","pos"])):e.createCommentVNode("",!0),e.createVNode(h,{ref:"hoverProbe"},null,512)],4)):e.createCommentVNode("",!0)}const j=g(Ot,[["render",$t],["__scopeId","data-v-08f2ea1e"]]),jt={name:"QiBuildingChooser",components:{QiBuildingChooserSvg:$,QiBuildingChooserRaster:j},emits:["go-to-building","hover-over-building","hover-out-building"],props:{showCards:{type:Boolean,default:()=>!0},colorCallback:{type:Function,default:()=>({r:108,g:0,b:108,a:144,s:2})},buildingCallback:{type:Function,default:t=>t},cdnFileResolver:{type:Function,required:!0},i18n:{type:Object,default:void 0},interactiveDesktop:{type:Boolean,default:!0},interactiveMobile:{type:Boolean,default:!0},useSvg:{type:Boolean,default:!1},buildingChooserTimeOfDay:{type:String,default:null},canGoToBuildingCallback:{type:Function,default:()=>!0},customOverlayContent:{type:String,default:""}},computed:{component(){return this.useSvg?$:j}}};function zt(t,o,n,r,i,a){return e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.component),{"show-cards":n.showCards,"color-callback":n.colorCallback,"building-callback":n.buildingCallback,"cdn-file-resolver":n.cdnFileResolver,i18n:n.i18n,"interactive-desktop":n.interactiveDesktop,"interactive-mobile":n.interactiveMobile,"building-chooser-time-of-day":n.buildingChooserTimeOfDay,"can-go-to-building-callback":n.canGoToBuildingCallback,"custom-overlay-content":n.customOverlayContent,onGoToBuilding:o[0]||(o[0]=s=>t.$emit("go-to-building",s)),onHoverOverBuilding:o[1]||(o[1]=s=>t.$emit("hover-over-building",s)),onHoverOutBuilding:o[2]||(o[2]=s=>t.$emit("hover-out-building",s))},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),s=>({name:s,fn:e.withCtx(l=>[e.renderSlot(t.$slots,s,e.normalizeProps(e.guardReactiveProps(l)))])}))]),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"])}const ae=g(jt,[["render",zt]]),Ht=37,Pt=39,qt={name:"WaypointCarousel",props:{thumbnails:{type:Array,required:!0},active:{type:Number,required:!0}},data(){return{activeThumb:0}},computed:{activeIndex:{get(){return this.active},set(t){this.activeThumb=t}},isMobile(){return/Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(window.navigator.userAgent)}},mounted(){window.addEventListener("keydown",this.keyNavigate)},beforeUnmount(){window.removeEventListener("keydown",this.keyNavigate)},methods:{keyNavigate(t){switch(t.keyCode){case t.keyCode===Ht:this.$emit("previous");case t.keyCode===Pt:this.$emit("next");default:return}},goToCamera(t,o){o(),this.$emit("goto",t)}}},Qt={class:"waypoint-carousel"};function Yt(t,o,n,r,i,a){const s=e.resolveComponent("v-icon"),l=e.resolveComponent("v-btn"),d=e.resolveComponent("v-hover"),m=e.resolveComponent("v-img"),p=e.resolveComponent("v-card"),b=e.resolveComponent("v-slide-group-item"),c=e.resolveComponent("v-slide-group");return e.openBlock(),e.createElementBlock("div",Qt,[e.createVNode(c,{modelValue:a.activeIndex,"onUpdate:modelValue":o[2]||(o[2]=h=>a.activeIndex=h),"active-class":"active-apt","selected-class":"active-apt","show-arrows":"","center-active":"",mandatory:""},{prev:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(({hover:h})=>[e.createVNode(l,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:a.isMobile}]),onClick:o[0]||(o[0]=f=>t.$emit("previous"))},{default:e.withCtx(()=>[e.createVNode(s,{color:h?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-left ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),next:e.withCtx(()=>[e.createVNode(d,null,{default:e.withCtx(({hover:h})=>[e.createVNode(l,{elevation:"0",class:e.normalizeClass(["carousel-button",{mobile:a.isMobile}]),onClick:o[1]||(o[1]=f=>t.$emit("next"))},{default:e.withCtx(()=>[e.createVNode(s,{color:h?"#999":"#d2d2d2","x-large":""},{default:e.withCtx(()=>[e.createTextVNode(" mdi-chevron-right ")]),_:2},1032,["color"])]),_:2},1032,["class"])]),_:1})]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.thumbnails,h=>(e.openBlock(),e.createBlock(b,{key:h.id},{default:e.withCtx(({toggle:f,selectedClass:w})=>[e.createVNode(p,{class:e.normalizeClass(["ma-2",w]),align:"center",justify:"center",height:a.isMobile?50:100,width:a.isMobile?80:160,elevation:"0",style:{overflow:"hidden"},onClick:y=>a.goToCamera(h.id,f)},{default:e.withCtx(()=>[e.createVNode(m,{"max-height":"100","max-width":"160",src:h.thumbnailUrl},null,8,["src"])]),_:2},1032,["class","height","width","onClick"])]),_:2},1024))),128))]),_:1},8,["modelValue"])])}const re=g(qt,[["render",Yt],["__scopeId","data-v-f4e6ce2e"]]),Wt={name:"QiVirtualTourSocialShare",inject:["i18n"],data(){return{showSocialShare:!1,currentURL:location.href}},methods:{shareToFacebook(){return window.open("https://www.facebook.com/sharer/sharer.php?u="+encodeURIComponent(location.href),"facebook-share-dialog","width=626,height=436"),!1},shareToTwitter(){return window.open("https://twitter.com/intent/tweet?text="+encodeURIComponent(location.href),"twiter-share-dialog","width=626,height=436"),!1},shareToLinkedin(){return window.open("https://www.linkedin.com/sharing/share-offsite/?url="+encodeURIComponent(location.href),"linkedin-share-dialog","width=626,height=736"),!1},copyLink(){navigator.clipboard.writeText(location.href)}}},Jt={id:"share-btns-wrapper",class:"text-center"};function Gt(t,o,n,r,i,a){const s=e.resolveComponent("v-btn"),l=e.resolveComponent("v-tooltip"),d=e.resolveComponent("v-toolbar-title"),m=e.resolveComponent("v-spacer"),p=e.resolveComponent("v-toolbar"),b=e.resolveComponent("v-card-text"),c=e.resolveComponent("v-card"),h=e.resolveComponent("v-dialog");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(l,{elevation:"2",top:"",attach:""},{activator:e.withCtx(({on:f})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:"mdi-share-variant",onClick:o[0]||(o[0]=w=>i.showSocialShare=!i.showSocialShare)},e.toHandlers({...f})),null,16)]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share")),1)]),_:1}),e.createVNode(h,{id:"share-box",width:"400",modelValue:i.showSocialShare,"onUpdate:modelValue":o[2]||(o[2]=f=>i.showSocialShare=f)},{default:e.withCtx(()=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(p,{elevation:"0"},{default:e.withCtx(()=>[e.createVNode(s,{size:"x-small",icon:"mdi-close",onClick:o[1]||(o[1]=f=>i.showSocialShare=!1)}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.i18n.getLabel("share")),1)]),_:1}),e.createVNode(m)]),_:1}),e.createVNode(b,{class:"mt-5"},{default:e.withCtx(()=>[e.createElementVNode("p",Jt,[e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-facebook"},f,{onClick:a.shareToFacebook}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-facebook")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-linkedin"},f,{onClick:a.shareToLinkedin}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-linkedin")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-twitter"},f,{onClick:a.shareToTwitter}),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-to-twitter")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-email",link:"",href:`mailto:?body=${i.currentURL}`},f),null,16,["href"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("share-via-email")),1)]),_:1}),e.createVNode(l,{location:"top"},{activator:e.withCtx(({props:f})=>[e.createVNode(s,e.mergeProps({depressed:"",fab:"",light:"",icon:"mdi-content-copy",onClick:a.copyLink},f),null,16,["onClick"])]),default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(a.i18n.getLabel("copy-link")),1)]),_:1}),e.createVNode(m)])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const se=g(Wt,[["render",Gt],["__scopeId","data-v-3560cd03"]]);class le{constructor(o,n){this._doc=o,this._elemId=n,this._state={isActive:!1}}get isActive(){return this._state.isActive}setup(){const o=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","msfullscreenchange"],n=this._getElement();o.forEach(r=>{n.addEventListener(r,this._toggle.bind(this),!1)})}toggle(){this.isActive?this._exit():this._enter()}_enter(){const o=this._getElement(),n=o.requestFullscreen||o.webkitRequestFullscreen||o.mozRequestFullscreen||o.msRequestFullscreen;n&&n.apply(o)}_exit(){const o=this._doc.exitFullscreen||this._doc.webkitExitFullscreen||this._doc.mozExitFullscreen||this._doc.document.msExitFullscreen;o&&o.apply(document)}_getElement(){return this._doc.getElementById(this._elemId)}_toggle(){const o=!!(this._doc.fullscreenElement||this._doc.webkitFullscreenElement||this._doc.mozFullscreenElement||this._doc.msFullscreenElement);this._state.isActive=o}}const Xt={props:{isFullScreen:{type:Boolean,required:!0}},emits:["toggle-fullscreen"]},Zt={id:"btn-fullscreen",class:"btn-placeholder mr-2"};function Kt(t,o,n,r,i,a){const s=e.resolveComponent("v-btn");return e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(s,{density:"comfortable",elevation:"3",icon:n.isFullScreen?"mdi-fullscreen-exit":"mdi-fullscreen",onClick:o[0]||(o[0]=l=>t.$emit("toggle-fullscreen"))},null,8,["icon"])])}const de=g(Xt,[["render",Kt]]),eo={name:"Disclaimer",inject:["i18n"],data(){return{isVisible:!0}}},to={key:0,class:"text-white disclaimer caption"};function oo(t,o,n,r,i,a){return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[i.isVisible?(e.openBlock(),e.createElementBlock("div",to,[e.createTextVNode(e.toDisplayString(a.i18n.getLabel("all-illustrations-are-indicative-deviations-may-occur"))+" ",1),e.createElementVNode("span",{onClick:o[0]||(o[0]=s=>i.isVisible=!1),class:"link-text text-decoration-underline"},e.toDisplayString(a.i18n.getLabel("i-understand")),1)])):e.createCommentVNode("",!0)]),_:1})}const ce=g(eo,[["render",oo],["__scopeId","data-v-6e4f02d6"]]),no={name:"ManualSlideShowImage",props:{isFullScreen:{type:Boolean,required:!0}},data(){return{}},watch:{},mounted(){window.addEventListener("resize",this.setPlayerSize),this.setPlayerSize()},methods:{findClosestAncestor(t,o){let n=t,r=t;for(;(n=n.parentNode)&&n.className.indexOf(o)<0;);return r=n,r},setPlayerSize(){let t=1.7777777777777777,o=document.querySelector("#player-sizer");if(!o)return;let n=o.offsetWidth,r=n*(1/t);(window.innerWidth<=600||n<=600)&&(r=window.innerHeight*.75,n=r*(1/t)),o.style.height=r+"px",o.style.width=n+"px",this.$emit("new-size-callback",n,r)}}},io={id:"player-wrapper"},ao={id:"player-sizer"},ro={class:"player-control",id:"controls-top-left"},so={class:"player-control",id:"controls-top-center"},lo={class:"player-control",id:"controls-top-right"},co={class:"player-control",id:"controls-center-left"},mo={class:"player-control",id:"controls-center-center"},ho={class:"player-control",id:"controls-center-right"},po={class:"player-control",id:"controls-bottom-left"},uo={class:"player-control",id:"controls-bottom-center"},go={class:"player-control",id:"controls-bottom-right"};function fo(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",io,[e.createElementVNode("div",ao,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",ro,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",so,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",lo,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",co,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",mo,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",ho,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",po,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",uo,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",go,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)])])])}const bo=g(no,[["render",fo],["__scopeId","data-v-1dab1ac3"]]),wo={name:"StaticImage",props:{image:{type:String,required:!0},aspectRatio:{type:String,default:()=>"wide"}},computed:{style(){return{"background-image":`url("${encodeURI(this.image)}")`}}}},ko={class:"static-image-wrapper"};function yo(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",ko,[e.createElementVNode("div",{class:e.normalizeClass(["img-div",[n.aspectRatio]]),style:e.normalizeStyle(a.style)},null,6)])}const me=g(wo,[["render",yo],["__scopeId","data-v-b418cf51"]]),Co={name:"ManualSlideShow",components:{WaypointCarousel:re,SingleImage:me,SocialShare:se,FullScreenButton:de,Disclaimer:ce,ManualSlideShowPlayer:bo},provide(){return{i18n:this.i18n?new k(this.i18n.labels,this.i18n.language):new k}},props:{images:{type:Array,required:!0},websiteUrl:{type:String,default:()=>{}},i18n:{type:Object,default:void 0},showFullScreen:{type:Boolean,default:()=>!0},showShare:{type:Boolean,default:()=>!0},defaultWaypointIndex:{type:Number,default:()=>0}},data(){return{loading:!0,error:!1,currentIndex:0,currentImageId:void 0,fullScreen:new le(document,"player-wrapper")}},computed:{imagesWithThumbnails(){return this.images.map(t=>({...t,thumbnailUrl:t.url}))},currentImage(){return this.images[this.currentIndex].url}},mounted(){this.fullScreen.setup()},methods:{toggleFullscreen(){this.fullScreen.toggle(),window.scrollTo({top:150,behavior:"smooth"})},nextImage(){let t=this.currentIndex+1;t>=this.images.length&&(t=0),this.currentIndex=t},previousImage(){let t=this.currentIndex-1;t<0&&(t=this.images.length-1),this.currentIndex=t},goToImage(t,o=!0){let n=this.images.findIndex(r=>r.id===t);n!=-1&&(this.currentIndex=n)}}},vo={class:"virtual-tour-v2-wrapper"},So={class:"player-and-components-wrapper"},Io={key:1,class:"btn-placeholder"};function xo(t,o,n,r,i,a){const s=e.resolveComponent("single-image"),l=e.resolveComponent("disclaimer"),d=e.resolveComponent("v-icon"),m=e.resolveComponent("v-btn"),p=e.resolveComponent("full-screen-button"),b=e.resolveComponent("social-share"),c=e.resolveComponent("waypoint-carousel"),h=e.resolveComponent("manual-slide-show-player");return e.openBlock(),e.createElementBlock("div",vo,[e.createElementVNode("div",So,[e.createElementVNode("div",null,[e.createVNode(h,{isFullScreen:i.fullScreen.isActive},{"slideshow-image":e.withCtx(()=>[e.createVNode(s,{image:a.currentImage},null,8,["image"])]),"top-left":e.withCtx(()=>[]),"top-center":e.withCtx(()=>[e.createVNode(l,{"return-url":n.websiteUrl},null,8,["return-url"])]),"top-right":e.withCtx(()=>[]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[e.createVNode(m,{elevation:"1",rounded:"",plain:"",icon:"",onClick:a.previousImage},{default:e.withCtx(()=>[e.createVNode(d,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-left")]),_:1})]),_:1},8,["onClick"])]),_:1})]),"center-center":e.withCtx(()=>[]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[e.createVNode(m,{elevation:"1",rounded:"",plain:"",icon:"",onClick:a.nextImage},{default:e.withCtx(()=>[e.createVNode(d,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-chevron-right")]),_:1})]),_:1},8,["onClick"])]),_:1})]),"bottom-left":e.withCtx(()=>[n.showFullScreen?(e.openBlock(),e.createBlock(p,{key:0,isFullScreen:i.fullScreen.isActive,class:"btn-fullscreen",onToggleFullscreen:a.toggleFullscreen},null,8,["isFullScreen","onToggleFullscreen"])):e.createCommentVNode("",!0),n.showShare?(e.openBlock(),e.createElementBlock("div",Io,[e.createVNode(b)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[e.createElementVNode("div",null,[i.fullScreen.isActive?(e.openBlock(),e.createBlock(c,{key:0,class:e.normalizeClass([i.fullScreen.isActive?"full-screen":""]),thumbnails:a.imagesWithThumbnails,active:i.currentIndex,onNext:a.nextImage,onPrevious:a.previousImage,onGoto:a.goToImage},null,8,["class","thumbnails","active","onNext","onPrevious","onGoto"])):e.createCommentVNode("",!0)])]),"bottom-right":e.withCtx(()=>[]),_:1},8,["isFullScreen"]),e.createVNode(c,{thumbnails:a.imagesWithThumbnails,active:i.currentIndex,onNext:a.nextImage,onPrevious:a.previousImage,onGoto:a.goToImage},null,8,["thumbnails","active","onNext","onPrevious","onGoto"])])])])}const he=g(Co,[["render",xo],["__scopeId","data-v-e2117d1e"]]);var B={};Object.defineProperty(B,"__esModule",{value:!0});var _o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Eo=typeof window<"u"&&typeof window.document<"u",Bo=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Vo=(typeof self>"u"?"undefined":_o(self))==="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope",No=typeof window<"u"&&window.name==="nodejs"||typeof navigator<"u"&&(navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),Ao=typeof Deno<"u"&&typeof Deno.version<"u"&&typeof Deno.version.deno<"u",Lo=B.isBrowser=Eo;B.isWebWorker=Vo,B.isNode=Bo,B.isJsDom=No,B.isDeno=Ao;const Mo={name:"PlayerV2",emits:["new-camera-callback","new-rotation-callback","new-floor-callback","new-fov-callback","playerApi-callback","new-size-callback"],props:{fileLoader:{type:Object,default:void 0},rootUrl:{type:String,required:!0},currentCameraId:{type:String,default:()=>{}},showStaticImage:{type:Boolean,required:!0},isFullScreen:{type:Boolean,required:!0},mouseSensitivity:{type:Number,default:()=>1},isInIframe:{type:Boolean,default:()=>!1}},data(){return{playerAPI:void 0,playerCamera:void 0,playerRotation:0,playerFoV:0,playerWidth:0,playerHeight:0}},watch:{async rootUrl(t){this.playerAPI&&(await this.playerAPI.loadInterior(t,this.playerCamera,!1),this.setPlayerSize())},fileLoader:{async handler(t){this.playerAPI&&(await this.playerAPI.loadInterior(this.rootUrl,void 0,!1),this.setPlayerSize())},deep:!0},currentCameraId(t){this.playerAPI&&(this.playerCamera=t,this.playerAPI.goToCamera(t,!0))},playerAPI(t){this.$emit("playerApi-callback",t);const o=t.getCurrentCamera();o&&(this.playerCamera=o.id)}},async mounted(){window.addEventListener("resize",this.setPlayerSize),this.setPlayerSize();const r={initialized:()=>{this.playerAPI=H.PlayerV2.Main.getPlayerAPI();const a=this.playerAPI.getCurrentCamera();a&&(this.playerCamera=a.id),this.$emit("new-camera-callback",this.playerCamera)},newCamera:a=>{this.$emit("new-camera-callback",a.id),this.$emit("new-floor-callback",a.floorLevel),this.playerAPI&&this.playerAPI.resetMarkerBehaviour(0),this.playerCamera=a.id},newFOV:a=>{this.$emit("new-fov-callback",a),this.playerFoV=a},newRotation:a=>{const s=a+0;this.$emit("new-rotation-callback",s),this.playerRotation=s}};if(!Lo)return;const i=await new H.PlayerV2.Main(this.rootUrl,"qpc",r,void 0,this.currentCameraId,this.fileLoader);i&&(i.handleWindowResize(),window.addEventListener("resize",i.handleWindowResize.bind(i)),i.animate(),this.playerAPI=H.PlayerV2.Main.getPlayerAPI(),this.playerAPI&&this.playerAPI.setLookSensitivity(this.mouseSensitivity))},beforeUnmount(){this.playerAPI&&this.playerAPI.destroy()},methods:{findClosestAncestor(t,o){let n=t,r=t;for(;(n=n.parentNode)&&n.className.indexOf(o)<0;);return r=n,r},setPlayerSize(){let t=1.7777777777777777,o=document.querySelector("#player-sizer");if(!o)return;let n=o.offsetWidth,r=n*(1/t);(window.innerWidth<=600||n<=600)&&(r=window.innerHeight*.75,this.isInIframe&&(r=screen.height*.65),n=r*(1/t)),o.style.height=r+"px",o.style.width=n+"px",this.$emit("new-size-callback",n,r)}}},Do={id:"player-wrapper"},Fo={id:"player-sizer"},Oo={class:"player-control",id:"controls-top-left"},To={class:"player-control",id:"controls-top-center"},Ro={class:"player-control",id:"controls-top-right"},Uo={class:"player-control",id:"controls-center-left"},$o={class:"player-control",id:"controls-center-center"},jo={class:"player-control",id:"controls-center-right"},zo={class:"player-control",id:"controls-bottom-left"},Ho={class:"player-control",id:"controls-bottom-center"},Po={class:"player-control",id:"controls-bottom-right"},qo={id:"main-canvas"};function Qo(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("div",Do,[e.createElementVNode("div",Fo,[e.renderSlot(t.$slots,"slideshow-image",{},void 0,!0),e.createElementVNode("div",Oo,[e.renderSlot(t.$slots,"top-left",{},void 0,!0)]),e.createElementVNode("div",To,[e.renderSlot(t.$slots,"top-center",{},void 0,!0)]),e.createElementVNode("div",Ro,[e.renderSlot(t.$slots,"top-right",{},void 0,!0)]),e.createElementVNode("div",Uo,[e.renderSlot(t.$slots,"center-left",{},void 0,!0)]),e.createElementVNode("div",$o,[e.renderSlot(t.$slots,"center-center",{},void 0,!0)]),e.createElementVNode("div",jo,[e.renderSlot(t.$slots,"center-right",{},void 0,!0)]),e.createElementVNode("div",zo,[e.renderSlot(t.$slots,"bottom-left",{},void 0,!0)]),e.createElementVNode("div",Ho,[e.renderSlot(t.$slots,"bottom-center",{},void 0,!0)]),e.createElementVNode("div",Po,[e.renderSlot(t.$slots,"bottom-right",{},void 0,!0)]),e.createElementVNode("div",qo,[e.createElementVNode("canvas",{id:"qpc",style:e.normalizeStyle(n.showStaticImage?"visibility:hidden":"visibility:visible")},null,4)])])])}const Yo=g(Mo,[["render",Qo],["__scopeId","data-v-ab9c084f"]]),Wo={name:"FloorLevel",inject:["i18n"],props:{level:{type:Number,default:0},floorLevels:{type:Array,default:[]}},computed:{lowerOrUpper(){const t=this.floorLevels;return t.sort(),t.indexOf(this.level)+1<=t.length/2?"Lower":"Upper"},lowerActive(){return this.lowerOrUpper==="Lower"},upperActive(){return this.lowerOrUpper==="Upper"}}},Jo={style:{width:"24px",height:"24px"},viewBox:"0 0 18 16",xmlns:"http://www.w3.org/2000/svg"},Go=["stroke"],Xo=["stroke"],Zo={class:"floor-level-label"};function Ko(t,o,n,r,i,a){const s=e.resolveComponent("v-btn"),l=e.resolveComponent("v-tooltip");return e.openBlock(),e.createBlock(l,{right:"",attach:""},{activator:e.withCtx(({on:d})=>[e.createVNode(s,e.mergeProps({density:"comfortable",elevation:"1",icon:""},e.toHandlers({...d})),{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock("svg",Jo,[e.createElementVNode("path",{d:"M8.98034 10.3472L1.54055 5.8855L8.98034 1.42384L16.4201 5.8855L8.98034 10.3472Z",fill:"white",stroke:a.upperActive?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Go),e.createElementVNode("path",{d:"M8.98034 14.7993L1.54055 10.3376L8.98034 5.87599L16.4201 10.3376L8.98034 14.7993Z",fill:"white",stroke:a.lowerActive?"black":"#999999","stroke-width":"1.5","stroke-linejoin":"round"},null,8,Xo)]))]),_:2},1040)]),default:e.withCtx(()=>[e.createElementVNode("span",Zo,e.toDisplayString(a.i18n.getLabel(a.lowerOrUpper))+" "+e.toDisplayString(a.i18n.getLabel("floor")),1)]),_:1})}const en=g(Wo,[["render",Ko],["__scopeId","data-v-56a279a7"]]),tn={name:"InteriorSelector",emits:["select-interior"],props:{availableArchetypes:{type:Array,required:!0},selectedIndex:{type:Number,required:!0}},inject:["i18n","localMode","fileLoader"],methods:{getUrl(t){let o=t;return this.localMode&&(o=`${this.fileLoader.getURL(t)}`),o}}};function on(t,o,n,r,i,a){const s=e.resolveComponent("v-btn"),l=e.resolveComponent("v-img"),d=e.resolveComponent("v-list-item-title"),m=e.resolveComponent("v-list-item"),p=e.resolveComponent("v-list"),b=e.resolveComponent("v-menu");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(b,{transition:"slide-x-reverse-transition",location:"top end",origin:"end bottom",elevation:"0"},{activator:e.withCtx(({props:c})=>[e.createVNode(s,e.mergeProps({"prepend-icon":"mdi-palette-outline",rounded:""},c),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.i18n.getLabel("interior")),1)]),_:2},1040)]),default:e.withCtx(()=>[e.createVNode(p,{class:"interior-selector-list"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.availableArchetypes,(c,h)=>(e.openBlock(),e.createBlock(m,{density:"compact",key:`at-menuitem-${h}`,onClick:f=>t.$emit("select-interior",c.archetypeID),active:h===n.selectedIndex,class:"interior-selector-list-item"},{prepend:e.withCtx(()=>[e.createVNode(l,{width:"100","max-width":"100",height:"66",src:a.getUrl(c.url)},null,8,["src"])]),default:e.withCtx(()=>[e.createVNode(d,{class:"text-caption py-2 px-4"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.i18n.get(c.title)),1)]),_:2},1024)]),_:2},1032,["onClick","active"]))),128))]),_:1})]),_:1})])}const nn=g(tn,[["render",on],["__scopeId","data-v-fe12068f"]]),an="data:image/png;base64,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",rn="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==",sn={name:"Compass",props:{rotation:{type:Number,required:!0}},data(){return{needle:rn,compassBackground:{backgroundImage:`url(${an})`,backgroundSize:"contain"}}},computed:{needleRotation(){return{transform:`rotate(${-this.rotation+180}deg)`}}}};function ln(t,o,n,r,i,a){const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",{style:e.normalizeStyle(i.compassBackground)},[e.createVNode(s,{class:"compass-needle",src:i.needle,style:e.normalizeStyle(a.needleRotation)},null,8,["src","style"])],4)}const dn=g(sn,[["render",ln]]),cn="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";function pe(t){return("0"+t).slice(-2)}const mn={name:"TimeOfDay",props:{hours:{type:Number,default:0},minutes:{type:Number,default:0}},data(){return{sunIcon:cn}},computed:{displayValue(){return[pe(this.hours),":",pe(this.minutes)].join("")}}},hn={class:"d-flex flex-column align-center justify-center clock-face"},pn={class:"clock-icon"},un={class:"clock-value grey--text text--darken-3"};function gn(t,o,n,r,i,a){const s=e.resolveComponent("v-img");return e.openBlock(),e.createElementBlock("div",hn,[e.createElementVNode("div",pn,[e.createVNode(s,{src:i.sunIcon,"aspect-ratio":"1"},null,8,["src"])]),e.createElementVNode("div",un,e.toDisplayString(a.displayValue),1)])}const fn=g(mn,[["render",gn],["__scopeId","data-v-e440b0c9"]]);function D(t){return("0"+t).slice(-2)}function bn(){const t=new Date;return[t.getFullYear().toString(),D(t.getMonth()+1),D(t.getDate())," ",D(t.getHours()),D(t.getMinutes()),D(t.getSeconds())].join("")}function wn(){return"Visuado-Snapshot-"+bn()}class kn{constructor(o,n){this.data=o,this.cameraParams=n}download(o=null){o=o||wn();const n=document.createElement("a");typeof n.download=="string"?(document.body.appendChild(n),n.download=o,n.href=this.data,n.click(),document.body.removeChild(n)):location.replace(uri)}}const yn={name:"ViewModeToggle",emits:["toggle"],inject:["i18n"],props:{showStaticImage:{type:Boolean,required:!0}},computed:{virtualTourToggleLabel(){let t="virtual-tour";return this.showStaticImage||(t="slide-show"),t}}};function Cn(t,o,n,r,i,a){const s=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(s,{color:"darken-2",elevation:"1",rounded:"",plain:"",onClick:o[0]||(o[0]=l=>t.$emit("toggle"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.i18n.getLabel(a.virtualTourToggleLabel)),1)]),_:1})}const vn=g(yn,[["render",Cn]]),Sn={name:"Tutorial",inject:["i18n"],emits:["closeTutorial"],props:{project:{type:String,required:!0}},data(){return{isVisible:!0,dontShow:!1}},computed:{isMobile(){return[/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i].some(o=>navigator.userAgent.match(o))},tutorialHiddenForEternity(){const t=localStorage.getItem(`${this.project}-dont-show-tutorial`);return t&&this.$emit("closeTutorial"),t}},methods:{clickedOk(){this.dontShow&&this.hideForEternity(),this.isVisible=!1,this.$emit("closeTutorial")},hideForEternity(){localStorage.setItem(`${this.project}-dont-show-tutorial`,!0)}}},I=t=>(e.pushScopeId("data-v-d87b088a"),t=t(),e.popScopeId(),t),In={key:0,class:"tutorial"},xn={key:0,class:"desktop-content"},_n={class:"d-inline-flex"},En={class:"box col"},Bn=I(()=>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)),Vn={class:"text mt-3"},Nn={class:"box col"},An=I(()=>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)),Ln={class:"text mt-3"},Mn={class:"box col"},Dn=I(()=>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)),Fn={class:"text mt-3"},On={class:"d-inline-flex space-around"},Tn={class:"box col"},Rn=I(()=>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)),Un={class:"text mt-3"},$n={key:1,class:"d-flex flex-column tablet-mobile-content"},jn={class:"box horizontal mt-3"},zn=I(()=>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)),Hn={class:"text ml-2"},Pn={class:"box horizontal mt-3"},qn=I(()=>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)),Qn={class:"text ml-2"},Yn={class:"box horizontal mt-3"},Wn=I(()=>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)),Jn={class:"text ml-2"},Gn={class:"d-flex justify-space-between mt-3 mx-3 mb-0 tutorial-buttons"};function Xn(t,o,n,r,i,a){const s=e.resolveComponent("v-checkbox"),l=e.resolveComponent("v-btn");return e.openBlock(),e.createBlock(e.Transition,{name:"fade-transition"},{default:e.withCtx(()=>[i.isVisible&&!a.tutorialHiddenForEternity?(e.openBlock(),e.createElementBlock("div",In,[a.isMobile?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",xn,[e.createElementVNode("div",_n,[e.createElementVNode("div",En,[Bn,e.createElementVNode("div",Vn,e.toDisplayString(a.i18n.getLabel("click-and-drag-to-look-around")),1)]),e.createElementVNode("div",Nn,[An,e.createElementVNode("div",Ln,e.toDisplayString(a.i18n.getLabel("click-on-the-cricles-to-move-around")),1)]),e.createElementVNode("div",Mn,[Dn,e.createElementVNode("div",Fn,e.toDisplayString(a.i18n.getLabel("use-the-mouse-wheel-to-zoom")),1)])]),e.createElementVNode("div",On,[e.createElementVNode("div",Tn,[Rn,e.createElementVNode("div",Un,e.toDisplayString(a.i18n.getLabel("you-can-also-use-the-arrow-keys-to-move-around")),1)])])])),a.isMobile?(e.openBlock(),e.createElementBlock("div",$n,[e.createElementVNode("div",jn,[zn,e.createElementVNode("div",Hn,e.toDisplayString(a.i18n.getLabel("tap-and-drag-to-look-around")),1)]),e.createElementVNode("div",Pn,[qn,e.createElementVNode("div",Qn,e.toDisplayString(a.i18n.getLabel("tap-on-the-circles-to-move-around")),1)]),e.createElementVNode("div",Yn,[Wn,e.createElementVNode("div",Jn,e.toDisplayString(a.i18n.getLabel("use-two-fingers-to-zoom")),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Gn,[e.createVNode(s,{modelValue:i.dontShow,"onUpdate:modelValue":o[0]||(o[0]=d=>i.dontShow=d),label:a.i18n.getLabel("dont-show-again")},null,8,["modelValue","label"]),e.createVNode(l,{small:"",outlined:"",class:"mt-5",onClick:o[1]||(o[1]=d=>a.clickedOk())},{default:e.withCtx(()=>[e.createTextVNode("Ok")]),_:1})])])):e.createCommentVNode("",!0)]),_:1})}const Zn=g(Sn,[["render",Xn],["__scopeId","data-v-d87b088a"]]);function Kn(t){const o=parseInt(t.substr(1,2),16)/255,n=parseInt(t.substr(3,2),16)/255,r=parseInt(t.substr(5,2),16)/255;return[o,n,r]}function Z(t){var o=t.toString(16);return o.length==1?"0"+o:o}function ei([t,o,n]){return"#"+Z(parseInt(t*255))+Z(parseInt(o*255))+Z(parseInt(n*255))}function ue(t){const o=["Cool 5","Cool 10","Cool 15","Cool 20","Cool 25","Warm 20","Warm 25","Warm 10","Warm 15","Warm 5","bw"];let n={temperature:6500,targetLuminance:1,exposureFovScale:.6,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1],lut:"",...t};return{exposureFovScale:{label:"Exposure Fov Scale",type:"slider",min:0,max:1,step:.01,value:n.exposureFovScale},targetLuminance:{label:"Target Luminance",type:"slider",min:0,max:15,step:.1,value:n.targetLuminance},sharpenFilter_amount:{label:"Sharpen Filter Amount",type:"slider",min:0,max:100,step:.1,value:n.sharpenFilter_amount},UNREAL_BLOOM_ENABLED:{label:"Enable Bloom?",type:"boolean",value:n.UNREAL_BLOOM_ENABLED},UNREAL_BLOOOM_STRENGTH:{label:"Bloom Strength",type:"slider",min:0,max:1,step:.01,value:n.UNREAL_BLOOOM_STRENGTH},TRANSITION_MOVEMENT_SCALE:{label:"Transition Movement Speed",type:"slider",min:.2,max:25,step:.1,value:n.TRANSITION_MOVEMENT_SCALE},temperature:{label:"Temperature / White Balance",type:"slider",min:1e3,max:12e3,step:1,value:n.temperature},whitePoint:{label:"White Point",type:"color",min:null,max:null,step:null,value:ei(n.whitePoint)},lut:{label:"Lut",type:"lut",items:o.map(r=>({text:r,value:`https://cdn.visuado.com/luts/${r}.png`})),value:n.lut}}}const ti={name:"SettingsUI",emits:["update-settings","save-settings"],props:{projectSlug:{type:String,required:!0},initialSettings:{type:Object,default:()=>{}}},data(){return{allSettings:ue(this.initialSettings)}},watch:{allSettings:{handler(){this.updateSettings()},deep:!0}},computed:{settingsToUpdate(){let t={};for(const[o,n]of Object.entries(this.allSettings))o==="whitePoint"?t[o]=Kn(n.value):t[o]=n.value;return t}},methods:{updateSettings(){this.$emit("update-settings",this.settingsToUpdate)},downloadSettings(){const t=document.createElement("a");t.href=URL.createObjectURL(new Blob([JSON.stringify(this.settingsToUpdate,null,2)]));const o=`player-settings-${this.projectSlug}-${Date.now()}.json`;t.download=o,t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},saveSettings(){this.$emit("save-settings",this.settingsToUpdate)},resetForm(){this.allSettings=ue(),this.$emit("update-settings",this.settingsToUpdate)}}},oi=t=>(e.pushScopeId("data-v-c04f3195"),t=t(),e.popScopeId(),t),ni={class:"player-settings-ui"},ii={id:"settings-ui-form"},ai={class:"form-inputs"},ri={class:"setting-label"},si={class:"setting-label"},li=["max","min","step"],di={class:"setting-label"},ci={class:"flex-grow-1 flex-shrink-0"},mi=["onUpdate:modelValue"],hi={key:3,"d-block":"",class:"mt-3"},pi={class:"d-flex justify-space-between"},ui={class:"setting-label"},gi={class:"mt-5 d-block",style:{width:"300px"}},fi=oi(()=>e.createElementVNode("div",{class:"setting-label"},"Enter Lut URL:",-1)),bi={class:"d-block",style:{width:"300px"}},wi={class:"form-buttons"};function ki(t,o,n,r,i,a){const s=e.resolveComponent("v-text-field"),l=e.resolveComponent("v-slider"),d=e.resolveComponent("v-checkbox"),m=e.resolveComponent("v-btn"),p=e.resolveComponent("v-select"),b=e.resolveComponent("v-icon");return e.openBlock(),e.createElementBlock("div",ni,[e.createElementVNode("form",ii,[e.createElementVNode("div",ai,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.allSettings,(c,h,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,"d-block":""},[c.type==="slider"?(e.openBlock(),e.createBlock(l,{key:0,modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,onChange:a.updateSettings,max:c.max,min:c.min,step:c.step},{prepend:e.withCtx(()=>[e.createElementVNode("div",ri,e.toDisplayString(c.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(s,{modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,"hide-details":"",dense:"",outlined:"",type:"number",max:c.max,min:c.min,step:c.step,style:{width:"90px"},onChange:a.updateSettings},null,8,["modelValue","onUpdate:modelValue","max","min","step","onChange"])])]),_:2},1032,["modelValue","onUpdate:modelValue","onChange","max","min","step"])):e.createCommentVNode("",!0),c.type==="boolean"?(e.openBlock(),e.createBlock(d,{key:1,modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,onChange:a.updateSettings},{prepend:e.withCtx(()=>[e.createElementVNode("div",si,e.toDisplayString(c.label),1)]),append:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(c.value),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])):e.createCommentVNode("",!0),c.type==="color"?(e.openBlock(),e.createElementBlock("div",{key:2,class:"d-flex",max:c.max,min:c.min,step:c.step},[e.createElementVNode("div",di,e.toDisplayString(c.label),1),e.createElementVNode("div",ci,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>i.allSettings[h].value=w,type:"color",onChange:o[0]||(o[0]=(...w)=>a.updateSettings&&a.updateSettings(...w))},null,40,mi),[[e.vModelText,i.allSettings[h].value]])]),e.createElementVNode("div",null,[e.createVNode(s,{modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,"hide-details":"",dense:"",outlined:"",readonly:"",type:"text",style:{width:"90px"},onChange:a.updateSettings},null,8,["modelValue","onUpdate:modelValue","onChange"])])],8,li)):e.createCommentVNode("",!0),c.type==="lut"?(e.openBlock(),e.createElementBlock("div",hi,[e.createElementVNode("div",pi,[e.createElementVNode("div",ui,e.toDisplayString(c.label),1),e.createElementVNode("div",null,[e.createVNode(m,{class:"ml-2","x-small":"",onClick:w=>i.allSettings[h].value=null},{default:e.withCtx(()=>[e.createTextVNode(" Clear Lut ")]),_:2},1032,["onClick"])])]),e.createElementVNode("div",null,[e.createElementVNode("div",gi,[e.createElementVNode("div",null,[e.createVNode(p,{modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,items:c.items,"item-title":"title","item-value":"value",dense:"",label:"Select Lut",onChange:a.updateSettings},null,8,["modelValue","onUpdate:modelValue","items","onChange"])])]),e.createElementVNode("div",null,[fi,e.createElementVNode("div",bi,[e.createElementVNode("div",null,[e.createVNode(s,{modelValue:i.allSettings[h].value,"onUpdate:modelValue":w=>i.allSettings[h].value=w,"hide-details":"",dense:"",type:"url",onChange:a.updateSettings},null,8,["modelValue","onUpdate:modelValue","onChange"])])])])])])):e.createCommentVNode("",!0)]))),128))]),e.createElementVNode("div",wi,[e.createVNode(m,{onClick:o[1]||(o[1]=c=>a.resetForm())},{default:e.withCtx(()=>[e.createTextVNode("Reset")]),_:1}),e.createVNode(m,{class:"ml-2",onClick:o[2]||(o[2]=c=>a.downloadSettings())},{default:e.withCtx(()=>[e.createTextVNode(" Download Json "),e.createVNode(b,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-download")]),_:1})]),_:1}),e.createVNode(m,{class:"ml-2",onClick:o[3]||(o[3]=c=>a.saveSettings())},{default:e.withCtx(()=>[e.createTextVNode(" Save Settings "),e.createVNode(b,{color:"black darken-1"},{default:e.withCtx(()=>[e.createTextVNode("mdi-save")]),_:1})]),_:1})])])])}const yi=g(ti,[["render",ki],["__scopeId","data-v-c04f3195"]]),Ci={props:{rotation:{type:Number,required:!0}}},vi={class:"rotation-marker-svg",viewBox:"0 0 40 40",xmlns:"http://www.w3.org/2000/svg"},Si=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),Ii=["transform"],xi=[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)];function _i(t,o,n,r,i,a){return e.openBlock(),e.createElementBlock("svg",vi,[Si,e.createElementVNode("g",{"transform-origin":"20 20",transform:`rotate(${45+n.rotation})`},xi,8,Ii)])}const Ei=g(Ci,[["render",_i]]);function Bi(t){return C.MathUtils.degToRad(t)}const Vi={name:"MiniMapMap",components:{RotationMarkerV2:Ei},props:{backgroundImage:{type:String,required:!0},allCameras:{type:Array,required:!0},minimapCamera:{type:Object,required:!0},currentCamera:{type:String,required:!0},rotation:{type:Number,required:!0},transformAngle:{type:Number,required:!0}},data(){return{planeWidth:512,planeHeight:384,topLeftCorner:new C.Vector3,centerPivot:new C.Object3D,centerPivotStyle:{},scale:1,resizeOverver:void 0}},computed:{apartmentCameras(){return this.allCameras},currentCameraObject(){return this.allCameras.find(t=>t.id===this.currentCamera)},rotationAngle(){return this.rotation},minimapCameraPositionVector(){return new C.Vector3(this.minimapCamera.position.x,this.minimapCamera.position.y,this.minimapCamera.position.z)},floorVerticalPosition(){return parseFloat(this.currentCameraObject.floor_vertical_position)},camerasWithRelativePosition(){return this.apartmentCameras.map(t=>{const o=t.uposition.split(","),n=new C.Vector3(o[0]-this.minimapCameraPositionVector.x,0,o[2]-this.minimapCameraPositionVector.z);return{...t,...this.relativePosition(this.topLeftCorner,n)}})},backgroundStyle(){return`background-image: url(${this.backgroundImage});`},transformStyle(){let t=this.scale>1?1:this.scale;return t<.8&&(t=.4),`scale: ${t>1?1:t}; transform: rotate(${this.transformAngle}deg);`}},mounted(){this.calculateRelativeValues(),this.upadteCenterPivot(),this.calcualteScale();const t=document.getElementById("moveableDiv");t&&(this.resizeOverver=new ResizeObserver(this.calcualteScale).observe(t))},beforeUpdate(){this.calculateRelativeValues(),this.upadteCenterPivot()},beforeUnmount(){this.resizeOverver&&this.resizeOverver.unobserve(document.getElementById("moveableDiv"))},methods:{upadteCenterPivot(){this.centerPivot.rotation.x=180,this.centerPivot.rotation.y=this.minimapCamera.rotation.y*-1,this.centerPivotStyle={transform:`rotateZ(${this.centerPivot.rotation.y}deg) rotateX(${this.centerPivot.rotation.x}deg)`}},cameraPositionStyle(t){return{top:`${Math.abs(t.top)}%`,left:`${Math.abs(t.left)}%`}},relativePosition(t,o){var n=new C.Vector3;const r=n.subVectors(t,o);return{relativePosition:r,left:r.x/this.planeWidth*100,top:r.z/this.planeHeight*100}},calculateRelativeValues(){const t=this.minimapCamera.position.y-this.floorVerticalPosition;this.planeHeight=2*(t*Math.tan(Bi(this.minimapCamera.fovY/2))),this.planeWidth=512/384*this.planeHeight;const o=this.planeHeight/2,n=this.planeWidth/2,r=new C.Vector3(n*-1,0,o*-1);this.topLeftCorner=r},calcualteScale(){const t=document.getElementById("moveableDiv");if(!t)return;const o=t.offsetHeight/384*.8,n=t.offsetWidth/512*.8;t.offsetHeight>t.offsetWidth?this.scale=n*.5:this.scale=o*.9}}},Ni={class:"minimap-wrapper d-flex align-stretch justify-space-between"},Ai={class:"minimap-container"};function Li(t,o,n,r,i,a){const s=e.resolveComponent("rotation-marker-v2");return e.openBlock(),e.createElementBlock("div",Ni,[e.createElementVNode("div",Ai,[e.createElementVNode("div",{class:"web-minimap",style:e.normalizeStyle(a.transformStyle)},[e.createElementVNode("div",{class:"minimap-background-image",style:e.normalizeStyle(a.backgroundStyle)},null,4),e.createElementVNode("div",{class:"center-pivot",style:e.normalizeStyle(i.centerPivotStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.camerasWithRelativePosition,l=>(e.openBlock(),e.createElementBlock("div",{key:l.id},[a.currentCameraObject.floorLevel===l.floorLevel?(e.openBlock(),e.createElementBlock("div",{key:0,class:"single-camera-marker",style:e.normalizeStyle(a.cameraPositionStyle(l))},null,4)):e.createCommentVNode("",!0),a.currentCameraObject.id===l.id?(e.openBlock(),e.createBlock(s,{key:1,class:"rotation-marker-component",rotation:a.rotationAngle,style:e.normalizeStyle({...a.cameraPositionStyle(l)})},null,8,["rotation","style"])):e.createCommentVNode("",!0)]))),128))],4)],4)])])}const Mi=g(Vi,[["render",Li],["__scopeId","data-v-341837d7"]]),Di={name:"Moveable",emits:["close"],data(){return{currentSize:"big"}},mounted(){Fi(document.getElementById("moveableDiv"))},methods:{toggleSize(){this.currentSize==="big"?this.currentSize="small":this.currentSize="big"}}};function Fi(t){const o=document.getElementById(t.id+"header");if(!o)return;var n=0,r=0,i=0,a=0;o.addEventListener("touchstart",s,{passive:!1}),o.addEventListener("touchend",d,{passive:!1}),o.addEventListener("mousedown",s,{passive:!1}),o.addEventListener("mouseup",d,{passive:!1});function s(m){m=m||window.event,m.preventDefault();let p=m;m.type==="touchstart"&&(p=m.touches[0]),i=p.clientX,a=p.clientY,document.addEventListener("mouseup",d,{passive:!1}),document.addEventListener("touchend",d,{passive:!1}),document.addEventListener("mousemove",l,{passive:!1}),document.addEventListener("touchmove",l,{passive:!1})}function l(m){m=m||window.event,m.preventDefault();let p=m;m.type==="touchmove"&&(p=m.touches[0]),n=i-p.clientX,r=a-p.clientY,i=p.clientX,a=p.clientY,t.style.top=t.offsetTop-r+"px",t.style.left=t.offsetLeft-n+"px"}function d(){document.removeEventListener("mouseup",d,!1),document.removeEventListener("mousemove",l,!1),document.removeEventListener("touchend",d,!1),document.removeEventListener("touchmove",l,!1)}}const Oi=(t=>(e.pushScopeId("data-v-243baf73"),t=t(),e.popScopeId(),t))(()=>e.createElementVNode("div",{id:"filler-div"},null,-1)),Ti={class:"moveable-body",id:"moveableDivheader"},Ri={class:"moveable-footer"};function Ui(t,o,n,r,i,a){const s=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",i.currentSize])},[e.createVNode(s,{class:"close-icon",icon:"mdi-window-close",size:"x-small",onClick:o[0]||(o[0]=l=>t.$emit("close"))}),e.createVNode(s,{class:"resize-icon",icon:"mdi-image-size-select-small",size:"x-small",onClick:a.toggleSize,title:"Resize"},null,8,["onClick"]),e.createVNode(s,{class:"rotate-icon",size:"x-small",icon:"mdi mdi-rotate-right",onClick:o[1]||(o[1]=l=>t.$emit("transform")),title:"Rotate"}),Oi,e.createElementVNode("div",Ti,[e.renderSlot(t.$slots,"body",{class:"slot"},void 0,!0)]),e.createElementVNode("div",Ri,[e.renderSlot(t.$slots,"footer",{},void 0,!0)])],2)}const $i=g(Di,[["render",Ui],["__scopeId","data-v-243baf73"]]),ji={name:"MinimapCompass",components:{QiNorthDirection:L},props:{scale:{type:Number,required:!0},minimapCamera:{type:Object,required:!0},transformAngle:{type:Number,required:!0}},computed:{northDirection(){return this.minimapCamera.rotation?this.minimapCamera.rotation.y+this.transformAngle-90:0}}};function zi(t,o,n,r,i,a){const s=e.resolveComponent("qi-north-direction");return e.openBlock(),e.createElementBlock("div",{class:"minimap-compass",style:e.normalizeStyle({scale:n.scale})},[e.createVNode(s,{class:"north-indicator",longitude:a.northDirection},null,8,["longitude"])],4)}const Hi=g(ji,[["render",zi],["__scopeId","data-v-01730a31"]]),Pi={name:"SunsimulationSlider",emits:["set-background-image"],props:{minimapJSON:{type:Array,required:!0},level:{type:Number,required:!0},root:{type:String,required:!0}},inject:["localMode","fileLoader"],data(){return{imageUrl:"",imageHeight:0,hourMark:new Date().getHours(),imagesPreloading:!0,loading:!0,firstImage:"",preloadedSunSimImages:new Map}},computed:{minimapData(){return this.minimapJSON[this.level]},hourMarkString(){return`${Math.floor(this.hourMark).toString().padStart(2,"0")}:00`},timeString(){if(this.minimapData.sunsimFilesTimeStamps[this.hourMark]){const t=this.minimapData.sunsimFilesTimeStamps[this.hourMark].split(" ");return`${t[0]} ${t[1]}`}return""}},async mounted(){this.firstImage=await this.fetchAndConvertToBase64(this.minimapData.sunsimFiles[this.hourMark]),this.loading=!1;const t=await this.preloadImages(this.minimapJSON);this.preloadedSunSimImages=t,this.imagesPreloading=!1,this.$emit("set-background-image",this.getImageUrl(this.level,this.hourMark))},watch:{hourMark(){const t=this.getImageUrl(this.level,this.hourMark);this.$emit("set-background-image",t)},level:{handler(){this.$emit("set-background-image",this.getImageUrl(this.level,this.hourMark))},immediate:!0}},methods:{getImageUrl(t,o){return this.preloadedSunSimImages.get(`sunsim${t}_${o}`)?this.preloadedSunSimImages.get(`sunsim${t}_${o}`):""},async preloadImages(t){let o=new Map;for(let n=0;n<t.length;n++){const r=t[n].sunsimFiles;for(let i=0;i<r.length;i++){const a=r[i];try{const s=a,l=a.split("."),d=await this.fetchAndConvertToBase64(this.root+s);o.set(l[0],d)}catch{continue}}}return o},async fetchAndConvertToBase64(t){let o=t;this.localMode&&(o=`${this.fileLoader.getURL(t)}`);const r=await(await fetch(o)).blob(),i=await this.convertToBase64(r);return this.base64toImage(i)},base64toImage(t){return"data:image/jpeg;base64,"+t},async convertToBase64(t){return new Promise((o,n)=>{const r=new FileReader;r.onload=()=>{const i=r.result.split(",")[1];o(i)},r.onerror=n,r.readAsDataURL(t)})}}},qi={class:"ss-wrapper"},Qi={class:"slider"},Yi={class:"minimap-sun-slider"},Wi={key:0,class:"time-label"};function Ji(t,o,n,r,i,a){const s=e.resolveComponent("v-progress-linear"),l=e.resolveComponent("v-icon"),d=e.resolveComponent("v-slider");return e.openBlock(),e.createElementBlock("div",qi,[e.createElementVNode("div",Qi,[e.createElementVNode("div",Yi,[i.imagesPreloading?(e.openBlock(),e.createBlock(s,{key:0,indeterminate:"",rounded:"",height:"6",color:"grey lighten-1",class:"mr-2"})):(e.openBlock(),e.createBlock(d,{key:1,modelValue:i.hourMark,"onUpdate:modelValue":o[0]||(o[0]=m=>i.hourMark=m),min:0,max:23,step:1,color:"#373737","track-color":"#373737","thumb-color":"#373737","hide-details":!0},{prepend:e.withCtx(()=>[e.createVNode(l,{color:"#ffab02"},{default:e.withCtx(()=>[e.createTextVNode("mdi-white-balance-sunny")]),_:1})]),_:1},8,["modelValue"]))]),i.imagesPreloading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Wi,e.toDisplayString(a.timeString)+" "+e.toDisplayString(a.hourMarkString),1))])])}const Gi={components:{MiniMapMap:Mi,Moveable:$i,MinimapCompass:Hi,SunsimulationSlider:g(Pi,[["render",Ji],["__scopeId","data-v-86183299"]])},name:"MiniMapV2",emits:["close","set-background-image"],props:{minimapJSON:{type:Array,required:!0},rootUrl:{type:String,required:!0},backgroundImage:{type:String,required:!0},allCameras:{type:Array,required:!0},minimapCamera:{type:Object,required:!0},currentCamera:{type:String,required:!0},level:{type:Number,required:!0},rotation:{type:Number,required:!0}},data(){return{transformAngle:0}},computed:{scale(){let t=1;return this.transformAngle!==0&&(Math.abs(this.transformAngle)%180===0?t=1:t=-1),t}},methods:{setBackgroundImage(t){this.$emit("set-background-image",t)},transform(){this.transformAngle=this.transformAngle+90}}};function Xi(t,o,n,r,i,a){const s=e.resolveComponent("minimap-compass"),l=e.resolveComponent("mini-map-map"),d=e.resolveComponent("sunsimulation-slider"),m=e.resolveComponent("moveable");return e.openBlock(),e.createBlock(m,{onClose:o[0]||(o[0]=p=>t.$emit("close")),onTransform:a.transform},{body:e.withCtx(()=>[e.createVNode(s,{scale:a.scale,minimapCamera:n.minimapCamera,transformAngle:i.transformAngle},null,8,["scale","minimapCamera","transformAngle"]),e.createElementVNode("div",null,[e.createVNode(l,{transformAngle:i.transformAngle,allCameras:n.allCameras,backgroundImage:n.backgroundImage,rotation:n.rotation,currentCamera:n.currentCamera,minimapCamera:n.minimapCamera},null,8,["transformAngle","allCameras","backgroundImage","rotation","currentCamera","minimapCamera"])])]),footer:e.withCtx(()=>[e.createVNode(d,{minimapJSON:n.minimapJSON,root:`${n.rootUrl}/minimap/`,level:n.level,onSetBackgroundImage:a.setBackgroundImage},null,8,["minimapJSON","root","level","onSetBackgroundImage"])]),_:1},8,["onTransform"])}const Zi=g(Gi,[["render",Xi],["__scopeId","data-v-b88a7da2"]]),Ki={temperature:6500,targetLuminance:1,exposureFovScale:.3,UNREAL_BLOOM_ENABLED:!0,sharpenFilter_amount:.6,UNREAL_BLOOOM_STRENGTH:.3,TRANSITION_MOVEMENT_SCALE:1.3,whitePoint:[1,1,1]},ea=e.defineComponent({name:"VirtualTourV2",emits:["on-snapshot","save-settings","on-interior-update","on-camera-update"],components:{PlayerV2:Yo,WaypointCarousel:re,InteriorSelector:nn,Compass:dn,SingleImage:me,TimeOfDay:fn,FloorLevel:en,SocialShare:se,FullScreenButton:de,ViewModeToggle:vn,MiniMapV2:Zi,Disclaimer:ce,Tutorial:Zn,SettingsUI:yi},props:{fileLoader:{type:Object,default:void 0},cdnRoot:{type:String,required:!0},projectSlug:{type:String,required:!0},apartmentId:{type:String,required:!0},defaultInteriorId:{type:String,default:()=>{}},validInteriorIds:{type:Array,default:()=>[]},viewModes:{type:Array,default:()=>["virtualTour","slideShow"]},displayViewModeSwitch:{type:Boolean,default:()=>!0},websiteUrl:{type:String,default:()=>{}},i18n:{type:Object,default:void 0},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:{type:Number,default:()=>0},defaultViewMode:{type:String,default:()=>"virtualTour"},mouseSensitivity:{type:Number,default:()=>1},isInIframe:{type:Boolean,default:()=>!1},adminMode:{type:Boolean,default:()=>!1},playerSettings:{type:Object,default:()=>Ki}},data(){return{showSettings:!1,loading:!0,error:!1,configJSON:void 0,apartmentJSON:void 0,thumbsJSON:void 0,minimapJSON:void 0,playerApi:void 0,currentThumbnailIndex:0,selectedInteriorId:void 0,currentCameraId:void 0,playerCamera:void 0,rotation:0,floorLevel:0,fov:0,showStaticImage:!1,displayMinimap:!1,minimapBackgroundImage:void 0,showUI:!1,fullScreen:new le(document,"player-wrapper")}},provide(){const t=this.i18n?new k(this.i18n.labels,this.i18n.language):new k;return{localMode:this.localMode,fileLoader:this.fileLoader,i18n:t}},computed:{localMode(){return!!this.fileLoader},projectRoot(){let t=`${this.cdnRoot}/${this.projectSlug}`;return this.fileLoader&&(t=""),na(t)},rootUrl(){return`${this.projectRoot}/${this.interiorId}/${this.apartmentId}`},interiorId(){return this.selectedInteriorId},allCameras(){return this.apartmentJSON?this.apartmentJSON.cameras:[]},currentCamera(){if(this.apartmentJSON&&this.currentCameraId)return this.apartmentJSON.cameras.find(t=>t.id===this.cameraId)},floorLevels(){if(this.apartmentJSON){const t=this.apartmentJSON.cameras.map(n=>n.floorLevel);let o=[...new Set(t)];return o=o.sort(),o}else return[]},storey(){let t=0;if(this.apartmentJSON){const o=this.apartmentJSON.cameras.map(i=>i.floorLevel);let n=[...new Set(o)];n=n.sort();const r=n.findIndex(i=>i===this.floorLevel);r!==-1&&(t=r)}return t},selectedInteriorIndex(){return this.interiors.findIndex(t=>t.archetypeID===this.selectedInteriorId)},thumbnails(){return this.thumbsJSON?this.thumbsJSON.cameras.map(t=>({...t,thumbnailUrl:this.getURL(`${this.projectRoot}/${this.interiorId}/${this.apartmentId}/thumbs/200/${t.id}.jpg`),imageUrl:this.getURL(`${this.projectRoot}/${this.interiorId}/${this.apartmentId}/images/1600/${t.id}.jpg`)})):[]},staticImage(){return!this.thumbnails||!this.thumbnails[this.currentThumbnailIndex]?"":this.thumbnails[this.currentThumbnailIndex].imageUrl},interiors(){let t=[];return this.configJSON&&(t=this.configJSON.archetypes),this.validInteriorIds.length?t.filter(o=>this.validInteriorIds.includes(o.archetypeID)):t},interiorIds(){return this.interiors.map(t=>t.archetypeID)},interiorsWithImage(){return this.thumbsJSON?this.interiors.map(t=>({...t,url:`${this.projectRoot}/${t.archetypeID}/${this.apartmentId}/thumbs/200/${this.thumbnails[this.currentThumbnailIndex].id}.jpg`})):[]},minimapCamera(){if(this.minimapJSON)return this.minimapJSON.storeys[this.storey]},hasTimeofDay(){return this.apartmentJSON&&this.apartmentJSON.timeInHours},timeOfDay(){if(this.apartmentJSON&&this.apartmentJSON.timeInHours&&this.showTimeOfDay)return ta(this.apartmentJSON.timeInHours)},refinedMinimapBackgroundImage(){return this.minimapBackgroundImage?this.minimapBackgroundImage:`${this.projectRoot}/${this.interiorId}/${this.apartmentId}/minimap/sunsim0_13.jpg`}},watch:{async cdnRoot(){await this.loadProjectFiles(),this.selectInititalInterior(),await this.loadUnitFiles()},async projectSlug(){await this.loadProjectFiles(),this.selectInititalInterior(),await this.loadUnitFiles()},defaultViewMode:{handler(t){t==="virtualTour"&&(this.showStaticImage=!1),t==="slideShow"&&(this.showStaticImage=!0,this.showUI=!0)},immediate:!0},minimapJSON(t){if(t.storeys[this.storey]){const o=t.storeys[this.storey].defaultSunsimFile;this.minimapBackgroundImage=`${this.projectRoot}/${this.interiorId}/${this.apartmentId}/minimap/${o}`}}},async mounted(){try{await this.loadProjectFiles(),this.selectInititalInterior(),await this.loadUnitFiles(),this.fullScreen.setup(),this.setupScrollevents()}catch{this.error=!0}},methods:{async loadProjectFiles(){this.configJSON=await this.loadConfigJSON(this.projectRoot)},async loadUnitFiles(){if(this.apartmentJSON=await this.loadApartmentJSON(this.projectRoot,this.interiorId,this.apartmentId),this.apartmentJSON&&(this.currentCameraId=this.apartmentJSON.cameras.find(()=>!0).id),this.thumbsJSON=await this.loadThumbsJSON(this.projectRoot,this.interiorId,this.apartmentId),this.thumbsJSON){let t=this.defaultWaypointIndex!==null?this.defaultWaypointIndex:0;this.currentThumbnailIndex=t,this.currentCameraId=this.thumbsJSON.cameras[t].id,this.playerCamera=this.thumbsJSON.cameras[t].id}this.showMiniMap&&(this.minimapJSON=await this.loadminimapJSON(this.projectRoot,this.interiorId,this.apartmentId))},selectInititalInterior(){let t=this.defaultInteriorId;t||(t=this.configJSON.defaultArchetypeID),this.validInteriorIds.length&&!this.validInteriorIds.includes(t)&&(t=this.validInteriorIds[0]),t||(t=this.configJSON.archetypes[0].archetypeID),this.selectedInteriorId=t},setupScrollevents(){const t=document.getElementById("main-canvas");t.addEventListener("touchmove",o,{passive:!1});function o(r){r.preventDefault(),window.scrollBy(0,0)}t.addEventListener("mouseenter",()=>{document.addEventListener("wheel",n,{passive:!1})},{passive:!1}),t.addEventListener("mouseleave",()=>{document.removeEventListener("wheel",n,{passive:!1})},{passive:!1});function n(r){r.preventDefault(),window.scrollBy(0,0)}},async loadConfigJSON(t){try{return await this.loadFile(`${t}/config.json`)}catch(o){console.error("Error loading config.json - ",`${t}/config.json`,o);return}},async loadApartmentJSON(t,o,n){try{return await this.loadFile(`${t}/${o}/${n}/apartment.json`)}catch(r){console.error("Error loading apartment.json - ",`${t}/${o}/${n}/apartment.json`,r);return}},async loadThumbsJSON(t,o,n){try{return await this.loadFile(`${t}/${o}/${n}/thumbs.json`)}catch{console.error("Error loading thumbs.json - ",`${t}/${o}/${n}/thumbs.json`);return}},async loadminimapJSON(t,o,n){try{return await this.loadFile(`${t}/${o}/${n}/minimap/minimap.json`)}catch{console.error("Error loading minimap.json - ",`${t}/${o}/${n}/minimap/minimap.json`);return}},selectInterior(){this.defaultInteriorId?this.selectedInteriorId=this.defaultInteriorId:this.selectedInteriorId=this.configJSON.defaultArchetypeID},nextCamera(){let t=this.currentThumbnailIndex+1;t>=this.thumbnails.length&&(t=0),this.currentThumbnailIndex=t,this.setCurrentCamera(this.thumbnails[this.currentThumbnailIndex].id)},previousCamera(){let t=this.currentThumbnailIndex-1;t<0&&(t=this.thumbnails.length-1),this.currentThumbnailIndex=t,this.setCurrentCamera(this.thumbnails[this.currentThumbnailIndex].id)},goToCamera(t,o=!0){let n=this.thumbnails.findIndex(r=>r.id===t);n!=-1&&(this.currentThumbnailIndex=n,o&&this.setCurrentCamera(t))},setCurrentCamera(t){this.currentCameraId=t},updateSelectedInterior(t){this.selectedInteriorId=t,this.$emit("on-interior-update",t),this.$emit("on-camera-update",this.playerCamera,this.apartmentJSON)},newCameraCallback(t){this.goToCamera(t,!1),this.playerCamera=t,this.$emit("on-camera-update",t,this.apartmentJSON)},newRotationCallback(t){this.rotation=t},newfloorCallback(t){this.floorLevel=t},newFoVCallback(t){this.fov=t},newSizeCallback(t,o){},playerApiCallback(t){this.playerApi=t,this.playerSettings&&this.playerApi.updateSettings(this.playerSettings)},toggleFullscreen(){this.fullScreen.toggle(),window.scrollTo({top:150,behavior:"smooth"})},toggleViewMode(){this.showStaticImage=!this.showStaticImage},setMinimapBackgroundImage(t){this.minimapBackgroundImage=t},async takeSnapshot(){const t=180/Math.PI,o=await this.playerApi.takePhoto(),n=this.playerApi.getRotationEuler(),r=this.playerApi.getCurrentCamera(),i=new kn(o,r),a=[n.x*t,n.y*t,n.z*t];return this.$emit("on-snapshot",i,a),i},getURL(t){let o=t;return this.localMode?o=`${this.fileLoader.getURL(t)}`:this.adminMode&&(o=o+`?v=${Date.now()}`),o},async loadFile(t){const o=this.getURL(t);return await oa(o)},updateSetting(t){this.playerApi.updateSettings(t)},saveSettings(t){this.$emit("save-settings",t)}}});function ta(t){if(t===void 0)return null;const o=Math.floor(t),n=Math.floor((o-t)*60);return{hours:o,minutes:n}}async function oa(t){try{return(await x.get(t)).data}catch(o){throw console.error(o),new Error(o)}}function na(t){return t.replace(/\/$/,"")}const ia={class:"virtual-tour-v2-wrapper"},aa={key:0,class:"player-error"},ra={class:"player-and-components-wrapper"},sa={key:1},la={key:3,class:"settings-panel"},da={key:0,class:"compass-wrapper"},ca={key:1,class:"btn-placeholder mr-2"},ma={key:2,class:"btn-placeholder"},ha={key:0};function pa(t,o,n,r,i,a){const s=e.resolveComponent("mini-map-v-2"),l=e.resolveComponent("single-image"),d=e.resolveComponent("v-btn"),m=e.resolveComponent("floor-level"),p=e.resolveComponent("settings-u-i"),b=e.resolveComponent("disclaimer"),c=e.resolveComponent("compass"),h=e.resolveComponent("time-of-day"),f=e.resolveComponent("tutorial"),w=e.resolveComponent("full-screen-button"),y=e.resolveComponent("social-share"),ba=e.resolveComponent("view-mode-toggle"),fe=e.resolveComponent("waypoint-carousel"),wa=e.resolveComponent("interior-selector"),ka=e.resolveComponent("player-v-2");return e.openBlock(),e.createElementBlock("div",ia,[t.error?(e.openBlock(),e.createElementBlock("div",aa,"Error loading the player!!")):e.createCommentVNode("",!0),e.createElementVNode("div",ra,[!t.fullScreen.isActive&&t.minimapJSON&&t.playerCamera&&t.minimapCamera&&t.displayMinimap?(e.openBlock(),e.createBlock(s,{key:0,allCameras:t.allCameras,rootUrl:t.rootUrl,level:t.storey,backgroundImage:t.refinedMinimapBackgroundImage,minimapJSON:t.minimapJSON.storeys,rotation:t.rotation,currentCamera:t.playerCamera,minimapCamera:t.minimapCamera,onClose:o[0]||(o[0]=z=>t.displayMinimap=!1),onSetBackgroundImage:t.setMinimapBackgroundImage},null,8,["allCameras","rootUrl","level","backgroundImage","minimapJSON","rotation","currentCamera","minimapCamera","onSetBackgroundImage"])):e.createCommentVNode("",!0),t.interiorId&&t.currentCameraId?(e.openBlock(),e.createElementBlock("div",sa,[e.createVNode(ka,{ref:"player","file-loader":t.fileLoader,style:e.normalizeStyle({zIndex:t.showStaticImage?1:2}),showStaticImage:t.showStaticImage,isFullScreen:t.fullScreen.isActive,rootUrl:t.rootUrl,currentCameraId:t.currentCameraId,"mouse-sensitivity":t.mouseSensitivity,"is-in-iframe":t.isInIframe,onNewCameraCallback:t.newCameraCallback,onNewRotationCallback:t.newRotationCallback,onNewFloorCallback:t.newfloorCallback,onNewFovCallback:t.newFoVCallback,onNewSizeCallback:t.newSizeCallback,onPlayerApiCallback:t.playerApiCallback},{"slideshow-image":e.withCtx(()=>[t.showStaticImage?(e.openBlock(),e.createBlock(l,{key:0,image:t.staticImage},null,8,["image"])):e.createCommentVNode("",!0)]),"top-left":e.withCtx(()=>[t.adminMode?e.withDirectives((e.openBlock(),e.createBlock(d,{key:0,density:"comfortable",icon:"mdi-cog-outline",elevation:"3",class:"mr-2",onClick:o[1]||(o[1]=z=>t.showSettings=!t.showSettings)},null,512)),[[e.vShow,t.showUI]]):e.createCommentVNode("",!0),t.minimapJSON&&t.currentCameraId&&t.minimapCamera?e.withDirectives((e.openBlock(),e.createBlock(d,{key:1,density:"comfortable",elevation:"3",icon:"mdi-floor-plan",class:"mr-2",onClick:o[2]||(o[2]=z=>t.displayMinimap=!t.displayMinimap)},null,512)),[[e.vShow,t.showUI]]):e.createCommentVNode("",!0),t.showUI&&t.showFloorLevel&&t.floorLevels.length>1?(e.openBlock(),e.createBlock(m,{key:2,level:t.floorLevel,"floor-levels":t.floorLevels},null,8,["level","floor-levels"])):e.createCommentVNode("",!0),t.showUI&&t.adminMode&&t.showSettings?(e.openBlock(),e.createElementBlock("div",la,[e.createVNode(p,{"project-slug":t.projectSlug,initialSettings:t.playerSettings,onUpdateSettings:t.updateSetting,onSaveSettings:t.saveSettings},null,8,["project-slug","initialSettings","onUpdateSettings","onSaveSettings"])])):e.createCommentVNode("",!0)]),"top-center":e.withCtx(()=>[t.showUI?(e.openBlock(),e.createBlock(b,{key:0,"return-url":t.websiteUrl},null,8,["return-url"])):e.createCommentVNode("",!0)]),"top-right":e.withCtx(()=>[t.apartmentJSON&&t.showCompass?e.withDirectives((e.openBlock(),e.createElementBlock("div",da,[e.createVNode(c,{rotation:t.rotation},null,8,["rotation"])],512)),[[e.vShow,t.showUI]]):e.createCommentVNode("",!0),t.showUI&&t.apartmentJSON&&t.hasTimeofDay&&t.showTimeOfDay?(e.openBlock(),e.createBlock(h,{key:1,hours:t.timeOfDay.hours,minutes:t.timeOfDay.minutes},null,8,["hours","minutes"])):e.createCommentVNode("",!0)]),"center-left":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-transition"},{default:e.withCtx(()=>[t.showStaticImage?(e.openBlock(),e.createBlock(d,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-left",onClick:t.previousCamera},null,8,["onClick"])):e.createCommentVNode("",!0)]),_:1})]),"center-center":e.withCtx(()=>[e.createVNode(f,{project:t.projectRoot,onCloseTutorial:o[3]||(o[3]=z=>t.showUI=!0)},null,8,["project"]),t.fullScreen.isActive&&t.minimapJSON&&t.playerCamera&&t.minimapCamera&&t.displayMinimap?(e.openBlock(),e.createBlock(s,{key:0,allCameras:t.allCameras,rootUrl:t.rootUrl,minimapJSON:t.minimapJSON.storeys,backgroundImage:t.refinedMinimapBackgroundImage,rotation:t.rotation,currentCamera:t.playerCamera,minimapCamera:t.minimapCamera,level:t.storey,onClose:o[4]||(o[4]=z=>t.displayMinimap=!1),onSetBackgroundImage:t.setMinimapBackgroundImage},null,8,["allCameras","rootUrl","minimapJSON","backgroundImage","rotation","currentCamera","minimapCamera","level","onSetBackgroundImage"])):e.createCommentVNode("",!0)]),"center-right":e.withCtx(()=>[e.createVNode(e.Transition,{name:"slide-x-reverse-transition"},{default:e.withCtx(()=>[t.showStaticImage?(e.openBlock(),e.createBlock(d,{key:0,density:"comfortable",elevation:"3",icon:"mdi-chevron-right",onClick:t.nextCamera},null,8,["onClick"])):e.createCommentVNode("",!0)]),_:1})]),"bottom-left":e.withCtx(()=>[t.showUI&&t.showFullScreen?(e.openBlock(),e.createBlock(w,{key:0,isFullScreen:t.fullScreen.isActive,class:"btn-fullscreen",onToggleFullscreen:t.toggleFullscreen},null,8,["isFullScreen","onToggleFullscreen"])):e.createCommentVNode("",!0),t.showUI&&t.showSnapshot?(e.openBlock(),e.createElementBlock("div",ca,[e.createVNode(d,{density:"comfortable",elevation:"3",icon:"mdi-camera",onClick:t.takeSnapshot},null,8,["onClick"])])):e.createCommentVNode("",!0),t.showUI&&t.showShare&&!t.fullScreen.isActive?(e.openBlock(),e.createElementBlock("div",ma,[e.createVNode(y)])):e.createCommentVNode("",!0)]),"bottom-center":e.withCtx(()=>[t.showUI&&t.showCarousel?(e.openBlock(),e.createElementBlock("div",ha,[t.displayViewModeSwitch?(e.openBlock(),e.createBlock(ba,{key:0,"show-static-image":t.showStaticImage,onToggle:t.toggleViewMode},null,8,["show-static-image","onToggle"])):e.createCommentVNode("",!0),t.showUI&&t.fullScreen.isActive?(e.openBlock(),e.createBlock(fe,{key:1,class:e.normalizeClass([t.fullScreen.isActive?"full-screen":""]),thumbnails:t.thumbnails,active:t.currentThumbnailIndex,onNext:t.nextCamera,onPrevious:t.previousCamera,onGoto:t.goToCamera},null,8,["class","thumbnails","active","onNext","onPrevious","onGoto"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),"bottom-right":e.withCtx(()=>[t.showUI&&t.showInteriorOptions&&t.interiorsWithImage?(e.openBlock(),e.createBlock(wa,{key:0,availableArchetypes:t.interiorsWithImage,selectedIndex:t.selectedInteriorIndex,onSelectInterior:t.updateSelectedInterior},null,8,["availableArchetypes","selectedIndex","onSelectInterior"])):e.createCommentVNode("",!0)]),_:1},8,["file-loader","style","showStaticImage","isFullScreen","rootUrl","currentCameraId","mouse-sensitivity","is-in-iframe","onNewCameraCallback","onNewRotationCallback","onNewFloorCallback","onNewFovCallback","onNewSizeCallback","onPlayerApiCallback"]),t.showCarousel&&t.thumbsJSON?(e.openBlock(),e.createBlock(fe,{key:0,thumbnails:t.thumbnails,active:t.currentThumbnailIndex,onNext:t.nextCamera,onPrevious:t.previousCamera,onGoto:t.goToCamera},null,8,["thumbnails","active","onNext","onPrevious","onGoto"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])}const ge=g(ea,[["render",pa],["__scopeId","data-v-f2969973"]]),ua=Object.freeze(Object.defineProperty({__proto__:null,ManualSlideShow:he,QiApartmentChooser:ie,QiApartmentChooserNavigation:q,QiApartmentChooserRaster:F,QiApartmentChooserRotator:Y,QiApartmentChooserSvg:O,QiBuildingChooser:ae,QiBuildingChooserRaster:j,QiBuildingChooserRasterOverlay:X,QiBuildingChooserSceneImageStack:U,QiBuildingChooserSunSimControl:R,QiBuildingChooserSvg:$,QiFloatingCard:N,QiHoverProbe:S,QiNorthDirection:L,QiZoomBox:A,VirtualTourV2:ge},Symbol.toStringTag,{value:"Module"}));class ga{constructor(o){this._data=o}getPixel(o,n){const r=this._data[o][n];if(r!==" "){const i=Number.parseInt(r);return[i,i,i,255]}else return[0,0,0,0]}}const fa=function(o){Object.entries(ua).forEach(([n,r])=>{o.component(n,r)})};u.BatchLoadTracker=T,u.BuildingMap=_,u.BuildingPickerResourceProvider=G,u.BuildingViewerModel=ne,u.CanvasRaster=E,u.DayOfYearSelector=M,u.I18N=k,u.ManualSlideShow=he,u.QiApartmentChooser=ie,u.QiApartmentChooserNavigation=q,u.QiApartmentChooserRaster=F,u.QiApartmentChooserRotator=Y,u.QiApartmentChooserSvg=O,u.QiBuildingChooser=ae,u.QiBuildingChooserRaster=j,u.QiBuildingChooserRasterOverlay=X,u.QiBuildingChooserSceneImageStack=U,u.QiBuildingChooserSunSimControl=R,u.QiBuildingChooserSvg=$,u.QiFloatingCard=N,u.QiHoverProbe=S,u.QiNorthDirection=L,u.QiZoomBox=A,u.ResourceLoader=v,u.SampleRaster=ga,u.SceneRotator=ee,u.VirtualTourV2=ge,u.default=fa,u.throttle=P,Object.defineProperties(u,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});