@qispace/vue3-player 0.4.37 → 0.4.38
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.
|
@@ -10,10 +10,10 @@ const Ya = /* @__PURE__ */ N({
|
|
|
10
10
|
isHoverable: { type: Boolean }
|
|
11
11
|
},
|
|
12
12
|
emits: ["outside"],
|
|
13
|
-
setup(l, { emit:
|
|
14
|
-
const
|
|
13
|
+
setup(l, { emit: t }) {
|
|
14
|
+
const a = l, n = t, o = V(() => {
|
|
15
15
|
let i, s, f, w;
|
|
16
|
-
return
|
|
16
|
+
return a.pos.x <= a.pos.width / 2 ? (i = "-100%", f = "-8px") : (i = "0%", f = "8px"), a.pos.y <= a.pos.height / 2 ? (s = "-100%", w = "-8px") : (s = "0%", w = "8px"), `translate(${i}, ${s}) translate(${f}, ${w})`;
|
|
17
17
|
});
|
|
18
18
|
return (i, s) => {
|
|
19
19
|
const f = x("v-dialog"), w = x("v-fade-transition");
|
|
@@ -48,20 +48,20 @@ const Ya = /* @__PURE__ */ N({
|
|
|
48
48
|
}, 8, ["origin"]);
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
}), X = (l,
|
|
52
|
-
const
|
|
53
|
-
for (const [n, o] of
|
|
54
|
-
|
|
55
|
-
return
|
|
51
|
+
}), X = (l, t) => {
|
|
52
|
+
const a = l.__vccOpts || l;
|
|
53
|
+
for (const [n, o] of t)
|
|
54
|
+
a[n] = o;
|
|
55
|
+
return a;
|
|
56
56
|
}, Na = /* @__PURE__ */ X(Ya, [["__scopeId", "data-v-7d5e6067"]]), Wa = /* @__PURE__ */ N({
|
|
57
57
|
__name: "VHoverProbe",
|
|
58
|
-
setup(l, { expose:
|
|
59
|
-
const
|
|
60
|
-
return
|
|
58
|
+
setup(l, { expose: t }) {
|
|
59
|
+
const a = b(), n = V(() => window.getComputedStyle(a.value).display === "none");
|
|
60
|
+
return t({
|
|
61
61
|
isHoverEnabled: n
|
|
62
62
|
}), (o, i) => (v(), E("div", {
|
|
63
63
|
ref_key: "hoverCheck",
|
|
64
|
-
ref:
|
|
64
|
+
ref: a,
|
|
65
65
|
class: "hover-check"
|
|
66
66
|
}, null, 512));
|
|
67
67
|
}
|
|
@@ -71,15 +71,15 @@ const Ya = /* @__PURE__ */ N({
|
|
|
71
71
|
longitude: {}
|
|
72
72
|
},
|
|
73
73
|
setup(l) {
|
|
74
|
-
const
|
|
75
|
-
transform: `rotate(${90 - (
|
|
74
|
+
const t = l, a = V(() => ({
|
|
75
|
+
transform: `rotate(${90 - (t.longitude || 0)}deg)`,
|
|
76
76
|
transition: " transform 0.5s ease-in"
|
|
77
77
|
}));
|
|
78
78
|
return (n, o) => {
|
|
79
79
|
const i = x("v-img");
|
|
80
80
|
return v(), I(i, {
|
|
81
81
|
src: g(qa),
|
|
82
|
-
style: ce(
|
|
82
|
+
style: ce(a.value)
|
|
83
83
|
}, null, 8, ["src", "style"]);
|
|
84
84
|
};
|
|
85
85
|
}
|
|
@@ -94,9 +94,9 @@ const Ya = /* @__PURE__ */ N({
|
|
|
94
94
|
position: { default: "absolute" }
|
|
95
95
|
},
|
|
96
96
|
emits: ["update"],
|
|
97
|
-
setup(l, { expose:
|
|
98
|
-
const n = l, o =
|
|
99
|
-
|
|
97
|
+
setup(l, { expose: t, emit: a }) {
|
|
98
|
+
const n = l, o = a;
|
|
99
|
+
t({
|
|
100
100
|
adjustZoom: ue
|
|
101
101
|
});
|
|
102
102
|
const i = b(100), s = b(0), f = b(0), w = b(!1), r = b(!1), m = b(void 0), y = b(!1), d = b(), A = V(() => `translateX(${s.value}px) translateY(${f.value}px) scale(${k.value})`), k = V(() => i.value / 100), u = V(() => n.maxScale * 100);
|
|
@@ -282,12 +282,12 @@ function Ga() {
|
|
|
282
282
|
return typeof s;
|
|
283
283
|
} : function(s) {
|
|
284
284
|
return s && typeof Symbol == "function" && s.constructor === Symbol && s !== Symbol.prototype ? "symbol" : typeof s;
|
|
285
|
-
},
|
|
286
|
-
return tt.isBrowser =
|
|
285
|
+
}, t = typeof window < "u" && typeof window.document < "u", a = typeof process < "u" && process.versions != null && process.versions.node != null, n = (typeof self > "u" ? "undefined" : l(self)) === "object" && self.constructor && self.constructor.name === "DedicatedWorkerGlobalScope", o = typeof window < "u" && window.name === "nodejs" || typeof navigator < "u" && (navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom")), i = typeof Deno < "u" && typeof Deno.version < "u" && typeof Deno.version.deno < "u";
|
|
286
|
+
return tt.isBrowser = t, tt.isWebWorker = n, tt.isNode = a, tt.isJsDom = o, tt.isDeno = i, tt;
|
|
287
287
|
}
|
|
288
288
|
var Ca = Ga();
|
|
289
|
-
function fe(l,
|
|
290
|
-
return typeof l == "string" ? `${l}${
|
|
289
|
+
function fe(l, t) {
|
|
290
|
+
return typeof l == "string" ? `${l}${t}` : l(t);
|
|
291
291
|
}
|
|
292
292
|
const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
293
293
|
class: "player-control",
|
|
@@ -327,9 +327,9 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
327
327
|
mouseSensitivity: { default: 1 }
|
|
328
328
|
},
|
|
329
329
|
emits: ["newCameraCallback", "newRotationCallback", "newFloorCallback", "newFovCallback", "sunsimCallback", "playerApiCallback", "newSizeCallback", "frontendMarkersUpdate"],
|
|
330
|
-
setup(l, { expose:
|
|
330
|
+
setup(l, { expose: t, emit: a }) {
|
|
331
331
|
const n = Ua.PlayerV2;
|
|
332
|
-
|
|
332
|
+
t({
|
|
333
333
|
updateFrontendMarkers: (S) => {
|
|
334
334
|
d.value && p.value ? d.value.updateFrontendMarkers(S) : console.warn(
|
|
335
335
|
"Player API not initialized or not available. Cannot update frontend markers."
|
|
@@ -343,7 +343,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
343
343
|
currentCameraId: w,
|
|
344
344
|
showStaticImage: r,
|
|
345
345
|
mouseSensitivity: m
|
|
346
|
-
} = $e(o), y =
|
|
346
|
+
} = $e(o), y = a, d = b(), A = b(w.value), k = b(0), u = b(0), p = b(!1);
|
|
347
347
|
H(w, () => {
|
|
348
348
|
A.value = w.value;
|
|
349
349
|
}), H([s, f], async () => {
|
|
@@ -470,13 +470,13 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
470
470
|
floorLevels: { default: () => [] }
|
|
471
471
|
},
|
|
472
472
|
emits: ["level"],
|
|
473
|
-
setup(l, { emit:
|
|
474
|
-
const
|
|
475
|
-
const m =
|
|
473
|
+
setup(l, { emit: t }) {
|
|
474
|
+
const a = l, n = t, o = Ve(Be), i = V(() => {
|
|
475
|
+
const m = a.floorLevels;
|
|
476
476
|
return m.sort(), m;
|
|
477
|
-
}), s = V(() => i.value.indexOf(
|
|
477
|
+
}), s = V(() => i.value.indexOf(a.level) + 1 <= i.value.length / 2 ? "lower" : "upper"), f = V(() => s.value === "lower"), w = V(() => s.value === "upper");
|
|
478
478
|
function r() {
|
|
479
|
-
const m =
|
|
479
|
+
const m = a.level + 1;
|
|
480
480
|
m >= i.value.length ? n("level", i.value[0]) : n("level", i.value[m]);
|
|
481
481
|
}
|
|
482
482
|
return (m, y) => {
|
|
@@ -528,8 +528,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
528
528
|
selectedIndex: {}
|
|
529
529
|
},
|
|
530
530
|
emits: ["selectInterior"],
|
|
531
|
-
setup(l, { emit:
|
|
532
|
-
const
|
|
531
|
+
setup(l, { emit: t }) {
|
|
532
|
+
const a = l, n = t, o = Ve(Be);
|
|
533
533
|
return (i, s) => {
|
|
534
534
|
const f = x("v-icon"), w = x("v-btn"), r = x("v-img"), m = x("v-menu");
|
|
535
535
|
return v(), E("div", null, [
|
|
@@ -556,7 +556,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
556
556
|
]),
|
|
557
557
|
default: c(() => [
|
|
558
558
|
e("div", bn, [
|
|
559
|
-
(v(!0), E(Oe, null, Pe(
|
|
559
|
+
(v(!0), E(Oe, null, Pe(a.availableArchetypes, (y, d) => (v(), E("div", {
|
|
560
560
|
key: `at-menuitem-${d}`,
|
|
561
561
|
onClick: (A) => n("selectInterior", y.archetypeID),
|
|
562
562
|
class: me(["interior-selector-list-item", {
|
|
@@ -589,11 +589,11 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
589
589
|
rotation: {}
|
|
590
590
|
},
|
|
591
591
|
setup(l) {
|
|
592
|
-
const
|
|
592
|
+
const t = l, a = b(xa), n = b({
|
|
593
593
|
backgroundImage: `url(${La})`,
|
|
594
594
|
backgroundSize: "contain"
|
|
595
595
|
}), o = V(() => ({
|
|
596
|
-
transform: `rotate(${-
|
|
596
|
+
transform: `rotate(${-t.rotation + 180}deg)`
|
|
597
597
|
}));
|
|
598
598
|
return (i, s) => {
|
|
599
599
|
const f = x("v-img");
|
|
@@ -603,7 +603,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
603
603
|
}, [
|
|
604
604
|
h(f, {
|
|
605
605
|
class: "compass-needle",
|
|
606
|
-
src:
|
|
606
|
+
src: a.value,
|
|
607
607
|
style: ce(o.value)
|
|
608
608
|
}, null, 8, ["src", "style"])
|
|
609
609
|
], 4);
|
|
@@ -616,7 +616,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
616
616
|
minutes: { default: 0 }
|
|
617
617
|
},
|
|
618
618
|
setup(l) {
|
|
619
|
-
const
|
|
619
|
+
const t = l, a = V(() => [n(t.hours), ":", n(t.minutes)].join(""));
|
|
620
620
|
function n(o) {
|
|
621
621
|
return ("0" + o).slice(-2);
|
|
622
622
|
}
|
|
@@ -629,7 +629,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
629
629
|
"aspect-ratio": "1"
|
|
630
630
|
}, null, 8, ["src"])
|
|
631
631
|
]),
|
|
632
|
-
e("div", In, T(
|
|
632
|
+
e("div", In, T(a.value), 1)
|
|
633
633
|
]);
|
|
634
634
|
};
|
|
635
635
|
}
|
|
@@ -645,10 +645,10 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
645
645
|
showStaticImage: { type: Boolean }
|
|
646
646
|
},
|
|
647
647
|
emits: ["toggle"],
|
|
648
|
-
setup(l, { emit:
|
|
649
|
-
const
|
|
648
|
+
setup(l, { emit: t }) {
|
|
649
|
+
const a = l, n = t, o = Ve(Be), i = V(() => {
|
|
650
650
|
let s = "virtualTour";
|
|
651
|
-
return
|
|
651
|
+
return a.showStaticImage || (s = "slideShow"), s;
|
|
652
652
|
});
|
|
653
653
|
return (s, f) => {
|
|
654
654
|
const w = x("v-icon"), r = x("v-btn"), m = x("v-tooltip");
|
|
@@ -694,8 +694,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
694
694
|
}, Zn = { class: "box col my-1" }, qn = { class: "text text-col text-center" }, Jn = { class: "box col my-1" }, Qn = { class: "text text-col text-center" }, Gn = { class: "box col my-1" }, Xn = { class: "text text-col text-center" }, Kn = { class: "text-h6 text-capitalize" }, eo = { class: "mt-2" }, to = { class: "d-flex justify-center align-center checkbox-container" }, ao = { class: "text-caption" }, no = /* @__PURE__ */ N({
|
|
695
695
|
__name: "VTutorial",
|
|
696
696
|
emits: ["closeTutorial"],
|
|
697
|
-
setup(l, { emit:
|
|
698
|
-
const
|
|
697
|
+
setup(l, { emit: t }) {
|
|
698
|
+
const a = t, n = Ve(Be), o = b(!1), i = b(!1), s = V(() => [
|
|
699
699
|
/Android/i,
|
|
700
700
|
/webOS/i,
|
|
701
701
|
/iPhone/i,
|
|
@@ -705,7 +705,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
705
705
|
/Windows Phone/i
|
|
706
706
|
].some((r) => navigator.userAgent.match(r)));
|
|
707
707
|
function f() {
|
|
708
|
-
|
|
708
|
+
a("closeTutorial", o.value);
|
|
709
709
|
}
|
|
710
710
|
return (w, r) => {
|
|
711
711
|
const m = x("v-icon"), y = x("v-card-title"), d = x("v-btn"), A = x("v-divider"), k = x("v-card-text"), u = x("v-card-actions"), p = x("v-card"), _ = x("v-expand-transition"), L = x("v-checkbox");
|
|
@@ -1409,9 +1409,9 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1409
1409
|
initialSettings: {}
|
|
1410
1410
|
},
|
|
1411
1411
|
emits: ["updateSettings", "saveSettings"],
|
|
1412
|
-
setup(l, { emit:
|
|
1413
|
-
const
|
|
1414
|
-
A(
|
|
1412
|
+
setup(l, { emit: t }) {
|
|
1413
|
+
const a = l, n = t, o = b(
|
|
1414
|
+
A(a.initialSettings)
|
|
1415
1415
|
);
|
|
1416
1416
|
H(
|
|
1417
1417
|
o,
|
|
@@ -1737,10 +1737,10 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1737
1737
|
props: {
|
|
1738
1738
|
size: {}
|
|
1739
1739
|
},
|
|
1740
|
-
setup(l, { expose:
|
|
1741
|
-
const
|
|
1742
|
-
|
|
1743
|
-
bodyWidth:
|
|
1740
|
+
setup(l, { expose: t }) {
|
|
1741
|
+
const a = b(void 0), n = b(void 0);
|
|
1742
|
+
t({
|
|
1743
|
+
bodyWidth: a,
|
|
1744
1744
|
bodyHeight: n
|
|
1745
1745
|
}), je(() => {
|
|
1746
1746
|
i(document.getElementById("moveableDiv")), o(document.querySelector("#moveableDiv"));
|
|
@@ -1748,7 +1748,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1748
1748
|
const o = (s) => {
|
|
1749
1749
|
new ResizeObserver(() => {
|
|
1750
1750
|
const w = document.getElementById("moveableBody");
|
|
1751
|
-
w && (
|
|
1751
|
+
w && (a.value = w.clientWidth, n.value = w.clientHeight);
|
|
1752
1752
|
}).observe(s);
|
|
1753
1753
|
}, i = (s) => {
|
|
1754
1754
|
const f = document.getElementsByClassName("anchor");
|
|
@@ -1802,12 +1802,12 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1802
1802
|
rotation: {}
|
|
1803
1803
|
},
|
|
1804
1804
|
setup(l) {
|
|
1805
|
-
return (
|
|
1806
|
-
|
|
1805
|
+
return (t, a) => (v(), E("svg", Io, [
|
|
1806
|
+
a[1] || (a[1] = aa('<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)),
|
|
1807
1807
|
e("g", {
|
|
1808
1808
|
"transform-origin": "20 20",
|
|
1809
1809
|
transform: `rotate(${45 + l.rotation})`
|
|
1810
|
-
}, [...
|
|
1810
|
+
}, [...a[0] || (a[0] = [
|
|
1811
1811
|
aa('<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)
|
|
1812
1812
|
])], 8, Fo)
|
|
1813
1813
|
]));
|
|
@@ -1826,15 +1826,15 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1826
1826
|
fit: { type: Boolean }
|
|
1827
1827
|
},
|
|
1828
1828
|
emits: ["goToCamera"],
|
|
1829
|
-
setup(l, { emit:
|
|
1830
|
-
const
|
|
1831
|
-
const G =
|
|
1829
|
+
setup(l, { emit: t }) {
|
|
1830
|
+
const a = l, n = t, o = b(512), i = b(384), s = b(512), f = b(384), w = b(new wt()), r = b(new Ha()), m = b({}), y = b(1), d = b(), A = o.value / o.value, k = V(() => {
|
|
1831
|
+
const G = a.containerWidth / a.containerHeight;
|
|
1832
1832
|
let ue;
|
|
1833
|
-
return G > A ? ue =
|
|
1834
|
-
}), u = V(() =>
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1833
|
+
return G > A ? ue = a.containerHeight / i.value : ue = a.containerWidth / o.value, ue;
|
|
1834
|
+
}), u = V(() => a.allCameras), p = V(() => a.allCameras.find((G) => G.id === a.currentCamera)), _ = V(() => a.rotation), L = V(() => new wt(
|
|
1835
|
+
a.storey.position.x,
|
|
1836
|
+
a.storey.position.y,
|
|
1837
|
+
a.storey.position.z
|
|
1838
1838
|
)), S = V(() => parseFloat(p.value.floor_vertical_position)), Z = V(() => u.value.map((G) => {
|
|
1839
1839
|
const ue = G.uposition.split(","), ne = new wt(
|
|
1840
1840
|
Number(ue[0]) - L.value.x,
|
|
@@ -1846,10 +1846,10 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1846
1846
|
...Se(w.value, ne)
|
|
1847
1847
|
};
|
|
1848
1848
|
})), se = V(() => ({
|
|
1849
|
-
backgroundImage: `url(${
|
|
1849
|
+
backgroundImage: `url(${a.backgroundImage})`,
|
|
1850
1850
|
backgroundSize: "contain"
|
|
1851
1851
|
})), O = V(() => ({
|
|
1852
|
-
transform: `scale(${
|
|
1852
|
+
transform: `scale(${a.fit ? 1 : k.value * 0.75}) rotate(${a.transformAngle}deg)`
|
|
1853
1853
|
}));
|
|
1854
1854
|
je(() => {
|
|
1855
1855
|
ke(), de(), P();
|
|
@@ -1864,7 +1864,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1864
1864
|
return Pa.degToRad(G);
|
|
1865
1865
|
}
|
|
1866
1866
|
function de() {
|
|
1867
|
-
r.value.rotation.x = 180, r.value.rotation.y =
|
|
1867
|
+
r.value.rotation.x = 180, r.value.rotation.y = a.storey.rotation.y * -1, m.value = {
|
|
1868
1868
|
transform: `rotateZ(${r.value.rotation.y}deg) rotateX(${r.value.rotation.x}deg)`
|
|
1869
1869
|
};
|
|
1870
1870
|
}
|
|
@@ -1884,8 +1884,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1884
1884
|
};
|
|
1885
1885
|
}
|
|
1886
1886
|
function ke() {
|
|
1887
|
-
const G =
|
|
1888
|
-
f.value = 2 * (G * Math.tan(q(
|
|
1887
|
+
const G = a.storey.position.y - S.value;
|
|
1888
|
+
f.value = 2 * (G * Math.tan(q(a.storey.fovY / 2))), s.value = 512 / 384 * f.value;
|
|
1889
1889
|
const ue = f.value / 2, ne = s.value / 2, B = new wt(ne * -1, 0, ue * -1);
|
|
1890
1890
|
w.value = B;
|
|
1891
1891
|
}
|
|
@@ -1950,7 +1950,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1950
1950
|
zIndex: "3"
|
|
1951
1951
|
})
|
|
1952
1952
|
}, () => [
|
|
1953
|
-
p.value.id === ne.id &&
|
|
1953
|
+
p.value.id === ne.id && a.rotation !== null ? (v(), I(Vo, {
|
|
1954
1954
|
key: 0,
|
|
1955
1955
|
class: "rotation-marker-component-base rotation-marker-component",
|
|
1956
1956
|
rotation: _.value,
|
|
@@ -1971,14 +1971,14 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1971
1971
|
transformAngle: {}
|
|
1972
1972
|
},
|
|
1973
1973
|
setup(l) {
|
|
1974
|
-
const
|
|
1974
|
+
const t = l, a = V(() => t.rotation + t.transformAngle - 90);
|
|
1975
1975
|
return (n, o) => (v(), E("div", {
|
|
1976
1976
|
class: "minimap-compass elevation-5",
|
|
1977
1977
|
style: ce({ scale: l.scale })
|
|
1978
1978
|
}, [
|
|
1979
1979
|
h(_a, {
|
|
1980
1980
|
class: "north-indicator",
|
|
1981
|
-
longitude:
|
|
1981
|
+
longitude: a.value
|
|
1982
1982
|
}, null, 8, ["longitude"])
|
|
1983
1983
|
], 4));
|
|
1984
1984
|
}
|
|
@@ -1994,8 +1994,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
1994
1994
|
level: {}
|
|
1995
1995
|
},
|
|
1996
1996
|
emits: ["setBackgroundImage"],
|
|
1997
|
-
setup(l, { emit:
|
|
1998
|
-
const
|
|
1997
|
+
setup(l, { emit: t }) {
|
|
1998
|
+
const a = l, n = t, o = b((/* @__PURE__ */ new Date()).getHours()), i = b(!0), s = b(!0), f = b(""), w = b(/* @__PURE__ */ new Map()), r = V(() => a.minimapJson.storeys[a.level]), m = V(() => `${Math.floor(o.value).toString().padStart(2, "0")}:00`), y = V(() => {
|
|
1999
1999
|
if (r.value.sunsimFilesTimeStamps[o.value]) {
|
|
2000
2000
|
const _ = r.value.sunsimFilesTimeStamps[o.value].split(" ");
|
|
2001
2001
|
return `${_[0]} ${_[1]}`;
|
|
@@ -2006,15 +2006,15 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2006
2006
|
f.value = await k(
|
|
2007
2007
|
r.value.sunsimFiles[o.value]
|
|
2008
2008
|
), n("setBackgroundImage", f.value), s.value = !1;
|
|
2009
|
-
const _ = await A(
|
|
2010
|
-
w.value = _, i.value = !1, n("setBackgroundImage", d(
|
|
2009
|
+
const _ = await A(a.minimapJson.storeys);
|
|
2010
|
+
w.value = _, i.value = !1, n("setBackgroundImage", d(a.level, o.value));
|
|
2011
2011
|
}), H(o, () => {
|
|
2012
|
-
const _ = d(
|
|
2012
|
+
const _ = d(a.level, o.value);
|
|
2013
2013
|
n("setBackgroundImage", _);
|
|
2014
2014
|
}), H(
|
|
2015
|
-
() =>
|
|
2015
|
+
() => a.level,
|
|
2016
2016
|
() => {
|
|
2017
|
-
n("setBackgroundImage", d(
|
|
2017
|
+
n("setBackgroundImage", d(a.level, o.value));
|
|
2018
2018
|
},
|
|
2019
2019
|
{ immediate: !0 }
|
|
2020
2020
|
);
|
|
@@ -2040,8 +2040,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2040
2040
|
async function k(_) {
|
|
2041
2041
|
const S = await (await fetch(
|
|
2042
2042
|
fe(
|
|
2043
|
-
|
|
2044
|
-
`/${
|
|
2043
|
+
a.cdnFileResolver,
|
|
2044
|
+
`/${a.apartmentJson.type}/${a.apartmentJson.id}/minimap/${_}`
|
|
2045
2045
|
)
|
|
2046
2046
|
)).blob(), Z = await p(S);
|
|
2047
2047
|
return u(Z);
|
|
@@ -2116,8 +2116,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2116
2116
|
rotation: {}
|
|
2117
2117
|
},
|
|
2118
2118
|
emits: ["close", "goToCamera"],
|
|
2119
|
-
setup(l, { emit:
|
|
2120
|
-
const
|
|
2119
|
+
setup(l, { emit: t }) {
|
|
2120
|
+
const a = b(null), n = l, o = t, i = b(), s = b(0), f = V(() => n.minimapJson.storeys[n.level]), w = b(0);
|
|
2121
2121
|
H(
|
|
2122
2122
|
() => n.apartmentJson,
|
|
2123
2123
|
() => {
|
|
@@ -2156,7 +2156,7 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2156
2156
|
const S = x("v-btn");
|
|
2157
2157
|
return v(), I(Ao, {
|
|
2158
2158
|
ref_key: "minimapMoveable",
|
|
2159
|
-
ref:
|
|
2159
|
+
ref: a,
|
|
2160
2160
|
size: A.value
|
|
2161
2161
|
}, {
|
|
2162
2162
|
"top-left": c(() => [
|
|
@@ -2205,8 +2205,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2205
2205
|
rotation: l.rotation,
|
|
2206
2206
|
"current-camera": l.currentCamera,
|
|
2207
2207
|
storey: f.value,
|
|
2208
|
-
containerWidth:
|
|
2209
|
-
containerHeight:
|
|
2208
|
+
containerWidth: a.value && a.value.bodyWidth || 512,
|
|
2209
|
+
containerHeight: a.value && a.value.bodyHeight || 384,
|
|
2210
2210
|
onGoToCamera: p
|
|
2211
2211
|
}, null, 8, ["transform-angle", "all-cameras", "background-image", "rotation", "current-camera", "storey", "containerWidth", "containerHeight"])
|
|
2212
2212
|
])
|
|
@@ -2227,8 +2227,8 @@ const Xa = { id: "player-wrapper" }, Ka = { id: "player-sizer" }, en = {
|
|
|
2227
2227
|
}
|
|
2228
2228
|
}), la = /* @__PURE__ */ X(Zo, [["__scopeId", "data-v-8c96c13c"]]);
|
|
2229
2229
|
function pt(l) {
|
|
2230
|
-
const
|
|
2231
|
-
return `${
|
|
2230
|
+
const t = l * 60, a = Math.floor(t / 60), n = t % 60;
|
|
2231
|
+
return `${a.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
|
|
2232
2232
|
}
|
|
2233
2233
|
const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo = { class: "small" }, Go = { class: "small" }, Xo = /* @__PURE__ */ N({
|
|
2234
2234
|
__name: "VSunsimSlider",
|
|
@@ -2238,8 +2238,8 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2238
2238
|
disabled: { type: Boolean }
|
|
2239
2239
|
},
|
|
2240
2240
|
emits: ["onTimeChange", "toggleSunStudy"],
|
|
2241
|
-
setup(l, { emit:
|
|
2242
|
-
const
|
|
2241
|
+
setup(l, { emit: t }) {
|
|
2242
|
+
const a = l, { currentDay: n, currentTime: o, disabled: i } = $e(a), s = t, f = b(o.value.timeInHours);
|
|
2243
2243
|
return H(o, () => {
|
|
2244
2244
|
f.value = o.value.timeInHours;
|
|
2245
2245
|
}), H(
|
|
@@ -2328,8 +2328,8 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2328
2328
|
showUI: { type: Boolean }
|
|
2329
2329
|
},
|
|
2330
2330
|
emits: ["toggleSunStudy"],
|
|
2331
|
-
setup(l, { emit:
|
|
2332
|
-
const
|
|
2331
|
+
setup(l, { emit: t }) {
|
|
2332
|
+
const a = t, n = Ve(Be);
|
|
2333
2333
|
return (o, i) => {
|
|
2334
2334
|
const s = x("v-btn");
|
|
2335
2335
|
return !l.displaySunsim && l.showUI ? (v(), I(s, {
|
|
@@ -2338,7 +2338,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2338
2338
|
varient: "tonal",
|
|
2339
2339
|
prependIcon: "mdi-white-balance-sunny",
|
|
2340
2340
|
class: "sun-study-toggle text-capitalize rounded-xl",
|
|
2341
|
-
onClick: i[0] || (i[0] = (f) =>
|
|
2341
|
+
onClick: i[0] || (i[0] = (f) => a("toggleSunStudy"))
|
|
2342
2342
|
}, {
|
|
2343
2343
|
default: c(() => [
|
|
2344
2344
|
Q(T(g(n).getLabel("openSunStudy")), 1)
|
|
@@ -2353,8 +2353,8 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2353
2353
|
autoplayStatus: { type: Boolean }
|
|
2354
2354
|
},
|
|
2355
2355
|
emits: ["toggleAutoPlay"],
|
|
2356
|
-
setup(l, { emit:
|
|
2357
|
-
const
|
|
2356
|
+
setup(l, { emit: t }) {
|
|
2357
|
+
const a = t, n = V(() => /Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(
|
|
2358
2358
|
window.navigator.userAgent
|
|
2359
2359
|
));
|
|
2360
2360
|
return (o, i) => {
|
|
@@ -2362,7 +2362,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2362
2362
|
return v(), I(f, {
|
|
2363
2363
|
size: "x-small",
|
|
2364
2364
|
class: me(["autoplay-btn", { mobile: n.value, "mt-1": n.value, "mx-1": n.value }]),
|
|
2365
|
-
onClick: i[0] || (i[0] = (w) =>
|
|
2365
|
+
onClick: i[0] || (i[0] = (w) => a("toggleAutoPlay"))
|
|
2366
2366
|
}, {
|
|
2367
2367
|
default: c(() => [
|
|
2368
2368
|
h(s, {
|
|
@@ -2386,10 +2386,10 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2386
2386
|
cameraHasSunStudy: { type: Function, default: (l) => !1 }
|
|
2387
2387
|
},
|
|
2388
2388
|
emits: ["previous", "next", "goto"],
|
|
2389
|
-
setup(l, { emit:
|
|
2390
|
-
const
|
|
2389
|
+
setup(l, { emit: t }) {
|
|
2390
|
+
const a = l, n = t, o = b(0), i = V({
|
|
2391
2391
|
get() {
|
|
2392
|
-
return
|
|
2392
|
+
return a.active;
|
|
2393
2393
|
},
|
|
2394
2394
|
set(r) {
|
|
2395
2395
|
o.value = r;
|
|
@@ -2479,7 +2479,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2479
2479
|
"aspect-ratio": 1,
|
|
2480
2480
|
src: _.thumbnailUrl
|
|
2481
2481
|
}, null, 8, ["src"]),
|
|
2482
|
-
|
|
2482
|
+
a.cameraHasSunStudy(_.id) ? (v(), E("div", tl, [
|
|
2483
2483
|
h(A, {
|
|
2484
2484
|
class: "sun-icon",
|
|
2485
2485
|
icon: "mdi-white-balance-sunny"
|
|
@@ -2504,7 +2504,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2504
2504
|
}, sl = /* @__PURE__ */ N({
|
|
2505
2505
|
__name: "VSocialShare",
|
|
2506
2506
|
setup(l) {
|
|
2507
|
-
const
|
|
2507
|
+
const t = Ve(Be), a = b(!1), n = b(location.href);
|
|
2508
2508
|
function o() {
|
|
2509
2509
|
return window.open(
|
|
2510
2510
|
"https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(location.href),
|
|
@@ -2542,19 +2542,19 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2542
2542
|
density: "comfortable",
|
|
2543
2543
|
elevation: "1",
|
|
2544
2544
|
icon: "mdi-share-variant",
|
|
2545
|
-
onClick: r[0] || (r[0] = (S) =>
|
|
2545
|
+
onClick: r[0] || (r[0] = (S) => a.value = !a.value)
|
|
2546
2546
|
}, L), null, 16)
|
|
2547
2547
|
]),
|
|
2548
2548
|
default: c(() => [
|
|
2549
|
-
e("span", null, T(g(
|
|
2549
|
+
e("span", null, T(g(t).getLabel("share")), 1)
|
|
2550
2550
|
]),
|
|
2551
2551
|
_: 1
|
|
2552
2552
|
}),
|
|
2553
2553
|
h(_, {
|
|
2554
2554
|
id: "share-box",
|
|
2555
2555
|
width: "400",
|
|
2556
|
-
modelValue:
|
|
2557
|
-
"onUpdate:modelValue": r[2] || (r[2] = (L) =>
|
|
2556
|
+
modelValue: a.value,
|
|
2557
|
+
"onUpdate:modelValue": r[2] || (r[2] = (L) => a.value = L)
|
|
2558
2558
|
}, {
|
|
2559
2559
|
default: c(() => [
|
|
2560
2560
|
h(p, null, {
|
|
@@ -2564,11 +2564,11 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2564
2564
|
h(m, {
|
|
2565
2565
|
size: "x-small",
|
|
2566
2566
|
icon: "mdi-close",
|
|
2567
|
-
onClick: r[1] || (r[1] = (L) =>
|
|
2567
|
+
onClick: r[1] || (r[1] = (L) => a.value = !1)
|
|
2568
2568
|
}),
|
|
2569
2569
|
h(d, null, {
|
|
2570
2570
|
default: c(() => [
|
|
2571
|
-
Q(T(g(
|
|
2571
|
+
Q(T(g(t).getLabel("share")), 1)
|
|
2572
2572
|
]),
|
|
2573
2573
|
_: 1
|
|
2574
2574
|
}),
|
|
@@ -2589,7 +2589,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2589
2589
|
}, L, { onClick: o }), null, 16)
|
|
2590
2590
|
]),
|
|
2591
2591
|
default: c(() => [
|
|
2592
|
-
e("span", null, T(g(
|
|
2592
|
+
e("span", null, T(g(t).getLabel("shareToFacebook")), 1)
|
|
2593
2593
|
]),
|
|
2594
2594
|
_: 1
|
|
2595
2595
|
}),
|
|
@@ -2603,7 +2603,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2603
2603
|
}, L, { onClick: s }), null, 16)
|
|
2604
2604
|
]),
|
|
2605
2605
|
default: c(() => [
|
|
2606
|
-
e("span", null, T(g(
|
|
2606
|
+
e("span", null, T(g(t).getLabel("shareToLinkedin")), 1)
|
|
2607
2607
|
]),
|
|
2608
2608
|
_: 1
|
|
2609
2609
|
}),
|
|
@@ -2617,7 +2617,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2617
2617
|
}, L, { onClick: i }), null, 16)
|
|
2618
2618
|
]),
|
|
2619
2619
|
default: c(() => [
|
|
2620
|
-
e("span", null, T(g(
|
|
2620
|
+
e("span", null, T(g(t).getLabel("shareToTwitter")), 1)
|
|
2621
2621
|
]),
|
|
2622
2622
|
_: 1
|
|
2623
2623
|
}),
|
|
@@ -2633,7 +2633,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2633
2633
|
}, L), null, 16, ["href"])
|
|
2634
2634
|
]),
|
|
2635
2635
|
default: c(() => [
|
|
2636
|
-
e("span", null, T(g(
|
|
2636
|
+
e("span", null, T(g(t).getLabel("shareViaEmail")), 1)
|
|
2637
2637
|
]),
|
|
2638
2638
|
_: 1
|
|
2639
2639
|
}),
|
|
@@ -2648,7 +2648,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2648
2648
|
}, L), null, 16)
|
|
2649
2649
|
]),
|
|
2650
2650
|
default: c(() => [
|
|
2651
|
-
e("span", null, T(g(
|
|
2651
|
+
e("span", null, T(g(t).getLabel("copyLink")), 1)
|
|
2652
2652
|
]),
|
|
2653
2653
|
_: 1
|
|
2654
2654
|
}),
|
|
@@ -2673,11 +2673,11 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2673
2673
|
aspectRatio: { default: "wide" }
|
|
2674
2674
|
},
|
|
2675
2675
|
setup(l) {
|
|
2676
|
-
const
|
|
2676
|
+
const t = l, a = V(() => ({ "background-image": `url("${encodeURI(t.image)}")` }));
|
|
2677
2677
|
return (n, o) => (v(), E("div", il, [
|
|
2678
2678
|
e("div", {
|
|
2679
2679
|
class: me(["img-div", [l.aspectRatio]]),
|
|
2680
|
-
style: ce(
|
|
2680
|
+
style: ce(a.value)
|
|
2681
2681
|
}, null, 6)
|
|
2682
2682
|
]));
|
|
2683
2683
|
}
|
|
@@ -2690,8 +2690,8 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2690
2690
|
isFullScreen: { type: Boolean }
|
|
2691
2691
|
},
|
|
2692
2692
|
emits: ["toggleFullscreen"],
|
|
2693
|
-
setup(l, { emit:
|
|
2694
|
-
const
|
|
2693
|
+
setup(l, { emit: t }) {
|
|
2694
|
+
const a = t;
|
|
2695
2695
|
return (n, o) => {
|
|
2696
2696
|
const i = x("v-btn");
|
|
2697
2697
|
return v(), E("div", ul, [
|
|
@@ -2699,7 +2699,7 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2699
2699
|
density: "comfortable",
|
|
2700
2700
|
elevation: "3",
|
|
2701
2701
|
icon: l.isFullScreen ? "mdi-fullscreen-exit" : "mdi-fullscreen",
|
|
2702
|
-
onClick: o[0] || (o[0] = (s) =>
|
|
2702
|
+
onClick: o[0] || (o[0] = (s) => a("toggleFullscreen"))
|
|
2703
2703
|
}, null, 8, ["icon"])
|
|
2704
2704
|
]);
|
|
2705
2705
|
};
|
|
@@ -2708,56 +2708,56 @@ const qo = { class: "d-flex align-center" }, Jo = { class: "d-block mr-1" }, Qo
|
|
|
2708
2708
|
class nt {
|
|
2709
2709
|
_labels;
|
|
2710
2710
|
_language;
|
|
2711
|
-
constructor({ labels:
|
|
2712
|
-
|
|
2711
|
+
constructor({ labels: t, language: a } = { labels: null, language: null }) {
|
|
2712
|
+
t ? this._labels = { ...t || {} } : fetch("https://l10n.visuado.com/all.json").then((n) => n.json()).then((n) => {
|
|
2713
2713
|
this._labels = n;
|
|
2714
|
-
}), this._language =
|
|
2714
|
+
}), this._language = a || "nb";
|
|
2715
2715
|
}
|
|
2716
|
-
getLabel(
|
|
2717
|
-
return this._labels && this._language in this._labels &&
|
|
2716
|
+
getLabel(t) {
|
|
2717
|
+
return this._labels && this._language in this._labels && t in this._labels[this._language] ? this._labels[this._language][t] : t;
|
|
2718
2718
|
}
|
|
2719
|
-
get(
|
|
2720
|
-
return typeof
|
|
2719
|
+
get(t) {
|
|
2720
|
+
return typeof t == "string" ? t : typeof t == "object" && this._language in t && t[this._language] ? t[this._language] : "";
|
|
2721
2721
|
}
|
|
2722
2722
|
}
|
|
2723
2723
|
class Xt {
|
|
2724
2724
|
_doc;
|
|
2725
2725
|
_elemId;
|
|
2726
2726
|
_state;
|
|
2727
|
-
constructor(
|
|
2728
|
-
this._doc =
|
|
2727
|
+
constructor(t, a) {
|
|
2728
|
+
this._doc = t, this._elemId = a, this._state = { isActive: !1 };
|
|
2729
2729
|
}
|
|
2730
2730
|
get isActive() {
|
|
2731
2731
|
return this._state.isActive;
|
|
2732
2732
|
}
|
|
2733
2733
|
setup() {
|
|
2734
|
-
const
|
|
2734
|
+
const t = [
|
|
2735
2735
|
"fullscreenchange",
|
|
2736
2736
|
"webkitfullscreenchange",
|
|
2737
2737
|
"mozfullscreenchange",
|
|
2738
2738
|
"msfullscreenchange"
|
|
2739
|
-
],
|
|
2740
|
-
|
|
2741
|
-
|
|
2739
|
+
], a = this._getElement();
|
|
2740
|
+
t.forEach((n) => {
|
|
2741
|
+
a.addEventListener(n, this._toggle.bind(this), !1);
|
|
2742
2742
|
});
|
|
2743
2743
|
}
|
|
2744
2744
|
toggle() {
|
|
2745
2745
|
this.isActive ? this._exit() : this._enter();
|
|
2746
2746
|
}
|
|
2747
2747
|
_enter() {
|
|
2748
|
-
const
|
|
2749
|
-
|
|
2748
|
+
const t = this._getElement(), a = t.requestFullscreen || t.webkitRequestFullscreen || t.mozRequestFullscreen || t.msRequestFullscreen;
|
|
2749
|
+
a && a.apply(t);
|
|
2750
2750
|
}
|
|
2751
2751
|
_exit() {
|
|
2752
|
-
const
|
|
2753
|
-
|
|
2752
|
+
const t = this._doc.exitFullscreen || this._doc.webkitExitFullscreen || this._doc.mozExitFullscreen || this._doc.document.msExitFullscreen;
|
|
2753
|
+
t && t.apply(document);
|
|
2754
2754
|
}
|
|
2755
2755
|
_getElement() {
|
|
2756
2756
|
return this._doc.getElementById(this._elemId);
|
|
2757
2757
|
}
|
|
2758
2758
|
_toggle() {
|
|
2759
|
-
const
|
|
2760
|
-
this._state.isActive =
|
|
2759
|
+
const t = !!(this._doc.fullscreenElement || this._doc.webkitFullscreenElement || this._doc.mozFullscreenElement || this._doc.msFullscreenElement);
|
|
2760
|
+
this._state.isActive = t;
|
|
2761
2761
|
}
|
|
2762
2762
|
}
|
|
2763
2763
|
function bt(l) {
|
|
@@ -2781,13 +2781,13 @@ function dl() {
|
|
|
2781
2781
|
let ra = class {
|
|
2782
2782
|
data;
|
|
2783
2783
|
// private cameraParams: any
|
|
2784
|
-
constructor(
|
|
2785
|
-
this.data =
|
|
2784
|
+
constructor(t, a) {
|
|
2785
|
+
this.data = t;
|
|
2786
2786
|
}
|
|
2787
|
-
download(
|
|
2788
|
-
|
|
2789
|
-
const
|
|
2790
|
-
typeof
|
|
2787
|
+
download(t = null) {
|
|
2788
|
+
t = t || dl();
|
|
2789
|
+
const a = document.createElement("a");
|
|
2790
|
+
typeof a.download == "string" ? (document.body.appendChild(a), a.download = t, a.href = this.data, a.click(), document.body.removeChild(a)) : location.replace(this.data);
|
|
2791
2791
|
}
|
|
2792
2792
|
};
|
|
2793
2793
|
const vl = {
|
|
@@ -2796,8 +2796,8 @@ const vl = {
|
|
|
2796
2796
|
}, ml = /* @__PURE__ */ N({
|
|
2797
2797
|
__name: "VVisuadoCreateButton",
|
|
2798
2798
|
emits: ["onSnapshot"],
|
|
2799
|
-
setup(l, { emit:
|
|
2800
|
-
const
|
|
2799
|
+
setup(l, { emit: t }) {
|
|
2800
|
+
const a = t;
|
|
2801
2801
|
return (n, o) => {
|
|
2802
2802
|
const i = x("v-btn");
|
|
2803
2803
|
return v(), E("div", vl, [
|
|
@@ -2805,7 +2805,7 @@ const vl = {
|
|
|
2805
2805
|
density: "comfortable",
|
|
2806
2806
|
elevation: "3",
|
|
2807
2807
|
icon: "mdi-creation",
|
|
2808
|
-
onClick: o[0] || (o[0] = (s) =>
|
|
2808
|
+
onClick: o[0] || (o[0] = (s) => a("onSnapshot"))
|
|
2809
2809
|
})
|
|
2810
2810
|
]);
|
|
2811
2811
|
};
|
|
@@ -2877,7 +2877,7 @@ const vl = {
|
|
|
2877
2877
|
showVisuadoCreateButton: { type: Boolean, default: !1 }
|
|
2878
2878
|
},
|
|
2879
2879
|
emits: ["onSnapshot", "onVisuadoCreateButtonClicked", "saveSettings", "onInteriorUpdate", "onCameraUpdate", "onSunsimUpdate", "onError", "onFrontendMarkersUpdate", "onInitialized"],
|
|
2880
|
-
setup(l, { expose:
|
|
2880
|
+
setup(l, { expose: t, emit: a }) {
|
|
2881
2881
|
const n = l, {
|
|
2882
2882
|
cdnFileResolver: o,
|
|
2883
2883
|
apartmentId: i,
|
|
@@ -2905,14 +2905,14 @@ const vl = {
|
|
|
2905
2905
|
dynamicMarkers: R,
|
|
2906
2906
|
version: Se,
|
|
2907
2907
|
showVersion: ke
|
|
2908
|
-
} = $e(n), P =
|
|
2908
|
+
} = $e(n), P = a, we = b(!1), G = b(!1), ue = b(!1), ne = b(), B = b(), K = b(), oe = b(), Y = b(), ee = b(0), z = b(), ie = b(), te = b(), _e = b(0), re = b(0), he = b(0), xe = b(!1), Le = b(!1), Te = b(), ge = b(!1), ve = b(!1), Ie = b({
|
|
2909
2909
|
startTime: 0,
|
|
2910
2910
|
startX: 0,
|
|
2911
2911
|
startY: 0
|
|
2912
2912
|
}), Ee = b(
|
|
2913
2913
|
new Xt(document, "player-wrapper")
|
|
2914
2914
|
);
|
|
2915
|
-
|
|
2915
|
+
t({
|
|
2916
2916
|
updateSelectedInterior: St,
|
|
2917
2917
|
takeSnapshot: Kt,
|
|
2918
2918
|
setCurrentCamera: Ge,
|
|
@@ -3620,10 +3620,10 @@ const vl = {
|
|
|
3620
3620
|
isAutoPlaying: { type: Boolean }
|
|
3621
3621
|
},
|
|
3622
3622
|
emits: ["autoRotatePluginOptions", "dataPointChanged", "dataPointLoad", "dataPointsLoaded", "dataPointsActivated", "dataPointsDeactivated", "dataPointTextureLoad", "frontendMarkersUpdate", "imageLoaderOptions", "initialized", "keyDown", "key", "keyUp", "mainOptions", "mouseDown", "mouse", "mouseMove", "mousePick", "mouseScroll", "mouseUp", "panoramaTransitionRendererPluginOptions", "postProcessorOptions", "resized", "stateUpdated", "userInputPluginOptions", "playerCoreAccessible"],
|
|
3623
|
-
setup(l, { expose:
|
|
3623
|
+
setup(l, { expose: t, emit: a }) {
|
|
3624
3624
|
const n = l, { data: o, cameraId: i, interiorId: s, day: f, time: w, isAutoPlaying: r } = $e(n), m = b();
|
|
3625
|
-
|
|
3626
|
-
const y =
|
|
3625
|
+
t({ playerCore: m });
|
|
3626
|
+
const y = a;
|
|
3627
3627
|
return H(
|
|
3628
3628
|
r,
|
|
3629
3629
|
() => {
|
|
@@ -3800,19 +3800,19 @@ const vl = {
|
|
|
3800
3800
|
},
|
|
3801
3801
|
emits: ["update:modelValue"],
|
|
3802
3802
|
setup(l) {
|
|
3803
|
-
const
|
|
3803
|
+
const t = lt(l, "modelValue"), a = V(() => /Android|webOS|iPhone|iPad|BlackBerry|Windows Phone|Opera Mini|IEMobile|Mobile/i.test(
|
|
3804
3804
|
window.navigator.userAgent
|
|
3805
3805
|
));
|
|
3806
3806
|
return (n, o) => {
|
|
3807
3807
|
const i = x("v-icon"), s = x("v-btn");
|
|
3808
3808
|
return v(), I(s, {
|
|
3809
3809
|
size: "x-small",
|
|
3810
|
-
class: me(["autoplay-btn", { mobile:
|
|
3811
|
-
onClick: o[0] || (o[0] = (f) =>
|
|
3810
|
+
class: me(["autoplay-btn", { mobile: a.value, "mt-1": a.value, "mx-1": a.value }]),
|
|
3811
|
+
onClick: o[0] || (o[0] = (f) => t.value = !t.value)
|
|
3812
3812
|
}, {
|
|
3813
3813
|
default: c(() => [
|
|
3814
3814
|
h(i, {
|
|
3815
|
-
icon:
|
|
3815
|
+
icon: t.value ? "mdi-pause" : "mdi-play",
|
|
3816
3816
|
size: "x-large",
|
|
3817
3817
|
class: "pa-0 ma-0"
|
|
3818
3818
|
}, null, 8, ["icon"])
|
|
@@ -3835,9 +3835,9 @@ const vl = {
|
|
|
3835
3835
|
},
|
|
3836
3836
|
emits: ["update:modelValue"],
|
|
3837
3837
|
setup(l) {
|
|
3838
|
-
const
|
|
3838
|
+
const t = lt(l, "modelValue"), a = Ve(Be), n = V(() => {
|
|
3839
3839
|
let o = "virtualTour";
|
|
3840
|
-
return
|
|
3840
|
+
return t.value || (o = "slideShow"), o;
|
|
3841
3841
|
});
|
|
3842
3842
|
return (o, i) => {
|
|
3843
3843
|
const s = x("v-icon"), f = x("v-btn"), w = x("v-tooltip");
|
|
@@ -3847,7 +3847,7 @@ const vl = {
|
|
|
3847
3847
|
density: "comfortable",
|
|
3848
3848
|
elevation: "1",
|
|
3849
3849
|
icon: "",
|
|
3850
|
-
onClick: i[0] || (i[0] = (m) =>
|
|
3850
|
+
onClick: i[0] || (i[0] = (m) => t.value = !t.value)
|
|
3851
3851
|
}, r), {
|
|
3852
3852
|
default: c(() => [
|
|
3853
3853
|
n.value === "virtualTour" ? (v(), E("svg", Pl, [...i[1] || (i[1] = [
|
|
@@ -3868,7 +3868,7 @@ const vl = {
|
|
|
3868
3868
|
}, 16)
|
|
3869
3869
|
]),
|
|
3870
3870
|
default: c(() => [
|
|
3871
|
-
e("span", null, T(g(
|
|
3871
|
+
e("span", null, T(g(a).getLabel(n.value)), 1)
|
|
3872
3872
|
]),
|
|
3873
3873
|
_: 1
|
|
3874
3874
|
});
|
|
@@ -3880,7 +3880,7 @@ const vl = {
|
|
|
3880
3880
|
}, Nl = /* @__PURE__ */ N({
|
|
3881
3881
|
__name: "VSocialShare",
|
|
3882
3882
|
setup(l) {
|
|
3883
|
-
const
|
|
3883
|
+
const t = Ve(Be), a = b(!1), n = b(location.href);
|
|
3884
3884
|
function o() {
|
|
3885
3885
|
return window.open(
|
|
3886
3886
|
"https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(location.href),
|
|
@@ -3918,19 +3918,19 @@ const vl = {
|
|
|
3918
3918
|
density: "comfortable",
|
|
3919
3919
|
elevation: "1",
|
|
3920
3920
|
icon: "mdi-share-variant",
|
|
3921
|
-
onClick: r[0] || (r[0] = (S) =>
|
|
3921
|
+
onClick: r[0] || (r[0] = (S) => a.value = !a.value)
|
|
3922
3922
|
}, L), null, 16)
|
|
3923
3923
|
]),
|
|
3924
3924
|
default: c(() => [
|
|
3925
|
-
e("span", null, T(g(
|
|
3925
|
+
e("span", null, T(g(t).getLabel("share")), 1)
|
|
3926
3926
|
]),
|
|
3927
3927
|
_: 1
|
|
3928
3928
|
}),
|
|
3929
3929
|
h(_, {
|
|
3930
3930
|
id: "share-box",
|
|
3931
3931
|
width: "400",
|
|
3932
|
-
modelValue:
|
|
3933
|
-
"onUpdate:modelValue": r[2] || (r[2] = (L) =>
|
|
3932
|
+
modelValue: a.value,
|
|
3933
|
+
"onUpdate:modelValue": r[2] || (r[2] = (L) => a.value = L)
|
|
3934
3934
|
}, {
|
|
3935
3935
|
default: c(() => [
|
|
3936
3936
|
h(p, null, {
|
|
@@ -3940,11 +3940,11 @@ const vl = {
|
|
|
3940
3940
|
h(m, {
|
|
3941
3941
|
size: "x-small",
|
|
3942
3942
|
icon: "mdi-close",
|
|
3943
|
-
onClick: r[1] || (r[1] = (L) =>
|
|
3943
|
+
onClick: r[1] || (r[1] = (L) => a.value = !1)
|
|
3944
3944
|
}),
|
|
3945
3945
|
h(d, null, {
|
|
3946
3946
|
default: c(() => [
|
|
3947
|
-
Q(T(g(
|
|
3947
|
+
Q(T(g(t).getLabel("share")), 1)
|
|
3948
3948
|
]),
|
|
3949
3949
|
_: 1
|
|
3950
3950
|
}),
|
|
@@ -3965,7 +3965,7 @@ const vl = {
|
|
|
3965
3965
|
}, L, { onClick: o }), null, 16)
|
|
3966
3966
|
]),
|
|
3967
3967
|
default: c(() => [
|
|
3968
|
-
e("span", null, T(g(
|
|
3968
|
+
e("span", null, T(g(t).getLabel("shareToFacebook")), 1)
|
|
3969
3969
|
]),
|
|
3970
3970
|
_: 1
|
|
3971
3971
|
}),
|
|
@@ -3979,7 +3979,7 @@ const vl = {
|
|
|
3979
3979
|
}, L, { onClick: s }), null, 16)
|
|
3980
3980
|
]),
|
|
3981
3981
|
default: c(() => [
|
|
3982
|
-
e("span", null, T(g(
|
|
3982
|
+
e("span", null, T(g(t).getLabel("shareToLinkedin")), 1)
|
|
3983
3983
|
]),
|
|
3984
3984
|
_: 1
|
|
3985
3985
|
}),
|
|
@@ -3993,7 +3993,7 @@ const vl = {
|
|
|
3993
3993
|
}, L, { onClick: i }), null, 16)
|
|
3994
3994
|
]),
|
|
3995
3995
|
default: c(() => [
|
|
3996
|
-
e("span", null, T(g(
|
|
3996
|
+
e("span", null, T(g(t).getLabel("shareToTwitter")), 1)
|
|
3997
3997
|
]),
|
|
3998
3998
|
_: 1
|
|
3999
3999
|
}),
|
|
@@ -4009,7 +4009,7 @@ const vl = {
|
|
|
4009
4009
|
}, L), null, 16, ["href"])
|
|
4010
4010
|
]),
|
|
4011
4011
|
default: c(() => [
|
|
4012
|
-
e("span", null, T(g(
|
|
4012
|
+
e("span", null, T(g(t).getLabel("shareViaEmail")), 1)
|
|
4013
4013
|
]),
|
|
4014
4014
|
_: 1
|
|
4015
4015
|
}),
|
|
@@ -4024,7 +4024,7 @@ const vl = {
|
|
|
4024
4024
|
}, L), null, 16)
|
|
4025
4025
|
]),
|
|
4026
4026
|
default: c(() => [
|
|
4027
|
-
e("span", null, T(g(
|
|
4027
|
+
e("span", null, T(g(t).getLabel("copyLink")), 1)
|
|
4028
4028
|
]),
|
|
4029
4029
|
_: 1
|
|
4030
4030
|
}),
|
|
@@ -4051,8 +4051,8 @@ const vl = {
|
|
|
4051
4051
|
}, os = { class: "box col my-1" }, ls = { class: "text text-col text-center" }, ss = { class: "box col my-1" }, is = { class: "text text-col text-center" }, rs = { class: "box col my-1" }, us = { class: "text text-col text-center" }, cs = { class: "text-h6 text-capitalize" }, ds = { class: "mt-2" }, vs = { class: "d-flex justify-center align-center checkbox-container" }, ms = { class: "text-caption" }, ps = /* @__PURE__ */ N({
|
|
4052
4052
|
__name: "VTutorial",
|
|
4053
4053
|
emits: ["closeTutorial"],
|
|
4054
|
-
setup(l, { emit:
|
|
4055
|
-
const
|
|
4054
|
+
setup(l, { emit: t }) {
|
|
4055
|
+
const a = t, n = Ve(Be), o = b(!1), i = b(!1), s = V(() => [
|
|
4056
4056
|
/Android/i,
|
|
4057
4057
|
/webOS/i,
|
|
4058
4058
|
/iPhone/i,
|
|
@@ -4062,7 +4062,7 @@ const vl = {
|
|
|
4062
4062
|
/Windows Phone/i
|
|
4063
4063
|
].some((r) => navigator.userAgent.match(r)));
|
|
4064
4064
|
function f() {
|
|
4065
|
-
|
|
4065
|
+
a("closeTutorial", o.value);
|
|
4066
4066
|
}
|
|
4067
4067
|
return (w, r) => {
|
|
4068
4068
|
const m = x("v-icon"), y = x("v-card-title"), d = x("v-btn"), A = x("v-divider"), k = x("v-card-text"), u = x("v-card-actions"), p = x("v-card"), _ = x("v-expand-transition"), L = x("v-checkbox");
|
|
@@ -4758,10 +4758,10 @@ const vl = {
|
|
|
4758
4758
|
props: {
|
|
4759
4759
|
size: {}
|
|
4760
4760
|
},
|
|
4761
|
-
setup(l, { expose:
|
|
4762
|
-
const
|
|
4763
|
-
|
|
4764
|
-
bodyWidth:
|
|
4761
|
+
setup(l, { expose: t }) {
|
|
4762
|
+
const a = b(void 0), n = b(void 0);
|
|
4763
|
+
t({
|
|
4764
|
+
bodyWidth: a,
|
|
4765
4765
|
bodyHeight: n
|
|
4766
4766
|
}), je(() => {
|
|
4767
4767
|
i(document.getElementById("moveableDiv")), o(document.querySelector("#moveableDiv"));
|
|
@@ -4769,7 +4769,7 @@ const vl = {
|
|
|
4769
4769
|
const o = (s) => {
|
|
4770
4770
|
new ResizeObserver(() => {
|
|
4771
4771
|
const w = document.getElementById("moveableBody");
|
|
4772
|
-
w && (
|
|
4772
|
+
w && (a.value = w.clientWidth, n.value = w.clientHeight);
|
|
4773
4773
|
}).observe(s);
|
|
4774
4774
|
}, i = (s) => {
|
|
4775
4775
|
const f = document.getElementsByClassName("anchor");
|
|
@@ -4824,8 +4824,8 @@ const vl = {
|
|
|
4824
4824
|
rotation: {}
|
|
4825
4825
|
},
|
|
4826
4826
|
emits: ["close", "goToCamera"],
|
|
4827
|
-
setup(l, { emit:
|
|
4828
|
-
const
|
|
4827
|
+
setup(l, { emit: t }) {
|
|
4828
|
+
const a = b(null), n = l, o = t, i = b(), s = b(0), f = V(() => n.minimapJson.storeys[n.level]), w = b(0);
|
|
4829
4829
|
H(
|
|
4830
4830
|
() => n.apartmentJson,
|
|
4831
4831
|
() => {
|
|
@@ -4864,7 +4864,7 @@ const vl = {
|
|
|
4864
4864
|
const S = x("v-btn");
|
|
4865
4865
|
return v(), I(_s, {
|
|
4866
4866
|
ref_key: "minimapMoveable",
|
|
4867
|
-
ref:
|
|
4867
|
+
ref: a,
|
|
4868
4868
|
size: A.value
|
|
4869
4869
|
}, {
|
|
4870
4870
|
"top-left": c(() => [
|
|
@@ -4913,8 +4913,8 @@ const vl = {
|
|
|
4913
4913
|
rotation: l.rotation,
|
|
4914
4914
|
"current-camera": l.currentCamera,
|
|
4915
4915
|
storey: f.value,
|
|
4916
|
-
containerWidth:
|
|
4917
|
-
containerHeight:
|
|
4916
|
+
containerWidth: a.value && a.value.bodyWidth || 512,
|
|
4917
|
+
containerHeight: a.value && a.value.bodyHeight || 384,
|
|
4918
4918
|
onGoToCamera: p
|
|
4919
4919
|
}, null, 8, ["transform-angle", "all-cameras", "background-image", "rotation", "current-camera", "storey", "containerWidth", "containerHeight"])
|
|
4920
4920
|
])
|
|
@@ -4939,8 +4939,8 @@ const vl = {
|
|
|
4939
4939
|
}, Ms = /* @__PURE__ */ N({
|
|
4940
4940
|
__name: "VVisuadoCreateButton",
|
|
4941
4941
|
emits: ["onSnapshot"],
|
|
4942
|
-
setup(l, { emit:
|
|
4943
|
-
const
|
|
4942
|
+
setup(l, { emit: t }) {
|
|
4943
|
+
const a = t;
|
|
4944
4944
|
return (n, o) => {
|
|
4945
4945
|
const i = x("v-btn");
|
|
4946
4946
|
return v(), E("div", Es, [
|
|
@@ -4948,7 +4948,7 @@ const vl = {
|
|
|
4948
4948
|
density: "comfortable",
|
|
4949
4949
|
elevation: "3",
|
|
4950
4950
|
icon: "mdi-creation",
|
|
4951
|
-
onClick: o[0] || (o[0] = (s) =>
|
|
4951
|
+
onClick: o[0] || (o[0] = (s) => a("onSnapshot"))
|
|
4952
4952
|
})
|
|
4953
4953
|
]);
|
|
4954
4954
|
};
|
|
@@ -4962,8 +4962,8 @@ const vl = {
|
|
|
4962
4962
|
isFullScreen: { type: Boolean }
|
|
4963
4963
|
},
|
|
4964
4964
|
emits: ["toggleFullscreen"],
|
|
4965
|
-
setup(l, { emit:
|
|
4966
|
-
const
|
|
4965
|
+
setup(l, { emit: t }) {
|
|
4966
|
+
const a = t;
|
|
4967
4967
|
return (n, o) => {
|
|
4968
4968
|
const i = x("v-btn");
|
|
4969
4969
|
return v(), E("div", As, [
|
|
@@ -4971,7 +4971,7 @@ const vl = {
|
|
|
4971
4971
|
density: "comfortable",
|
|
4972
4972
|
elevation: "3",
|
|
4973
4973
|
icon: l.isFullScreen ? "mdi-fullscreen-exit" : "mdi-fullscreen",
|
|
4974
|
-
onClick: o[0] || (o[0] = (s) =>
|
|
4974
|
+
onClick: o[0] || (o[0] = (s) => a("toggleFullscreen"))
|
|
4975
4975
|
}, null, 8, ["icon"])
|
|
4976
4976
|
]);
|
|
4977
4977
|
};
|
|
@@ -4984,8 +4984,8 @@ const vl = {
|
|
|
4984
4984
|
currentDataPoint: {}
|
|
4985
4985
|
},
|
|
4986
4986
|
emits: ["selectInterior"],
|
|
4987
|
-
setup(l, { emit:
|
|
4988
|
-
const
|
|
4987
|
+
setup(l, { emit: t }) {
|
|
4988
|
+
const a = l, { currentDataPoint: n, archetypes: o, cdnFileResolver: i } = $e(a), s = ba({}), f = t;
|
|
4989
4989
|
H(
|
|
4990
4990
|
n,
|
|
4991
4991
|
async () => {
|
|
@@ -5069,19 +5069,19 @@ const vl = {
|
|
|
5069
5069
|
}),
|
|
5070
5070
|
emits: ["update:modelValue"],
|
|
5071
5071
|
setup(l) {
|
|
5072
|
-
const
|
|
5072
|
+
const t = lt(l, "modelValue"), a = Ve(Be);
|
|
5073
5073
|
return (n, o) => {
|
|
5074
5074
|
const i = x("v-btn");
|
|
5075
|
-
return !
|
|
5075
|
+
return !t.value && l.showUi ? (v(), I(i, {
|
|
5076
5076
|
key: 0,
|
|
5077
5077
|
size: "small",
|
|
5078
5078
|
varient: "tonal",
|
|
5079
5079
|
prependIcon: "mdi-white-balance-sunny",
|
|
5080
5080
|
class: "sun-study-toggle text-capitalize rounded-xl",
|
|
5081
|
-
onClick: o[0] || (o[0] = (s) =>
|
|
5081
|
+
onClick: o[0] || (o[0] = (s) => t.value = !t.value)
|
|
5082
5082
|
}, {
|
|
5083
5083
|
default: c(() => [
|
|
5084
|
-
Q(T(g(
|
|
5084
|
+
Q(T(g(a).getLabel("openSunStudy")), 1)
|
|
5085
5085
|
]),
|
|
5086
5086
|
_: 1
|
|
5087
5087
|
})) : M("", !0);
|
|
@@ -5103,9 +5103,9 @@ const vl = {
|
|
|
5103
5103
|
},
|
|
5104
5104
|
emits: ["update:modelValue", "update:time", "update:day"],
|
|
5105
5105
|
setup(l) {
|
|
5106
|
-
const
|
|
5106
|
+
const t = lt(l, "modelValue"), a = lt(l, "time"), n = lt(l, "day");
|
|
5107
5107
|
function o(i) {
|
|
5108
|
-
|
|
5108
|
+
a.value = n.value.timeSamples.find(
|
|
5109
5109
|
(s) => s.timeInHours === i
|
|
5110
5110
|
);
|
|
5111
5111
|
}
|
|
@@ -5124,7 +5124,7 @@ const vl = {
|
|
|
5124
5124
|
n.value.timeSamples.length > 1 ? (v(), I(w, {
|
|
5125
5125
|
key: 0,
|
|
5126
5126
|
class: "pa-2 pr-2",
|
|
5127
|
-
modelValue:
|
|
5127
|
+
modelValue: a.value.timeInHours,
|
|
5128
5128
|
min: n.value.startTime,
|
|
5129
5129
|
max: n.value.endTime,
|
|
5130
5130
|
step: n.value.interval,
|
|
@@ -5145,7 +5145,7 @@ const vl = {
|
|
|
5145
5145
|
])]),
|
|
5146
5146
|
_: 1
|
|
5147
5147
|
}),
|
|
5148
|
-
e("span", zs, T(g(pt)(
|
|
5148
|
+
e("span", zs, T(g(pt)(a.value.timeInHours)), 1)
|
|
5149
5149
|
]),
|
|
5150
5150
|
_: 1
|
|
5151
5151
|
}, 8, ["modelValue", "min", "max", "step"])) : (v(), E(Oe, { key: 1 }, [
|
|
@@ -5159,7 +5159,7 @@ const vl = {
|
|
|
5159
5159
|
])]),
|
|
5160
5160
|
_: 1
|
|
5161
5161
|
}),
|
|
5162
|
-
e("span", js, T(g(pt)(
|
|
5162
|
+
e("span", js, T(g(pt)(a.value.timeInHours)), 1)
|
|
5163
5163
|
], 64))
|
|
5164
5164
|
]),
|
|
5165
5165
|
_: 1
|
|
@@ -5170,7 +5170,7 @@ const vl = {
|
|
|
5170
5170
|
size: "small",
|
|
5171
5171
|
class: "sun-study-toggle text-capitalize rounded-xl",
|
|
5172
5172
|
icon: "mdi-close",
|
|
5173
|
-
onClick: s[0] || (s[0] = (y) =>
|
|
5173
|
+
onClick: s[0] || (s[0] = (y) => t.value = !t.value)
|
|
5174
5174
|
})
|
|
5175
5175
|
])
|
|
5176
5176
|
]);
|
|
@@ -5186,9 +5186,9 @@ const vl = {
|
|
|
5186
5186
|
currentThumbnail: {}
|
|
5187
5187
|
},
|
|
5188
5188
|
emits: ["go"],
|
|
5189
|
-
setup(l, { expose:
|
|
5190
|
-
const n = l, { thumbnails: o, currentThumbnail: i } = $e(n), s =
|
|
5191
|
-
|
|
5189
|
+
setup(l, { expose: t, emit: a }) {
|
|
5190
|
+
const n = l, { thumbnails: o, currentThumbnail: i } = $e(n), s = a;
|
|
5191
|
+
t({
|
|
5192
5192
|
updateLoadProgress: u
|
|
5193
5193
|
});
|
|
5194
5194
|
const f = b();
|
|
@@ -5352,7 +5352,7 @@ const vl = {
|
|
|
5352
5352
|
minutes: { default: 0 }
|
|
5353
5353
|
},
|
|
5354
5354
|
setup(l) {
|
|
5355
|
-
const
|
|
5355
|
+
const t = l, a = V(() => [n(t.hours), ":", n(t.minutes)].join(""));
|
|
5356
5356
|
function n(o) {
|
|
5357
5357
|
return ("0" + o).slice(-2);
|
|
5358
5358
|
}
|
|
@@ -5365,7 +5365,7 @@ const vl = {
|
|
|
5365
5365
|
"aspect-ratio": "1"
|
|
5366
5366
|
}, null, 8, ["src"])
|
|
5367
5367
|
]),
|
|
5368
|
-
e("div", Gs, T(
|
|
5368
|
+
e("div", Gs, T(a.value), 1)
|
|
5369
5369
|
]);
|
|
5370
5370
|
};
|
|
5371
5371
|
}
|
|
@@ -5375,11 +5375,11 @@ const vl = {
|
|
|
5375
5375
|
rotation: {}
|
|
5376
5376
|
},
|
|
5377
5377
|
setup(l) {
|
|
5378
|
-
const
|
|
5378
|
+
const t = l, a = b(xa), n = b({
|
|
5379
5379
|
backgroundImage: `url(${La})`,
|
|
5380
5380
|
backgroundSize: "contain"
|
|
5381
5381
|
}), o = V(() => ({
|
|
5382
|
-
transform: `rotate(${-
|
|
5382
|
+
transform: `rotate(${-t.rotation + 180}deg)`
|
|
5383
5383
|
}));
|
|
5384
5384
|
return (i, s) => {
|
|
5385
5385
|
const f = x("v-img");
|
|
@@ -5389,7 +5389,7 @@ const vl = {
|
|
|
5389
5389
|
}, [
|
|
5390
5390
|
h(f, {
|
|
5391
5391
|
class: "compass-needle",
|
|
5392
|
-
src:
|
|
5392
|
+
src: a.value,
|
|
5393
5393
|
style: ce(o.value)
|
|
5394
5394
|
}, null, 8, ["src", "style"])
|
|
5395
5395
|
], 4);
|
|
@@ -5411,9 +5411,9 @@ const vl = {
|
|
|
5411
5411
|
initialSettings: {}
|
|
5412
5412
|
},
|
|
5413
5413
|
emits: ["updateSettings", "saveSettings"],
|
|
5414
|
-
setup(l, { emit:
|
|
5415
|
-
const
|
|
5416
|
-
A(
|
|
5414
|
+
setup(l, { emit: t }) {
|
|
5415
|
+
const a = l, n = t, o = b(
|
|
5416
|
+
A(a.initialSettings)
|
|
5417
5417
|
);
|
|
5418
5418
|
H(
|
|
5419
5419
|
o,
|
|
@@ -5745,13 +5745,13 @@ const vl = {
|
|
|
5745
5745
|
}),
|
|
5746
5746
|
emits: ["update:modelValue"],
|
|
5747
5747
|
setup(l) {
|
|
5748
|
-
const
|
|
5749
|
-
const r =
|
|
5748
|
+
const t = lt(l, "modelValue"), a = l, n = Ve(Be), o = V(() => {
|
|
5749
|
+
const r = a.floorLevels;
|
|
5750
5750
|
return r.sort(), r;
|
|
5751
|
-
}), i = V(() => o.value.indexOf(
|
|
5751
|
+
}), i = V(() => o.value.indexOf(t.value) + 1 <= o.value.length / 2 ? "lower" : "upper"), s = V(() => i.value === "lower"), f = V(() => i.value === "upper");
|
|
5752
5752
|
function w() {
|
|
5753
|
-
const r =
|
|
5754
|
-
r >= o.value.length ?
|
|
5753
|
+
const r = t.value + 1;
|
|
5754
|
+
r >= o.value.length ? t.value = o.value[0] : t.value = o.value[r];
|
|
5755
5755
|
}
|
|
5756
5756
|
return (r, m) => {
|
|
5757
5757
|
const y = x("v-btn"), d = x("v-tooltip");
|
|
@@ -5796,43 +5796,43 @@ const vl = {
|
|
|
5796
5796
|
}
|
|
5797
5797
|
}), Ci = /* @__PURE__ */ X(_i, [["__scopeId", "data-v-ae461ac7"]]);
|
|
5798
5798
|
class dt {
|
|
5799
|
-
static async loadText(
|
|
5800
|
-
return new dt().loadText(
|
|
5799
|
+
static async loadText(t) {
|
|
5800
|
+
return new dt().loadText(t);
|
|
5801
5801
|
}
|
|
5802
|
-
static async loadJson(
|
|
5803
|
-
return new dt().loadJson(
|
|
5802
|
+
static async loadJson(t) {
|
|
5803
|
+
return new dt().loadJson(t);
|
|
5804
5804
|
}
|
|
5805
|
-
static async loadImage(
|
|
5806
|
-
return new dt().loadImage(
|
|
5805
|
+
static async loadImage(t) {
|
|
5806
|
+
return new dt().loadImage(t);
|
|
5807
5807
|
}
|
|
5808
|
-
static async loadImageData(
|
|
5809
|
-
return new dt().loadImageData(
|
|
5808
|
+
static async loadImageData(t) {
|
|
5809
|
+
return new dt().loadImageData(t);
|
|
5810
5810
|
}
|
|
5811
|
-
async loadText(
|
|
5811
|
+
async loadText(t) {
|
|
5812
5812
|
try {
|
|
5813
|
-
return (await Ft.get(
|
|
5814
|
-
} catch (
|
|
5815
|
-
throw Ft.isAxiosError(
|
|
5816
|
-
`Failed to load resource from ${
|
|
5817
|
-
) :
|
|
5813
|
+
return (await Ft.get(t)).data;
|
|
5814
|
+
} catch (a) {
|
|
5815
|
+
throw Ft.isAxiosError(a) && a.response ? new Error(
|
|
5816
|
+
`Failed to load resource from ${t}: ${a.response.status} ${a.response.statusText}`
|
|
5817
|
+
) : a;
|
|
5818
5818
|
}
|
|
5819
5819
|
}
|
|
5820
|
-
async loadJson(
|
|
5821
|
-
return (await Ft.get(
|
|
5820
|
+
async loadJson(t) {
|
|
5821
|
+
return (await Ft.get(t)).data;
|
|
5822
5822
|
}
|
|
5823
|
-
async loadImage(
|
|
5824
|
-
return new Promise((
|
|
5823
|
+
async loadImage(t) {
|
|
5824
|
+
return new Promise((a, n) => {
|
|
5825
5825
|
const o = new Image();
|
|
5826
5826
|
o.crossOrigin = "anonymous", o.onload = () => {
|
|
5827
|
-
|
|
5828
|
-
}, o.onerror = n, o.src =
|
|
5827
|
+
a(o);
|
|
5828
|
+
}, o.onerror = n, o.src = t;
|
|
5829
5829
|
});
|
|
5830
5830
|
}
|
|
5831
|
-
async loadImageData(
|
|
5832
|
-
const
|
|
5831
|
+
async loadImageData(t) {
|
|
5832
|
+
const a = await this.loadImage(t), n = document.createElement("canvas");
|
|
5833
5833
|
try {
|
|
5834
5834
|
const o = n.getContext("2d");
|
|
5835
|
-
return n.width =
|
|
5835
|
+
return n.width = a.width, n.height = a.height, o.drawImage(a, 0, 0), n.toDataURL("image/png");
|
|
5836
5836
|
} finally {
|
|
5837
5837
|
n.remove();
|
|
5838
5838
|
}
|
|
@@ -5845,8 +5845,8 @@ class Li {
|
|
|
5845
5845
|
metadata = /* @__PURE__ */ new Map();
|
|
5846
5846
|
initPromise = null;
|
|
5847
5847
|
available = !0;
|
|
5848
|
-
constructor(
|
|
5849
|
-
this.cacheName =
|
|
5848
|
+
constructor(t) {
|
|
5849
|
+
this.cacheName = t?.cacheName ?? "image-cache", this.maxSizeBytes = (t?.maxSizeInMB ?? 500) * 1024 * 1024;
|
|
5850
5850
|
}
|
|
5851
5851
|
async init() {
|
|
5852
5852
|
if (!this.dirHandle)
|
|
@@ -5854,8 +5854,8 @@ class Li {
|
|
|
5854
5854
|
}
|
|
5855
5855
|
async _init() {
|
|
5856
5856
|
try {
|
|
5857
|
-
const
|
|
5858
|
-
this.dirHandle = await
|
|
5857
|
+
const t = await navigator.storage.getDirectory();
|
|
5858
|
+
this.dirHandle = await t.getDirectoryHandle(this.cacheName, { create: !0 }), await this.loadMetadata();
|
|
5859
5859
|
} catch {
|
|
5860
5860
|
this.available = !1;
|
|
5861
5861
|
}
|
|
@@ -5871,73 +5871,73 @@ class Li {
|
|
|
5871
5871
|
}
|
|
5872
5872
|
async saveMetadata() {
|
|
5873
5873
|
if (!this.dirHandle) return;
|
|
5874
|
-
const
|
|
5875
|
-
await
|
|
5874
|
+
const a = await (await this.dirHandle.getFileHandle("_metadata.json", { create: !0 })).createWritable();
|
|
5875
|
+
await a.write(JSON.stringify([...this.metadata])), await a.close();
|
|
5876
5876
|
}
|
|
5877
|
-
hashUrl(
|
|
5878
|
-
let
|
|
5879
|
-
for (let s = 0; s <
|
|
5880
|
-
const f =
|
|
5881
|
-
|
|
5877
|
+
hashUrl(t) {
|
|
5878
|
+
let a = 0;
|
|
5879
|
+
for (let s = 0; s < t.length; s++) {
|
|
5880
|
+
const f = t.charCodeAt(s);
|
|
5881
|
+
a = (a << 5) - a + f | 0;
|
|
5882
5882
|
}
|
|
5883
|
-
const n =
|
|
5883
|
+
const n = a >>> 0, o = btoa(t).replace(/[^a-zA-Z0-9]/g, ""), i = o.length > 40 ? o.slice(0, 40) : o;
|
|
5884
5884
|
return `${n.toString(36)}_${i}`;
|
|
5885
5885
|
}
|
|
5886
|
-
async get(
|
|
5886
|
+
async get(t) {
|
|
5887
5887
|
if (await this.init(), !this.available || !this.dirHandle) return null;
|
|
5888
|
-
const
|
|
5888
|
+
const a = this.hashUrl(t), n = this.metadata.get(a);
|
|
5889
5889
|
if (!n) return null;
|
|
5890
5890
|
try {
|
|
5891
|
-
const i = await (await this.dirHandle.getFileHandle(
|
|
5891
|
+
const i = await (await this.dirHandle.getFileHandle(a)).getFile();
|
|
5892
5892
|
return n.lastAccessed = Date.now(), this.saveMetadata(), URL.createObjectURL(i);
|
|
5893
5893
|
} catch {
|
|
5894
|
-
return this.metadata.delete(
|
|
5894
|
+
return this.metadata.delete(a), this.saveMetadata(), null;
|
|
5895
5895
|
}
|
|
5896
5896
|
}
|
|
5897
|
-
async getOrFetch(
|
|
5898
|
-
if (await this.init(), !this.available || !this.dirHandle) return
|
|
5899
|
-
const
|
|
5897
|
+
async getOrFetch(t) {
|
|
5898
|
+
if (await this.init(), !this.available || !this.dirHandle) return t;
|
|
5899
|
+
const a = this.hashUrl(t), n = this.metadata.get(a);
|
|
5900
5900
|
if (n)
|
|
5901
5901
|
try {
|
|
5902
|
-
const i = await (await this.dirHandle.getFileHandle(
|
|
5902
|
+
const i = await (await this.dirHandle.getFileHandle(a)).getFile();
|
|
5903
5903
|
return n.lastAccessed = Date.now(), this.saveMetadata(), URL.createObjectURL(i);
|
|
5904
5904
|
} catch {
|
|
5905
|
-
this.metadata.delete(
|
|
5905
|
+
this.metadata.delete(a);
|
|
5906
5906
|
}
|
|
5907
5907
|
try {
|
|
5908
|
-
const i = await (await fetch(
|
|
5909
|
-
await f.write(i), await f.close(), this.metadata.set(
|
|
5908
|
+
const i = await (await fetch(t)).blob(), s = await this.dirHandle.getFileHandle(a, { create: !0 }), f = await s.createWritable();
|
|
5909
|
+
await f.write(i), await f.close(), this.metadata.set(a, {
|
|
5910
5910
|
size: i.size,
|
|
5911
5911
|
lastAccessed: Date.now()
|
|
5912
5912
|
}), await this.evictIfNeeded(), await this.saveMetadata();
|
|
5913
5913
|
const w = await s.getFile();
|
|
5914
5914
|
return URL.createObjectURL(w);
|
|
5915
5915
|
} catch {
|
|
5916
|
-
return
|
|
5916
|
+
return t;
|
|
5917
5917
|
}
|
|
5918
5918
|
}
|
|
5919
|
-
async has(
|
|
5919
|
+
async has(t) {
|
|
5920
5920
|
if (await this.init(), !this.available || !this.dirHandle) return !1;
|
|
5921
|
-
const
|
|
5922
|
-
return this.metadata.has(
|
|
5921
|
+
const a = this.hashUrl(t);
|
|
5922
|
+
return this.metadata.has(a);
|
|
5923
5923
|
}
|
|
5924
|
-
async delete(
|
|
5924
|
+
async delete(t) {
|
|
5925
5925
|
if (await this.init(), !this.available || !this.dirHandle) return;
|
|
5926
|
-
const
|
|
5927
|
-
if (this.metadata.has(
|
|
5926
|
+
const a = this.hashUrl(t);
|
|
5927
|
+
if (this.metadata.has(a)) {
|
|
5928
5928
|
try {
|
|
5929
|
-
await this.dirHandle.removeEntry(
|
|
5929
|
+
await this.dirHandle.removeEntry(a);
|
|
5930
5930
|
} catch {
|
|
5931
5931
|
}
|
|
5932
|
-
this.metadata.delete(
|
|
5932
|
+
this.metadata.delete(a), await this.saveMetadata();
|
|
5933
5933
|
}
|
|
5934
5934
|
}
|
|
5935
5935
|
async clear() {
|
|
5936
5936
|
if (await this.init(), !this.available || !this.dirHandle) return;
|
|
5937
|
-
const
|
|
5938
|
-
for (const
|
|
5937
|
+
const t = [...this.metadata.keys()];
|
|
5938
|
+
for (const a of t)
|
|
5939
5939
|
try {
|
|
5940
|
-
await this.dirHandle.removeEntry(
|
|
5940
|
+
await this.dirHandle.removeEntry(a);
|
|
5941
5941
|
} catch {
|
|
5942
5942
|
}
|
|
5943
5943
|
try {
|
|
@@ -5947,22 +5947,22 @@ class Li {
|
|
|
5947
5947
|
this.metadata.clear();
|
|
5948
5948
|
}
|
|
5949
5949
|
async evictIfNeeded() {
|
|
5950
|
-
let
|
|
5950
|
+
let t = 0;
|
|
5951
5951
|
for (const n of this.metadata.values())
|
|
5952
|
-
|
|
5953
|
-
if (
|
|
5954
|
-
const
|
|
5952
|
+
t += n.size;
|
|
5953
|
+
if (t <= this.maxSizeBytes) return;
|
|
5954
|
+
const a = [...this.metadata.entries()].sort(
|
|
5955
5955
|
(n, o) => n[1].lastAccessed - o[1].lastAccessed
|
|
5956
5956
|
);
|
|
5957
|
-
for (const [n] of
|
|
5958
|
-
if (
|
|
5957
|
+
for (const [n] of a) {
|
|
5958
|
+
if (t <= this.maxSizeBytes) break;
|
|
5959
5959
|
const o = this.metadata.get(n);
|
|
5960
5960
|
if (o) {
|
|
5961
5961
|
try {
|
|
5962
5962
|
await this.dirHandle.removeEntry(n);
|
|
5963
5963
|
} catch {
|
|
5964
5964
|
}
|
|
5965
|
-
|
|
5965
|
+
t -= o.size, this.metadata.delete(n);
|
|
5966
5966
|
}
|
|
5967
5967
|
}
|
|
5968
5968
|
}
|
|
@@ -5974,8 +5974,8 @@ class vt {
|
|
|
5974
5974
|
initPromise = null;
|
|
5975
5975
|
available = !0;
|
|
5976
5976
|
static STORE_NAME = "images";
|
|
5977
|
-
constructor(
|
|
5978
|
-
this.cacheName =
|
|
5977
|
+
constructor(t) {
|
|
5978
|
+
this.cacheName = t?.cacheName ?? "image-cache", this.maxSizeBytes = (t?.maxSizeInMB ?? 500) * 1024 * 1024;
|
|
5979
5979
|
}
|
|
5980
5980
|
async init() {
|
|
5981
5981
|
if (!this.db)
|
|
@@ -5983,115 +5983,115 @@ class vt {
|
|
|
5983
5983
|
}
|
|
5984
5984
|
async _init() {
|
|
5985
5985
|
try {
|
|
5986
|
-
this.db = await new Promise((
|
|
5986
|
+
this.db = await new Promise((t, a) => {
|
|
5987
5987
|
const n = indexedDB.open(this.cacheName, 1);
|
|
5988
5988
|
n.onupgradeneeded = () => {
|
|
5989
5989
|
const o = n.result;
|
|
5990
5990
|
o.objectStoreNames.contains(vt.STORE_NAME) || o.createObjectStore(vt.STORE_NAME, {
|
|
5991
5991
|
keyPath: "key"
|
|
5992
5992
|
});
|
|
5993
|
-
}, n.onsuccess = () =>
|
|
5993
|
+
}, n.onsuccess = () => t(n.result), n.onerror = () => a(n.error);
|
|
5994
5994
|
});
|
|
5995
5995
|
} catch {
|
|
5996
5996
|
this.available = !1;
|
|
5997
5997
|
}
|
|
5998
5998
|
}
|
|
5999
|
-
hashUrl(
|
|
6000
|
-
let
|
|
6001
|
-
for (let s = 0; s <
|
|
6002
|
-
const f =
|
|
6003
|
-
|
|
5999
|
+
hashUrl(t) {
|
|
6000
|
+
let a = 0;
|
|
6001
|
+
for (let s = 0; s < t.length; s++) {
|
|
6002
|
+
const f = t.charCodeAt(s);
|
|
6003
|
+
a = (a << 5) - a + f | 0;
|
|
6004
6004
|
}
|
|
6005
|
-
const n =
|
|
6005
|
+
const n = a >>> 0, o = btoa(t).replace(/[^a-zA-Z0-9]/g, ""), i = o.length > 40 ? o.slice(0, 40) : o;
|
|
6006
6006
|
return `${n.toString(36)}_${i}`;
|
|
6007
6007
|
}
|
|
6008
|
-
request(
|
|
6008
|
+
request(t, a) {
|
|
6009
6009
|
return new Promise((n, o) => {
|
|
6010
|
-
const s = this.db.transaction(vt.STORE_NAME,
|
|
6010
|
+
const s = this.db.transaction(vt.STORE_NAME, t).objectStore(vt.STORE_NAME), f = a(s);
|
|
6011
6011
|
f.onsuccess = () => n(f.result), f.onerror = () => o(f.error);
|
|
6012
6012
|
});
|
|
6013
6013
|
}
|
|
6014
|
-
async get(
|
|
6014
|
+
async get(t) {
|
|
6015
6015
|
if (await this.init(), !this.available || !this.db) return null;
|
|
6016
|
-
const
|
|
6016
|
+
const a = this.hashUrl(t);
|
|
6017
6017
|
try {
|
|
6018
6018
|
const n = await this.request(
|
|
6019
6019
|
"readonly",
|
|
6020
|
-
(o) => o.get(
|
|
6020
|
+
(o) => o.get(a)
|
|
6021
6021
|
);
|
|
6022
6022
|
return n ? (n.lastAccessed = Date.now(), this.request("readwrite", (o) => o.put(n)), URL.createObjectURL(n.blob)) : null;
|
|
6023
6023
|
} catch {
|
|
6024
6024
|
return null;
|
|
6025
6025
|
}
|
|
6026
6026
|
}
|
|
6027
|
-
async getOrFetch(
|
|
6028
|
-
if (await this.init(), !this.available || !this.db) return
|
|
6029
|
-
const
|
|
6027
|
+
async getOrFetch(t) {
|
|
6028
|
+
if (await this.init(), !this.available || !this.db) return t;
|
|
6029
|
+
const a = this.hashUrl(t);
|
|
6030
6030
|
try {
|
|
6031
6031
|
const n = await this.request(
|
|
6032
6032
|
"readonly",
|
|
6033
|
-
(o) => o.get(
|
|
6033
|
+
(o) => o.get(a)
|
|
6034
6034
|
);
|
|
6035
6035
|
if (n)
|
|
6036
6036
|
return n.lastAccessed = Date.now(), this.request("readwrite", (o) => o.put(n)), URL.createObjectURL(n.blob);
|
|
6037
6037
|
} catch {
|
|
6038
6038
|
}
|
|
6039
6039
|
try {
|
|
6040
|
-
const o = await (await fetch(
|
|
6041
|
-
key:
|
|
6040
|
+
const o = await (await fetch(t)).blob(), i = {
|
|
6041
|
+
key: a,
|
|
6042
6042
|
blob: o,
|
|
6043
6043
|
size: o.size,
|
|
6044
6044
|
lastAccessed: Date.now()
|
|
6045
6045
|
};
|
|
6046
6046
|
return await this.request("readwrite", (s) => s.put(i)), await this.evictIfNeeded(), URL.createObjectURL(o);
|
|
6047
6047
|
} catch {
|
|
6048
|
-
return
|
|
6048
|
+
return t;
|
|
6049
6049
|
}
|
|
6050
6050
|
}
|
|
6051
|
-
async has(
|
|
6051
|
+
async has(t) {
|
|
6052
6052
|
if (await this.init(), !this.available || !this.db) return !1;
|
|
6053
|
-
const
|
|
6053
|
+
const a = this.hashUrl(t);
|
|
6054
6054
|
try {
|
|
6055
6055
|
return !!await this.request(
|
|
6056
6056
|
"readonly",
|
|
6057
|
-
(o) => o.get(
|
|
6057
|
+
(o) => o.get(a)
|
|
6058
6058
|
);
|
|
6059
6059
|
} catch {
|
|
6060
6060
|
return !1;
|
|
6061
6061
|
}
|
|
6062
6062
|
}
|
|
6063
|
-
async delete(
|
|
6063
|
+
async delete(t) {
|
|
6064
6064
|
if (await this.init(), !this.available || !this.db) return;
|
|
6065
|
-
const
|
|
6065
|
+
const a = this.hashUrl(t);
|
|
6066
6066
|
try {
|
|
6067
|
-
await this.request("readwrite", (n) => n.delete(
|
|
6067
|
+
await this.request("readwrite", (n) => n.delete(a));
|
|
6068
6068
|
} catch {
|
|
6069
6069
|
}
|
|
6070
6070
|
}
|
|
6071
6071
|
async clear() {
|
|
6072
6072
|
if (await this.init(), !(!this.available || !this.db))
|
|
6073
6073
|
try {
|
|
6074
|
-
await this.request("readwrite", (
|
|
6074
|
+
await this.request("readwrite", (t) => t.clear());
|
|
6075
6075
|
} catch {
|
|
6076
6076
|
}
|
|
6077
6077
|
}
|
|
6078
6078
|
async evictIfNeeded() {
|
|
6079
|
-
const
|
|
6079
|
+
const t = await this.request(
|
|
6080
6080
|
"readonly",
|
|
6081
6081
|
(n) => n.getAll()
|
|
6082
6082
|
);
|
|
6083
|
-
let
|
|
6084
|
-
for (const n of
|
|
6085
|
-
|
|
6086
|
-
if (!(
|
|
6087
|
-
|
|
6088
|
-
for (const n of
|
|
6089
|
-
if (
|
|
6083
|
+
let a = 0;
|
|
6084
|
+
for (const n of t)
|
|
6085
|
+
a += n.size;
|
|
6086
|
+
if (!(a <= this.maxSizeBytes)) {
|
|
6087
|
+
t.sort((n, o) => n.lastAccessed - o.lastAccessed);
|
|
6088
|
+
for (const n of t) {
|
|
6089
|
+
if (a <= this.maxSizeBytes) break;
|
|
6090
6090
|
try {
|
|
6091
6091
|
await this.request("readwrite", (o) => o.delete(n.key));
|
|
6092
6092
|
} catch {
|
|
6093
6093
|
}
|
|
6094
|
-
|
|
6094
|
+
a -= n.size;
|
|
6095
6095
|
}
|
|
6096
6096
|
}
|
|
6097
6097
|
}
|
|
@@ -6116,13 +6116,13 @@ function Si() {
|
|
|
6116
6116
|
}
|
|
6117
6117
|
class ma {
|
|
6118
6118
|
data;
|
|
6119
|
-
constructor(
|
|
6120
|
-
this.data =
|
|
6119
|
+
constructor(t) {
|
|
6120
|
+
this.data = t;
|
|
6121
6121
|
}
|
|
6122
|
-
download(
|
|
6123
|
-
|
|
6124
|
-
const
|
|
6125
|
-
typeof
|
|
6122
|
+
download(t = null) {
|
|
6123
|
+
t = t || Si();
|
|
6124
|
+
const a = document.createElement("a");
|
|
6125
|
+
typeof a.download == "string" ? (document.body.appendChild(a), a.download = t, a.href = this.data, a.click(), document.body.removeChild(a)) : location.replace(this.data);
|
|
6126
6126
|
}
|
|
6127
6127
|
}
|
|
6128
6128
|
const Ei = {
|
|
@@ -6185,8 +6185,8 @@ const Ei = {
|
|
|
6185
6185
|
enableAutoplay: { type: Boolean, default: !1 }
|
|
6186
6186
|
},
|
|
6187
6187
|
emits: ["snapshot", "visuadoCreateButtonClicked", "interiorUpdate", "cameraUpdate", "sunsimUpdate", "frontendMarkersUpdate", "initialized", "saveSettings", "error"],
|
|
6188
|
-
setup(l, { expose:
|
|
6189
|
-
const n = l, o =
|
|
6188
|
+
setup(l, { expose: t, emit: a }) {
|
|
6189
|
+
const n = l, o = a, {
|
|
6190
6190
|
i18nConfig: i,
|
|
6191
6191
|
cdnFileResolver: s,
|
|
6192
6192
|
apartmentId: f,
|
|
@@ -6216,7 +6216,7 @@ const Ei = {
|
|
|
6216
6216
|
const Se = b(), ke = b(), P = b(), we = b(), G = b({}), ue = b({}), ne = b({}), B = b(!1), K = b(), oe = b(), Y = b(), ee = b(), z = b(), ie = b(0), te = b(!1), _e = b(!1), re = b(!1), he = b(!1), xe = b(!1), Le = b(!1), Te = b(!1), ge = b(), ve = b(), Ie = b(), Ee = b(), Ye = b(0), Ne = b(0), Re = b(
|
|
6217
6217
|
new Xt(document, "player-wrapper")
|
|
6218
6218
|
);
|
|
6219
|
-
|
|
6219
|
+
t({
|
|
6220
6220
|
playerCore: ke,
|
|
6221
6221
|
setCurrentCameraId: zt,
|
|
6222
6222
|
setCurrentInteriorId: jt,
|
|
@@ -6841,9 +6841,8 @@ const Ei = {
|
|
|
6841
6841
|
props: {
|
|
6842
6842
|
isFullScreen: { type: Boolean }
|
|
6843
6843
|
},
|
|
6844
|
-
|
|
6845
|
-
|
|
6846
|
-
return (t, n) => (v(), E("div", Hi, [
|
|
6844
|
+
setup(l) {
|
|
6845
|
+
return (t, a) => (v(), E("div", Hi, [
|
|
6847
6846
|
e("div", Pi, [
|
|
6848
6847
|
J(t.$slots, "slideshow-image", {}, void 0, !0),
|
|
6849
6848
|
e("div", zi, [
|
|
@@ -6876,7 +6875,7 @@ const Ei = {
|
|
|
6876
6875
|
])
|
|
6877
6876
|
]));
|
|
6878
6877
|
}
|
|
6879
|
-
}), Xi = /* @__PURE__ */ X(Gi, [["__scopeId", "data-v-
|
|
6878
|
+
}), Xi = /* @__PURE__ */ X(Gi, [["__scopeId", "data-v-51434fec"]]), Ki = { class: "virtual-tour-wrapper" }, er = { class: "player-and-components-wrapper" }, tr = { class: "mss-image" }, ar = {
|
|
6880
6879
|
key: 1,
|
|
6881
6880
|
class: "btn-placeholder"
|
|
6882
6881
|
}, nr = /* @__PURE__ */ N({
|
|
@@ -6890,19 +6889,19 @@ const Ei = {
|
|
|
6890
6889
|
defaultWaypointIndex: { default: 0 }
|
|
6891
6890
|
},
|
|
6892
6891
|
setup(l) {
|
|
6893
|
-
const
|
|
6892
|
+
const t = l;
|
|
6894
6893
|
mt(
|
|
6895
6894
|
Be,
|
|
6896
|
-
|
|
6895
|
+
t.i18nConfig ? new nt(t.i18nConfig) : new nt()
|
|
6897
6896
|
);
|
|
6898
|
-
const
|
|
6897
|
+
const a = b(0), n = b(
|
|
6899
6898
|
new Xt(document, "player-wrapper")
|
|
6900
|
-
), o = V(() =>
|
|
6899
|
+
), o = V(() => t.images.map(
|
|
6901
6900
|
(m, y) => ({
|
|
6902
6901
|
id: `image-${y}`,
|
|
6903
6902
|
thumbnailUrl: m
|
|
6904
6903
|
})
|
|
6905
|
-
)), i = V(() => o.value[
|
|
6904
|
+
)), i = V(() => o.value[a.value]);
|
|
6906
6905
|
je(() => {
|
|
6907
6906
|
n.value.setup();
|
|
6908
6907
|
});
|
|
@@ -6910,18 +6909,18 @@ const Ei = {
|
|
|
6910
6909
|
n.value.toggle(), window.scrollTo({ top: 150, behavior: "smooth" });
|
|
6911
6910
|
}
|
|
6912
6911
|
function f() {
|
|
6913
|
-
let m =
|
|
6914
|
-
m >= o.value.length && (m = 0),
|
|
6912
|
+
let m = a.value + 1;
|
|
6913
|
+
m >= o.value.length && (m = 0), a.value = m;
|
|
6915
6914
|
}
|
|
6916
6915
|
function w() {
|
|
6917
|
-
let m =
|
|
6918
|
-
m < 0 && (m = o.value.length - 1),
|
|
6916
|
+
let m = a.value - 1;
|
|
6917
|
+
m < 0 && (m = o.value.length - 1), a.value = m;
|
|
6919
6918
|
}
|
|
6920
6919
|
function r(m, y = !0) {
|
|
6921
6920
|
let d = o.value.findIndex(
|
|
6922
6921
|
(A) => A.id === m
|
|
6923
6922
|
);
|
|
6924
|
-
d != -1 && (
|
|
6923
|
+
d != -1 && (a.value = d);
|
|
6925
6924
|
}
|
|
6926
6925
|
return (m, y) => {
|
|
6927
6926
|
const d = x("v-img"), A = x("v-btn");
|
|
@@ -6987,7 +6986,7 @@ const Ei = {
|
|
|
6987
6986
|
key: 0,
|
|
6988
6987
|
class: me([n.value.isActive ? "full-screen" : ""]),
|
|
6989
6988
|
thumbnails: o.value,
|
|
6990
|
-
active:
|
|
6989
|
+
active: a.value,
|
|
6991
6990
|
onNext: f,
|
|
6992
6991
|
onPrevious: w,
|
|
6993
6992
|
onGoto: r
|
|
@@ -7000,7 +6999,7 @@ const Ei = {
|
|
|
7000
6999
|
o.value.length > 1 ? (v(), I(Vt, {
|
|
7001
7000
|
key: 0,
|
|
7002
7001
|
thumbnails: o.value,
|
|
7003
|
-
active:
|
|
7002
|
+
active: a.value,
|
|
7004
7003
|
onNext: f,
|
|
7005
7004
|
onPrevious: w,
|
|
7006
7005
|
onGoto: r
|
|
@@ -7022,8 +7021,8 @@ const Ei = {
|
|
|
7022
7021
|
compassScale: {}
|
|
7023
7022
|
},
|
|
7024
7023
|
emits: ["apartmentJsonLoaded", "minimapJsonLoaded", "cameraSet"],
|
|
7025
|
-
setup(l, { emit:
|
|
7026
|
-
const n = $e(l), o =
|
|
7024
|
+
setup(l, { emit: t }) {
|
|
7025
|
+
const n = $e(l), o = t, i = b(), s = b(), f = b(), w = b(0), r = b(), m = b(1), y = V(() => n.currentCamera.value ? n.currentCamera.value : i.value ? i.value.cameras[0].id : null), d = V(() => ({
|
|
7027
7026
|
transformOrigin: "top left",
|
|
7028
7027
|
transform: `scale(${m.value})`
|
|
7029
7028
|
}));
|
|
@@ -7127,7 +7126,7 @@ const Ei = {
|
|
|
7127
7126
|
currentTime: {}
|
|
7128
7127
|
},
|
|
7129
7128
|
setup(l) {
|
|
7130
|
-
const
|
|
7129
|
+
const t = l, { timeSampleData: a, cdnFileResolver: n, currentTime: o } = $e(t), i = b(), s = Ve("registerImage"), f = Ve("completeImage");
|
|
7131
7130
|
H(i, () => {
|
|
7132
7131
|
i.value && (s(i.value), i.value.onload = () => {
|
|
7133
7132
|
f(i.value);
|
|
@@ -7135,12 +7134,12 @@ const Ei = {
|
|
|
7135
7134
|
f(i.value);
|
|
7136
7135
|
});
|
|
7137
7136
|
});
|
|
7138
|
-
const w = V(() => fe(n.value,
|
|
7137
|
+
const w = V(() => fe(n.value, a.value.filename));
|
|
7139
7138
|
return (r, m) => (v(), E("img", {
|
|
7140
7139
|
ref_key: "image",
|
|
7141
7140
|
ref: i,
|
|
7142
7141
|
style: ce({
|
|
7143
|
-
visibility: g(o) && g(
|
|
7142
|
+
visibility: g(o) && g(a) === g(o) ? "visible" : "hidden"
|
|
7144
7143
|
}),
|
|
7145
7144
|
src: w.value
|
|
7146
7145
|
}, null, 12, sr));
|
|
@@ -7154,8 +7153,8 @@ const Ei = {
|
|
|
7154
7153
|
currentTime: {}
|
|
7155
7154
|
},
|
|
7156
7155
|
setup(l) {
|
|
7157
|
-
const
|
|
7158
|
-
return (i, s) => (v(!0), E(Oe, null, Pe(g(
|
|
7156
|
+
const t = l, { dayData: a, cdnFileResolver: n, currentTime: o } = $e(t);
|
|
7157
|
+
return (i, s) => (v(!0), E(Oe, null, Pe(g(a).timeSamples, (f, w) => (v(), I(rr, {
|
|
7159
7158
|
key: w,
|
|
7160
7159
|
"time-sample-data": f,
|
|
7161
7160
|
"cdn-file-resolver": g(n),
|
|
@@ -7172,7 +7171,7 @@ const Ei = {
|
|
|
7172
7171
|
currentTime: {}
|
|
7173
7172
|
},
|
|
7174
7173
|
setup(l) {
|
|
7175
|
-
const
|
|
7174
|
+
const t = l, { cameraData: a, cdnFileResolver: n, currentCamera: o, currentTime: i } = $e(t), s = b(), f = Ve("registerImage"), w = Ve("completeImage");
|
|
7176
7175
|
H(s, () => {
|
|
7177
7176
|
s.value && (f(s.value), s.value.onload = () => {
|
|
7178
7177
|
w(s.value);
|
|
@@ -7180,8 +7179,8 @@ const Ei = {
|
|
|
7180
7179
|
w(s.value);
|
|
7181
7180
|
});
|
|
7182
7181
|
});
|
|
7183
|
-
const r = V(() => fe(n.value,
|
|
7184
|
-
return (m, y) => g(
|
|
7182
|
+
const r = V(() => fe(n.value, a.value.defaultFilename));
|
|
7183
|
+
return (m, y) => g(a).sunsimDayOfYear ? (v(!0), E(Oe, { key: 0 }, Pe(g(a).sunsimDayOfYear, (d, A) => (v(), I(ur, {
|
|
7185
7184
|
key: A,
|
|
7186
7185
|
"day-data": d,
|
|
7187
7186
|
"cdn-file-resolver": g(n),
|
|
@@ -7191,7 +7190,7 @@ const Ei = {
|
|
|
7191
7190
|
key: 1,
|
|
7192
7191
|
ref_key: "image",
|
|
7193
7192
|
ref: s,
|
|
7194
|
-
style: ce({ visibility: g(o) === g(
|
|
7193
|
+
style: ce({ visibility: g(o) === g(a) ? "visible" : "hidden" }),
|
|
7195
7194
|
src: r.value
|
|
7196
7195
|
}, null, 12, cr));
|
|
7197
7196
|
}
|
|
@@ -7203,7 +7202,7 @@ const Ei = {
|
|
|
7203
7202
|
currentTransition: {}
|
|
7204
7203
|
},
|
|
7205
7204
|
setup(l) {
|
|
7206
|
-
const
|
|
7205
|
+
const t = l, { transitionData: a, cdnFileResolver: n, currentTransition: o } = $e(t), i = b(), s = Ve("registerImage"), f = Ve("completeImage");
|
|
7207
7206
|
H(i, () => {
|
|
7208
7207
|
i.value && (s(i.value), i.value.onload = () => {
|
|
7209
7208
|
f(i.value);
|
|
@@ -7211,20 +7210,20 @@ const Ei = {
|
|
|
7211
7210
|
f(i.value);
|
|
7212
7211
|
});
|
|
7213
7212
|
});
|
|
7214
|
-
const w = V(() => fe(n.value,
|
|
7213
|
+
const w = V(() => fe(n.value, a.value.filename));
|
|
7215
7214
|
return (r, m) => (v(), E("img", {
|
|
7216
7215
|
ref_key: "image",
|
|
7217
7216
|
ref: i,
|
|
7218
7217
|
style: ce({
|
|
7219
|
-
visibility: g(
|
|
7218
|
+
visibility: g(a) === g(o) ? "visible" : "hidden"
|
|
7220
7219
|
}),
|
|
7221
7220
|
src: w.value
|
|
7222
7221
|
}, null, 12, mr));
|
|
7223
7222
|
}
|
|
7224
7223
|
}), fr = /* @__PURE__ */ X(pr, [["__scopeId", "data-v-d592c198"]]);
|
|
7225
7224
|
function pa(l) {
|
|
7226
|
-
const
|
|
7227
|
-
return
|
|
7225
|
+
const t = /* @__PURE__ */ new Date(0);
|
|
7226
|
+
return t.setUTCDate(l), t.toLocaleString("en-no", {
|
|
7228
7227
|
month: "short",
|
|
7229
7228
|
day: "numeric"
|
|
7230
7229
|
});
|
|
@@ -7242,8 +7241,8 @@ const hr = {
|
|
|
7242
7241
|
disabled: { type: Boolean }
|
|
7243
7242
|
},
|
|
7244
7243
|
emits: ["onDayChange"],
|
|
7245
|
-
setup(l, { emit:
|
|
7246
|
-
const
|
|
7244
|
+
setup(l, { emit: t }) {
|
|
7245
|
+
const a = l, { isMobileSized: n, currentCamera: o, currentDay: i, disabled: s } = $e(a), f = t, w = b(i.value.dayOfYear);
|
|
7247
7246
|
return H(i, () => {
|
|
7248
7247
|
w.value = i.value.dayOfYear;
|
|
7249
7248
|
}), H(w, () => {
|
|
@@ -7326,14 +7325,14 @@ const hr = {
|
|
|
7326
7325
|
disabled: { type: Boolean }
|
|
7327
7326
|
},
|
|
7328
7327
|
emits: ["onCameraChange"],
|
|
7329
|
-
setup(l, { emit:
|
|
7330
|
-
const
|
|
7328
|
+
setup(l, { emit: t }) {
|
|
7329
|
+
const a = l, {
|
|
7331
7330
|
isMobileSized: n,
|
|
7332
7331
|
stillCameras: o,
|
|
7333
7332
|
currentCamera: i,
|
|
7334
7333
|
cdnFileResolver: s,
|
|
7335
7334
|
disabled: f
|
|
7336
|
-
} = $e(
|
|
7335
|
+
} = $e(a), w = b(i.value), r = b(), m = b(), y = b(!1), d = t;
|
|
7337
7336
|
H(
|
|
7338
7337
|
[r, m],
|
|
7339
7338
|
() => {
|
|
@@ -7447,8 +7446,8 @@ const hr = {
|
|
|
7447
7446
|
disabled: { type: Boolean }
|
|
7448
7447
|
},
|
|
7449
7448
|
emits: ["onTimeChange"],
|
|
7450
|
-
setup(l, { emit:
|
|
7451
|
-
const
|
|
7449
|
+
setup(l, { emit: t }) {
|
|
7450
|
+
const a = l, { isMobileSized: n, currentDay: o, currentTime: i, disabled: s } = $e(a), f = t, w = b(i.value.timeInHours);
|
|
7452
7451
|
return H(i, () => {
|
|
7453
7452
|
w.value = i.value.timeInHours;
|
|
7454
7453
|
}), H(w, () => {
|
|
@@ -7544,8 +7543,8 @@ const hr = {
|
|
|
7544
7543
|
disabled: { type: Boolean }
|
|
7545
7544
|
},
|
|
7546
7545
|
emits: ["onZoomIn", "onZoomOut"],
|
|
7547
|
-
setup(l, { emit:
|
|
7548
|
-
const
|
|
7546
|
+
setup(l, { emit: t }) {
|
|
7547
|
+
const a = l, { isMobileSized: n, canZoomIn: o, canZoomOut: i, disabled: s } = $e(a), f = t;
|
|
7549
7548
|
return (w, r) => {
|
|
7550
7549
|
const m = x("v-btn");
|
|
7551
7550
|
return v(), E("div", Mr, [
|
|
@@ -7579,8 +7578,8 @@ const hr = {
|
|
|
7579
7578
|
activeStructureIds: {}
|
|
7580
7579
|
},
|
|
7581
7580
|
emits: ["onClick", "onHoverOver", "onHoverOut", "updateSvgContainer", "onError", "onBoundingBoxesUpdate"],
|
|
7582
|
-
setup(l, { emit:
|
|
7583
|
-
const
|
|
7581
|
+
setup(l, { emit: t }) {
|
|
7582
|
+
const a = l, { cdnFileResolver: n, colorCallback: o, currentCamera: i, selectedId: s } = $e(a), f = t, w = b(!0), r = b({}), m = b(), y = ba({}), d = V(() => fe(
|
|
7584
7583
|
n.value,
|
|
7585
7584
|
i.value.overlayFilename
|
|
7586
7585
|
));
|
|
@@ -7633,7 +7632,7 @@ const hr = {
|
|
|
7633
7632
|
});
|
|
7634
7633
|
}
|
|
7635
7634
|
H(
|
|
7636
|
-
() =>
|
|
7635
|
+
() => a.activeStructureIds,
|
|
7637
7636
|
() => {
|
|
7638
7637
|
k();
|
|
7639
7638
|
},
|
|
@@ -7657,7 +7656,7 @@ const hr = {
|
|
|
7657
7656
|
element: S,
|
|
7658
7657
|
state: s.value === Z ? "selected" : "idle",
|
|
7659
7658
|
boundingBox: S.getBoundingClientRect().toJSON()
|
|
7660
|
-
},
|
|
7659
|
+
}, a.activeStructureIds && !a.activeStructureIds.includes(Z) && (S.style.display = "none"), S.addEventListener("mouseover", () => {
|
|
7661
7660
|
y[Z].state === "idle" && (y[Z].state = "hover"), f("onHoverOver", Z);
|
|
7662
7661
|
}), S.addEventListener("mouseout", () => {
|
|
7663
7662
|
y[Z].state === "hover" && (y[Z].state = "idle"), f("onHoverOut", Z);
|
|
@@ -7693,7 +7692,7 @@ const hr = {
|
|
|
7693
7692
|
function $r(l) {
|
|
7694
7693
|
if (!l)
|
|
7695
7694
|
return !1;
|
|
7696
|
-
const
|
|
7695
|
+
const t = [
|
|
7697
7696
|
"version",
|
|
7698
7697
|
"latitude",
|
|
7699
7698
|
"longitude",
|
|
@@ -7703,8 +7702,8 @@ function $r(l) {
|
|
|
7703
7702
|
"loopable",
|
|
7704
7703
|
"cameras"
|
|
7705
7704
|
];
|
|
7706
|
-
for (const
|
|
7707
|
-
if (!(
|
|
7705
|
+
for (const a of t)
|
|
7706
|
+
if (!(a in l))
|
|
7708
7707
|
return !1;
|
|
7709
7708
|
return !0;
|
|
7710
7709
|
}
|
|
@@ -7717,16 +7716,16 @@ function qt(l) {
|
|
|
7717
7716
|
function Or(l) {
|
|
7718
7717
|
if (!l)
|
|
7719
7718
|
return !1;
|
|
7720
|
-
const
|
|
7721
|
-
for (const
|
|
7722
|
-
if (!(
|
|
7719
|
+
const t = ["version", "latitude", "longitude", "buildings", "cameras"];
|
|
7720
|
+
for (const a of t)
|
|
7721
|
+
if (!(a in l))
|
|
7723
7722
|
return !1;
|
|
7724
7723
|
return !0;
|
|
7725
7724
|
}
|
|
7726
7725
|
function Br(l) {
|
|
7727
7726
|
if (!l)
|
|
7728
7727
|
return !1;
|
|
7729
|
-
const
|
|
7728
|
+
const t = [
|
|
7730
7729
|
"version",
|
|
7731
7730
|
"latitude",
|
|
7732
7731
|
"longitude",
|
|
@@ -7736,8 +7735,8 @@ function Br(l) {
|
|
|
7736
7735
|
"unitData",
|
|
7737
7736
|
"cameras"
|
|
7738
7737
|
];
|
|
7739
|
-
for (const
|
|
7740
|
-
if (!(
|
|
7738
|
+
for (const a of t)
|
|
7739
|
+
if (!(a in l))
|
|
7741
7740
|
return !1;
|
|
7742
7741
|
return !0;
|
|
7743
7742
|
}
|
|
@@ -7753,7 +7752,7 @@ function Rr(l) {
|
|
|
7753
7752
|
function Ur(l) {
|
|
7754
7753
|
if (!l)
|
|
7755
7754
|
return !1;
|
|
7756
|
-
const
|
|
7755
|
+
const t = [
|
|
7757
7756
|
"version",
|
|
7758
7757
|
"buildings",
|
|
7759
7758
|
"cameraPosition",
|
|
@@ -7761,8 +7760,8 @@ function Ur(l) {
|
|
|
7761
7760
|
"cameraFov",
|
|
7762
7761
|
"lookupFilename"
|
|
7763
7762
|
];
|
|
7764
|
-
for (const
|
|
7765
|
-
if (!(
|
|
7763
|
+
for (const a of t)
|
|
7764
|
+
if (!(a in l))
|
|
7766
7765
|
return !1;
|
|
7767
7766
|
return !0;
|
|
7768
7767
|
}
|
|
@@ -7780,23 +7779,23 @@ function Hr(l) {
|
|
|
7780
7779
|
longitude: l.longitude,
|
|
7781
7780
|
renderVersion: l.renderVersion,
|
|
7782
7781
|
parentStructure: void 0,
|
|
7783
|
-
structures: l.buildings.map(({ id:
|
|
7784
|
-
id:
|
|
7785
|
-
name:
|
|
7782
|
+
structures: l.buildings.map(({ id: t, name: a }) => ({
|
|
7783
|
+
id: t,
|
|
7784
|
+
name: a,
|
|
7786
7785
|
type: "building"
|
|
7787
7786
|
})),
|
|
7788
|
-
stillCameraIndices: l.cameras.map((
|
|
7789
|
-
stillCameraData: l.buildings.map(({ id:
|
|
7787
|
+
stillCameraIndices: l.cameras.map((t, a) => a),
|
|
7788
|
+
stillCameraData: l.buildings.map(({ id: t }) => ({ bestIndex: 0, id: t })),
|
|
7790
7789
|
loopable: !1,
|
|
7791
7790
|
cameras: l.cameras.map(
|
|
7792
|
-
(
|
|
7793
|
-
if (
|
|
7794
|
-
if (
|
|
7791
|
+
(t) => {
|
|
7792
|
+
if (t.sunsimDayOfYear) {
|
|
7793
|
+
if (t.sunsimDayOfYear.length === 0)
|
|
7795
7794
|
throw new Error(
|
|
7796
7795
|
"cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty"
|
|
7797
7796
|
);
|
|
7798
|
-
if (
|
|
7799
|
-
if (
|
|
7797
|
+
if (t.sunsimDayOfYear[0].timeSamples) {
|
|
7798
|
+
if (t.sunsimDayOfYear[0].timeSamples.length === 0)
|
|
7800
7799
|
throw new Error(
|
|
7801
7800
|
"cannot convert BuildingChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty"
|
|
7802
7801
|
);
|
|
@@ -7806,17 +7805,17 @@ function Hr(l) {
|
|
|
7806
7805
|
} else throw new Error(
|
|
7807
7806
|
"cannot convert BuildingChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing"
|
|
7808
7807
|
);
|
|
7809
|
-
const
|
|
7810
|
-
return
|
|
7808
|
+
const a = { ...t };
|
|
7809
|
+
return a.sunsimDayOfYear && a.sunsimDayOfYear.forEach((n) => {
|
|
7811
7810
|
n.timeSamples && n.timeSamples.forEach((o) => {
|
|
7812
7811
|
o.filename = ct(o.filename);
|
|
7813
7812
|
});
|
|
7814
7813
|
}), {
|
|
7815
|
-
...
|
|
7816
|
-
defaultFilename:
|
|
7817
|
-
|
|
7818
|
-
(n) => n.timeInHours ===
|
|
7819
|
-
)?.filename ||
|
|
7814
|
+
...a,
|
|
7815
|
+
defaultFilename: a.sunsimDayOfYear[0] ? ct(
|
|
7816
|
+
a.sunsimDayOfYear[0].timeSamples.find(
|
|
7817
|
+
(n) => n.timeInHours === a.sunsimDayOfYear[0].defaultHour
|
|
7818
|
+
)?.filename || a.sunsimDayOfYear[0].timeSamples[0].filename
|
|
7820
7819
|
) : void 0
|
|
7821
7820
|
};
|
|
7822
7821
|
}
|
|
@@ -7827,20 +7826,20 @@ function Hr(l) {
|
|
|
7827
7826
|
throw new Error(
|
|
7828
7827
|
"cannot convert BuildingChooserDataLegacy to StructureChooser: 'days' and 'timeSamples' are empty"
|
|
7829
7828
|
);
|
|
7830
|
-
const
|
|
7829
|
+
const t = l.days || [{ dayOfYear: 180, timeSamples: l.timeSamples }];
|
|
7831
7830
|
return {
|
|
7832
7831
|
version: "5.0",
|
|
7833
7832
|
latitude: l.latitude,
|
|
7834
7833
|
longitude: l.longitude,
|
|
7835
7834
|
renderVersion: l.renderVersion,
|
|
7836
7835
|
parentStructure: void 0,
|
|
7837
|
-
structures: l.buildings.map(({ id:
|
|
7838
|
-
id:
|
|
7836
|
+
structures: l.buildings.map(({ id: a, name: n }) => ({
|
|
7837
|
+
id: a,
|
|
7839
7838
|
name: n,
|
|
7840
7839
|
type: "building"
|
|
7841
7840
|
})),
|
|
7842
7841
|
stillCameraIndices: [0],
|
|
7843
|
-
stillCameraData: l.buildings.map(({ id:
|
|
7842
|
+
stillCameraData: l.buildings.map(({ id: a }) => ({ bestIndex: 0, id: a })),
|
|
7844
7843
|
loopable: !1,
|
|
7845
7844
|
cameras: [
|
|
7846
7845
|
{
|
|
@@ -7851,14 +7850,14 @@ function Hr(l) {
|
|
|
7851
7850
|
),
|
|
7852
7851
|
cameraFov: l.cameraFov,
|
|
7853
7852
|
overlayFilename: "/BuildingChooserV5.svg",
|
|
7854
|
-
defaultFilename: ct(
|
|
7855
|
-
sunsimDayOfYear:
|
|
7856
|
-
dayOfYear:
|
|
7853
|
+
defaultFilename: ct(t[0]?.timeSamples[0]?.filename),
|
|
7854
|
+
sunsimDayOfYear: t.map((a) => ({
|
|
7855
|
+
dayOfYear: a.dayOfYear,
|
|
7857
7856
|
startTime: 0,
|
|
7858
7857
|
endTime: 23.5,
|
|
7859
7858
|
interval: 0.5,
|
|
7860
7859
|
defaultHour: 14,
|
|
7861
|
-
timeSamples:
|
|
7860
|
+
timeSamples: a.timeSamples.map(({ timeInHours: n, filename: o }) => ({
|
|
7862
7861
|
timeInHours: n,
|
|
7863
7862
|
filename: ct(o)
|
|
7864
7863
|
}))
|
|
@@ -7878,27 +7877,27 @@ function Hr(l) {
|
|
|
7878
7877
|
name: l.building.name,
|
|
7879
7878
|
type: "building"
|
|
7880
7879
|
},
|
|
7881
|
-
structures: l.unitData.map(({ unitId:
|
|
7882
|
-
id:
|
|
7883
|
-
name:
|
|
7880
|
+
structures: l.unitData.map(({ unitId: t }) => ({
|
|
7881
|
+
id: t,
|
|
7882
|
+
name: t,
|
|
7884
7883
|
type: "unit"
|
|
7885
7884
|
})),
|
|
7886
7885
|
stillCameraIndices: l.scenes,
|
|
7887
|
-
stillCameraData: l.unitData.map(({ bestScene:
|
|
7888
|
-
bestIndex:
|
|
7889
|
-
id:
|
|
7886
|
+
stillCameraData: l.unitData.map(({ bestScene: t, unitId: a }) => ({
|
|
7887
|
+
bestIndex: t,
|
|
7888
|
+
id: a
|
|
7890
7889
|
})),
|
|
7891
7890
|
loopable: l.loopable,
|
|
7892
7891
|
cameras: l.cameras.map(
|
|
7893
|
-
(
|
|
7894
|
-
if (Dr(
|
|
7895
|
-
if (
|
|
7896
|
-
if (
|
|
7892
|
+
(t) => {
|
|
7893
|
+
if (Dr(t)) {
|
|
7894
|
+
if (t.sunsimDayOfYear) {
|
|
7895
|
+
if (t.sunsimDayOfYear.length === 0)
|
|
7897
7896
|
throw new Error(
|
|
7898
7897
|
"cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear' is empty"
|
|
7899
7898
|
);
|
|
7900
|
-
if (
|
|
7901
|
-
if (
|
|
7899
|
+
if (t.sunsimDayOfYear[0].timeSamples) {
|
|
7900
|
+
if (t.sunsimDayOfYear[0].timeSamples.length === 0)
|
|
7902
7901
|
throw new Error(
|
|
7903
7902
|
"cannot convert ApartmentChooserDataV5 to StructureChooser: 'cameras.sunsimDayOfYear.timeSamples' is empty"
|
|
7904
7903
|
);
|
|
@@ -7908,21 +7907,21 @@ function Hr(l) {
|
|
|
7908
7907
|
} else throw new Error(
|
|
7909
7908
|
"cannot convert ApartmentChooserDataV5 to StructureChooser: key 'cameras.sunsimDayOfYear' is missing"
|
|
7910
7909
|
);
|
|
7911
|
-
const
|
|
7912
|
-
return
|
|
7910
|
+
const a = { ...t };
|
|
7911
|
+
return a.sunsimDayOfYear && a.sunsimDayOfYear.forEach((n) => {
|
|
7913
7912
|
n.timeSamples && n.timeSamples.forEach((o) => {
|
|
7914
7913
|
o.filename = ct(o.filename);
|
|
7915
7914
|
});
|
|
7916
7915
|
}), {
|
|
7917
|
-
...
|
|
7918
|
-
defaultFilename:
|
|
7919
|
-
|
|
7920
|
-
(n) => n.timeInHours ===
|
|
7921
|
-
)?.filename ||
|
|
7916
|
+
...a,
|
|
7917
|
+
defaultFilename: a.sunsimDayOfYear[0] ? ct(
|
|
7918
|
+
a.sunsimDayOfYear[0].timeSamples.find(
|
|
7919
|
+
(n) => n.timeInHours === a.sunsimDayOfYear[0].defaultHour
|
|
7920
|
+
)?.filename || a.sunsimDayOfYear[0].timeSamples[0].filename
|
|
7922
7921
|
) : void 0
|
|
7923
7922
|
};
|
|
7924
7923
|
} else
|
|
7925
|
-
return
|
|
7924
|
+
return t;
|
|
7926
7925
|
}
|
|
7927
7926
|
)
|
|
7928
7927
|
};
|
|
@@ -7935,19 +7934,19 @@ function Hr(l) {
|
|
|
7935
7934
|
throw new Error(
|
|
7936
7935
|
"cannot convert ApartmentChooserDataLegacy to StructureChooser: key 'scenes' is missing"
|
|
7937
7936
|
);
|
|
7938
|
-
const
|
|
7937
|
+
const t = [...Array(64).keys()].map((n) => ({
|
|
7939
7938
|
filename: `/1280/${(n + 1).toString().padStart(4, "0") + ".jpg"}`
|
|
7940
|
-
})),
|
|
7939
|
+
})), a = [4, 1, 2, 3];
|
|
7941
7940
|
for (let n = 0; n < l.scenes.length; n++) {
|
|
7942
7941
|
let o = l.scenes[n], i, s;
|
|
7943
|
-
i =
|
|
7942
|
+
i = t[o].filename, s = {
|
|
7944
7943
|
cameraName: `Camera ${n + 1}`,
|
|
7945
7944
|
cameraPosition: void 0,
|
|
7946
7945
|
cameraRotation: l.sceneCameras && l.sceneCameras.find((f) => f.scene === n)?.cameraRotation ? fa(
|
|
7947
7946
|
l.sceneCameras.find((f) => f.scene === n)?.cameraRotation
|
|
7948
7947
|
) : void 0,
|
|
7949
7948
|
cameraFov: 0,
|
|
7950
|
-
overlayFilename: `/scenedata${
|
|
7949
|
+
overlayFilename: `/scenedata${a[n]}V5Overlay.svg`,
|
|
7951
7950
|
defaultFilename: i,
|
|
7952
7951
|
sunsimDayOfYear: void 0
|
|
7953
7952
|
// sunsimDayOfYear: [
|
|
@@ -7965,7 +7964,7 @@ function Hr(l) {
|
|
|
7965
7964
|
// ],
|
|
7966
7965
|
// },
|
|
7967
7966
|
// ],
|
|
7968
|
-
}, qt(
|
|
7967
|
+
}, qt(t[o]) && (t[o] = s);
|
|
7969
7968
|
}
|
|
7970
7969
|
return {
|
|
7971
7970
|
version: "5.0",
|
|
@@ -7980,21 +7979,21 @@ function Hr(l) {
|
|
|
7980
7979
|
})),
|
|
7981
7980
|
stillCameraIndices: l.scenes,
|
|
7982
7981
|
stillCameraData: l.sceneData.map(({ apartmentID: n, bestScene: o }) => ({
|
|
7983
|
-
bestIndex:
|
|
7982
|
+
bestIndex: a.findIndex((i) => i === o) in l.scenes ? l.scenes[a.findIndex((i) => i === o)] : null,
|
|
7984
7983
|
id: n
|
|
7985
7984
|
})).filter(({ bestIndex: n }) => n !== null),
|
|
7986
7985
|
loopable: !0,
|
|
7987
|
-
cameras:
|
|
7986
|
+
cameras: t
|
|
7988
7987
|
};
|
|
7989
7988
|
} else
|
|
7990
7989
|
throw new Error("cannot convert data, no conversion source type found");
|
|
7991
7990
|
}
|
|
7992
7991
|
}
|
|
7993
|
-
function fa({ x: l, y:
|
|
7992
|
+
function fa({ x: l, y: t, z: a }) {
|
|
7994
7993
|
return {
|
|
7995
7994
|
x: l,
|
|
7996
|
-
y:
|
|
7997
|
-
z:
|
|
7995
|
+
y: t,
|
|
7996
|
+
z: a,
|
|
7998
7997
|
w: 0
|
|
7999
7998
|
};
|
|
8000
7999
|
}
|
|
@@ -8003,11 +8002,11 @@ function Pr() {
|
|
|
8003
8002
|
}
|
|
8004
8003
|
const ha = Pr();
|
|
8005
8004
|
function zr(l) {
|
|
8006
|
-
const
|
|
8005
|
+
const t = b([]), a = b(1), n = b(0), o = /* @__PURE__ */ new Set();
|
|
8007
8006
|
mt("registerImage", (w) => {
|
|
8008
8007
|
at(() => {
|
|
8009
|
-
if (!
|
|
8010
|
-
w.decode(),
|
|
8008
|
+
if (!t.value.find((r) => r.image === w)) {
|
|
8009
|
+
w.decode(), t.value = [...t.value, { image: w, loaded: !1 }];
|
|
8011
8010
|
const r = w.src;
|
|
8012
8011
|
ha.get(r).then((m) => {
|
|
8013
8012
|
m ? (o.add(m), w.src = m) : ha.getOrFetch(r).then((y) => {
|
|
@@ -8018,30 +8017,30 @@ function zr(l) {
|
|
|
8018
8017
|
});
|
|
8019
8018
|
}), mt("completeImage", (w) => {
|
|
8020
8019
|
at(() => {
|
|
8021
|
-
const r =
|
|
8022
|
-
r >= 0 && (
|
|
8020
|
+
const r = t.value.findIndex((m) => m.image === w);
|
|
8021
|
+
r >= 0 && (t.value[r].loaded = !0, t.value = [...t.value]);
|
|
8023
8022
|
});
|
|
8024
8023
|
}), H(l, () => {
|
|
8025
8024
|
l.value && new ResizeObserver(([]) => {
|
|
8026
|
-
const r =
|
|
8027
|
-
r && (n.value = r.image.width /
|
|
8025
|
+
const r = t.value.find((m) => m.loaded);
|
|
8026
|
+
r && (n.value = r.image.width / a.value);
|
|
8028
8027
|
}).observe(l.value);
|
|
8029
|
-
}), H(
|
|
8028
|
+
}), H(t, () => {
|
|
8030
8029
|
if (n.value === 0) {
|
|
8031
|
-
const w =
|
|
8032
|
-
w && (
|
|
8030
|
+
const w = t.value.find((r) => r.loaded);
|
|
8031
|
+
w && (a.value = w.image.naturalWidth / w.image.naturalHeight, n.value = w.image.width / a.value);
|
|
8033
8032
|
}
|
|
8034
8033
|
});
|
|
8035
|
-
const i = V(() =>
|
|
8036
|
-
|
|
8034
|
+
const i = V(() => t.value.every((w) => w.loaded)), s = V(() => Math.round(
|
|
8035
|
+
t.value.filter((w) => w.loaded).length / t.value.length * 100
|
|
8037
8036
|
));
|
|
8038
8037
|
function f() {
|
|
8039
8038
|
for (const w of o) URL.revokeObjectURL(w);
|
|
8040
|
-
o.clear(),
|
|
8039
|
+
o.clear(), t.value = [];
|
|
8041
8040
|
}
|
|
8042
8041
|
return {
|
|
8043
|
-
images:
|
|
8044
|
-
ratio:
|
|
8042
|
+
images: t,
|
|
8043
|
+
ratio: a,
|
|
8045
8044
|
height: n,
|
|
8046
8045
|
loaded: i,
|
|
8047
8046
|
loadedPercentage: s,
|
|
@@ -8074,7 +8073,7 @@ const jr = {
|
|
|
8074
8073
|
activeStructureIds: {}
|
|
8075
8074
|
},
|
|
8076
8075
|
emits: ["onClick", "onHoverOver", "onHoverOut", "onMouseMove", "onBoundingBoxesUpdate", "onInitialize", "onError"],
|
|
8077
|
-
setup(l, { expose:
|
|
8076
|
+
setup(l, { expose: t, emit: a }) {
|
|
8078
8077
|
const n = l, {
|
|
8079
8078
|
structureChooserData: o,
|
|
8080
8079
|
cdnFileResolver: i,
|
|
@@ -8086,7 +8085,7 @@ const jr = {
|
|
|
8086
8085
|
defaultDay: y,
|
|
8087
8086
|
defaultTime: d,
|
|
8088
8087
|
mobileBreakpoint: A
|
|
8089
|
-
} = $e(n), k =
|
|
8088
|
+
} = $e(n), k = a, u = b(), p = b(), _ = b(), L = b(null), S = b(4), Z = b(), se = b(!1), O = b(!1), q = b(), de = V(() => q.value.isHoverEnabled), R = b({ x: 0, y: 0, width: 0, height: 0 }), Se = b(), ke = b(), P = b(), we = b(!1), G = b(), ue = b({
|
|
8090
8089
|
current: 100,
|
|
8091
8090
|
min: 100,
|
|
8092
8091
|
max: 1e3
|
|
@@ -8096,7 +8095,7 @@ const jr = {
|
|
|
8096
8095
|
f.value ? new nt(f.value) : new nt()
|
|
8097
8096
|
);
|
|
8098
8097
|
const { height: K, loaded: oe, loadedPercentage: Y, resetImages: ee } = zr(ke);
|
|
8099
|
-
|
|
8098
|
+
t({
|
|
8100
8099
|
getState: () => ({
|
|
8101
8100
|
currentCameraIndex: u.value ? ie.value.findIndex((F) => F === u.value) : null,
|
|
8102
8101
|
currentDayIndex: p.value ? u.value.sunsimDayOfYear.findIndex(
|
|
@@ -8496,8 +8495,8 @@ const jr = {
|
|
|
8496
8495
|
};
|
|
8497
8496
|
}
|
|
8498
8497
|
}), ga = /* @__PURE__ */ X(Zr, [["__scopeId", "data-v-b28c60b3"]]), eu = {
|
|
8499
|
-
install: function(
|
|
8500
|
-
|
|
8498
|
+
install: function(t) {
|
|
8499
|
+
t.component("VStructureChooser", ga), t.component("VVirtualTour", Sl), t.component("VVirtualTour2", Ui), t.component("VManualSlideShow", or), t.component("VStructureChooser", ga);
|
|
8501
8500
|
}
|
|
8502
8501
|
};
|
|
8503
8502
|
export {
|