@vsleem-realsee-viewer/dualsee-plugin 2.0.2 → 2.0.4

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/README.md CHANGED
@@ -0,0 +1,210 @@
1
+ # Dualsee 双重场景组件
2
+
3
+ ## 介绍
4
+
5
+ 用于将双重场景展示在页面上的组件,组件有视图对比,BIM对比和相关交互等功能
6
+
7
+ ### DualseeProps 参数说明
8
+
9
+ | 参数名 | 类型 | 必填 | 说明 |
10
+ | --------------------- | ---------------- | ---- | ---------------- |
11
+ | `appSetting` | `AppSetting` | 否 | 全局设置 |
12
+ | `dualseeSetting` | `DualseeSetting` | 否 | 双重场景配置 |
13
+ | `dualseeLock` | `LockProps` | 否 | 双重场景锁配置 |
14
+ | `basicRealsee` | `RealseeProps` | 是 | 基础全景 |
15
+ | `referRealsee` | `RealseeProps` | 否 | 对比全景 |
16
+ | `referBimsee` | `BimseeProps` | 否 | 对比BIM |
17
+ | `dualseeLockVisible` | `boolean` | 否 | 锁是否可见 |
18
+ | `referRealseeVisible` | `boolean` | 否 | 对比全景是否可见 |
19
+ | `referBimseeVisible` | `boolean` | 否 | 对比BIM是否可见 |
20
+
21
+ ### DualseeSetting 类型说明
22
+
23
+ | 参数名 | 类型 | 必填 | 说明 |
24
+ | ------------------ | --------- | ---- | -------------------------------- |
25
+ | `enableMatchPoint` | `boolean` | 否 | 是否开启点匹配(默认true) |
26
+ | `maxMatchDistance` | `number` | 否 | 匹配点最大距离(毫米,默认5000) |
27
+
28
+ ### DualseeElement 实例对象
29
+
30
+ | 方法/属性 | 类型签名 | 说明 |
31
+ | ---------------------- | --------------------------------------------------- | ------------------------ |
32
+ | `getState` | `() => UpdatableDualseeProps` | 获取当前配置选项 |
33
+ | `setState` | `(options: Partial<UpdatableDualseeProps>) => void` | 设置配置选项 |
34
+ | `getDualseeLock` | `() => LockElement \| undefined` | 获取锁元素引用 |
35
+ | `getBasicRealsee` | `() => RealseeElement \| undefined` | 获取基础全景元素引用 |
36
+ | `getReferRealsee` | `() => RealseeElement \| undefined` | 获取对比全景元素引用 |
37
+ | `getReferBimsee` | `() => BimseeElement \| undefined` | 获取对比BIM元素引用 |
38
+ | `toggleReferRealsee` | `() => void` | 切换对比全景显示状态 |
39
+ | `showReferRealsee` | `() => void` | 显示对比全景 |
40
+ | `hideReferRealsee` | `() => void` | 隐藏对比全景 |
41
+ | `toggleReferBimsee` | `() => void` | 切换Bimsee面全景显示状态 |
42
+ | `showReferBimsee` | `() => Promise<void>` | 显示Bimsee面全景 |
43
+ | `hideReferBimsee` | `() => void` | 隐藏Bimsee面全景 |
44
+ | `setReferClosestPoint` | `(current: TrackPoint) => void` | 设置到对比视图最近的点 |
45
+
46
+ ### DualseeEvents 事件说明
47
+
48
+ | 事件名称 | 描述 | 参数类型 |
49
+ | -------------------------------- | ---------------------- | ------------------------------- |
50
+ | `find-refer-closest-point` | 查找对比最近点 | (point?:TrackPoint)=>void |
51
+ | `basic-ready` | 基础场景就绪 | () => void |
52
+ | `basic-change-model` | 基础场景切换模型 | (model: Coordinate) => void |
53
+ | `basic-change-record` | 基础场景切换记录 | (record: TrackRecord) => void |
54
+ | `basic-change-point` | 基础场景切换点位 | (point: TrackPoint) => void |
55
+ | `basic-map-ready` | 基础地图就绪 | () => void |
56
+ | `basic-map-resize` | 基础地图大小改变 | () => void |
57
+ | `basic-map-collapse` | 基础地图折叠状态改变 | (value: number) => void |
58
+ | `basic-map-dragger` | 基础地图拖拽 | () => void |
59
+ | `basic-map-select-point` | 基础地图选择点位 | (point: TrackPoint) => void |
60
+ | `basic-map-angle-updated` | 基础地图角度更新 | (value: number) => void |
61
+ | `basic-viewer-ready` | 基础查看器就绪 | () => void |
62
+ | `basic-viewer-click` | 基础查看器点击 | (e: any) => void |
63
+ | `basic-viewer-mousedown` | 基础查看器鼠标按下 | (e: any) => void |
64
+ | `basic-viewer-zoom-updated` | 基础查看器缩放更新 | (e: any) => void |
65
+ | `basic-viewer-position-updated` | 基础查看器位置更新 | (e: any) => void |
66
+ | `basic-viewer-panorama-loaded` | 基础全景图加载完成 | (e: any) => void |
67
+ | `basic-viewer-select-point` | 基础查看器选择点位 | (point: TrackPoint) => void |
68
+ | `basic-viewer-select-marker` | 基础查看器选择标记 | (point: TrackPoint) => void |
69
+ | `basic-playbar-ready` | 基础播放条就绪 | () => void |
70
+ | `basic-playbar-backward` | 基础播放条后退 | (value: number) => void |
71
+ | `basic-playbar-pause` | 基础播放条暂停 | (value: number) => void |
72
+ | `basic-playbar-play` | 基础播放条播放 | (value: number) => void |
73
+ | `basic-playbar-forward` | 基础播放条前进 | (value: number) => void |
74
+ | `basic-playbar-slider` | 基础播放条滑块拖动 | (value: number) => void |
75
+ | `basic-playbar-speed-updated` | 基础播放条速度更新 | (speed: number) => void |
76
+ | `basic-playbar-delay-updated` | 基础播放条延迟更新 | (delay: number) => void |
77
+ | `basic-playbar-step-updated` | 基础播放条步进更新 | (step: number) => void |
78
+ | `basic-playbar-select-point` | 基础播放条选择点位 | (point: TrackPoint) => void |
79
+ | `refer-ready` | 对比场景就绪 | () => void |
80
+ | `refer-change-model` | 对比场景切换模型 | (model: Coordinate) => void |
81
+ | `refer-change-record` | 对比场景切换记录 | (record: TrackRecord) => void |
82
+ | `refer-change-point` | 对比场景切换点位 | (point: TrackPoint) => void |
83
+ | `refer-map-ready` | 对比地图就绪 | () => void |
84
+ | `refer-map-resize` | 对比地图大小改变 | () => void |
85
+ | `refer-map-collapse` | 对比地图折叠状态改变 | (value: number) => void |
86
+ | `refer-map-dragger` | 对比地图拖拽 | () => void |
87
+ | `refer-map-select-point` | 对比地图选择点位 | (point: TrackPoint) => void |
88
+ | `refer-map-angle-updated` | 对比地图角度更新 | (value: number) => void |
89
+ | `refer-viewer-ready` | 对比查看器就绪 | () => void |
90
+ | `refer-viewer-click` | 对比查看器点击 | (e: any) => void |
91
+ | `refer-viewer-mousedown` | 对比查看器鼠标按下 | (e: any) => void |
92
+ | `refer-viewer-zoom-updated` | 对比查看器缩放更新 | (e: any) => void |
93
+ | `refer-viewer-position-updated` | 对比查看器位置更新 | (e: any) => void |
94
+ | `refer-viewer-panorama-loaded` | 对比全景图加载完成 | (e: any) => void |
95
+ | `refer-viewer-select-point` | 对比查看器选择点位 | (point: TrackPoint) => void |
96
+ | `refer-viewer-select-marker` | 对比查看器选择标记 | (point: TrackPoint) => void |
97
+ | `refer-playbar-ready` | 对比播放条就绪 | () => void |
98
+ | `refer-playbar-backward` | 对比播放条后退 | (value: number) => void |
99
+ | `refer-playbar-pause` | 对比播放条暂停 | (value: number) => void |
100
+ | `refer-playbar-play` | 对比播放条播放 | (value: number) => void |
101
+ | `refer-playbar-forward` | 对比播放条前进 | (value: number) => void |
102
+ | `refer-playbar-slider` | 对比播放条滑块拖动 | (index: number) => void |
103
+ | `refer-playbar-speed-updated` | 对比播放条速度更新 | (speed : number) => void |
104
+ | `refer-playbar-delay-updated` | 对比播放条延迟更新 | (delay: number) => void |
105
+ | `refer-playbar-step-updated` | 对比播放条步进更新 | (step : number) => void |
106
+ | `refer-playbar-select-point` | 对比播放条选择点位 | (point: TrackPoint) => void |
107
+ | `lock-locked-updated` | 锁定状态更新 | (distance: number)=>void |
108
+ | `lock-distance-updated` | 锁定距离更新 | (locked: boolean)=> void |
109
+ | `bimsee-ready` | 组件就绪 | () => void |
110
+ | `bimsee-change-model` | 切换模型 | (model: Coordinate) => void |
111
+ | `bimsee-viewer-ready` | BIM查看器就绪 | (e: any) => void |
112
+ | `bimsee-viewer-click` | BIM查看器点击 | (e: any) => void |
113
+ | `bimsee-viewer-mousedown` | BIM查看器鼠标按下 | (e: any) => void |
114
+ | `bimsee-viewerzoom-updated` | BIM查看器缩放更新 | (e: any) => void |
115
+ | `bimsee-viewer-position-updated` | BIM查看器位置更新 | (e: any) => void |
116
+ | `bimsee-viewer-point-updated` | 设置全景图的坐标点事件 | (state?: CameraStatus ) => void |
117
+
118
+ ### Dualsee Slot 插槽说明
119
+
120
+ | 插槽名称 | 描述 | 参数类型 |
121
+ | --------------------- | ---------------------- | -------------- |
122
+ | `lockButton` | 同步锁按钮插槽 | (slot) => void |
123
+ | `lockDistance` | 同步锁距离显示插槽 | (slot) => void |
124
+ | `basicDefault` | 主视图默认插槽 | (slot) => void |
125
+ | `basicMapDefault` | 主视图地图默认插槽 | (slot) => void |
126
+ | `basicMapExtra` | 主视图地图额外插槽 | (slot) => void |
127
+ | `basicMapLeft` | 主视图地图左侧插槽 | (slot) => void |
128
+ | `basicMapRight` | 主视图地图右侧插槽 | (slot) => void |
129
+ | `basicPlaybarDefault` | 主视图播放条默认插槽 | (slot) => void |
130
+ | `basicPlaybarBox` | 主视图播放条容器插槽 | (slot) => void |
131
+ | `basicPlaybarButton` | 主视图播放条按钮插槽 | (slot) => void |
132
+ | `basicPlaybarCaption` | 主视图播放条标题插槽 | (slot) => void |
133
+ | `basicPlaybarSlider` | 主视图播放条滑块插槽 | (slot) => void |
134
+ | `referDefault` | 对比视图默认插槽 | (slot) => void |
135
+ | `referMapDefault` | 对比视图地图默认插槽 | (slot) => void |
136
+ | `referMapExtra` | 对比视图地图额外插槽 | (slot) => void |
137
+ | `referMapLeft` | 对比视图地图左侧插槽 | (slot) => void |
138
+ | `referMapRight` | 对比视图地图右侧插槽 | (slot) => void |
139
+ | `referPlaybarDefault` | 对比视图播放条默认插槽 | (slot) => void |
140
+ | `referPlaybarBox` | 对比视图播放条容器插槽 | (slot) => void |
141
+ | `referPlaybarButton` | 对比视图播放条按钮插槽 | (slot) => void |
142
+ | `referPlaybarCaption` | 对比视图播放条标题插槽 | (slot) => void |
143
+ | `referPlaybarSlider` | 对比视图播放条滑块插槽 | (slot) => void |
144
+ | `bimseeDefault` | 对比BIM视图默认插槽 | (slot) => void |
145
+ | `default` | 组件默认插槽 | (slot) => void |
146
+
147
+ # Lock 同步锁组件
148
+
149
+ ## 介绍
150
+
151
+ ### LockProps 类型说明
152
+
153
+ | 参数名 | 类型 | 必填 | 说明 |
154
+ | --------------------------- | --------- | ---- | -------------------------------- |
155
+ | `locked` | `boolean` | 否 | 锁状态 |
156
+ | `distance` | `number` | 否 | 两点之间的距离 |
157
+ | `showDistance` | `boolean` | 否 | 是否显示距离 |
158
+ | `readonly enableMatchPoint` | `boolean` | 否 | 是否开启点匹配(默认true) |
159
+ | `readonly maxMatchDistance` | `number` | 否 | 匹配点最大距离(毫米,默认5000) |
160
+
161
+ ### LockElement 实例对象
162
+
163
+ | 方法/属性 | 类型签名 | 说明 |
164
+ | ------------- | --------------------------------------- | ---------- |
165
+ | `getState` | `() => LockProps` | 获取锁参数 |
166
+ | `setState` | `(options: UpdatableLockProps) => void` | 设置锁参数 |
167
+ | `setDistance` | `(distance: number) => void` | 设置距离值 |
168
+ | `setLocked` | `(locked: boolean) => void` | 设置锁状态 |
169
+
170
+ ### LockEvents 事件说明
171
+
172
+ | 事件名称 | 描述 | 参数类型 |
173
+ | ----------------------- | ------------ | ------------------------ |
174
+ | `lock-locked-updated` | 锁定状态更新 | (distance: number)=>void |
175
+ | `lock-distance-updated` | 锁定距离更新 | (locked: boolean)=> void |
176
+
177
+ ### Lock Slot 插槽说明
178
+
179
+ | 插槽名称 | 描述 | 参数类型 |
180
+ | -------- | ------------ | -------------- |
181
+ | button | 锁按钮插槽 | (slot) => void |
182
+ | distance | 距离文本插槽 | (slot) => void |
183
+
184
+ # 导出的类型声明对象
185
+
186
+ ```js
187
+ export type {
188
+ //Dualsee相关
189
+ DualseeSetting, //场景设置
190
+ DualseeProps, //场景参数
191
+ UpdatableDualseeProps, //场景状态
192
+ DualseeElement, //场景对象
193
+ //Lock相关
194
+ LockProps, //锁参数
195
+ UpdatableLockProps, //可更新锁参数
196
+ LockElement, //锁对象
197
+ } from './@vsleem-realsee-viewer/dualsee-plugin';
198
+
199
+ export {
200
+ LOCK_CONFIG, // 锁默认配置
201
+ DUALSEE_SETTING, // 双重场景默认设置
202
+ DUALSEE_CONFIG, //双重场景默认配置
203
+ } from './@vsleem-realsee-viewer/dualsee-plugin';
204
+
205
+ ```
206
+
207
+ # 示例
208
+
209
+ 通过以下方式来注册组件
210
+ ``
package/dist/index.css CHANGED
@@ -7,4 +7,4 @@
7
7
  * Photo Sphere Viewer / Markers Plugin 5.13.4
