@qispace/vue3-player 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/apartmentChooser/QiApartmentChooser.vue.d.ts +1 -471
- package/dist/components/apartmentChooser/QiApartmentChooserNavigation.vue.d.ts +6 -6
- package/dist/components/apartmentChooser/QiApartmentChooserRaster.vue.d.ts +1 -151
- package/dist/components/apartmentChooser/QiApartmentChooserRotator.vue.d.ts +5 -7
- package/dist/components/apartmentChooser/QiApartmentChooserSvg.vue.d.ts +1 -124
- package/dist/components/buildingPicker/QiBuildingChooser.vue.d.ts +8 -313
- package/dist/components/buildingPicker/QiBuildingChooserRaster.vue.d.ts +1 -154
- package/dist/components/buildingPicker/QiBuildingChooserRasterOverlay.vue.d.ts +5 -6
- package/dist/components/buildingPicker/QiBuildingChooserSceneImageStack.vue.d.ts +5 -6
- package/dist/components/buildingPicker/QiBuildingChooserSunSimControl.vue.d.ts +2 -2
- package/dist/components/buildingPicker/QiBuildingChooserSvg.vue.d.ts +1 -156
- package/dist/components/shared/QiZoomBox.vue.d.ts +2 -2
- package/dist/components/virtualTourV2/FloorLevel.vue.d.ts +2 -2
- package/dist/components/virtualTourV2/FullScreenButton.vue.d.ts +1 -1
- package/dist/components/virtualTourV2/InteriorSelector.vue.d.ts +1 -1
- package/dist/components/virtualTourV2/Player.vue.d.ts +12 -12
- package/dist/components/virtualTourV2/SettingsUI.vue.d.ts +7 -7
- package/dist/components/virtualTourV2/Tutorial.vue.d.ts +2 -2
- package/dist/components/virtualTourV2/ViewModeToggle.vue.d.ts +1 -1
- package/dist/components/virtualTourV2/VirtualTourV2.vue.d.ts +29 -31
- package/dist/components/virtualTourV2/index.d.ts +0 -16
- package/dist/components/virtualTourV2/minimapv2/MiniMapMap.vue.d.ts +1 -1
- package/dist/components/virtualTourV2/minimapv2/MiniMapV2.vue.d.ts +2 -2
- package/dist/components/virtualTourV2/minimapv2/Moveable.vue.d.ts +1 -1
- package/dist/components/virtualTourV2/minimapv2/SunsimulationSlider.vue.d.ts +1 -1
- package/dist/index.d.ts +448 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/style.css +1 -0
- package/dist/{vue3-player.mjs → vue3-player.js} +3257 -3629
- package/dist/vue3-player.umd.cjs +1 -0
- package/package.json +33 -16
- package/src/components/buildingPicker/QiBuildingChooser.vue +7 -7
- package/src/components/virtualTourV2/Player.vue +64 -64
- package/src/components/virtualTourV2/index.ts +20 -17
- package/dist/components/virtualTourV2/ManualSlideShow.vue.d.ts +0 -73
- package/dist/components/virtualTourV2/ManualSlideShowPlayer.vue.d.ts +0 -15
- package/dist/components/virtualTourV2/ScrollHelper.vue.d.ts +0 -16
- package/dist/entry.css +0 -1
- package/dist/vue3-player.umd.js +0 -2
- package/src/lib/apartmentChooser/BuildingViewerModel.js +0 -60
- package/src/lib/apartmentChooser/CircularSlideshow.js +0 -66
- package/src/lib/apartmentChooser/RotationStep.js +0 -31
- package/src/lib/apartmentChooser/SceneRotator.js +0 -25
- package/src/lib/apartmentChooser/index.js +0 -3
- package/src/lib/apartmentChooser/throttle.js +0 -15
- package/src/lib/buildingPicker/BuildingMap.js +0 -24
- package/src/lib/buildingPicker/BuildingPickerResourceProvider.js +0 -97
- package/src/lib/buildingPicker/CanvasRaster.js +0 -29
- package/src/lib/buildingPicker/DayOfYearSelector.js +0 -36
- package/src/lib/buildingPicker/SampleRaster.js +0 -14
- package/src/lib/buildingPicker/index.js +0 -5
- package/src/lib/index.js +0 -3
- package/src/lib/shared/BatchLoadTracker.js +0 -52
- package/src/lib/shared/I18N.js +0 -65
- package/src/lib/shared/ResourceLoader.js +0 -33
- package/src/lib/shared/index.js +0 -3
- package/src/lib/virtualTour/CameraSnapshot.js +0 -42
- package/src/lib/virtualTour/FullscreenModel.js +0 -69
- package/src/lib/virtualTour/textures/arrow.png +0 -0
- package/src/lib/virtualTour/textures/compass-bg.png +0 -0
- package/src/lib/virtualTour/textures/compass-needle.png +0 -0
- package/src/lib/virtualTour/textures/compass-north.png +0 -0
- package/src/lib/virtualTour/textures/floor-1.svg +0 -4
- package/src/lib/virtualTour/textures/floor-2.svg +0 -4
- package/src/lib/virtualTour/textures/marker.png +0 -0
- package/src/lib/virtualTour/textures/tod-sun.png +0 -0
|
@@ -39,18 +39,18 @@
|
|
|
39
39
|
</div>
|
|
40
40
|
</template>
|
|
41
41
|
<script>
|
|
42
|
-
import { PlayerV2 } from
|
|
43
|
-
import { isBrowser } from
|
|
42
|
+
import { PlayerV2 } from '@qispace/player-core'
|
|
43
|
+
import { isBrowser } from 'browser-or-node'
|
|
44
44
|
|
|
45
45
|
export default {
|
|
46
|
-
name:
|
|
46
|
+
name: 'Player',
|
|
47
47
|
emits: [
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
'new-camera-callback',
|
|
49
|
+
'new-rotation-callback',
|
|
50
|
+
'new-floor-callback',
|
|
51
|
+
'new-fov-callback',
|
|
52
|
+
'playerApi-callback',
|
|
53
|
+
'new-size-callback',
|
|
54
54
|
],
|
|
55
55
|
props: {
|
|
56
56
|
fileLoader: {
|
|
@@ -72,141 +72,141 @@ export default {
|
|
|
72
72
|
playerFoV: 0,
|
|
73
73
|
playerWidth: 0,
|
|
74
74
|
playerHeight: 0,
|
|
75
|
-
}
|
|
75
|
+
}
|
|
76
76
|
},
|
|
77
77
|
watch: {
|
|
78
78
|
async rootUrl(newValue) {
|
|
79
79
|
if (this.playerAPI) {
|
|
80
|
-
await this.playerAPI.loadInterior(newValue, this.playerCamera, false)
|
|
81
|
-
this.setPlayerSize()
|
|
80
|
+
await this.playerAPI.loadInterior(newValue, this.playerCamera, false)
|
|
81
|
+
this.setPlayerSize()
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
fileLoader: {
|
|
85
85
|
async handler(newValue) {
|
|
86
86
|
if (this.playerAPI) {
|
|
87
|
-
await this.playerAPI.loadInterior(this.rootUrl, undefined, false)
|
|
88
|
-
this.setPlayerSize()
|
|
87
|
+
await this.playerAPI.loadInterior(this.rootUrl, undefined, false)
|
|
88
|
+
this.setPlayerSize()
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
deep: true,
|
|
92
92
|
},
|
|
93
93
|
currentCameraId(newCameraId) {
|
|
94
94
|
if (this.playerAPI) {
|
|
95
|
-
this.playerCamera = newCameraId
|
|
96
|
-
this.playerAPI.goToCamera(newCameraId, true)
|
|
95
|
+
this.playerCamera = newCameraId
|
|
96
|
+
this.playerAPI.goToCamera(newCameraId, true)
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
playerAPI(playerAPI) {
|
|
100
|
-
this.$emit(
|
|
101
|
-
const firstCamera = playerAPI.getCurrentCamera()
|
|
100
|
+
this.$emit('playerApi-callback', playerAPI)
|
|
101
|
+
const firstCamera = playerAPI.getCurrentCamera()
|
|
102
102
|
if (firstCamera) {
|
|
103
|
-
this.playerCamera = firstCamera.id
|
|
103
|
+
this.playerCamera = firstCamera.id
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
},
|
|
107
107
|
async mounted() {
|
|
108
|
-
window.addEventListener(
|
|
109
|
-
this.setPlayerSize()
|
|
108
|
+
window.addEventListener('resize', this.setPlayerSize)
|
|
109
|
+
this.setPlayerSize()
|
|
110
110
|
|
|
111
111
|
const newRotation = (newRotation) => {
|
|
112
|
-
const rot = newRotation + 0
|
|
112
|
+
const rot = newRotation + 0
|
|
113
113
|
|
|
114
|
-
this.$emit(
|
|
115
|
-
this.playerRotation = rot
|
|
116
|
-
}
|
|
114
|
+
this.$emit('new-rotation-callback', rot)
|
|
115
|
+
this.playerRotation = rot
|
|
116
|
+
}
|
|
117
117
|
|
|
118
118
|
const newFOV = (newFov) => {
|
|
119
|
-
this.$emit(
|
|
120
|
-
this.playerFoV = newFov
|
|
121
|
-
}
|
|
119
|
+
this.$emit('new-fov-callback', newFov)
|
|
120
|
+
this.playerFoV = newFov
|
|
121
|
+
}
|
|
122
122
|
|
|
123
123
|
const newCamera = (newCamera) => {
|
|
124
|
-
this.$emit(
|
|
125
|
-
this.$emit(
|
|
124
|
+
this.$emit('new-camera-callback', newCamera.id)
|
|
125
|
+
this.$emit('new-floor-callback', newCamera.floorLevel)
|
|
126
126
|
|
|
127
127
|
if (this.playerAPI) {
|
|
128
|
-
this.playerAPI.resetMarkerBehaviour(0)
|
|
128
|
+
this.playerAPI.resetMarkerBehaviour(0)
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
this.playerCamera = newCamera.id
|
|
132
|
-
}
|
|
131
|
+
this.playerCamera = newCamera.id
|
|
132
|
+
}
|
|
133
133
|
|
|
134
134
|
const callbacks = {
|
|
135
135
|
initialized: () => {
|
|
136
|
-
this.playerAPI = PlayerV2.Main.getPlayerAPI()
|
|
137
|
-
const firstCamera = this.playerAPI.getCurrentCamera()
|
|
138
|
-
if (firstCamera) this.playerCamera = firstCamera.id
|
|
139
|
-
this.$emit(
|
|
136
|
+
this.playerAPI = PlayerV2.Main.getPlayerAPI()
|
|
137
|
+
const firstCamera = this.playerAPI.getCurrentCamera()
|
|
138
|
+
if (firstCamera) this.playerCamera = firstCamera.id
|
|
139
|
+
this.$emit('new-camera-callback', this.playerCamera)
|
|
140
140
|
},
|
|
141
141
|
newCamera,
|
|
142
142
|
newFOV,
|
|
143
143
|
newRotation,
|
|
144
|
-
}
|
|
144
|
+
}
|
|
145
145
|
|
|
146
146
|
// constructor(public rootUrl: string, public target:string = 'qiplayerCanvas', events:EventManager, apartmentJson: string = undefined, startCameraId:string=undefined, fileLoader: LocalFileLoader | undefined) {
|
|
147
|
-
if (!isBrowser) return
|
|
147
|
+
if (!isBrowser) return
|
|
148
148
|
|
|
149
149
|
const mainScene = await new PlayerV2.Main(
|
|
150
150
|
this.rootUrl,
|
|
151
|
-
|
|
151
|
+
'qpc',
|
|
152
152
|
callbacks,
|
|
153
153
|
undefined,
|
|
154
154
|
this.currentCameraId,
|
|
155
155
|
this.fileLoader
|
|
156
|
-
)
|
|
156
|
+
)
|
|
157
157
|
|
|
158
158
|
if (mainScene) {
|
|
159
|
-
mainScene.handleWindowResize()
|
|
159
|
+
mainScene.handleWindowResize()
|
|
160
160
|
window.addEventListener(
|
|
161
|
-
|
|
161
|
+
'resize',
|
|
162
162
|
mainScene.handleWindowResize.bind(mainScene)
|
|
163
|
-
)
|
|
164
|
-
mainScene.animate()
|
|
163
|
+
)
|
|
164
|
+
mainScene.animate()
|
|
165
165
|
|
|
166
|
-
this.playerAPI = PlayerV2.Main.getPlayerAPI()
|
|
166
|
+
this.playerAPI = PlayerV2.Main.getPlayerAPI()
|
|
167
167
|
|
|
168
168
|
if (this.playerAPI)
|
|
169
|
-
this.playerAPI.setLookSensitivity(this.mouseSensitivity)
|
|
169
|
+
this.playerAPI.setLookSensitivity(this.mouseSensitivity)
|
|
170
170
|
}
|
|
171
171
|
},
|
|
172
172
|
beforeUnmount() {
|
|
173
173
|
if (this.playerAPI) {
|
|
174
|
-
this.playerAPI.destroy()
|
|
174
|
+
this.playerAPI.destroy()
|
|
175
175
|
}
|
|
176
176
|
},
|
|
177
177
|
methods: {
|
|
178
178
|
findClosestAncestor(element, className) {
|
|
179
|
-
let el = element
|
|
180
|
-
let returnElement = element
|
|
179
|
+
let el = element
|
|
180
|
+
let returnElement = element
|
|
181
181
|
while ((el = el.parentNode) && el.className.indexOf(className) < 0);
|
|
182
|
-
returnElement = el
|
|
182
|
+
returnElement = el
|
|
183
183
|
|
|
184
|
-
return returnElement
|
|
184
|
+
return returnElement
|
|
185
185
|
},
|
|
186
186
|
setPlayerSize() {
|
|
187
|
-
let AR = 16 / 9
|
|
188
|
-
let element = document.querySelector(
|
|
189
|
-
if (!element) return
|
|
187
|
+
let AR = 16 / 9
|
|
188
|
+
let element = document.querySelector('#player-sizer')
|
|
189
|
+
if (!element) return
|
|
190
190
|
|
|
191
|
-
let width = element.offsetWidth
|
|
192
|
-
let height = width * (1 / AR)
|
|
191
|
+
let width = element.offsetWidth
|
|
192
|
+
let height = width * (1 / AR)
|
|
193
193
|
|
|
194
194
|
if (window.innerWidth <= 600 || width <= 600) {
|
|
195
|
-
height = window.innerHeight * 0.75
|
|
195
|
+
height = window.innerHeight * 0.75
|
|
196
196
|
|
|
197
197
|
if (this.isInIframe) {
|
|
198
|
-
height = screen.height * 0.65
|
|
198
|
+
height = screen.height * 0.65
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
width = height * (1 / AR)
|
|
201
|
+
width = height * (1 / AR)
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
element.style.height = height +
|
|
205
|
-
element.style.width = width +
|
|
206
|
-
this.$emit(
|
|
204
|
+
element.style.height = height + 'px'
|
|
205
|
+
element.style.width = width + 'px'
|
|
206
|
+
this.$emit('new-size-callback', width, height)
|
|
207
207
|
},
|
|
208
208
|
},
|
|
209
|
-
}
|
|
209
|
+
}
|
|
210
210
|
</script>
|
|
211
211
|
<style scoped>
|
|
212
212
|
#player-wrapper {
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
export {default as Compass } from './Compass.vue'
|
|
2
|
-
export {default as Disclaimer } from './Disclaimer.vue'
|
|
3
|
-
export {default as FloorLevel } from './FloorLevel.vue'
|
|
4
|
-
export {default as FullScreenButton } from './FullScreenButton.vue'
|
|
5
|
-
export {default as InteriorSelector } from './InteriorSelector.vue'
|
|
6
|
-
export {default as ManualSlideShow } from './ManualSlideShow.vue'
|
|
7
|
-
export {default as ManualSlideShowPlayer } from './ManualSlideShowPlayer.vue'
|
|
8
|
-
export {default as Player } from './Player.vue'
|
|
9
|
-
export {default as ScrollHelper } from './ScrollHelper.vue'
|
|
10
|
-
export {default as SettingsUI } from './SettingsUI.vue'
|
|
11
|
-
export {default as SingleImage } from './SingleImage.vue'
|
|
12
|
-
export {default as SocialShare } from './SocialShare.vue'
|
|
13
|
-
export {default as TimeOfDay } from './TimeOfDay.vue'
|
|
14
|
-
export {default as Tutorial } from './Tutorial.vue'
|
|
15
|
-
export {default as ViewModeToggle } from './ViewModeToggle.vue'
|
|
16
|
-
|
|
17
|
-
export {default as WaypointCarousel } from './WaypointCarousel.vue'
|
|
1
|
+
// // export {default as Compass } from './Compass.vue'
|
|
2
|
+
// export {default as Disclaimer } from './Disclaimer.vue'
|
|
3
|
+
// export {default as FloorLevel } from './FloorLevel.vue'
|
|
4
|
+
// export {default as FullScreenButton } from './FullScreenButton.vue'
|
|
5
|
+
// export {default as InteriorSelector } from './InteriorSelector.vue'
|
|
6
|
+
// export {default as ManualSlideShow } from './ManualSlideShow.vue'
|
|
7
|
+
// export {default as ManualSlideShowPlayer } from './ManualSlideShowPlayer.vue'
|
|
8
|
+
// export {default as Player } from './Player.vue'
|
|
9
|
+
// export {default as ScrollHelper } from './ScrollHelper.vue'
|
|
10
|
+
// export {default as SettingsUI } from './SettingsUI.vue'
|
|
11
|
+
// export {default as SingleImage } from './SingleImage.vue'
|
|
12
|
+
// export {default as SocialShare } from './SocialShare.vue'
|
|
13
|
+
// export {default as TimeOfDay } from './TimeOfDay.vue'
|
|
14
|
+
// export {default as Tutorial } from './Tutorial.vue'
|
|
15
|
+
// export {default as ViewModeToggle } from './ViewModeToggle.vue'
|
|
16
|
+
|
|
17
|
+
// export {default as WaypointCarousel } from './WaypointCarousel.vue'
|
|
18
|
+
|
|
19
|
+
export { default as VirtualTourV2 } from './VirtualTourV2.vue'
|
|
20
|
+
// export {default as ManualSlideShow } from './ManualSlideShow.vue'
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
2
|
-
images: {
|
|
3
|
-
type: ArrayConstructor;
|
|
4
|
-
required: true;
|
|
5
|
-
};
|
|
6
|
-
websiteUrl: {
|
|
7
|
-
type: StringConstructor;
|
|
8
|
-
default: () => undefined;
|
|
9
|
-
};
|
|
10
|
-
i18n: {
|
|
11
|
-
type: ObjectConstructor;
|
|
12
|
-
default: undefined;
|
|
13
|
-
};
|
|
14
|
-
showFullScreen: {
|
|
15
|
-
type: BooleanConstructor;
|
|
16
|
-
default: () => boolean;
|
|
17
|
-
};
|
|
18
|
-
showShare: {
|
|
19
|
-
type: BooleanConstructor;
|
|
20
|
-
default: () => boolean;
|
|
21
|
-
};
|
|
22
|
-
defaultWaypointIndex: {
|
|
23
|
-
type: NumberConstructor;
|
|
24
|
-
default: () => number;
|
|
25
|
-
};
|
|
26
|
-
}, any, {
|
|
27
|
-
loading: boolean;
|
|
28
|
-
error: boolean;
|
|
29
|
-
currentIndex: number;
|
|
30
|
-
currentImageId: undefined;
|
|
31
|
-
fullScreen: FullscreenModel;
|
|
32
|
-
}, {
|
|
33
|
-
imagesWithThumbnails(): any;
|
|
34
|
-
currentImage(): any;
|
|
35
|
-
}, {
|
|
36
|
-
toggleFullscreen(): void;
|
|
37
|
-
nextImage(): void;
|
|
38
|
-
previousImage(): void;
|
|
39
|
-
goToImage(imageId: any, updatePlayerImage?: boolean): void;
|
|
40
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
41
|
-
images: {
|
|
42
|
-
type: ArrayConstructor;
|
|
43
|
-
required: true;
|
|
44
|
-
};
|
|
45
|
-
websiteUrl: {
|
|
46
|
-
type: StringConstructor;
|
|
47
|
-
default: () => undefined;
|
|
48
|
-
};
|
|
49
|
-
i18n: {
|
|
50
|
-
type: ObjectConstructor;
|
|
51
|
-
default: undefined;
|
|
52
|
-
};
|
|
53
|
-
showFullScreen: {
|
|
54
|
-
type: BooleanConstructor;
|
|
55
|
-
default: () => boolean;
|
|
56
|
-
};
|
|
57
|
-
showShare: {
|
|
58
|
-
type: BooleanConstructor;
|
|
59
|
-
default: () => boolean;
|
|
60
|
-
};
|
|
61
|
-
defaultWaypointIndex: {
|
|
62
|
-
type: NumberConstructor;
|
|
63
|
-
default: () => number;
|
|
64
|
-
};
|
|
65
|
-
}>>, {
|
|
66
|
-
i18n: Record<string, any>;
|
|
67
|
-
websiteUrl: string;
|
|
68
|
-
showFullScreen: boolean;
|
|
69
|
-
showShare: boolean;
|
|
70
|
-
defaultWaypointIndex: number;
|
|
71
|
-
}, {}>;
|
|
72
|
-
export default _default;
|
|
73
|
-
import { FullscreenModel } from '../../lib/virtualTour/FullscreenModel';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
2
|
-
isFullScreen: {
|
|
3
|
-
type: BooleanConstructor;
|
|
4
|
-
required: true;
|
|
5
|
-
};
|
|
6
|
-
}, any, {}, {}, {
|
|
7
|
-
findClosestAncestor(element: any, className: any): any;
|
|
8
|
-
setPlayerSize(): void;
|
|
9
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
10
|
-
isFullScreen: {
|
|
11
|
-
type: BooleanConstructor;
|
|
12
|
-
required: true;
|
|
13
|
-
};
|
|
14
|
-
}>>, {}, {}>;
|
|
15
|
-
export default _default;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
2
|
-
scrollTo: {
|
|
3
|
-
type: StringConstructor;
|
|
4
|
-
default: () => string;
|
|
5
|
-
};
|
|
6
|
-
}, any, any, {}, {
|
|
7
|
-
scroll(): void;
|
|
8
|
-
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
-
scrollTo: {
|
|
10
|
-
type: StringConstructor;
|
|
11
|
-
default: () => string;
|
|
12
|
-
};
|
|
13
|
-
}>>, {
|
|
14
|
-
scrollTo: string;
|
|
15
|
-
}, {}>;
|
|
16
|
-
export default _default;
|
package/dist/entry.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@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}}.compass-needle{transition:transform .5s;transition-timing-function:ease-out}.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}.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}.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}#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-d61b0474]{position:relative;overflow:hidden}#player-sizer[data-v-d61b0474]{display:flex;justify-content:center;align-items:center;overflow:hidden}div#main-canvas[data-v-d61b0474]{top:50%;left:50%;position:absolute;transform:translate(-50%,-50%)}.player-control[data-v-d61b0474]{display:flex;position:absolute;z-index:3}#controls-top-left[data-v-d61b0474]{top:10px;left:10px}#controls-top-center[data-v-d61b0474]{top:10px;left:50%;transform:translate(-50%);z-index:4;flex-direction:column}#controls-top-right[data-v-d61b0474]{top:10px;right:10px;justify-content:flex-end;align-content:flex-end}#controls-center-left[data-v-d61b0474]{left:10px;top:50%;transform:translateY(-50%)}#controls-center-center[data-v-d61b0474]{top:50%;left:50%;transform:translate(-50%,-50%);align-items:center;justify-content:space-around;z-index:20}#controls-center-right[data-v-d61b0474]{top:50%;right:10px;transform:translateY(-50%);justify-content:flex-end;align-items:center}#controls-bottom-left[data-v-d61b0474]{bottom:10px;left:10px;z-index:5}#controls-bottom-center[data-v-d61b0474]{bottom:10px;left:50%;transform:translate(-50%);align-items:flex-end;justify-content:space-around;z-index:4}#controls-bottom-right[data-v-d61b0474]{bottom:10px;right:10px;justify-content:flex-end;align-content:flex-end;align-items:flex-end;z-index:5}span#moving-arrow[data-v-68e88af1]{display:block;animation-name:tween-68e88af1;animation-duration:1s;animation-iteration-count:infinite;background-image:url('data:image/svg+xml,<svg focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%2370757a" d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></svg>');display:inline-block;height:24px;width:24px}@keyframes tween-68e88af1{0%{background-position:0px 0px}to{background-position:0px 4px}}.scroll-helper-wrapper[data-v-68e88af1]{padding:10px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:#fff;background:#000;background:linear-gradient(180deg,#0000 10%,#000 50%,#0000);text-align:center;visibility:hidden;position:fixed;bottom:0;right:0}@media only screen and (max-width: 600px){.scroll-helper-wrapper[data-v-68e88af1]{visibility:visible}}.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}.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}.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-547d8112]{position:absolute;right:5px;top:50px;z-index:11}.compass-wrapper[data-v-5e036d71]{width:50px}.player-and-components-wrapper[data-v-5e036d71]{position:relative}.static-image[data-v-5e036d71]{position:absolute;top:0;left:0;width:100%;height:auto}button.v-btn[data-v-5e036d71]{background:#fff}.waypoint-carousel.full-screen[data-v-5e036d71]{scale:.5}div#controls-bottom-center>div[data-v-5e036d71]{display:flex;flex-direction:column;align-items:center}.player-error[data-v-5e036d71]{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-5e036d71]{display:none}}@media all and (orientation: landscape) and (max-height: 499px){#btn-fullscreen[data-v-5e036d71]{display:none}}.settings-panel[data-v-5e036d71]{position:absolute;top:0;left:0;z-index:10;width:500px;transform:scale(.8);transform-origin:left}
|