8
8
  * @copyright 2015-2025 Damien "Mistic" Sorel
9
9
  * @licence MIT (https://opensource.org/licenses/MIT)
10
- */.psv-container{--psv-markers-plugin-loaded: true}.psv-markers{pointer-events:none;position:absolute;z-index:10;width:100%;height:100%}.psv-markers-css3d-container{position:absolute;z-index:21}.psv-marker{display:none;pointer-events:auto}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;overflow:visible;background-size:contain;background-repeat:no-repeat}.psv-marker--css3d{display:block}.vsleem-map-dragger .map-dragger-button[data-v-f432df8d]{position:absolute;z-index:2000;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;opacity:.6;-webkit-user-select:none;user-select:none}.vsleem-map-dragger .map-dragger-button[data-v-f432df8d]:hover{opacity:1}.vsleem-map-dragger .map-dragger-button img[data-v-f432df8d]{width:20px;height:20px;pointer-events:none}.vsleem-map-dragger .collapse[data-v-f432df8d]{top:0;right:0}.vsleem-map-dragger .arraw[data-v-f432df8d]{left:0;bottom:0;cursor:ne-resize}.vsleem-map-wrapper[data-v-9d912a19]{position:relative;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none;cursor:move}.vsleem-map-point[data-v-ae1e4b49]{cursor:pointer}.vsleem-map-point[data-v-ae1e4b49]:hover{fill-opacity:1;stroke:#108ee9!important}.vsleem-map-marker[data-v-f5fe9803],.map-marker-img[data-v-f5fe9803]{cursor:pointer}.map-marker-tag[data-v-f5fe9803]{display:flex;align-items:center;justify-content:center;width:8px;height:8px;background-color:red;border-radius:50%;color:#fff;font-size:4px}.vsleem-map-cad[data-v-f227cd71],.vsleem-map-geo[data-v-e73a9a3c]{position:relative;width:100%;height:100%;-webkit-user-select:none;user-select:none}.vsleem-map[data-v-1fb1ffd6]{position:absolute;top:20px;right:20px;display:flex;z-index:200}.vsleem-map-content[data-v-1fb1ffd6]{display:flex;flex:1;position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;background-color:#fff}.vsleem-map-content[data-v-1fb1ffd6]:hover{opacity:1!important}.vsleem-playbar-silder[data-v-9038462b]{display:inline-block;height:4px;position:relative;z-index:9;width:100%;touch-action:none}.vsleem-playbar-silder .playbar-silder-rail[data-v-9038462b]{position:absolute;z-index:99;height:4px;width:100%;background-color:#fff9;border-radius:2px;cursor:pointer;transition:background-color .3s}.vsleem-playbar-silder .playbar-silder-track[data-v-9038462b]{position:absolute;z-index:99;background:#5bb36f;border-radius:4px;height:4px;cursor:pointer;transition:background .3s;pointer-events:none}.vsleem-playbar-silder .playbar-silder-step[data-v-9038462b]{position:absolute;background:transparent;width:100%;height:4px;z-index:100;cursor:pointer}.vsleem-playbar-silder .trackTransition[data-v-9038462b]{transition:left .2s,width .2s,background .3s}.vsleem-playbar-silder:hover .playbar-silder-rail[data-v-9038462b]{background:#e3e3e3}.vsleem-playbar-silder:hover .playbar-silder-track[data-v-9038462b]{background:#5bb36f}.vsleem-playbar-silder .playbar-silder-handle[data-v-9038462b]{position:absolute;z-index:999;width:14px;height:14px;top:50%;background:#fff;border:2px solid rgba(91,179,111,.8);border-radius:50%;cursor:pointer;transition:width .3s,height .3s,border-color .3s,border-width .3s,transform .3s cubic-bezier(.18,.9,.32,1.28)}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip[data-v-9038462b]{position:relative;display:inline-block;padding:6px 8px;font-size:14px;color:#fff;line-height:20px;text-align:center;min-width:32px;border-radius:6px;transform:translate(-50%,-50%) scale(.8);top:-30px;left:50%;background:#0009;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;transition:transform .25s,opacity .25s}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-content[data-v-9038462b]{white-space:nowrap}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]{position:absolute;z-index:9;left:50%;bottom:0;transform:translate(-50%) translateY(100%) rotate(180deg);display:block;pointer-events:none;width:16px;height:16px;overflow:hidden}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]:before{position:absolute;bottom:-1px;inset-inline-start:0;width:16px;height:8px;background-color:#0009;clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]:after{position:absolute;width:9px;height:9px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px #0000001a;z-index:0;background:transparent;content:""}.vsleem-playbar-silder .playbar-silder-handle .hover-focus-handle[data-v-9038462b]{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .playbar-silder-handle.touch-handle .vsleem-handle-tooltip[data-v-9038462b]{opacity:1}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle[data-v-9038462b]:hover{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle:hover .vsleem-handle-tooltip[data-v-9038462b]{pointer-events:auto;opacity:1;transform:translate(-50%,-50%) scale(1)}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle[data-v-9038462b]:focus{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .handleTransition[data-v-9038462b]{transition:left .2s}.disabled .playbar-silder-rail[data-v-9038462b]{cursor:not-allowed;background:#0000000f}.disabled .playbar-silder-track[data-v-9038462b]{background:#00000040}.disabled .playbar-silder-handle[data-v-9038462b]{border-color:#00000040;cursor:not-allowed}.disabled .playbar-silder-handle[data-v-9038462b]:hover{width:14px;height:14px;border-width:2px;border-color:#00000040}.disabled .playbar-silder-handle[data-v-9038462b]:focus{width:14px;height:14px;border-width:2px;border-color:#00000040}.disabled:hover .playbar-silder-rail[data-v-9038462b]{background:#0000000f}.disabled:hover .playbar-silder-track[data-v-9038462b]{background:#00000040}.vsleem-playbar-box[data-v-d493d4a6]{display:flex;font-size:14px}.playbar-box-btns[data-v-d493d4a6]{display:flex}.playbar-box-caption[data-v-d493d4a6]{flex:1;display:flex;padding:0 16px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.playbar-box-icon[data-v-d493d4a6]{width:20px;height:20px}.playbar-box-caption[data-v-d493d4a6],.playbar-box-button[data-v-d493d4a6]{display:flex;align-items:center;justify-content:center;min-width:45px;height:45px;color:#fff;cursor:pointer;margin:0 5px;background-color:#091911cc;border-radius:8px;border:2px solid rgba(10,41,17,.3)}.playbar-box-caption.disabled[data-v-d493d4a6],.playbar-box-button.disabled[data-v-d493d4a6]{color:#999;cursor:not-allowed}.playbar-box-caption.disabled .playbar-box-icon[data-v-d493d4a6],.playbar-box-button.disabled .playbar-box-icon[data-v-d493d4a6]{opacity:.6}@media (max-width: 767px){.vsleem-playbar-box[data-v-d493d4a6]{flex-direction:column}.vsleem-playbar-box .playbar-box-caption[data-v-d493d4a6]{flex:none}.vsleem-playbar-box .playbar-box-btns[data-v-d493d4a6]{justify-content:space-between;margin-top:20px}.vsleem-playbar-box .playbar-box-btns .playbar-box-button[data-v-d493d4a6]{width:75px}}.vsleem-playbar[data-v-59da8b48]{max-width:600px;width:100%;padding:0 20px;position:absolute;left:50%;bottom:20px;transform:translate(-50%);-webkit-user-select:none;user-select:none;z-index:100}.vsleem-playbar .vsleem-silder[data-v-59da8b48]{width:calc(100% - 20px);margin:0 10px 10px}.vsleem-playbar .vsleem-player[data-v-59da8b48]{margin-top:8px}.vsleem-viewer[data-v-1ba701fb]{width:100%;height:100%}.psv-markers{-webkit-user-select:none;user-select:none;position:absolute;z-index:10;width:100%;height:100%;cursor:pointer}.psv-markers-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20}.psv-marker{display:none}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;background-size:contain;background-repeat:no-repeat;background-position:center;cursor:pointer}.psv-marker--transparent{display:block;opacity:0}.psv-marker--visible{display:block}.psv-marker--has-tooltip,.psv-marker--has-content{cursor:pointer}.psv-overlay{z-index:99!important}.vsleem-realsee[data-v-b89f774c]{position:relative;width:100%;height:100%;overflow:hidden}.vsleem-bimsee-viewer[data-v-29adba86]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;cursor:all-scroll}.vsleem-bimsee[data-v-23825a8d]{position:relative;width:100%;height:100%}.vsleem-dualsee-lock[data-v-e2467a03]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:300}.vsleem-dualsee-lock .dualsee-lock-button[data-v-e2467a03]{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:8px;cursor:pointer;background-color:#fff}.vsleem-dualsee-lock .dualsee-lock-icon[data-v-e2467a03]{width:20px;height:20px}.vsleem-dualsee-lock .dualsee-lock-distance[data-v-e2467a03]{margin-top:10px;font-size:10px;line-height:normal;color:#fff;padding:4px 8px;border-radius:4px;overflow:hidden;background-color:#091911cc;border:2px solid rgba(10,41,17,.3)}.vsleem-dualsee[data-v-263f1308]{width:100%;height:100%;display:flex}
10
+ */.psv-container{--psv-markers-plugin-loaded: true}.psv-markers{pointer-events:none;position:absolute;z-index:10;width:100%;height:100%}.psv-markers-css3d-container{position:absolute;z-index:21}.psv-marker{display:none;pointer-events:auto}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;overflow:visible;background-size:contain;background-repeat:no-repeat}.psv-marker--css3d{display:block}.vsleem-map-dragger .map-dragger-button[data-v-f432df8d]{position:absolute;z-index:2000;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;opacity:.6;-webkit-user-select:none;user-select:none}.vsleem-map-dragger .map-dragger-button[data-v-f432df8d]:hover{opacity:1}.vsleem-map-dragger .map-dragger-button img[data-v-f432df8d]{width:20px;height:20px;pointer-events:none}.vsleem-map-dragger .collapse[data-v-f432df8d]{top:0;right:0}.vsleem-map-dragger .arraw[data-v-f432df8d]{left:0;bottom:0;cursor:ne-resize}.vsleem-map-wrapper[data-v-248fa645]{position:relative;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none;cursor:move}.vsleem-map-point[data-v-3977f647]{cursor:pointer}.vsleem-map-point[data-v-3977f647]:hover{fill-opacity:1;stroke:#108ee9!important}.vsleem-map-marker[data-v-1f8ee384],.map-marker-img[data-v-1f8ee384]{cursor:pointer}.map-marker-tag[data-v-1f8ee384]{display:flex;align-items:center;justify-content:center;width:8px;height:8px;background-color:red;border-radius:50%;color:#fff;font-size:4px}.vsleem-map-cad[data-v-3c6f612b],.vsleem-map-tdt[data-v-9a695287]{position:relative;width:100%;height:100%;-webkit-user-select:none;user-select:none}.vsleem-map[data-v-44d41be9]{position:absolute;top:20px;right:20px;display:flex;z-index:200}.vsleem-map-content[data-v-44d41be9]{display:flex;flex:1;position:relative;width:100%;height:100%;border-radius:4px;overflow:hidden;background-color:#fff}.vsleem-map-content[data-v-44d41be9]:hover{opacity:1!important}.vsleem-playbar-silder[data-v-9038462b]{display:inline-block;height:4px;position:relative;z-index:9;width:100%;touch-action:none}.vsleem-playbar-silder .playbar-silder-rail[data-v-9038462b]{position:absolute;z-index:99;height:4px;width:100%;background-color:#fff9;border-radius:2px;cursor:pointer;transition:background-color .3s}.vsleem-playbar-silder .playbar-silder-track[data-v-9038462b]{position:absolute;z-index:99;background:#5bb36f;border-radius:4px;height:4px;cursor:pointer;transition:background .3s;pointer-events:none}.vsleem-playbar-silder .playbar-silder-step[data-v-9038462b]{position:absolute;background:transparent;width:100%;height:4px;z-index:100;cursor:pointer}.vsleem-playbar-silder .trackTransition[data-v-9038462b]{transition:left .2s,width .2s,background .3s}.vsleem-playbar-silder:hover .playbar-silder-rail[data-v-9038462b]{background:#e3e3e3}.vsleem-playbar-silder:hover .playbar-silder-track[data-v-9038462b]{background:#5bb36f}.vsleem-playbar-silder .playbar-silder-handle[data-v-9038462b]{position:absolute;z-index:999;width:14px;height:14px;top:50%;background:#fff;border:2px solid rgba(91,179,111,.8);border-radius:50%;cursor:pointer;transition:width .3s,height .3s,border-color .3s,border-width .3s,transform .3s cubic-bezier(.18,.9,.32,1.28)}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip[data-v-9038462b]{position:relative;display:inline-block;padding:6px 8px;font-size:14px;color:#fff;line-height:20px;text-align:center;min-width:32px;border-radius:6px;transform:translate(-50%,-50%) scale(.8);top:-30px;left:50%;background:#0009;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:0;transition:transform .25s,opacity .25s}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-content[data-v-9038462b]{white-space:nowrap}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]{position:absolute;z-index:9;left:50%;bottom:0;transform:translate(-50%) translateY(100%) rotate(180deg);display:block;pointer-events:none;width:16px;height:16px;overflow:hidden}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]:before{position:absolute;bottom:-1px;inset-inline-start:0;width:16px;height:8px;background-color:#0009;clip-path:path("M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z");content:""}.vsleem-playbar-silder .playbar-silder-handle .vsleem-handle-tooltip .vsleem-arrow[data-v-9038462b]:after{position:absolute;width:9px;height:9px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px;transform:translateY(50%) rotate(-135deg);box-shadow:3px 3px 7px #0000001a;z-index:0;background:transparent;content:""}.vsleem-playbar-silder .playbar-silder-handle .hover-focus-handle[data-v-9038462b]{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .playbar-silder-handle.touch-handle .vsleem-handle-tooltip[data-v-9038462b]{opacity:1}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle[data-v-9038462b]:hover{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle:hover .vsleem-handle-tooltip[data-v-9038462b]{pointer-events:auto;opacity:1;transform:translate(-50%,-50%) scale(1)}.vsleem-playbar-silder .playbar-silder-handle.mouse-handle[data-v-9038462b]:focus{border-color:#5bb36f;outline:none}.vsleem-playbar-silder .handleTransition[data-v-9038462b]{transition:left .2s}.disabled .playbar-silder-rail[data-v-9038462b]{cursor:not-allowed;background:#0000000f}.disabled .playbar-silder-track[data-v-9038462b]{background:#00000040}.disabled .playbar-silder-handle[data-v-9038462b]{border-color:#00000040;cursor:not-allowed}.disabled .playbar-silder-handle[data-v-9038462b]:hover{width:14px;height:14px;border-width:2px;border-color:#00000040}.disabled .playbar-silder-handle[data-v-9038462b]:focus{width:14px;height:14px;border-width:2px;border-color:#00000040}.disabled:hover .playbar-silder-rail[data-v-9038462b]{background:#0000000f}.disabled:hover .playbar-silder-track[data-v-9038462b]{background:#00000040}.vsleem-playbar-box[data-v-4ddcd456]{display:flex;font-size:14px}.playbar-box-btns[data-v-4ddcd456]{display:flex}.playbar-box-caption[data-v-4ddcd456]{flex:1;display:flex;padding:0 16px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.playbar-box-icon[data-v-4ddcd456]{width:20px;height:20px}.playbar-box-caption[data-v-4ddcd456],.playbar-box-button[data-v-4ddcd456]{display:flex;align-items:center;justify-content:center;min-width:45px;height:45px;color:#fff;cursor:pointer;margin:0 5px;background-color:#091911cc;border-radius:8px;border:2px solid rgba(10,41,17,.3)}.playbar-box-caption.disabled[data-v-4ddcd456],.playbar-box-button.disabled[data-v-4ddcd456]{color:#999;cursor:not-allowed}.playbar-box-caption.disabled .playbar-box-icon[data-v-4ddcd456],.playbar-box-button.disabled .playbar-box-icon[data-v-4ddcd456]{opacity:.6}@media (max-width: 767px){.vsleem-playbar-box[data-v-4ddcd456]{flex-direction:column}.vsleem-playbar-box .playbar-box-caption[data-v-4ddcd456]{flex:none}.vsleem-playbar-box .playbar-box-btns[data-v-4ddcd456]{justify-content:space-between;margin-top:20px}.vsleem-playbar-box .playbar-box-btns .playbar-box-button[data-v-4ddcd456]{width:75px}}.vsleem-playbar[data-v-f3b52f92]{max-width:600px;width:100%;padding:0 20px;position:absolute;left:50%;bottom:20px;transform:translate(-50%);-webkit-user-select:none;user-select:none;z-index:100}.vsleem-playbar .vsleem-silder[data-v-f3b52f92]{width:calc(100% - 20px);margin:0 10px 10px}.vsleem-playbar .vsleem-player[data-v-f3b52f92]{margin-top:8px}.vsleem-viewer[data-v-1ba701fb]{width:100%;height:100%}.psv-markers{-webkit-user-select:none;user-select:none;position:absolute;z-index:10;width:100%;height:100%;cursor:pointer}.psv-markers-svg-container{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20}.psv-marker{display:none}.psv-marker--normal{position:absolute;top:0;left:0;z-index:30;background-size:contain;background-repeat:no-repeat;background-position:center;cursor:pointer}.psv-marker--transparent{display:block;opacity:0}.psv-marker--visible{display:block}.psv-marker--has-tooltip,.psv-marker--has-content{cursor:pointer}.psv-overlay{z-index:99!important}.vsleem-realsee[data-v-d147e9a4]{position:relative;width:100%;height:100%;overflow:hidden}.vsleem-bimsee-viewer[data-v-29adba86]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:20;cursor:all-scroll}.vsleem-bimsee[data-v-a2f63f96]{position:relative;width:100%;height:100%}.vsleem-dualsee-lock[data-v-a0aed78b]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:300}.vsleem-dualsee-lock .dualsee-lock-button[data-v-a0aed78b]{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:8px;cursor:pointer;background-color:#fff}.vsleem-dualsee-lock .dualsee-lock-icon[data-v-a0aed78b]{width:20px;height:20px}.vsleem-dualsee-lock .dualsee-lock-distance[data-v-a0aed78b]{margin-top:10px;font-size:10px;line-height:normal;color:#fff;padding:4px 8px;border-radius:4px;overflow:hidden;background-color:#091911cc;border:2px solid rgba(10,41,17,.3)}.vsleem-dualsee[data-v-fae965e4]{width:100%;height:100%;display:flex}